diff --git a/libasciidoc_test.go b/libasciidoc_test.go index c7075536..1cbc4b82 100644 --- a/libasciidoc_test.go +++ b/libasciidoc_test.go @@ -316,7 +316,7 @@ Last updated {{.LastUpdated}} Context("with body only", func() { It("should render valid manpage", func() { - logs, reset := ConfigureLogger(log.WarnLevel) + _, reset := ConfigureLogger(log.WarnLevel) defer reset() source := `= eve(1) Andrew Stanton @@ -366,14 +366,13 @@ Free use of this software is granted under the terms of the MIT License.

)) Expect(err).NotTo(HaveOccurred()) Expect(out.String()).To(MatchHTML(expectedContent)) - Expect(logs).To(ContainJSONLog(log.WarnLevel, "unable to find attribute 'author'")) }) }) Context("full", func() { It("should render valid manpage", func() { - logs, reset := ConfigureLogger(log.WarnLevel) + _, reset := ConfigureLogger(log.WarnLevel) defer reset() source := `= eve(1) Andrew Stanton @@ -451,7 +450,6 @@ Last updated {{.LastUpdated}} )) Expect(err).NotTo(HaveOccurred()) Expect(out.String()).To(MatchHTMLTemplate(expectedContent, lastUpdated)) - Expect(logs).To(ContainJSONLog(log.WarnLevel, "unable to find attribute 'author'")) }) It("should render invalid manpage as article", func() { @@ -541,7 +539,6 @@ Last updated {{.LastUpdated}} )) Expect(err).NotTo(HaveOccurred()) Expect(out.String()).To(MatchHTMLTemplate(expectedContent, lastUpdated)) - Expect(logs).To(ContainJSONLog(log.WarnLevel, "unable to find attribute 'author'")) Expect(logs).To(ContainJSONLog(log.WarnLevel, "changing doctype to 'article' because problems were found in the document")) Expect(logs).To(ContainJSONLog(log.ErrorLevel, "manpage document is missing the 'Name' section")) }) diff --git a/pkg/parser/attributes_test.go b/pkg/parser/attributes_test.go index b0a95581..c6081d34 100644 --- a/pkg/parser/attributes_test.go +++ b/pkg/parser/attributes_test.go @@ -29,9 +29,7 @@ var _ = Describe("attributes", func() { Elements: []interface{}{ &types.ImageBlock{ Location: &types.Location{ - Path: []interface{}{ - &types.StringElement{Content: "foo.png"}, - }, + Path: "foo.png", }, }, }, @@ -51,9 +49,7 @@ var _ = Describe("attributes", func() { Elements: []interface{}{ &types.ImageBlock{ Location: &types.Location{ - Path: []interface{}{ - &types.StringElement{Content: "foo.png"}, - }, + Path: "foo.png", }, }, }, @@ -73,9 +69,7 @@ var _ = Describe("attributes", func() { Elements: []interface{}{ &types.ImageBlock{ Location: &types.Location{ - Path: []interface{}{ - &types.StringElement{Content: "foo.png"}, - }, + Path: "foo.png", }, }, }, @@ -98,9 +92,7 @@ var _ = Describe("attributes", func() { types.AttrWidth: "200", }, Location: &types.Location{ - Path: []interface{}{ - &types.StringElement{Content: "foo.png"}, - }, + Path: "foo.png", }, }, }, @@ -123,9 +115,7 @@ var _ = Describe("attributes", func() { types.AttrImageAlt: `Quoted, Here`, }, Location: &types.Location{ - Path: []interface{}{ - &types.StringElement{Content: "foo.png"}, - }, + Path: "foo.png", }, }, }, @@ -148,9 +138,7 @@ var _ = Describe("attributes", func() { types.AttrImageAlt: `The Foo"Bar" here`, }, Location: &types.Location{ - Path: []interface{}{ - &types.StringElement{Content: "foo.png"}, - }, + Path: "foo.png", }, }, }, @@ -173,9 +161,7 @@ var _ = Describe("attributes", func() { types.AttrImageAlt: `The Foo'Bar' here`, }, Location: &types.Location{ - Path: []interface{}{ - &types.StringElement{Content: "foo.png"}, - }, + Path: "foo.png", }, }, }, @@ -198,9 +184,7 @@ var _ = Describe("attributes", func() { types.AttrImageAlt: `The Foo\Bar here`, }, Location: &types.Location{ - Path: []interface{}{ - &types.StringElement{Content: "foo.png"}, - }, + Path: "foo.png", }, }, }, @@ -223,9 +207,7 @@ var _ = Describe("attributes", func() { types.AttrImageAlt: `The Foo\Bar here`, }, Location: &types.Location{ - Path: []interface{}{ - &types.StringElement{Content: "foo.png"}, - }, + Path: "foo.png", }, }, }, @@ -249,9 +231,7 @@ var _ = Describe("attributes", func() { types.AttrHeight: "100", }, Location: &types.Location{ - Path: []interface{}{ - &types.StringElement{Content: "foo.png"}, - }, + Path: "foo.png", }, }, }, @@ -278,9 +258,7 @@ var _ = Describe("attributes", func() { types.AttrWidth: "1", }, Location: &types.Location{ - Path: []interface{}{ - &types.StringElement{Content: "foo.png"}, - }, + Path: "foo.png", }, }, }, @@ -307,9 +285,7 @@ var _ = Describe("attributes", func() { "test2": "second test", // shows trailing pad removed }, Location: &types.Location{ - Path: []interface{}{ - &types.StringElement{Content: "foo.png"}, - }, + Path: "foo.png", }, }, }, @@ -336,9 +312,7 @@ var _ = Describe("attributes", func() { "test2": `second "test"`, // shows trailing pad removed }, Location: &types.Location{ - Path: []interface{}{ - &types.StringElement{Content: "foo.png"}, - }, + Path: "foo.png", }, }, }, @@ -555,19 +529,19 @@ var _ = DescribeTable("valid block attributes", // role shorthand Entry(`[.a_role]`, `[.a_role]`, types.Attributes{ - types.AttrRoles: []interface{}{`a_role`}, + types.AttrRoles: types.Roles{`a_role`}, }, ), Entry(`[.a_role.another_role]`, `[.a_role.another_role]`, types.Attributes{ - types.AttrRoles: []interface{}{`a_role`, `another_role`}, + types.AttrRoles: types.Roles{`a_role`, `another_role`}, }, ), Entry(`[source.a_role,go]`, `[source.a_role,go]`, types.Attributes{ types.AttrPositional1: `source`, types.AttrPositional2: `go`, - types.AttrRoles: []interface{}{`a_role`}, + types.AttrRoles: types.Roles{`a_role`}, }, ), Entry(`[source,go.not_a_role]`, `[source,go.not_a_role]`, @@ -580,34 +554,34 @@ var _ = DescribeTable("valid block attributes", // options (explicit) Entry(`[options=header]`, `[options=header]`, types.Attributes{ - types.AttrOptions: []interface{}{"header"}, + types.AttrOptions: types.Options{"header"}, }, ), Entry(`[options="header,footer"]`, `[options="header,footer"]`, types.Attributes{ - types.AttrOptions: []interface{}{"header", "footer"}, + types.AttrOptions: types.Options{"header", "footer"}, }, ), // option shorthand Entry(`[%hardbreaks]`, `[%hardbreaks]`, types.Attributes{ - types.AttrOptions: []interface{}{"hardbreaks"}, + types.AttrOptions: types.Options{"hardbreaks"}, }, ), Entry(`[%header]`, `[%header]`, types.Attributes{ - types.AttrOptions: []interface{}{"header"}, + types.AttrOptions: types.Options{"header"}, }, ), Entry(`[%footer]`, `[%footer]`, types.Attributes{ - types.AttrOptions: []interface{}{"footer"}, + types.AttrOptions: types.Options{"footer"}, }, ), Entry(`[%header%footer]`, `[%header%footer]`, types.Attributes{ - types.AttrOptions: []interface{}{"header", "footer"}, + types.AttrOptions: types.Options{"header", "footer"}, }, ), @@ -621,27 +595,27 @@ var _ = DescribeTable("valid block attributes", Entry(`[#an_id.a_role]`, `[#an_id.a_role]`, types.Attributes{ types.AttrID: `an_id`, - types.AttrRoles: []interface{}{`a_role`}, + types.AttrRoles: types.Roles{`a_role`}, }, ), Entry(`[#an_id.role_1%option_1.role_2]`, `[#an_id.role_1%option_1.role_2]`, types.Attributes{ types.AttrID: `an_id`, - types.AttrRoles: []interface{}{`role_1`, `role_2`}, - types.AttrOptions: []interface{}{`option_1`}, + types.AttrRoles: types.Roles{`role_1`, `role_2`}, + types.AttrOptions: types.Options{`option_1`}, }, ), Entry(`[#an_id.role_1%option_1.role_2%option_2]`, `[#an_id.role_1%option_1.role_2%option_2]`, types.Attributes{ types.AttrID: `an_id`, - types.AttrRoles: []interface{}{`role_1`, `role_2`}, - types.AttrOptions: []interface{}{`option_1`, `option_2`}, + types.AttrRoles: types.Roles{`role_1`, `role_2`}, + types.AttrOptions: types.Options{`option_1`, `option_2`}, }, ), Entry(`[#an_id,role="a role"]`, `[#an_id,role="a role"]`, types.Attributes{ types.AttrID: `an_id`, - types.AttrRoles: []interface{}{`a role`}, + types.AttrRoles: types.Roles{`a role`}, }, ), Entry(`[qanda#quiz]`, `[qanda#quiz]`, diff --git a/pkg/parser/check_list_test.go b/pkg/parser/check_list_test.go index f5abcf1b..bb5e777b 100644 --- a/pkg/parser/check_list_test.go +++ b/pkg/parser/check_list_test.go @@ -105,7 +105,7 @@ var _ = Describe("checked lists", func() { &types.List{ Kind: types.UnorderedListKind, Attributes: types.Attributes{ - types.AttrOptions: []interface{}{ + types.AttrOptions: types.Options{ types.AttrInteractive, }, }, diff --git a/pkg/parser/comment_test.go b/pkg/parser/comment_test.go index ce9861b3..dd05ef6d 100644 --- a/pkg/parser/comment_test.go +++ b/pkg/parser/comment_test.go @@ -85,10 +85,10 @@ another line` &types.Paragraph{ Elements: []interface{}{ &types.StringElement{ - Content: "a first line", + Content: "a first line\n", }, &types.StringElement{ - Content: "\nanother line", + Content: "another line", }, }, }, diff --git a/pkg/parser/context.go b/pkg/parser/context.go index 8fcc979b..441ff3e1 100644 --- a/pkg/parser/context.go +++ b/pkg/parser/context.go @@ -11,7 +11,7 @@ import ( type ParseContext struct { filename string - Opts []Option + Opts []Option // TODO: unexport this field? levelOffsets levelOffsets attributes *contextAttributes userMacros map[string]configuration.MacroTemplate @@ -25,7 +25,7 @@ func NewParseContext(config *configuration.Configuration, opts ...Option) *Parse opts = append(opts, Entrypoint("DocumentFragment")) opts = append(opts, GlobalStore(frontMatterKey, true)) opts = append(opts, GlobalStore(documentHeaderKey, true)) - opts = append(opts, GlobalStore(substitutionKey, newNormalSubstitution())) + opts = append(opts, GlobalStore(enabledSubstitutions, []string{Attributes})) opts = append(opts, GlobalStore(usermacrosKey, config.Macros)) return &ParseContext{ filename: config.Filename, @@ -38,19 +38,24 @@ func NewParseContext(config *configuration.Configuration, opts ...Option) *Parse } func (c *ParseContext) Clone() *ParseContext { - opts := make([]Option, len(c.Opts)) - copy(opts, c.Opts) - attributes := c.attributes.clone() return &ParseContext{ filename: c.filename, - Opts: opts, + Opts: options(c.Opts).clone(), levelOffsets: c.levelOffsets.clone(), - attributes: attributes, + attributes: c.attributes.clone(), userMacros: c.userMacros, counters: c.counters, } } +type options []Option + +func (o options) clone() []Option { + result := make([]Option, len(o)) + copy(result, o) + return result +} + type contextAttributes struct { immutableAttributes types.Attributes attributes types.Attributes @@ -84,14 +89,6 @@ func (a *contextAttributes) has(k string) bool { return found } -func (a *contextAttributes) get(k string) interface{} { - value, found := a.immutableAttributes[k] - if found { - return value - } - return a.attributes[k] -} - func (a *contextAttributes) allAttributes() map[string]interface{} { result := make(map[string]interface{}, len(a.attributes)+len(a.immutableAttributes)) for k, v := range a.attributes { @@ -111,13 +108,6 @@ func (a *contextAttributes) getAsString(k string) (string, bool, error) { return a.attributes.GetAsString(k) } -func (a *contextAttributes) getAsStringWithDefault(k string, defaultValue string) string { - if a.immutableAttributes.Has(k) { - return a.immutableAttributes.GetAsStringWithDefault(k, defaultValue) - } - return a.attributes.GetAsStringWithDefault(k, defaultValue) -} - func (a *contextAttributes) getAsIntWithDefault(k string, defaultValue int) int { if a.immutableAttributes.Has(k) { return a.immutableAttributes.GetAsIntWithDefault(k, defaultValue) diff --git a/pkg/parser/cross_reference_test.go b/pkg/parser/cross_reference_test.go index bc988332..19c85971 100644 --- a/pkg/parser/cross_reference_test.go +++ b/pkg/parser/cross_reference_test.go @@ -115,11 +115,7 @@ some content` &types.InlineLink{ Location: &types.Location{ Scheme: "https://", - Path: []interface{}{ - &types.StringElement{ - Content: "example.com", - }, - }, + Path: "example.com", }, }, } @@ -383,11 +379,7 @@ some content` }, &types.ExternalCrossReference{ Location: &types.Location{ - Path: []interface{}{ - &types.StringElement{ - Content: "another-doc.adoc", - }, - }, + Path: "another-doc.adoc", }, Attributes: types.Attributes{ types.AttrXRefLabel: []interface{}{ @@ -423,14 +415,7 @@ some content` }, &types.ExternalCrossReference{ Location: &types.Location{ - Path: []interface{}{ - &types.AttributeSubstitution{ // attribute substitution failed for `{foo}` during parsing - Name: "foo", - }, - &types.StringElement{ - Content: ".adoc", - }, - }, + Path: "{foo}.adoc", // attribute resolution failed }, Attributes: types.Attributes{ types.AttrXRefLabel: "another doc", @@ -464,11 +449,7 @@ some content linked to xref:{foo}[another_doc()]!` }, &types.ExternalCrossReference{ Location: &types.Location{ - Path: []interface{}{ - &types.StringElement{ - Content: "another-doc.adoc", - }, - }, + Path: "another-doc.adoc", }, Attributes: types.Attributes{ types.AttrXRefLabel: "another_doc()", diff --git a/pkg/parser/delimited_block_example_test.go b/pkg/parser/delimited_block_example_test.go index 2dc6f853..d3fae5aa 100644 --- a/pkg/parser/delimited_block_example_test.go +++ b/pkg/parser/delimited_block_example_test.go @@ -221,11 +221,7 @@ and on the + &types.InlineLink{ Location: &types.Location{ Scheme: "https://", - Path: []interface{}{ - &types.StringElement{ - Content: "example.com", - }, - }, + Path: "example.com", }, }, &types.StringElement{ @@ -273,11 +269,7 @@ and on the + &types.InlineLink{ Location: &types.Location{ Scheme: "https://", - Path: []interface{}{ - &types.StringElement{ - Content: "github.com", - }, - }, + Path: "github.com", }, }, }, @@ -311,11 +303,7 @@ and on the + &types.InlineLink{ Location: &types.Location{ Scheme: "https://", - Path: []interface{}{ - &types.StringElement{ - Content: "example.com", - }, - }, + Path: "example.com", }, }, &types.StringElement{ @@ -363,11 +351,7 @@ and on the + &types.InlineLink{ Location: &types.Location{ Scheme: "https://", - Path: []interface{}{ - &types.StringElement{ - Content: "github.com", - }, - }, + Path: "github.com", }, }, }, @@ -440,11 +424,7 @@ and on the + &types.InlineLink{ Location: &types.Location{ Scheme: "https://", - Path: []interface{}{ - &types.StringElement{ - Content: "example.com", - }, - }, + Path: "example.com", }, }, &types.StringElement{ @@ -509,11 +489,7 @@ and on the + &types.InlineLink{ Location: &types.Location{ Scheme: "https://", - Path: []interface{}{ - &types.StringElement{ - Content: "example.com", - }, - }, + Path: "example.com", }, }, &types.StringElement{ @@ -522,11 +498,7 @@ and on the + &types.InlineLink{ Location: &types.Location{ Scheme: "https://", - Path: []interface{}{ - &types.StringElement{ - Content: "github.com", - }, - }, + Path: "github.com", }, }, }, @@ -672,11 +644,7 @@ and on the + &types.InlineLink{ Location: &types.Location{ Scheme: "https://", - Path: []interface{}{ - &types.StringElement{ - Content: "example.com", - }, - }, + Path: "example.com", }, }, &types.StringElement{ @@ -724,11 +692,7 @@ and on the + &types.InlineLink{ Location: &types.Location{ Scheme: "https://", - Path: []interface{}{ - &types.StringElement{ - Content: "example.com", - }, - }, + Path: "example.com", }, }, &types.StringElement{ diff --git a/pkg/parser/delimited_block_listing_test.go b/pkg/parser/delimited_block_listing_test.go index 6f616938..c1a5de08 100644 --- a/pkg/parser/delimited_block_listing_test.go +++ b/pkg/parser/delimited_block_listing_test.go @@ -488,11 +488,7 @@ and on the + &types.InlineLink{ Location: &types.Location{ Scheme: "https://", - Path: []interface{}{ - &types.StringElement{ - Content: "example.com", - }, - }, + Path: "example.com", }, }, &types.StringElement{ @@ -540,11 +536,7 @@ and on the + &types.InlineLink{ Location: &types.Location{ Scheme: "https://", - Path: []interface{}{ - &types.StringElement{ - Content: "github.com", - }, - }, + Path: "github.com", }, }, &types.StringElement{ @@ -618,11 +610,7 @@ and on the + &types.InlineLink{ Location: &types.Location{ Scheme: "https://", - Path: []interface{}{ - &types.StringElement{ - Content: "example.com", - }, - }, + Path: "example.com", }, }, &types.StringElement{ @@ -685,11 +673,7 @@ and on the + &types.InlineLink{ Location: &types.Location{ Scheme: "https://", - Path: []interface{}{ - &types.StringElement{ - Content: "example.com", - }, - }, + Path: "example.com", }, }, &types.StringElement{ @@ -698,11 +682,7 @@ and on the + &types.InlineLink{ Location: &types.Location{ Scheme: "https://", - Path: []interface{}{ - &types.StringElement{ - Content: "github.com", - }, - }, + Path: "github.com", }, }, &types.StringElement{ @@ -847,11 +827,7 @@ and on the + &types.InlineLink{ Location: &types.Location{ Scheme: "https://", - Path: []interface{}{ - &types.StringElement{ - Content: "example.com", - }, - }, + Path: "example.com", }, }, &types.StringElement{ @@ -898,11 +874,7 @@ and on the + &types.InlineLink{ Location: &types.Location{ Scheme: "https://", - Path: []interface{}{ - &types.StringElement{ - Content: "example.com", - }, - }, + Path: "example.com", }, }, &types.StringElement{ @@ -1174,7 +1146,7 @@ and on the + }, } Expect(ParseDocument(s)).To(MatchDocument(expected)) - Expect(logs).To(ContainJSONLogWithOffset(log.ErrorLevel, 33, 182, "unsupported kind of substitution: 'unknown'")) + Expect(logs).To(ContainJSONLogWithOffset(log.ErrorLevel, 33, 182, "unsupported substitution: 'unknown'")) }) }) }) @@ -1424,11 +1396,7 @@ and on the + &types.InlineLink{ Location: &types.Location{ Scheme: "https://", - Path: []interface{}{ - &types.StringElement{ - Content: "example.com", - }, - }, + Path: "example.com", }, }, &types.StringElement{ diff --git a/pkg/parser/delimited_block_literal_test.go b/pkg/parser/delimited_block_literal_test.go index 128af832..eb6859e8 100644 --- a/pkg/parser/delimited_block_literal_test.go +++ b/pkg/parser/delimited_block_literal_test.go @@ -57,7 +57,7 @@ lines.` }) It("from paragraph with single space on all lines", func() { - // spaces at heading of lines are preserved during rendering + // spaces at leading of lines are preserved during rendering source := ` some literal content on 3 lines.` @@ -130,7 +130,7 @@ some content Kind: types.Literal, Elements: []interface{}{ &types.StringElement{ - Content: "some content", // empty lines are discarded + Content: "\nsome content\n", // empty lines are NOT discarded at this point }, }, }, @@ -157,7 +157,7 @@ a normal paragraph.` }, Elements: []interface{}{ &types.StringElement{ - Content: " some literal\n content", // heading spaces are preserved + Content: " some literal\n content", // leading spaces are preserved }, }, }, @@ -356,11 +356,7 @@ and on the + &types.InlineLink{ Location: &types.Location{ Scheme: "https://", - Path: []interface{}{ - &types.StringElement{ - Content: "example.com", - }, - }, + Path: "example.com", }, }, &types.StringElement{ @@ -408,11 +404,7 @@ and on the + &types.InlineLink{ Location: &types.Location{ Scheme: "https://", - Path: []interface{}{ - &types.StringElement{ - Content: "github.com", - }, - }, + Path: "github.com", }, }, &types.StringElement{ @@ -477,11 +469,7 @@ and on the + &types.InlineLink{ Location: &types.Location{ Scheme: "https://", - Path: []interface{}{ - &types.StringElement{ - Content: "example.com", - }, - }, + Path: "example.com", }, }, &types.StringElement{ @@ -554,11 +542,7 @@ and on the + &types.InlineLink{ Location: &types.Location{ Scheme: "https://", - Path: []interface{}{ - &types.StringElement{ - Content: "example.com", - }, - }, + Path: "example.com", }, }, &types.StringElement{ @@ -632,11 +616,7 @@ and on the + &types.InlineLink{ Location: &types.Location{ Scheme: "https://", - Path: []interface{}{ - &types.StringElement{ - Content: "example.com", - }, - }, + Path: "example.com", }, }, &types.StringElement{ diff --git a/pkg/parser/delimited_block_markdown_quote_test.go b/pkg/parser/delimited_block_markdown_quote_test.go index 23b0d930..821fe8c7 100644 --- a/pkg/parser/delimited_block_markdown_quote_test.go +++ b/pkg/parser/delimited_block_markdown_quote_test.go @@ -88,6 +88,9 @@ on *multiple lines*` }, }, }, + &types.StringElement{ + Content: "\n", + }, }, }, }, @@ -120,6 +123,9 @@ on *multiple lines*` }, }, }, + &types.StringElement{ + Content: "\n", + }, }, }, }, diff --git a/pkg/parser/delimited_block_passthrough_test.go b/pkg/parser/delimited_block_passthrough_test.go index 165b77b4..b7ab477e 100644 --- a/pkg/parser/delimited_block_passthrough_test.go +++ b/pkg/parser/delimited_block_passthrough_test.go @@ -32,7 +32,7 @@ another paragraph` types.AttrStyle: "pass", }, Elements: []interface{}{ - types.RawLine("_foo_"), + types.RawLine("_foo_\n"), types.RawLine("*bar*"), }, }, diff --git a/pkg/parser/delimited_block_sidebar_test.go b/pkg/parser/delimited_block_sidebar_test.go index d820318e..3d5ee874 100644 --- a/pkg/parser/delimited_block_sidebar_test.go +++ b/pkg/parser/delimited_block_sidebar_test.go @@ -47,57 +47,6 @@ some *verse* content Expect(ParseDocument(source)).To(MatchDocument(expected)) }) - It("with title, paragraph and sourcecode block", func() { - source := `.a title -**** -some *verse* content - ----- -foo -bar ----- -****` - expected := &types.Document{ - Elements: []interface{}{ - &types.DelimitedBlock{ - Kind: types.Sidebar, - Attributes: types.Attributes{ - types.AttrTitle: "a title", - }, - Elements: []interface{}{ - &types.Paragraph{ - Elements: []interface{}{ - &types.StringElement{ - Content: "some ", - }, - &types.QuotedText{ - Kind: types.SingleQuoteBold, - Elements: []interface{}{ - &types.StringElement{ - Content: "verse", - }, - }, - }, - &types.StringElement{ - Content: " content", - }, - }, - }, - &types.DelimitedBlock{ - Kind: types.Listing, - Elements: []interface{}{ - &types.StringElement{ - Content: "foo\nbar", - }, - }, - }, - }, - }, - }, - } - Expect(ParseDocument(source)).To(MatchDocument(expected)) - }) - It("with single line starting with a dot", func() { // do not show parse errors in the logs for this test _, reset := ConfigureLogger(log.FatalLevel) diff --git a/pkg/parser/delimited_block_verse_test.go b/pkg/parser/delimited_block_verse_test.go index 412515a8..8f49c097 100644 --- a/pkg/parser/delimited_block_verse_test.go +++ b/pkg/parser/delimited_block_verse_test.go @@ -70,7 +70,7 @@ ____` }, Elements: []interface{}{ &types.StringElement{ - Content: "some ", + Content: "\nsome ", }, &types.QuotedText{ Kind: types.SingleQuoteBold, @@ -81,7 +81,7 @@ ____` }, }, &types.StringElement{ - Content: " content", // without trailing `\n` for the empty line afterwards + Content: " content\n", }, }, }, @@ -279,11 +279,7 @@ ____ &types.InlineLink{ Location: &types.Location{ Scheme: "https://", - Path: []interface{}{ - &types.StringElement{ - Content: "example.com", - }, - }, + Path: "example.com", }, }, &types.StringElement{ @@ -331,11 +327,7 @@ ____ &types.InlineLink{ Location: &types.Location{ Scheme: "https://", - Path: []interface{}{ - &types.StringElement{ - Content: "github.com", - }, - }, + Path: "github.com", }, }, &types.StringElement{ @@ -391,11 +383,7 @@ ____ &types.InlineLink{ Location: &types.Location{ Scheme: "https://", - Path: []interface{}{ - &types.StringElement{ - Content: "example.com", - }, - }, + Path: "example.com", }, }, &types.StringElement{ @@ -443,11 +431,7 @@ ____ &types.InlineLink{ Location: &types.Location{ Scheme: "https://", - Path: []interface{}{ - &types.StringElement{ - Content: "github.com", - }, - }, + Path: "github.com", }, }, &types.StringElement{ @@ -561,11 +545,7 @@ ____ &types.InlineLink{ Location: &types.Location{ Scheme: "https://", - Path: []interface{}{ - &types.StringElement{ - Content: "example.com", - }, - }, + Path: "example.com", }, }, &types.StringElement{ @@ -668,11 +648,7 @@ ____ &types.InlineLink{ Location: &types.Location{ Scheme: "https://", - Path: []interface{}{ - &types.StringElement{ - Content: "example.com", - }, - }, + Path: "example.com", }, }, &types.StringElement{ @@ -681,11 +657,7 @@ ____ &types.InlineLink{ Location: &types.Location{ Scheme: "https://", - Path: []interface{}{ - &types.StringElement{ - Content: "github.com", - }, - }, + Path: "github.com", }, }, &types.StringElement{ @@ -912,11 +884,7 @@ ____ &types.InlineLink{ Location: &types.Location{ Scheme: "https://", - Path: []interface{}{ - &types.StringElement{ - Content: "example.com", - }, - }, + Path: "example.com", }, }, &types.StringElement{ @@ -983,11 +951,7 @@ ____ &types.InlineLink{ Location: &types.Location{ Scheme: "https://", - Path: []interface{}{ - &types.StringElement{ - Content: "example.com", - }, - }, + Path: "example.com", }, }, &types.StringElement{ diff --git a/pkg/parser/document_header_test.go b/pkg/parser/document_header_test.go index 9b3bf31b..1f86648e 100644 --- a/pkg/parser/document_header_test.go +++ b/pkg/parser/document_header_test.go @@ -52,8 +52,9 @@ This journey continues.` &types.DocumentHeader{ Title: Title, Attributes: types.Attributes{ - types.AttrRoles: []interface{}{"role1", "role2"}, - types.AttrID: "anchor", + types.AttrRoles: types.Roles{"role1", "role2"}, + types.AttrID: "anchor", + types.AttrCustomID: true, }, }, &types.Paragraph{ @@ -443,6 +444,46 @@ John Foo Doe ; Jane the_Doe ` Expect(ParseDocument(source)).To(MatchDocument(expected)) }) }) + + It("with author used in a paragraph", func() { + source := `= Title +Xavier + +written by {author}` + Title := []interface{}{ + &types.StringElement{ + Content: "Title", + }, + } + expected := &types.Document{ + Elements: []interface{}{ + &types.DocumentHeader{ + Title: Title, + Elements: []interface{}{ + &types.AttributeDeclaration{ + Name: types.AttrAuthors, + Value: types.DocumentAuthors{ + { + DocumentAuthorFullName: &types.DocumentAuthorFullName{ + FirstName: "Xavier", + }, + Email: "xavier@example.com", + }, + }, + }, + }, + }, + &types.Paragraph{ + Elements: []interface{}{ + &types.StringElement{ + Content: "written by Xavier", // + }, + }, + }, + }, + } + Expect(ParseDocument(source)).To(MatchDocument(expected)) + }) }) Context("with revisions", func() { @@ -1264,13 +1305,7 @@ lines. &types.Paragraph{ Elements: []interface{}{ &types.StringElement{ - Content: ":@date: 2017-01-01\n:", - }, - &types.AttributeSubstitution{ - Name: "author", - }, - &types.StringElement{ - Content: ": Xavier", + Content: ":@date: 2017-01-01\n:{author}: Xavier", // attribute susbtitution "failed" }, }, }, diff --git a/pkg/parser/document_preprocessing.go b/pkg/parser/document_preprocessing.go index 51b57010..0ece5941 100644 --- a/pkg/parser/document_preprocessing.go +++ b/pkg/parser/document_preprocessing.go @@ -89,8 +89,12 @@ func preprocess(ctx *ParseContext, source io.Reader) (string, error) { // fragment, making it potentially big, but at the same time we ensure that the context // of the inclusion (for example, within a delimited block) is not lost. func includeFile(ctx *ParseContext, incl *types.FileInclusion) (string, error) { - if err := applySubstitutionsOnBlockWithLocation(ctx, incl); err != nil { - return "", errors.Errorf("Unresolved directive in %s - %s", ctx.filename, incl.RawText) + if l, ok := incl.GetLocation().Path.([]interface{}); ok { + l, _, err := replaceAttributeRefsInSlice(ctx, l) + if err != nil { + return "", errors.Errorf("Unresolved directive in %s - %s", ctx.filename, incl.RawText) + } + incl.GetLocation().SetPath(l) } content, adoc, err := contentOf(ctx, incl) if err != nil { diff --git a/pkg/parser/document_processing_apply_substitutions.go b/pkg/parser/document_processing_apply_substitutions.go index fc1753f3..1558ceb6 100644 --- a/pkg/parser/document_processing_apply_substitutions.go +++ b/pkg/parser/document_processing_apply_substitutions.go @@ -8,19 +8,17 @@ import ( "github.com/bytesparadise/libasciidoc/pkg/types" "github.com/davecgh/go-spew/spew" - "github.com/pkg/errors" log "github.com/sirupsen/logrus" ) -// TODO: convert `ctx *parseContext` as a local variable instead of a func param func ApplySubstitutions(ctx *ParseContext, done <-chan interface{}, fragmentStream <-chan types.DocumentFragment) chan types.DocumentFragment { processedFragmentStream := make(chan types.DocumentFragment, bufferSize) go func() { defer close(processedFragmentStream) for f := range fragmentStream { select { - case processedFragmentStream <- applySubstitutions(ctx, f): + case processedFragmentStream <- applySubstitutionsOnFragment(ctx, f): case <-done: log.WithField("pipeline_stage", "apply_substitutions").Debug("received 'done' signal") return @@ -31,156 +29,270 @@ func ApplySubstitutions(ctx *ParseContext, done <-chan interface{}, fragmentStre return processedFragmentStream } -func applySubstitutions(ctx *ParseContext, f types.DocumentFragment) types.DocumentFragment { - // if log.IsLevelEnabled(log.DebugLevel) { - // log.WithField("pipeline_stage", "apply_substitutions").Debugf("incoming fragment:\n%s", spew.Sdump(f)) - // } - // if the fragment already contains an error, then send it as-is downstream +func applySubstitutionsOnFragment(ctx *ParseContext, f types.DocumentFragment) types.DocumentFragment { if f.Error != nil { log.Debugf("skipping substitutions because of fragment with error: %v", f.Error) return f } // stats := &Stats{} - opts := append(ctx.Opts, - GlobalStore(types.AttrImagesDir, ctx.attributes.get(types.AttrImagesDir)), - GlobalStore(usermacrosKey, ctx.userMacros), - ) - - elements := make([]interface{}, len(f.Elements)) - for i, element := range f.Elements { - var err error - if elements[i], err = applySubstitutionsOnElement(ctx, element, opts...); err != nil { + // opts := append(ctx.Opts, + // GlobalStore(types.AttrImagesDir, ctx.attributes.get(types.AttrImagesDir)), + // GlobalStore(usermacrosKey, ctx.userMacros), + // ) + for i := range f.Elements { + if err := applySubstitutionsOnElement(ctx, f.Elements[i], ctx.Opts...); err != nil { return types.NewErrorFragment(f.Position, err) } } - f.Elements = elements - // if log.IsLevelEnabled(log.DebugLevel) { - // // log.WithField("pipeline_stage", "apply_substitutions").Debugf("fragment with substitutions applied:\n%s", spew.Sdump(f)) - // log.WithField("pipeline_stage", "apply_substitutions").Debugf("stats:\n%s", PrettyPrintStats(stats)) - // } return f } -func applySubstitutionsOnElement(ctx *ParseContext, element interface{}, opts ...Option) (interface{}, error) { - switch e := element.(type) { +func applySubstitutionsOnElement(ctx *ParseContext, element interface{}, opts ...Option) error { + switch b := element.(type) { case *types.FrontMatter: - ctx.attributes.setAll(e.Attributes) - return e, nil + ctx.attributes.setAll(b.Attributes) + return nil case *types.AttributeDeclaration: - ctx.attributes.set(e.Name, e.Value) - return e, nil + ctx.attributes.set(b.Name, b.Value) + return nil case *types.AttributeReset: - ctx.attributes.unset(e.Name) - return e, nil + ctx.attributes.unset(b.Name) + return nil case *types.DocumentHeader: - if err := applySubstitutionsOnHeader(ctx, e, opts...); err != nil { - return nil, err - } - return e, nil - case types.BlockWithElements: - if err := applySubstitutionsOnBlockWithElements(ctx, e, opts...); err != nil { - return nil, err - } - return e, nil - case types.BlockWithLocation: - if err := applySubstitutionsOnBlockWithLocation(ctx, e, opts...); err != nil { - return nil, err - } - return e, nil + return applySubstitutionsOnDocumentHeader(ctx, b, opts...) + case *types.Section: + return applySubstitutionsOnBlockWithTitle(ctx, b, opts...) + case *types.Table: + return applySubstitutionsOnTable(ctx, b, opts...) + case *types.ListElementContinuation: + return applySubstitutionsOnElement(ctx, b.Element, opts...) + case types.WithElements: + return applySubstitutionsOnBlockWithElements(ctx, b, opts...) + case types.WithLocation: + return applySubstitutionsOnBlockWithLocation(ctx, b, opts...) default: - // log.WithField("pipeline_stage", "fragment_processing").Debugf("forwarding fragment content of type '%T' as-is", e) - return element, nil + // do nothing + return nil } } -// special case for document header: process the optional attribute declarations first, then the title -func applySubstitutionsOnHeader(ctx *ParseContext, header *types.DocumentHeader, opts ...Option) error { - // TODO: duplicate from aggregate stage - for _, elmt := range header.Elements { - switch attr := elmt.(type) { - case *types.AttributeDeclaration: - ctx.attributes.set(attr.Name, attr.Value) - case *types.AttributeReset: - ctx.attributes.unset(attr.Name) +func applySubstitutionsOnDocumentHeader(ctx *ParseContext, b *types.DocumentHeader, opts ...Option) error { + // process attribute declarations and resets defined in the header + for _, elmt := range b.Elements { + if err := applySubstitutionsOnElement(ctx, elmt, opts...); err != nil { + return err } } - title, err := newHeaderSubstitution().processElements(ctx, header.Title, opts...) + if authors := b.Authors(); authors != nil { + ctx.attributes.setAll(authors.Expand()) + } + if revision := b.Revision(); revision != nil { + ctx.attributes.setAll(revision.Expand()) + } + return applySubstitutionsOnBlockWithTitle(ctx, b, opts...) +} + +func applySubstitutionsOnBlockWithTitle(ctx *ParseContext, b types.WithTitle, opts ...Option) error { + log.Debugf("processing element with title of type '%T' in 3 steps", b) + if err := replaceAttributeRefsInBlockAttributes(ctx, b); 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 } - header.Title = title - return nil + return b.SetTitle(title) } -func applySubstitutionsOnBlockWithElements(ctx *ParseContext, block types.BlockWithElements, opts ...Option) error { - if s := block.GetAttributes().GetAsStringWithDefault(types.AttrStyle, ""); s == types.Passthrough { - log.Debugf("skipping substitutions on passthrough block of type '%T'", block) - // simply merge the rawlines - // TODO: use types.Merge? - buf := &strings.Builder{} - for i, l := range block.GetElements() { - if l, ok := l.(types.RawLine); ok { - buf.WriteString(string(l)) - if i < len(block.GetElements())-1 { - buf.WriteString("\n") - } +func applySubstitutionsOnTable(ctx *ParseContext, t *types.Table, opts ...Option) error { + if err := replaceAttributeRefsInBlockAttributes(ctx, t); err != nil { + return err + } + // also, deal with special `cols` attribute + if cols, found := t.Attributes[types.AttrCols].(string); found { + // parse with a specific rule + values, err := Parse("", []byte(cols), append(opts, Entrypoint("TableColumnsAttribute"))...) + if err != nil { + return err + } + t.Attributes[types.AttrCols] = values + } + if t.Header != nil { + for _, c := range t.Header.Cells { + if err := applySubstitutionsOnBlockWithElements(ctx, c, opts...); err != nil { + return err } } - return block.SetElements([]interface{}{ + } + for _, r := range t.Rows { + for _, c := range r.Cells { + if err := applySubstitutionsOnBlockWithElements(ctx, c, opts...); err != nil { + return err + } + } + } + // do not retain rows if empty + if len(t.Rows) == 0 { + t.Rows = nil + } + if t.Footer != nil { + for _, c := range t.Footer.Cells { + if err := applySubstitutionsOnBlockWithElements(ctx, c, opts...); err != nil { + return err + } + } + } + return nil +} + +func applySubstitutionsOnBlockWithElements(ctx *ParseContext, b types.WithElements, opts ...Option) error { + if err := replaceAttributeRefsInBlockAttributes(ctx, b); err != nil { + return err + } + if s := b.GetAttributes().GetAsStringWithDefault(types.AttrStyle, ""); s == types.Passthrough { + log.Debugf("skipping substitutions on passthrough block of type '%T'", b) + content, _ := serialize(b.GetElements()) + return b.SetElements([]interface{}{ &types.StringElement{ - Content: buf.String(), + Content: string(content), }, }) } - log.Debugf("processing block with elements of type '%T'", block) - if err := newElementAttributesSubstitution().processAttributes(ctx, block); err != nil { - return err - } - // log.Debugf("applying substitutions on elements of block of type '%T'", block) - s, err := newSubstitutions(block) + log.Debugf("applying substitutions on block of type '%T'", b) + subs, err := newSubstitutions(b) if err != nil { return err } - // also process extra stuff - // TODO: move after call to `s.processBlockWithElements`? - switch b := block.(type) { - case *types.ListElements: - for _, e := range b.Elements { - if e, ok := e.(*types.LabeledListElement); ok { - // process term of labeled list elements - if e.Term, err = s.processElements(ctx, e.Term, opts...); err != nil { - return err - } - e.Term = types.TrimLeft(e.Term, " ") + opts = append(opts, Entrypoint("Substitutions")) + switch b := b.(type) { + case *types.LabeledListElement: + if b.Term, err = parseElements(b.Term, subs, opts...); err != nil { + return err + } + for _, e := range b.GetElements() { + if err := applySubstitutionsOnElement(ctx, e, opts...); err != nil { + return err } } + return nil case *types.DelimitedBlock: - // process author of markdown-style quote block - if b.Kind == types.MarkdownQuote { - if elements, attribution := extractMarkdownQuoteAttribution(b.Elements); attribution != "" { + switch b.Kind { + case types.Example, types.Quote, types.Sidebar: + for _, e := range b.GetElements() { + if err := applySubstitutionsOnElement(ctx, e, opts...); err != nil { + return err + } + } + return nil + case types.MarkdownQuote: + var attribution string + if b.Elements, attribution = extractMarkdownQuoteAttribution(b.Elements); attribution != "" { b.Attributes = b.Attributes.Set(types.AttrQuoteAuthor, attribution) - b.Elements = elements } + b.Elements, err = processSubstitutions(ctx, b.Elements, subs, opts...) + return err + default: + b.Elements, err = processSubstitutions(ctx, b.Elements, subs, opts...) + return err } - case *types.Table: - if b.Header != nil { - if err = s.processBlockWithElements(ctx, b.Header, opts...); err != nil { + case *types.Paragraph: + b.Elements, err = processSubstitutions(ctx, b.Elements, subs, opts...) + return err + case *types.TableCell: + b.Elements, err = processSubstitutions(ctx, b.Elements, subs, opts...) + return err + default: + for _, e := range b.GetElements() { + if err := applySubstitutionsOnElement(ctx, e, opts...); err != nil { return err } } - if b.Footer != nil { - if err = s.processBlockWithElements(ctx, b.Footer, opts...); err != nil { - return err + return nil + } +} + +func applySubstitutionsOnBlockWithLocation(ctx *ParseContext, b types.WithLocation, _ ...Option) error { + _, _, err := replaceAttributeRefs(ctx, b) + return err +} + +func processSubstitutions(ctx *ParseContext, elements []interface{}, subs []string, opts ...Option) ([]interface{}, error) { + // split the steps if attribute substitution is enabled + for i, s := range subs { + if s == Attributes { + var err error + // apply until Attribute substitution included + if elements, err = parseElements(elements, subs, opts...); err != nil { + return nil, err } + // replace AttributeRefs found in previous step (inluding in inline element attributes) + return replaceAttributeRefsAndReparse(ctx, elements, subs[i+1:], opts...) } } - if err := s.processBlockWithElements(ctx, block, opts...); err != nil { - return err + return parseElements(elements, subs, opts...) +} + +// replaceAttributeRefsAndReparse recursively replaces the attribute refs, but only reparse the portions in which the replacements happened. +// for example: the location of an inline link, but not the whole paragraph. +func replaceAttributeRefsAndReparse(ctx *ParseContext, elements []interface{}, subs []string, opts ...Option) ([]interface{}, error) { + found := false + for i, e := range elements { + switch e := e.(type) { + case types.WithElements: + // replace in attributes + if err := replaceAttributeRefsInBlockAttributes(ctx, e); err != nil { + return nil, err + } + // replace in elements + if elements, err := replaceAttributeRefsAndReparse(ctx, e.GetElements(), subs, opts...); err != nil { + return nil, err + } else if err := e.SetElements(elements); err != nil { + return nil, err + } + default: + e, f, err := replaceAttributeRefs(ctx, e) + if err != nil { + return nil, err + } + found = found || f + elements[i] = e + } } - // if log.IsLevelEnabled(log.DebugLevel) { - // log.Debugf("processed block of type '%T' with elements: %s", block, spew.Sdump(block)) - // } - return nil + if found { + var err error + elements, err = parseElements(elements, subs, opts...) + if err != nil { + return nil, err + } + } + return elements, nil +} + +// parseElements parse the elements, using placeholders for existing "structured" elements (ie, not RawLine or StringElements) +// Also, does not parse the content of the placeholders, but restores them at the end. +func parseElements(elements []interface{}, subs []string, opts ...Option) ([]interface{}, error) { + serialized, placeholders := serialize(elements) + if len(serialized) == 0 { + return nil, nil + } + if log.IsLevelEnabled(log.DebugLevel) { + log.Debugf("parsing '%s' with enabled substitutions %s", serialized, spew.Sdump(subs)) + } + result, err := Parse("", serialized, append(opts, GlobalStore(enabledSubstitutions, subs))...) + if err != nil { + return nil, err + } + elmts, ok := result.([]interface{}) + if !ok { + return nil, fmt.Errorf("unexpected type of content after parsing elements: '%T'", result) + } + if log.IsLevelEnabled(log.DebugLevel) { + log.Debugf("parsed content:\n%s", spew.Sdump(elmts)) + } + return placeholders.restore(elmts) } func extractMarkdownQuoteAttribution(elements []interface{}) ([]interface{}, string) { @@ -204,95 +316,180 @@ func extractMarkdownQuoteAttribution(elements []interface{}) ([]interface{}, str return elements, "" } -func applySubstitutionsOnBlockWithLocation(ctx *ParseContext, block types.BlockWithLocation, opts ...Option) error { - log.Debugf("processing block with attributes and location") - if err := newElementAttributesSubstitution().processAttributes(ctx, block, opts...); err != nil { - return err +func serialize(content []interface{}) ([]byte, *placeholders) { + // if log.IsLevelEnabled(log.DebugLevel) { + // log.Debugf("serializing:\n%v", spew.Sdump(content)) + // } + placeholders := newPlaceholders() + result := bytes.NewBuffer(nil) + for _, element := range content { + switch element := element.(type) { + case types.RawContent: + result.WriteString(string(element)) + case types.RawLine: + result.WriteString(string(element)) + case *types.SingleLineComment: + // replace with placeholder + p := placeholders.add(element) + result.WriteString(p.String()) + case *types.StringElement: + result.WriteString(element.Content) + default: + // replace with placeholder + p := placeholders.add(element) + result.WriteString(p.String()) + } } - // log.Debugf("applying substitutions on `location` of block of type '%T'", block) - elements := block.GetLocation().Path - elements, _, err := replaceAttributeRefsInElements(ctx, elements) - if err != nil { - return err + // if log.IsLevelEnabled(log.DebugLevel) { + // log.Debugf("serialized lines: '%s'\nplaceholders: %v", result.Bytes(), spew.Sdump(placeholders.elements)) + // } + return result.Bytes(), placeholders +} + +type placeholders struct { + seq int + elements map[string]interface{} +} + +func newPlaceholders() *placeholders { + return &placeholders{ + seq: 0, + elements: map[string]interface{}{}, } - block.GetLocation().SetPath(elements) - switch img := block.(type) { - case *types.ImageBlock, *types.InlineImage: - imagesdir := ctx.attributes.getAsStringWithDefault(types.AttrImagesDir, "") - img.GetLocation().SetPathPrefix(imagesdir) +} + +func (p *placeholders) add(element interface{}) *types.ElementPlaceHolder { + p.seq++ + p.elements[strconv.Itoa(p.seq)] = element + return &types.ElementPlaceHolder{ + Ref: strconv.Itoa(p.seq), } - return nil + +} + +// replace the placeholders with their original element in the given elements +func (p *placeholders) restore(elements []interface{}) ([]interface{}, error) { + // if log.IsLevelEnabled(log.DebugLevel) { + // log.Debugf("restoring placeholders in\n%s", spew.Sdump(elements)) + // } + // skip if there's nothing to restore + if len(p.elements) == 0 { + return elements, nil + } + for i, e := range elements { + if e, ok := e.(*types.ElementPlaceHolder); ok { + elements[i] = p.elements[e.Ref] + } + } + // if log.IsLevelEnabled(log.DebugLevel) { + // log.Debugf("restored elements:\n%v", spew.Sdump(elements)) + // } + return elements, nil +} + +// ---------------------------------------------- +// Substitutions +// ---------------------------------------------- + +func (c *current) lookupCurrentSubstitutions() ([]string, bool) { + s, found := c.globalStore[enabledSubstitutions].([]string) + return s, found } -type substitutions []*substitution +func (c *current) isSubstitutionEnabled(k string) bool { + subs, found := c.lookupCurrentSubstitutions() + if !found { + // log.Debugf("substitutions not set in globalStore: assuming '%s' not enabled", k) + return false // TODO: should return `true`, at least for `attributes`? + } + for _, s := range subs { + if s == k { + // log.Debugf("'%s' is enabled", k) + return true + } + } + // log.Debugf("'%s' is not enabled", k) + return false +} -func newSubstitutions(b types.BlockWithAttributes) (substitutions, error) { +func newSubstitutions(b types.WithElements) ([]string, error) { // TODO: introduce a `types.BlockWithSubstitution` interface? // note: would also be helpful for paragraphs with `[listing]` style. - defaultSub, err := defaultSubstitution(b) + defaultSubs, err := defaultSubstitutions(b) if err != nil { return nil, errors.Wrap(err, "unable to determine substitutions") } - subs := strings.Split(b.GetAttributes().GetAsStringWithDefault(types.AttrSubstitutions, defaultSub), ",") - result := make([]*substitution, 0, len(subs)) - // when dealing with incremental substitutions + // look-up the `subs` in the element's attributes + attrSub, found, err := b.GetAttributes().GetAsString(types.AttrSubstitutions) + if err != nil { + return nil, err + } + if !found { + return defaultSubs, nil + } + subs := strings.Split(attrSub, ",") + var result []string + // when dealing with incremental substitutions, use default sub as a baseline and append or prepend the incremental subs if allIncremental(subs) { - d, err := newSubstitution(defaultSub) - if err != nil { - return nil, err - } - result = substitutions{d} + result = defaultSubs + } else { + result = make([]string, 0, len(subs)) } for _, sub := range subs { // log.Debugf("checking subs '%s'", sub) switch { case strings.HasSuffix(sub, "+"): // prepend - s, err := newSubstitution(strings.TrimSuffix(sub, "+")) + s, err := substitutions(strings.TrimSuffix(sub, "+")) if err != nil { return nil, err } // log.Debugf("prepending subs '%s'", sub) - result = append(substitutions{s}, result...) + result = append(s, result...) case strings.HasPrefix(sub, "+"): // append - s, err := newSubstitution(strings.TrimPrefix(sub, "+")) + s, err := substitutions(strings.TrimPrefix(sub, "+")) if err != nil { return nil, err } // log.Debugf("appending subs '%s'", sub) - result = append(result, s) + result = append(result, s...) case strings.HasPrefix(sub, "-"): // remove from all substitutions - for _, s := range result { - s.disable(substitutionKind(strings.TrimPrefix(sub, "-"))) + s, err := substitutions(strings.TrimPrefix(sub, "-")) + if err != nil { + return nil, err + } + loop: + for i := range s { + for j := range result { + if s[i] == result[j] { + log.Debugf("removing '%s' at index %d", s[i], j) + result = append(result[:j], result[j+1:]...) // remove at index `j` + continue loop + } + } } default: - s, err := newSubstitution(sub) + s, err := substitutions(sub) if err != nil { return nil, err } - result = append(result, s) + result = append(result, s...) } } // if log.IsLevelEnabled(log.DebugLevel) { - // log.Debug("substitutions to apply:") - // for _, s := range result { - // log.Debugf("%s: %+v", s.entrypoint, s.rules) - // } + // log.Debugf("substitutions to apply on block of type '%T': %s", b, spew.Sdump(result)) // } return result, nil } // checks if all the given subs are incremental (ie, prefixed with `+|-` or suffixed with `-`) func allIncremental(subs []string) bool { - // init with first substitution - allIncremental := true - // check others for _, sub := range subs { if !isIncrementalSubstitution(sub) { return false } } - return allIncremental + return true } func isIncrementalSubstitution(sub string) bool { @@ -301,916 +498,276 @@ func isIncrementalSubstitution(sub string) bool { strings.HasSuffix(sub, "+") } -func (s substitutions) processBlockWithElements(ctx *ParseContext, block types.BlockWithElements, opts ...Option) error { - elements, err := s.processElements(ctx, block.GetElements(), opts...) - if err != nil { - return err +func normalSubstitutions() []string { + return []string{ + InlinePassthroughs, + Attributes, + SpecialCharacters, + Quotes, + Replacements, + Macros, + PostReplacements, } - if err := block.SetElements(elements); err != nil { - return err - } - return nil } -func (s substitutions) processElements(ctx *ParseContext, elements []interface{}, opts ...Option) ([]interface{}, error) { - // skip if there's nothing to do - // (and no need to return an empty slice, btw) - if len(elements) == 0 { - return nil, nil +func headerSubstitutions() []string { + return []string{ + InlinePassthroughs, + Attributes, + SpecialCharacters, + Quotes, + Macros, + Replacements, } - for _, substitution := range s { - var err error - elements, err = substitution.processElements(ctx, elements, opts...) - if err != nil { - return nil, err - } +} + +func noneSubstitutions() []string { + return []string{} +} + +func verbatimSubstitutions() []string { + return []string{ + Callouts, + SpecialCharacters, } - return elements, nil } -func defaultSubstitution(b interface{}) (string, error) { +func defaultSubstitutions(b types.WithElements) ([]string, error) { // log.Debugf("looking-up default substitution for block of type '%T'", b) switch b := b.(type) { case *types.DelimitedBlock: switch b.Kind { case types.Listing, types.Fenced, types.Literal: - return "verbatim", nil + return verbatimSubstitutions(), nil case types.Example, types.Quote, types.Verse, types.Sidebar, types.MarkdownQuote: - return "normal", nil + return normalSubstitutions(), nil case types.Comment, types.Passthrough: - return "none", nil + return noneSubstitutions(), nil default: - return "", fmt.Errorf("unsupported kind of delimited block: '%v'", b.Kind) + return nil, fmt.Errorf("unsupported kind of delimited block: '%v'", b.Kind) } case *types.Paragraph: // if listing paragraph: switch b.GetAttributes().GetAsStringWithDefault(types.AttrStyle, "") { case types.Listing: - return "verbatim", nil + return verbatimSubstitutions(), nil default: - return "normal", nil + return normalSubstitutions(), nil } - case *types.ListElements, types.ListElement, *types.QuotedText, *types.Table: - return "normal", nil - case *types.Section: - return "header", nil - default: - return "", fmt.Errorf("unsupported kind of element: '%T'", b) - } -} - -func canHaveSubstitution(b interface{}) bool { - switch b.(type) { - case *types.DelimitedBlock, *types.Paragraph, *types.List, types.ListElement, *types.QuotedText, *types.Section: - return true + case *types.ListElements, types.ListElement, *types.QuotedText, *types.Table, *types.TableCell: + return normalSubstitutions(), nil default: - return false + return nil, fmt.Errorf("unsupported kind of element: '%T'", b) } } -type substitutionRule string - -const ( - AttributesGroup substitutionRule = "AttributesGroup" - ElementAttributesGroup substitutionRule = "ElementAttributesGroup" - HeaderGroup substitutionRule = "HeaderGroup" - MacrosGroup substitutionRule = "MacrosGroup" - NoneGroup substitutionRule = "NoneGroup" - NormalGroup substitutionRule = "NormalGroup" - QuotesGroup substitutionRule = "QuotesGroup" - ReplacementsGroup substitutionRule = "ReplacementsGroup" - PostReplacementsGroup substitutionRule = "PostReplacementsGroup" - SpecialcharactersGroup substitutionRule = "SpecialCharactersGroup" - VerbatimGroup substitutionRule = "VerbatimGroup" -) - -type substitution struct { - entrypoint substitutionRule - rules map[substitutionKind]bool - // hasAttributeSubstitutions bool // TODO: replace with a key in the parser's store -} - -func newSubstitution(kind string) (*substitution, error) { - switch kind { - case "attributes": - return newAttributesSubstitution(), nil - case "element_attributes": - return newElementAttributesSubstitution(), nil - case "header": - return newHeaderSubstitution(), nil - case "macros": - return newMacrosSubstitution(), nil +func substitutions(s string) ([]string, error) { + switch s { case "normal": - return newNormalSubstitution(), nil + return normalSubstitutions(), nil case "none": - return newNoneSubstitution(), nil - case "quotes": - return newQuotesSubstitution(), nil - case "replacements": - return newReplacementsSubstitution(), nil - case "post_replacements": - return newPostReplacementsSubstitution(), nil - case "specialchars": - return newSpecialCharsSubstitution(), nil + return noneSubstitutions(), nil case "verbatim": - return newVerbatimSubstitution(), nil + return verbatimSubstitutions(), nil + case "attributes", "macros", "quotes", "replacements", "post_replacements", "callouts", "specialchars": + return []string{ + s, + }, nil default: - return nil, fmt.Errorf("unsupported kind of substitution: '%v'", kind) - } -} - -func (s *substitution) clone() *substitution { - rules := make(map[substitutionKind]bool, len(s.rules)) - for r, e := range s.rules { - rules[r] = e - } - return &substitution{ - entrypoint: s.entrypoint, - rules: rules, - // hasAttributeSubstitutions: false, // make sure it's set to false - } -} -func newAttributesSubstitution() *substitution { - return &substitution{ - entrypoint: AttributesGroup, - rules: map[substitutionKind]bool{ - InlinePassthroughs: true, - Attributes: true, - }, - } -} - -func newElementAttributesSubstitution() *substitution { - return &substitution{ - entrypoint: ElementAttributesGroup, - rules: map[substitutionKind]bool{ - InlinePassthroughs: true, - Attributes: true, - Quotes: true, - SpecialCharacters: true, // TODO: is it needed? - }, + // TODO: return `none` instead of `err` and log an error with the fragment position (use logger with fields?) + return nil, fmt.Errorf("unsupported substitution: '%v'", s) } } -func newNormalSubstitution() *substitution { - return &substitution{ - entrypoint: NormalGroup, - rules: map[substitutionKind]bool{ - InlinePassthroughs: true, - SpecialCharacters: true, - Attributes: true, - Quotes: true, - Replacements: true, - Macros: true, - PostReplacements: true, - }, - } -} +const ( + // enabledSubstitutions the key in which enabled substitutions are stored in the parser's GlobalStore + enabledSubstitutions string = "enabled_substitutions" -func newHeaderSubstitution() *substitution { - return &substitution{ - entrypoint: HeaderGroup, - rules: map[substitutionKind]bool{ - InlinePassthroughs: true, - SpecialCharacters: true, - Attributes: true, - Quotes: true, - Macros: true, - Replacements: true, - }, - } -} + // Attributes the "attributes" substitution + Attributes string = "attributes" + // Callouts the "callouts" substitution + Callouts string = "callouts" + // InlinePassthroughs the "inline_passthrough" substitution + InlinePassthroughs string = "inline_passthrough" // nolint: gosec + // Macros the "macros" substitution + Macros string = "macros" + // None the "none" substitution + None string = "none" + // PostReplacements the "post_replacements" substitution + PostReplacements string = "post_replacements" + // Quotes the "quotes" substitution + Quotes string = "quotes" + // Replacements the "replacements" substitution + Replacements string = "replacements" + // SpecialCharacters the "specialchars" substitution + SpecialCharacters string = "specialchars" +) -func newMacrosSubstitution() *substitution { - return &substitution{ - entrypoint: MacrosGroup, - rules: map[substitutionKind]bool{ - Macros: true, - }, +func counterToStringElement(ctx *ParseContext, c *types.CounterSubstitution) (string, error) { + counter := ctx.counters[c.Name] + if counter == nil { + counter = 0 } -} - -func newNoneSubstitution() *substitution { - return &substitution{ - entrypoint: NoneGroup, - rules: map[substitutionKind]bool{}, + increment := true + if c.Value != nil { + ctx.counters[c.Name] = c.Value + counter = c.Value + increment = false } -} - -func newQuotesSubstitution() *substitution { - return &substitution{ - entrypoint: QuotesGroup, - rules: map[substitutionKind]bool{ - Quotes: true, - }, - } -} - -func newReplacementsSubstitution() *substitution { - return &substitution{ - entrypoint: ReplacementsGroup, - rules: map[substitutionKind]bool{ - Replacements: true, - }, - } -} - -func newPostReplacementsSubstitution() *substitution { - return &substitution{ - entrypoint: PostReplacementsGroup, - rules: map[substitutionKind]bool{ - PostReplacements: true, - }, - } -} - -func newSpecialCharsSubstitution() *substitution { - return &substitution{ - entrypoint: SpecialcharactersGroup, - rules: map[substitutionKind]bool{ - SpecialCharacters: true, - }, - } -} - -func newVerbatimSubstitution() *substitution { - return &substitution{ - entrypoint: VerbatimGroup, - rules: map[substitutionKind]bool{ - SpecialCharacters: true, - Callouts: true, - }, - } -} - -func newTableColumnsAttrSubstitution() *substitution { - return &substitution{ - entrypoint: "TableColumnsAttribute", - } -} - -func (s *substitution) disable(kinds ...substitutionKind) { - log.Debugf("disabling %v", kinds) - rules := make(map[substitutionKind]bool, len(s.rules)) - // TODO: use a single loop to copy/remove - for k, v := range s.rules { - rules[k] = v - } - for _, k := range kinds { - switch k { - case "specialchars": - delete(rules, SpecialCharacters) - default: - delete(rules, k) + switch counter := counter.(type) { + case int: + if increment { + counter++ } - } - // if log.IsLevelEnabled(log.DebugLevel) { - // log.Debugf("remaining rules: %s", spew.Sdump(rules)) - // } - s.rules = rules -} - -func (s *substitution) hasEnablements() bool { - return len(s.rules) > 0 -} - -func (s *substitution) processAttributes(ctx *ParseContext, element types.BlockWithAttributes, opts ...Option) error { - // if log.IsLevelEnabled(log.DebugLevel) { - // log.WithField("entrypoint", s.entrypoint). - // Debugf("processing attributes of %s", spew.Sdump(element)) - // } - // TODO: only parse element attributes if an attribute substitution occurred? - attrs, err := s.parseAttributes(element.GetAttributes(), opts...) - if err != nil { - return err - } - element.SetAttributes(attrs) - found, err := replaceAttributeRefsInAttributes(ctx, element) - if err != nil { - return err - } - if log.IsLevelEnabled(log.DebugLevel) { - log.Debugf("attributes have substitions: %t", found) - } - if found { - // clone substitution so we start again with `hasAttributeSubstitutions=false` without loosing this `s.hasAttributeSubstitutions` value (needed to re-process elements) - return s.clone().processAttributes(ctx, element, opts...) - } - // if log.IsLevelEnabled(log.DebugLevel) { - // log.WithField("entrypoint", s.entrypoint).Debugf("done processing attributes of %s", spew.Sdump(element)) - // } - return nil -} - -func (s *substitution) processElements(ctx *ParseContext, elements []interface{}, opts ...Option) ([]interface{}, error) { - if log.IsLevelEnabled(log.DebugLevel) { - // log.WithField("substitution_entrypoint", s.entrypoint).WithField("substitution_rules", s.rules).Debugf("processing %s", spew.Sdump(elements)) - log. - WithField("substitution_entrypoint", s.entrypoint). - WithField("substitution_rules", s.rules). - // WithField("hasAttributeSubstitutions", s.hasAttributeSubstitutions). - Debugf("processing elements") - } - elements, err := s.parseElements(ctx, elements, opts...) - if err != nil { - return nil, err - } - // log.WithField("group", step.group).Debug("attribute substitutions detected during parsing") - // apply substitutions on elements - elements, found, err := replaceAttributeRefsInElements(ctx, elements) - if err != nil { - return nil, err - } - if log.IsLevelEnabled(log.DebugLevel) { - log.Debugf("content has attribute substitutions: %t", found) - } - if found { - elements, _ = types.NewInlineElements(elements) - // re-run the parser, skipping the `inline_passthrough` and `attribute` rules this time - s.disable(InlinePassthroughs) // TODO: verify when elements contain an `InlinePassthroughs` - if s.hasEnablements() { - if elements, err = s.parseElements(ctx, elements, opts...); err != nil { - return nil, err - } + ctx.counters[c.Name] = counter + if c.Hidden { + // return empty string facilitates merging + return "", nil } - } - return elements, nil -} - -func (s *substitution) parseElements(ctx *ParseContext, elements []interface{}, opts ...Option) ([]interface{}, error) { - if log.IsLevelEnabled(log.DebugLevel) { - log.WithField("entrypoint", s.entrypoint).Debug("parsing elements") - } - serialized, placeholders := serialize(elements) - if len(serialized) == 0 { - return nil, nil - } - result, err := s.parseContent(serialized, opts...) - if err != nil { - return nil, err - } - for _, element := range result { - if e, ok := element.(types.BlockWithAttributes); ok { - if len(e.GetAttributes()) == 0 { - log.Debug("no attribute to parse") - continue - } - // clone substitution, because we don't need all features (eg: inlinemacros) - sa := s.clone() - log.Debugf("disabling macros while parsing attributes") - sa.disable(Macros) // TODO: disable more rules (only keep what's in ElementAttributesGroup) - // skip call below if `sa` is empty. - if len(e.GetAttributes()) == 0 { - log.Debug("no rule enabled to parse attributes") - continue - } - attrs, err := sa.parseAttributes(e.GetAttributes(), opts...) - if err != nil { - return nil, err - } - e.SetAttributes(attrs) + return strconv.Itoa(counter), nil + case rune: + if increment { + counter++ } - } - - // also, apply the substitutions on the placeholders, case by case - for _, element := range placeholders.elements { - if err := s.processPlaceHolderElements(ctx, element, opts...); err != nil { - return nil, err + ctx.counters[c.Name] = counter + if c.Hidden { + // return empty string facilitates merging + return "", nil } + return string(counter), nil + default: + return "", fmt.Errorf("unexpected type of counter value: '%T'", counter) } - return placeholders.restore(result) } -func (s *substitution) processPlaceHolderElements(ctx *ParseContext, element interface{}, opts ...Option) error { +func replaceAttributeRefsInBlockAttributes(ctx *ParseContext, b types.WithAttributes) error { if log.IsLevelEnabled(log.DebugLevel) { - log.Debugf("processing placeholder element of type '%T'", element) + log.Debugf("replacing attribute refs in attributes of block of type '%T':\n%s", b, spew.Sdump(b.GetAttributes())) } - switch e := element.(type) { - case types.BlockWithElements: - // if element has its own substitution attribute, then use it - if canHaveSubstitution(e) && e.GetAttributes().Has(types.AttrSubstitutions) { - subs, err := newSubstitutions(e) + attrs := b.GetAttributes() + for k, v := range attrs { + switch v := v.(type) { + case []interface{}: + v, _, err := replaceAttributeRefsInSlice(ctx, v) if err != nil { return err } - return subs.processBlockWithElements(ctx, e, opts...) - } - if err := s.processBlockWithElements(ctx, e, opts...); err != nil { - return err - } - case types.BlockWithLocation: - if err := s.processElementWithLocation(ctx, e, opts...); err != nil { - return err - } - case *types.ListElementContinuation: - var err error - if e.Element, err = applySubstitutionsOnElement(ctx, e.Element); err != nil { - return err - } - case []interface{}: - for _, elmt := range e { - if w, ok := elmt.(types.BlockWithElements); ok { - if err := s.processPlaceHolderElements(ctx, w, opts...); err != nil { + attrs[k] = types.Reduce(v) + case types.Roles: + roles := make(types.Roles, len(v)) + for i, r := range v { + r, _, err := replaceAttributeRefs(ctx, r) + if err != nil { return err } + roles[i] = types.Reduce(r) } - } - default: - log.Debugf("skipping substitutions on block of type '%T'", e) - } - return nil -} - -func (s *substitution) processBlockWithElements(ctx *ParseContext, block types.BlockWithElements, opts ...Option) error { - elements, err := s.processElements(ctx, block.GetElements(), opts...) - if err != nil { - return err - } - return block.SetElements(elements) -} - -func (s *substitution) processElementWithLocation(ctx *ParseContext, element types.BlockWithLocation, opts ...Option) error { - log.Debugf("processing element with location of type '%T'", element) - // process attributes - if err := s.processAttributes(ctx, element); err != nil { - return err - } - // process path - pathElements, err := s.processElements(ctx, element.GetLocation().Path, opts...) - if err != nil { - return err - } - element.GetLocation().SetPath(pathElements) - return nil -} - -func (s *substitution) parseAttributes(attributes types.Attributes, opts ...Option) (types.Attributes, error) { - if !(s.entrypoint == NormalGroup || s.entrypoint == AttributesGroup || s.entrypoint == QuotesGroup || s.entrypoint == ElementAttributesGroup) { // TODO: include special_characters? - // log.Debugf("no need to parse attributes for group '%s'", s.entrypoint) - return attributes, nil - } - // if log.IsLevelEnabled(log.DebugLevel) { - // log.Debugf("parsing attributes with group '%s' on %s", s.entrypoint, spew.Sdump(attributes)) - // } - for name, value := range attributes { - switch value := value.(type) { - case []interface{}: - // TODO: skip serializing/parsing if there's a single, non-string item - // Eg: - // ([]interface {}) (len=1) { - // (*types.AttributeSubstitution)({ - // Name: (string) (len=12) "github-title" - // }) - // } - serialized, placeholders := serialize(value) - if len(serialized) == 0 { - continue - } - values, err := s.parseContent(serialized, opts...) - if err != nil { - return nil, err - } - values, err = placeholders.restore(values) - if err != nil { - return nil, err - } - attributes[name] = values - case string: - if name == types.AttrCols { - // parse with a specific rule - values, err := newTableColumnsAttrSubstitution().parseContent([]byte(value), opts...) + attrs[k] = roles + case types.Options: + options := make(types.Options, len(v)) + for i, r := range v { + r, _, err := replaceAttributeRefs(ctx, r) if err != nil { - return nil, err + return err } - attributes[name] = values - continue - } - values, err := s.parseContent([]byte(value), opts...) - if err != nil { - return nil, err + options[i] = types.Reduce(r) } - attributes[name] = types.Reduce(values) + attrs[k] = options default: - attributes[name] = value + // do nothing } } - // if log.IsLevelEnabled(log.DebugLevel) { - // log.Debugf("parsed attributes with rule '%s': %s", s.entrypoint, spew.Sdump(attributes)) - // } - return attributes, nil + b.SetAttributes(attrs) + return nil } -func (s *substitution) parseContent(content []byte, opts ...Option) ([]interface{}, error) { +func replaceAttributeRefsInSlice(ctx *ParseContext, elements []interface{}) ([]interface{}, bool, error) { if log.IsLevelEnabled(log.DebugLevel) { - log.WithField("entrypoint", s.entrypoint).WithField("substitution_rules", s.rules).Debugf("parsing '%s'", content) - } - result, err := Parse("", content, append(opts, Entrypoint(string(s.entrypoint)), GlobalStore(substitutionKey, s))...) - if err != nil { - return nil, err + log.Debugf("replacing attribute refs in slice %s", spew.Sdump(elements)) } - r, ok := result.([]interface{}) - if !ok { - return nil, fmt.Errorf("unexpected type of content after parsing elements: '%T'", result) + found := false + for i, e := range elements { + v, f, err := replaceAttributeRefs(ctx, e) + if err != nil { + return nil, false, err + } + elements[i] = v + found = found || f } if log.IsLevelEnabled(log.DebugLevel) { - log.Debugf("parsed content:\n%s", spew.Sdump(r)) + log.Debugf("replaced attribute refs: %s", spew.Sdump(elements)) } - return r, nil + return elements, found, nil // reduce elements to return a single `string` when it's possible } -// replaces the AttributeSubstitution by their actual values. -// TODO: returns `true` if at least one AttributeSubstitution was found (whatever its replacement)? -func replaceAttributeRefsInAttributes(ctx *ParseContext, b types.BlockWithAttributes) (bool, error) { - // if log.IsLevelEnabled(log.DebugLevel) { - // log.Debugf("replacing attribute refs in %s", spew.Sdump(b.GetAttributes())) - // } - found := false - for key, value := range b.GetAttributes() { - switch value := value.(type) { - case []interface{}: // multi-value attributes - value, f, err := replaceAttributeRefsInElements(ctx, value) - if err != nil { - return false, err - } - found = found || f - // (a bit hack-ish): do not merge values when the attribute is `roles` or `options` - switch key { - case types.AttrRoles, types.AttrOptions: - b.GetAttributes()[key] = value - default: - b.GetAttributes()[key] = types.Reduce(value) - } - default: // single-value attributes - value, f, err := replaceAttributeRefsInElement(ctx, value) - if err != nil { - return false, err - } - found = found || f - b.GetAttributes()[key] = types.Reduce(value) - } +func replaceAttributeRefs(ctx *ParseContext, b interface{}) (interface{}, bool, error) { + if log.IsLevelEnabled(log.DebugLevel) { + log.Debugf("replacing attribute refs in %s", spew.Sdump(b)) } - // if log.IsLevelEnabled(log.DebugLevel) { - // log.Debugf("replaced attribute refs: %s", spew.Sdump(b.GetAttributes())) - // } - return found, nil -} - -// replaces the AttributeSubstitution or Counter substitution with its actual value, recursively if the given `element` -// is a slice -func replaceAttributeRefsInElement(ctx *ParseContext, element interface{}) (interface{}, bool, error) { - // if log.IsLevelEnabled(log.DebugLevel) { - // log.Debugf("replacing attribute references in element of type '%T'", element) - // } - switch e := element.(type) { + switch b := b.(type) { case []interface{}: - return replaceAttributeRefsInElements(ctx, e) - case *types.AttributeSubstitution: - s, found, err := ctx.attributes.getAsString(e.Name) - if err != nil { + return replaceAttributeRefsInSlice(ctx, b) + case types.WithElements: + // replace in attributes + if err := replaceAttributeRefsInBlockAttributes(ctx, b); err != nil { return nil, false, err - } else if !found { - log.Warnf("unable to find attribute '%s'", e.Name) - return e, false, nil } - return &types.StringElement{ - Content: s, - }, true, nil - case types.CounterSubstitution: - return counterToStringElement(ctx, e) - case types.BlockWithElements: - // replace AttributeSubstitutions on attributes - found := false - f, err := replaceAttributeRefsInAttributes(ctx, e) + // replace in elements + elements, found, err := replaceAttributeRefsInSlice(ctx, b.GetElements()) if err != nil { return nil, false, err } - found = found || f - // replace AttributeSubstitutions on nested elements - elements, f, err := replaceAttributeRefsInElements(ctx, e.GetElements()) - if err != nil { + if err := b.SetElements(elements); err != nil { return nil, false, err } - found = found || f - // elements = types.Merge(elements) - if err := e.SetElements(elements); err != nil { - return nil, false, errors.Wrapf(err, "failed to replace attribute references in block of type '%T'", e) + return b, found, nil + case types.WithLocation: + // replace in attributes + if err := replaceAttributeRefsInBlockAttributes(ctx, b); err != nil { + return nil, false, err } - return e, found, nil - case types.BlockWithLocation: - found := false - // replace AttributeSubstitutions on attributes - f, err := replaceAttributeRefsInAttributes(ctx, e) + // replace in location + if b.GetLocation() == nil { + // skip + return b, false, nil + } + p, found, err := replaceAttributeRefs(ctx, b.GetLocation().Path) if err != nil { return nil, false, err } - found = found || f - // replace AttributeSubstitutions on embedded location - f, err = replaceAttributeRefsInLocation(ctx, e) + b.GetLocation().SetPath(p) + return b, found, nil + case *types.AttributeReference: + e, err := replaceAttributeRef(ctx, b) if err != nil { return nil, false, err } - found = found || f - return e, found, nil - case types.BlockWithAttributes: - // replace AttributeSubstitutions on attributes - - found, err := replaceAttributeRefsInAttributes(ctx, e) - return e, found, err - default: - return e, false, nil - } -} - -func replaceAttributeRefsInLocation(ctx *ParseContext, b types.BlockWithLocation) (bool, error) { - if b.GetLocation() == nil { - return false, nil - } - path, found, err := replaceAttributeRefsInElements(ctx, b.GetLocation().Path) - if err != nil { - return false, err - } - b.GetLocation().Path = path - return found, nil -} - -func replaceAttributeRefsInElements(ctx *ParseContext, elements []interface{}) ([]interface{}, bool, error) { - // if log.IsLevelEnabled(log.DebugLevel) { - // log.Debugf("replacing attribute refs in elements:\n%s", spew.Sdump(elements)) - // } - result := make([]interface{}, len(elements)) // maximum capacity should exceed initial input - found := false - for i, element := range elements { - element, f, err := replaceAttributeRefsInElement(ctx, element) + return e, true, nil + case *types.CounterSubstitution: + s, err := counterToStringElement(ctx, b) if err != nil { return nil, false, err } - found = found || f - result[i] = element - } - // if log.IsLevelEnabled(log.DebugLevel) { - // log.Debugf("replaced attribute refs in elements:\n%s", spew.Sdump(result)) - // } - return result, found, nil -} - -func counterToStringElement(ctx *ParseContext, c types.CounterSubstitution) (*types.StringElement, bool, error) { - counter := ctx.counters[c.Name] - if counter == nil { - counter = 0 - } - increment := true - if c.Value != nil { - ctx.counters[c.Name] = c.Value - counter = c.Value - increment = false - } - switch counter := counter.(type) { - case int: - if increment { - counter++ - } - ctx.counters[c.Name] = counter - if c.Hidden { - // return empty string facilitates merging - return &types.StringElement{Content: ""}, true, nil - } - return &types.StringElement{ - Content: strconv.Itoa(counter), - }, true, nil - case rune: - if increment { - counter++ - } - ctx.counters[c.Name] = counter - if c.Hidden { - // return empty string facilitates merging - return &types.StringElement{Content: ""}, true, nil - } return &types.StringElement{ - Content: string(counter), + Content: s, }, true, nil default: - return nil, false, fmt.Errorf("unexpected type of counter value: '%T'", counter) + // do nothing, keep as-is + return b, false, nil } } -type placeholders struct { - seq int - elements map[string]interface{} -} - -func newPlaceholders() *placeholders { - return &placeholders{ - seq: 0, - elements: map[string]interface{}{}, - } -} - -func (p *placeholders) add(element interface{}) *types.ElementPlaceHolder { - p.seq++ - p.elements[strconv.Itoa(p.seq)] = element - return &types.ElementPlaceHolder{ - Ref: strconv.Itoa(p.seq), - } - -} - -// replace the placeholders with their original element in the given elements -func (p *placeholders) restore(elements []interface{}) ([]interface{}, error) { - // if log.IsLevelEnabled(log.DebugLevel) { - // log.Debugf("restoring placeholders in\n%s", spew.Sdump(elements)) - // } - // skip if there's nothing to restore - if len(p.elements) == 0 { - return elements, nil - } - for i, e := range elements { - if e, ok := e.(*types.ElementPlaceHolder); ok { - elements[i] = p.elements[e.Ref] - } - // also check nested elements (eg, in QuotedText, etc.) - // for each element, check *all* interfaces to see if there's a need to replace the placeholders - if e, ok := e.(types.BlockWithElements); ok { - elmts, err := p.restoreInBlockWithElements(e) - if err != nil { - return nil, err - } - elements[i] = elmts - } - if e, ok := e.(types.BlockWithAttributes); ok { - e, err := p.restoreInBlockWithAttributes(e) - if err != nil { - return nil, err - } - elements[i] = e - } - if e, ok := e.(types.BlockWithLocation); ok { - e, err := p.restoreInBlockWithLocation(e) - if err != nil { - return nil, err - } - elements[i] = e - } - } - // if log.IsLevelEnabled(log.DebugLevel) { - // log.Debugf("restored elements:\n%v", spew.Sdump(elements)) - // } - return elements, nil -} - -func (p *placeholders) restoreInBlockWithElements(e types.BlockWithElements) (types.BlockWithElements, error) { - elements := e.GetElements() - result := make([]interface{}, len(elements)) - for i, e := range elements { - switch e := e.(type) { - case *types.ElementPlaceHolder: - result[i] = p.elements[e.Ref] - case []interface{}: - e, err := p.restore(e) - if err != nil { - return nil, err - } - result[i] = e - default: - result[i] = e - } - } - if err := e.SetElements(result); err != nil { +func replaceAttributeRef(ctx *ParseContext, a *types.AttributeReference) (*types.StringElement, error) { + s, found, err := ctx.attributes.getAsString(a.Name) + if err != nil { return nil, err + } else if !found { + log.Warnf("unable to find attribute '%s'", a.Name) + return &types.StringElement{ + Content: "{" + a.Name + "}", + }, nil } - return e, nil -} - -func (p *placeholders) restoreInBlockWithLocation(e types.BlockWithLocation) (types.BlockWithLocation, error) { - location := e.GetLocation() - result := make([]interface{}, len(location.Path)) - for i, e := range location.Path { - switch e := e.(type) { - case *types.ElementPlaceHolder: - result[i] = p.elements[e.Ref] - case []interface{}: - e, err := p.restore(e) - if err != nil { - return nil, err - } - result[i] = e - default: - result[i] = e - } - } - e.GetLocation().Path = result - return e, nil -} - -func (p *placeholders) restoreInBlockWithAttributes(e types.BlockWithAttributes) (types.BlockWithAttributes, error) { - attrs := e.GetAttributes() - for key, value := range attrs { - switch value := value.(type) { - case *types.ElementPlaceHolder: - attrs[key] = p.elements[value.Ref] - case []interface{}: - value, err := p.restore(value) - if err != nil { - return nil, err - } - attrs[key] = value - } - } - if log.IsLevelEnabled(log.DebugLevel) { - log.Debugf("restored placeholders in attributes:\n%s", spew.Sdump(attrs)) - } - return e, nil -} - -func serialize(content interface{}) ([]byte, *placeholders) { - // if log.IsLevelEnabled(log.DebugLevel) { - // log.Debugf("serializing:\n%v", spew.Sdump(content)) - // } - placeholders := newPlaceholders() - result := bytes.NewBuffer(nil) - switch content := content.(type) { - case string: // for attributes with simple (string) values - result.WriteString(content) - case []interface{}: // for paragraph lines, attributes with complex values, etc. - for i, element := range content { - switch element := element.(type) { - case types.RawContent: - result.WriteString(string(element)) - case types.RawLine: - result.WriteString(string(element)) - // add `\n` unless the next element is a single-line comment (otherwise we'll have to deal with an extra trailing `\n` afterwards) - if i < len(content)-1 { - if _, ok := content[i+1].(*types.SingleLineComment); !ok { - result.WriteString("\n") - } - } - case *types.SingleLineComment: - // replace with placeholder - p := placeholders.add(element) - result.WriteString(p.String()) - // add `\n` unless the next element is a single-line comment - if i < len(content)-1 { - if _, ok := content[i+1].(*types.SingleLineComment); !ok { - result.WriteString("\n") - } - } - case *types.StringElement: - result.WriteString(element.Content) - default: - // replace with placeholder - p := placeholders.add(element) - result.WriteString(p.String()) - } - } - } - // if log.IsLevelEnabled(log.DebugLevel) { - // log.Debugf("serialized lines: '%s'\nplaceholders: %v", result.Bytes(), spew.Sdump(placeholders.elements)) - // } - return result.Bytes(), placeholders -} - -func (c *current) lookupCurrentSubstitution() (*substitution, bool) { - s, found := c.globalStore[substitutionKey].(*substitution) - return s, found -} - -func (c *current) isSubstitutionEnabled(k substitutionKind) (bool, error) { - s, found := c.lookupCurrentSubstitution() - if !found { - // log.Debugf("no current substitution, so assuming '%s' not enabled", k) - return false, nil // TODO: should return `true`, at least for `attributes`? - } - enabled, found := s.rules[k] - if !found { - // log.Debugf("substitution '%s' not configured in '%s'", k, s.entrypoint) - return false, nil - } - // log.Debugf("substitution '%s' enabled in rule '%s': %t", string(k), spew.Sdump(s.rules), enabled) - return enabled, nil + return &types.StringElement{ + Content: s, + }, nil } - -type substitutionKind string - -const ( - // substitutionKey the key in which substitutions are stored in the parser's GlobalStore - substitutionKey string = "current_substitution" - - // Attributes the "attributes" substitution - Attributes substitutionKind = "attributes" - // Callouts the "callouts" substitution - Callouts substitutionKind = "callouts" - // InlinePassthroughs the "inline_passthrough" substitution - InlinePassthroughs substitutionKind = "inline_passthrough" // nolint: gosec - // Macros the "macros" substitution - Macros substitutionKind = "macros" - // None the "none" substitution - None substitutionKind = "none" - // PostReplacements the "post_replacements" substitution - PostReplacements substitutionKind = "post_replacements" - // Quotes the "quotes" substitution - Quotes substitutionKind = "quotes" - // Replacements the "replacements" substitution - Replacements substitutionKind = "replacements" - // SpecialCharacters the "specialchars" substitution - SpecialCharacters substitutionKind = "specialchars" -) diff --git a/pkg/parser/document_processing_apply_substitutions_test.go b/pkg/parser/document_processing_apply_substitutions_test.go index 5576bd54..162ea3e5 100644 --- a/pkg/parser/document_processing_apply_substitutions_test.go +++ b/pkg/parser/document_processing_apply_substitutions_test.go @@ -1,109 +1,543 @@ -package parser +package parser_test import ( + "github.com/bytesparadise/libasciidoc/pkg/configuration" + "github.com/bytesparadise/libasciidoc/pkg/parser" "github.com/bytesparadise/libasciidoc/pkg/types" + . "github.com/bytesparadise/libasciidoc/testsupport" . "github.com/onsi/ginkgo" //nolint golint . "github.com/onsi/gomega" //nolint golint ) -var _ = Describe("new substitutions", func() { +var _ = Describe("apply substitutions", func() { - Context("listing block", func() { + var c chan types.DocumentFragment + done := make(<-chan interface{}) + ctx := parser.NewParseContext(configuration.NewConfiguration( + configuration.WithAttributes(map[string]interface{}{ + "role1": "role_1", + "role2": "my_role_2", + "title": "Title", + "option1": "option_1", + "option2": "option_2", + "cookie": "yummy", + }), + )) - It("default subs", func() { - b := &types.DelimitedBlock{ - Kind: types.Listing, - } - Expect(newSubstitutions(b)).To(Equal(substitutions{ - { - entrypoint: "VerbatimGroup", - rules: map[substitutionKind]bool{ - SpecialCharacters: true, - Callouts: true, + BeforeEach(func() { + c = make(chan types.DocumentFragment, 1) + }) + + AfterEach(func() { + close(c) + }) + + It("should process substitutions in document header", func() { + // given + c <- types.DocumentFragment{ + Elements: []interface{}{ + &types.DocumentHeader{ + Attributes: types.Attributes{ + types.AttrTitle: []interface{}{ + &types.AttributeReference{ + Name: "title", + }, + }, + }, + Title: []interface{}{ + types.RawLine("Document [.{role1}]*{title}*"), + }, + Elements: []interface{}{ + &types.DocumentAuthors{ // TODO: support attribute references in document authors + { + DocumentAuthorFullName: &types.DocumentAuthorFullName{ + FirstName: "Xavier", + }, + Email: "xavier@example.com", + }, + }, + &types.DocumentRevision{ // TODO: support attribute references in document revision + Revnumber: "1.0", + }, }, }, - })) - }) - Context("incremental subs", func() { - - It("-callouts", func() { - b := &types.DelimitedBlock{ - Kind: types.Listing, + }, + } + // when + result := parser.ApplySubstitutions(ctx, done, c) + // then + Expect(<-result).To(MatchDocumentFragment(types.DocumentFragment{ + Elements: []interface{}{ + &types.DocumentHeader{ Attributes: types.Attributes{ - types.AttrSubstitutions: "-callouts", + types.AttrTitle: "Title", }, - } - Expect(newSubstitutions(b)).To(Equal(substitutions{ - { - entrypoint: "VerbatimGroup", - rules: map[substitutionKind]bool{ - SpecialCharacters: true, + Title: []interface{}{ + &types.StringElement{ + Content: "Document ", + }, + &types.QuotedText{ + Kind: types.SingleQuoteBold, + Attributes: types.Attributes{ + types.AttrRoles: types.Roles{"role_1"}, + }, + Elements: []interface{}{ + &types.StringElement{ + Content: "Title", + }, + }, }, }, - })) - }) + Elements: []interface{}{ + &types.DocumentAuthors{ // TODO: support attribute references in document authors + { + DocumentAuthorFullName: &types.DocumentAuthorFullName{ + FirstName: "Xavier", + }, + Email: "xavier@example.com", + }, + }, + &types.DocumentRevision{ // TODO: support attribute references in document revision + Revnumber: "1.0", + }, + }, + }, + }, + })) + }) - It("-specialchars", func() { - b := &types.DelimitedBlock{ - Kind: types.Listing, + It("should process substitutions in section title", func() { + // given + c <- types.DocumentFragment{ + Elements: []interface{}{ + &types.Section{ + Level: 1, Attributes: types.Attributes{ - types.AttrSubstitutions: "-specialchars", + types.AttrTitle: []interface{}{ + &types.AttributeReference{ + Name: "title", + }, + }, }, - } - Expect(newSubstitutions(b)).To(Equal(substitutions{ - { - entrypoint: "VerbatimGroup", - rules: map[substitutionKind]bool{ - Callouts: true, + Title: []interface{}{ + types.RawLine("Section [.{role1}]*{title}*"), + }, + }, + }, + } + // when + result := parser.ApplySubstitutions(ctx, done, c) + // then + Expect(<-result).To(MatchDocumentFragment(types.DocumentFragment{ + Elements: []interface{}{ + &types.Section{ + Level: 1, + Attributes: types.Attributes{ + types.AttrTitle: "Title", + }, + Title: []interface{}{ + &types.StringElement{ + Content: "Section ", + }, + &types.QuotedText{ + Kind: types.SingleQuoteBold, + Attributes: types.Attributes{ + types.AttrRoles: types.Roles{"role_1"}, + }, + Elements: []interface{}{ + &types.StringElement{ + Content: "Title", + }, + }, }, }, - })) - }) - }) + }, + }, + })) + }) - Context("absolute subs", func() { + It("should process substitutions in paragraph lines", func() { + // given + c <- types.DocumentFragment{ + Elements: []interface{}{ + &types.Paragraph{ + Attributes: types.Attributes{ + types.AttrTitle: "The Title", + }, + Elements: []interface{}{ + types.RawLine("a paragraph called\n"), + types.RawLine("the {title}."), + }, + }, + }, + } + // when + result := parser.ApplySubstitutions(ctx, done, c) + // then + Expect(<-result).To(MatchDocumentFragment(types.DocumentFragment{ + Elements: []interface{}{ + &types.Paragraph{ + Attributes: types.Attributes{ + types.AttrTitle: "The Title", + }, + Elements: []interface{}{ + &types.StringElement{ + Content: "a paragraph called\nthe Title.", + }, + }, + }, + }, + })) + }) - It("macros", func() { - b := &types.DelimitedBlock{ - Kind: types.Listing, + It("should process substitutions in paragraph attributes", func() { + // given + c <- types.DocumentFragment{ + Elements: []interface{}{ + &types.Paragraph{ Attributes: types.Attributes{ - types.AttrSubstitutions: "macros", + types.AttrTitle: []interface{}{ + &types.StringElement{ + Content: "The ", + }, + &types.AttributeReference{ + Name: "title", + }, + }, + types.AttrRoles: types.Roles{ + []interface{}{ + &types.StringElement{ + Content: "my_", + }, + &types.AttributeReference{ + Name: "role1", + }, + }, + []interface{}{ + &types.AttributeReference{ + Name: "role2", + }, + }, + }, + types.AttrOptions: types.Options{ + []interface{}{ + &types.StringElement{ + Content: "an_", + }, + &types.AttributeReference{ + Name: "option1", + }, + }, + []interface{}{ + &types.AttributeReference{ + Name: "option2", + }, + }, + }, + }, + Elements: []interface{}{ + types.RawLine("a line"), + }, + }, + }, + } + // when + result := parser.ApplySubstitutions(ctx, done, c) + // then + Expect(<-result).To(MatchDocumentFragment(types.DocumentFragment{ + Elements: []interface{}{ + &types.Paragraph{ + Attributes: types.Attributes{ + types.AttrTitle: "The Title", + types.AttrRoles: types.Roles{ + "my_role_1", + "my_role_2", + }, + types.AttrOptions: types.Options{ + "an_option_1", + "option_2", + }, + }, + Elements: []interface{}{ + &types.StringElement{ + Content: "a line", + }, + }, + }, + }, + })) + }) + + It("should process substitutions in quoted text", func() { + // given + c <- types.DocumentFragment{ + Elements: []interface{}{ + &types.Paragraph{ + Elements: []interface{}{ + types.RawLine("quoted text [.{role1}]*here*."), }, - } - Expect(newSubstitutions(b)).To(Equal(substitutions{ - { - entrypoint: "MacrosGroup", - rules: map[substitutionKind]bool{ - Macros: true, + }, + }, + } + // when + result := parser.ApplySubstitutions(ctx, done, c) + // then + Expect(<-result).To(MatchDocumentFragment(types.DocumentFragment{ + Elements: []interface{}{ + &types.Paragraph{ + Elements: []interface{}{ + &types.StringElement{ + Content: "quoted text ", + }, + &types.QuotedText{ + Kind: types.SingleQuoteBold, + Attributes: types.Attributes{ + types.AttrRoles: types.Roles{ + "role_1", + }, + }, + Elements: []interface{}{ + &types.StringElement{ + Content: "here", + }, + }, + }, + &types.StringElement{ + Content: ".", }, }, - })) - }) - }) + }, + }, + })) + }) - Context("mixing subs", func() { + It("should process substitutions in inline image", func() { + // given + c <- types.DocumentFragment{ + Elements: []interface{}{ + &types.Paragraph{ + Elements: []interface{}{ + types.RawLine("image:{cookie}.png[[.{role1}]_yummy!_]"), + }, + }, + }, + } + // when + result := parser.ApplySubstitutions(ctx, done, c) + // then + Expect(<-result).To(MatchDocumentFragment(types.DocumentFragment{ + Elements: []interface{}{ + &types.Paragraph{ + Elements: []interface{}{ + &types.InlineImage{ + Attributes: types.Attributes{ + types.AttrImageAlt: []interface{}{ + &types.QuotedText{ + Kind: types.SingleQuoteItalic, + Attributes: types.Attributes{ + types.AttrRoles: types.Roles{"role_1"}, + }, + Elements: []interface{}{ + &types.StringElement{ + Content: "yummy!", + }, + }, + }, + }, + }, + Location: &types.Location{ + Path: "yummy.png", + }, + }, + }, + }, + }, + })) + }) - It("macros,+quotes,-quotes", func() { - b := &types.DelimitedBlock{ - Kind: types.Listing, + It("should process substitutions in block image", func() { + // given + c <- types.DocumentFragment{ + Elements: []interface{}{ + &types.ImageBlock{ Attributes: types.Attributes{ - types.AttrSubstitutions: "macros,+quotes,-quotes", + types.AttrRoles: types.Roles{ + []interface{}{ + &types.StringElement{ + Content: "my_", + }, + &types.AttributeReference{ + Name: "role1", + }, + }, + }, }, - } - Expect(newSubstitutions(b)).To(Equal(substitutions{ - { - entrypoint: "MacrosGroup", - rules: map[substitutionKind]bool{ - Macros: true, + Location: &types.Location{ // TODO: support substitutions in scheme? + Path: []interface{}{ + &types.StringElement{ + Content: "path/to/", + }, + &types.AttributeReference{ + Name: "cookie", + }, + &types.StringElement{ + Content: ".png", + }, }, }, - { - entrypoint: "QuotesGroup", - rules: map[substitutionKind]bool{}, // TODO: remove substitution entry when `rules` is empty + }, + }, + } + // when + result := parser.ApplySubstitutions(ctx, done, c) + // then + Expect(<-result).To(MatchDocumentFragment(types.DocumentFragment{ + Elements: []interface{}{ + &types.ImageBlock{ + Attributes: types.Attributes{ + types.AttrRoles: types.Roles{"my_role_1"}, + }, + Location: &types.Location{ // TODO: support substitutions in scheme? + Path: "path/to/yummy.png", }, - })) - }) - }) + }, + }, + })) }) + + It("should process substitutions in table block", func() { + // given + c <- types.DocumentFragment{ + Elements: []interface{}{ + &types.Table{ + Attributes: types.Attributes{ + types.AttrTitle: []interface{}{ + &types.AttributeReference{ + Name: "title", + }, + }, + }, + Header: &types.TableRow{ + Cells: []*types.TableCell{ + { + Elements: []interface{}{ + types.RawLine("[.{role1}]_yummy header!_"), + }, + }, + }, + }, + Rows: []*types.TableRow{ + { + Cells: []*types.TableCell{ + { + Elements: []interface{}{ + types.RawLine("image:{cookie}.png[[.{role1}]_yummy row!_]"), + }, + }, + }, + }, + }, + Footer: &types.TableRow{ + Cells: []*types.TableCell{ + { + Elements: []interface{}{ + types.RawLine("[.{role1}]_yummy footer!_"), + }, + }, + }, + }, + }, + }, + } + // when + result := parser.ApplySubstitutions(ctx, done, c) + // then + Expect(<-result).To(MatchDocumentFragment(types.DocumentFragment{ + Elements: []interface{}{ + &types.Table{ + Attributes: types.Attributes{ + types.AttrTitle: "Title", + }, + Header: &types.TableRow{ + Cells: []*types.TableCell{ + { + Elements: []interface{}{ + &types.QuotedText{ + Kind: types.SingleQuoteItalic, + Attributes: types.Attributes{ + types.AttrRoles: types.Roles{"role_1"}, + }, + Elements: []interface{}{ + &types.StringElement{ + Content: "yummy header!", + }, + }, + }, + }, + }, + }, + }, + Rows: []*types.TableRow{ + { + Cells: []*types.TableCell{ + { + Elements: []interface{}{ + &types.InlineImage{ + Attributes: types.Attributes{ + types.AttrImageAlt: []interface{}{ + &types.QuotedText{ + Kind: types.SingleQuoteItalic, + Attributes: types.Attributes{ + types.AttrRoles: types.Roles{"role_1"}, + }, + Elements: []interface{}{ + &types.StringElement{ + Content: "yummy row!", + }, + }, + }, + }, + }, + Location: &types.Location{ + Path: "yummy.png", + }, + }, + }, + }, + }, + }, + }, + Footer: &types.TableRow{ + Cells: []*types.TableCell{ + { + Elements: []interface{}{ + &types.QuotedText{ + Kind: types.SingleQuoteItalic, + Attributes: types.Attributes{ + types.AttrRoles: types.Roles{"role_1"}, + }, + Elements: []interface{}{ + &types.StringElement{ + Content: "yummy footer!", + }, + }, + }, + }, + }, + }, + }, + }, + }, + })) + }) + + // It("should process substitutions in listing block", func() { + // Fail("not implemented yet") + // }) + + // It("should process substitutions in example block", func() { + // Fail("not implemented yet") + // }) + }) diff --git a/pkg/parser/document_processing_collect_footnotes_test.go b/pkg/parser/document_processing_collect_footnotes_test.go index daf417ab..5ad81311 100644 --- a/pkg/parser/document_processing_collect_footnotes_test.go +++ b/pkg/parser/document_processing_collect_footnotes_test.go @@ -81,6 +81,7 @@ var _ = Describe("collect footnotes", func() { }) It("no footnote", func() { + // given c := make(chan types.DocumentFragment, 1) c <- types.DocumentFragment{ Elements: []interface{}{ @@ -89,7 +90,9 @@ var _ = Describe("collect footnotes", func() { } close(c) footnotes := types.NewFootnotes() + // when result := parser.CollectFootnotes(footnotes, make(<-chan interface{}), c) + // then Expect(<-result).To(MatchDocumentFragment(types.DocumentFragment{ Elements: []interface{}{ sectionWithoutFootnote, @@ -99,6 +102,7 @@ var _ = Describe("collect footnotes", func() { }) It("single footnote", func() { + // given c := make(chan types.DocumentFragment, 1) c <- types.DocumentFragment{ Elements: []interface{}{ @@ -108,7 +112,9 @@ var _ = Describe("collect footnotes", func() { } close(c) footnotes := types.NewFootnotes() + // when result := parser.CollectFootnotes(footnotes, make(<-chan interface{}), c) + // then Expect(<-result).To(MatchDocumentFragment(types.DocumentFragment{ Elements: []interface{}{ sectionWithFootnoteRef1, @@ -129,6 +135,7 @@ var _ = Describe("collect footnotes", func() { }) It("multiple footnotes in same fragment", func() { + // given c := make(chan types.DocumentFragment, 1) c <- types.DocumentFragment{ Elements: []interface{}{ @@ -139,7 +146,9 @@ var _ = Describe("collect footnotes", func() { } close(c) footnotes := types.NewFootnotes() + // when result := parser.CollectFootnotes(footnotes, make(<-chan interface{}), c) + // then Expect(<-result).To(MatchDocumentFragment(types.DocumentFragment{ Elements: []interface{}{ sectionWithFootnoteRef1, @@ -170,6 +179,7 @@ var _ = Describe("collect footnotes", func() { }) It("multiple footnotes in separate fragments", func() { + // given c := make(chan types.DocumentFragment, 2) c <- types.DocumentFragment{ Elements: []interface{}{ @@ -187,7 +197,9 @@ var _ = Describe("collect footnotes", func() { } close(c) footnotes := types.NewFootnotes() + // when result := parser.CollectFootnotes(footnotes, make(<-chan interface{}), c) + // then Expect(<-result).To(MatchDocumentFragment(types.DocumentFragment{ Elements: []interface{}{ sectionWithoutFootnote, @@ -295,6 +307,7 @@ var _ = Describe("collect footnotes", func() { }) It("no footnote", func() { + // given c := make(chan types.DocumentFragment, 1) c <- types.DocumentFragment{ Elements: []interface{}{ @@ -303,7 +316,9 @@ var _ = Describe("collect footnotes", func() { } close(c) footnotes := types.NewFootnotes() + // when result := parser.CollectFootnotes(footnotes, make(<-chan interface{}), c) + // then Expect(<-result).To(MatchDocumentFragment(types.DocumentFragment{ Elements: []interface{}{ paragraphWithoutFootnote, @@ -313,6 +328,7 @@ var _ = Describe("collect footnotes", func() { }) It("single footnote", func() { + // given c := make(chan types.DocumentFragment, 1) c <- types.DocumentFragment{ Elements: []interface{}{ @@ -322,7 +338,9 @@ var _ = Describe("collect footnotes", func() { } close(c) footnotes := types.NewFootnotes() + // when result := parser.CollectFootnotes(footnotes, make(<-chan interface{}), c) + // then Expect(<-result).To(MatchDocumentFragment(types.DocumentFragment{ Elements: []interface{}{ paragraphWithFootnoteRef1, @@ -343,6 +361,7 @@ var _ = Describe("collect footnotes", func() { }) It("multiple footnotes in same fragment", func() { + // given c := make(chan types.DocumentFragment, 1) c <- types.DocumentFragment{ Elements: []interface{}{ @@ -353,7 +372,9 @@ var _ = Describe("collect footnotes", func() { } close(c) footnotes := types.NewFootnotes() + // when result := parser.CollectFootnotes(footnotes, make(<-chan interface{}), c) + // then Expect(<-result).To(MatchDocumentFragment(types.DocumentFragment{ Elements: []interface{}{ paragraphWithFootnoteRef1, @@ -384,6 +405,7 @@ var _ = Describe("collect footnotes", func() { }) It("multiple footnotes in separate fragments", func() { + // given c := make(chan types.DocumentFragment, 2) c <- types.DocumentFragment{ Elements: []interface{}{ @@ -401,7 +423,9 @@ var _ = Describe("collect footnotes", func() { } close(c) footnotes := types.NewFootnotes() + // when result := parser.CollectFootnotes(footnotes, make(<-chan interface{}), c) + // then Expect(<-result).To(MatchDocumentFragment(types.DocumentFragment{ Elements: []interface{}{ paragraphWithoutFootnote, diff --git a/pkg/parser/document_processing_custom_substitutions_test.go b/pkg/parser/document_processing_custom_substitutions_test.go deleted file mode 100644 index 5424fc19..00000000 --- a/pkg/parser/document_processing_custom_substitutions_test.go +++ /dev/null @@ -1,160 +0,0 @@ -package parser - -import ( - "github.com/bytesparadise/libasciidoc/pkg/types" - log "github.com/sirupsen/logrus" - - . "github.com/onsi/ginkgo/extensions/table" //nolint golint - . "github.com/onsi/gomega" //nolint golint -) - -var _ = DescribeTable("compute valid custom substitutions", - - func(block types.BlockWithAttributes, expected substitutions) { - // given - log.Debugf("processing '%v'", block) - // when - result, err := newSubstitutions(block) - // then - Expect(err).NotTo(HaveOccurred()) - Expect(result).To(Equal(expected)) - }, - - Entry(`listing block with default substitutions`, - &types.DelimitedBlock{ - Kind: types.Listing, - }, - substitutions{ - // default - &substitution{ - entrypoint: VerbatimGroup, - rules: map[substitutionKind]bool{ - SpecialCharacters: true, - Callouts: true, - }, - }, - }, - ), - Entry(`example block with default substitutions`, - &types.DelimitedBlock{ - Kind: types.Example, - }, - substitutions{ - // default - &substitution{ - entrypoint: NormalGroup, - rules: map[substitutionKind]bool{ - InlinePassthroughs: true, - SpecialCharacters: true, - Attributes: true, - Quotes: true, - Replacements: true, - Macros: true, - PostReplacements: true, - }, - }, - }, - ), - Entry(`listing block with custom 'attributes,quotes' substitutions`, - &types.DelimitedBlock{ - Kind: types.Listing, - Attributes: types.Attributes{ - types.AttrSubstitutions: `attributes,quotes`, - }, - }, - substitutions{ - &substitution{ - entrypoint: AttributesGroup, - rules: map[substitutionKind]bool{ - InlinePassthroughs: true, - Attributes: true, - }, - }, - &substitution{ - entrypoint: QuotesGroup, - rules: map[substitutionKind]bool{ - Quotes: true, - }, - }, - }, - ), - // incremental substitutions - Entry(`listing block with incremental '+attributes' substitutions `, - &types.DelimitedBlock{ - Kind: types.Listing, - Attributes: types.Attributes{ - types.AttrSubstitutions: `+attributes`, - }, - }, - substitutions{ - // default - &substitution{ - entrypoint: VerbatimGroup, - rules: map[substitutionKind]bool{ - SpecialCharacters: true, - Callouts: true, - }, - }, - // appended - &substitution{ - entrypoint: AttributesGroup, - rules: map[substitutionKind]bool{ - InlinePassthroughs: true, - Attributes: true, - }, - }, - }, - ), - Entry(`listing block with incremental 'attributes+' substitutions `, - &types.DelimitedBlock{ - Kind: types.Listing, - Attributes: types.Attributes{ - types.AttrSubstitutions: `attributes+`, - }, - }, - substitutions{ - // prepended - &substitution{ - entrypoint: AttributesGroup, - rules: map[substitutionKind]bool{ - InlinePassthroughs: true, - Attributes: true, - }, - }, - // default - &substitution{ - entrypoint: VerbatimGroup, - rules: map[substitutionKind]bool{ - SpecialCharacters: true, - Callouts: true, - }, - }, - }, - ), - Entry(`listing block with incremental 'attributes+,-specialchars' substitutions `, - &types.DelimitedBlock{ - Kind: types.Listing, - Attributes: types.Attributes{ - types.AttrSubstitutions: `attributes+,-specialchars`, - }, - }, - substitutions{ - // prepended - &substitution{ - entrypoint: AttributesGroup, - rules: map[substitutionKind]bool{ - InlinePassthroughs: true, - Attributes: true, - }, - }, - // default - &substitution{ - entrypoint: VerbatimGroup, - rules: map[substitutionKind]bool{ - // SpecialCharacters: true, // removed - Callouts: true, - }, - }, - }, - ), -) diff --git a/pkg/parser/document_processing_parse_fragments.go b/pkg/parser/document_processing_parse_fragments.go index 50815261..acd80603 100644 --- a/pkg/parser/document_processing_parse_fragments.go +++ b/pkg/parser/document_processing_parse_fragments.go @@ -19,7 +19,7 @@ func ParseFragments(ctx *ParseContext, source io.Reader, done <-chan interface{} resultStream <- types.NewErrorFragment(types.Position{}, err) return } - p := newParser(ctx.filename, b, ctx.Opts...) + p := newParser(ctx.filename, b, ctx.Opts...) // we want to parse block attributes to detect AttributeReferences if err := p.setup(g); err != nil { resultStream <- types.NewErrorFragment(types.Position{}, err) return diff --git a/pkg/parser/document_processing_parse_fragments_test.go b/pkg/parser/document_processing_parse_fragments_test.go index 58294627..1f52dd43 100644 --- a/pkg/parser/document_processing_parse_fragments_test.go +++ b/pkg/parser/document_processing_parse_fragments_test.go @@ -90,7 +90,7 @@ on *multiple lines*` &types.DelimitedBlock{ Kind: types.MarkdownQuote, Elements: []interface{}{ - types.RawLine("some text"), + types.RawLine("some text\n"), types.RawLine("on *multiple lines*"), }, }, @@ -114,7 +114,7 @@ on *multiple lines*` &types.DelimitedBlock{ Kind: types.MarkdownQuote, Elements: []interface{}{ - types.RawLine("some text"), + types.RawLine("some text\n"), types.RawLine("on *multiple lines*"), }, }, @@ -169,10 +169,10 @@ not a sidebar block &types.DelimitedBlock{ Kind: types.Listing, Elements: []interface{}{ - types.RawLine("a line"), - types.RawLine(""), - types.RawLine("****"), - types.RawLine("not a sidebar block"), + types.RawLine("a line\n"), + types.RawLine("\n"), + types.RawLine("****\n"), + types.RawLine("not a sidebar block\n"), types.RawLine("****"), }, }, @@ -210,8 +210,8 @@ on types.AttrLanguage: "text", }, Elements: []interface{}{ - types.RawLine("a line"), - types.RawLine(""), + types.RawLine("a line\n"), + types.RawLine("\n"), types.RawLine("another line"), }, }, @@ -243,8 +243,8 @@ on Elements: []interface{}{ &types.Paragraph{ Elements: []interface{}{ - types.RawLine("a paragraph"), - types.RawLine("on"), + types.RawLine("a paragraph\n"), + types.RawLine("on\n"), types.RawLine("3 lines."), }, }, @@ -316,8 +316,8 @@ on Elements: []interface{}{ &types.Paragraph{ Elements: []interface{}{ - types.RawLine("a paragraph"), - types.RawLine("on"), + types.RawLine("a paragraph\n"), + types.RawLine("on\n"), types.RawLine("3 lines."), }, }, @@ -528,9 +528,9 @@ lines &types.Paragraph{ Elements: []interface{}{ // suffix spaces are trimmed - types.RawLine("element"), - types.RawLine("on"), - types.RawLine("multiple"), + types.RawLine("element\n"), + types.RawLine("on\n"), + types.RawLine("multiple\n"), types.RawLine("lines"), }, }, @@ -569,9 +569,9 @@ lines &types.Paragraph{ Elements: []interface{}{ // suffix spaces are trimmed on each line - types.RawLine("first element"), - types.RawLine("on"), - types.RawLine("multiple"), + types.RawLine("first element\n"), + types.RawLine("on\n"), + types.RawLine("multiple\n"), types.RawLine("lines"), }, }, @@ -583,9 +583,9 @@ lines &types.Paragraph{ Elements: []interface{}{ // suffix spaces are trimmed on each line - types.RawLine("second element"), - types.RawLine("on"), - types.RawLine("multiple"), + types.RawLine("second element\n"), + types.RawLine("on\n"), + types.RawLine("multiple\n"), types.RawLine("lines"), }, }, diff --git a/pkg/parser/document_processing_raw_source_test.go b/pkg/parser/document_processing_raw_source_test.go index 78ee8d7e..1306e6e1 100644 --- a/pkg/parser/document_processing_raw_source_test.go +++ b/pkg/parser/document_processing_raw_source_test.go @@ -20,39 +20,19 @@ var _ = DescribeTable("'FileLocation' pattern", Expect(actual).To(Equal(expected)) }, Entry("'chapter-a.adoc'", "chapter-a.adoc", &types.Location{ - Path: []interface{}{ - &types.StringElement{ - Content: "chapter-a.adoc", - }, - }, + Path: "chapter-a.adoc", }), Entry("'chapter_a.adoc'", "chapter_a.adoc", &types.Location{ - Path: []interface{}{ - &types.StringElement{ - Content: "chapter_a.adoc", - }, - }, + Path: "chapter_a.adoc", }), Entry("'../../test/includes/chapter_a.adoc'", "../../test/includes/chapter_a.adoc", &types.Location{ - Path: []interface{}{ - &types.StringElement{ - Content: "../../test/includes/chapter_a.adoc", - }, - }, + Path: "../../test/includes/chapter_a.adoc", }), Entry("'{includedir}/chapter-{foo}.adoc'", "{includedir}/chapter-{foo}.adoc", &types.Location{ - Path: []interface{}{ - &types.StringElement{ - Content: "{includedir}/chapter-{foo}.adoc", // attribute substitutions are treared as part of the string element - }, - }, + Path: "{includedir}/chapter-{foo}.adoc", // attribute substitutions are treared as part of the string element }), Entry("'{scheme}://{path}'", "{scheme}://{path}", &types.Location{ - Path: []interface{}{ - &types.StringElement{ // attribute substitutions are treared as part of the string element - Content: "{scheme}://{path}", - }, - }, + Path: "{scheme}://{path}", }), ) diff --git a/pkg/parser/element_attributes_test.go b/pkg/parser/element_attributes_test.go index 1569c89d..b7a6fb07 100644 --- a/pkg/parser/element_attributes_test.go +++ b/pkg/parser/element_attributes_test.go @@ -73,11 +73,7 @@ a paragraph` &types.InlineLink{ Location: &types.Location{ Scheme: "http://", - Path: []interface{}{ - &types.StringElement{ - Content: "foo.bar", - }, - }, + Path: "foo.bar", }, }, &types.StringElement{ @@ -104,11 +100,7 @@ a paragraph` &types.InlineLink{ Location: &types.Location{ Scheme: "http://", - Path: []interface{}{ - &types.StringElement{ - Content: "foo.bar", - }, - }, + Path: "foo.bar", }, }, &types.StringElement{ @@ -291,7 +283,7 @@ a paragraph` Elements: []interface{}{ &types.Paragraph{ Attributes: types.Attributes{ - types.AttrRoles: []interface{}{"a_role"}, + types.AttrRoles: types.Roles{"a_role"}, }, Elements: []interface{}{ &types.StringElement{ @@ -311,7 +303,7 @@ a paragraph` Elements: []interface{}{ &types.Paragraph{ Attributes: types.Attributes{ - types.AttrRoles: []interface{}{"a_role"}, + types.AttrRoles: types.Roles{"a_role"}, }, Elements: []interface{}{ &types.StringElement{ diff --git a/pkg/parser/footnote_test.go b/pkg/parser/footnote_test.go index 89e2c21e..8b82a476 100644 --- a/pkg/parser/footnote_test.go +++ b/pkg/parser/footnote_test.go @@ -68,11 +68,7 @@ var _ = Describe("footnotes", func() { }, Location: &types.Location{ Scheme: "https://", - Path: []interface{}{ - &types.StringElement{ - Content: "foo.com", - }, - }, + Path: "foo.com", }, }, }, diff --git a/pkg/parser/generate.go b/pkg/parser/generate.go index 71023179..e68b20ee 100644 --- a/pkg/parser/generate.go +++ b/pkg/parser/generate.go @@ -1,3 +1,3 @@ package parser -//go:generate pigeon -optimize-parser -optimize-grammar -alternate-entrypoints DocumentRawLine,DocumentFragment,PostReplacementsGroup,DelimitedBlockElements,ElementAttributesGroup,NormalGroup,HeaderGroup,AttributesGroup,MacrosGroup,QuotesGroup,NoneGroup,ReplacementsGroup,SpecialCharactersGroup,VerbatimGroup,FileLocation,IncludedFileLine,MarkdownQuoteAttribution,BlockAttributes,InlineAttributes,TableColumnsAttribute,LineRanges,TagRanges -o parser.go parser.peg +//go:generate pigeon -optimize-parser -optimize-grammar -alternate-entrypoints DocumentRawLine,DocumentFragment,Substitutions,DelimitedBlockElements,HeaderGroup,FileLocation,IncludedFileLine,MarkdownQuoteAttribution,BlockAttributes,InlineAttributes,TableColumnsAttribute,LineRanges,TagRanges -o parser.go parser.peg diff --git a/pkg/parser/image_test.go b/pkg/parser/image_test.go index b95ac52d..f94333e7 100644 --- a/pkg/parser/image_test.go +++ b/pkg/parser/image_test.go @@ -18,11 +18,7 @@ var _ = Describe("block images", func() { Elements: []interface{}{ &types.ImageBlock{ Location: &types.Location{ - Path: []interface{}{ - &types.StringElement{ - Content: "images/cookie.png", - }, - }, + Path: "images/cookie.png", }, }, }, @@ -45,11 +41,7 @@ image::images/cookie.png[{alt}]` types.AttrImageAlt: "the cookie.png image", // substituted }, Location: &types.Location{ - Path: []interface{}{ - &types.StringElement{ - Content: "images/cookie.png", - }, - }, + Path: "images/cookie.png", }, }, }, @@ -70,11 +62,7 @@ image::cookie.png[]` }, &types.ImageBlock{ Location: &types.Location{ - Path: []interface{}{ - &types.StringElement{ - Content: "./path/to/images/cookie.png", - }, - }, + Path: "cookie.png", // `imagesdir` (image catalog) attribute not preprended at this point }, }, }, @@ -95,11 +83,7 @@ image::{dir}/cookie.png[]` }, &types.ImageBlock{ Location: &types.Location{ - Path: []interface{}{ - &types.StringElement{ - Content: "./path/to/images/cookie.png", - }, - }, + Path: "./path/to/images/cookie.png", }, }, }, @@ -120,11 +104,7 @@ image::cookie.png[]` }, &types.ImageBlock{ Location: &types.Location{ - Path: []interface{}{ - &types.StringElement{ - Content: "./path/to/images/cookie.png", - }, - }, + Path: "cookie.png", // `imagesdir` (image catalog) attribute not preprended at this point }, }, }, @@ -145,11 +125,7 @@ image::{imagesdir}/cookie.png[]` }, &types.ImageBlock{ Location: &types.Location{ - Path: []interface{}{ - &types.StringElement{ - Content: "./path/to/images/./path/to/images/cookie.png", - }, - }, + Path: "./path/to/images/cookie.png", // `imagesdir` (image catalog) attribute not preprended at this point }, }, }, @@ -164,20 +140,12 @@ image::images/pasta.png[]` Elements: []interface{}{ &types.ImageBlock{ Location: &types.Location{ - Path: []interface{}{ - &types.StringElement{ - Content: "images/cookie.png", - }, - }, + Path: "images/cookie.png", }, }, &types.ImageBlock{ Location: &types.Location{ - Path: []interface{}{ - &types.StringElement{ - Content: "images/pasta.png", - }, - }, + Path: "images/pasta.png", }, }, }, @@ -196,7 +164,7 @@ image::cookie.png[cookie image, 600, 400]` Attributes: types.Attributes{ types.AttrID: "myid", types.AttrTitle: "mytitle", - types.AttrRoles: []interface{}{ + types.AttrRoles: types.Roles{ "myrole", }, types.AttrImageAlt: "cookie image", @@ -204,11 +172,7 @@ image::cookie.png[cookie image, 600, 400]` types.AttrHeight: "400", }, Location: &types.Location{ - Path: []interface{}{ - &types.StringElement{ - Content: "cookie.png", - }, - }, + Path: "cookie.png", }, }, }, @@ -226,30 +190,22 @@ image::cookie.png[cookie image, 600, 400]` types.AttrInlineLink: "https://cookie.dev", }, Location: &types.Location{ - Path: []interface{}{ - &types.StringElement{ - Content: "cookie.png", - }, - }, + Path: "cookie.png", }, }, }, } Expect(ParseDocument(source)).To(MatchDocument(expected)) }) - }) - - Context("errors", func() { - It("appending inline content", func() { - source := "a paragraph\nimage::images/cookie.png[]" + It("with special characters", func() { + source := `image::http://example.com/foo.png?a=1&b=2[]` expected := &types.Document{ Elements: []interface{}{ - &types.Paragraph{ - Elements: []interface{}{ - &types.StringElement{ - Content: "a paragraph\nimage::images/cookie.png[]", - }, + &types.ImageBlock{ + Location: &types.Location{ + Scheme: "http://", + Path: "example.com/foo.png?a=1&b=2", }, }, }, @@ -257,20 +213,39 @@ image::cookie.png[cookie image, 600, 400]` Expect(ParseDocument(source)).To(MatchDocument(expected)) }) - It("paragraph with block image with alt and dimensions", func() { - source := "a cookie image::cookie.png[cookie image, 600, 400] image" - expected := &types.Document{ - Elements: []interface{}{ - &types.Paragraph{ - Elements: []interface{}{ - &types.StringElement{ - Content: "a cookie image::cookie.png[cookie image, 600, 400] image", + Context("errors", func() { + + It("appending inline content", func() { + source := "a paragraph\nimage::images/cookie.png[]" + expected := &types.Document{ + Elements: []interface{}{ + &types.Paragraph{ + Elements: []interface{}{ + &types.StringElement{ + Content: "a paragraph\nimage::images/cookie.png[]", + }, }, }, }, - }, - } - Expect(ParseDocument(source)).To(MatchDocument(expected)) + } + Expect(ParseDocument(source)).To(MatchDocument(expected)) + }) + + It("paragraph with block image with alt and dimensions", func() { + source := "a cookie image::cookie.png[cookie image, 600, 400] image" + expected := &types.Document{ + Elements: []interface{}{ + &types.Paragraph{ + Elements: []interface{}{ + &types.StringElement{ + Content: "a cookie image::cookie.png[cookie image, 600, 400] image", + }, + }, + }, + }, + } + Expect(ParseDocument(source)).To(MatchDocument(expected)) + }) }) }) }) @@ -287,11 +262,7 @@ var _ = Describe("inline images", func() { Elements: []interface{}{ &types.InlineImage{ Location: &types.Location{ - Path: []interface{}{ - &types.StringElement{ - Content: "images/cookie.png", - }, - }, + Path: "images/cookie.png", }, }, }, @@ -319,11 +290,7 @@ an image:{dir}/cookie.png[].` }, &types.InlineImage{ Location: &types.Location{ - Path: []interface{}{ - &types.StringElement{ - Content: "./path/to/images/cookie.png", - }, - }, + Path: "./path/to/images/cookie.png", }, }, &types.StringElement{ @@ -354,11 +321,7 @@ an image:cookie.png[].` }, &types.InlineImage{ Location: &types.Location{ - Path: []interface{}{ - &types.StringElement{ - Content: "./path/to/images/cookie.png", - }, - }, + Path: "cookie.png", // `imagesdir` (image catalog) attribute not preprended at this point }, }, &types.StringElement{ @@ -389,11 +352,7 @@ an image:{imagesdir}/cookie.png[].` }, &types.InlineImage{ Location: &types.Location{ - Path: []interface{}{ - &types.StringElement{ - Content: "./path/to/images/./path/to/images/cookie.png", - }, - }, + Path: "./path/to/images/cookie.png", // `imagesdir` (image catalog) attribute not preprended at this point }, }, &types.StringElement{ @@ -418,11 +377,7 @@ an image:{imagesdir}/cookie.png[].` types.AttrInlineLink: "https://cookie.dev", }, Location: &types.Location{ - Path: []interface{}{ - &types.StringElement{ - Content: "cookie.png", - }, - }, + Path: "cookie.png", }, }, }, diff --git a/pkg/parser/link_test.go b/pkg/parser/link_test.go index 3c54df07..d1821338 100644 --- a/pkg/parser/link_test.go +++ b/pkg/parser/link_test.go @@ -24,11 +24,7 @@ var _ = Describe("links", func() { &types.InlineLink{ Location: &types.Location{ Scheme: "https://", - Path: []interface{}{ - &types.StringElement{ - Content: "example.com", - }, - }, + Path: "example.com", }, }, }, @@ -48,11 +44,7 @@ var _ = Describe("links", func() { &types.InlineLink{ Location: &types.Location{ Scheme: "https://", - Path: []interface{}{ - &types.StringElement{ - Content: "example.com", - }, - }, + Path: "example.com", }, }, }, @@ -72,11 +64,7 @@ var _ = Describe("links", func() { &types.InlineLink{ Location: &types.Location{ Scheme: "mailto:", - Path: []interface{}{ - &types.StringElement{ - Content: "foo@bar", - }, - }, + Path: "foo@bar", }, Attributes: types.Attributes{ types.AttrInlineLinkText: "the foo@bar email", @@ -102,11 +90,7 @@ var _ = Describe("links", func() { &types.InlineLink{ Location: &types.Location{ Scheme: "mailto:", - Path: []interface{}{ - &types.StringElement{ - Content: "foo@bar", - }, - }, + Path: "foo@bar", }, Attributes: types.Attributes{ types.AttrInlineLinkText: "the foo@bar email", @@ -135,11 +119,7 @@ next lines` &types.InlineLink{ Location: &types.Location{ Scheme: "http://", - Path: []interface{}{ - &types.StringElement{ - Content: "website.com", - }, - }, + Path: "website.com", }, }, &types.StringElement{ @@ -167,11 +147,7 @@ next lines` &types.InlineLink{ Location: &types.Location{ Scheme: "http://", - Path: []interface{}{ - &types.StringElement{ - Content: "website.com", - }, - }, + Path: "website.com", }, }, &types.StringElement{ @@ -194,11 +170,7 @@ next lines` &types.InlineLink{ Location: &types.Location{ Scheme: "https://", - Path: []interface{}{ - &types.StringElement{ - Content: "example.com", - }, - }, + Path: "example.com", }, }, &types.StringElement{Content: " and more text"}, @@ -221,11 +193,7 @@ next lines` &types.InlineLink{ Location: &types.Location{ Scheme: "http://", - Path: []interface{}{ - &types.StringElement{ - Content: "website.com", - }, - }, + Path: "website.com", }, Attributes: types.Attributes{ types.AttrInlineLinkText: "A", @@ -250,11 +218,7 @@ next lines` &types.InlineLink{ Location: &types.Location{ Scheme: "http://", - Path: []interface{}{ - &types.StringElement{ - Content: "website.com", - }, - }, + Path: "website.com", }, Attributes: types.Attributes{ types.AttrInlineLinkText: "A, B, and C", @@ -277,15 +241,11 @@ next lines` &types.InlineLink{ Location: &types.Location{ Scheme: "http://", - Path: []interface{}{ - &types.StringElement{ - Content: "website.com", - }, - }, + Path: "website.com", }, Attributes: types.Attributes{ types.AttrInlineLinkText: "A, B, and C", - types.AttrRoles: []interface{}{"foo"}, + types.AttrRoles: types.Roles{"foo"}, }, }, }, @@ -305,17 +265,13 @@ next lines` &types.InlineLink{ Location: &types.Location{ Scheme: "http://", - Path: []interface{}{ - &types.StringElement{ - Content: "website.com", - }, - }, + Path: "website.com", }, Attributes: types.Attributes{ types.AttrInlineLinkText: "A", types.AttrPositional2: "B", types.AttrPositional3: "and C", - types.AttrRoles: []interface{}{"foo"}, + types.AttrRoles: types.Roles{"foo"}, }, }, }, @@ -336,11 +292,7 @@ next lines` &types.InlineLink{ Location: &types.Location{ Scheme: "https://", - Path: []interface{}{ - &types.StringElement{ - Content: "foo*_.com", - }, - }, + Path: "foo*_.com", }, }, }, @@ -396,11 +348,7 @@ next lines` }, Location: &types.Location{ Scheme: "https://", - Path: []interface{}{ - &types.StringElement{ - Content: "example.com", - }, - }, + Path: "example.com", }, }, }, @@ -423,7 +371,7 @@ next lines` &types.QuotedText{ Kind: types.SingleQuoteItalic, Attributes: types.Attributes{ - types.AttrRoles: []interface{}{"myrole1"}, + types.AttrRoles: types.Roles{"myrole1"}, }, Elements: []interface{}{ &types.StringElement{ @@ -435,11 +383,7 @@ next lines` }, Location: &types.Location{ Scheme: "https://", - Path: []interface{}{ - &types.StringElement{ - Content: "example.com", - }, - }, + Path: "example.com", }, }, }, @@ -462,7 +406,7 @@ next lines` &types.QuotedText{ Kind: types.SingleQuoteItalic, Attributes: types.Attributes{ - types.AttrRoles: []interface{}{"myrole1"}, + types.AttrRoles: types.Roles{"myrole1"}, }, Elements: []interface{}{ &types.StringElement{ @@ -476,7 +420,7 @@ next lines` &types.QuotedText{ Kind: types.SingleQuoteBold, Attributes: types.Attributes{ - types.AttrRoles: []interface{}{"myrole2"}, + types.AttrRoles: types.Roles{"myrole2"}, }, Elements: []interface{}{ &types.StringElement{ @@ -490,7 +434,7 @@ next lines` &types.QuotedText{ Kind: types.SingleQuoteMonospace, Attributes: types.Attributes{ - types.AttrRoles: []interface{}{"myrole3"}, + types.AttrRoles: types.Roles{"myrole3"}, }, Elements: []interface{}{ &types.StringElement{ @@ -502,11 +446,7 @@ next lines` }, Location: &types.Location{ Scheme: "https://", - Path: []interface{}{ - &types.StringElement{ - Content: "example.com", - }, - }, + Path: "example.com", }, }, }, @@ -530,11 +470,7 @@ next lines` &types.InlineLink{ Location: &types.Location{ Scheme: "https://", - Path: []interface{}{ - &types.StringElement{ - Content: "example.com", - }, - }, + Path: "example.com", }, }, }, @@ -556,11 +492,7 @@ next lines` &types.InlineLink{ Location: &types.Location{ Scheme: "https://", - Path: []interface{}{ - &types.StringElement{ - Content: "foo*_.com", - }, - }, + Path: "foo*_.com", }, }, }, @@ -584,11 +516,7 @@ next lines` &types.InlineLink{ Location: &types.Location{ Scheme: "https://", - Path: []interface{}{ - &types.StringElement{ - Content: "example.com", - }, - }, + Path: "example.com", }, }, }, @@ -614,11 +542,7 @@ next lines` &types.InlineLink{ Location: &types.Location{ Scheme: "https://", - Path: []interface{}{ - &types.StringElement{ - Content: "example.com", - }, - }, + Path: "example.com", }, }, }, @@ -656,11 +580,7 @@ a link to {url}` &types.InlineLink{ Location: &types.Location{ Scheme: "https://", - Path: []interface{}{ - &types.StringElement{ - Content: "foo2.bar", - }, - }, + Path: "foo2.bar", }, }, }, @@ -692,22 +612,14 @@ a link to {scheme}://{path} and https://foo.com` &types.InlineLink{ Location: &types.Location{ Scheme: "https://", - Path: []interface{}{ - &types.StringElement{ - Content: "example.com", - }, - }, + Path: "example.com", }, }, &types.StringElement{Content: " and "}, &types.InlineLink{ Location: &types.Location{ Scheme: "https://", - Path: []interface{}{ - &types.StringElement{ - Content: "foo.com", - }, - }, + Path: "foo.com", }, }, }, @@ -744,11 +656,7 @@ a link to *{scheme}://{path}[] and https://foo.com[]*` &types.InlineLink{ Location: &types.Location{ Scheme: "https://", - Path: []interface{}{ - &types.StringElement{ - Content: "example.com", - }, - }, + Path: "example.com", }, }, &types.StringElement{ @@ -757,11 +665,7 @@ a link to *{scheme}://{path}[] and https://foo.com[]*` &types.InlineLink{ Location: &types.Location{ Scheme: "https://", - Path: []interface{}{ - &types.StringElement{ - Content: "foo.com", - }, - }, + Path: "foo.com", }, }, }, @@ -800,22 +704,14 @@ a link to {scheme}://{path} and https://foo.com` &types.InlineLink{ Location: &types.Location{ Scheme: "https://", - Path: []interface{}{ - &types.AttributeSubstitution{ - Name: "path", // substitution failed at during parsing - }, - }, + Path: "{path}", // substitution failed at during parsing }, }, &types.StringElement{Content: " and "}, &types.InlineLink{ Location: &types.Location{ Scheme: "https://", - Path: []interface{}{ - &types.StringElement{ - Content: "foo.com", - }, - }, + Path: "foo.com", }, }, }, @@ -838,22 +734,14 @@ a link to {scheme}://{path} and https://foo.com` &types.InlineLink{ Location: &types.Location{ Scheme: "https://", - Path: []interface{}{ - &types.StringElement{ - Content: "example.com", - }, - }, + Path: "example.com", }, }, &types.StringElement{Content: " and "}, &types.InlineLink{ Location: &types.Location{ Scheme: "https://", - Path: []interface{}{ - &types.StringElement{ - Content: "foo.com", - }, - }, + Path: "foo.com", }, }, }, @@ -886,22 +774,14 @@ a link to {scheme}://{path} and https://foo.com` &types.InlineLink{ Location: &types.Location{ Scheme: "https://", - Path: []interface{}{ - &types.StringElement{ - Content: "example.com", - }, - }, + Path: "example.com", }, }, &types.StringElement{Content: " and "}, &types.InlineLink{ Location: &types.Location{ Scheme: "https://", - Path: []interface{}{ - &types.StringElement{ - Content: "foo.com", - }, - }, + Path: "foo.com", }, }, } @@ -944,11 +824,7 @@ a link to {scheme}://{path} and https://foo.com` &types.InlineLink{ Location: &types.Location{ Scheme: "", - Path: []interface{}{ - &types.StringElement{ - Content: "foo.adoc", - }, - }, + Path: "foo.adoc", }, }, }, @@ -968,11 +844,7 @@ a link to {scheme}://{path} and https://foo.com` &types.InlineLink{ Location: &types.Location{ Scheme: "", - Path: []interface{}{ - &types.StringElement{ - Content: "foo.adoc", - }, - }, + Path: "foo.adoc", }, Attributes: types.Attributes{ types.AttrInlineLinkText: "foo doc", @@ -995,11 +867,7 @@ a link to {scheme}://{path} and https://foo.com` &types.InlineLink{ Location: &types.Location{ Scheme: "https://", - Path: []interface{}{ - &types.StringElement{ - Content: "example.com", - }, - }, + Path: "example.com", }, Attributes: types.Attributes{ types.AttrInlineLinkText: "foo doc", @@ -1022,11 +890,7 @@ a link to {scheme}://{path} and https://foo.com` &types.InlineLink{ Location: &types.Location{ Scheme: "https://", - Path: []interface{}{ - &types.StringElement{ - Content: "example.com", - }, - }, + Path: "example.com", }, Attributes: types.Attributes{ types.AttrInlineLinkText: "foo doc", @@ -1050,11 +914,7 @@ a link to {scheme}://{path} and https://foo.com` &types.InlineLink{ Location: &types.Location{ Scheme: "https://", - Path: []interface{}{ - &types.StringElement{ - Content: "example.com", - }, - }, + Path: "example.com", }, Attributes: types.Attributes{ "foo": "bar", @@ -1092,11 +952,7 @@ a link to {scheme}://{path} and https://foo.com` &types.InlineLink{ Location: &types.Location{ Scheme: "", - Path: []interface{}{ - &types.StringElement{ - Content: "/", - }, - }, + Path: "/", }, Attributes: types.Attributes{ types.AttrInlineLinkText: []interface{}{ @@ -1153,17 +1009,7 @@ a link to {scheme}://{path} and https://foo.com` &types.InlineLink{ Location: &types.Location{ Scheme: "", - Path: []interface{}{ - &types.StringElement{ - Content: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789~:/?#@!$", - }, - &types.SpecialCharacter{ - Name: "&", - }, - &types.StringElement{ - Content: ";=()*+,-_.%", - }, - }, + Path: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789~:/?#@!$&;=()*+,-_.%", }, Attributes: types.Attributes{ types.AttrInlineLinkText: "as expected", @@ -1189,11 +1035,7 @@ Test 2: link:/test/a%20b[with encoded space]` &types.InlineLink{ Location: &types.Location{ Scheme: "", - Path: []interface{}{ - &types.StringElement{ - Content: "/test/a%20b", - }, - }, + Path: "/test/a%20b", }, Attributes: types.Attributes{ types.AttrInlineLinkText: "with encoded space", @@ -1235,11 +1077,7 @@ a link to {scheme}:{path}[] and https://foo.com` }, &types.InlineLink{ Location: &types.Location{ - Path: []interface{}{ - &types.AttributeSubstitution{ - Name: "path", - }, - }, + Path: "{path}", // substitution failed }, }, &types.StringElement{ @@ -1248,11 +1086,7 @@ a link to {scheme}:{path}[] and https://foo.com` &types.InlineLink{ Location: &types.Location{ Scheme: "https://", - Path: []interface{}{ - &types.StringElement{ - Content: "foo.com", - }, - }, + Path: "foo.com", }, }, }, @@ -1273,11 +1107,7 @@ a link to {scheme}:{path}[] and https://foo.com` Elements: []interface{}{ &types.InlineLink{ Location: &types.Location{ - Path: []interface{}{ - &types.StringElement{ - Content: "foo", - }, - }, + Path: "foo", }, }, }, @@ -1300,11 +1130,7 @@ a link to {scheme}:{path}[] and https://foo.com` types.AttrInlineLinkText: "A", }, Location: &types.Location{ - Path: []interface{}{ - &types.StringElement{ - Content: "a_", - }, - }, + Path: "a_", }, }, &types.StringElement{ @@ -1315,11 +1141,7 @@ a link to {scheme}:{path}[] and https://foo.com` types.AttrInlineLinkText: "A", }, Location: &types.Location{ - Path: []interface{}{ - &types.StringElement{ - Content: "a_", - }, - }, + Path: "a_", }, }, }, @@ -1341,11 +1163,7 @@ title]` types.AttrInlineLinkText: "title", }, Location: &types.Location{ - Path: []interface{}{ - &types.StringElement{ - Content: "x", - }, - }, + Path: "x", }, }, }, @@ -1367,11 +1185,7 @@ title]` &types.InlineLink{ Location: &types.Location{ Scheme: "https://", - Path: []interface{}{ - &types.StringElement{ - Content: "example.com", - }, - }, + Path: "example.com", }, Attributes: types.Attributes{ types.AttrInlineLinkText: "A", @@ -1396,11 +1210,7 @@ title]` &types.InlineLink{ Location: &types.Location{ Scheme: "https://", - Path: []interface{}{ - &types.StringElement{ - Content: "example.com", - }, - }, + Path: "example.com", }, Attributes: types.Attributes{ types.AttrInlineLinkText: "A, B, and C", @@ -1423,15 +1233,11 @@ title]` &types.InlineLink{ Location: &types.Location{ Scheme: "https://", - Path: []interface{}{ - &types.StringElement{ - Content: "example.com", - }, - }, + Path: "example.com", }, Attributes: types.Attributes{ types.AttrInlineLinkText: "A, B, and C", - types.AttrRoles: []interface{}{"foo"}, + types.AttrRoles: types.Roles{"foo"}, }, }, }, @@ -1451,17 +1257,13 @@ title]` &types.InlineLink{ Location: &types.Location{ Scheme: "https://", - Path: []interface{}{ - &types.StringElement{ - Content: "example.com", - }, - }, + Path: "example.com", }, Attributes: types.Attributes{ types.AttrInlineLinkText: "A", types.AttrPositional2: "B", types.AttrPositional3: "and C", - types.AttrRoles: []interface{}{"foo"}, + types.AttrRoles: types.Roles{"foo"}, }, }, }, diff --git a/pkg/parser/mixed_lists_test.go b/pkg/parser/mixed_lists_test.go index 0c345662..0ca1258a 100644 --- a/pkg/parser/mixed_lists_test.go +++ b/pkg/parser/mixed_lists_test.go @@ -499,7 +499,7 @@ ii) ordered 1.2.ii Elements: []interface{}{ &types.Paragraph{ Elements: []interface{}{ - &types.StringElement{Content: "unordered 2.1.1\nwith some\nextra lines."}, // heading tabs are trimmed + &types.StringElement{Content: "unordered 2.1.1\nwith some\nextra lines."}, // leading tabs are trimmed }, }, }, diff --git a/pkg/parser/ordered_list_test.go b/pkg/parser/ordered_list_test.go index f93ff415..13aedf47 100644 --- a/pkg/parser/ordered_list_test.go +++ b/pkg/parser/ordered_list_test.go @@ -52,7 +52,7 @@ var _ = Describe("ordered lists", func() { }) It("with implicit numbering style on multiple lines with tabs", func() { - // heading and trailing spaces must be trimmed on each line + // leading and trailing spaces must be trimmed on each line source := `. element on multiple @@ -1108,11 +1108,7 @@ image::chocolate.png[]` }, &types.ImageBlock{ Location: &types.Location{ - Path: []interface{}{ - &types.StringElement{ - Content: "cookie.png", - }, - }, + Path: "cookie.png", }, }, }, @@ -1129,11 +1125,7 @@ image::chocolate.png[]` }, &types.ImageBlock{ Location: &types.Location{ - Path: []interface{}{ - &types.StringElement{ - Content: "chocolate.png", - }, - }, + Path: "chocolate.png", }, }, }, diff --git a/pkg/parser/paragragh_debug_test.go b/pkg/parser/paragragh_debug_test.go index 83fbce31..83aa1a5b 100644 --- a/pkg/parser/paragragh_debug_test.go +++ b/pkg/parser/paragragh_debug_test.go @@ -42,11 +42,7 @@ The results of these simulations are used to ensure the safety of buildings befo }, Location: &types.Location{ Scheme: "https://", - Path: []interface{}{ - &types.StringElement{ - Content: "github.com/firemodels/fds/releases/tag/FDS6.7.4/", - }, - }, + Path: "github.com/firemodels/fds/releases/tag/FDS6.7.4/", }, }, &types.StringElement{ diff --git a/pkg/parser/paragragh_stats_test.go b/pkg/parser/paragragh_stats_test.go index 83fbce31..f2edc073 100644 --- a/pkg/parser/paragragh_stats_test.go +++ b/pkg/parser/paragragh_stats_test.go @@ -42,11 +42,7 @@ The results of these simulations are used to ensure the safety of buildings befo }, Location: &types.Location{ Scheme: "https://", - Path: []interface{}{ - &types.StringElement{ - Content: "github.com/firemodels/fds/releases/tag/FDS6.7.4/", - }, - }, + Path: "github.com/firemodels/fds/releases/tag/FDS6.7.4/", }, }, &types.StringElement{ diff --git a/pkg/parser/paragraph_test.go b/pkg/parser/paragraph_test.go index 2ca2da9d..06f94529 100644 --- a/pkg/parser/paragraph_test.go +++ b/pkg/parser/paragraph_test.go @@ -29,8 +29,8 @@ pasta` Elements: []interface{}{ &types.Paragraph{ Elements: []interface{}{ - types.RawLine("cookie"), - types.RawLine("chocolate"), + types.RawLine("cookie\n"), + types.RawLine("chocolate\n"), types.RawLine("pasta"), }, }, @@ -54,11 +54,11 @@ pasta` Elements: []interface{}{ &types.Paragraph{ Attributes: types.Attributes{ - types.AttrOptions: []interface{}{"hardbreaks"}, + types.AttrOptions: types.Options{"hardbreaks"}, }, Elements: []interface{}{ - types.RawLine("cookie"), - types.RawLine("chocolate"), + types.RawLine("cookie\n"), + types.RawLine("chocolate\n"), types.RawLine("pasta"), }, }, @@ -84,7 +84,7 @@ pasta` types.AttrTitle: "my title", }, Elements: []interface{}{ - types.RawLine("cookie"), + types.RawLine("cookie\n"), types.RawLine("pasta"), }, }, @@ -134,13 +134,13 @@ pasta` &types.StringElement{ Content: "my ", }, - &types.AttributeSubstitution{ + &types.AttributeReference{ Name: "title", }, }, }, Elements: []interface{}{ - types.RawLine("cookie"), + types.RawLine("cookie\n"), types.RawLine("pasta"), }, }, @@ -185,7 +185,7 @@ pasta` Elements: []interface{}{ &types.Paragraph{ Elements: []interface{}{ - types.RawLine("cookie"), + types.RawLine("cookie\n"), types.RawLine("pasta"), }, }, @@ -222,7 +222,7 @@ another paragraph with an image image:cookie.jpg[cookie] Elements: []interface{}{ &types.Paragraph{ Attributes: types.Attributes{ - types.AttrRoles: []interface{}{ + types.AttrRoles: types.Roles{ "left", "text-center", }, @@ -264,18 +264,14 @@ image::cookie.jpg[cookie] Elements: []interface{}{ &types.ImageBlock{ Attributes: types.Attributes{ - types.AttrRoles: []interface{}{ + types.AttrRoles: types.Roles{ "left", "text-center", }, types.AttrImageAlt: "cookie", }, Location: &types.Location{ - Path: []interface{}{ - &types.StringElement{ - Content: "cookie.jpg", - }, - }, + Path: "cookie.jpg", }, }, }, @@ -342,8 +338,8 @@ and another one using attribute substitution: {github-url}[{github-title}]... types.AttrSubstitutions: "normal", }, Elements: []interface{}{ - types.RawLine("links to {github-title}: https://github.com[{github-title}] and **"), - types.RawLine("and another one using attribute substitution: {github-url}[{github-title}]..."), + types.RawLine("links to {github-title}: https://github.com[{github-title}] and **\n"), + types.RawLine("and another one using attribute substitution: {github-url}[{github-title}]...\n"), &types.SingleLineComment{ Content: " a single-line comment.", }, @@ -540,8 +536,8 @@ pasta` &types.Paragraph{ Attributes: types.Attributes{ types.AttrID: "anchor", - types.AttrRoles: []interface{}{"role1", "role2"}, - types.AttrOptions: []interface{}{"hardbreaks"}, + types.AttrRoles: types.Roles{"role1", "role2"}, + types.AttrOptions: types.Options{"hardbreaks"}, }, Elements: []interface{}{ &types.StringElement{ @@ -584,8 +580,8 @@ pasta` Elements: []interface{}{ &types.Paragraph{ Attributes: types.Attributes{ - types.AttrOptions: []interface{}{"hardbreaks"}, - types.AttrRoles: []interface{}{"role1", "role2"}, + types.AttrOptions: types.Options{"hardbreaks"}, + types.AttrRoles: types.Roles{"role1", "role2"}, }, Elements: []interface{}{ &types.StringElement{ @@ -607,8 +603,8 @@ pasta` Elements: []interface{}{ &types.Paragraph{ Attributes: types.Attributes{ - types.AttrOptions: []interface{}{"hardbreaks"}, - types.AttrRoles: []interface{}{"role1", "role2"}, + types.AttrOptions: types.Options{"hardbreaks"}, + types.AttrRoles: types.Roles{"role1", "role2"}, }, Elements: []interface{}{ &types.StringElement{ @@ -654,7 +650,7 @@ another paragraph with an image image:cookie.jpg[cookie] }, &types.Paragraph{ Attributes: types.Attributes{ - types.AttrRoles: []interface{}{ + types.AttrRoles: types.Roles{ "left", "text-center", }, @@ -668,11 +664,7 @@ another paragraph with an image image:cookie.jpg[cookie] types.AttrImageAlt: "cookie", }, Location: &types.Location{ - Path: []interface{}{ - &types.StringElement{ - Content: "cookie.jpg", - }, - }, + Path: "cookie.jpg", }, }, }, @@ -698,18 +690,14 @@ image::cookie.jpg[cookie] }, &types.ImageBlock{ Attributes: types.Attributes{ - types.AttrRoles: []interface{}{ + types.AttrRoles: types.Roles{ "left", "text-center", }, types.AttrImageAlt: "cookie", }, Location: &types.Location{ - Path: []interface{}{ - &types.StringElement{ - Content: "cookie.jpg", - }, - }, + Path: "cookie.jpg", }, }, }, @@ -882,6 +870,56 @@ world` Expect(ParseDocument(source)).To(MatchDocument(expected)) }) + It("with substitutions", func() { + source := `:title: Title +:role1: role_1 +:role2: role_2 +:option1: hardbreaks + +.The {title} +[.a_{role1}.{role2}%{option1}] +a line +another line` + expected := &types.Document{ + Elements: []interface{}{ + &types.AttributeDeclaration{ + Name: "title", + Value: "Title", + }, + &types.AttributeDeclaration{ + Name: "role1", + Value: "role_1", + }, + &types.AttributeDeclaration{ + Name: "role2", + Value: "role_2", + }, + &types.AttributeDeclaration{ + Name: "option1", + Value: "hardbreaks", + }, + &types.Paragraph{ + Attributes: types.Attributes{ + types.AttrTitle: "The Title", + types.AttrRoles: types.Roles{ + "a_role_1", + "role_2", + }, + types.AttrOptions: types.Options{ + "hardbreaks", + }, + }, + Elements: []interface{}{ + &types.StringElement{ + Content: "a line\nanother line", + }, + }, + }, + }, + } + Expect(ParseDocument(source)).To(MatchDocument(expected)) + }) + Context("with custom substitutions", func() { // using the same input for all substitution tests @@ -917,11 +955,7 @@ and another one using attribute substitution: {github-url}[{github-title}]... }, Location: &types.Location{ Scheme: "https://", - Path: []interface{}{ - &types.StringElement{ - Content: "github.com", - }, - }, + Path: "github.com", }, }, &types.StringElement{ @@ -948,11 +982,7 @@ and another one using attribute substitution: {github-url}[{github-title}]... }, Location: &types.Location{ Scheme: "https://", - Path: []interface{}{ - &types.StringElement{ - Content: "github.com", - }, - }, + Path: "github.com", }, }, &types.SpecialCharacter{ @@ -969,15 +999,11 @@ and another one using attribute substitution: {github-url}[{github-title}]... }, Location: &types.Location{ Scheme: "https://", - Path: []interface{}{ - &types.StringElement{ - Content: "github.com", - }, - }, + Path: "github.com", }, }, &types.StringElement{ - Content: "\u2026\u200b", // symbol for ellipsis, applied by the 'replacements' substitution + Content: "\u2026\u200b\n", // symbol for ellipsis, applied by the 'replacements' substitution }, }, }, @@ -1013,11 +1039,7 @@ and another one using attribute substitution: {github-url}[{github-title}]... }, Location: &types.Location{ Scheme: "https://", - Path: []interface{}{ - &types.StringElement{ - Content: "github.com", - }, - }, + Path: "github.com", }, }, &types.StringElement{ @@ -1044,11 +1066,7 @@ and another one using attribute substitution: {github-url}[{github-title}]... }, Location: &types.Location{ Scheme: "https://", - Path: []interface{}{ - &types.StringElement{ - Content: "github.com", - }, - }, + Path: "github.com", }, }, &types.SpecialCharacter{ @@ -1065,15 +1083,11 @@ and another one using attribute substitution: {github-url}[{github-title}]... }, Location: &types.Location{ Scheme: "https://", - Path: []interface{}{ - &types.StringElement{ - Content: "github.com", - }, - }, + Path: "github.com", }, }, &types.StringElement{ - Content: "\u2026\u200b", // symbol for ellipsis, applied by the 'replacements' substitution + Content: "\u2026\u200b\n", // symbol for ellipsis, applied by the 'replacements' substitution }, }, }, @@ -1101,7 +1115,7 @@ and another one using attribute substitution: {github-url}[{github-title}]... Elements: []interface{}{ &types.StringElement{ Content: "links to {github-title}: https://github.com[{github-title}] and **" + - "\nand another one using attribute substitution: {github-url}[{github-title}]...", + "\nand another one using attribute substitution: {github-url}[{github-title}]...\n", }, }, }, @@ -1151,7 +1165,7 @@ and another one using attribute substitution: {github-url}[{github-title}]... }, }, &types.StringElement{ - Content: "\nand another one using attribute substitution: {github-url}[{github-title}]...", + Content: "\nand another one using attribute substitution: {github-url}[{github-title}]...\n", }, }, }, @@ -1187,11 +1201,7 @@ and another one using attribute substitution: {github-url}[{github-title}]... }, Location: &types.Location{ Scheme: "https://", - Path: []interface{}{ - &types.StringElement{ - Content: "github.com", - }, - }, + Path: "github.com", }, }, &types.StringElement{ @@ -1203,15 +1213,11 @@ and another one using attribute substitution: {github-url}[{github-title}]... }, Location: &types.Location{ Scheme: "https://", - Path: []interface{}{ - &types.StringElement{ - Content: "github.com", - }, - }, + Path: "github.com", }, }, &types.StringElement{ - Content: ">*\nand another one using attribute substitution: {github-url}[{github-title}]...", + Content: ">*\nand another one using attribute substitution: {github-url}[{github-title}]...\n", }, }, }, @@ -1240,7 +1246,7 @@ and another one using attribute substitution: {github-url}[{github-title}]... Elements: []interface{}{ &types.StringElement{ Content: "links to GitHub: https://github.com[GitHub] and **" + - "\nand another one using attribute substitution: https://github.com[GitHub]...", + "\nand another one using attribute substitution: https://github.com[GitHub]...\n", }, }, }, @@ -1281,7 +1287,7 @@ and another one using attribute substitution: {github-url}[{github-title}]... }, &types.StringElement{ Content: "*" + - "\nand another one using attribute substitution: {github-url}[{github-title}]...", + "\nand another one using attribute substitution: {github-url}[{github-title}]...\n", }, }, }, @@ -1310,7 +1316,7 @@ and another one using attribute substitution: {github-url}[{github-title}]... Elements: []interface{}{ &types.StringElement{ Content: "links to {github-title}: https://github.com[{github-title}] and **" + - "\nand another one using attribute substitution: {github-url}[{github-title}]\u2026\u200b", + "\nand another one using attribute substitution: {github-url}[{github-title}]\u2026\u200b\n", }, }, }, @@ -1349,11 +1355,7 @@ and another one using attribute substitution: {github-url}[{github-title}]... }, Location: &types.Location{ Scheme: "https://", - Path: []interface{}{ - &types.StringElement{ - Content: "github.com", - }, - }, + Path: "github.com", }, }, &types.StringElement{ @@ -1380,11 +1382,7 @@ and another one using attribute substitution: {github-url}[{github-title}]... }, Location: &types.Location{ Scheme: "https://", - Path: []interface{}{ - &types.StringElement{ - Content: "github.com", - }, - }, + Path: "github.com", }, }, &types.StringElement{ @@ -1393,7 +1391,7 @@ and another one using attribute substitution: {github-url}[{github-title}]... }, }, &types.StringElement{ - Content: "\nand another one using attribute substitution: {github-url}[{github-title}]...", + Content: "\nand another one using attribute substitution: {github-url}[{github-title}]...\n", }, }, }, @@ -1430,11 +1428,7 @@ and another one using attribute substitution: {github-url}[{github-title}]... }, Location: &types.Location{ Scheme: "https://", - Path: []interface{}{ - &types.StringElement{ - Content: "github.com", - }, - }, + Path: "github.com", }, }, &types.StringElement{ @@ -1461,11 +1455,7 @@ and another one using attribute substitution: {github-url}[{github-title}]... }, Location: &types.Location{ Scheme: "https://", - Path: []interface{}{ - &types.StringElement{ - Content: "github.com", - }, - }, + Path: "github.com", }, }, &types.StringElement{ @@ -1474,7 +1464,7 @@ and another one using attribute substitution: {github-url}[{github-title}]... }, }, &types.StringElement{ - Content: "\nand another one using attribute substitution: {github-url}[{github-title}]...", + Content: "\nand another one using attribute substitution: {github-url}[{github-title}]...\n", }, }, }, @@ -1510,11 +1500,7 @@ and another one using attribute substitution: {github-url}[{github-title}]... }, Location: &types.Location{ Scheme: "https://", - Path: []interface{}{ - &types.StringElement{ - Content: "github.com", - }, - }, + Path: "github.com", }, }, &types.StringElement{ @@ -1526,11 +1512,7 @@ and another one using attribute substitution: {github-url}[{github-title}]... }, Location: &types.Location{ Scheme: "https://", - Path: []interface{}{ - &types.StringElement{ - Content: "github.com", - }, - }, + Path: "github.com", }, }, &types.StringElement{ @@ -1542,15 +1524,11 @@ and another one using attribute substitution: {github-url}[{github-title}]... }, Location: &types.Location{ Scheme: "https://", - Path: []interface{}{ - &types.StringElement{ - Content: "github.com", - }, - }, + Path: "github.com", }, }, &types.StringElement{ - Content: "...", // left as-is + Content: "...\n", // left as-is }, }, }, @@ -1587,11 +1565,7 @@ and another one using attribute substitution: {github-url}[{github-title}]... }, Location: &types.Location{ Scheme: "https://", - Path: []interface{}{ - &types.StringElement{ - Content: "github.com", - }, - }, + Path: "github.com", }, }, &types.StringElement{ @@ -1603,15 +1577,11 @@ and another one using attribute substitution: {github-url}[{github-title}]... }, Location: &types.Location{ Scheme: "https://", - Path: []interface{}{ - &types.StringElement{ - Content: "github.com", - }, - }, + Path: "github.com", }, }, &types.StringElement{ - Content: ">*\nand another one using attribute substitution: https://github.com[GitHub]...", + Content: ">*\nand another one using attribute substitution: https://github.com[GitHub]...\n", }, }, }, @@ -1819,11 +1789,7 @@ a cookie image:cookie.png[]` }, &types.InlineImage{ Location: &types.Location{ - Path: []interface{}{ - &types.StringElement{ - Content: "cookie.png", - }, - }, + Path: "cookie.png", }, }, }, diff --git a/pkg/parser/parser.go b/pkg/parser/parser.go index a3639b18..766a68d7 100644 --- a/pkg/parser/parser.go +++ b/pkg/parser/parser.go @@ -41,28 +41,28 @@ var g = &grammar{ name: "AttributeDeclaration", }, &actionExpr{ - pos: position{line: 376, col: 19, offset: 11435}, + pos: position{line: 376, col: 19, offset: 11424}, run: (*parser).callonDocumentRawLine6, expr: &seqExpr{ - pos: position{line: 376, col: 19, offset: 11435}, + pos: position{line: 376, col: 19, offset: 11424}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 376, col: 19, offset: 11435}, + pos: position{line: 376, col: 19, offset: 11424}, val: ":!", ignoreCase: false, want: "\":!\"", }, &labeledExpr{ - pos: position{line: 376, col: 24, offset: 11440}, + pos: position{line: 376, col: 24, offset: 11429}, label: "name", expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, run: (*parser).callonDocumentRawLine10, expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -71,9 +71,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, + pos: position{line: 336, col: 28, offset: 10335}, expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, + pos: position{line: 336, col: 29, offset: 10336}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -87,18 +87,18 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 376, col: 45, offset: 11461}, + pos: position{line: 376, col: 45, offset: 11450}, val: ":", ignoreCase: false, want: "\":\"", }, &zeroOrMoreExpr{ - pos: position{line: 376, col: 49, offset: 11465}, + pos: position{line: 376, col: 49, offset: 11454}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonDocumentRawLine17, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -107,28 +107,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonDocumentRawLine20, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -137,9 +137,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -148,28 +148,28 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 378, col: 5, offset: 11548}, + pos: position{line: 378, col: 5, offset: 11537}, run: (*parser).callonDocumentRawLine27, expr: &seqExpr{ - pos: position{line: 378, col: 5, offset: 11548}, + pos: position{line: 378, col: 5, offset: 11537}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 378, col: 5, offset: 11548}, + pos: position{line: 378, col: 5, offset: 11537}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 378, col: 9, offset: 11552}, + pos: position{line: 378, col: 9, offset: 11541}, label: "name", expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, run: (*parser).callonDocumentRawLine31, expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -178,9 +178,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, + pos: position{line: 336, col: 28, offset: 10335}, expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, + pos: position{line: 336, col: 29, offset: 10336}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -194,18 +194,18 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 378, col: 30, offset: 11573}, + pos: position{line: 378, col: 30, offset: 11562}, val: "!:", ignoreCase: false, want: "\"!:\"", }, &zeroOrMoreExpr{ - pos: position{line: 378, col: 35, offset: 11578}, + pos: position{line: 378, col: 35, offset: 11567}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonDocumentRawLine38, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -214,28 +214,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonDocumentRawLine41, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -244,9 +244,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -274,12 +274,12 @@ var g = &grammar{ pos: position{line: 71, col: 20, offset: 1783}, label: "name", expr: &actionExpr{ - pos: position{line: 133, col: 28, offset: 3574}, + pos: position{line: 133, col: 28, offset: 3571}, run: (*parser).callonDocumentRawLine53, expr: &oneOrMoreExpr{ - pos: position{line: 133, col: 28, offset: 3574}, + pos: position{line: 133, col: 28, offset: 3571}, expr: &charClassMatcher{ - pos: position{line: 133, col: 28, offset: 3574}, + pos: position{line: 133, col: 28, offset: 3571}, val: "[^\\r\\n []", chars: []rune{'\r', '\n', ' ', '['}, ignoreCase: false, @@ -324,10 +324,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 71, col: 97, offset: 1860}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonDocumentRawLine64, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -336,9 +336,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -360,12 +360,12 @@ var g = &grammar{ pos: position{line: 75, col: 22, offset: 1961}, label: "name", expr: &actionExpr{ - pos: position{line: 133, col: 28, offset: 3574}, + pos: position{line: 133, col: 28, offset: 3571}, run: (*parser).callonDocumentRawLine72, expr: &oneOrMoreExpr{ - pos: position{line: 133, col: 28, offset: 3574}, + pos: position{line: 133, col: 28, offset: 3571}, expr: &charClassMatcher{ - pos: position{line: 133, col: 28, offset: 3574}, + pos: position{line: 133, col: 28, offset: 3571}, val: "[^\\r\\n []", chars: []rune{'\r', '\n', ' ', '['}, ignoreCase: false, @@ -410,10 +410,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 75, col: 99, offset: 2038}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonDocumentRawLine83, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -422,9 +422,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -464,28 +464,28 @@ var g = &grammar{ pos: position{line: 95, col: 11, offset: 2513}, label: "s", expr: &actionExpr{ - pos: position{line: 656, col: 31, offset: 21077}, + pos: position{line: 663, col: 5, offset: 21092}, run: (*parser).callonDocumentRawLine96, expr: &seqExpr{ - pos: position{line: 656, col: 31, offset: 21077}, + pos: position{line: 663, col: 5, offset: 21092}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 656, col: 31, offset: 21077}, + pos: position{line: 663, col: 5, offset: 21092}, val: "{", ignoreCase: false, want: "\"{\"", }, &labeledExpr{ - pos: position{line: 656, col: 35, offset: 21081}, + pos: position{line: 663, col: 9, offset: 21096}, label: "name", expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, run: (*parser).callonDocumentRawLine100, expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -494,9 +494,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, + pos: position{line: 336, col: 28, offset: 10335}, expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, + pos: position{line: 336, col: 29, offset: 10336}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -510,7 +510,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 656, col: 54, offset: 21100}, + pos: position{line: 663, col: 28, offset: 21115}, val: "}", ignoreCase: false, want: "\"}\"", @@ -520,7 +520,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 95, col: 40, offset: 2542}, + pos: position{line: 95, col: 39, offset: 2541}, val: "\"", ignoreCase: false, want: "\"\\\"\"", @@ -529,43 +529,43 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 96, col: 8, offset: 2573}, + pos: position{line: 96, col: 8, offset: 2572}, run: (*parser).callonDocumentRawLine107, expr: &seqExpr{ - pos: position{line: 96, col: 8, offset: 2573}, + pos: position{line: 96, col: 8, offset: 2572}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 96, col: 8, offset: 2573}, + pos: position{line: 96, col: 8, offset: 2572}, val: "'", ignoreCase: false, want: "\"'\"", }, &labeledExpr{ - pos: position{line: 96, col: 12, offset: 2577}, + pos: position{line: 96, col: 12, offset: 2576}, label: "s", expr: &actionExpr{ - pos: position{line: 656, col: 31, offset: 21077}, + pos: position{line: 663, col: 5, offset: 21092}, run: (*parser).callonDocumentRawLine111, expr: &seqExpr{ - pos: position{line: 656, col: 31, offset: 21077}, + pos: position{line: 663, col: 5, offset: 21092}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 656, col: 31, offset: 21077}, + pos: position{line: 663, col: 5, offset: 21092}, val: "{", ignoreCase: false, want: "\"{\"", }, &labeledExpr{ - pos: position{line: 656, col: 35, offset: 21081}, + pos: position{line: 663, col: 9, offset: 21096}, label: "name", expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, run: (*parser).callonDocumentRawLine115, expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -574,9 +574,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, + pos: position{line: 336, col: 28, offset: 10335}, expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, + pos: position{line: 336, col: 29, offset: 10336}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -590,7 +590,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 656, col: 54, offset: 21100}, + pos: position{line: 663, col: 28, offset: 21115}, val: "}", ignoreCase: false, want: "\"}\"", @@ -600,7 +600,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 96, col: 41, offset: 2606}, + pos: position{line: 96, col: 40, offset: 2604}, val: "'", ignoreCase: false, want: "\"'\"", @@ -609,34 +609,34 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 97, col: 8, offset: 2636}, + pos: position{line: 97, col: 8, offset: 2634}, run: (*parser).callonDocumentRawLine122, expr: &labeledExpr{ - pos: position{line: 97, col: 8, offset: 2636}, + pos: position{line: 97, col: 8, offset: 2634}, label: "s", expr: &actionExpr{ - pos: position{line: 656, col: 31, offset: 21077}, + pos: position{line: 663, col: 5, offset: 21092}, run: (*parser).callonDocumentRawLine124, expr: &seqExpr{ - pos: position{line: 656, col: 31, offset: 21077}, + pos: position{line: 663, col: 5, offset: 21092}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 656, col: 31, offset: 21077}, + pos: position{line: 663, col: 5, offset: 21092}, val: "{", ignoreCase: false, want: "\"{\"", }, &labeledExpr{ - pos: position{line: 656, col: 35, offset: 21081}, + pos: position{line: 663, col: 9, offset: 21096}, label: "name", expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, run: (*parser).callonDocumentRawLine128, expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -645,9 +645,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, + pos: position{line: 336, col: 28, offset: 10335}, expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, + pos: position{line: 336, col: 29, offset: 10336}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -661,7 +661,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 656, col: 54, offset: 21100}, + pos: position{line: 663, col: 28, offset: 21115}, val: "}", ignoreCase: false, want: "\"}\"", @@ -672,27 +672,27 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 98, col: 8, offset: 2691}, + pos: position{line: 98, col: 8, offset: 2688}, run: (*parser).callonDocumentRawLine134, expr: &seqExpr{ - pos: position{line: 98, col: 8, offset: 2691}, + pos: position{line: 98, col: 8, offset: 2688}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 98, col: 8, offset: 2691}, + pos: position{line: 98, col: 8, offset: 2688}, val: "\"", ignoreCase: false, want: "\"\\\"\"", }, &labeledExpr{ - pos: position{line: 98, col: 13, offset: 2696}, + pos: position{line: 98, col: 13, offset: 2693}, label: "w", expr: &actionExpr{ - pos: position{line: 98, col: 16, offset: 2699}, + pos: position{line: 98, col: 16, offset: 2696}, run: (*parser).callonDocumentRawLine138, expr: &oneOrMoreExpr{ - pos: position{line: 98, col: 16, offset: 2699}, + pos: position{line: 98, col: 16, offset: 2696}, expr: &charClassMatcher{ - pos: position{line: 98, col: 16, offset: 2699}, + pos: position{line: 98, col: 16, offset: 2696}, val: "[,?!;_-0-9\\pL]", chars: []rune{',', '?', '!', ';', '_', '-'}, ranges: []rune{'0', '9'}, @@ -704,7 +704,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 98, col: 63, offset: 2746}, + pos: position{line: 98, col: 63, offset: 2743}, val: "\"", ignoreCase: false, want: "\"\\\"\"", @@ -713,27 +713,27 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 99, col: 8, offset: 2777}, + pos: position{line: 99, col: 8, offset: 2774}, run: (*parser).callonDocumentRawLine142, expr: &seqExpr{ - pos: position{line: 99, col: 8, offset: 2777}, + pos: position{line: 99, col: 8, offset: 2774}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 99, col: 8, offset: 2777}, + pos: position{line: 99, col: 8, offset: 2774}, val: "'", ignoreCase: false, want: "\"'\"", }, &labeledExpr{ - pos: position{line: 99, col: 12, offset: 2781}, + pos: position{line: 99, col: 12, offset: 2778}, label: "w", expr: &actionExpr{ - pos: position{line: 99, col: 15, offset: 2784}, + pos: position{line: 99, col: 15, offset: 2781}, run: (*parser).callonDocumentRawLine146, expr: &oneOrMoreExpr{ - pos: position{line: 99, col: 15, offset: 2784}, + pos: position{line: 99, col: 15, offset: 2781}, expr: &charClassMatcher{ - pos: position{line: 99, col: 15, offset: 2784}, + pos: position{line: 99, col: 15, offset: 2781}, val: "[,?!;_-0-9\\pL]", chars: []rune{',', '?', '!', ';', '_', '-'}, ranges: []rune{'0', '9'}, @@ -745,7 +745,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 99, col: 62, offset: 2831}, + pos: position{line: 99, col: 62, offset: 2828}, val: "'", ignoreCase: false, want: "\"'\"", @@ -754,24 +754,24 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2920, col: 12, offset: 95842}, + pos: position{line: 2830, col: 12, offset: 92996}, run: (*parser).callonDocumentRawLine150, expr: &seqExpr{ - pos: position{line: 2920, col: 13, offset: 95843}, + pos: position{line: 2830, col: 13, offset: 92997}, exprs: []interface{}{ &zeroOrOneExpr{ - pos: position{line: 2920, col: 13, offset: 95843}, + pos: position{line: 2830, col: 13, offset: 92997}, expr: &litMatcher{ - pos: position{line: 2920, col: 13, offset: 95843}, + pos: position{line: 2830, col: 13, offset: 92997}, val: "-", ignoreCase: false, want: "\"-\"", }, }, &oneOrMoreExpr{ - pos: position{line: 2920, col: 18, offset: 95848}, + pos: position{line: 2830, col: 18, offset: 93002}, expr: &charClassMatcher{ - pos: position{line: 2920, col: 18, offset: 95848}, + pos: position{line: 2830, col: 18, offset: 93002}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -787,10 +787,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 85, col: 35, offset: 2272}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonDocumentRawLine157, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -802,63 +802,63 @@ var g = &grammar{ pos: position{line: 86, col: 5, offset: 2284}, label: "operand", expr: &choiceExpr{ - pos: position{line: 103, col: 5, offset: 2900}, + pos: position{line: 103, col: 5, offset: 2897}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 103, col: 6, offset: 2901}, + pos: position{line: 103, col: 6, offset: 2898}, run: (*parser).callonDocumentRawLine161, expr: &litMatcher{ - pos: position{line: 103, col: 6, offset: 2901}, + pos: position{line: 103, col: 6, offset: 2898}, val: "==", ignoreCase: false, want: "\"==\"", }, }, &actionExpr{ - pos: position{line: 106, col: 8, offset: 2961}, + pos: position{line: 106, col: 8, offset: 2958}, run: (*parser).callonDocumentRawLine163, expr: &litMatcher{ - pos: position{line: 106, col: 8, offset: 2961}, + pos: position{line: 106, col: 8, offset: 2958}, val: "!=", ignoreCase: false, want: "\"!=\"", }, }, &actionExpr{ - pos: position{line: 109, col: 8, offset: 3024}, + pos: position{line: 109, col: 8, offset: 3021}, run: (*parser).callonDocumentRawLine165, expr: &litMatcher{ - pos: position{line: 109, col: 8, offset: 3024}, + pos: position{line: 109, col: 8, offset: 3021}, val: "<", ignoreCase: false, want: "\"<\"", }, }, &actionExpr{ - pos: position{line: 112, col: 8, offset: 3086}, + pos: position{line: 112, col: 8, offset: 3083}, run: (*parser).callonDocumentRawLine167, expr: &litMatcher{ - pos: position{line: 112, col: 8, offset: 3086}, + pos: position{line: 112, col: 8, offset: 3083}, val: "<=", ignoreCase: false, want: "\"<=\"", }, }, &actionExpr{ - pos: position{line: 115, col: 8, offset: 3152}, + pos: position{line: 115, col: 8, offset: 3149}, run: (*parser).callonDocumentRawLine169, expr: &litMatcher{ - pos: position{line: 115, col: 8, offset: 3152}, + pos: position{line: 115, col: 8, offset: 3149}, val: ">", ignoreCase: false, want: "\">\"", }, }, &actionExpr{ - pos: position{line: 118, col: 8, offset: 3217}, + pos: position{line: 118, col: 8, offset: 3214}, run: (*parser).callonDocumentRawLine171, expr: &litMatcher{ - pos: position{line: 118, col: 8, offset: 3217}, + pos: position{line: 118, col: 8, offset: 3214}, val: ">=", ignoreCase: false, want: "\">=\"", @@ -870,10 +870,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 86, col: 39, offset: 2318}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonDocumentRawLine174, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -903,28 +903,28 @@ var g = &grammar{ pos: position{line: 95, col: 11, offset: 2513}, label: "s", expr: &actionExpr{ - pos: position{line: 656, col: 31, offset: 21077}, + pos: position{line: 663, col: 5, offset: 21092}, run: (*parser).callonDocumentRawLine182, expr: &seqExpr{ - pos: position{line: 656, col: 31, offset: 21077}, + pos: position{line: 663, col: 5, offset: 21092}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 656, col: 31, offset: 21077}, + pos: position{line: 663, col: 5, offset: 21092}, val: "{", ignoreCase: false, want: "\"{\"", }, &labeledExpr{ - pos: position{line: 656, col: 35, offset: 21081}, + pos: position{line: 663, col: 9, offset: 21096}, label: "name", expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, run: (*parser).callonDocumentRawLine186, expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -933,9 +933,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, + pos: position{line: 336, col: 28, offset: 10335}, expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, + pos: position{line: 336, col: 29, offset: 10336}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -949,7 +949,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 656, col: 54, offset: 21100}, + pos: position{line: 663, col: 28, offset: 21115}, val: "}", ignoreCase: false, want: "\"}\"", @@ -959,7 +959,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 95, col: 40, offset: 2542}, + pos: position{line: 95, col: 39, offset: 2541}, val: "\"", ignoreCase: false, want: "\"\\\"\"", @@ -968,43 +968,43 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 96, col: 8, offset: 2573}, + pos: position{line: 96, col: 8, offset: 2572}, run: (*parser).callonDocumentRawLine193, expr: &seqExpr{ - pos: position{line: 96, col: 8, offset: 2573}, + pos: position{line: 96, col: 8, offset: 2572}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 96, col: 8, offset: 2573}, + pos: position{line: 96, col: 8, offset: 2572}, val: "'", ignoreCase: false, want: "\"'\"", }, &labeledExpr{ - pos: position{line: 96, col: 12, offset: 2577}, + pos: position{line: 96, col: 12, offset: 2576}, label: "s", expr: &actionExpr{ - pos: position{line: 656, col: 31, offset: 21077}, + pos: position{line: 663, col: 5, offset: 21092}, run: (*parser).callonDocumentRawLine197, expr: &seqExpr{ - pos: position{line: 656, col: 31, offset: 21077}, + pos: position{line: 663, col: 5, offset: 21092}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 656, col: 31, offset: 21077}, + pos: position{line: 663, col: 5, offset: 21092}, val: "{", ignoreCase: false, want: "\"{\"", }, &labeledExpr{ - pos: position{line: 656, col: 35, offset: 21081}, + pos: position{line: 663, col: 9, offset: 21096}, label: "name", expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, run: (*parser).callonDocumentRawLine201, expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -1013,9 +1013,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, + pos: position{line: 336, col: 28, offset: 10335}, expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, + pos: position{line: 336, col: 29, offset: 10336}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -1029,7 +1029,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 656, col: 54, offset: 21100}, + pos: position{line: 663, col: 28, offset: 21115}, val: "}", ignoreCase: false, want: "\"}\"", @@ -1039,7 +1039,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 96, col: 41, offset: 2606}, + pos: position{line: 96, col: 40, offset: 2604}, val: "'", ignoreCase: false, want: "\"'\"", @@ -1048,34 +1048,34 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 97, col: 8, offset: 2636}, + pos: position{line: 97, col: 8, offset: 2634}, run: (*parser).callonDocumentRawLine208, expr: &labeledExpr{ - pos: position{line: 97, col: 8, offset: 2636}, + pos: position{line: 97, col: 8, offset: 2634}, label: "s", expr: &actionExpr{ - pos: position{line: 656, col: 31, offset: 21077}, + pos: position{line: 663, col: 5, offset: 21092}, run: (*parser).callonDocumentRawLine210, expr: &seqExpr{ - pos: position{line: 656, col: 31, offset: 21077}, + pos: position{line: 663, col: 5, offset: 21092}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 656, col: 31, offset: 21077}, + pos: position{line: 663, col: 5, offset: 21092}, val: "{", ignoreCase: false, want: "\"{\"", }, &labeledExpr{ - pos: position{line: 656, col: 35, offset: 21081}, + pos: position{line: 663, col: 9, offset: 21096}, label: "name", expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, run: (*parser).callonDocumentRawLine214, expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -1084,9 +1084,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, + pos: position{line: 336, col: 28, offset: 10335}, expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, + pos: position{line: 336, col: 29, offset: 10336}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -1100,7 +1100,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 656, col: 54, offset: 21100}, + pos: position{line: 663, col: 28, offset: 21115}, val: "}", ignoreCase: false, want: "\"}\"", @@ -1111,27 +1111,27 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 98, col: 8, offset: 2691}, + pos: position{line: 98, col: 8, offset: 2688}, run: (*parser).callonDocumentRawLine220, expr: &seqExpr{ - pos: position{line: 98, col: 8, offset: 2691}, + pos: position{line: 98, col: 8, offset: 2688}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 98, col: 8, offset: 2691}, + pos: position{line: 98, col: 8, offset: 2688}, val: "\"", ignoreCase: false, want: "\"\\\"\"", }, &labeledExpr{ - pos: position{line: 98, col: 13, offset: 2696}, + pos: position{line: 98, col: 13, offset: 2693}, label: "w", expr: &actionExpr{ - pos: position{line: 98, col: 16, offset: 2699}, + pos: position{line: 98, col: 16, offset: 2696}, run: (*parser).callonDocumentRawLine224, expr: &oneOrMoreExpr{ - pos: position{line: 98, col: 16, offset: 2699}, + pos: position{line: 98, col: 16, offset: 2696}, expr: &charClassMatcher{ - pos: position{line: 98, col: 16, offset: 2699}, + pos: position{line: 98, col: 16, offset: 2696}, val: "[,?!;_-0-9\\pL]", chars: []rune{',', '?', '!', ';', '_', '-'}, ranges: []rune{'0', '9'}, @@ -1143,7 +1143,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 98, col: 63, offset: 2746}, + pos: position{line: 98, col: 63, offset: 2743}, val: "\"", ignoreCase: false, want: "\"\\\"\"", @@ -1152,27 +1152,27 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 99, col: 8, offset: 2777}, + pos: position{line: 99, col: 8, offset: 2774}, run: (*parser).callonDocumentRawLine228, expr: &seqExpr{ - pos: position{line: 99, col: 8, offset: 2777}, + pos: position{line: 99, col: 8, offset: 2774}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 99, col: 8, offset: 2777}, + pos: position{line: 99, col: 8, offset: 2774}, val: "'", ignoreCase: false, want: "\"'\"", }, &labeledExpr{ - pos: position{line: 99, col: 12, offset: 2781}, + pos: position{line: 99, col: 12, offset: 2778}, label: "w", expr: &actionExpr{ - pos: position{line: 99, col: 15, offset: 2784}, + pos: position{line: 99, col: 15, offset: 2781}, run: (*parser).callonDocumentRawLine232, expr: &oneOrMoreExpr{ - pos: position{line: 99, col: 15, offset: 2784}, + pos: position{line: 99, col: 15, offset: 2781}, expr: &charClassMatcher{ - pos: position{line: 99, col: 15, offset: 2784}, + pos: position{line: 99, col: 15, offset: 2781}, val: "[,?!;_-0-9\\pL]", chars: []rune{',', '?', '!', ';', '_', '-'}, ranges: []rune{'0', '9'}, @@ -1184,7 +1184,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 99, col: 62, offset: 2831}, + pos: position{line: 99, col: 62, offset: 2828}, val: "'", ignoreCase: false, want: "\"'\"", @@ -1193,24 +1193,24 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2920, col: 12, offset: 95842}, + pos: position{line: 2830, col: 12, offset: 92996}, run: (*parser).callonDocumentRawLine236, expr: &seqExpr{ - pos: position{line: 2920, col: 13, offset: 95843}, + pos: position{line: 2830, col: 13, offset: 92997}, exprs: []interface{}{ &zeroOrOneExpr{ - pos: position{line: 2920, col: 13, offset: 95843}, + pos: position{line: 2830, col: 13, offset: 92997}, expr: &litMatcher{ - pos: position{line: 2920, col: 13, offset: 95843}, + pos: position{line: 2830, col: 13, offset: 92997}, val: "-", ignoreCase: false, want: "\"-\"", }, }, &oneOrMoreExpr{ - pos: position{line: 2920, col: 18, offset: 95848}, + pos: position{line: 2830, col: 18, offset: 93002}, expr: &charClassMatcher{ - pos: position{line: 2920, col: 18, offset: 95848}, + pos: position{line: 2830, col: 18, offset: 93002}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -1232,10 +1232,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 88, col: 5, offset: 2370}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonDocumentRawLine244, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -1244,38 +1244,38 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, }, }, &actionExpr{ - pos: position{line: 129, col: 10, offset: 3351}, + pos: position{line: 129, col: 10, offset: 3348}, run: (*parser).callonDocumentRawLine248, expr: &seqExpr{ - pos: position{line: 129, col: 10, offset: 3351}, + pos: position{line: 129, col: 10, offset: 3348}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 129, col: 10, offset: 3351}, + pos: position{line: 129, col: 10, offset: 3348}, val: "endif::", ignoreCase: false, want: "\"endif::\"", }, &labeledExpr{ - pos: position{line: 129, col: 20, offset: 3361}, + pos: position{line: 129, col: 20, offset: 3358}, label: "name", expr: &zeroOrOneExpr{ - pos: position{line: 129, col: 25, offset: 3366}, + pos: position{line: 129, col: 25, offset: 3363}, expr: &actionExpr{ - pos: position{line: 133, col: 28, offset: 3574}, + pos: position{line: 133, col: 28, offset: 3571}, run: (*parser).callonDocumentRawLine253, expr: &oneOrMoreExpr{ - pos: position{line: 133, col: 28, offset: 3574}, + pos: position{line: 133, col: 28, offset: 3571}, expr: &charClassMatcher{ - pos: position{line: 133, col: 28, offset: 3574}, + pos: position{line: 133, col: 28, offset: 3571}, val: "[^\\r\\n []", chars: []rune{'\r', '\n', ' ', '['}, ignoreCase: false, @@ -1286,16 +1286,16 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 129, col: 52, offset: 3393}, + pos: position{line: 129, col: 52, offset: 3390}, val: "[", ignoreCase: false, want: "\"[\"", }, &labeledExpr{ - pos: position{line: 129, col: 56, offset: 3397}, + pos: position{line: 129, col: 56, offset: 3394}, label: "attr", expr: &zeroOrOneExpr{ - pos: position{line: 129, col: 61, offset: 3402}, + pos: position{line: 129, col: 61, offset: 3399}, expr: &actionExpr{ pos: position{line: 79, col: 34, offset: 2152}, run: (*parser).callonDocumentRawLine259, @@ -1313,18 +1313,18 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 129, col: 94, offset: 3435}, + pos: position{line: 129, col: 94, offset: 3432}, val: "]", ignoreCase: false, want: "\"]\"", }, &zeroOrMoreExpr{ - pos: position{line: 129, col: 98, offset: 3439}, + pos: position{line: 129, col: 98, offset: 3436}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonDocumentRawLine264, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -1333,24 +1333,24 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, }, }, &actionExpr{ - pos: position{line: 727, col: 5, offset: 23531}, + pos: position{line: 734, col: 5, offset: 23557}, run: (*parser).callonDocumentRawLine268, expr: &seqExpr{ - pos: position{line: 727, col: 5, offset: 23531}, + pos: position{line: 734, col: 5, offset: 23557}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 727, col: 5, offset: 23531}, + pos: position{line: 734, col: 5, offset: 23557}, expr: &charClassMatcher{ - pos: position{line: 2852, col: 13, offset: 93681}, + pos: position{line: 2753, col: 13, offset: 90440}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -1359,30 +1359,30 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 728, col: 5, offset: 23561}, + pos: position{line: 735, col: 5, offset: 23587}, label: "delimiter", expr: &choiceExpr{ - pos: position{line: 729, col: 9, offset: 23581}, + pos: position{line: 736, col: 9, offset: 23607}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 741, col: 26, offset: 23902}, + pos: position{line: 748, col: 26, offset: 23928}, run: (*parser).callonDocumentRawLine274, expr: &seqExpr{ - pos: position{line: 741, col: 26, offset: 23902}, + pos: position{line: 748, col: 26, offset: 23928}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 741, col: 26, offset: 23902}, + pos: position{line: 748, col: 26, offset: 23928}, val: "////", ignoreCase: false, want: "\"////\"", }, &zeroOrMoreExpr{ - pos: position{line: 741, col: 33, offset: 23909}, + pos: position{line: 748, col: 33, offset: 23935}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonDocumentRawLine278, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -1391,28 +1391,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonDocumentRawLine281, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -1421,9 +1421,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -1432,24 +1432,24 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 745, col: 26, offset: 24016}, + pos: position{line: 752, col: 26, offset: 24042}, run: (*parser).callonDocumentRawLine288, expr: &seqExpr{ - pos: position{line: 745, col: 26, offset: 24016}, + pos: position{line: 752, col: 26, offset: 24042}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 745, col: 26, offset: 24016}, + pos: position{line: 752, col: 26, offset: 24042}, val: "====", ignoreCase: false, want: "\"====\"", }, &zeroOrMoreExpr{ - pos: position{line: 745, col: 33, offset: 24023}, + pos: position{line: 752, col: 33, offset: 24049}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonDocumentRawLine292, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -1458,28 +1458,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonDocumentRawLine295, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -1488,9 +1488,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -1499,24 +1499,24 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 749, col: 25, offset: 24129}, + pos: position{line: 756, col: 25, offset: 24155}, run: (*parser).callonDocumentRawLine302, expr: &seqExpr{ - pos: position{line: 749, col: 25, offset: 24129}, + pos: position{line: 756, col: 25, offset: 24155}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 749, col: 25, offset: 24129}, + pos: position{line: 756, col: 25, offset: 24155}, val: "```", ignoreCase: false, want: "\"```\"", }, &zeroOrMoreExpr{ - pos: position{line: 749, col: 31, offset: 24135}, + pos: position{line: 756, col: 31, offset: 24161}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonDocumentRawLine306, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -1525,28 +1525,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonDocumentRawLine309, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -1555,9 +1555,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -1566,24 +1566,24 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 753, col: 26, offset: 24241}, + pos: position{line: 760, col: 26, offset: 24267}, run: (*parser).callonDocumentRawLine316, expr: &seqExpr{ - pos: position{line: 753, col: 26, offset: 24241}, + pos: position{line: 760, col: 26, offset: 24267}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 753, col: 26, offset: 24241}, + pos: position{line: 760, col: 26, offset: 24267}, val: "----", ignoreCase: false, want: "\"----\"", }, &zeroOrMoreExpr{ - pos: position{line: 753, col: 33, offset: 24248}, + pos: position{line: 760, col: 33, offset: 24274}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonDocumentRawLine320, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -1592,28 +1592,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonDocumentRawLine323, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -1622,9 +1622,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -1633,24 +1633,24 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 757, col: 26, offset: 24355}, + pos: position{line: 764, col: 26, offset: 24381}, run: (*parser).callonDocumentRawLine330, expr: &seqExpr{ - pos: position{line: 757, col: 26, offset: 24355}, + pos: position{line: 764, col: 26, offset: 24381}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 757, col: 26, offset: 24355}, + pos: position{line: 764, col: 26, offset: 24381}, val: "....", ignoreCase: false, want: "\"....\"", }, &zeroOrMoreExpr{ - pos: position{line: 757, col: 33, offset: 24362}, + pos: position{line: 764, col: 33, offset: 24388}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonDocumentRawLine334, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -1659,28 +1659,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonDocumentRawLine337, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -1689,9 +1689,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -1700,24 +1700,24 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 761, col: 30, offset: 24473}, + pos: position{line: 768, col: 30, offset: 24499}, run: (*parser).callonDocumentRawLine344, expr: &seqExpr{ - pos: position{line: 761, col: 30, offset: 24473}, + pos: position{line: 768, col: 30, offset: 24499}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 761, col: 30, offset: 24473}, + pos: position{line: 768, col: 30, offset: 24499}, val: "++++", ignoreCase: false, want: "\"++++\"", }, &zeroOrMoreExpr{ - pos: position{line: 761, col: 37, offset: 24480}, + pos: position{line: 768, col: 37, offset: 24506}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonDocumentRawLine348, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -1726,28 +1726,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonDocumentRawLine351, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -1756,9 +1756,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -1767,24 +1767,24 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 765, col: 24, offset: 24589}, + pos: position{line: 772, col: 24, offset: 24615}, run: (*parser).callonDocumentRawLine358, expr: &seqExpr{ - pos: position{line: 765, col: 24, offset: 24589}, + pos: position{line: 772, col: 24, offset: 24615}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 765, col: 24, offset: 24589}, + pos: position{line: 772, col: 24, offset: 24615}, val: "____", ignoreCase: false, want: "\"____\"", }, &zeroOrMoreExpr{ - pos: position{line: 765, col: 31, offset: 24596}, + pos: position{line: 772, col: 31, offset: 24622}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonDocumentRawLine362, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -1793,28 +1793,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonDocumentRawLine365, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -1823,9 +1823,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -1834,24 +1834,24 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 769, col: 26, offset: 24701}, + pos: position{line: 776, col: 26, offset: 24727}, run: (*parser).callonDocumentRawLine372, expr: &seqExpr{ - pos: position{line: 769, col: 26, offset: 24701}, + pos: position{line: 776, col: 26, offset: 24727}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 769, col: 26, offset: 24701}, + pos: position{line: 776, col: 26, offset: 24727}, val: "****", ignoreCase: false, want: "\"****\"", }, &zeroOrMoreExpr{ - pos: position{line: 769, col: 33, offset: 24708}, + pos: position{line: 776, col: 33, offset: 24734}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonDocumentRawLine376, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -1860,28 +1860,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonDocumentRawLine379, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -1890,9 +1890,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -1942,12 +1942,12 @@ var g = &grammar{ run: (*parser).callonDocumentRawLine394, }, &actionExpr{ - pos: position{line: 2932, col: 11, offset: 96082}, + pos: position{line: 2842, col: 11, offset: 93236}, run: (*parser).callonDocumentRawLine395, expr: &oneOrMoreExpr{ - pos: position{line: 2932, col: 11, offset: 96082}, + pos: position{line: 2842, col: 11, offset: 93236}, expr: &charClassMatcher{ - pos: position{line: 2932, col: 12, offset: 96083}, + pos: position{line: 2842, col: 12, offset: 93237}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -1966,9 +1966,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -1978,9 +1978,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -1989,285 +1989,227 @@ var g = &grammar{ }, { name: "FileInclusion", - pos: position{line: 140, col: 1, offset: 3774}, + pos: position{line: 140, col: 1, offset: 3771}, expr: &actionExpr{ - pos: position{line: 141, col: 5, offset: 3796}, + pos: position{line: 141, col: 5, offset: 3793}, run: (*parser).callonFileInclusion1, expr: &seqExpr{ - pos: position{line: 141, col: 5, offset: 3796}, + pos: position{line: 141, col: 5, offset: 3793}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 141, col: 5, offset: 3796}, + pos: position{line: 141, col: 5, offset: 3793}, label: "incl", expr: &actionExpr{ - pos: position{line: 142, col: 9, offset: 3811}, + pos: position{line: 142, col: 9, offset: 3808}, run: (*parser).callonFileInclusion4, expr: &seqExpr{ - pos: position{line: 142, col: 9, offset: 3811}, + pos: position{line: 142, col: 9, offset: 3808}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 142, col: 9, offset: 3811}, + pos: position{line: 142, col: 9, offset: 3808}, val: "include::", ignoreCase: false, want: "\"include::\"", }, &labeledExpr{ - pos: position{line: 143, col: 9, offset: 3832}, + pos: position{line: 143, col: 9, offset: 3829}, label: "path", expr: &actionExpr{ - pos: position{line: 2887, col: 17, offset: 94829}, + pos: position{line: 2788, col: 17, offset: 91588}, run: (*parser).callonFileInclusion8, expr: &labeledExpr{ - pos: position{line: 2887, col: 17, offset: 94829}, + pos: position{line: 2788, col: 17, offset: 91588}, label: "path", expr: &oneOrMoreExpr{ - pos: position{line: 2887, col: 22, offset: 94834}, + pos: position{line: 2788, col: 22, offset: 91593}, expr: &choiceExpr{ - pos: position{line: 2887, col: 23, offset: 94835}, + pos: position{line: 2788, col: 23, offset: 91594}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2899, col: 13, offset: 95239}, + pos: position{line: 2806, col: 5, offset: 92211}, run: (*parser).callonFileInclusion12, - expr: &labeledExpr{ - pos: position{line: 2899, col: 13, offset: 95239}, - label: "elements", - expr: &oneOrMoreExpr{ - pos: position{line: 2899, col: 22, offset: 95248}, - expr: &choiceExpr{ - pos: position{line: 2900, col: 5, offset: 95254}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2900, col: 5, offset: 95254}, - run: (*parser).callonFileInclusion16, - expr: &oneOrMoreExpr{ - pos: position{line: 2900, col: 5, offset: 95254}, - expr: &charClassMatcher{ - pos: position{line: 2900, col: 6, offset: 95255}, - val: "[^\\r\\n[]�&<>{ ]", - chars: []rune{'\r', '\n', '[', ']', '�', '&', '<', '>', '{', ' '}, - ignoreCase: false, - inverted: true, - }, - }, - }, - &actionExpr{ - pos: position{line: 649, col: 5, offset: 20887}, - run: (*parser).callonFileInclusion19, - expr: &seqExpr{ - pos: position{line: 649, col: 5, offset: 20887}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 649, col: 5, offset: 20887}, - run: (*parser).callonFileInclusion21, + expr: &seqExpr{ + pos: position{line: 2806, col: 5, offset: 92211}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 2806, col: 5, offset: 92211}, + expr: &litMatcher{ + pos: position{line: 2806, col: 6, offset: 92212}, + val: "[", + ignoreCase: false, + want: "\"[\"", + }, + }, + &labeledExpr{ + pos: position{line: 2807, col: 5, offset: 92236}, + label: "elements", + expr: &oneOrMoreExpr{ + pos: position{line: 2807, col: 14, offset: 92245}, + expr: &choiceExpr{ + pos: position{line: 2811, col: 9, offset: 92419}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2811, col: 9, offset: 92419}, + run: (*parser).callonFileInclusion19, + expr: &oneOrMoreExpr{ + pos: position{line: 2811, col: 9, offset: 92419}, + expr: &charClassMatcher{ + pos: position{line: 2811, col: 10, offset: 92420}, + val: "[^\\r\\n[]�{ ]", + chars: []rune{'\r', '\n', '[', ']', '�', '{', ' '}, + ignoreCase: false, + inverted: true, + }, }, - &labeledExpr{ - pos: position{line: 652, col: 5, offset: 20951}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 652, col: 14, offset: 20960}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 663, col: 25, offset: 21324}, - run: (*parser).callonFileInclusion24, - expr: &seqExpr{ - pos: position{line: 663, col: 25, offset: 21324}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 663, col: 25, offset: 21324}, - val: "{counter:", - ignoreCase: false, - want: "\"{counter:\"", - }, - &labeledExpr{ - pos: position{line: 663, col: 37, offset: 21336}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonFileInclusion28, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 663, col: 56, offset: 21355}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 663, col: 62, offset: 21361}, - expr: &actionExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - run: (*parser).callonFileInclusion35, - expr: &seqExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 671, col: 17, offset: 21656}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 671, col: 21, offset: 21660}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - run: (*parser).callonFileInclusion40, - expr: &charClassMatcher{ - pos: position{line: 671, col: 28, offset: 21667}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - run: (*parser).callonFileInclusion42, - expr: &oneOrMoreExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - expr: &charClassMatcher{ - pos: position{line: 673, col: 9, offset: 21721}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, + }, + &seqExpr{ + pos: position{line: 2814, col: 11, offset: 92573}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2814, col: 11, offset: 92573}, + val: ".", + ignoreCase: false, + want: "\".\"", + }, + &andExpr{ + pos: position{line: 2814, col: 15, offset: 92577}, + expr: ¬Expr{ + pos: position{line: 2814, col: 17, offset: 92579}, + expr: &choiceExpr{ + pos: position{line: 2814, col: 19, offset: 92581}, + alternatives: []interface{}{ + ¬Expr{ + pos: position{line: 2851, col: 8, offset: 93443}, + expr: &anyMatcher{ + line: 2851, col: 9, offset: 93444, }, - &litMatcher{ - pos: position{line: 663, col: 78, offset: 21377}, - val: "}", + }, + &actionExpr{ + pos: position{line: 2838, col: 10, offset: 93169}, + run: (*parser).callonFileInclusion29, + expr: &charClassMatcher{ + pos: position{line: 2838, col: 11, offset: 93170}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, ignoreCase: false, - want: "\"}\"", + inverted: false, }, }, }, }, - &actionExpr{ - pos: position{line: 667, col: 25, offset: 21495}, - run: (*parser).callonFileInclusion46, - expr: &seqExpr{ - pos: position{line: 667, col: 25, offset: 21495}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 667, col: 25, offset: 21495}, - val: "{counter2:", - ignoreCase: false, - want: "\"{counter2:\"", - }, - &labeledExpr{ - pos: position{line: 667, col: 38, offset: 21508}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonFileInclusion50, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 655, col: 5, offset: 20901}, + run: (*parser).callonFileInclusion31, + expr: &seqExpr{ + pos: position{line: 655, col: 5, offset: 20901}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 655, col: 5, offset: 20901}, + run: (*parser).callonFileInclusion33, + }, + &labeledExpr{ + pos: position{line: 658, col: 5, offset: 20970}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 658, col: 14, offset: 20979}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 670, col: 25, offset: 21348}, + run: (*parser).callonFileInclusion36, + expr: &seqExpr{ + pos: position{line: 670, col: 25, offset: 21348}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 670, col: 25, offset: 21348}, + val: "{counter:", + ignoreCase: false, + want: "\"{counter:\"", + }, + &labeledExpr{ + pos: position{line: 670, col: 37, offset: 21360}, + label: "name", + expr: &actionExpr{ + pos: position{line: 336, col: 18, offset: 10325}, + run: (*parser).callonFileInclusion40, + expr: &seqExpr{ + pos: position{line: 336, col: 18, offset: 10325}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 336, col: 18, offset: 10325}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 336, col: 28, offset: 10335}, + expr: &charClassMatcher{ + pos: position{line: 336, col: 29, offset: 10336}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, }, }, }, }, - }, - }, - &labeledExpr{ - pos: position{line: 667, col: 57, offset: 21527}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 667, col: 63, offset: 21533}, - expr: &actionExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - run: (*parser).callonFileInclusion57, - expr: &seqExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 671, col: 17, offset: 21656}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 671, col: 21, offset: 21660}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - run: (*parser).callonFileInclusion62, - expr: &charClassMatcher{ - pos: position{line: 671, col: 28, offset: 21667}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - run: (*parser).callonFileInclusion64, - expr: &oneOrMoreExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - expr: &charClassMatcher{ - pos: position{line: 673, col: 9, offset: 21721}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, + &labeledExpr{ + pos: position{line: 670, col: 56, offset: 21379}, + label: "start", + expr: &zeroOrOneExpr{ + pos: position{line: 670, col: 62, offset: 21385}, + expr: &actionExpr{ + pos: position{line: 678, col: 17, offset: 21680}, + run: (*parser).callonFileInclusion47, + expr: &seqExpr{ + pos: position{line: 678, col: 17, offset: 21680}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 678, col: 17, offset: 21680}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &labeledExpr{ + pos: position{line: 678, col: 21, offset: 21684}, + label: "start", + expr: &choiceExpr{ + pos: position{line: 678, col: 28, offset: 21691}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 678, col: 28, offset: 21691}, + run: (*parser).callonFileInclusion52, + expr: &charClassMatcher{ + pos: position{line: 678, col: 28, offset: 21691}, + val: "[A-Za-z]", + ranges: []rune{'A', 'Z', 'a', 'z'}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 680, col: 9, offset: 21745}, + run: (*parser).callonFileInclusion54, + expr: &oneOrMoreExpr{ + pos: position{line: 680, col: 9, offset: 21745}, + expr: &charClassMatcher{ + pos: position{line: 680, col: 9, offset: 21745}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, }, }, }, @@ -2277,603 +2219,226 @@ var g = &grammar{ }, }, }, - }, - }, - &litMatcher{ - pos: position{line: 667, col: 79, offset: 21549}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 656, col: 31, offset: 21077}, - run: (*parser).callonFileInclusion68, - expr: &seqExpr{ - pos: position{line: 656, col: 31, offset: 21077}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 656, col: 31, offset: 21077}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - &labeledExpr{ - pos: position{line: 656, col: 35, offset: 21081}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonFileInclusion72, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, + &litMatcher{ + pos: position{line: 670, col: 78, offset: 21401}, + val: "}", + ignoreCase: false, + want: "\"}\"", }, }, }, - &litMatcher{ - pos: position{line: 656, col: 54, offset: 21100}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, }, - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2638, col: 5, offset: 87092}, - run: (*parser).callonFileInclusion78, - expr: &seqExpr{ - pos: position{line: 2638, col: 5, offset: 87092}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 2638, col: 5, offset: 87092}, - run: (*parser).callonFileInclusion80, - }, - &labeledExpr{ - pos: position{line: 2641, col: 5, offset: 87163}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 2643, col: 9, offset: 87261}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2643, col: 9, offset: 87261}, - run: (*parser).callonFileInclusion83, - expr: &choiceExpr{ - pos: position{line: 691, col: 27, offset: 22375}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 691, col: 27, offset: 22375}, - run: (*parser).callonFileInclusion85, - expr: &seqExpr{ - pos: position{line: 691, col: 27, offset: 22375}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 691, col: 27, offset: 22375}, - val: "<<", - ignoreCase: false, - want: "\"<<\"", - }, - &labeledExpr{ - pos: position{line: 691, col: 32, offset: 22380}, - label: "id", - expr: &actionExpr{ - pos: position{line: 2913, col: 7, offset: 95667}, - run: (*parser).callonFileInclusion89, - expr: &oneOrMoreExpr{ - pos: position{line: 2913, col: 7, offset: 95667}, - expr: &charClassMatcher{ - pos: position{line: 2913, col: 7, offset: 95667}, - val: "[^[]<>,]", - chars: []rune{'[', ']', '<', '>', ','}, + &actionExpr{ + pos: position{line: 674, col: 25, offset: 21519}, + run: (*parser).callonFileInclusion58, + expr: &seqExpr{ + pos: position{line: 674, col: 25, offset: 21519}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 674, col: 25, offset: 21519}, + val: "{counter2:", + ignoreCase: false, + want: "\"{counter2:\"", + }, + &labeledExpr{ + pos: position{line: 674, col: 38, offset: 21532}, + label: "name", + expr: &actionExpr{ + pos: position{line: 336, col: 18, offset: 10325}, + run: (*parser).callonFileInclusion62, + expr: &seqExpr{ + pos: position{line: 336, col: 18, offset: 10325}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 336, col: 18, offset: 10325}, + 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: 336, col: 28, offset: 10335}, + expr: &charClassMatcher{ + pos: position{line: 336, col: 29, offset: 10336}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, }, }, }, }, - &zeroOrMoreExpr{ - pos: position{line: 691, col: 40, offset: 22388}, + }, + &labeledExpr{ + pos: position{line: 674, col: 57, offset: 21551}, + label: "start", + expr: &zeroOrOneExpr{ + pos: position{line: 674, col: 63, offset: 21557}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, - run: (*parser).callonFileInclusion93, - expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &litMatcher{ - pos: position{line: 691, col: 47, offset: 22395}, - val: ",", - ignoreCase: false, - want: "\",\"", - }, - &labeledExpr{ - pos: position{line: 691, col: 51, offset: 22399}, - label: "label", - expr: &oneOrMoreExpr{ - pos: position{line: 701, col: 24, offset: 22800}, - expr: &choiceExpr{ - pos: position{line: 702, col: 5, offset: 22806}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 702, col: 6, offset: 22807}, - run: (*parser).callonFileInclusion99, - expr: &seqExpr{ - pos: position{line: 702, col: 6, offset: 22807}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 702, col: 6, offset: 22807}, - val: "[0-9\\pL]", - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &oneOrMoreExpr{ - pos: position{line: 702, col: 14, offset: 22815}, + pos: position{line: 678, col: 17, offset: 21680}, + run: (*parser).callonFileInclusion69, + expr: &seqExpr{ + pos: position{line: 678, col: 17, offset: 21680}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 678, col: 17, offset: 21680}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &labeledExpr{ + pos: position{line: 678, col: 21, offset: 21684}, + label: "start", + expr: &choiceExpr{ + pos: position{line: 678, col: 28, offset: 21691}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 678, col: 28, offset: 21691}, + run: (*parser).callonFileInclusion74, expr: &charClassMatcher{ - pos: position{line: 702, col: 14, offset: 22815}, - val: "[^\\r\\n{<>]", - chars: []rune{'\r', '\n', '{', '<', '>'}, + pos: position{line: 678, col: 28, offset: 21691}, + val: "[A-Za-z]", + ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, - inverted: true, + inverted: false, }, }, - }, - }, - }, - &actionExpr{ - pos: position{line: 649, col: 5, offset: 20887}, - run: (*parser).callonFileInclusion104, - expr: &seqExpr{ - pos: position{line: 649, col: 5, offset: 20887}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 649, col: 5, offset: 20887}, - run: (*parser).callonFileInclusion106, - }, - &labeledExpr{ - pos: position{line: 652, col: 5, offset: 20951}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 652, col: 14, offset: 20960}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 663, col: 25, offset: 21324}, - run: (*parser).callonFileInclusion109, - expr: &seqExpr{ - pos: position{line: 663, col: 25, offset: 21324}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 663, col: 25, offset: 21324}, - val: "{counter:", - ignoreCase: false, - want: "\"{counter:\"", - }, - &labeledExpr{ - pos: position{line: 663, col: 37, offset: 21336}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonFileInclusion113, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 663, col: 56, offset: 21355}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 663, col: 62, offset: 21361}, - expr: &actionExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - run: (*parser).callonFileInclusion120, - expr: &seqExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 671, col: 17, offset: 21656}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 671, col: 21, offset: 21660}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - run: (*parser).callonFileInclusion125, - expr: &charClassMatcher{ - pos: position{line: 671, col: 28, offset: 21667}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - run: (*parser).callonFileInclusion127, - expr: &oneOrMoreExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - expr: &charClassMatcher{ - pos: position{line: 673, col: 9, offset: 21721}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 663, col: 78, offset: 21377}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 667, col: 25, offset: 21495}, - run: (*parser).callonFileInclusion131, - expr: &seqExpr{ - pos: position{line: 667, col: 25, offset: 21495}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 667, col: 25, offset: 21495}, - val: "{counter2:", - ignoreCase: false, - want: "\"{counter2:\"", - }, - &labeledExpr{ - pos: position{line: 667, col: 38, offset: 21508}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonFileInclusion135, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 667, col: 57, offset: 21527}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 667, col: 63, offset: 21533}, - expr: &actionExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - run: (*parser).callonFileInclusion142, - expr: &seqExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 671, col: 17, offset: 21656}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 671, col: 21, offset: 21660}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - run: (*parser).callonFileInclusion147, - expr: &charClassMatcher{ - pos: position{line: 671, col: 28, offset: 21667}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - run: (*parser).callonFileInclusion149, - expr: &oneOrMoreExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - expr: &charClassMatcher{ - pos: position{line: 673, col: 9, offset: 21721}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 667, col: 79, offset: 21549}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 656, col: 31, offset: 21077}, - run: (*parser).callonFileInclusion153, - expr: &seqExpr{ - pos: position{line: 656, col: 31, offset: 21077}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 656, col: 31, offset: 21077}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - &labeledExpr{ - pos: position{line: 656, col: 35, offset: 21081}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonFileInclusion157, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - 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: 54, offset: 21100}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, + &actionExpr{ + pos: position{line: 680, col: 9, offset: 21745}, + run: (*parser).callonFileInclusion76, + expr: &oneOrMoreExpr{ + pos: position{line: 680, col: 9, offset: 21745}, + expr: &charClassMatcher{ + pos: position{line: 680, col: 9, offset: 21745}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, }, }, }, }, }, }, - &actionExpr{ - pos: position{line: 706, col: 8, offset: 23039}, - run: (*parser).callonFileInclusion163, - expr: &litMatcher{ - pos: position{line: 706, col: 8, offset: 23039}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - }, }, }, }, }, - &litMatcher{ - pos: position{line: 691, col: 79, offset: 22427}, - val: ">>", - ignoreCase: false, - want: "\">>\"", - }, + }, + &litMatcher{ + pos: position{line: 674, col: 79, offset: 21573}, + val: "}", + ignoreCase: false, + want: "\"}\"", }, }, }, - &actionExpr{ - pos: position{line: 693, col: 9, offset: 22500}, - run: (*parser).callonFileInclusion166, - expr: &seqExpr{ - pos: position{line: 693, col: 9, offset: 22500}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 693, col: 9, offset: 22500}, - val: "<<", - ignoreCase: false, - want: "\"<<\"", - }, - &labeledExpr{ - pos: position{line: 693, col: 14, offset: 22505}, - label: "id", - expr: &actionExpr{ - pos: position{line: 2913, col: 7, offset: 95667}, - run: (*parser).callonFileInclusion170, - expr: &oneOrMoreExpr{ - pos: position{line: 2913, col: 7, offset: 95667}, - expr: &charClassMatcher{ - pos: position{line: 2913, col: 7, offset: 95667}, - val: "[^[]<>,]", - chars: []rune{'[', ']', '<', '>', ','}, + }, + &actionExpr{ + pos: position{line: 663, col: 5, offset: 21092}, + run: (*parser).callonFileInclusion80, + expr: &seqExpr{ + pos: position{line: 663, col: 5, offset: 21092}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 663, col: 5, offset: 21092}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + &labeledExpr{ + pos: position{line: 663, col: 9, offset: 21096}, + label: "name", + expr: &actionExpr{ + pos: position{line: 336, col: 18, offset: 10325}, + run: (*parser).callonFileInclusion84, + expr: &seqExpr{ + pos: position{line: 336, col: 18, offset: 10325}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 336, col: 18, offset: 10325}, + 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: 336, col: 28, offset: 10335}, + expr: &charClassMatcher{ + pos: position{line: 336, col: 29, offset: 10336}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, }, }, }, }, - &litMatcher{ - pos: position{line: 693, col: 22, offset: 22513}, - val: ">>", - ignoreCase: false, - want: "\">>\"", - }, + }, + &litMatcher{ + pos: position{line: 663, col: 28, offset: 21115}, + val: "}", + ignoreCase: false, + want: "\"}\"", }, }, }, }, }, }, - &actionExpr{ - pos: position{line: 2646, col: 11, offset: 87365}, - run: (*parser).callonFileInclusion174, - expr: &charClassMatcher{ - pos: position{line: 2646, col: 12, offset: 87366}, - val: "[<>&]", - chars: []rune{'<', '>', '&'}, - ignoreCase: false, - inverted: false, - }, - }, }, }, }, }, + &actionExpr{ + pos: position{line: 2817, col: 11, offset: 92665}, + run: (*parser).callonFileInclusion90, + expr: &litMatcher{ + pos: position{line: 2817, col: 11, offset: 92665}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + }, }, }, - &actionExpr{ - pos: position{line: 2905, col: 7, offset: 95451}, - run: (*parser).callonFileInclusion176, - expr: &litMatcher{ - pos: position{line: 2905, col: 7, offset: 95451}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - }, }, }, }, }, }, &actionExpr{ - pos: position{line: 1085, col: 23, offset: 33674}, - run: (*parser).callonFileInclusion178, + pos: position{line: 1092, col: 23, offset: 33700}, + run: (*parser).callonFileInclusion92, expr: &seqExpr{ - pos: position{line: 1085, col: 23, offset: 33674}, + pos: position{line: 1092, col: 23, offset: 33700}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1083, col: 32, offset: 33642}, + pos: position{line: 1090, col: 32, offset: 33668}, val: "�", ignoreCase: false, want: "\"�\"", }, &labeledExpr{ - pos: position{line: 1085, col: 51, offset: 33702}, + pos: position{line: 1092, col: 51, offset: 33728}, label: "ref", expr: &actionExpr{ - pos: position{line: 1085, col: 56, offset: 33707}, - run: (*parser).callonFileInclusion182, + pos: position{line: 1092, col: 56, offset: 33733}, + run: (*parser).callonFileInclusion96, expr: &oneOrMoreExpr{ - pos: position{line: 1085, col: 56, offset: 33707}, + pos: position{line: 1092, col: 56, offset: 33733}, expr: &charClassMatcher{ - pos: position{line: 1085, col: 56, offset: 33707}, + pos: position{line: 1092, col: 56, offset: 33733}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -2883,7 +2448,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1083, col: 32, offset: 33642}, + pos: position{line: 1090, col: 32, offset: 33668}, val: "�", ignoreCase: false, want: "\"�\"", @@ -2898,10 +2463,10 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 144, col: 9, offset: 3861}, + pos: position{line: 144, col: 9, offset: 3858}, label: "attributes", expr: &ruleRefExpr{ - pos: position{line: 144, col: 21, offset: 3873}, + pos: position{line: 144, col: 21, offset: 3870}, name: "InlineAttributes", }, }, @@ -2910,12 +2475,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 148, col: 5, offset: 4028}, + pos: position{line: 148, col: 5, offset: 4025}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, - run: (*parser).callonFileInclusion189, + pos: position{line: 2838, col: 10, offset: 93169}, + run: (*parser).callonFileInclusion103, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -2924,28 +2489,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, - run: (*parser).callonFileInclusion192, + pos: position{line: 2847, col: 12, offset: 93353}, + run: (*parser).callonFileInclusion106, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -2954,9 +2519,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -2967,59 +2532,59 @@ var g = &grammar{ }, { name: "LineRanges", - pos: position{line: 155, col: 1, offset: 4161}, + pos: position{line: 155, col: 1, offset: 4158}, expr: &actionExpr{ - pos: position{line: 155, col: 15, offset: 4175}, + pos: position{line: 155, col: 15, offset: 4172}, run: (*parser).callonLineRanges1, expr: &seqExpr{ - pos: position{line: 155, col: 15, offset: 4175}, + pos: position{line: 155, col: 15, offset: 4172}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 155, col: 15, offset: 4175}, + pos: position{line: 155, col: 15, offset: 4172}, label: "value", expr: &choiceExpr{ - pos: position{line: 155, col: 22, offset: 4182}, + pos: position{line: 155, col: 22, offset: 4179}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 162, col: 23, offset: 4365}, + pos: position{line: 162, col: 23, offset: 4362}, run: (*parser).callonLineRanges5, expr: &seqExpr{ - pos: position{line: 162, col: 23, offset: 4365}, + pos: position{line: 162, col: 23, offset: 4362}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 162, col: 23, offset: 4365}, + pos: position{line: 162, col: 23, offset: 4362}, label: "first", expr: &choiceExpr{ - pos: position{line: 162, col: 30, offset: 4372}, + pos: position{line: 162, col: 30, offset: 4369}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 171, col: 19, offset: 4730}, + pos: position{line: 171, col: 19, offset: 4727}, run: (*parser).callonLineRanges9, expr: &seqExpr{ - pos: position{line: 171, col: 19, offset: 4730}, + pos: position{line: 171, col: 19, offset: 4727}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 171, col: 19, offset: 4730}, + pos: position{line: 171, col: 19, offset: 4727}, label: "start", expr: &actionExpr{ - pos: position{line: 2920, col: 12, offset: 95842}, + pos: position{line: 2830, col: 12, offset: 92996}, run: (*parser).callonLineRanges12, expr: &seqExpr{ - pos: position{line: 2920, col: 13, offset: 95843}, + pos: position{line: 2830, col: 13, offset: 92997}, exprs: []interface{}{ &zeroOrOneExpr{ - pos: position{line: 2920, col: 13, offset: 95843}, + pos: position{line: 2830, col: 13, offset: 92997}, expr: &litMatcher{ - pos: position{line: 2920, col: 13, offset: 95843}, + pos: position{line: 2830, col: 13, offset: 92997}, val: "-", ignoreCase: false, want: "\"-\"", }, }, &oneOrMoreExpr{ - pos: position{line: 2920, col: 18, offset: 95848}, + pos: position{line: 2830, col: 18, offset: 93002}, expr: &charClassMatcher{ - pos: position{line: 2920, col: 18, offset: 95848}, + pos: position{line: 2830, col: 18, offset: 93002}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -3031,33 +2596,33 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 171, col: 35, offset: 4746}, + pos: position{line: 171, col: 35, offset: 4743}, val: "..", ignoreCase: false, want: "\"..\"", }, &labeledExpr{ - pos: position{line: 171, col: 40, offset: 4751}, + pos: position{line: 171, col: 40, offset: 4748}, label: "end", expr: &actionExpr{ - pos: position{line: 2920, col: 12, offset: 95842}, + pos: position{line: 2830, col: 12, offset: 92996}, run: (*parser).callonLineRanges20, expr: &seqExpr{ - pos: position{line: 2920, col: 13, offset: 95843}, + pos: position{line: 2830, col: 13, offset: 92997}, exprs: []interface{}{ &zeroOrOneExpr{ - pos: position{line: 2920, col: 13, offset: 95843}, + pos: position{line: 2830, col: 13, offset: 92997}, expr: &litMatcher{ - pos: position{line: 2920, col: 13, offset: 95843}, + pos: position{line: 2830, col: 13, offset: 92997}, val: "-", ignoreCase: false, want: "\"-\"", }, }, &oneOrMoreExpr{ - pos: position{line: 2920, col: 18, offset: 95848}, + pos: position{line: 2830, col: 18, offset: 93002}, expr: &charClassMatcher{ - pos: position{line: 2920, col: 18, offset: 95848}, + pos: position{line: 2830, col: 18, offset: 93002}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -3072,30 +2637,30 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 175, col: 20, offset: 4872}, + pos: position{line: 175, col: 20, offset: 4869}, run: (*parser).callonLineRanges26, expr: &labeledExpr{ - pos: position{line: 175, col: 20, offset: 4872}, + pos: position{line: 175, col: 20, offset: 4869}, label: "singleline", expr: &actionExpr{ - pos: position{line: 2920, col: 12, offset: 95842}, + pos: position{line: 2830, col: 12, offset: 92996}, run: (*parser).callonLineRanges28, expr: &seqExpr{ - pos: position{line: 2920, col: 13, offset: 95843}, + pos: position{line: 2830, col: 13, offset: 92997}, exprs: []interface{}{ &zeroOrOneExpr{ - pos: position{line: 2920, col: 13, offset: 95843}, + pos: position{line: 2830, col: 13, offset: 92997}, expr: &litMatcher{ - pos: position{line: 2920, col: 13, offset: 95843}, + pos: position{line: 2830, col: 13, offset: 92997}, val: "-", ignoreCase: false, want: "\"-\"", }, }, &oneOrMoreExpr{ - pos: position{line: 2920, col: 18, offset: 95848}, + pos: position{line: 2830, col: 18, offset: 93002}, expr: &charClassMatcher{ - pos: position{line: 2920, col: 18, offset: 95848}, + pos: position{line: 2830, col: 18, offset: 93002}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -3111,57 +2676,57 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 163, col: 5, offset: 4411}, + pos: position{line: 163, col: 5, offset: 4408}, label: "others", expr: &oneOrMoreExpr{ - pos: position{line: 163, col: 12, offset: 4418}, + pos: position{line: 163, col: 12, offset: 4415}, expr: &actionExpr{ - pos: position{line: 164, col: 9, offset: 4428}, + pos: position{line: 164, col: 9, offset: 4425}, run: (*parser).callonLineRanges36, expr: &seqExpr{ - pos: position{line: 164, col: 9, offset: 4428}, + pos: position{line: 164, col: 9, offset: 4425}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 164, col: 10, offset: 4429}, + pos: position{line: 164, col: 10, offset: 4426}, val: "[,;]", chars: []rune{',', ';'}, ignoreCase: false, inverted: false, }, &labeledExpr{ - pos: position{line: 165, col: 9, offset: 4546}, + pos: position{line: 165, col: 9, offset: 4543}, label: "other", expr: &choiceExpr{ - pos: position{line: 165, col: 16, offset: 4553}, + pos: position{line: 165, col: 16, offset: 4550}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 171, col: 19, offset: 4730}, + pos: position{line: 171, col: 19, offset: 4727}, run: (*parser).callonLineRanges41, expr: &seqExpr{ - pos: position{line: 171, col: 19, offset: 4730}, + pos: position{line: 171, col: 19, offset: 4727}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 171, col: 19, offset: 4730}, + pos: position{line: 171, col: 19, offset: 4727}, label: "start", expr: &actionExpr{ - pos: position{line: 2920, col: 12, offset: 95842}, + pos: position{line: 2830, col: 12, offset: 92996}, run: (*parser).callonLineRanges44, expr: &seqExpr{ - pos: position{line: 2920, col: 13, offset: 95843}, + pos: position{line: 2830, col: 13, offset: 92997}, exprs: []interface{}{ &zeroOrOneExpr{ - pos: position{line: 2920, col: 13, offset: 95843}, + pos: position{line: 2830, col: 13, offset: 92997}, expr: &litMatcher{ - pos: position{line: 2920, col: 13, offset: 95843}, + pos: position{line: 2830, col: 13, offset: 92997}, val: "-", ignoreCase: false, want: "\"-\"", }, }, &oneOrMoreExpr{ - pos: position{line: 2920, col: 18, offset: 95848}, + pos: position{line: 2830, col: 18, offset: 93002}, expr: &charClassMatcher{ - pos: position{line: 2920, col: 18, offset: 95848}, + pos: position{line: 2830, col: 18, offset: 93002}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -3173,33 +2738,33 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 171, col: 35, offset: 4746}, + pos: position{line: 171, col: 35, offset: 4743}, val: "..", ignoreCase: false, want: "\"..\"", }, &labeledExpr{ - pos: position{line: 171, col: 40, offset: 4751}, + pos: position{line: 171, col: 40, offset: 4748}, label: "end", expr: &actionExpr{ - pos: position{line: 2920, col: 12, offset: 95842}, + pos: position{line: 2830, col: 12, offset: 92996}, run: (*parser).callonLineRanges52, expr: &seqExpr{ - pos: position{line: 2920, col: 13, offset: 95843}, + pos: position{line: 2830, col: 13, offset: 92997}, exprs: []interface{}{ &zeroOrOneExpr{ - pos: position{line: 2920, col: 13, offset: 95843}, + pos: position{line: 2830, col: 13, offset: 92997}, expr: &litMatcher{ - pos: position{line: 2920, col: 13, offset: 95843}, + pos: position{line: 2830, col: 13, offset: 92997}, val: "-", ignoreCase: false, want: "\"-\"", }, }, &oneOrMoreExpr{ - pos: position{line: 2920, col: 18, offset: 95848}, + pos: position{line: 2830, col: 18, offset: 93002}, expr: &charClassMatcher{ - pos: position{line: 2920, col: 18, offset: 95848}, + pos: position{line: 2830, col: 18, offset: 93002}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -3214,30 +2779,30 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 175, col: 20, offset: 4872}, + pos: position{line: 175, col: 20, offset: 4869}, run: (*parser).callonLineRanges58, expr: &labeledExpr{ - pos: position{line: 175, col: 20, offset: 4872}, + pos: position{line: 175, col: 20, offset: 4869}, label: "singleline", expr: &actionExpr{ - pos: position{line: 2920, col: 12, offset: 95842}, + pos: position{line: 2830, col: 12, offset: 92996}, run: (*parser).callonLineRanges60, expr: &seqExpr{ - pos: position{line: 2920, col: 13, offset: 95843}, + pos: position{line: 2830, col: 13, offset: 92997}, exprs: []interface{}{ &zeroOrOneExpr{ - pos: position{line: 2920, col: 13, offset: 95843}, + pos: position{line: 2830, col: 13, offset: 92997}, expr: &litMatcher{ - pos: position{line: 2920, col: 13, offset: 95843}, + pos: position{line: 2830, col: 13, offset: 92997}, val: "-", ignoreCase: false, want: "\"-\"", }, }, &oneOrMoreExpr{ - pos: position{line: 2920, col: 18, offset: 95848}, + pos: position{line: 2830, col: 18, offset: 93002}, expr: &charClassMatcher{ - pos: position{line: 2920, col: 18, offset: 95848}, + pos: position{line: 2830, col: 18, offset: 93002}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -3261,33 +2826,33 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 171, col: 19, offset: 4730}, + pos: position{line: 171, col: 19, offset: 4727}, run: (*parser).callonLineRanges66, expr: &seqExpr{ - pos: position{line: 171, col: 19, offset: 4730}, + pos: position{line: 171, col: 19, offset: 4727}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 171, col: 19, offset: 4730}, + pos: position{line: 171, col: 19, offset: 4727}, label: "start", expr: &actionExpr{ - pos: position{line: 2920, col: 12, offset: 95842}, + pos: position{line: 2830, col: 12, offset: 92996}, run: (*parser).callonLineRanges69, expr: &seqExpr{ - pos: position{line: 2920, col: 13, offset: 95843}, + pos: position{line: 2830, col: 13, offset: 92997}, exprs: []interface{}{ &zeroOrOneExpr{ - pos: position{line: 2920, col: 13, offset: 95843}, + pos: position{line: 2830, col: 13, offset: 92997}, expr: &litMatcher{ - pos: position{line: 2920, col: 13, offset: 95843}, + pos: position{line: 2830, col: 13, offset: 92997}, val: "-", ignoreCase: false, want: "\"-\"", }, }, &oneOrMoreExpr{ - pos: position{line: 2920, col: 18, offset: 95848}, + pos: position{line: 2830, col: 18, offset: 93002}, expr: &charClassMatcher{ - pos: position{line: 2920, col: 18, offset: 95848}, + pos: position{line: 2830, col: 18, offset: 93002}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -3299,33 +2864,33 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 171, col: 35, offset: 4746}, + pos: position{line: 171, col: 35, offset: 4743}, val: "..", ignoreCase: false, want: "\"..\"", }, &labeledExpr{ - pos: position{line: 171, col: 40, offset: 4751}, + pos: position{line: 171, col: 40, offset: 4748}, label: "end", expr: &actionExpr{ - pos: position{line: 2920, col: 12, offset: 95842}, + pos: position{line: 2830, col: 12, offset: 92996}, run: (*parser).callonLineRanges77, expr: &seqExpr{ - pos: position{line: 2920, col: 13, offset: 95843}, + pos: position{line: 2830, col: 13, offset: 92997}, exprs: []interface{}{ &zeroOrOneExpr{ - pos: position{line: 2920, col: 13, offset: 95843}, + pos: position{line: 2830, col: 13, offset: 92997}, expr: &litMatcher{ - pos: position{line: 2920, col: 13, offset: 95843}, + pos: position{line: 2830, col: 13, offset: 92997}, val: "-", ignoreCase: false, want: "\"-\"", }, }, &oneOrMoreExpr{ - pos: position{line: 2920, col: 18, offset: 95848}, + pos: position{line: 2830, col: 18, offset: 93002}, expr: &charClassMatcher{ - pos: position{line: 2920, col: 18, offset: 95848}, + pos: position{line: 2830, col: 18, offset: 93002}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -3340,30 +2905,30 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 175, col: 20, offset: 4872}, + pos: position{line: 175, col: 20, offset: 4869}, run: (*parser).callonLineRanges83, expr: &labeledExpr{ - pos: position{line: 175, col: 20, offset: 4872}, + pos: position{line: 175, col: 20, offset: 4869}, label: "singleline", expr: &actionExpr{ - pos: position{line: 2920, col: 12, offset: 95842}, + pos: position{line: 2830, col: 12, offset: 92996}, run: (*parser).callonLineRanges85, expr: &seqExpr{ - pos: position{line: 2920, col: 13, offset: 95843}, + pos: position{line: 2830, col: 13, offset: 92997}, exprs: []interface{}{ &zeroOrOneExpr{ - pos: position{line: 2920, col: 13, offset: 95843}, + pos: position{line: 2830, col: 13, offset: 92997}, expr: &litMatcher{ - pos: position{line: 2920, col: 13, offset: 95843}, + pos: position{line: 2830, col: 13, offset: 92997}, val: "-", ignoreCase: false, want: "\"-\"", }, }, &oneOrMoreExpr{ - pos: position{line: 2920, col: 18, offset: 95848}, + pos: position{line: 2830, col: 18, offset: 93002}, expr: &charClassMatcher{ - pos: position{line: 2920, col: 18, offset: 95848}, + pos: position{line: 2830, col: 18, offset: 93002}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -3379,9 +2944,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -3390,44 +2955,44 @@ var g = &grammar{ }, { name: "TagRanges", - pos: position{line: 180, col: 1, offset: 5008}, + pos: position{line: 180, col: 1, offset: 5005}, expr: &actionExpr{ - pos: position{line: 180, col: 14, offset: 5021}, + pos: position{line: 180, col: 14, offset: 5018}, run: (*parser).callonTagRanges1, expr: &seqExpr{ - pos: position{line: 180, col: 14, offset: 5021}, + pos: position{line: 180, col: 14, offset: 5018}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 180, col: 14, offset: 5021}, + pos: position{line: 180, col: 14, offset: 5018}, label: "value", expr: &actionExpr{ - pos: position{line: 184, col: 22, offset: 5158}, + pos: position{line: 184, col: 22, offset: 5155}, run: (*parser).callonTagRanges4, expr: &seqExpr{ - pos: position{line: 184, col: 22, offset: 5158}, + pos: position{line: 184, col: 22, offset: 5155}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 184, col: 22, offset: 5158}, + pos: position{line: 184, col: 22, offset: 5155}, label: "first", expr: &choiceExpr{ - pos: position{line: 193, col: 13, offset: 5468}, + pos: position{line: 193, col: 13, offset: 5465}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 193, col: 13, offset: 5468}, + pos: position{line: 193, col: 13, offset: 5465}, run: (*parser).callonTagRanges8, expr: &labeledExpr{ - pos: position{line: 193, col: 13, offset: 5468}, + pos: position{line: 193, col: 13, offset: 5465}, label: "tag", expr: &choiceExpr{ - pos: position{line: 193, col: 18, offset: 5473}, + pos: position{line: 193, col: 18, offset: 5470}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2856, col: 14, offset: 93755}, + pos: position{line: 2757, col: 14, offset: 90514}, run: (*parser).callonTagRanges11, expr: &oneOrMoreExpr{ - pos: position{line: 2856, col: 14, offset: 93755}, + pos: position{line: 2757, col: 14, offset: 90514}, expr: &charClassMatcher{ - pos: position{line: 2856, col: 14, offset: 93755}, + pos: position{line: 2757, col: 14, offset: 90514}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -3437,21 +3002,21 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 199, col: 16, offset: 5673}, + pos: position{line: 199, col: 16, offset: 5670}, run: (*parser).callonTagRanges14, expr: &seqExpr{ - pos: position{line: 199, col: 16, offset: 5673}, + pos: position{line: 199, col: 16, offset: 5670}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 199, col: 16, offset: 5673}, + pos: position{line: 199, col: 16, offset: 5670}, label: "stars", expr: &actionExpr{ - pos: position{line: 199, col: 23, offset: 5680}, + pos: position{line: 199, col: 23, offset: 5677}, run: (*parser).callonTagRanges17, expr: &oneOrMoreExpr{ - pos: position{line: 199, col: 23, offset: 5680}, + pos: position{line: 199, col: 23, offset: 5677}, expr: &litMatcher{ - pos: position{line: 199, col: 24, offset: 5681}, + pos: position{line: 199, col: 24, offset: 5678}, val: "*", ignoreCase: false, want: "\"*\"", @@ -3460,7 +3025,7 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 202, col: 5, offset: 5735}, + pos: position{line: 202, col: 5, offset: 5732}, run: (*parser).callonTagRanges20, }, }, @@ -3471,30 +3036,30 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 195, col: 9, offset: 5561}, + pos: position{line: 195, col: 9, offset: 5558}, run: (*parser).callonTagRanges21, expr: &seqExpr{ - pos: position{line: 195, col: 9, offset: 5561}, + pos: position{line: 195, col: 9, offset: 5558}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 195, col: 9, offset: 5561}, + pos: position{line: 195, col: 9, offset: 5558}, val: "!", ignoreCase: false, want: "\"!\"", }, &labeledExpr{ - pos: position{line: 195, col: 13, offset: 5565}, + pos: position{line: 195, col: 13, offset: 5562}, label: "tag", expr: &choiceExpr{ - pos: position{line: 195, col: 18, offset: 5570}, + pos: position{line: 195, col: 18, offset: 5567}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2856, col: 14, offset: 93755}, + pos: position{line: 2757, col: 14, offset: 90514}, run: (*parser).callonTagRanges26, expr: &oneOrMoreExpr{ - pos: position{line: 2856, col: 14, offset: 93755}, + pos: position{line: 2757, col: 14, offset: 90514}, expr: &charClassMatcher{ - pos: position{line: 2856, col: 14, offset: 93755}, + pos: position{line: 2757, col: 14, offset: 90514}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -3504,21 +3069,21 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 199, col: 16, offset: 5673}, + pos: position{line: 199, col: 16, offset: 5670}, run: (*parser).callonTagRanges29, expr: &seqExpr{ - pos: position{line: 199, col: 16, offset: 5673}, + pos: position{line: 199, col: 16, offset: 5670}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 199, col: 16, offset: 5673}, + pos: position{line: 199, col: 16, offset: 5670}, label: "stars", expr: &actionExpr{ - pos: position{line: 199, col: 23, offset: 5680}, + pos: position{line: 199, col: 23, offset: 5677}, run: (*parser).callonTagRanges32, expr: &oneOrMoreExpr{ - pos: position{line: 199, col: 23, offset: 5680}, + pos: position{line: 199, col: 23, offset: 5677}, expr: &litMatcher{ - pos: position{line: 199, col: 24, offset: 5681}, + pos: position{line: 199, col: 24, offset: 5678}, val: "*", ignoreCase: false, want: "\"*\"", @@ -3527,7 +3092,7 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 202, col: 5, offset: 5735}, + pos: position{line: 202, col: 5, offset: 5732}, run: (*parser).callonTagRanges35, }, }, @@ -3543,45 +3108,45 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 185, col: 5, offset: 5179}, + pos: position{line: 185, col: 5, offset: 5176}, label: "others", expr: &zeroOrMoreExpr{ - pos: position{line: 185, col: 12, offset: 5186}, + pos: position{line: 185, col: 12, offset: 5183}, expr: &actionExpr{ - pos: position{line: 186, col: 9, offset: 5196}, + pos: position{line: 186, col: 9, offset: 5193}, run: (*parser).callonTagRanges38, expr: &seqExpr{ - pos: position{line: 186, col: 9, offset: 5196}, + pos: position{line: 186, col: 9, offset: 5193}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 186, col: 10, offset: 5197}, + pos: position{line: 186, col: 10, offset: 5194}, val: "[,;]", chars: []rune{',', ';'}, ignoreCase: false, inverted: false, }, &labeledExpr{ - pos: position{line: 187, col: 9, offset: 5314}, + pos: position{line: 187, col: 9, offset: 5311}, label: "other", expr: &choiceExpr{ - pos: position{line: 193, col: 13, offset: 5468}, + pos: position{line: 193, col: 13, offset: 5465}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 193, col: 13, offset: 5468}, + pos: position{line: 193, col: 13, offset: 5465}, run: (*parser).callonTagRanges43, expr: &labeledExpr{ - pos: position{line: 193, col: 13, offset: 5468}, + pos: position{line: 193, col: 13, offset: 5465}, label: "tag", expr: &choiceExpr{ - pos: position{line: 193, col: 18, offset: 5473}, + pos: position{line: 193, col: 18, offset: 5470}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2856, col: 14, offset: 93755}, + pos: position{line: 2757, col: 14, offset: 90514}, run: (*parser).callonTagRanges46, expr: &oneOrMoreExpr{ - pos: position{line: 2856, col: 14, offset: 93755}, + pos: position{line: 2757, col: 14, offset: 90514}, expr: &charClassMatcher{ - pos: position{line: 2856, col: 14, offset: 93755}, + pos: position{line: 2757, col: 14, offset: 90514}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -3591,21 +3156,21 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 199, col: 16, offset: 5673}, + pos: position{line: 199, col: 16, offset: 5670}, run: (*parser).callonTagRanges49, expr: &seqExpr{ - pos: position{line: 199, col: 16, offset: 5673}, + pos: position{line: 199, col: 16, offset: 5670}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 199, col: 16, offset: 5673}, + pos: position{line: 199, col: 16, offset: 5670}, label: "stars", expr: &actionExpr{ - pos: position{line: 199, col: 23, offset: 5680}, + pos: position{line: 199, col: 23, offset: 5677}, run: (*parser).callonTagRanges52, expr: &oneOrMoreExpr{ - pos: position{line: 199, col: 23, offset: 5680}, + pos: position{line: 199, col: 23, offset: 5677}, expr: &litMatcher{ - pos: position{line: 199, col: 24, offset: 5681}, + pos: position{line: 199, col: 24, offset: 5678}, val: "*", ignoreCase: false, want: "\"*\"", @@ -3614,7 +3179,7 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 202, col: 5, offset: 5735}, + pos: position{line: 202, col: 5, offset: 5732}, run: (*parser).callonTagRanges55, }, }, @@ -3625,30 +3190,30 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 195, col: 9, offset: 5561}, + pos: position{line: 195, col: 9, offset: 5558}, run: (*parser).callonTagRanges56, expr: &seqExpr{ - pos: position{line: 195, col: 9, offset: 5561}, + pos: position{line: 195, col: 9, offset: 5558}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 195, col: 9, offset: 5561}, + pos: position{line: 195, col: 9, offset: 5558}, val: "!", ignoreCase: false, want: "\"!\"", }, &labeledExpr{ - pos: position{line: 195, col: 13, offset: 5565}, + pos: position{line: 195, col: 13, offset: 5562}, label: "tag", expr: &choiceExpr{ - pos: position{line: 195, col: 18, offset: 5570}, + pos: position{line: 195, col: 18, offset: 5567}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2856, col: 14, offset: 93755}, + pos: position{line: 2757, col: 14, offset: 90514}, run: (*parser).callonTagRanges61, expr: &oneOrMoreExpr{ - pos: position{line: 2856, col: 14, offset: 93755}, + pos: position{line: 2757, col: 14, offset: 90514}, expr: &charClassMatcher{ - pos: position{line: 2856, col: 14, offset: 93755}, + pos: position{line: 2757, col: 14, offset: 90514}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -3658,21 +3223,21 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 199, col: 16, offset: 5673}, + pos: position{line: 199, col: 16, offset: 5670}, run: (*parser).callonTagRanges64, expr: &seqExpr{ - pos: position{line: 199, col: 16, offset: 5673}, + pos: position{line: 199, col: 16, offset: 5670}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 199, col: 16, offset: 5673}, + pos: position{line: 199, col: 16, offset: 5670}, label: "stars", expr: &actionExpr{ - pos: position{line: 199, col: 23, offset: 5680}, + pos: position{line: 199, col: 23, offset: 5677}, run: (*parser).callonTagRanges67, expr: &oneOrMoreExpr{ - pos: position{line: 199, col: 23, offset: 5680}, + pos: position{line: 199, col: 23, offset: 5677}, expr: &litMatcher{ - pos: position{line: 199, col: 24, offset: 5681}, + pos: position{line: 199, col: 24, offset: 5678}, val: "*", ignoreCase: false, want: "\"*\"", @@ -3681,7 +3246,7 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 202, col: 5, offset: 5735}, + pos: position{line: 202, col: 5, offset: 5732}, run: (*parser).callonTagRanges70, }, }, @@ -3706,9 +3271,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -3717,46 +3282,46 @@ var g = &grammar{ }, { name: "IncludedFileLine", - pos: position{line: 209, col: 1, offset: 5902}, + pos: position{line: 209, col: 1, offset: 5899}, expr: &actionExpr{ - pos: position{line: 209, col: 21, offset: 5922}, + pos: position{line: 209, col: 21, offset: 5919}, run: (*parser).callonIncludedFileLine1, expr: &seqExpr{ - pos: position{line: 209, col: 21, offset: 5922}, + pos: position{line: 209, col: 21, offset: 5919}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 209, col: 21, offset: 5922}, + pos: position{line: 209, col: 21, offset: 5919}, label: "content", expr: &zeroOrMoreExpr{ - pos: position{line: 209, col: 29, offset: 5930}, + pos: position{line: 209, col: 29, offset: 5927}, expr: &choiceExpr{ - pos: position{line: 209, col: 30, offset: 5931}, + pos: position{line: 209, col: 30, offset: 5928}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 213, col: 25, offset: 6111}, + pos: position{line: 213, col: 25, offset: 6108}, run: (*parser).callonIncludedFileLine6, expr: &seqExpr{ - pos: position{line: 213, col: 25, offset: 6111}, + pos: position{line: 213, col: 25, offset: 6108}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 213, col: 25, offset: 6111}, + pos: position{line: 213, col: 25, offset: 6108}, val: "tag::", ignoreCase: false, want: "\"tag::\"", }, &labeledExpr{ - pos: position{line: 213, col: 33, offset: 6119}, + pos: position{line: 213, col: 33, offset: 6116}, label: "tag", expr: &actionExpr{ - pos: position{line: 213, col: 38, offset: 6124}, + pos: position{line: 213, col: 38, offset: 6121}, run: (*parser).callonIncludedFileLine10, expr: &actionExpr{ - pos: position{line: 2856, col: 14, offset: 93755}, + pos: position{line: 2757, col: 14, offset: 90514}, run: (*parser).callonIncludedFileLine11, expr: &oneOrMoreExpr{ - pos: position{line: 2856, col: 14, offset: 93755}, + pos: position{line: 2757, col: 14, offset: 90514}, expr: &charClassMatcher{ - pos: position{line: 2856, col: 14, offset: 93755}, + pos: position{line: 2757, col: 14, offset: 90514}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -3768,7 +3333,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 213, col: 78, offset: 6164}, + pos: position{line: 213, col: 78, offset: 6161}, val: "[]", ignoreCase: false, want: "\"[]\"", @@ -3777,30 +3342,30 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 217, col: 23, offset: 6259}, + pos: position{line: 217, col: 23, offset: 6256}, run: (*parser).callonIncludedFileLine15, expr: &seqExpr{ - pos: position{line: 217, col: 23, offset: 6259}, + pos: position{line: 217, col: 23, offset: 6256}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 217, col: 23, offset: 6259}, + pos: position{line: 217, col: 23, offset: 6256}, val: "end::", ignoreCase: false, want: "\"end::\"", }, &labeledExpr{ - pos: position{line: 217, col: 31, offset: 6267}, + pos: position{line: 217, col: 31, offset: 6264}, label: "tag", expr: &actionExpr{ - pos: position{line: 217, col: 36, offset: 6272}, + pos: position{line: 217, col: 36, offset: 6269}, run: (*parser).callonIncludedFileLine19, expr: &actionExpr{ - pos: position{line: 2856, col: 14, offset: 93755}, + pos: position{line: 2757, col: 14, offset: 90514}, run: (*parser).callonIncludedFileLine20, expr: &oneOrMoreExpr{ - pos: position{line: 2856, col: 14, offset: 93755}, + pos: position{line: 2757, col: 14, offset: 90514}, expr: &charClassMatcher{ - pos: position{line: 2856, col: 14, offset: 93755}, + pos: position{line: 2757, col: 14, offset: 90514}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -3812,7 +3377,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 217, col: 76, offset: 6312}, + pos: position{line: 217, col: 76, offset: 6309}, val: "[]", ignoreCase: false, want: "\"[]\"", @@ -3821,10 +3386,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 209, col: 74, offset: 5975}, + pos: position{line: 209, col: 74, offset: 5972}, run: (*parser).callonIncludedFileLine24, expr: &anyMatcher{ - line: 209, col: 74, offset: 5975, + line: 209, col: 74, offset: 5972, }, }, }, @@ -3832,28 +3397,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonIncludedFileLine27, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -3862,9 +3427,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -3875,80 +3440,80 @@ var g = &grammar{ }, { name: "DocumentFragment", - pos: position{line: 233, col: 1, offset: 6798}, + pos: position{line: 233, col: 1, offset: 6795}, expr: &actionExpr{ - pos: position{line: 234, col: 5, offset: 6822}, + pos: position{line: 234, col: 5, offset: 6819}, run: (*parser).callonDocumentFragment1, expr: &seqExpr{ - pos: position{line: 234, col: 5, offset: 6822}, + pos: position{line: 234, col: 5, offset: 6819}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 234, col: 5, offset: 6822}, + pos: position{line: 234, col: 5, offset: 6819}, expr: ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, &labeledExpr{ - pos: position{line: 235, col: 5, offset: 6831}, + pos: position{line: 235, col: 5, offset: 6828}, label: "attributes", expr: &zeroOrOneExpr{ - pos: position{line: 235, col: 16, offset: 6842}, + pos: position{line: 235, col: 16, offset: 6839}, expr: &ruleRefExpr{ - pos: position{line: 235, col: 17, offset: 6843}, + pos: position{line: 235, col: 17, offset: 6840}, name: "BlockAttributes", }, }, }, &labeledExpr{ - pos: position{line: 236, col: 5, offset: 6865}, + pos: position{line: 236, col: 5, offset: 6862}, label: "element", expr: &zeroOrOneExpr{ - pos: position{line: 236, col: 13, offset: 6873}, + pos: position{line: 236, col: 13, offset: 6870}, expr: &choiceExpr{ - pos: position{line: 237, col: 9, offset: 6883}, + pos: position{line: 237, col: 9, offset: 6880}, alternatives: []interface{}{ &ruleRefExpr{ - pos: position{line: 237, col: 9, offset: 6883}, + pos: position{line: 237, col: 9, offset: 6880}, name: "ImageBlock", }, &ruleRefExpr{ - pos: position{line: 238, col: 11, offset: 6944}, + pos: position{line: 238, col: 11, offset: 6941}, name: "UserMacroBlock", }, &ruleRefExpr{ - pos: position{line: 239, col: 11, offset: 7009}, + pos: position{line: 239, col: 11, offset: 7006}, name: "ShortcutParagraph", }, &ruleRefExpr{ - pos: position{line: 240, col: 11, offset: 7037}, + pos: position{line: 240, col: 11, offset: 7034}, name: "AttributeDeclaration", }, &actionExpr{ - pos: position{line: 376, col: 19, offset: 11435}, + pos: position{line: 376, col: 19, offset: 11424}, run: (*parser).callonDocumentFragment16, expr: &seqExpr{ - pos: position{line: 376, col: 19, offset: 11435}, + pos: position{line: 376, col: 19, offset: 11424}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 376, col: 19, offset: 11435}, + pos: position{line: 376, col: 19, offset: 11424}, val: ":!", ignoreCase: false, want: "\":!\"", }, &labeledExpr{ - pos: position{line: 376, col: 24, offset: 11440}, + pos: position{line: 376, col: 24, offset: 11429}, label: "name", expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, run: (*parser).callonDocumentFragment20, expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -3957,9 +3522,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, + pos: position{line: 336, col: 28, offset: 10335}, expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, + pos: position{line: 336, col: 29, offset: 10336}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -3973,18 +3538,18 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 376, col: 45, offset: 11461}, + pos: position{line: 376, col: 45, offset: 11450}, val: ":", ignoreCase: false, want: "\":\"", }, &zeroOrMoreExpr{ - pos: position{line: 376, col: 49, offset: 11465}, + pos: position{line: 376, col: 49, offset: 11454}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonDocumentFragment27, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -3993,28 +3558,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonDocumentFragment30, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -4023,9 +3588,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -4034,28 +3599,28 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 378, col: 5, offset: 11548}, + pos: position{line: 378, col: 5, offset: 11537}, run: (*parser).callonDocumentFragment37, expr: &seqExpr{ - pos: position{line: 378, col: 5, offset: 11548}, + pos: position{line: 378, col: 5, offset: 11537}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 378, col: 5, offset: 11548}, + pos: position{line: 378, col: 5, offset: 11537}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 378, col: 9, offset: 11552}, + pos: position{line: 378, col: 9, offset: 11541}, label: "name", expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, run: (*parser).callonDocumentFragment41, expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -4064,9 +3629,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, + pos: position{line: 336, col: 28, offset: 10335}, expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, + pos: position{line: 336, col: 29, offset: 10336}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -4080,18 +3645,18 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 378, col: 30, offset: 11573}, + pos: position{line: 378, col: 30, offset: 11562}, val: "!:", ignoreCase: false, want: "\"!:\"", }, &zeroOrMoreExpr{ - pos: position{line: 378, col: 35, offset: 11578}, + pos: position{line: 378, col: 35, offset: 11567}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonDocumentFragment48, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -4100,28 +3665,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonDocumentFragment51, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -4130,9 +3695,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -4141,31 +3706,31 @@ var g = &grammar{ }, }, &ruleRefExpr{ - pos: position{line: 242, col: 11, offset: 7093}, + pos: position{line: 242, col: 11, offset: 7090}, name: "DocumentHeader", }, &actionExpr{ - pos: position{line: 682, col: 14, offset: 22022}, + pos: position{line: 689, col: 14, offset: 22046}, run: (*parser).callonDocumentFragment59, expr: &seqExpr{ - pos: position{line: 682, col: 14, offset: 22022}, + pos: position{line: 689, col: 14, offset: 22046}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 682, col: 14, offset: 22022}, + pos: position{line: 689, col: 14, offset: 22046}, expr: ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, &zeroOrMoreExpr{ - pos: position{line: 682, col: 19, offset: 22027}, + pos: position{line: 689, col: 19, offset: 22051}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonDocumentFragment65, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -4174,28 +3739,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonDocumentFragment68, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -4204,9 +3769,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -4215,25 +3780,25 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2401, col: 5, offset: 80064}, + pos: position{line: 2408, col: 5, offset: 80145}, run: (*parser).callonDocumentFragment75, expr: &seqExpr{ - pos: position{line: 2401, col: 5, offset: 80064}, + pos: position{line: 2408, col: 5, offset: 80145}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 2401, col: 5, offset: 80064}, + pos: position{line: 2408, col: 5, offset: 80145}, run: (*parser).callonDocumentFragment77, }, &labeledExpr{ - pos: position{line: 2404, col: 5, offset: 80127}, + pos: position{line: 2411, col: 5, offset: 80208}, label: "level", expr: &actionExpr{ - pos: position{line: 2404, col: 12, offset: 80134}, + pos: position{line: 2411, col: 12, offset: 80215}, run: (*parser).callonDocumentFragment79, expr: &oneOrMoreExpr{ - pos: position{line: 2404, col: 12, offset: 80134}, + pos: position{line: 2411, col: 12, offset: 80215}, expr: &litMatcher{ - pos: position{line: 2404, col: 13, offset: 80135}, + pos: position{line: 2411, col: 13, offset: 80216}, val: "=", ignoreCase: false, want: "\"=\"", @@ -4242,16 +3807,16 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 2408, col: 5, offset: 80243}, + pos: position{line: 2415, col: 5, offset: 80324}, run: (*parser).callonDocumentFragment82, }, &actionExpr{ - pos: position{line: 2932, col: 11, offset: 96082}, + pos: position{line: 2842, col: 11, offset: 93236}, run: (*parser).callonDocumentFragment83, expr: &oneOrMoreExpr{ - pos: position{line: 2932, col: 11, offset: 96082}, + pos: position{line: 2842, col: 11, offset: 93236}, expr: &charClassMatcher{ - pos: position{line: 2932, col: 12, offset: 96083}, + pos: position{line: 2842, col: 12, offset: 93237}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -4260,15 +3825,15 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 2412, col: 12, offset: 80402}, + pos: position{line: 2419, col: 12, offset: 80483}, label: "title", expr: &actionExpr{ - pos: position{line: 2416, col: 17, offset: 80521}, + pos: position{line: 2423, col: 17, offset: 80602}, run: (*parser).callonDocumentFragment87, expr: &oneOrMoreExpr{ - pos: position{line: 2416, col: 17, offset: 80521}, + pos: position{line: 2423, col: 17, offset: 80602}, expr: &charClassMatcher{ - pos: position{line: 2416, col: 17, offset: 80521}, + pos: position{line: 2423, col: 17, offset: 80602}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -4278,28 +3843,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonDocumentFragment91, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -4308,9 +3873,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -4319,30 +3884,30 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 785, col: 5, offset: 25125}, + pos: position{line: 792, col: 5, offset: 25151}, run: (*parser).callonDocumentFragment98, expr: &seqExpr{ - pos: position{line: 785, col: 5, offset: 25125}, + pos: position{line: 792, col: 5, offset: 25151}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 741, col: 26, offset: 23902}, + pos: position{line: 748, col: 26, offset: 23928}, run: (*parser).callonDocumentFragment100, expr: &seqExpr{ - pos: position{line: 741, col: 26, offset: 23902}, + pos: position{line: 748, col: 26, offset: 23928}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 741, col: 26, offset: 23902}, + pos: position{line: 748, col: 26, offset: 23928}, val: "////", ignoreCase: false, want: "\"////\"", }, &zeroOrMoreExpr{ - pos: position{line: 741, col: 33, offset: 23909}, + pos: position{line: 748, col: 33, offset: 23935}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonDocumentFragment104, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -4351,28 +3916,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonDocumentFragment107, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -4381,9 +3946,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -4392,40 +3957,40 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 786, col: 5, offset: 25156}, + pos: position{line: 793, col: 5, offset: 25182}, label: "content", expr: &zeroOrMoreExpr{ - pos: position{line: 797, col: 5, offset: 25480}, + pos: position{line: 804, col: 5, offset: 25506}, expr: &actionExpr{ - pos: position{line: 797, col: 6, offset: 25481}, + pos: position{line: 804, col: 6, offset: 25507}, run: (*parser).callonDocumentFragment116, expr: &seqExpr{ - pos: position{line: 797, col: 6, offset: 25481}, + pos: position{line: 804, col: 6, offset: 25507}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 797, col: 6, offset: 25481}, + pos: position{line: 804, col: 6, offset: 25507}, expr: &choiceExpr{ - pos: position{line: 794, col: 29, offset: 25423}, + pos: position{line: 801, col: 29, offset: 25449}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 741, col: 26, offset: 23902}, + pos: position{line: 748, col: 26, offset: 23928}, run: (*parser).callonDocumentFragment120, expr: &seqExpr{ - pos: position{line: 741, col: 26, offset: 23902}, + pos: position{line: 748, col: 26, offset: 23928}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 741, col: 26, offset: 23902}, + pos: position{line: 748, col: 26, offset: 23928}, val: "////", ignoreCase: false, want: "\"////\"", }, &zeroOrMoreExpr{ - pos: position{line: 741, col: 33, offset: 23909}, + pos: position{line: 748, col: 33, offset: 23935}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonDocumentFragment124, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -4434,28 +3999,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonDocumentFragment127, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -4464,9 +4029,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -4475,42 +4040,42 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, }, }, &labeledExpr{ - pos: position{line: 798, col: 5, offset: 25511}, + pos: position{line: 805, col: 5, offset: 25537}, label: "line", expr: &actionExpr{ - pos: position{line: 774, col: 5, offset: 24820}, + pos: position{line: 781, col: 5, offset: 24846}, run: (*parser).callonDocumentFragment137, expr: &seqExpr{ - pos: position{line: 774, col: 5, offset: 24820}, + pos: position{line: 781, col: 5, offset: 24846}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 774, col: 5, offset: 24820}, + pos: position{line: 781, col: 5, offset: 24846}, expr: ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, &labeledExpr{ - pos: position{line: 775, col: 5, offset: 24893}, + pos: position{line: 782, col: 5, offset: 24919}, label: "content", expr: &actionExpr{ - pos: position{line: 775, col: 14, offset: 24902}, + pos: position{line: 782, col: 14, offset: 24928}, run: (*parser).callonDocumentFragment143, expr: &zeroOrMoreExpr{ - pos: position{line: 775, col: 14, offset: 24902}, + pos: position{line: 782, col: 14, offset: 24928}, expr: &charClassMatcher{ - pos: position{line: 775, col: 14, offset: 24902}, + pos: position{line: 782, col: 14, offset: 24928}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -4520,28 +4085,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonDocumentFragment147, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -4550,9 +4115,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -4567,29 +4132,29 @@ var g = &grammar{ }, }, &zeroOrOneExpr{ - pos: position{line: 787, col: 5, offset: 25190}, + pos: position{line: 794, col: 5, offset: 25216}, expr: &choiceExpr{ - pos: position{line: 794, col: 29, offset: 25423}, + pos: position{line: 801, col: 29, offset: 25449}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 741, col: 26, offset: 23902}, + pos: position{line: 748, col: 26, offset: 23928}, run: (*parser).callonDocumentFragment156, expr: &seqExpr{ - pos: position{line: 741, col: 26, offset: 23902}, + pos: position{line: 748, col: 26, offset: 23928}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 741, col: 26, offset: 23902}, + pos: position{line: 748, col: 26, offset: 23928}, val: "////", ignoreCase: false, want: "\"////\"", }, &zeroOrMoreExpr{ - pos: position{line: 741, col: 33, offset: 23909}, + pos: position{line: 748, col: 33, offset: 23935}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonDocumentFragment160, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -4598,28 +4163,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonDocumentFragment163, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -4628,9 +4193,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -4639,9 +4204,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -4651,30 +4216,30 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 806, col: 5, offset: 25664}, + pos: position{line: 813, col: 5, offset: 25690}, run: (*parser).callonDocumentFragment172, expr: &seqExpr{ - pos: position{line: 806, col: 5, offset: 25664}, + pos: position{line: 813, col: 5, offset: 25690}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 745, col: 26, offset: 24016}, + pos: position{line: 752, col: 26, offset: 24042}, run: (*parser).callonDocumentFragment174, expr: &seqExpr{ - pos: position{line: 745, col: 26, offset: 24016}, + pos: position{line: 752, col: 26, offset: 24042}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 745, col: 26, offset: 24016}, + pos: position{line: 752, col: 26, offset: 24042}, val: "====", ignoreCase: false, want: "\"====\"", }, &zeroOrMoreExpr{ - pos: position{line: 745, col: 33, offset: 24023}, + pos: position{line: 752, col: 33, offset: 24049}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonDocumentFragment178, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -4683,28 +4248,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonDocumentFragment181, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -4713,9 +4278,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -4724,40 +4289,40 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 807, col: 5, offset: 25695}, + pos: position{line: 814, col: 5, offset: 25721}, label: "content", expr: &zeroOrMoreExpr{ - pos: position{line: 818, col: 4, offset: 26018}, + pos: position{line: 825, col: 4, offset: 26044}, expr: &actionExpr{ - pos: position{line: 818, col: 5, offset: 26019}, + pos: position{line: 825, col: 5, offset: 26045}, run: (*parser).callonDocumentFragment190, expr: &seqExpr{ - pos: position{line: 818, col: 5, offset: 26019}, + pos: position{line: 825, col: 5, offset: 26045}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 818, col: 5, offset: 26019}, + pos: position{line: 825, col: 5, offset: 26045}, expr: &choiceExpr{ - pos: position{line: 815, col: 29, offset: 25962}, + pos: position{line: 822, col: 29, offset: 25988}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 745, col: 26, offset: 24016}, + pos: position{line: 752, col: 26, offset: 24042}, run: (*parser).callonDocumentFragment194, expr: &seqExpr{ - pos: position{line: 745, col: 26, offset: 24016}, + pos: position{line: 752, col: 26, offset: 24042}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 745, col: 26, offset: 24016}, + pos: position{line: 752, col: 26, offset: 24042}, val: "====", ignoreCase: false, want: "\"====\"", }, &zeroOrMoreExpr{ - pos: position{line: 745, col: 33, offset: 24023}, + pos: position{line: 752, col: 33, offset: 24049}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonDocumentFragment198, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -4766,28 +4331,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonDocumentFragment201, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -4796,9 +4361,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -4807,42 +4372,42 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, }, }, &labeledExpr{ - pos: position{line: 819, col: 5, offset: 26049}, + pos: position{line: 826, col: 5, offset: 26075}, label: "line", expr: &actionExpr{ - pos: position{line: 774, col: 5, offset: 24820}, + pos: position{line: 781, col: 5, offset: 24846}, run: (*parser).callonDocumentFragment211, expr: &seqExpr{ - pos: position{line: 774, col: 5, offset: 24820}, + pos: position{line: 781, col: 5, offset: 24846}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 774, col: 5, offset: 24820}, + pos: position{line: 781, col: 5, offset: 24846}, expr: ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, &labeledExpr{ - pos: position{line: 775, col: 5, offset: 24893}, + pos: position{line: 782, col: 5, offset: 24919}, label: "content", expr: &actionExpr{ - pos: position{line: 775, col: 14, offset: 24902}, + pos: position{line: 782, col: 14, offset: 24928}, run: (*parser).callonDocumentFragment217, expr: &zeroOrMoreExpr{ - pos: position{line: 775, col: 14, offset: 24902}, + pos: position{line: 782, col: 14, offset: 24928}, expr: &charClassMatcher{ - pos: position{line: 775, col: 14, offset: 24902}, + pos: position{line: 782, col: 14, offset: 24928}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -4852,28 +4417,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonDocumentFragment221, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -4882,9 +4447,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -4899,29 +4464,29 @@ var g = &grammar{ }, }, &zeroOrOneExpr{ - pos: position{line: 808, col: 5, offset: 25729}, + pos: position{line: 815, col: 5, offset: 25755}, expr: &choiceExpr{ - pos: position{line: 815, col: 29, offset: 25962}, + pos: position{line: 822, col: 29, offset: 25988}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 745, col: 26, offset: 24016}, + pos: position{line: 752, col: 26, offset: 24042}, run: (*parser).callonDocumentFragment230, expr: &seqExpr{ - pos: position{line: 745, col: 26, offset: 24016}, + pos: position{line: 752, col: 26, offset: 24042}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 745, col: 26, offset: 24016}, + pos: position{line: 752, col: 26, offset: 24042}, val: "====", ignoreCase: false, want: "\"====\"", }, &zeroOrMoreExpr{ - pos: position{line: 745, col: 33, offset: 24023}, + pos: position{line: 752, col: 33, offset: 24049}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonDocumentFragment234, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -4930,28 +4495,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonDocumentFragment237, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -4960,9 +4525,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -4971,9 +4536,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -4983,30 +4548,30 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 827, col: 5, offset: 26202}, + pos: position{line: 834, col: 5, offset: 26228}, run: (*parser).callonDocumentFragment246, expr: &seqExpr{ - pos: position{line: 827, col: 5, offset: 26202}, + pos: position{line: 834, col: 5, offset: 26228}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 749, col: 25, offset: 24129}, + pos: position{line: 756, col: 25, offset: 24155}, run: (*parser).callonDocumentFragment248, expr: &seqExpr{ - pos: position{line: 749, col: 25, offset: 24129}, + pos: position{line: 756, col: 25, offset: 24155}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 749, col: 25, offset: 24129}, + pos: position{line: 756, col: 25, offset: 24155}, val: "```", ignoreCase: false, want: "\"```\"", }, &zeroOrMoreExpr{ - pos: position{line: 749, col: 31, offset: 24135}, + pos: position{line: 756, col: 31, offset: 24161}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonDocumentFragment252, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -5015,28 +4580,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonDocumentFragment255, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -5045,9 +4610,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -5056,40 +4621,40 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 828, col: 5, offset: 26232}, + pos: position{line: 835, col: 5, offset: 26258}, label: "content", expr: &zeroOrMoreExpr{ - pos: position{line: 839, col: 5, offset: 26553}, + pos: position{line: 846, col: 5, offset: 26579}, expr: &actionExpr{ - pos: position{line: 839, col: 6, offset: 26554}, + pos: position{line: 846, col: 6, offset: 26580}, run: (*parser).callonDocumentFragment264, expr: &seqExpr{ - pos: position{line: 839, col: 6, offset: 26554}, + pos: position{line: 846, col: 6, offset: 26580}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 839, col: 6, offset: 26554}, + pos: position{line: 846, col: 6, offset: 26580}, expr: &choiceExpr{ - pos: position{line: 836, col: 28, offset: 26498}, + pos: position{line: 843, col: 28, offset: 26524}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 749, col: 25, offset: 24129}, + pos: position{line: 756, col: 25, offset: 24155}, run: (*parser).callonDocumentFragment268, expr: &seqExpr{ - pos: position{line: 749, col: 25, offset: 24129}, + pos: position{line: 756, col: 25, offset: 24155}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 749, col: 25, offset: 24129}, + pos: position{line: 756, col: 25, offset: 24155}, val: "```", ignoreCase: false, want: "\"```\"", }, &zeroOrMoreExpr{ - pos: position{line: 749, col: 31, offset: 24135}, + pos: position{line: 756, col: 31, offset: 24161}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonDocumentFragment272, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -5098,28 +4663,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonDocumentFragment275, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -5128,9 +4693,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -5139,42 +4704,42 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, }, }, &labeledExpr{ - pos: position{line: 840, col: 5, offset: 26583}, + pos: position{line: 847, col: 5, offset: 26609}, label: "line", expr: &actionExpr{ - pos: position{line: 774, col: 5, offset: 24820}, + pos: position{line: 781, col: 5, offset: 24846}, run: (*parser).callonDocumentFragment285, expr: &seqExpr{ - pos: position{line: 774, col: 5, offset: 24820}, + pos: position{line: 781, col: 5, offset: 24846}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 774, col: 5, offset: 24820}, + pos: position{line: 781, col: 5, offset: 24846}, expr: ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, &labeledExpr{ - pos: position{line: 775, col: 5, offset: 24893}, + pos: position{line: 782, col: 5, offset: 24919}, label: "content", expr: &actionExpr{ - pos: position{line: 775, col: 14, offset: 24902}, + pos: position{line: 782, col: 14, offset: 24928}, run: (*parser).callonDocumentFragment291, expr: &zeroOrMoreExpr{ - pos: position{line: 775, col: 14, offset: 24902}, + pos: position{line: 782, col: 14, offset: 24928}, expr: &charClassMatcher{ - pos: position{line: 775, col: 14, offset: 24902}, + pos: position{line: 782, col: 14, offset: 24928}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -5184,28 +4749,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonDocumentFragment295, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -5214,9 +4779,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -5231,29 +4796,29 @@ var g = &grammar{ }, }, &zeroOrOneExpr{ - pos: position{line: 829, col: 5, offset: 26265}, + pos: position{line: 836, col: 5, offset: 26291}, expr: &choiceExpr{ - pos: position{line: 836, col: 28, offset: 26498}, + pos: position{line: 843, col: 28, offset: 26524}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 749, col: 25, offset: 24129}, + pos: position{line: 756, col: 25, offset: 24155}, run: (*parser).callonDocumentFragment304, expr: &seqExpr{ - pos: position{line: 749, col: 25, offset: 24129}, + pos: position{line: 756, col: 25, offset: 24155}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 749, col: 25, offset: 24129}, + pos: position{line: 756, col: 25, offset: 24155}, val: "```", ignoreCase: false, want: "\"```\"", }, &zeroOrMoreExpr{ - pos: position{line: 749, col: 31, offset: 24135}, + pos: position{line: 756, col: 31, offset: 24161}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonDocumentFragment308, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -5262,28 +4827,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonDocumentFragment311, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -5292,9 +4857,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -5303,9 +4868,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -5315,30 +4880,30 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 848, col: 5, offset: 26738}, + pos: position{line: 855, col: 5, offset: 26764}, run: (*parser).callonDocumentFragment320, expr: &seqExpr{ - pos: position{line: 848, col: 5, offset: 26738}, + pos: position{line: 855, col: 5, offset: 26764}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 753, col: 26, offset: 24241}, + pos: position{line: 760, col: 26, offset: 24267}, run: (*parser).callonDocumentFragment322, expr: &seqExpr{ - pos: position{line: 753, col: 26, offset: 24241}, + pos: position{line: 760, col: 26, offset: 24267}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 753, col: 26, offset: 24241}, + pos: position{line: 760, col: 26, offset: 24267}, val: "----", ignoreCase: false, want: "\"----\"", }, &zeroOrMoreExpr{ - pos: position{line: 753, col: 33, offset: 24248}, + pos: position{line: 760, col: 33, offset: 24274}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonDocumentFragment326, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -5347,28 +4912,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonDocumentFragment329, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -5377,9 +4942,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -5388,40 +4953,40 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 849, col: 5, offset: 26769}, + pos: position{line: 856, col: 5, offset: 26795}, label: "content", expr: &zeroOrMoreExpr{ - pos: position{line: 860, col: 5, offset: 27098}, + pos: position{line: 867, col: 5, offset: 27124}, expr: &actionExpr{ - pos: position{line: 860, col: 6, offset: 27099}, + pos: position{line: 867, col: 6, offset: 27125}, run: (*parser).callonDocumentFragment338, expr: &seqExpr{ - pos: position{line: 860, col: 6, offset: 27099}, + pos: position{line: 867, col: 6, offset: 27125}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 860, col: 6, offset: 27099}, + pos: position{line: 867, col: 6, offset: 27125}, expr: &choiceExpr{ - pos: position{line: 857, col: 29, offset: 27041}, + pos: position{line: 864, col: 29, offset: 27067}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 753, col: 26, offset: 24241}, + pos: position{line: 760, col: 26, offset: 24267}, run: (*parser).callonDocumentFragment342, expr: &seqExpr{ - pos: position{line: 753, col: 26, offset: 24241}, + pos: position{line: 760, col: 26, offset: 24267}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 753, col: 26, offset: 24241}, + pos: position{line: 760, col: 26, offset: 24267}, val: "----", ignoreCase: false, want: "\"----\"", }, &zeroOrMoreExpr{ - pos: position{line: 753, col: 33, offset: 24248}, + pos: position{line: 760, col: 33, offset: 24274}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonDocumentFragment346, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -5430,28 +4995,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonDocumentFragment349, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -5460,9 +5025,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -5471,42 +5036,42 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, }, }, &labeledExpr{ - pos: position{line: 861, col: 5, offset: 27129}, + pos: position{line: 868, col: 5, offset: 27155}, label: "line", expr: &actionExpr{ - pos: position{line: 774, col: 5, offset: 24820}, + pos: position{line: 781, col: 5, offset: 24846}, run: (*parser).callonDocumentFragment359, expr: &seqExpr{ - pos: position{line: 774, col: 5, offset: 24820}, + pos: position{line: 781, col: 5, offset: 24846}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 774, col: 5, offset: 24820}, + pos: position{line: 781, col: 5, offset: 24846}, expr: ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, &labeledExpr{ - pos: position{line: 775, col: 5, offset: 24893}, + pos: position{line: 782, col: 5, offset: 24919}, label: "content", expr: &actionExpr{ - pos: position{line: 775, col: 14, offset: 24902}, + pos: position{line: 782, col: 14, offset: 24928}, run: (*parser).callonDocumentFragment365, expr: &zeroOrMoreExpr{ - pos: position{line: 775, col: 14, offset: 24902}, + pos: position{line: 782, col: 14, offset: 24928}, expr: &charClassMatcher{ - pos: position{line: 775, col: 14, offset: 24902}, + pos: position{line: 782, col: 14, offset: 24928}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -5516,28 +5081,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonDocumentFragment369, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -5546,9 +5111,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -5563,29 +5128,29 @@ var g = &grammar{ }, }, &zeroOrOneExpr{ - pos: position{line: 850, col: 5, offset: 26803}, + pos: position{line: 857, col: 5, offset: 26829}, expr: &choiceExpr{ - pos: position{line: 857, col: 29, offset: 27041}, + pos: position{line: 864, col: 29, offset: 27067}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 753, col: 26, offset: 24241}, + pos: position{line: 760, col: 26, offset: 24267}, run: (*parser).callonDocumentFragment378, expr: &seqExpr{ - pos: position{line: 753, col: 26, offset: 24241}, + pos: position{line: 760, col: 26, offset: 24267}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 753, col: 26, offset: 24241}, + pos: position{line: 760, col: 26, offset: 24267}, val: "----", ignoreCase: false, want: "\"----\"", }, &zeroOrMoreExpr{ - pos: position{line: 753, col: 33, offset: 24248}, + pos: position{line: 760, col: 33, offset: 24274}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonDocumentFragment382, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -5594,28 +5159,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonDocumentFragment385, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -5624,9 +5189,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -5635,9 +5200,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -5647,30 +5212,30 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 869, col: 5, offset: 27284}, + pos: position{line: 876, col: 5, offset: 27310}, run: (*parser).callonDocumentFragment394, expr: &seqExpr{ - pos: position{line: 869, col: 5, offset: 27284}, + pos: position{line: 876, col: 5, offset: 27310}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 757, col: 26, offset: 24355}, + pos: position{line: 764, col: 26, offset: 24381}, run: (*parser).callonDocumentFragment396, expr: &seqExpr{ - pos: position{line: 757, col: 26, offset: 24355}, + pos: position{line: 764, col: 26, offset: 24381}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 757, col: 26, offset: 24355}, + pos: position{line: 764, col: 26, offset: 24381}, val: "....", ignoreCase: false, want: "\"....\"", }, &zeroOrMoreExpr{ - pos: position{line: 757, col: 33, offset: 24362}, + pos: position{line: 764, col: 33, offset: 24388}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonDocumentFragment400, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -5679,28 +5244,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonDocumentFragment403, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -5709,9 +5274,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -5720,40 +5285,40 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 870, col: 5, offset: 27315}, + pos: position{line: 877, col: 5, offset: 27341}, label: "content", expr: &zeroOrMoreExpr{ - pos: position{line: 881, col: 5, offset: 27639}, + pos: position{line: 888, col: 5, offset: 27665}, expr: &actionExpr{ - pos: position{line: 881, col: 6, offset: 27640}, + pos: position{line: 888, col: 6, offset: 27666}, run: (*parser).callonDocumentFragment412, expr: &seqExpr{ - pos: position{line: 881, col: 6, offset: 27640}, + pos: position{line: 888, col: 6, offset: 27666}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 881, col: 6, offset: 27640}, + pos: position{line: 888, col: 6, offset: 27666}, expr: &choiceExpr{ - pos: position{line: 878, col: 29, offset: 27582}, + pos: position{line: 885, col: 29, offset: 27608}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 757, col: 26, offset: 24355}, + pos: position{line: 764, col: 26, offset: 24381}, run: (*parser).callonDocumentFragment416, expr: &seqExpr{ - pos: position{line: 757, col: 26, offset: 24355}, + pos: position{line: 764, col: 26, offset: 24381}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 757, col: 26, offset: 24355}, + pos: position{line: 764, col: 26, offset: 24381}, val: "....", ignoreCase: false, want: "\"....\"", }, &zeroOrMoreExpr{ - pos: position{line: 757, col: 33, offset: 24362}, + pos: position{line: 764, col: 33, offset: 24388}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonDocumentFragment420, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -5762,28 +5327,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonDocumentFragment423, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -5792,9 +5357,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -5803,42 +5368,42 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, }, }, &labeledExpr{ - pos: position{line: 882, col: 5, offset: 27670}, + pos: position{line: 889, col: 5, offset: 27696}, label: "line", expr: &actionExpr{ - pos: position{line: 774, col: 5, offset: 24820}, + pos: position{line: 781, col: 5, offset: 24846}, run: (*parser).callonDocumentFragment433, expr: &seqExpr{ - pos: position{line: 774, col: 5, offset: 24820}, + pos: position{line: 781, col: 5, offset: 24846}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 774, col: 5, offset: 24820}, + pos: position{line: 781, col: 5, offset: 24846}, expr: ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, &labeledExpr{ - pos: position{line: 775, col: 5, offset: 24893}, + pos: position{line: 782, col: 5, offset: 24919}, label: "content", expr: &actionExpr{ - pos: position{line: 775, col: 14, offset: 24902}, + pos: position{line: 782, col: 14, offset: 24928}, run: (*parser).callonDocumentFragment439, expr: &zeroOrMoreExpr{ - pos: position{line: 775, col: 14, offset: 24902}, + pos: position{line: 782, col: 14, offset: 24928}, expr: &charClassMatcher{ - pos: position{line: 775, col: 14, offset: 24902}, + pos: position{line: 782, col: 14, offset: 24928}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -5848,28 +5413,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonDocumentFragment443, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -5878,9 +5443,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -5895,29 +5460,29 @@ var g = &grammar{ }, }, &zeroOrOneExpr{ - pos: position{line: 871, col: 5, offset: 27349}, + pos: position{line: 878, col: 5, offset: 27375}, expr: &choiceExpr{ - pos: position{line: 878, col: 29, offset: 27582}, + pos: position{line: 885, col: 29, offset: 27608}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 757, col: 26, offset: 24355}, + pos: position{line: 764, col: 26, offset: 24381}, run: (*parser).callonDocumentFragment452, expr: &seqExpr{ - pos: position{line: 757, col: 26, offset: 24355}, + pos: position{line: 764, col: 26, offset: 24381}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 757, col: 26, offset: 24355}, + pos: position{line: 764, col: 26, offset: 24381}, val: "....", ignoreCase: false, want: "\"....\"", }, &zeroOrMoreExpr{ - pos: position{line: 757, col: 33, offset: 24362}, + pos: position{line: 764, col: 33, offset: 24388}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonDocumentFragment456, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -5926,28 +5491,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonDocumentFragment459, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -5956,9 +5521,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -5967,9 +5532,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -5979,44 +5544,44 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 890, col: 5, offset: 27839}, + pos: position{line: 897, col: 5, offset: 27865}, run: (*parser).callonDocumentFragment468, expr: &seqExpr{ - pos: position{line: 890, col: 5, offset: 27839}, + pos: position{line: 897, col: 5, offset: 27865}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 890, col: 5, offset: 27839}, + pos: position{line: 897, col: 5, offset: 27865}, label: "firstLine", expr: &actionExpr{ - pos: position{line: 897, col: 5, offset: 28098}, + pos: position{line: 904, col: 5, offset: 28124}, run: (*parser).callonDocumentFragment471, expr: &seqExpr{ - pos: position{line: 897, col: 5, offset: 28098}, + pos: position{line: 904, col: 5, offset: 28124}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 897, col: 5, offset: 28098}, + pos: position{line: 904, col: 5, offset: 28124}, expr: &actionExpr{ - pos: position{line: 682, col: 14, offset: 22022}, + pos: position{line: 689, col: 14, offset: 22046}, run: (*parser).callonDocumentFragment474, expr: &seqExpr{ - pos: position{line: 682, col: 14, offset: 22022}, + pos: position{line: 689, col: 14, offset: 22046}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 682, col: 14, offset: 22022}, + pos: position{line: 689, col: 14, offset: 22046}, expr: ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, &zeroOrMoreExpr{ - pos: position{line: 682, col: 19, offset: 22027}, + pos: position{line: 689, col: 19, offset: 22051}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonDocumentFragment480, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -6025,28 +5590,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonDocumentFragment483, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -6055,9 +5620,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -6067,21 +5632,21 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 898, col: 5, offset: 28113}, + pos: position{line: 905, col: 5, offset: 28139}, val: "> ", ignoreCase: false, want: "\"> \"", }, &labeledExpr{ - pos: position{line: 899, col: 5, offset: 28123}, + pos: position{line: 906, col: 5, offset: 28149}, label: "content", expr: &actionExpr{ - pos: position{line: 899, col: 14, offset: 28132}, + pos: position{line: 906, col: 14, offset: 28158}, run: (*parser).callonDocumentFragment492, expr: &oneOrMoreExpr{ - pos: position{line: 899, col: 15, offset: 28133}, + pos: position{line: 906, col: 15, offset: 28159}, expr: &charClassMatcher{ - pos: position{line: 899, col: 15, offset: 28133}, + pos: position{line: 906, col: 15, offset: 28159}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -6091,28 +5656,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonDocumentFragment496, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -6121,9 +5686,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -6133,43 +5698,43 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 891, col: 5, offset: 27876}, + pos: position{line: 898, col: 5, offset: 27902}, label: "otherLines", expr: &zeroOrMoreExpr{ - pos: position{line: 891, col: 16, offset: 27887}, + pos: position{line: 898, col: 16, offset: 27913}, expr: &choiceExpr{ - pos: position{line: 891, col: 17, offset: 27888}, + pos: position{line: 898, col: 17, offset: 27914}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 897, col: 5, offset: 28098}, + pos: position{line: 904, col: 5, offset: 28124}, run: (*parser).callonDocumentFragment506, expr: &seqExpr{ - pos: position{line: 897, col: 5, offset: 28098}, + pos: position{line: 904, col: 5, offset: 28124}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 897, col: 5, offset: 28098}, + pos: position{line: 904, col: 5, offset: 28124}, expr: &actionExpr{ - pos: position{line: 682, col: 14, offset: 22022}, + pos: position{line: 689, col: 14, offset: 22046}, run: (*parser).callonDocumentFragment509, expr: &seqExpr{ - pos: position{line: 682, col: 14, offset: 22022}, + pos: position{line: 689, col: 14, offset: 22046}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 682, col: 14, offset: 22022}, + pos: position{line: 689, col: 14, offset: 22046}, expr: ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, &zeroOrMoreExpr{ - pos: position{line: 682, col: 19, offset: 22027}, + pos: position{line: 689, col: 19, offset: 22051}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonDocumentFragment515, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -6178,28 +5743,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonDocumentFragment518, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -6208,9 +5773,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -6220,21 +5785,21 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 898, col: 5, offset: 28113}, + pos: position{line: 905, col: 5, offset: 28139}, val: "> ", ignoreCase: false, want: "\"> \"", }, &labeledExpr{ - pos: position{line: 899, col: 5, offset: 28123}, + pos: position{line: 906, col: 5, offset: 28149}, label: "content", expr: &actionExpr{ - pos: position{line: 899, col: 14, offset: 28132}, + pos: position{line: 906, col: 14, offset: 28158}, run: (*parser).callonDocumentFragment527, expr: &oneOrMoreExpr{ - pos: position{line: 899, col: 15, offset: 28133}, + pos: position{line: 906, col: 15, offset: 28159}, expr: &charClassMatcher{ - pos: position{line: 899, col: 15, offset: 28133}, + pos: position{line: 906, col: 15, offset: 28159}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -6244,28 +5809,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonDocumentFragment531, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -6274,9 +5839,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -6285,21 +5850,21 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1649, col: 5, offset: 53936}, + pos: position{line: 1656, col: 5, offset: 53995}, run: (*parser).callonDocumentFragment538, expr: &seqExpr{ - pos: position{line: 1649, col: 5, offset: 53936}, + pos: position{line: 1656, col: 5, offset: 53995}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1649, col: 5, offset: 53936}, + pos: position{line: 1656, col: 5, offset: 53995}, label: "content", expr: &actionExpr{ - pos: position{line: 1649, col: 14, offset: 53945}, + pos: position{line: 1656, col: 14, offset: 54004}, run: (*parser).callonDocumentFragment541, expr: &oneOrMoreExpr{ - pos: position{line: 1649, col: 14, offset: 53945}, + pos: position{line: 1656, col: 14, offset: 54004}, expr: &charClassMatcher{ - pos: position{line: 1649, col: 14, offset: 53945}, + pos: position{line: 1656, col: 14, offset: 54004}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -6309,32 +5874,32 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1652, col: 5, offset: 54002}, + pos: position{line: 1659, col: 5, offset: 54111}, run: (*parser).callonDocumentFragment544, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonDocumentFragment546, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -6343,9 +5908,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -6361,30 +5926,30 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 916, col: 5, offset: 28491}, + pos: position{line: 923, col: 5, offset: 28517}, run: (*parser).callonDocumentFragment553, expr: &seqExpr{ - pos: position{line: 916, col: 5, offset: 28491}, + pos: position{line: 923, col: 5, offset: 28517}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 761, col: 30, offset: 24473}, + pos: position{line: 768, col: 30, offset: 24499}, run: (*parser).callonDocumentFragment555, expr: &seqExpr{ - pos: position{line: 761, col: 30, offset: 24473}, + pos: position{line: 768, col: 30, offset: 24499}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 761, col: 30, offset: 24473}, + pos: position{line: 768, col: 30, offset: 24499}, val: "++++", ignoreCase: false, want: "\"++++\"", }, &zeroOrMoreExpr{ - pos: position{line: 761, col: 37, offset: 24480}, + pos: position{line: 768, col: 37, offset: 24506}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonDocumentFragment559, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -6393,28 +5958,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonDocumentFragment562, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -6423,9 +5988,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -6434,40 +5999,40 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 917, col: 5, offset: 28526}, + pos: position{line: 924, col: 5, offset: 28552}, label: "content", expr: &zeroOrMoreExpr{ - pos: position{line: 928, col: 5, offset: 28882}, + pos: position{line: 935, col: 5, offset: 28908}, expr: &actionExpr{ - pos: position{line: 928, col: 6, offset: 28883}, + pos: position{line: 935, col: 6, offset: 28909}, run: (*parser).callonDocumentFragment571, expr: &seqExpr{ - pos: position{line: 928, col: 6, offset: 28883}, + pos: position{line: 935, col: 6, offset: 28909}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 928, col: 6, offset: 28883}, + pos: position{line: 935, col: 6, offset: 28909}, expr: &choiceExpr{ - pos: position{line: 925, col: 33, offset: 28817}, + pos: position{line: 932, col: 33, offset: 28843}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 761, col: 30, offset: 24473}, + pos: position{line: 768, col: 30, offset: 24499}, run: (*parser).callonDocumentFragment575, expr: &seqExpr{ - pos: position{line: 761, col: 30, offset: 24473}, + pos: position{line: 768, col: 30, offset: 24499}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 761, col: 30, offset: 24473}, + pos: position{line: 768, col: 30, offset: 24499}, val: "++++", ignoreCase: false, want: "\"++++\"", }, &zeroOrMoreExpr{ - pos: position{line: 761, col: 37, offset: 24480}, + pos: position{line: 768, col: 37, offset: 24506}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonDocumentFragment579, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -6476,28 +6041,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonDocumentFragment582, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -6506,9 +6071,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -6517,42 +6082,42 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, }, }, &labeledExpr{ - pos: position{line: 929, col: 5, offset: 28917}, + pos: position{line: 936, col: 5, offset: 28943}, label: "line", expr: &actionExpr{ - pos: position{line: 774, col: 5, offset: 24820}, + pos: position{line: 781, col: 5, offset: 24846}, run: (*parser).callonDocumentFragment592, expr: &seqExpr{ - pos: position{line: 774, col: 5, offset: 24820}, + pos: position{line: 781, col: 5, offset: 24846}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 774, col: 5, offset: 24820}, + pos: position{line: 781, col: 5, offset: 24846}, expr: ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, &labeledExpr{ - pos: position{line: 775, col: 5, offset: 24893}, + pos: position{line: 782, col: 5, offset: 24919}, label: "content", expr: &actionExpr{ - pos: position{line: 775, col: 14, offset: 24902}, + pos: position{line: 782, col: 14, offset: 24928}, run: (*parser).callonDocumentFragment598, expr: &zeroOrMoreExpr{ - pos: position{line: 775, col: 14, offset: 24902}, + pos: position{line: 782, col: 14, offset: 24928}, expr: &charClassMatcher{ - pos: position{line: 775, col: 14, offset: 24902}, + pos: position{line: 782, col: 14, offset: 24928}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -6562,28 +6127,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonDocumentFragment602, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -6592,9 +6157,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -6609,29 +6174,29 @@ var g = &grammar{ }, }, &zeroOrOneExpr{ - pos: position{line: 918, col: 5, offset: 28564}, + pos: position{line: 925, col: 5, offset: 28590}, expr: &choiceExpr{ - pos: position{line: 925, col: 33, offset: 28817}, + pos: position{line: 932, col: 33, offset: 28843}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 761, col: 30, offset: 24473}, + pos: position{line: 768, col: 30, offset: 24499}, run: (*parser).callonDocumentFragment611, expr: &seqExpr{ - pos: position{line: 761, col: 30, offset: 24473}, + pos: position{line: 768, col: 30, offset: 24499}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 761, col: 30, offset: 24473}, + pos: position{line: 768, col: 30, offset: 24499}, val: "++++", ignoreCase: false, want: "\"++++\"", }, &zeroOrMoreExpr{ - pos: position{line: 761, col: 37, offset: 24480}, + pos: position{line: 768, col: 37, offset: 24506}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonDocumentFragment615, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -6640,28 +6205,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonDocumentFragment618, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -6670,9 +6235,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -6681,9 +6246,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -6693,30 +6258,30 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 937, col: 5, offset: 29068}, + pos: position{line: 944, col: 5, offset: 29094}, run: (*parser).callonDocumentFragment627, expr: &seqExpr{ - pos: position{line: 937, col: 5, offset: 29068}, + pos: position{line: 944, col: 5, offset: 29094}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 765, col: 24, offset: 24589}, + pos: position{line: 772, col: 24, offset: 24615}, run: (*parser).callonDocumentFragment629, expr: &seqExpr{ - pos: position{line: 765, col: 24, offset: 24589}, + pos: position{line: 772, col: 24, offset: 24615}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 765, col: 24, offset: 24589}, + pos: position{line: 772, col: 24, offset: 24615}, val: "____", ignoreCase: false, want: "\"____\"", }, &zeroOrMoreExpr{ - pos: position{line: 765, col: 31, offset: 24596}, + pos: position{line: 772, col: 31, offset: 24622}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonDocumentFragment633, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -6725,28 +6290,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonDocumentFragment636, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -6755,9 +6320,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -6766,40 +6331,40 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 938, col: 5, offset: 29097}, + pos: position{line: 945, col: 5, offset: 29123}, label: "content", expr: &zeroOrMoreExpr{ - pos: position{line: 949, col: 4, offset: 29404}, + pos: position{line: 956, col: 4, offset: 29430}, expr: &actionExpr{ - pos: position{line: 949, col: 5, offset: 29405}, + pos: position{line: 956, col: 5, offset: 29431}, run: (*parser).callonDocumentFragment645, expr: &seqExpr{ - pos: position{line: 949, col: 5, offset: 29405}, + pos: position{line: 956, col: 5, offset: 29431}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 949, col: 5, offset: 29405}, + pos: position{line: 956, col: 5, offset: 29431}, expr: &choiceExpr{ - pos: position{line: 946, col: 27, offset: 29352}, + pos: position{line: 953, col: 27, offset: 29378}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 765, col: 24, offset: 24589}, + pos: position{line: 772, col: 24, offset: 24615}, run: (*parser).callonDocumentFragment649, expr: &seqExpr{ - pos: position{line: 765, col: 24, offset: 24589}, + pos: position{line: 772, col: 24, offset: 24615}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 765, col: 24, offset: 24589}, + pos: position{line: 772, col: 24, offset: 24615}, val: "____", ignoreCase: false, want: "\"____\"", }, &zeroOrMoreExpr{ - pos: position{line: 765, col: 31, offset: 24596}, + pos: position{line: 772, col: 31, offset: 24622}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonDocumentFragment653, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -6808,28 +6373,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonDocumentFragment656, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -6838,9 +6403,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -6849,42 +6414,42 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, }, }, &labeledExpr{ - pos: position{line: 950, col: 5, offset: 29433}, + pos: position{line: 957, col: 5, offset: 29459}, label: "line", expr: &actionExpr{ - pos: position{line: 774, col: 5, offset: 24820}, + pos: position{line: 781, col: 5, offset: 24846}, run: (*parser).callonDocumentFragment666, expr: &seqExpr{ - pos: position{line: 774, col: 5, offset: 24820}, + pos: position{line: 781, col: 5, offset: 24846}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 774, col: 5, offset: 24820}, + pos: position{line: 781, col: 5, offset: 24846}, expr: ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, &labeledExpr{ - pos: position{line: 775, col: 5, offset: 24893}, + pos: position{line: 782, col: 5, offset: 24919}, label: "content", expr: &actionExpr{ - pos: position{line: 775, col: 14, offset: 24902}, + pos: position{line: 782, col: 14, offset: 24928}, run: (*parser).callonDocumentFragment672, expr: &zeroOrMoreExpr{ - pos: position{line: 775, col: 14, offset: 24902}, + pos: position{line: 782, col: 14, offset: 24928}, expr: &charClassMatcher{ - pos: position{line: 775, col: 14, offset: 24902}, + pos: position{line: 782, col: 14, offset: 24928}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -6894,28 +6459,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonDocumentFragment676, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -6924,9 +6489,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -6941,29 +6506,29 @@ var g = &grammar{ }, }, &zeroOrOneExpr{ - pos: position{line: 939, col: 5, offset: 29129}, + pos: position{line: 946, col: 5, offset: 29155}, expr: &choiceExpr{ - pos: position{line: 946, col: 27, offset: 29352}, + pos: position{line: 953, col: 27, offset: 29378}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 765, col: 24, offset: 24589}, + pos: position{line: 772, col: 24, offset: 24615}, run: (*parser).callonDocumentFragment685, expr: &seqExpr{ - pos: position{line: 765, col: 24, offset: 24589}, + pos: position{line: 772, col: 24, offset: 24615}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 765, col: 24, offset: 24589}, + pos: position{line: 772, col: 24, offset: 24615}, val: "____", ignoreCase: false, want: "\"____\"", }, &zeroOrMoreExpr{ - pos: position{line: 765, col: 31, offset: 24596}, + pos: position{line: 772, col: 31, offset: 24622}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonDocumentFragment689, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -6972,28 +6537,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonDocumentFragment692, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -7002,9 +6567,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -7013,9 +6578,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -7025,30 +6590,30 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 958, col: 5, offset: 29588}, + pos: position{line: 965, col: 5, offset: 29614}, run: (*parser).callonDocumentFragment701, expr: &seqExpr{ - pos: position{line: 958, col: 5, offset: 29588}, + pos: position{line: 965, col: 5, offset: 29614}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 769, col: 26, offset: 24701}, + pos: position{line: 776, col: 26, offset: 24727}, run: (*parser).callonDocumentFragment703, expr: &seqExpr{ - pos: position{line: 769, col: 26, offset: 24701}, + pos: position{line: 776, col: 26, offset: 24727}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 769, col: 26, offset: 24701}, + pos: position{line: 776, col: 26, offset: 24727}, val: "****", ignoreCase: false, want: "\"****\"", }, &zeroOrMoreExpr{ - pos: position{line: 769, col: 33, offset: 24708}, + pos: position{line: 776, col: 33, offset: 24734}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonDocumentFragment707, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -7057,28 +6622,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonDocumentFragment710, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -7087,9 +6652,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -7098,40 +6663,40 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 959, col: 5, offset: 29619}, + pos: position{line: 966, col: 5, offset: 29645}, label: "content", expr: &zeroOrMoreExpr{ - pos: position{line: 970, col: 4, offset: 29944}, + pos: position{line: 977, col: 4, offset: 29970}, expr: &actionExpr{ - pos: position{line: 970, col: 5, offset: 29945}, + pos: position{line: 977, col: 5, offset: 29971}, run: (*parser).callonDocumentFragment719, expr: &seqExpr{ - pos: position{line: 970, col: 5, offset: 29945}, + pos: position{line: 977, col: 5, offset: 29971}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 970, col: 5, offset: 29945}, + pos: position{line: 977, col: 5, offset: 29971}, expr: &choiceExpr{ - pos: position{line: 967, col: 29, offset: 29887}, + pos: position{line: 974, col: 29, offset: 29913}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 769, col: 26, offset: 24701}, + pos: position{line: 776, col: 26, offset: 24727}, run: (*parser).callonDocumentFragment723, expr: &seqExpr{ - pos: position{line: 769, col: 26, offset: 24701}, + pos: position{line: 776, col: 26, offset: 24727}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 769, col: 26, offset: 24701}, + pos: position{line: 776, col: 26, offset: 24727}, val: "****", ignoreCase: false, want: "\"****\"", }, &zeroOrMoreExpr{ - pos: position{line: 769, col: 33, offset: 24708}, + pos: position{line: 776, col: 33, offset: 24734}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonDocumentFragment727, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -7140,28 +6705,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonDocumentFragment730, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -7170,9 +6735,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -7181,42 +6746,42 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, }, }, &labeledExpr{ - pos: position{line: 971, col: 5, offset: 29975}, + pos: position{line: 978, col: 5, offset: 30001}, label: "line", expr: &actionExpr{ - pos: position{line: 774, col: 5, offset: 24820}, + pos: position{line: 781, col: 5, offset: 24846}, run: (*parser).callonDocumentFragment740, expr: &seqExpr{ - pos: position{line: 774, col: 5, offset: 24820}, + pos: position{line: 781, col: 5, offset: 24846}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 774, col: 5, offset: 24820}, + pos: position{line: 781, col: 5, offset: 24846}, expr: ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, &labeledExpr{ - pos: position{line: 775, col: 5, offset: 24893}, + pos: position{line: 782, col: 5, offset: 24919}, label: "content", expr: &actionExpr{ - pos: position{line: 775, col: 14, offset: 24902}, + pos: position{line: 782, col: 14, offset: 24928}, run: (*parser).callonDocumentFragment746, expr: &zeroOrMoreExpr{ - pos: position{line: 775, col: 14, offset: 24902}, + pos: position{line: 782, col: 14, offset: 24928}, expr: &charClassMatcher{ - pos: position{line: 775, col: 14, offset: 24902}, + pos: position{line: 782, col: 14, offset: 24928}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -7226,28 +6791,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonDocumentFragment750, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -7256,9 +6821,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -7273,29 +6838,29 @@ var g = &grammar{ }, }, &zeroOrOneExpr{ - pos: position{line: 960, col: 5, offset: 29653}, + pos: position{line: 967, col: 5, offset: 29679}, expr: &choiceExpr{ - pos: position{line: 967, col: 29, offset: 29887}, + pos: position{line: 974, col: 29, offset: 29913}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 769, col: 26, offset: 24701}, + pos: position{line: 776, col: 26, offset: 24727}, run: (*parser).callonDocumentFragment759, expr: &seqExpr{ - pos: position{line: 769, col: 26, offset: 24701}, + pos: position{line: 776, col: 26, offset: 24727}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 769, col: 26, offset: 24701}, + pos: position{line: 776, col: 26, offset: 24727}, val: "****", ignoreCase: false, want: "\"****\"", }, &zeroOrMoreExpr{ - pos: position{line: 769, col: 33, offset: 24708}, + pos: position{line: 776, col: 33, offset: 24734}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonDocumentFragment763, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -7304,28 +6869,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonDocumentFragment766, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -7334,9 +6899,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -7345,9 +6910,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -7357,52 +6922,52 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2807, col: 18, offset: 92152}, + pos: position{line: 2708, col: 18, offset: 88911}, run: (*parser).callonDocumentFragment775, expr: &seqExpr{ - pos: position{line: 2807, col: 18, offset: 92152}, + pos: position{line: 2708, col: 18, offset: 88911}, exprs: []interface{}{ &choiceExpr{ - pos: position{line: 2808, col: 9, offset: 92162}, + pos: position{line: 2709, col: 9, offset: 88921}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2808, col: 9, offset: 92162}, + pos: position{line: 2709, col: 9, offset: 88921}, val: "'''", ignoreCase: false, want: "\"'''\"", }, &litMatcher{ - pos: position{line: 2809, col: 11, offset: 92198}, + pos: position{line: 2710, col: 11, offset: 88957}, val: "***", ignoreCase: false, want: "\"***\"", }, &litMatcher{ - pos: position{line: 2809, col: 19, offset: 92206}, + pos: position{line: 2710, col: 19, offset: 88965}, val: "* * *", ignoreCase: false, want: "\"* * *\"", }, &litMatcher{ - pos: position{line: 2809, col: 29, offset: 92216}, + pos: position{line: 2710, col: 29, offset: 88975}, val: "---", ignoreCase: false, want: "\"---\"", }, &litMatcher{ - pos: position{line: 2809, col: 37, offset: 92224}, + pos: position{line: 2710, col: 37, offset: 88983}, val: "- - -", ignoreCase: false, want: "\"- - -\"", }, &litMatcher{ - pos: position{line: 2809, col: 47, offset: 92234}, + pos: position{line: 2710, col: 47, offset: 88993}, val: "___", ignoreCase: false, want: "\"___\"", }, &litMatcher{ - pos: position{line: 2809, col: 55, offset: 92242}, + pos: position{line: 2710, col: 55, offset: 89001}, val: "_ _ _", ignoreCase: false, want: "\"_ _ _\"", @@ -7410,12 +6975,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 2810, col: 11, offset: 92300}, + pos: position{line: 2711, col: 11, offset: 89059}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonDocumentFragment786, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -7424,28 +6989,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonDocumentFragment789, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -7454,36 +7019,36 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonDocumentFragment797, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -7492,9 +7057,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -7503,28 +7068,28 @@ var g = &grammar{ }, }, &ruleRefExpr{ - pos: position{line: 247, col: 11, offset: 7397}, + pos: position{line: 247, col: 11, offset: 7394}, name: "ListElements", }, &actionExpr{ - pos: position{line: 2705, col: 5, offset: 89281}, + pos: position{line: 2606, col: 5, offset: 86040}, run: (*parser).callonDocumentFragment805, expr: &seqExpr{ - pos: position{line: 2705, col: 5, offset: 89281}, + pos: position{line: 2606, col: 5, offset: 86040}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2713, col: 19, offset: 89458}, + pos: position{line: 2614, col: 19, offset: 86217}, val: "|===", ignoreCase: false, want: "\"|===\"", }, &zeroOrMoreExpr{ - pos: position{line: 2713, col: 26, offset: 89465}, + pos: position{line: 2614, col: 26, offset: 86224}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonDocumentFragment809, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -7533,28 +7098,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonDocumentFragment812, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -7563,48 +7128,48 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, }, &labeledExpr{ - pos: position{line: 2706, col: 5, offset: 89305}, + pos: position{line: 2607, col: 5, offset: 86064}, label: "header", expr: &zeroOrOneExpr{ - pos: position{line: 2706, col: 12, offset: 89312}, + pos: position{line: 2607, col: 12, offset: 86071}, expr: &actionExpr{ - pos: position{line: 2721, col: 5, offset: 89625}, + pos: position{line: 2622, col: 5, offset: 86384}, run: (*parser).callonDocumentFragment821, expr: &seqExpr{ - pos: position{line: 2721, col: 5, offset: 89625}, + pos: position{line: 2622, col: 5, offset: 86384}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 2721, col: 5, offset: 89625}, + pos: position{line: 2622, col: 5, offset: 86384}, label: "cells", expr: &oneOrMoreExpr{ - pos: position{line: 2721, col: 11, offset: 89631}, + pos: position{line: 2622, col: 11, offset: 86390}, expr: &actionExpr{ - pos: position{line: 2727, col: 5, offset: 89748}, + pos: position{line: 2628, col: 5, offset: 86507}, run: (*parser).callonDocumentFragment825, expr: &seqExpr{ - pos: position{line: 2727, col: 5, offset: 89748}, + pos: position{line: 2628, col: 5, offset: 86507}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2727, col: 5, offset: 89748}, + pos: position{line: 2628, col: 5, offset: 86507}, val: "|", ignoreCase: false, want: "\"|\"", }, &zeroOrMoreExpr{ - pos: position{line: 2727, col: 9, offset: 89752}, + pos: position{line: 2628, col: 9, offset: 86511}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonDocumentFragment829, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -7613,23 +7178,23 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 2728, col: 5, offset: 89764}, + pos: position{line: 2629, col: 5, offset: 86523}, label: "content", expr: &zeroOrOneExpr{ - pos: position{line: 2728, col: 14, offset: 89773}, + pos: position{line: 2629, col: 14, offset: 86532}, expr: &actionExpr{ - pos: position{line: 2760, col: 5, offset: 90561}, + pos: position{line: 2661, col: 5, offset: 87320}, run: (*parser).callonDocumentFragment833, expr: &labeledExpr{ - pos: position{line: 2760, col: 5, offset: 90561}, + pos: position{line: 2661, col: 5, offset: 87320}, label: "content", expr: &actionExpr{ - pos: position{line: 2760, col: 14, offset: 90570}, + pos: position{line: 2661, col: 14, offset: 87329}, run: (*parser).callonDocumentFragment835, expr: &oneOrMoreExpr{ - pos: position{line: 2760, col: 14, offset: 90570}, + pos: position{line: 2661, col: 14, offset: 87329}, expr: &charClassMatcher{ - pos: position{line: 2760, col: 14, offset: 90570}, + pos: position{line: 2661, col: 14, offset: 87329}, val: "[^\\r\\n|]", chars: []rune{'\r', '\n', '|'}, ignoreCase: false, @@ -7647,28 +7212,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonDocumentFragment839, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -7677,37 +7242,37 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, }, &oneOrMoreExpr{ - pos: position{line: 2722, col: 5, offset: 89653}, + pos: position{line: 2623, col: 5, offset: 86412}, expr: &actionExpr{ - pos: position{line: 682, col: 14, offset: 22022}, + pos: position{line: 689, col: 14, offset: 22046}, run: (*parser).callonDocumentFragment847, expr: &seqExpr{ - pos: position{line: 682, col: 14, offset: 22022}, + pos: position{line: 689, col: 14, offset: 22046}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 682, col: 14, offset: 22022}, + pos: position{line: 689, col: 14, offset: 22046}, expr: ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, &zeroOrMoreExpr{ - pos: position{line: 682, col: 19, offset: 22027}, + pos: position{line: 689, col: 19, offset: 22051}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonDocumentFragment853, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -7716,28 +7281,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonDocumentFragment856, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -7746,9 +7311,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -7763,40 +7328,40 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 2707, col: 5, offset: 89331}, + pos: position{line: 2608, col: 5, offset: 86090}, label: "rows", expr: &zeroOrMoreExpr{ - pos: position{line: 2707, col: 10, offset: 89336}, + pos: position{line: 2608, col: 10, offset: 86095}, expr: &choiceExpr{ - pos: position{line: 2732, col: 13, offset: 89870}, + pos: position{line: 2633, col: 13, offset: 86629}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2742, col: 5, offset: 90089}, + pos: position{line: 2643, col: 5, offset: 86848}, run: (*parser).callonDocumentFragment866, expr: &seqExpr{ - pos: position{line: 2742, col: 5, offset: 90089}, + pos: position{line: 2643, col: 5, offset: 86848}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 2742, col: 5, offset: 90089}, + pos: position{line: 2643, col: 5, offset: 86848}, expr: &choiceExpr{ - pos: position{line: 2717, col: 22, offset: 89538}, + pos: position{line: 2618, col: 22, offset: 86297}, alternatives: []interface{}{ &seqExpr{ - pos: position{line: 2713, col: 19, offset: 89458}, + pos: position{line: 2614, col: 19, offset: 86217}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2713, col: 19, offset: 89458}, + pos: position{line: 2614, col: 19, offset: 86217}, val: "|===", ignoreCase: false, want: "\"|===\"", }, &zeroOrMoreExpr{ - pos: position{line: 2713, col: 26, offset: 89465}, + pos: position{line: 2614, col: 26, offset: 86224}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonDocumentFragment873, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -7805,28 +7370,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonDocumentFragment876, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -7835,9 +7400,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -7845,55 +7410,55 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, }, }, &labeledExpr{ - pos: position{line: 2743, col: 5, offset: 90112}, + pos: position{line: 2644, col: 5, offset: 86871}, label: "cells", expr: &oneOrMoreExpr{ - pos: position{line: 2743, col: 11, offset: 90118}, + pos: position{line: 2644, col: 11, offset: 86877}, expr: &actionExpr{ - pos: position{line: 2743, col: 12, offset: 90119}, + pos: position{line: 2644, col: 12, offset: 86878}, run: (*parser).callonDocumentFragment887, expr: &seqExpr{ - pos: position{line: 2743, col: 12, offset: 90119}, + pos: position{line: 2644, col: 12, offset: 86878}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 2743, col: 12, offset: 90119}, + pos: position{line: 2644, col: 12, offset: 86878}, label: "cell", expr: &actionExpr{ - pos: position{line: 2752, col: 5, offset: 90360}, + pos: position{line: 2653, col: 5, offset: 87119}, run: (*parser).callonDocumentFragment890, expr: &seqExpr{ - pos: position{line: 2752, col: 5, offset: 90360}, + pos: position{line: 2653, col: 5, offset: 87119}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 2752, col: 5, offset: 90360}, + pos: position{line: 2653, col: 5, offset: 87119}, expr: &choiceExpr{ - pos: position{line: 2717, col: 22, offset: 89538}, + pos: position{line: 2618, col: 22, offset: 86297}, alternatives: []interface{}{ &seqExpr{ - pos: position{line: 2713, col: 19, offset: 89458}, + pos: position{line: 2614, col: 19, offset: 86217}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2713, col: 19, offset: 89458}, + pos: position{line: 2614, col: 19, offset: 86217}, val: "|===", ignoreCase: false, want: "\"|===\"", }, &zeroOrMoreExpr{ - pos: position{line: 2713, col: 26, offset: 89465}, + pos: position{line: 2614, col: 26, offset: 86224}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonDocumentFragment897, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -7902,28 +7467,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonDocumentFragment900, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -7932,9 +7497,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -7942,38 +7507,38 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, }, }, ¬Expr{ - pos: position{line: 2753, col: 5, offset: 90383}, + pos: position{line: 2654, col: 5, offset: 87142}, expr: &actionExpr{ - pos: position{line: 682, col: 14, offset: 22022}, + pos: position{line: 689, col: 14, offset: 22046}, run: (*parser).callonDocumentFragment910, expr: &seqExpr{ - pos: position{line: 682, col: 14, offset: 22022}, + pos: position{line: 689, col: 14, offset: 22046}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 682, col: 14, offset: 22022}, + pos: position{line: 689, col: 14, offset: 22046}, expr: ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, &zeroOrMoreExpr{ - pos: position{line: 682, col: 19, offset: 22027}, + pos: position{line: 689, col: 19, offset: 22051}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonDocumentFragment916, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -7982,28 +7547,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonDocumentFragment919, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -8012,9 +7577,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -8024,18 +7589,18 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 2754, col: 5, offset: 90398}, + pos: position{line: 2655, col: 5, offset: 87157}, val: "|", ignoreCase: false, want: "\"|\"", }, &zeroOrMoreExpr{ - pos: position{line: 2754, col: 9, offset: 90402}, + pos: position{line: 2655, col: 9, offset: 87161}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonDocumentFragment928, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -8044,23 +7609,23 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 2754, col: 16, offset: 90409}, + pos: position{line: 2655, col: 16, offset: 87168}, label: "content", expr: &zeroOrOneExpr{ - pos: position{line: 2754, col: 25, offset: 90418}, + pos: position{line: 2655, col: 25, offset: 87177}, expr: &actionExpr{ - pos: position{line: 2760, col: 5, offset: 90561}, + pos: position{line: 2661, col: 5, offset: 87320}, run: (*parser).callonDocumentFragment932, expr: &labeledExpr{ - pos: position{line: 2760, col: 5, offset: 90561}, + pos: position{line: 2661, col: 5, offset: 87320}, label: "content", expr: &actionExpr{ - pos: position{line: 2760, col: 14, offset: 90570}, + pos: position{line: 2661, col: 14, offset: 87329}, run: (*parser).callonDocumentFragment934, expr: &oneOrMoreExpr{ - pos: position{line: 2760, col: 14, offset: 90570}, + pos: position{line: 2661, col: 14, offset: 87329}, expr: &charClassMatcher{ - pos: position{line: 2760, col: 14, offset: 90570}, + pos: position{line: 2661, col: 14, offset: 87329}, val: "[^\\r\\n|]", chars: []rune{'\r', '\n', '|'}, ignoreCase: false, @@ -8077,28 +7642,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonDocumentFragment938, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -8107,9 +7672,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -8120,32 +7685,32 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2746, col: 6, offset: 90181}, + pos: position{line: 2647, col: 6, offset: 86940}, alternatives: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 2746, col: 6, offset: 90181}, + pos: position{line: 2647, col: 6, offset: 86940}, expr: &actionExpr{ - pos: position{line: 682, col: 14, offset: 22022}, + pos: position{line: 689, col: 14, offset: 22046}, run: (*parser).callonDocumentFragment947, expr: &seqExpr{ - pos: position{line: 682, col: 14, offset: 22022}, + pos: position{line: 689, col: 14, offset: 22046}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 682, col: 14, offset: 22022}, + pos: position{line: 689, col: 14, offset: 22046}, expr: ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, &zeroOrMoreExpr{ - pos: position{line: 682, col: 19, offset: 22027}, + pos: position{line: 689, col: 19, offset: 22051}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonDocumentFragment953, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -8154,28 +7719,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonDocumentFragment956, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -8184,9 +7749,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -8196,26 +7761,26 @@ var g = &grammar{ }, }, &andExpr{ - pos: position{line: 2746, col: 19, offset: 90194}, + pos: position{line: 2647, col: 19, offset: 86953}, expr: &choiceExpr{ - pos: position{line: 2717, col: 22, offset: 89538}, + pos: position{line: 2618, col: 22, offset: 86297}, alternatives: []interface{}{ &seqExpr{ - pos: position{line: 2713, col: 19, offset: 89458}, + pos: position{line: 2614, col: 19, offset: 86217}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2713, col: 19, offset: 89458}, + pos: position{line: 2614, col: 19, offset: 86217}, val: "|===", ignoreCase: false, want: "\"|===\"", }, &zeroOrMoreExpr{ - pos: position{line: 2713, col: 26, offset: 89465}, + pos: position{line: 2614, col: 26, offset: 86224}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonDocumentFragment968, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -8224,28 +7789,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonDocumentFragment971, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -8254,9 +7819,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -8264,9 +7829,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -8278,32 +7843,32 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2735, col: 5, offset: 89937}, + pos: position{line: 2636, col: 5, offset: 86696}, run: (*parser).callonDocumentFragment980, expr: &seqExpr{ - pos: position{line: 2735, col: 5, offset: 89937}, + pos: position{line: 2636, col: 5, offset: 86696}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 2735, col: 5, offset: 89937}, + pos: position{line: 2636, col: 5, offset: 86696}, expr: &choiceExpr{ - pos: position{line: 2717, col: 22, offset: 89538}, + pos: position{line: 2618, col: 22, offset: 86297}, alternatives: []interface{}{ &seqExpr{ - pos: position{line: 2713, col: 19, offset: 89458}, + pos: position{line: 2614, col: 19, offset: 86217}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2713, col: 19, offset: 89458}, + pos: position{line: 2614, col: 19, offset: 86217}, val: "|===", ignoreCase: false, want: "\"|===\"", }, &zeroOrMoreExpr{ - pos: position{line: 2713, col: 26, offset: 89465}, + pos: position{line: 2614, col: 26, offset: 86224}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonDocumentFragment987, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -8312,28 +7877,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonDocumentFragment990, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -8342,9 +7907,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -8352,46 +7917,46 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, }, }, &labeledExpr{ - pos: position{line: 2736, col: 5, offset: 89960}, + pos: position{line: 2637, col: 5, offset: 86719}, label: "cells", expr: &oneOrMoreExpr{ - pos: position{line: 2736, col: 11, offset: 89966}, + pos: position{line: 2637, col: 11, offset: 86725}, expr: &actionExpr{ - pos: position{line: 2752, col: 5, offset: 90360}, + pos: position{line: 2653, col: 5, offset: 87119}, run: (*parser).callonDocumentFragment1001, expr: &seqExpr{ - pos: position{line: 2752, col: 5, offset: 90360}, + pos: position{line: 2653, col: 5, offset: 87119}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 2752, col: 5, offset: 90360}, + pos: position{line: 2653, col: 5, offset: 87119}, expr: &choiceExpr{ - pos: position{line: 2717, col: 22, offset: 89538}, + pos: position{line: 2618, col: 22, offset: 86297}, alternatives: []interface{}{ &seqExpr{ - pos: position{line: 2713, col: 19, offset: 89458}, + pos: position{line: 2614, col: 19, offset: 86217}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2713, col: 19, offset: 89458}, + pos: position{line: 2614, col: 19, offset: 86217}, val: "|===", ignoreCase: false, want: "\"|===\"", }, &zeroOrMoreExpr{ - pos: position{line: 2713, col: 26, offset: 89465}, + pos: position{line: 2614, col: 26, offset: 86224}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonDocumentFragment1008, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -8400,28 +7965,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonDocumentFragment1011, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -8430,9 +7995,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -8440,38 +8005,38 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, }, }, ¬Expr{ - pos: position{line: 2753, col: 5, offset: 90383}, + pos: position{line: 2654, col: 5, offset: 87142}, expr: &actionExpr{ - pos: position{line: 682, col: 14, offset: 22022}, + pos: position{line: 689, col: 14, offset: 22046}, run: (*parser).callonDocumentFragment1021, expr: &seqExpr{ - pos: position{line: 682, col: 14, offset: 22022}, + pos: position{line: 689, col: 14, offset: 22046}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 682, col: 14, offset: 22022}, + pos: position{line: 689, col: 14, offset: 22046}, expr: ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, &zeroOrMoreExpr{ - pos: position{line: 682, col: 19, offset: 22027}, + pos: position{line: 689, col: 19, offset: 22051}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonDocumentFragment1027, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -8480,28 +8045,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonDocumentFragment1030, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -8510,9 +8075,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -8522,18 +8087,18 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 2754, col: 5, offset: 90398}, + pos: position{line: 2655, col: 5, offset: 87157}, val: "|", ignoreCase: false, want: "\"|\"", }, &zeroOrMoreExpr{ - pos: position{line: 2754, col: 9, offset: 90402}, + pos: position{line: 2655, col: 9, offset: 87161}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonDocumentFragment1039, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -8542,23 +8107,23 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 2754, col: 16, offset: 90409}, + pos: position{line: 2655, col: 16, offset: 87168}, label: "content", expr: &zeroOrOneExpr{ - pos: position{line: 2754, col: 25, offset: 90418}, + pos: position{line: 2655, col: 25, offset: 87177}, expr: &actionExpr{ - pos: position{line: 2760, col: 5, offset: 90561}, + pos: position{line: 2661, col: 5, offset: 87320}, run: (*parser).callonDocumentFragment1043, expr: &labeledExpr{ - pos: position{line: 2760, col: 5, offset: 90561}, + pos: position{line: 2661, col: 5, offset: 87320}, label: "content", expr: &actionExpr{ - pos: position{line: 2760, col: 14, offset: 90570}, + pos: position{line: 2661, col: 14, offset: 87329}, run: (*parser).callonDocumentFragment1045, expr: &oneOrMoreExpr{ - pos: position{line: 2760, col: 14, offset: 90570}, + pos: position{line: 2661, col: 14, offset: 87329}, expr: &charClassMatcher{ - pos: position{line: 2760, col: 14, offset: 90570}, + pos: position{line: 2661, col: 14, offset: 87329}, val: "[^\\r\\n|]", chars: []rune{'\r', '\n', '|'}, ignoreCase: false, @@ -8576,28 +8141,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonDocumentFragment1049, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -8606,37 +8171,37 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, }, &zeroOrMoreExpr{ - pos: position{line: 2737, col: 5, offset: 89987}, + pos: position{line: 2638, col: 5, offset: 86746}, expr: &actionExpr{ - pos: position{line: 682, col: 14, offset: 22022}, + pos: position{line: 689, col: 14, offset: 22046}, run: (*parser).callonDocumentFragment1057, expr: &seqExpr{ - pos: position{line: 682, col: 14, offset: 22022}, + pos: position{line: 689, col: 14, offset: 22046}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 682, col: 14, offset: 22022}, + pos: position{line: 689, col: 14, offset: 22046}, expr: ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, &zeroOrMoreExpr{ - pos: position{line: 682, col: 19, offset: 22027}, + pos: position{line: 689, col: 19, offset: 22051}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonDocumentFragment1063, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -8645,28 +8210,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonDocumentFragment1066, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -8675,9 +8240,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -8694,24 +8259,24 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2717, col: 22, offset: 89538}, + pos: position{line: 2618, col: 22, offset: 86297}, alternatives: []interface{}{ &seqExpr{ - pos: position{line: 2713, col: 19, offset: 89458}, + pos: position{line: 2614, col: 19, offset: 86217}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2713, col: 19, offset: 89458}, + pos: position{line: 2614, col: 19, offset: 86217}, val: "|===", ignoreCase: false, want: "\"|===\"", }, &zeroOrMoreExpr{ - pos: position{line: 2713, col: 26, offset: 89465}, + pos: position{line: 2614, col: 26, offset: 86224}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonDocumentFragment1077, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -8720,28 +8285,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonDocumentFragment1080, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -8750,9 +8315,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -8760,9 +8325,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -8771,36 +8336,36 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2655, col: 22, offset: 87725}, + pos: position{line: 2556, col: 22, offset: 84484}, run: (*parser).callonDocumentFragment1089, expr: &seqExpr{ - pos: position{line: 2655, col: 22, offset: 87725}, + pos: position{line: 2556, col: 22, offset: 84484}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2660, col: 31, offset: 87946}, + pos: position{line: 2561, col: 31, offset: 84705}, val: "//", ignoreCase: false, want: "\"//\"", }, ¬Expr{ - pos: position{line: 2660, col: 36, offset: 87951}, + pos: position{line: 2561, col: 36, offset: 84710}, expr: &litMatcher{ - pos: position{line: 2660, col: 37, offset: 87952}, + pos: position{line: 2561, col: 37, offset: 84711}, val: "//", ignoreCase: false, want: "\"//\"", }, }, &labeledExpr{ - pos: position{line: 2655, col: 49, offset: 87752}, + pos: position{line: 2556, col: 49, offset: 84511}, label: "content", expr: &actionExpr{ - pos: position{line: 2662, col: 29, offset: 87987}, + pos: position{line: 2563, col: 29, offset: 84746}, run: (*parser).callonDocumentFragment1095, expr: &zeroOrMoreExpr{ - pos: position{line: 2662, col: 29, offset: 87987}, + pos: position{line: 2563, col: 29, offset: 84746}, expr: &charClassMatcher{ - pos: position{line: 2662, col: 29, offset: 87987}, + pos: position{line: 2563, col: 29, offset: 84746}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -8810,28 +8375,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonDocumentFragment1099, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -8840,9 +8405,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -8851,62 +8416,62 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1637, col: 5, offset: 53560}, + pos: position{line: 1644, col: 5, offset: 53619}, run: (*parser).callonDocumentFragment1106, expr: &seqExpr{ - pos: position{line: 1637, col: 5, offset: 53560}, + pos: position{line: 1644, col: 5, offset: 53619}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1637, col: 5, offset: 53560}, + pos: position{line: 1644, col: 5, offset: 53619}, label: "kind", expr: &choiceExpr{ - pos: position{line: 305, col: 19, offset: 9323}, + pos: position{line: 305, col: 19, offset: 9315}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 305, col: 19, offset: 9323}, + pos: position{line: 305, col: 19, offset: 9315}, run: (*parser).callonDocumentFragment1110, expr: &litMatcher{ - pos: position{line: 305, col: 19, offset: 9323}, + pos: position{line: 305, col: 19, offset: 9315}, val: "TIP", ignoreCase: false, want: "\"TIP\"", }, }, &actionExpr{ - pos: position{line: 307, col: 5, offset: 9361}, + pos: position{line: 307, col: 5, offset: 9353}, run: (*parser).callonDocumentFragment1112, expr: &litMatcher{ - pos: position{line: 307, col: 5, offset: 9361}, + pos: position{line: 307, col: 5, offset: 9353}, val: "NOTE", ignoreCase: false, want: "\"NOTE\"", }, }, &actionExpr{ - pos: position{line: 309, col: 5, offset: 9401}, + pos: position{line: 309, col: 5, offset: 9393}, run: (*parser).callonDocumentFragment1114, expr: &litMatcher{ - pos: position{line: 309, col: 5, offset: 9401}, + pos: position{line: 309, col: 5, offset: 9393}, val: "IMPORTANT", ignoreCase: false, want: "\"IMPORTANT\"", }, }, &actionExpr{ - pos: position{line: 311, col: 5, offset: 9451}, + pos: position{line: 311, col: 5, offset: 9443}, run: (*parser).callonDocumentFragment1116, expr: &litMatcher{ - pos: position{line: 311, col: 5, offset: 9451}, + pos: position{line: 311, col: 5, offset: 9443}, val: "WARNING", ignoreCase: false, want: "\"WARNING\"", }, }, &actionExpr{ - pos: position{line: 313, col: 5, offset: 9497}, + pos: position{line: 313, col: 5, offset: 9489}, run: (*parser).callonDocumentFragment1118, expr: &litMatcher{ - pos: position{line: 313, col: 5, offset: 9497}, + pos: position{line: 313, col: 5, offset: 9489}, val: "CAUTION", ignoreCase: false, want: "\"CAUTION\"", @@ -8916,30 +8481,30 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1637, col: 27, offset: 53582}, + pos: position{line: 1644, col: 27, offset: 53641}, val: ": ", ignoreCase: false, want: "\": \"", }, &labeledExpr{ - pos: position{line: 1638, col: 5, offset: 53592}, + pos: position{line: 1645, col: 5, offset: 53651}, label: "firstLine", expr: &actionExpr{ - pos: position{line: 1649, col: 5, offset: 53936}, + pos: position{line: 1656, col: 5, offset: 53995}, run: (*parser).callonDocumentFragment1122, expr: &seqExpr{ - pos: position{line: 1649, col: 5, offset: 53936}, + pos: position{line: 1656, col: 5, offset: 53995}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1649, col: 5, offset: 53936}, + pos: position{line: 1656, col: 5, offset: 53995}, label: "content", expr: &actionExpr{ - pos: position{line: 1649, col: 14, offset: 53945}, + pos: position{line: 1656, col: 14, offset: 54004}, run: (*parser).callonDocumentFragment1125, expr: &oneOrMoreExpr{ - pos: position{line: 1649, col: 14, offset: 53945}, + pos: position{line: 1656, col: 14, offset: 54004}, expr: &charClassMatcher{ - pos: position{line: 1649, col: 14, offset: 53945}, + pos: position{line: 1656, col: 14, offset: 54004}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -8949,32 +8514,32 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1652, col: 5, offset: 54002}, + pos: position{line: 1659, col: 5, offset: 54111}, run: (*parser).callonDocumentFragment1128, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonDocumentFragment1130, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -8983,9 +8548,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -8995,34 +8560,34 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1639, col: 5, offset: 53626}, + pos: position{line: 1646, col: 5, offset: 53685}, label: "otherLines", expr: &zeroOrMoreExpr{ - pos: position{line: 1639, col: 16, offset: 53637}, + pos: position{line: 1646, col: 16, offset: 53696}, expr: &actionExpr{ - pos: position{line: 1640, col: 9, offset: 53647}, + pos: position{line: 1647, col: 9, offset: 53706}, run: (*parser).callonDocumentFragment1139, expr: &seqExpr{ - pos: position{line: 1640, col: 9, offset: 53647}, + pos: position{line: 1647, col: 9, offset: 53706}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 1640, col: 9, offset: 53647}, + pos: position{line: 1647, col: 9, offset: 53706}, expr: &seqExpr{ - pos: position{line: 1377, col: 34, offset: 44957}, + pos: position{line: 1384, col: 34, offset: 44997}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1377, col: 34, offset: 44957}, + pos: position{line: 1384, col: 34, offset: 44997}, val: "+", ignoreCase: false, want: "\"+\"", }, &zeroOrMoreExpr{ - pos: position{line: 1377, col: 38, offset: 44961}, + pos: position{line: 1384, col: 38, offset: 45001}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonDocumentFragment1145, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -9031,25 +8596,25 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonDocumentFragment1147, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -9061,42 +8626,42 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1641, col: 9, offset: 53686}, + pos: position{line: 1648, col: 9, offset: 53745}, label: "line", expr: &choiceExpr{ - pos: position{line: 1641, col: 15, offset: 53692}, + pos: position{line: 1648, col: 15, offset: 53751}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2655, col: 22, offset: 87725}, + pos: position{line: 2556, col: 22, offset: 84484}, run: (*parser).callonDocumentFragment1154, expr: &seqExpr{ - pos: position{line: 2655, col: 22, offset: 87725}, + pos: position{line: 2556, col: 22, offset: 84484}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2660, col: 31, offset: 87946}, + pos: position{line: 2561, col: 31, offset: 84705}, val: "//", ignoreCase: false, want: "\"//\"", }, ¬Expr{ - pos: position{line: 2660, col: 36, offset: 87951}, + pos: position{line: 2561, col: 36, offset: 84710}, expr: &litMatcher{ - pos: position{line: 2660, col: 37, offset: 87952}, + pos: position{line: 2561, col: 37, offset: 84711}, val: "//", ignoreCase: false, want: "\"//\"", }, }, &labeledExpr{ - pos: position{line: 2655, col: 49, offset: 87752}, + pos: position{line: 2556, col: 49, offset: 84511}, label: "content", expr: &actionExpr{ - pos: position{line: 2662, col: 29, offset: 87987}, + pos: position{line: 2563, col: 29, offset: 84746}, run: (*parser).callonDocumentFragment1160, expr: &zeroOrMoreExpr{ - pos: position{line: 2662, col: 29, offset: 87987}, + pos: position{line: 2563, col: 29, offset: 84746}, expr: &charClassMatcher{ - pos: position{line: 2662, col: 29, offset: 87987}, + pos: position{line: 2563, col: 29, offset: 84746}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -9106,28 +8671,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonDocumentFragment1164, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -9136,9 +8701,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -9147,21 +8712,21 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1649, col: 5, offset: 53936}, + pos: position{line: 1656, col: 5, offset: 53995}, run: (*parser).callonDocumentFragment1171, expr: &seqExpr{ - pos: position{line: 1649, col: 5, offset: 53936}, + pos: position{line: 1656, col: 5, offset: 53995}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1649, col: 5, offset: 53936}, + pos: position{line: 1656, col: 5, offset: 53995}, label: "content", expr: &actionExpr{ - pos: position{line: 1649, col: 14, offset: 53945}, + pos: position{line: 1656, col: 14, offset: 54004}, run: (*parser).callonDocumentFragment1174, expr: &oneOrMoreExpr{ - pos: position{line: 1649, col: 14, offset: 53945}, + pos: position{line: 1656, col: 14, offset: 54004}, expr: &charClassMatcher{ - pos: position{line: 1649, col: 14, offset: 53945}, + pos: position{line: 1656, col: 14, offset: 54004}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -9171,32 +8736,32 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1652, col: 5, offset: 54002}, + pos: position{line: 1659, col: 5, offset: 54111}, run: (*parser).callonDocumentFragment1177, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonDocumentFragment1179, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -9205,9 +8770,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -9227,36 +8792,36 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1660, col: 5, offset: 54166}, + pos: position{line: 1667, col: 5, offset: 54277}, run: (*parser).callonDocumentFragment1186, expr: &seqExpr{ - pos: position{line: 1660, col: 5, offset: 54166}, + pos: position{line: 1667, col: 5, offset: 54277}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1660, col: 5, offset: 54166}, + pos: position{line: 1667, col: 5, offset: 54277}, label: "firstLine", expr: &actionExpr{ - pos: position{line: 1667, col: 5, offset: 54451}, + pos: position{line: 1674, col: 5, offset: 54562}, run: (*parser).callonDocumentFragment1189, expr: &seqExpr{ - pos: position{line: 1667, col: 5, offset: 54451}, + pos: position{line: 1674, col: 5, offset: 54562}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1667, col: 5, offset: 54451}, + pos: position{line: 1674, col: 5, offset: 54562}, label: "content", expr: &actionExpr{ - pos: position{line: 1667, col: 14, offset: 54460}, + pos: position{line: 1674, col: 14, offset: 54571}, run: (*parser).callonDocumentFragment1192, expr: &seqExpr{ - pos: position{line: 1667, col: 14, offset: 54460}, + pos: position{line: 1674, col: 14, offset: 54571}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 2932, col: 11, offset: 96082}, + pos: position{line: 2842, col: 11, offset: 93236}, run: (*parser).callonDocumentFragment1194, expr: &oneOrMoreExpr{ - pos: position{line: 2932, col: 11, offset: 96082}, + pos: position{line: 2842, col: 11, offset: 93236}, expr: &charClassMatcher{ - pos: position{line: 2932, col: 12, offset: 96083}, + pos: position{line: 2842, col: 12, offset: 93237}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -9265,9 +8830,9 @@ var g = &grammar{ }, }, &oneOrMoreExpr{ - pos: position{line: 1667, col: 21, offset: 54467}, + pos: position{line: 1674, col: 21, offset: 54578}, expr: &charClassMatcher{ - pos: position{line: 1667, col: 21, offset: 54467}, + pos: position{line: 1674, col: 21, offset: 54578}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -9279,32 +8844,32 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1670, col: 5, offset: 54524}, + pos: position{line: 1677, col: 5, offset: 54635}, run: (*parser).callonDocumentFragment1199, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonDocumentFragment1201, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -9313,9 +8878,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -9325,44 +8890,44 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1661, col: 5, offset: 54207}, + pos: position{line: 1668, col: 5, offset: 54318}, label: "otherLines", expr: &zeroOrMoreExpr{ - pos: position{line: 1661, col: 16, offset: 54218}, + pos: position{line: 1668, col: 16, offset: 54329}, expr: &choiceExpr{ - pos: position{line: 1661, col: 17, offset: 54219}, + pos: position{line: 1668, col: 17, offset: 54330}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2655, col: 22, offset: 87725}, + pos: position{line: 2556, col: 22, offset: 84484}, run: (*parser).callonDocumentFragment1211, expr: &seqExpr{ - pos: position{line: 2655, col: 22, offset: 87725}, + pos: position{line: 2556, col: 22, offset: 84484}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2660, col: 31, offset: 87946}, + pos: position{line: 2561, col: 31, offset: 84705}, val: "//", ignoreCase: false, want: "\"//\"", }, ¬Expr{ - pos: position{line: 2660, col: 36, offset: 87951}, + pos: position{line: 2561, col: 36, offset: 84710}, expr: &litMatcher{ - pos: position{line: 2660, col: 37, offset: 87952}, + pos: position{line: 2561, col: 37, offset: 84711}, val: "//", ignoreCase: false, want: "\"//\"", }, }, &labeledExpr{ - pos: position{line: 2655, col: 49, offset: 87752}, + pos: position{line: 2556, col: 49, offset: 84511}, label: "content", expr: &actionExpr{ - pos: position{line: 2662, col: 29, offset: 87987}, + pos: position{line: 2563, col: 29, offset: 84746}, run: (*parser).callonDocumentFragment1217, expr: &zeroOrMoreExpr{ - pos: position{line: 2662, col: 29, offset: 87987}, + pos: position{line: 2563, col: 29, offset: 84746}, expr: &charClassMatcher{ - pos: position{line: 2662, col: 29, offset: 87987}, + pos: position{line: 2563, col: 29, offset: 84746}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -9372,28 +8937,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonDocumentFragment1221, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -9402,9 +8967,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -9413,21 +8978,21 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1649, col: 5, offset: 53936}, + pos: position{line: 1656, col: 5, offset: 53995}, run: (*parser).callonDocumentFragment1228, expr: &seqExpr{ - pos: position{line: 1649, col: 5, offset: 53936}, + pos: position{line: 1656, col: 5, offset: 53995}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1649, col: 5, offset: 53936}, + pos: position{line: 1656, col: 5, offset: 53995}, label: "content", expr: &actionExpr{ - pos: position{line: 1649, col: 14, offset: 53945}, + pos: position{line: 1656, col: 14, offset: 54004}, run: (*parser).callonDocumentFragment1231, expr: &oneOrMoreExpr{ - pos: position{line: 1649, col: 14, offset: 53945}, + pos: position{line: 1656, col: 14, offset: 54004}, expr: &charClassMatcher{ - pos: position{line: 1649, col: 14, offset: 53945}, + pos: position{line: 1656, col: 14, offset: 54004}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -9437,32 +9002,32 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1652, col: 5, offset: 54002}, + pos: position{line: 1659, col: 5, offset: 54111}, run: (*parser).callonDocumentFragment1234, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonDocumentFragment1236, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -9471,9 +9036,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -9489,37 +9054,37 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1104, col: 5, offset: 34458}, + pos: position{line: 1111, col: 5, offset: 34529}, run: (*parser).callonDocumentFragment1243, expr: &seqExpr{ - pos: position{line: 1104, col: 5, offset: 34458}, + pos: position{line: 1111, col: 5, offset: 34529}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 1104, col: 5, offset: 34458}, + pos: position{line: 1111, col: 5, offset: 34529}, run: (*parser).callonDocumentFragment1245, }, &labeledExpr{ - pos: position{line: 1107, col: 5, offset: 34516}, + pos: position{line: 1114, col: 5, offset: 34587}, label: "frontmatter", expr: &actionExpr{ - pos: position{line: 1112, col: 20, offset: 34611}, + pos: position{line: 1119, col: 20, offset: 34682}, run: (*parser).callonDocumentFragment1247, expr: &seqExpr{ - pos: position{line: 1112, col: 20, offset: 34611}, + pos: position{line: 1119, col: 20, offset: 34682}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1116, col: 30, offset: 34783}, + pos: position{line: 1123, col: 30, offset: 34854}, val: "---", ignoreCase: false, want: "\"---\"", }, &zeroOrMoreExpr{ - pos: position{line: 1116, col: 36, offset: 34789}, + pos: position{line: 1123, col: 36, offset: 34860}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonDocumentFragment1251, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -9528,28 +9093,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonDocumentFragment1254, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -9558,46 +9123,46 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, }, &labeledExpr{ - pos: position{line: 1112, col: 45, offset: 34636}, + pos: position{line: 1119, col: 45, offset: 34707}, label: "content", expr: &zeroOrOneExpr{ - pos: position{line: 1112, col: 53, offset: 34644}, + pos: position{line: 1119, col: 53, offset: 34715}, expr: &actionExpr{ - pos: position{line: 1118, col: 27, offset: 34827}, + pos: position{line: 1125, col: 27, offset: 34898}, run: (*parser).callonDocumentFragment1263, expr: &zeroOrMoreExpr{ - pos: position{line: 1118, col: 27, offset: 34827}, + pos: position{line: 1125, col: 27, offset: 34898}, expr: &oneOrMoreExpr{ - pos: position{line: 1118, col: 28, offset: 34828}, + pos: position{line: 1125, col: 28, offset: 34899}, expr: &seqExpr{ - pos: position{line: 1118, col: 29, offset: 34829}, + pos: position{line: 1125, col: 29, offset: 34900}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 1118, col: 29, offset: 34829}, + pos: position{line: 1125, col: 29, offset: 34900}, expr: &seqExpr{ - pos: position{line: 1116, col: 30, offset: 34783}, + pos: position{line: 1123, col: 30, offset: 34854}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1116, col: 30, offset: 34783}, + pos: position{line: 1123, col: 30, offset: 34854}, val: "---", ignoreCase: false, want: "\"---\"", }, &zeroOrMoreExpr{ - pos: position{line: 1116, col: 36, offset: 34789}, + pos: position{line: 1123, col: 36, offset: 34860}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonDocumentFragment1271, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -9606,28 +9171,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonDocumentFragment1274, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -9636,9 +9201,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -9647,7 +9212,7 @@ var g = &grammar{ }, }, &anyMatcher{ - line: 1118, col: 55, offset: 34855, + line: 1125, col: 55, offset: 34926, }, }, }, @@ -9657,18 +9222,18 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1116, col: 30, offset: 34783}, + pos: position{line: 1123, col: 30, offset: 34854}, val: "---", ignoreCase: false, want: "\"---\"", }, &zeroOrMoreExpr{ - pos: position{line: 1116, col: 36, offset: 34789}, + pos: position{line: 1123, col: 36, offset: 34860}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonDocumentFragment1284, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -9677,28 +9242,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonDocumentFragment1287, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -9707,9 +9272,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -9722,7 +9287,7 @@ var g = &grammar{ }, }, &ruleRefExpr{ - pos: position{line: 253, col: 11, offset: 7543}, + pos: position{line: 253, col: 11, offset: 7540}, name: "Paragraph", }, }, @@ -9730,7 +9295,7 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 255, col: 5, offset: 7631}, + pos: position{line: 255, col: 5, offset: 7628}, run: (*parser).callonDocumentFragment1295, }, }, @@ -9739,43 +9304,43 @@ var g = &grammar{ }, { name: "DelimitedBlockElements", - pos: position{line: 283, col: 1, offset: 8512}, + pos: position{line: 283, col: 1, offset: 8504}, expr: &actionExpr{ - pos: position{line: 284, col: 5, offset: 8543}, + pos: position{line: 284, col: 5, offset: 8535}, run: (*parser).callonDelimitedBlockElements1, expr: &seqExpr{ - pos: position{line: 284, col: 5, offset: 8543}, + pos: position{line: 284, col: 5, offset: 8535}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 284, col: 5, offset: 8543}, + pos: position{line: 284, col: 5, offset: 8535}, label: "elements", expr: &zeroOrMoreExpr{ - pos: position{line: 284, col: 14, offset: 8552}, + pos: position{line: 284, col: 14, offset: 8544}, expr: &choiceExpr{ - pos: position{line: 285, col: 9, offset: 8562}, + pos: position{line: 285, col: 9, offset: 8554}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1085, col: 23, offset: 33674}, + pos: position{line: 1092, col: 23, offset: 33700}, run: (*parser).callonDelimitedBlockElements6, expr: &seqExpr{ - pos: position{line: 1085, col: 23, offset: 33674}, + pos: position{line: 1092, col: 23, offset: 33700}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1083, col: 32, offset: 33642}, + pos: position{line: 1090, col: 32, offset: 33668}, val: "�", ignoreCase: false, want: "\"�\"", }, &labeledExpr{ - pos: position{line: 1085, col: 51, offset: 33702}, + pos: position{line: 1092, col: 51, offset: 33728}, label: "ref", expr: &actionExpr{ - pos: position{line: 1085, col: 56, offset: 33707}, + pos: position{line: 1092, col: 56, offset: 33733}, run: (*parser).callonDelimitedBlockElements10, expr: &oneOrMoreExpr{ - pos: position{line: 1085, col: 56, offset: 33707}, + pos: position{line: 1092, col: 56, offset: 33733}, expr: &charClassMatcher{ - pos: position{line: 1085, col: 56, offset: 33707}, + pos: position{line: 1092, col: 56, offset: 33733}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -9785,7 +9350,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1083, col: 32, offset: 33642}, + pos: position{line: 1090, col: 32, offset: 33668}, val: "�", ignoreCase: false, want: "\"�\"", @@ -9794,7 +9359,7 @@ var g = &grammar{ }, }, &ruleRefExpr{ - pos: position{line: 286, col: 11, offset: 8624}, + pos: position{line: 286, col: 11, offset: 8616}, name: "DocumentFragment", }, }, @@ -9802,9 +9367,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -9813,30 +9378,30 @@ var g = &grammar{ }, { name: "AttributeDeclaration", - pos: position{line: 320, col: 1, offset: 9757}, + pos: position{line: 320, col: 1, offset: 9749}, expr: &actionExpr{ - pos: position{line: 321, col: 5, offset: 9786}, + pos: position{line: 321, col: 5, offset: 9778}, run: (*parser).callonAttributeDeclaration1, expr: &seqExpr{ - pos: position{line: 321, col: 5, offset: 9786}, + pos: position{line: 321, col: 5, offset: 9778}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 321, col: 5, offset: 9786}, + pos: position{line: 321, col: 5, offset: 9778}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 321, col: 9, offset: 9790}, + pos: position{line: 321, col: 9, offset: 9782}, label: "name", expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, run: (*parser).callonAttributeDeclaration5, expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -9845,9 +9410,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, + pos: position{line: 336, col: 28, offset: 10335}, expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, + pos: position{line: 336, col: 29, offset: 10336}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -9861,29 +9426,29 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 321, col: 30, offset: 9811}, + pos: position{line: 321, col: 30, offset: 9803}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 322, col: 5, offset: 9820}, + pos: position{line: 322, col: 5, offset: 9812}, label: "value", expr: &zeroOrOneExpr{ - pos: position{line: 322, col: 11, offset: 9826}, + pos: position{line: 322, col: 11, offset: 9818}, expr: &actionExpr{ - pos: position{line: 323, col: 9, offset: 9836}, + pos: position{line: 323, col: 9, offset: 9828}, run: (*parser).callonAttributeDeclaration13, expr: &seqExpr{ - pos: position{line: 323, col: 9, offset: 9836}, + pos: position{line: 323, col: 9, offset: 9828}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 2932, col: 11, offset: 96082}, + pos: position{line: 2842, col: 11, offset: 93236}, run: (*parser).callonAttributeDeclaration15, expr: &oneOrMoreExpr{ - pos: position{line: 2932, col: 11, offset: 96082}, + pos: position{line: 2842, col: 11, offset: 93236}, expr: &charClassMatcher{ - pos: position{line: 2932, col: 12, offset: 96083}, + pos: position{line: 2842, col: 12, offset: 93237}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -9892,10 +9457,10 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 324, col: 9, offset: 9928}, + pos: position{line: 324, col: 9, offset: 9920}, label: "value", expr: &ruleRefExpr{ - pos: position{line: 324, col: 16, offset: 9935}, + pos: position{line: 324, col: 16, offset: 9927}, name: "AttributeDeclarationValue", }, }, @@ -9905,28 +9470,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonAttributeDeclaration21, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -9935,9 +9500,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -9948,51 +9513,51 @@ var g = &grammar{ }, { name: "AttributeDeclarationValue", - pos: position{line: 340, col: 1, offset: 10400}, + pos: position{line: 340, col: 1, offset: 10392}, expr: &actionExpr{ - pos: position{line: 341, col: 5, offset: 10434}, + pos: position{line: 341, col: 5, offset: 10426}, run: (*parser).callonAttributeDeclarationValue1, expr: &seqExpr{ - pos: position{line: 341, col: 5, offset: 10434}, + pos: position{line: 341, col: 5, offset: 10426}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 341, col: 5, offset: 10434}, + pos: position{line: 341, col: 5, offset: 10426}, label: "elements", expr: &actionExpr{ - pos: position{line: 357, col: 5, offset: 10952}, + pos: position{line: 357, col: 5, offset: 10944}, run: (*parser).callonAttributeDeclarationValue4, expr: &labeledExpr{ - pos: position{line: 357, col: 5, offset: 10952}, + pos: position{line: 357, col: 5, offset: 10944}, label: "elements", expr: &zeroOrMoreExpr{ - pos: position{line: 357, col: 14, offset: 10961}, + pos: position{line: 357, col: 14, offset: 10953}, expr: &actionExpr{ - pos: position{line: 362, col: 5, offset: 11092}, + pos: position{line: 362, col: 5, offset: 11084}, run: (*parser).callonAttributeDeclarationValue7, expr: &seqExpr{ - pos: position{line: 362, col: 5, offset: 11092}, + pos: position{line: 362, col: 5, offset: 11084}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 362, col: 5, offset: 11092}, + pos: position{line: 362, col: 5, offset: 11084}, expr: &seqExpr{ - pos: position{line: 362, col: 7, offset: 11094}, + pos: position{line: 362, col: 7, offset: 11086}, exprs: []interface{}{ &zeroOrOneExpr{ - pos: position{line: 362, col: 7, offset: 11094}, + pos: position{line: 362, col: 7, offset: 11086}, expr: &litMatcher{ - pos: position{line: 362, col: 7, offset: 11094}, + pos: position{line: 362, col: 7, offset: 11086}, val: "\\", ignoreCase: false, want: "\"\\\\\"", }, }, &zeroOrMoreExpr{ - pos: position{line: 362, col: 13, offset: 11100}, + pos: position{line: 362, col: 13, offset: 11092}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonAttributeDeclarationValue14, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -10001,28 +9566,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonAttributeDeclarationValue17, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -10031,9 +9596,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -10042,18 +9607,18 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 363, col: 5, offset: 11116}, + pos: position{line: 363, col: 5, offset: 11108}, label: "element", expr: &choiceExpr{ - pos: position{line: 364, col: 9, offset: 11134}, + pos: position{line: 364, col: 9, offset: 11126}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 364, col: 10, offset: 11135}, + pos: position{line: 364, col: 10, offset: 11127}, run: (*parser).callonAttributeDeclarationValue26, expr: &oneOrMoreExpr{ - pos: position{line: 364, col: 10, offset: 11135}, + pos: position{line: 364, col: 10, offset: 11127}, expr: &charClassMatcher{ - pos: position{line: 364, col: 10, offset: 11135}, + pos: position{line: 364, col: 10, offset: 11127}, val: "[^\\r\\n{ ]", chars: []rune{'\r', '\n', '{', ' '}, ignoreCase: false, @@ -10062,10 +9627,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonAttributeDeclarationValue29, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -10073,44 +9638,44 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 649, col: 5, offset: 20887}, + pos: position{line: 655, col: 5, offset: 20901}, run: (*parser).callonAttributeDeclarationValue31, expr: &seqExpr{ - pos: position{line: 649, col: 5, offset: 20887}, + pos: position{line: 655, col: 5, offset: 20901}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 649, col: 5, offset: 20887}, + pos: position{line: 655, col: 5, offset: 20901}, run: (*parser).callonAttributeDeclarationValue33, }, &labeledExpr{ - pos: position{line: 652, col: 5, offset: 20951}, + pos: position{line: 658, col: 5, offset: 20970}, label: "element", expr: &choiceExpr{ - pos: position{line: 652, col: 14, offset: 20960}, + pos: position{line: 658, col: 14, offset: 20979}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 663, col: 25, offset: 21324}, + pos: position{line: 670, col: 25, offset: 21348}, run: (*parser).callonAttributeDeclarationValue36, expr: &seqExpr{ - pos: position{line: 663, col: 25, offset: 21324}, + pos: position{line: 670, col: 25, offset: 21348}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 663, col: 25, offset: 21324}, + pos: position{line: 670, col: 25, offset: 21348}, val: "{counter:", ignoreCase: false, want: "\"{counter:\"", }, &labeledExpr{ - pos: position{line: 663, col: 37, offset: 21336}, + pos: position{line: 670, col: 37, offset: 21360}, label: "name", expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, run: (*parser).callonAttributeDeclarationValue40, expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -10119,9 +9684,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, + pos: position{line: 336, col: 28, offset: 10335}, expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, + pos: position{line: 336, col: 29, offset: 10336}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -10135,33 +9700,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 663, col: 56, offset: 21355}, + pos: position{line: 670, col: 56, offset: 21379}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 663, col: 62, offset: 21361}, + pos: position{line: 670, col: 62, offset: 21385}, expr: &actionExpr{ - pos: position{line: 671, col: 17, offset: 21656}, + pos: position{line: 678, col: 17, offset: 21680}, run: (*parser).callonAttributeDeclarationValue47, expr: &seqExpr{ - pos: position{line: 671, col: 17, offset: 21656}, + pos: position{line: 678, col: 17, offset: 21680}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 671, col: 17, offset: 21656}, + pos: position{line: 678, col: 17, offset: 21680}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 671, col: 21, offset: 21660}, + pos: position{line: 678, col: 21, offset: 21684}, label: "start", expr: &choiceExpr{ - pos: position{line: 671, col: 28, offset: 21667}, + pos: position{line: 678, col: 28, offset: 21691}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 671, col: 28, offset: 21667}, + pos: position{line: 678, col: 28, offset: 21691}, run: (*parser).callonAttributeDeclarationValue52, expr: &charClassMatcher{ - pos: position{line: 671, col: 28, offset: 21667}, + pos: position{line: 678, col: 28, offset: 21691}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -10169,12 +9734,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 673, col: 9, offset: 21721}, + pos: position{line: 680, col: 9, offset: 21745}, run: (*parser).callonAttributeDeclarationValue54, expr: &oneOrMoreExpr{ - pos: position{line: 673, col: 9, offset: 21721}, + pos: position{line: 680, col: 9, offset: 21745}, expr: &charClassMatcher{ - pos: position{line: 673, col: 9, offset: 21721}, + pos: position{line: 680, col: 9, offset: 21745}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -10191,7 +9756,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 663, col: 78, offset: 21377}, + pos: position{line: 670, col: 78, offset: 21401}, val: "}", ignoreCase: false, want: "\"}\"", @@ -10200,28 +9765,28 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 667, col: 25, offset: 21495}, + pos: position{line: 674, col: 25, offset: 21519}, run: (*parser).callonAttributeDeclarationValue58, expr: &seqExpr{ - pos: position{line: 667, col: 25, offset: 21495}, + pos: position{line: 674, col: 25, offset: 21519}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 667, col: 25, offset: 21495}, + pos: position{line: 674, col: 25, offset: 21519}, val: "{counter2:", ignoreCase: false, want: "\"{counter2:\"", }, &labeledExpr{ - pos: position{line: 667, col: 38, offset: 21508}, + pos: position{line: 674, col: 38, offset: 21532}, label: "name", expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, run: (*parser).callonAttributeDeclarationValue62, expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -10230,9 +9795,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, + pos: position{line: 336, col: 28, offset: 10335}, expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, + pos: position{line: 336, col: 29, offset: 10336}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -10246,33 +9811,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 667, col: 57, offset: 21527}, + pos: position{line: 674, col: 57, offset: 21551}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 667, col: 63, offset: 21533}, + pos: position{line: 674, col: 63, offset: 21557}, expr: &actionExpr{ - pos: position{line: 671, col: 17, offset: 21656}, + pos: position{line: 678, col: 17, offset: 21680}, run: (*parser).callonAttributeDeclarationValue69, expr: &seqExpr{ - pos: position{line: 671, col: 17, offset: 21656}, + pos: position{line: 678, col: 17, offset: 21680}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 671, col: 17, offset: 21656}, + pos: position{line: 678, col: 17, offset: 21680}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 671, col: 21, offset: 21660}, + pos: position{line: 678, col: 21, offset: 21684}, label: "start", expr: &choiceExpr{ - pos: position{line: 671, col: 28, offset: 21667}, + pos: position{line: 678, col: 28, offset: 21691}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 671, col: 28, offset: 21667}, + pos: position{line: 678, col: 28, offset: 21691}, run: (*parser).callonAttributeDeclarationValue74, expr: &charClassMatcher{ - pos: position{line: 671, col: 28, offset: 21667}, + pos: position{line: 678, col: 28, offset: 21691}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -10280,12 +9845,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 673, col: 9, offset: 21721}, + pos: position{line: 680, col: 9, offset: 21745}, run: (*parser).callonAttributeDeclarationValue76, expr: &oneOrMoreExpr{ - pos: position{line: 673, col: 9, offset: 21721}, + pos: position{line: 680, col: 9, offset: 21745}, expr: &charClassMatcher{ - pos: position{line: 673, col: 9, offset: 21721}, + pos: position{line: 680, col: 9, offset: 21745}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -10302,7 +9867,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 667, col: 79, offset: 21549}, + pos: position{line: 674, col: 79, offset: 21573}, val: "}", ignoreCase: false, want: "\"}\"", @@ -10311,28 +9876,28 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 656, col: 31, offset: 21077}, + pos: position{line: 663, col: 5, offset: 21092}, run: (*parser).callonAttributeDeclarationValue80, expr: &seqExpr{ - pos: position{line: 656, col: 31, offset: 21077}, + pos: position{line: 663, col: 5, offset: 21092}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 656, col: 31, offset: 21077}, + pos: position{line: 663, col: 5, offset: 21092}, val: "{", ignoreCase: false, want: "\"{\"", }, &labeledExpr{ - pos: position{line: 656, col: 35, offset: 21081}, + pos: position{line: 663, col: 9, offset: 21096}, label: "name", expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, run: (*parser).callonAttributeDeclarationValue84, expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -10341,9 +9906,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, + pos: position{line: 336, col: 28, offset: 10335}, expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, + pos: position{line: 336, col: 29, offset: 10336}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -10357,7 +9922,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 656, col: 54, offset: 21100}, + pos: position{line: 663, col: 28, offset: 21115}, val: "}", ignoreCase: false, want: "\"}\"", @@ -10372,10 +9937,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 369, col: 12, offset: 11280}, + pos: position{line: 369, col: 12, offset: 11269}, run: (*parser).callonAttributeDeclarationValue90, expr: &litMatcher{ - pos: position{line: 369, col: 12, offset: 11280}, + pos: position{line: 369, col: 12, offset: 11269}, val: "{", ignoreCase: false, want: "\"{\"", @@ -10392,42 +9957,42 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 342, col: 5, offset: 10484}, + pos: position{line: 342, col: 5, offset: 10476}, label: "otherElements", expr: &zeroOrMoreExpr{ - pos: position{line: 342, col: 19, offset: 10498}, + pos: position{line: 342, col: 19, offset: 10490}, expr: &actionExpr{ - pos: position{line: 343, col: 9, offset: 10508}, + pos: position{line: 343, col: 9, offset: 10500}, run: (*parser).callonAttributeDeclarationValue94, expr: &seqExpr{ - pos: position{line: 343, col: 9, offset: 10508}, + pos: position{line: 343, col: 9, offset: 10500}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 343, col: 9, offset: 10508}, + pos: position{line: 343, col: 9, offset: 10500}, val: "\\", ignoreCase: false, want: "\"\\\\\"", }, &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonAttributeDeclarationValue97, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -10436,12 +10001,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 344, col: 9, offset: 10530}, + pos: position{line: 344, col: 9, offset: 10522}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonAttributeDeclarationValue103, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -10450,10 +10015,10 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 345, col: 9, offset: 10545}, + pos: position{line: 345, col: 9, offset: 10537}, label: "elements", expr: &ruleRefExpr{ - pos: position{line: 345, col: 19, offset: 10555}, + pos: position{line: 345, col: 19, offset: 10547}, name: "AttributeDeclarationValue", }, }, @@ -10468,60 +10033,60 @@ var g = &grammar{ }, { name: "BlockAttributes", - pos: position{line: 385, col: 1, offset: 11869}, + pos: position{line: 385, col: 1, offset: 11858}, expr: &actionExpr{ - pos: position{line: 386, col: 5, offset: 11892}, + pos: position{line: 386, col: 5, offset: 11881}, run: (*parser).callonBlockAttributes1, expr: &labeledExpr{ - pos: position{line: 386, col: 5, offset: 11892}, + pos: position{line: 386, col: 5, offset: 11881}, label: "attributes", expr: &oneOrMoreExpr{ - pos: position{line: 386, col: 16, offset: 11903}, + pos: position{line: 386, col: 16, offset: 11892}, expr: &choiceExpr{ - pos: position{line: 388, col: 9, offset: 11970}, + pos: position{line: 388, col: 9, offset: 11959}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 388, col: 10, offset: 11971}, + pos: position{line: 388, col: 10, offset: 11960}, run: (*parser).callonBlockAttributes5, expr: &seqExpr{ - pos: position{line: 388, col: 10, offset: 11971}, + pos: position{line: 388, col: 10, offset: 11960}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 388, col: 10, offset: 11971}, + pos: position{line: 388, col: 10, offset: 11960}, label: "anchor", expr: &actionExpr{ - pos: position{line: 420, col: 4, offset: 12814}, + pos: position{line: 420, col: 4, offset: 12803}, run: (*parser).callonBlockAttributes8, expr: &seqExpr{ - pos: position{line: 420, col: 4, offset: 12814}, + pos: position{line: 420, col: 4, offset: 12803}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 420, col: 4, offset: 12814}, + pos: position{line: 420, col: 4, offset: 12803}, val: "[[", ignoreCase: false, want: "\"[[\"", }, &labeledExpr{ - pos: position{line: 421, col: 5, offset: 12824}, + pos: position{line: 421, col: 5, offset: 12813}, label: "id", expr: &actionExpr{ - pos: position{line: 422, col: 9, offset: 12837}, + pos: position{line: 422, col: 9, offset: 12826}, run: (*parser).callonBlockAttributes12, expr: &labeledExpr{ - pos: position{line: 422, col: 9, offset: 12837}, + pos: position{line: 422, col: 9, offset: 12826}, label: "elements", expr: &oneOrMoreExpr{ - pos: position{line: 422, col: 18, offset: 12846}, + pos: position{line: 422, col: 18, offset: 12835}, expr: &choiceExpr{ - pos: position{line: 423, col: 13, offset: 12860}, + pos: position{line: 423, col: 13, offset: 12849}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 423, col: 14, offset: 12861}, + pos: position{line: 423, col: 14, offset: 12850}, run: (*parser).callonBlockAttributes16, expr: &oneOrMoreExpr{ - pos: position{line: 423, col: 14, offset: 12861}, + pos: position{line: 423, col: 14, offset: 12850}, expr: &charClassMatcher{ - pos: position{line: 423, col: 14, offset: 12861}, + pos: position{line: 423, col: 14, offset: 12850}, val: "[^=\\r\\n�{]]", chars: []rune{'=', '\r', '\n', '�', '{', ']'}, ignoreCase: false, @@ -10530,27 +10095,27 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1085, col: 23, offset: 33674}, + pos: position{line: 1092, col: 23, offset: 33700}, run: (*parser).callonBlockAttributes19, expr: &seqExpr{ - pos: position{line: 1085, col: 23, offset: 33674}, + pos: position{line: 1092, col: 23, offset: 33700}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1083, col: 32, offset: 33642}, + pos: position{line: 1090, col: 32, offset: 33668}, val: "�", ignoreCase: false, want: "\"�\"", }, &labeledExpr{ - pos: position{line: 1085, col: 51, offset: 33702}, + pos: position{line: 1092, col: 51, offset: 33728}, label: "ref", expr: &actionExpr{ - pos: position{line: 1085, col: 56, offset: 33707}, + pos: position{line: 1092, col: 56, offset: 33733}, run: (*parser).callonBlockAttributes23, expr: &oneOrMoreExpr{ - pos: position{line: 1085, col: 56, offset: 33707}, + pos: position{line: 1092, col: 56, offset: 33733}, expr: &charClassMatcher{ - pos: position{line: 1085, col: 56, offset: 33707}, + pos: position{line: 1092, col: 56, offset: 33733}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -10560,7 +10125,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1083, col: 32, offset: 33642}, + pos: position{line: 1090, col: 32, offset: 33668}, val: "�", ignoreCase: false, want: "\"�\"", @@ -10569,44 +10134,44 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 649, col: 5, offset: 20887}, + pos: position{line: 655, col: 5, offset: 20901}, run: (*parser).callonBlockAttributes27, expr: &seqExpr{ - pos: position{line: 649, col: 5, offset: 20887}, + pos: position{line: 655, col: 5, offset: 20901}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 649, col: 5, offset: 20887}, + pos: position{line: 655, col: 5, offset: 20901}, run: (*parser).callonBlockAttributes29, }, &labeledExpr{ - pos: position{line: 652, col: 5, offset: 20951}, + pos: position{line: 658, col: 5, offset: 20970}, label: "element", expr: &choiceExpr{ - pos: position{line: 652, col: 14, offset: 20960}, + pos: position{line: 658, col: 14, offset: 20979}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 663, col: 25, offset: 21324}, + pos: position{line: 670, col: 25, offset: 21348}, run: (*parser).callonBlockAttributes32, expr: &seqExpr{ - pos: position{line: 663, col: 25, offset: 21324}, + pos: position{line: 670, col: 25, offset: 21348}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 663, col: 25, offset: 21324}, + pos: position{line: 670, col: 25, offset: 21348}, val: "{counter:", ignoreCase: false, want: "\"{counter:\"", }, &labeledExpr{ - pos: position{line: 663, col: 37, offset: 21336}, + pos: position{line: 670, col: 37, offset: 21360}, label: "name", expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, run: (*parser).callonBlockAttributes36, expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -10615,9 +10180,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, + pos: position{line: 336, col: 28, offset: 10335}, expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, + pos: position{line: 336, col: 29, offset: 10336}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -10631,33 +10196,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 663, col: 56, offset: 21355}, + pos: position{line: 670, col: 56, offset: 21379}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 663, col: 62, offset: 21361}, + pos: position{line: 670, col: 62, offset: 21385}, expr: &actionExpr{ - pos: position{line: 671, col: 17, offset: 21656}, + pos: position{line: 678, col: 17, offset: 21680}, run: (*parser).callonBlockAttributes43, expr: &seqExpr{ - pos: position{line: 671, col: 17, offset: 21656}, + pos: position{line: 678, col: 17, offset: 21680}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 671, col: 17, offset: 21656}, + pos: position{line: 678, col: 17, offset: 21680}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 671, col: 21, offset: 21660}, + pos: position{line: 678, col: 21, offset: 21684}, label: "start", expr: &choiceExpr{ - pos: position{line: 671, col: 28, offset: 21667}, + pos: position{line: 678, col: 28, offset: 21691}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 671, col: 28, offset: 21667}, + pos: position{line: 678, col: 28, offset: 21691}, run: (*parser).callonBlockAttributes48, expr: &charClassMatcher{ - pos: position{line: 671, col: 28, offset: 21667}, + pos: position{line: 678, col: 28, offset: 21691}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -10665,12 +10230,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 673, col: 9, offset: 21721}, + pos: position{line: 680, col: 9, offset: 21745}, run: (*parser).callonBlockAttributes50, expr: &oneOrMoreExpr{ - pos: position{line: 673, col: 9, offset: 21721}, + pos: position{line: 680, col: 9, offset: 21745}, expr: &charClassMatcher{ - pos: position{line: 673, col: 9, offset: 21721}, + pos: position{line: 680, col: 9, offset: 21745}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -10687,7 +10252,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 663, col: 78, offset: 21377}, + pos: position{line: 670, col: 78, offset: 21401}, val: "}", ignoreCase: false, want: "\"}\"", @@ -10696,28 +10261,28 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 667, col: 25, offset: 21495}, + pos: position{line: 674, col: 25, offset: 21519}, run: (*parser).callonBlockAttributes54, expr: &seqExpr{ - pos: position{line: 667, col: 25, offset: 21495}, + pos: position{line: 674, col: 25, offset: 21519}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 667, col: 25, offset: 21495}, + pos: position{line: 674, col: 25, offset: 21519}, val: "{counter2:", ignoreCase: false, want: "\"{counter2:\"", }, &labeledExpr{ - pos: position{line: 667, col: 38, offset: 21508}, + pos: position{line: 674, col: 38, offset: 21532}, label: "name", expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, run: (*parser).callonBlockAttributes58, expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -10726,9 +10291,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, + pos: position{line: 336, col: 28, offset: 10335}, expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, + pos: position{line: 336, col: 29, offset: 10336}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -10742,33 +10307,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 667, col: 57, offset: 21527}, + pos: position{line: 674, col: 57, offset: 21551}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 667, col: 63, offset: 21533}, + pos: position{line: 674, col: 63, offset: 21557}, expr: &actionExpr{ - pos: position{line: 671, col: 17, offset: 21656}, + pos: position{line: 678, col: 17, offset: 21680}, run: (*parser).callonBlockAttributes65, expr: &seqExpr{ - pos: position{line: 671, col: 17, offset: 21656}, + pos: position{line: 678, col: 17, offset: 21680}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 671, col: 17, offset: 21656}, + pos: position{line: 678, col: 17, offset: 21680}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 671, col: 21, offset: 21660}, + pos: position{line: 678, col: 21, offset: 21684}, label: "start", expr: &choiceExpr{ - pos: position{line: 671, col: 28, offset: 21667}, + pos: position{line: 678, col: 28, offset: 21691}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 671, col: 28, offset: 21667}, + pos: position{line: 678, col: 28, offset: 21691}, run: (*parser).callonBlockAttributes70, expr: &charClassMatcher{ - pos: position{line: 671, col: 28, offset: 21667}, + pos: position{line: 678, col: 28, offset: 21691}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -10776,12 +10341,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 673, col: 9, offset: 21721}, + pos: position{line: 680, col: 9, offset: 21745}, run: (*parser).callonBlockAttributes72, expr: &oneOrMoreExpr{ - pos: position{line: 673, col: 9, offset: 21721}, + pos: position{line: 680, col: 9, offset: 21745}, expr: &charClassMatcher{ - pos: position{line: 673, col: 9, offset: 21721}, + pos: position{line: 680, col: 9, offset: 21745}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -10798,7 +10363,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 667, col: 79, offset: 21549}, + pos: position{line: 674, col: 79, offset: 21573}, val: "}", ignoreCase: false, want: "\"}\"", @@ -10807,28 +10372,28 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 656, col: 31, offset: 21077}, + pos: position{line: 663, col: 5, offset: 21092}, run: (*parser).callonBlockAttributes76, expr: &seqExpr{ - pos: position{line: 656, col: 31, offset: 21077}, + pos: position{line: 663, col: 5, offset: 21092}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 656, col: 31, offset: 21077}, + pos: position{line: 663, col: 5, offset: 21092}, val: "{", ignoreCase: false, want: "\"{\"", }, &labeledExpr{ - pos: position{line: 656, col: 35, offset: 21081}, + pos: position{line: 663, col: 9, offset: 21096}, label: "name", expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, run: (*parser).callonBlockAttributes80, expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -10837,9 +10402,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, + pos: position{line: 336, col: 28, offset: 10335}, expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, + pos: position{line: 336, col: 29, offset: 10336}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -10853,7 +10418,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 656, col: 54, offset: 21100}, + pos: position{line: 663, col: 28, offset: 21115}, val: "}", ignoreCase: false, want: "\"}\"", @@ -10868,10 +10433,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 428, col: 16, offset: 13097}, + pos: position{line: 428, col: 16, offset: 13083}, run: (*parser).callonBlockAttributes86, expr: &litMatcher{ - pos: position{line: 428, col: 16, offset: 13097}, + pos: position{line: 428, col: 16, offset: 13083}, val: "{", ignoreCase: false, want: "\"{\"", @@ -10884,7 +10449,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 434, col: 5, offset: 13283}, + pos: position{line: 434, col: 5, offset: 13269}, val: "]]", ignoreCase: false, want: "\"]]\"", @@ -10894,12 +10459,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 388, col: 35, offset: 11996}, + pos: position{line: 388, col: 35, offset: 11985}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonBlockAttributes90, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -10908,28 +10473,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonBlockAttributes93, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -10938,9 +10503,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -10949,39 +10514,39 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 392, col: 12, offset: 12117}, + pos: position{line: 392, col: 12, offset: 12106}, run: (*parser).callonBlockAttributes100, expr: &seqExpr{ - pos: position{line: 392, col: 12, offset: 12117}, + pos: position{line: 392, col: 12, offset: 12106}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 392, col: 12, offset: 12117}, + pos: position{line: 392, col: 12, offset: 12106}, label: "title", expr: &actionExpr{ - pos: position{line: 439, col: 19, offset: 13402}, + pos: position{line: 439, col: 19, offset: 13388}, run: (*parser).callonBlockAttributes103, expr: &seqExpr{ - pos: position{line: 439, col: 19, offset: 13402}, + pos: position{line: 439, col: 19, offset: 13388}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 439, col: 19, offset: 13402}, + pos: position{line: 439, col: 19, offset: 13388}, val: ".", ignoreCase: false, want: "\".\"", }, &labeledExpr{ - pos: position{line: 439, col: 23, offset: 13406}, + pos: position{line: 439, col: 23, offset: 13392}, label: "title", expr: &actionExpr{ - pos: position{line: 440, col: 5, offset: 13418}, + pos: position{line: 440, col: 5, offset: 13404}, run: (*parser).callonBlockAttributes107, expr: &seqExpr{ - pos: position{line: 440, col: 5, offset: 13418}, + pos: position{line: 440, col: 5, offset: 13404}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 440, col: 5, offset: 13418}, + pos: position{line: 440, col: 5, offset: 13404}, expr: &charClassMatcher{ - pos: position{line: 440, col: 6, offset: 13419}, + pos: position{line: 440, col: 6, offset: 13405}, val: "[. ]", chars: []rune{'.', ' '}, ignoreCase: false, @@ -10989,20 +10554,20 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 441, col: 5, offset: 13531}, + pos: position{line: 441, col: 5, offset: 13517}, label: "elements", expr: &oneOrMoreExpr{ - pos: position{line: 441, col: 14, offset: 13540}, + pos: position{line: 441, col: 14, offset: 13526}, expr: &choiceExpr{ - pos: position{line: 442, col: 9, offset: 13550}, + pos: position{line: 442, col: 9, offset: 13536}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 442, col: 10, offset: 13551}, + pos: position{line: 442, col: 10, offset: 13537}, run: (*parser).callonBlockAttributes114, expr: &oneOrMoreExpr{ - pos: position{line: 442, col: 10, offset: 13551}, + pos: position{line: 442, col: 10, offset: 13537}, expr: &charClassMatcher{ - pos: position{line: 442, col: 10, offset: 13551}, + pos: position{line: 442, col: 10, offset: 13537}, val: "[^\\r\\n�{]", chars: []rune{'\r', '\n', '�', '{'}, ignoreCase: false, @@ -11011,348 +10576,65 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1085, col: 23, offset: 33674}, + pos: position{line: 663, col: 5, offset: 21092}, run: (*parser).callonBlockAttributes117, expr: &seqExpr{ - pos: position{line: 1085, col: 23, offset: 33674}, + pos: position{line: 663, col: 5, offset: 21092}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1083, col: 32, offset: 33642}, - val: "�", + pos: position{line: 663, col: 5, offset: 21092}, + val: "{", ignoreCase: false, - want: "\"�\"", + want: "\"{\"", }, &labeledExpr{ - pos: position{line: 1085, col: 51, offset: 33702}, - label: "ref", + pos: position{line: 663, col: 9, offset: 21096}, + label: "name", expr: &actionExpr{ - pos: position{line: 1085, col: 56, offset: 33707}, + pos: position{line: 336, col: 18, offset: 10325}, run: (*parser).callonBlockAttributes121, - expr: &oneOrMoreExpr{ - pos: position{line: 1085, col: 56, offset: 33707}, - expr: &charClassMatcher{ - pos: position{line: 1085, col: 56, offset: 33707}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 1083, col: 32, offset: 33642}, - val: "�", - ignoreCase: false, - want: "\"�\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 649, col: 5, offset: 20887}, - run: (*parser).callonBlockAttributes125, - expr: &seqExpr{ - pos: position{line: 649, col: 5, offset: 20887}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 649, col: 5, offset: 20887}, - run: (*parser).callonBlockAttributes127, - }, - &labeledExpr{ - pos: position{line: 652, col: 5, offset: 20951}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 652, col: 14, offset: 20960}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 663, col: 25, offset: 21324}, - run: (*parser).callonBlockAttributes130, - expr: &seqExpr{ - pos: position{line: 663, col: 25, offset: 21324}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 663, col: 25, offset: 21324}, - val: "{counter:", - ignoreCase: false, - want: "\"{counter:\"", - }, - &labeledExpr{ - pos: position{line: 663, col: 37, offset: 21336}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonBlockAttributes134, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 663, col: 56, offset: 21355}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 663, col: 62, offset: 21361}, - expr: &actionExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - run: (*parser).callonBlockAttributes141, - expr: &seqExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 671, col: 17, offset: 21656}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 671, col: 21, offset: 21660}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - run: (*parser).callonBlockAttributes146, - expr: &charClassMatcher{ - pos: position{line: 671, col: 28, offset: 21667}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - run: (*parser).callonBlockAttributes148, - expr: &oneOrMoreExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - expr: &charClassMatcher{ - pos: position{line: 673, col: 9, offset: 21721}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 663, col: 78, offset: 21377}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 667, col: 25, offset: 21495}, - run: (*parser).callonBlockAttributes152, - expr: &seqExpr{ - pos: position{line: 667, col: 25, offset: 21495}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 667, col: 25, offset: 21495}, - val: "{counter2:", - ignoreCase: false, - want: "\"{counter2:\"", - }, - &labeledExpr{ - pos: position{line: 667, col: 38, offset: 21508}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonBlockAttributes156, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 667, col: 57, offset: 21527}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 667, col: 63, offset: 21533}, - expr: &actionExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - run: (*parser).callonBlockAttributes163, - expr: &seqExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 671, col: 17, offset: 21656}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 671, col: 21, offset: 21660}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - run: (*parser).callonBlockAttributes168, - expr: &charClassMatcher{ - pos: position{line: 671, col: 28, offset: 21667}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - run: (*parser).callonBlockAttributes170, - expr: &oneOrMoreExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - expr: &charClassMatcher{ - pos: position{line: 673, col: 9, offset: 21721}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 667, col: 79, offset: 21549}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, + expr: &seqExpr{ + pos: position{line: 336, col: 18, offset: 10325}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 336, col: 18, offset: 10325}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, }, - }, - &actionExpr{ - pos: position{line: 656, col: 31, offset: 21077}, - run: (*parser).callonBlockAttributes174, - expr: &seqExpr{ - pos: position{line: 656, col: 31, offset: 21077}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 656, col: 31, offset: 21077}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - &labeledExpr{ - pos: position{line: 656, col: 35, offset: 21081}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonBlockAttributes178, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - 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: 54, offset: 21100}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, + &zeroOrMoreExpr{ + pos: position{line: 336, col: 28, offset: 10335}, + expr: &charClassMatcher{ + pos: position{line: 336, col: 29, offset: 10336}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, }, }, }, }, }, }, + &litMatcher{ + pos: position{line: 663, col: 28, offset: 21115}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, }, }, }, &actionExpr{ - pos: position{line: 447, col: 12, offset: 13710}, - run: (*parser).callonBlockAttributes184, + pos: position{line: 447, col: 12, offset: 13682}, + run: (*parser).callonBlockAttributes127, expr: &litMatcher{ - pos: position{line: 447, col: 12, offset: 13710}, + pos: position{line: 447, col: 12, offset: 13682}, val: "{", ignoreCase: false, want: "\"{\"", @@ -11371,12 +10653,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 392, col: 35, offset: 12140}, + pos: position{line: 392, col: 35, offset: 12129}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, - run: (*parser).callonBlockAttributes187, + pos: position{line: 2838, col: 10, offset: 93169}, + run: (*parser).callonBlockAttributes130, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -11385,28 +10667,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, - run: (*parser).callonBlockAttributes190, + pos: position{line: 2847, col: 12, offset: 93353}, + run: (*parser).callonBlockAttributes133, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -11415,9 +10697,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -11426,26 +10708,26 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 396, col: 12, offset: 12231}, - run: (*parser).callonBlockAttributes197, + pos: position{line: 396, col: 12, offset: 12220}, + run: (*parser).callonBlockAttributes140, expr: &seqExpr{ - pos: position{line: 396, col: 12, offset: 12231}, + pos: position{line: 396, col: 12, offset: 12220}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 396, col: 12, offset: 12231}, + pos: position{line: 396, col: 12, offset: 12220}, label: "attributes", expr: &ruleRefExpr{ - pos: position{line: 396, col: 24, offset: 12243}, + pos: position{line: 396, col: 24, offset: 12232}, name: "LongHandAttributes", }, }, &zeroOrMoreExpr{ - pos: position{line: 396, col: 44, offset: 12263}, + pos: position{line: 396, col: 44, offset: 12252}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, - run: (*parser).callonBlockAttributes202, + pos: position{line: 2838, col: 10, offset: 93169}, + run: (*parser).callonBlockAttributes145, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -11454,28 +10736,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, - run: (*parser).callonBlockAttributes205, + pos: position{line: 2847, col: 12, offset: 93353}, + run: (*parser).callonBlockAttributes148, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -11484,9 +10766,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -11502,51 +10784,51 @@ var g = &grammar{ }, { name: "InlineAttributes", - pos: position{line: 404, col: 1, offset: 12448}, + pos: position{line: 404, col: 1, offset: 12437}, expr: &actionExpr{ - pos: position{line: 405, col: 5, offset: 12472}, + pos: position{line: 405, col: 5, offset: 12461}, run: (*parser).callonInlineAttributes1, expr: &seqExpr{ - pos: position{line: 405, col: 5, offset: 12472}, + pos: position{line: 405, col: 5, offset: 12461}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 405, col: 5, offset: 12472}, + pos: position{line: 405, col: 5, offset: 12461}, val: "[", ignoreCase: false, want: "\"[\"", }, &labeledExpr{ - pos: position{line: 406, col: 5, offset: 12480}, + pos: position{line: 406, col: 5, offset: 12469}, label: "attributes", expr: &zeroOrMoreExpr{ - pos: position{line: 406, col: 16, offset: 12491}, + pos: position{line: 406, col: 16, offset: 12480}, expr: &actionExpr{ - pos: position{line: 407, col: 9, offset: 12501}, + pos: position{line: 407, col: 9, offset: 12490}, run: (*parser).callonInlineAttributes6, expr: &seqExpr{ - pos: position{line: 408, col: 13, offset: 12515}, + pos: position{line: 408, col: 13, offset: 12504}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 408, col: 13, offset: 12515}, + pos: position{line: 408, col: 13, offset: 12504}, expr: &litMatcher{ - pos: position{line: 408, col: 14, offset: 12516}, + pos: position{line: 408, col: 14, offset: 12505}, val: "]", ignoreCase: false, want: "\"]\"", }, }, &labeledExpr{ - pos: position{line: 409, col: 13, offset: 12548}, + pos: position{line: 409, col: 13, offset: 12537}, label: "attribute", expr: &choiceExpr{ - pos: position{line: 409, col: 24, offset: 12559}, + pos: position{line: 409, col: 24, offset: 12548}, alternatives: []interface{}{ &ruleRefExpr{ - pos: position{line: 409, col: 24, offset: 12559}, + pos: position{line: 409, col: 24, offset: 12548}, name: "PositionalAttribute", }, &ruleRefExpr{ - pos: position{line: 409, col: 46, offset: 12581}, + pos: position{line: 409, col: 46, offset: 12570}, name: "NamedAttribute", }, }, @@ -11558,7 +10840,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 414, col: 5, offset: 12664}, + pos: position{line: 414, col: 5, offset: 12653}, val: "]", ignoreCase: false, want: "\"]\"", @@ -11569,456 +10851,540 @@ var g = &grammar{ }, { name: "LongHandAttributes", - pos: position{line: 458, col: 1, offset: 14110}, + pos: position{line: 458, col: 1, offset: 14063}, expr: &actionExpr{ - pos: position{line: 459, col: 5, offset: 14136}, + pos: position{line: 459, col: 5, offset: 14089}, run: (*parser).callonLongHandAttributes1, expr: &seqExpr{ - pos: position{line: 459, col: 5, offset: 14136}, + pos: position{line: 459, col: 5, offset: 14089}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 459, col: 5, offset: 14136}, + pos: position{line: 459, col: 5, offset: 14089}, val: "[", ignoreCase: false, want: "\"[\"", }, ¬Expr{ - pos: position{line: 459, col: 9, offset: 14140}, + pos: position{line: 459, col: 9, offset: 14093}, expr: &litMatcher{ - pos: position{line: 459, col: 10, offset: 14141}, + pos: position{line: 459, col: 10, offset: 14094}, val: "[", ignoreCase: false, want: "\"[\"", }, }, &labeledExpr{ - pos: position{line: 461, col: 5, offset: 14310}, + pos: position{line: 461, col: 5, offset: 14263}, label: "firstPositionalAttributes", expr: &zeroOrOneExpr{ - pos: position{line: 461, col: 31, offset: 14336}, + pos: position{line: 461, col: 31, offset: 14289}, + expr: &ruleRefExpr{ + pos: position{line: 461, col: 32, offset: 14290}, + name: "FirstPositionalAttributes", + }, + }, + }, + &labeledExpr{ + pos: position{line: 462, col: 5, offset: 14322}, + label: "otherAttributes", + expr: &zeroOrMoreExpr{ + pos: position{line: 462, col: 21, offset: 14338}, + expr: &choiceExpr{ + pos: position{line: 462, col: 22, offset: 14339}, + alternatives: []interface{}{ + &ruleRefExpr{ + pos: position{line: 462, col: 22, offset: 14339}, + name: "PositionalAttribute", + }, + &ruleRefExpr{ + pos: position{line: 462, col: 44, offset: 14361}, + name: "NamedAttribute", + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 463, col: 5, offset: 14382}, + val: "]", + ignoreCase: false, + want: "\"]\"", + }, + }, + }, + }, + }, + { + name: "FirstPositionalAttributes", + pos: position{line: 476, col: 1, offset: 14910}, + expr: &actionExpr{ + pos: position{line: 477, col: 5, offset: 14944}, + run: (*parser).callonFirstPositionalAttributes1, + expr: &seqExpr{ + pos: position{line: 477, col: 5, offset: 14944}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 477, col: 5, offset: 14944}, + label: "main", + expr: &zeroOrOneExpr{ + pos: position{line: 477, col: 10, offset: 14949}, + expr: &ruleRefExpr{ + pos: position{line: 478, col: 9, offset: 14959}, + name: "ShortHandAttribute", + }, + }, + }, + &labeledExpr{ + pos: position{line: 480, col: 5, offset: 14989}, + label: "extras", + expr: &zeroOrMoreExpr{ + pos: position{line: 480, col: 12, offset: 14996}, expr: &actionExpr{ - pos: position{line: 477, col: 5, offset: 14991}, - run: (*parser).callonLongHandAttributes8, + pos: position{line: 481, col: 9, offset: 15007}, + run: (*parser).callonFirstPositionalAttributes8, expr: &seqExpr{ - pos: position{line: 477, col: 5, offset: 14991}, + pos: position{line: 481, col: 9, offset: 15007}, exprs: []interface{}{ + ¬Expr{ + pos: position{line: 481, col: 9, offset: 15007}, + expr: &litMatcher{ + pos: position{line: 481, col: 10, offset: 15008}, + val: ",", + ignoreCase: false, + want: "\",\"", + }, + }, + ¬Expr{ + pos: position{line: 481, col: 14, offset: 15012}, + expr: &litMatcher{ + pos: position{line: 481, col: 15, offset: 15013}, + val: "]", + ignoreCase: false, + want: "\"]\"", + }, + }, &labeledExpr{ - pos: position{line: 477, col: 5, offset: 14991}, - label: "main", - expr: &zeroOrOneExpr{ - pos: position{line: 477, col: 10, offset: 14996}, - expr: &actionExpr{ - pos: position{line: 509, col: 23, offset: 15806}, - run: (*parser).callonLongHandAttributes12, - expr: &labeledExpr{ - pos: position{line: 509, col: 23, offset: 15806}, - label: "value", - expr: &choiceExpr{ - pos: position{line: 525, col: 5, offset: 16285}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 579, col: 5, offset: 18226}, - run: (*parser).callonLongHandAttributes15, - expr: &seqExpr{ - pos: position{line: 579, col: 5, offset: 18226}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 579, col: 5, offset: 18226}, - val: "'", - ignoreCase: false, - want: "\"'\"", - }, - ¬Expr{ - pos: position{line: 579, col: 9, offset: 18230}, - expr: &litMatcher{ - pos: position{line: 579, col: 10, offset: 18231}, - val: "`", + pos: position{line: 482, col: 9, offset: 15025}, + label: "extra", + expr: &choiceExpr{ + pos: position{line: 483, col: 13, offset: 15045}, + alternatives: []interface{}{ + &ruleRefExpr{ + pos: position{line: 483, col: 13, offset: 15045}, + name: "ShortHandIDAttribute", + }, + &ruleRefExpr{ + pos: position{line: 484, col: 15, offset: 15081}, + name: "ShortHandOptionAttribute", + }, + &ruleRefExpr{ + pos: position{line: 485, col: 15, offset: 15120}, + name: "ShortHandDotRoleAttribute", + }, + }, + }, + }, + }, + }, + }, + }, + }, + &zeroOrOneExpr{ + pos: position{line: 488, col: 8, offset: 15196}, + expr: &seqExpr{ + pos: position{line: 488, col: 9, offset: 15197}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 488, col: 9, offset: 15197}, + val: ",", + ignoreCase: false, + want: "\",\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 488, col: 13, offset: 15201}, + expr: &actionExpr{ + pos: position{line: 2838, col: 10, offset: 93169}, + run: (*parser).callonFirstPositionalAttributes23, + expr: &charClassMatcher{ + pos: position{line: 2838, col: 11, offset: 93170}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 489, col: 5, offset: 15215}, + run: (*parser).callonFirstPositionalAttributes25, + }, + }, + }, + }, + }, + { + name: "ShortHandIDAttribute", + pos: position{line: 505, col: 1, offset: 15631}, + expr: &actionExpr{ + pos: position{line: 505, col: 25, offset: 15655}, + run: (*parser).callonShortHandIDAttribute1, + expr: &seqExpr{ + pos: position{line: 505, col: 25, offset: 15655}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 505, col: 25, offset: 15655}, + val: "#", + ignoreCase: false, + want: "\"#\"", + }, + &labeledExpr{ + pos: position{line: 505, col: 29, offset: 15659}, + label: "id", + expr: &ruleRefExpr{ + pos: position{line: 505, col: 33, offset: 15663}, + name: "ShortHandAttributeValue", + }, + }, + }, + }, + }, + }, + { + name: "ShortHandAttribute", + pos: position{line: 509, col: 1, offset: 15737}, + expr: &actionExpr{ + pos: position{line: 509, col: 23, offset: 15759}, + run: (*parser).callonShortHandAttribute1, + expr: &labeledExpr{ + pos: position{line: 509, col: 23, offset: 15759}, + label: "value", + expr: &ruleRefExpr{ + pos: position{line: 509, col: 30, offset: 15766}, + name: "ShortHandAttributeValue", + }, + }, + }, + }, + { + name: "ShortHandDotRoleAttribute", + pos: position{line: 514, col: 1, offset: 15892}, + expr: &actionExpr{ + pos: position{line: 514, col: 30, offset: 15921}, + run: (*parser).callonShortHandDotRoleAttribute1, + expr: &seqExpr{ + pos: position{line: 514, col: 30, offset: 15921}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 514, col: 30, offset: 15921}, + val: ".", + ignoreCase: false, + want: "\".\"", + }, + &labeledExpr{ + pos: position{line: 514, col: 34, offset: 15925}, + label: "role", + expr: &ruleRefExpr{ + pos: position{line: 514, col: 40, offset: 15931}, + name: "ShortHandAttributeValue", + }, + }, + }, + }, + }, + }, + { + name: "ShortHandOptionAttribute", + pos: position{line: 519, col: 1, offset: 16053}, + expr: &actionExpr{ + pos: position{line: 519, col: 29, offset: 16081}, + run: (*parser).callonShortHandOptionAttribute1, + expr: &seqExpr{ + pos: position{line: 519, col: 29, offset: 16081}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 519, col: 29, offset: 16081}, + val: "%", + ignoreCase: false, + want: "\"%\"", + }, + &labeledExpr{ + pos: position{line: 519, col: 33, offset: 16085}, + label: "option", + expr: &ruleRefExpr{ + pos: position{line: 519, col: 41, offset: 16093}, + name: "ShortHandAttributeValue", + }, + }, + }, + }, + }, + }, + { + name: "ShortHandAttributeValue", + pos: position{line: 524, col: 1, offset: 16206}, + expr: &choiceExpr{ + pos: position{line: 525, col: 5, offset: 16238}, + alternatives: []interface{}{ + &ruleRefExpr{ + pos: position{line: 525, col: 5, offset: 16238}, + name: "SingleQuotedAttributeValue", + }, + &ruleRefExpr{ + pos: position{line: 526, col: 7, offset: 16272}, + name: "DoubleQuotedAttributeValue", + }, + &actionExpr{ + pos: position{line: 527, col: 7, offset: 16306}, + run: (*parser).callonShortHandAttributeValue4, + expr: &seqExpr{ + pos: position{line: 527, col: 7, offset: 16306}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 527, col: 7, offset: 16306}, + label: "elements", + expr: &oneOrMoreExpr{ + pos: position{line: 527, col: 16, offset: 16315}, + expr: &choiceExpr{ + pos: position{line: 530, col: 9, offset: 16497}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 530, col: 10, offset: 16498}, + run: (*parser).callonShortHandAttributeValue9, + expr: &oneOrMoreExpr{ + pos: position{line: 530, col: 10, offset: 16498}, + expr: &charClassMatcher{ + pos: position{line: 530, col: 10, offset: 16498}, + val: "[^,=.%# \\r\\n�{]]", + chars: []rune{',', '=', '.', '%', '#', ' ', '\r', '\n', '�', '{', ']'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + &actionExpr{ + pos: position{line: 655, col: 5, offset: 20901}, + run: (*parser).callonShortHandAttributeValue12, + expr: &seqExpr{ + pos: position{line: 655, col: 5, offset: 20901}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 655, col: 5, offset: 20901}, + run: (*parser).callonShortHandAttributeValue14, + }, + &labeledExpr{ + pos: position{line: 658, col: 5, offset: 20970}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 658, col: 14, offset: 20979}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 670, col: 25, offset: 21348}, + run: (*parser).callonShortHandAttributeValue17, + expr: &seqExpr{ + pos: position{line: 670, col: 25, offset: 21348}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 670, col: 25, offset: 21348}, + val: "{counter:", ignoreCase: false, - want: "\"`\"", + want: "\"{counter:\"", }, - }, - &labeledExpr{ - pos: position{line: 580, col: 5, offset: 18310}, - label: "content", - expr: &actionExpr{ - pos: position{line: 586, col: 5, offset: 18447}, - run: (*parser).callonLongHandAttributes21, - expr: &labeledExpr{ - pos: position{line: 586, col: 5, offset: 18447}, - label: "elements", - expr: &oneOrMoreExpr{ - pos: position{line: 586, col: 14, offset: 18456}, - expr: &choiceExpr{ - pos: position{line: 587, col: 9, offset: 18466}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2856, col: 14, offset: 93755}, - run: (*parser).callonLongHandAttributes25, - expr: &oneOrMoreExpr{ - pos: position{line: 2856, col: 14, offset: 93755}, - expr: &charClassMatcher{ - pos: position{line: 2856, col: 14, offset: 93755}, - val: "[0-9\\pL]", - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, + &labeledExpr{ + pos: position{line: 670, col: 37, offset: 21360}, + label: "name", + expr: &actionExpr{ + pos: position{line: 336, col: 18, offset: 10325}, + run: (*parser).callonShortHandAttributeValue21, + expr: &seqExpr{ + pos: position{line: 336, col: 18, offset: 10325}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 336, col: 18, offset: 10325}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 336, col: 28, offset: 10335}, + expr: &charClassMatcher{ + pos: position{line: 336, col: 29, offset: 10336}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, }, - &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, - run: (*parser).callonLongHandAttributes28, - expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 670, col: 56, offset: 21379}, + label: "start", + expr: &zeroOrOneExpr{ + pos: position{line: 670, col: 62, offset: 21385}, + expr: &actionExpr{ + pos: position{line: 678, col: 17, offset: 21680}, + run: (*parser).callonShortHandAttributeValue28, + expr: &seqExpr{ + pos: position{line: 678, col: 17, offset: 21680}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 678, col: 17, offset: 21680}, + val: ":", + ignoreCase: false, + want: "\":\"", }, - &actionExpr{ - pos: position{line: 649, col: 5, offset: 20887}, - run: (*parser).callonLongHandAttributes30, - expr: &seqExpr{ - pos: position{line: 649, col: 5, offset: 20887}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 649, col: 5, offset: 20887}, - run: (*parser).callonLongHandAttributes32, + &labeledExpr{ + pos: position{line: 678, col: 21, offset: 21684}, + label: "start", + expr: &choiceExpr{ + pos: position{line: 678, col: 28, offset: 21691}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 678, col: 28, offset: 21691}, + run: (*parser).callonShortHandAttributeValue33, + expr: &charClassMatcher{ + pos: position{line: 678, col: 28, offset: 21691}, + val: "[A-Za-z]", + ranges: []rune{'A', 'Z', 'a', 'z'}, + ignoreCase: false, + inverted: false, + }, }, - &labeledExpr{ - pos: position{line: 652, col: 5, offset: 20951}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 652, col: 14, offset: 20960}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 663, col: 25, offset: 21324}, - run: (*parser).callonLongHandAttributes35, - expr: &seqExpr{ - pos: position{line: 663, col: 25, offset: 21324}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 663, col: 25, offset: 21324}, - val: "{counter:", - ignoreCase: false, - want: "\"{counter:\"", - }, - &labeledExpr{ - pos: position{line: 663, col: 37, offset: 21336}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonLongHandAttributes39, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 663, col: 56, offset: 21355}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 663, col: 62, offset: 21361}, - expr: &actionExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - run: (*parser).callonLongHandAttributes46, - expr: &seqExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 671, col: 17, offset: 21656}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 671, col: 21, offset: 21660}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - run: (*parser).callonLongHandAttributes51, - expr: &charClassMatcher{ - pos: position{line: 671, col: 28, offset: 21667}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - run: (*parser).callonLongHandAttributes53, - expr: &oneOrMoreExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - expr: &charClassMatcher{ - pos: position{line: 673, col: 9, offset: 21721}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 663, col: 78, offset: 21377}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 667, col: 25, offset: 21495}, - run: (*parser).callonLongHandAttributes57, - expr: &seqExpr{ - pos: position{line: 667, col: 25, offset: 21495}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 667, col: 25, offset: 21495}, - val: "{counter2:", - ignoreCase: false, - want: "\"{counter2:\"", - }, - &labeledExpr{ - pos: position{line: 667, col: 38, offset: 21508}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonLongHandAttributes61, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 667, col: 57, offset: 21527}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 667, col: 63, offset: 21533}, - expr: &actionExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - run: (*parser).callonLongHandAttributes68, - expr: &seqExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 671, col: 17, offset: 21656}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 671, col: 21, offset: 21660}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - run: (*parser).callonLongHandAttributes73, - expr: &charClassMatcher{ - pos: position{line: 671, col: 28, offset: 21667}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - run: (*parser).callonLongHandAttributes75, - expr: &oneOrMoreExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - expr: &charClassMatcher{ - pos: position{line: 673, col: 9, offset: 21721}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 667, col: 79, offset: 21549}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 656, col: 31, offset: 21077}, - run: (*parser).callonLongHandAttributes79, - expr: &seqExpr{ - pos: position{line: 656, col: 31, offset: 21077}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 656, col: 31, offset: 21077}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - &labeledExpr{ - pos: position{line: 656, col: 35, offset: 21081}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonLongHandAttributes83, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - 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: 54, offset: 21100}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, + &actionExpr{ + pos: position{line: 680, col: 9, offset: 21745}, + run: (*parser).callonShortHandAttributeValue35, + expr: &oneOrMoreExpr{ + pos: position{line: 680, col: 9, offset: 21745}, + expr: &charClassMatcher{ + pos: position{line: 680, col: 9, offset: 21745}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, }, }, }, }, }, }, - &actionExpr{ - pos: position{line: 590, col: 12, offset: 18535}, - run: (*parser).callonLongHandAttributes89, - expr: &litMatcher{ - pos: position{line: 590, col: 12, offset: 18535}, - val: "\\'", - ignoreCase: false, - want: "\"\\\\'\"", - }, - }, - &litMatcher{ - pos: position{line: 593, col: 13, offset: 18637}, - val: "'`", + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 670, col: 78, offset: 21401}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 674, col: 25, offset: 21519}, + run: (*parser).callonShortHandAttributeValue39, + expr: &seqExpr{ + pos: position{line: 674, col: 25, offset: 21519}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 674, col: 25, offset: 21519}, + val: "{counter2:", + ignoreCase: false, + want: "\"{counter2:\"", + }, + &labeledExpr{ + pos: position{line: 674, col: 38, offset: 21532}, + label: "name", + expr: &actionExpr{ + pos: position{line: 336, col: 18, offset: 10325}, + run: (*parser).callonShortHandAttributeValue43, + expr: &seqExpr{ + pos: position{line: 336, col: 18, offset: 10325}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 336, col: 18, offset: 10325}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 336, col: 28, offset: 10335}, + expr: &charClassMatcher{ + pos: position{line: 336, col: 29, offset: 10336}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, ignoreCase: false, - want: "\"'`\"", + inverted: false, }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 674, col: 57, offset: 21551}, + label: "start", + expr: &zeroOrOneExpr{ + pos: position{line: 674, col: 63, offset: 21557}, + expr: &actionExpr{ + pos: position{line: 678, col: 17, offset: 21680}, + run: (*parser).callonShortHandAttributeValue50, + expr: &seqExpr{ + pos: position{line: 678, col: 17, offset: 21680}, + exprs: []interface{}{ &litMatcher{ - pos: position{line: 593, col: 20, offset: 18644}, - val: "`'", + pos: position{line: 678, col: 17, offset: 21680}, + val: ":", ignoreCase: false, - want: "\"`'\"", - }, - &actionExpr{ - pos: position{line: 593, col: 27, offset: 18651}, - run: (*parser).callonLongHandAttributes93, - expr: &litMatcher{ - pos: position{line: 593, col: 27, offset: 18651}, - val: "\\", - ignoreCase: false, - want: "\"\\\\\"", - }, + want: "\":\"", }, - &actionExpr{ - pos: position{line: 596, col: 12, offset: 18811}, - run: (*parser).callonLongHandAttributes95, - expr: &oneOrMoreExpr{ - pos: position{line: 596, col: 12, offset: 18811}, - expr: &charClassMatcher{ - pos: position{line: 596, col: 12, offset: 18811}, - val: "[^\\r\\n\\\\\\ ]", - chars: []rune{'\r', '\n', '\\', '\'', ' '}, - ignoreCase: false, - inverted: true, + &labeledExpr{ + pos: position{line: 678, col: 21, offset: 21684}, + label: "start", + expr: &choiceExpr{ + pos: position{line: 678, col: 28, offset: 21691}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 678, col: 28, offset: 21691}, + run: (*parser).callonShortHandAttributeValue55, + expr: &charClassMatcher{ + pos: position{line: 678, col: 28, offset: 21691}, + val: "[A-Za-z]", + ranges: []rune{'A', 'Z', 'a', 'z'}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 680, col: 9, offset: 21745}, + run: (*parser).callonShortHandAttributeValue57, + expr: &oneOrMoreExpr{ + pos: position{line: 680, col: 9, offset: 21745}, + expr: &charClassMatcher{ + pos: position{line: 680, col: 9, offset: 21745}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, }, }, }, @@ -12027,884 +11393,67 @@ var g = &grammar{ }, }, }, - }, - &litMatcher{ - pos: position{line: 581, col: 5, offset: 18361}, - val: "'", - ignoreCase: false, - want: "\"'\"", + &litMatcher{ + pos: position{line: 674, col: 79, offset: 21573}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, }, }, }, - }, - &actionExpr{ - pos: position{line: 604, col: 5, offset: 19046}, - run: (*parser).callonLongHandAttributes99, - expr: &seqExpr{ - pos: position{line: 604, col: 5, offset: 19046}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 604, col: 5, offset: 19046}, - val: "\"", - ignoreCase: false, - want: "\"\\\"\"", - }, - ¬Expr{ - pos: position{line: 604, col: 10, offset: 19051}, - expr: &litMatcher{ - pos: position{line: 604, col: 11, offset: 19052}, - val: "`", + &actionExpr{ + pos: position{line: 663, col: 5, offset: 21092}, + run: (*parser).callonShortHandAttributeValue61, + expr: &seqExpr{ + pos: position{line: 663, col: 5, offset: 21092}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 663, col: 5, offset: 21092}, + val: "{", ignoreCase: false, - want: "\"`\"", + want: "\"{\"", }, - }, - &labeledExpr{ - pos: position{line: 605, col: 5, offset: 19131}, - label: "content", - expr: &actionExpr{ - pos: position{line: 610, col: 5, offset: 19285}, - run: (*parser).callonLongHandAttributes105, - expr: &labeledExpr{ - pos: position{line: 610, col: 5, offset: 19285}, - label: "elements", - expr: &oneOrMoreExpr{ - pos: position{line: 610, col: 14, offset: 19294}, - expr: &choiceExpr{ - pos: position{line: 611, col: 9, offset: 19304}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2856, col: 14, offset: 93755}, - run: (*parser).callonLongHandAttributes109, - expr: &oneOrMoreExpr{ - pos: position{line: 2856, col: 14, offset: 93755}, - expr: &charClassMatcher{ - pos: position{line: 2856, col: 14, offset: 93755}, - val: "[0-9\\pL]", - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, - run: (*parser).callonLongHandAttributes112, - expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 649, col: 5, offset: 20887}, - run: (*parser).callonLongHandAttributes114, - expr: &seqExpr{ - pos: position{line: 649, col: 5, offset: 20887}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 649, col: 5, offset: 20887}, - run: (*parser).callonLongHandAttributes116, - }, - &labeledExpr{ - pos: position{line: 652, col: 5, offset: 20951}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 652, col: 14, offset: 20960}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 663, col: 25, offset: 21324}, - run: (*parser).callonLongHandAttributes119, - expr: &seqExpr{ - pos: position{line: 663, col: 25, offset: 21324}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 663, col: 25, offset: 21324}, - val: "{counter:", - ignoreCase: false, - want: "\"{counter:\"", - }, - &labeledExpr{ - pos: position{line: 663, col: 37, offset: 21336}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonLongHandAttributes123, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 663, col: 56, offset: 21355}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 663, col: 62, offset: 21361}, - expr: &actionExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - run: (*parser).callonLongHandAttributes130, - expr: &seqExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 671, col: 17, offset: 21656}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 671, col: 21, offset: 21660}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - run: (*parser).callonLongHandAttributes135, - expr: &charClassMatcher{ - pos: position{line: 671, col: 28, offset: 21667}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - run: (*parser).callonLongHandAttributes137, - expr: &oneOrMoreExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - expr: &charClassMatcher{ - pos: position{line: 673, col: 9, offset: 21721}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 663, col: 78, offset: 21377}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 667, col: 25, offset: 21495}, - run: (*parser).callonLongHandAttributes141, - expr: &seqExpr{ - pos: position{line: 667, col: 25, offset: 21495}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 667, col: 25, offset: 21495}, - val: "{counter2:", - ignoreCase: false, - want: "\"{counter2:\"", - }, - &labeledExpr{ - pos: position{line: 667, col: 38, offset: 21508}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonLongHandAttributes145, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 667, col: 57, offset: 21527}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 667, col: 63, offset: 21533}, - expr: &actionExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - run: (*parser).callonLongHandAttributes152, - expr: &seqExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 671, col: 17, offset: 21656}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 671, col: 21, offset: 21660}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - run: (*parser).callonLongHandAttributes157, - expr: &charClassMatcher{ - pos: position{line: 671, col: 28, offset: 21667}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - run: (*parser).callonLongHandAttributes159, - expr: &oneOrMoreExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - expr: &charClassMatcher{ - pos: position{line: 673, col: 9, offset: 21721}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 667, col: 79, offset: 21549}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 656, col: 31, offset: 21077}, - run: (*parser).callonLongHandAttributes163, - expr: &seqExpr{ - pos: position{line: 656, col: 31, offset: 21077}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 656, col: 31, offset: 21077}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - &labeledExpr{ - pos: position{line: 656, col: 35, offset: 21081}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonLongHandAttributes167, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - 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: 54, offset: 21100}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 614, col: 12, offset: 19373}, - run: (*parser).callonLongHandAttributes173, - expr: &litMatcher{ - pos: position{line: 614, col: 12, offset: 19373}, - val: "\\\"", - ignoreCase: false, - want: "\"\\\\\\\"\"", - }, - }, - &litMatcher{ - pos: position{line: 617, col: 13, offset: 19475}, - val: "\"`", - ignoreCase: false, - want: "\"\\\"`\"", - }, - &litMatcher{ - pos: position{line: 617, col: 21, offset: 19483}, - val: "`\"", - ignoreCase: false, - want: "\"`\\\"\"", - }, - &litMatcher{ - pos: position{line: 617, col: 29, offset: 19491}, - val: "\\", - ignoreCase: false, - want: "\"\\\\\"", - }, - &actionExpr{ - pos: position{line: 617, col: 35, offset: 19497}, - run: (*parser).callonLongHandAttributes178, - expr: &litMatcher{ - pos: position{line: 617, col: 35, offset: 19497}, - val: "`", - ignoreCase: false, - want: "\"`\"", - }, - }, - &actionExpr{ - pos: position{line: 620, col: 12, offset: 19680}, - run: (*parser).callonLongHandAttributes180, - expr: &oneOrMoreExpr{ - pos: position{line: 620, col: 12, offset: 19680}, - expr: &charClassMatcher{ - pos: position{line: 620, col: 12, offset: 19680}, - val: "[^\\r\\n\\\\\"` ]", - chars: []rune{'\r', '\n', '\\', '"', '`', ' '}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 606, col: 5, offset: 19182}, - val: "\"", - ignoreCase: false, - want: "\"\\\"\"", - }, - &andExpr{ - pos: position{line: 606, col: 10, offset: 19187}, - expr: ¬Expr{ - pos: position{line: 606, col: 12, offset: 19189}, - expr: &seqExpr{ - pos: position{line: 606, col: 14, offset: 19191}, - exprs: []interface{}{ - &zeroOrMoreExpr{ - pos: position{line: 606, col: 14, offset: 19191}, - expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, - run: (*parser).callonLongHandAttributes188, - expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &litMatcher{ - pos: position{line: 606, col: 21, offset: 19198}, - val: "=", - ignoreCase: false, - want: "\"=\"", - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 527, col: 7, offset: 16359}, - run: (*parser).callonLongHandAttributes191, - expr: &seqExpr{ - pos: position{line: 527, col: 7, offset: 16359}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 527, col: 7, offset: 16359}, - label: "elements", - expr: &oneOrMoreExpr{ - pos: position{line: 527, col: 16, offset: 16368}, - expr: &choiceExpr{ - pos: position{line: 530, col: 9, offset: 16550}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 530, col: 10, offset: 16551}, - run: (*parser).callonLongHandAttributes196, - expr: &oneOrMoreExpr{ - pos: position{line: 530, col: 10, offset: 16551}, - expr: &charClassMatcher{ - pos: position{line: 530, col: 10, offset: 16551}, - val: "[^,=.%# \\r\\n�{]]", - chars: []rune{',', '=', '.', '%', '#', ' ', '\r', '\n', '�', '{', ']'}, - ignoreCase: false, - inverted: true, - }, - }, - }, - &actionExpr{ - pos: position{line: 1085, col: 23, offset: 33674}, - run: (*parser).callonLongHandAttributes199, - expr: &seqExpr{ - pos: position{line: 1085, col: 23, offset: 33674}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 1083, col: 32, offset: 33642}, - val: "�", - ignoreCase: false, - want: "\"�\"", - }, - &labeledExpr{ - pos: position{line: 1085, col: 51, offset: 33702}, - label: "ref", - expr: &actionExpr{ - pos: position{line: 1085, col: 56, offset: 33707}, - run: (*parser).callonLongHandAttributes203, - expr: &oneOrMoreExpr{ - pos: position{line: 1085, col: 56, offset: 33707}, - expr: &charClassMatcher{ - pos: position{line: 1085, col: 56, offset: 33707}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 1083, col: 32, offset: 33642}, - val: "�", - ignoreCase: false, - want: "\"�\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 649, col: 5, offset: 20887}, - run: (*parser).callonLongHandAttributes207, - expr: &seqExpr{ - pos: position{line: 649, col: 5, offset: 20887}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 649, col: 5, offset: 20887}, - run: (*parser).callonLongHandAttributes209, - }, - &labeledExpr{ - pos: position{line: 652, col: 5, offset: 20951}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 652, col: 14, offset: 20960}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 663, col: 25, offset: 21324}, - run: (*parser).callonLongHandAttributes212, - expr: &seqExpr{ - pos: position{line: 663, col: 25, offset: 21324}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 663, col: 25, offset: 21324}, - val: "{counter:", - ignoreCase: false, - want: "\"{counter:\"", - }, - &labeledExpr{ - pos: position{line: 663, col: 37, offset: 21336}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonLongHandAttributes216, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 663, col: 56, offset: 21355}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 663, col: 62, offset: 21361}, - expr: &actionExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - run: (*parser).callonLongHandAttributes223, - expr: &seqExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 671, col: 17, offset: 21656}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 671, col: 21, offset: 21660}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - run: (*parser).callonLongHandAttributes228, - expr: &charClassMatcher{ - pos: position{line: 671, col: 28, offset: 21667}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - run: (*parser).callonLongHandAttributes230, - expr: &oneOrMoreExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - expr: &charClassMatcher{ - pos: position{line: 673, col: 9, offset: 21721}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 663, col: 78, offset: 21377}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 667, col: 25, offset: 21495}, - run: (*parser).callonLongHandAttributes234, - expr: &seqExpr{ - pos: position{line: 667, col: 25, offset: 21495}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 667, col: 25, offset: 21495}, - val: "{counter2:", - ignoreCase: false, - want: "\"{counter2:\"", - }, - &labeledExpr{ - pos: position{line: 667, col: 38, offset: 21508}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonLongHandAttributes238, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 667, col: 57, offset: 21527}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 667, col: 63, offset: 21533}, - expr: &actionExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - run: (*parser).callonLongHandAttributes245, - expr: &seqExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 671, col: 17, offset: 21656}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 671, col: 21, offset: 21660}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - run: (*parser).callonLongHandAttributes250, - expr: &charClassMatcher{ - pos: position{line: 671, col: 28, offset: 21667}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - run: (*parser).callonLongHandAttributes252, - expr: &oneOrMoreExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - expr: &charClassMatcher{ - pos: position{line: 673, col: 9, offset: 21721}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 667, col: 79, offset: 21549}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 656, col: 31, offset: 21077}, - run: (*parser).callonLongHandAttributes256, - expr: &seqExpr{ - pos: position{line: 656, col: 31, offset: 21077}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 656, col: 31, offset: 21077}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - &labeledExpr{ - pos: position{line: 656, col: 35, offset: 21081}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonLongHandAttributes260, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - 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: 54, offset: 21100}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 535, col: 12, offset: 16719}, - run: (*parser).callonLongHandAttributes266, - expr: &litMatcher{ - pos: position{line: 535, col: 12, offset: 16719}, - val: "{", + &labeledExpr{ + pos: position{line: 663, col: 9, offset: 21096}, + label: "name", + expr: &actionExpr{ + pos: position{line: 336, col: 18, offset: 10325}, + run: (*parser).callonShortHandAttributeValue65, + expr: &seqExpr{ + pos: position{line: 336, col: 18, offset: 10325}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 336, col: 18, offset: 10325}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, ignoreCase: false, - want: "\"{\"", + inverted: false, }, - }, - }, - }, - }, - }, - &andExpr{ - pos: position{line: 538, col: 8, offset: 16802}, - expr: ¬Expr{ - pos: position{line: 538, col: 10, offset: 16804}, - expr: &seqExpr{ - pos: position{line: 538, col: 12, offset: 16806}, - exprs: []interface{}{ - &zeroOrMoreExpr{ - pos: position{line: 538, col: 12, offset: 16806}, - expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, - run: (*parser).callonLongHandAttributes272, + &zeroOrMoreExpr{ + pos: position{line: 336, col: 28, offset: 10335}, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 336, col: 29, offset: 10336}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, ignoreCase: false, inverted: false, }, }, }, - &litMatcher{ - pos: position{line: 538, col: 19, offset: 16813}, - val: "=", - ignoreCase: false, - want: "\"=\"", - }, }, }, }, + &litMatcher{ + pos: position{line: 663, col: 28, offset: 21115}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, }, }, }, @@ -12914,1350 +11463,578 @@ var g = &grammar{ }, }, }, + &actionExpr{ + pos: position{line: 535, col: 12, offset: 16666}, + run: (*parser).callonShortHandAttributeValue71, + expr: &litMatcher{ + pos: position{line: 535, col: 12, offset: 16666}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + }, }, - &labeledExpr{ - pos: position{line: 480, col: 5, offset: 15036}, - label: "extras", - expr: &zeroOrMoreExpr{ - pos: position{line: 480, col: 12, offset: 15043}, + }, + }, + }, + &andExpr{ + pos: position{line: 539, col: 5, offset: 16754}, + expr: ¬Expr{ + pos: position{line: 539, col: 7, offset: 16756}, + expr: &seqExpr{ + pos: position{line: 539, col: 9, offset: 16758}, + exprs: []interface{}{ + &zeroOrMoreExpr{ + pos: position{line: 539, col: 9, offset: 16758}, expr: &actionExpr{ - pos: position{line: 481, col: 9, offset: 15054}, - run: (*parser).callonLongHandAttributes277, - expr: &seqExpr{ - pos: position{line: 481, col: 9, offset: 15054}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 481, col: 9, offset: 15054}, - expr: &litMatcher{ - pos: position{line: 481, col: 10, offset: 15055}, - val: ",", - ignoreCase: false, - want: "\",\"", - }, - }, - ¬Expr{ - pos: position{line: 481, col: 14, offset: 15059}, - expr: &litMatcher{ - pos: position{line: 481, col: 15, offset: 15060}, - val: "]", - ignoreCase: false, - want: "\"]\"", - }, - }, - &labeledExpr{ - pos: position{line: 482, col: 9, offset: 15072}, - label: "extra", - expr: &choiceExpr{ - pos: position{line: 483, col: 13, offset: 15092}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 505, col: 25, offset: 15702}, - run: (*parser).callonLongHandAttributes285, - expr: &seqExpr{ - pos: position{line: 505, col: 25, offset: 15702}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 505, col: 25, offset: 15702}, - val: "#", - ignoreCase: false, - want: "\"#\"", - }, - &labeledExpr{ - pos: position{line: 505, col: 29, offset: 15706}, - label: "id", - expr: &choiceExpr{ - pos: position{line: 525, col: 5, offset: 16285}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 579, col: 5, offset: 18226}, - run: (*parser).callonLongHandAttributes290, - expr: &seqExpr{ - pos: position{line: 579, col: 5, offset: 18226}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 579, col: 5, offset: 18226}, - val: "'", - ignoreCase: false, - want: "\"'\"", - }, - ¬Expr{ - pos: position{line: 579, col: 9, offset: 18230}, - expr: &litMatcher{ - pos: position{line: 579, col: 10, offset: 18231}, - val: "`", - ignoreCase: false, - want: "\"`\"", - }, - }, - &labeledExpr{ - pos: position{line: 580, col: 5, offset: 18310}, - label: "content", - expr: &actionExpr{ - pos: position{line: 586, col: 5, offset: 18447}, - run: (*parser).callonLongHandAttributes296, - expr: &labeledExpr{ - pos: position{line: 586, col: 5, offset: 18447}, - label: "elements", - expr: &oneOrMoreExpr{ - pos: position{line: 586, col: 14, offset: 18456}, - expr: &choiceExpr{ - pos: position{line: 587, col: 9, offset: 18466}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2856, col: 14, offset: 93755}, - run: (*parser).callonLongHandAttributes300, - expr: &oneOrMoreExpr{ - pos: position{line: 2856, col: 14, offset: 93755}, - expr: &charClassMatcher{ - pos: position{line: 2856, col: 14, offset: 93755}, - val: "[0-9\\pL]", - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, - run: (*parser).callonLongHandAttributes303, - expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 649, col: 5, offset: 20887}, - run: (*parser).callonLongHandAttributes305, - expr: &seqExpr{ - pos: position{line: 649, col: 5, offset: 20887}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 649, col: 5, offset: 20887}, - run: (*parser).callonLongHandAttributes307, - }, - &labeledExpr{ - pos: position{line: 652, col: 5, offset: 20951}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 652, col: 14, offset: 20960}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 663, col: 25, offset: 21324}, - run: (*parser).callonLongHandAttributes310, - expr: &seqExpr{ - pos: position{line: 663, col: 25, offset: 21324}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 663, col: 25, offset: 21324}, - val: "{counter:", - ignoreCase: false, - want: "\"{counter:\"", - }, - &labeledExpr{ - pos: position{line: 663, col: 37, offset: 21336}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonLongHandAttributes314, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 663, col: 56, offset: 21355}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 663, col: 62, offset: 21361}, - expr: &actionExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - run: (*parser).callonLongHandAttributes321, - expr: &seqExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 671, col: 17, offset: 21656}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 671, col: 21, offset: 21660}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - run: (*parser).callonLongHandAttributes326, - expr: &charClassMatcher{ - pos: position{line: 671, col: 28, offset: 21667}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - run: (*parser).callonLongHandAttributes328, - expr: &oneOrMoreExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - expr: &charClassMatcher{ - pos: position{line: 673, col: 9, offset: 21721}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 663, col: 78, offset: 21377}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 667, col: 25, offset: 21495}, - run: (*parser).callonLongHandAttributes332, - expr: &seqExpr{ - pos: position{line: 667, col: 25, offset: 21495}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 667, col: 25, offset: 21495}, - val: "{counter2:", - ignoreCase: false, - want: "\"{counter2:\"", - }, - &labeledExpr{ - pos: position{line: 667, col: 38, offset: 21508}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonLongHandAttributes336, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 667, col: 57, offset: 21527}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 667, col: 63, offset: 21533}, - expr: &actionExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - run: (*parser).callonLongHandAttributes343, - expr: &seqExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 671, col: 17, offset: 21656}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 671, col: 21, offset: 21660}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - run: (*parser).callonLongHandAttributes348, - expr: &charClassMatcher{ - pos: position{line: 671, col: 28, offset: 21667}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - run: (*parser).callonLongHandAttributes350, - expr: &oneOrMoreExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - expr: &charClassMatcher{ - pos: position{line: 673, col: 9, offset: 21721}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 667, col: 79, offset: 21549}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 656, col: 31, offset: 21077}, - run: (*parser).callonLongHandAttributes354, - expr: &seqExpr{ - pos: position{line: 656, col: 31, offset: 21077}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 656, col: 31, offset: 21077}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - &labeledExpr{ - pos: position{line: 656, col: 35, offset: 21081}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonLongHandAttributes358, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - 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: 54, offset: 21100}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 590, col: 12, offset: 18535}, - run: (*parser).callonLongHandAttributes364, - expr: &litMatcher{ - pos: position{line: 590, col: 12, offset: 18535}, - val: "\\'", - ignoreCase: false, - want: "\"\\\\'\"", - }, - }, - &litMatcher{ - pos: position{line: 593, col: 13, offset: 18637}, - val: "'`", - ignoreCase: false, - want: "\"'`\"", - }, - &litMatcher{ - pos: position{line: 593, col: 20, offset: 18644}, - val: "`'", - ignoreCase: false, - want: "\"`'\"", - }, - &actionExpr{ - pos: position{line: 593, col: 27, offset: 18651}, - run: (*parser).callonLongHandAttributes368, - expr: &litMatcher{ - pos: position{line: 593, col: 27, offset: 18651}, - val: "\\", - ignoreCase: false, - want: "\"\\\\\"", - }, - }, - &actionExpr{ - pos: position{line: 596, col: 12, offset: 18811}, - run: (*parser).callonLongHandAttributes370, - expr: &oneOrMoreExpr{ - pos: position{line: 596, col: 12, offset: 18811}, - expr: &charClassMatcher{ - pos: position{line: 596, col: 12, offset: 18811}, - val: "[^\\r\\n\\\\\\ ]", - chars: []rune{'\r', '\n', '\\', '\'', ' '}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 581, col: 5, offset: 18361}, - val: "'", - ignoreCase: false, - want: "\"'\"", - }, - }, + pos: position{line: 2838, col: 10, offset: 93169}, + run: (*parser).callonShortHandAttributeValue77, + expr: &charClassMatcher{ + pos: position{line: 2838, col: 11, offset: 93170}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &litMatcher{ + pos: position{line: 539, col: 16, offset: 16765}, + val: "=", + ignoreCase: false, + want: "\"=\"", + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + { + name: "PositionalAttribute", + pos: position{line: 544, col: 1, offset: 16843}, + expr: &choiceExpr{ + pos: position{line: 544, col: 24, offset: 16866}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 545, col: 5, offset: 16872}, + run: (*parser).callonPositionalAttribute2, + expr: &seqExpr{ + pos: position{line: 545, col: 5, offset: 16872}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 545, col: 5, offset: 16872}, + label: "value", + expr: &ruleRefExpr{ + pos: position{line: 545, col: 12, offset: 16879}, + name: "AttributeValue", + }, + }, + &choiceExpr{ + pos: position{line: 545, col: 29, offset: 16896}, + alternatives: []interface{}{ + &zeroOrOneExpr{ + pos: position{line: 545, col: 29, offset: 16896}, + expr: &seqExpr{ + pos: position{line: 545, col: 30, offset: 16897}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 545, col: 30, offset: 16897}, + val: ",", + ignoreCase: false, + want: "\",\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 545, col: 34, offset: 16901}, + expr: &actionExpr{ + pos: position{line: 2838, col: 10, offset: 93169}, + run: (*parser).callonPositionalAttribute11, + expr: &charClassMatcher{ + pos: position{line: 2838, col: 11, offset: 93170}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &andExpr{ + pos: position{line: 545, col: 45, offset: 16912}, + expr: &litMatcher{ + pos: position{line: 545, col: 46, offset: 16913}, + val: "]", + ignoreCase: false, + want: "\"]\"", + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 550, col: 6, offset: 17150}, + run: (*parser).callonPositionalAttribute15, + expr: &seqExpr{ + pos: position{line: 550, col: 6, offset: 17150}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 550, col: 6, offset: 17150}, + label: "value", + expr: &seqExpr{ + pos: position{line: 550, col: 13, offset: 17157}, + exprs: []interface{}{ + &zeroOrMoreExpr{ + pos: position{line: 550, col: 13, offset: 17157}, + expr: &actionExpr{ + pos: position{line: 2838, col: 10, offset: 93169}, + run: (*parser).callonPositionalAttribute20, + expr: &charClassMatcher{ + pos: position{line: 2838, col: 11, offset: 93170}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 550, col: 21, offset: 17165}, + alternatives: []interface{}{ + &seqExpr{ + pos: position{line: 550, col: 22, offset: 17166}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 550, col: 22, offset: 17166}, + val: ",", + ignoreCase: false, + want: "\",\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 550, col: 26, offset: 17170}, + expr: &actionExpr{ + pos: position{line: 2838, col: 10, offset: 93169}, + run: (*parser).callonPositionalAttribute26, + expr: &charClassMatcher{ + pos: position{line: 2838, col: 11, offset: 93170}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + &andExpr{ + pos: position{line: 550, col: 36, offset: 17180}, + expr: &litMatcher{ + pos: position{line: 550, col: 37, offset: 17181}, + val: "]", + ignoreCase: false, + want: "\"]\"", + }, + }, + }, + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 551, col: 5, offset: 17191}, + run: (*parser).callonPositionalAttribute30, + }, + }, + }, + }, + }, + }, + }, + { + name: "NamedAttribute", + pos: position{line: 561, col: 1, offset: 17506}, + expr: &actionExpr{ + pos: position{line: 561, col: 19, offset: 17524}, + run: (*parser).callonNamedAttribute1, + expr: &seqExpr{ + pos: position{line: 561, col: 19, offset: 17524}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 561, col: 19, offset: 17524}, + label: "key", + expr: &actionExpr{ + pos: position{line: 566, col: 22, offset: 17832}, + run: (*parser).callonNamedAttribute4, + expr: &seqExpr{ + pos: position{line: 566, col: 22, offset: 17832}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 566, col: 22, offset: 17832}, + expr: &actionExpr{ + pos: position{line: 2838, col: 10, offset: 93169}, + run: (*parser).callonNamedAttribute7, + expr: &charClassMatcher{ + pos: position{line: 2838, col: 11, offset: 93170}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &oneOrMoreExpr{ + pos: position{line: 566, col: 29, offset: 17839}, + expr: &charClassMatcher{ + pos: position{line: 566, col: 29, offset: 17839}, + val: "[^\\r\\n=,]]", + chars: []rune{'\r', '\n', '=', ',', ']'}, + ignoreCase: false, + inverted: true, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 566, col: 42, offset: 17852}, + expr: &actionExpr{ + pos: position{line: 2838, col: 10, offset: 93169}, + run: (*parser).callonNamedAttribute12, + expr: &charClassMatcher{ + pos: position{line: 2838, col: 11, offset: 93170}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 561, col: 43, offset: 17548}, + val: "=", + ignoreCase: false, + want: "\"=\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 561, col: 47, offset: 17552}, + expr: &actionExpr{ + pos: position{line: 2838, col: 10, offset: 93169}, + run: (*parser).callonNamedAttribute16, + expr: &charClassMatcher{ + pos: position{line: 2838, col: 11, offset: 93170}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &labeledExpr{ + pos: position{line: 561, col: 54, offset: 17559}, + label: "value", + expr: &ruleRefExpr{ + pos: position{line: 561, col: 61, offset: 17566}, + name: "AttributeValue", + }, + }, + &zeroOrOneExpr{ + pos: position{line: 561, col: 77, offset: 17582}, + expr: &seqExpr{ + pos: position{line: 561, col: 78, offset: 17583}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 561, col: 78, offset: 17583}, + val: ",", + ignoreCase: false, + want: "\",\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 561, col: 82, offset: 17587}, + expr: &actionExpr{ + pos: position{line: 2838, col: 10, offset: 93169}, + run: (*parser).callonNamedAttribute24, + expr: &charClassMatcher{ + pos: position{line: 2838, col: 11, offset: 93170}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + { + name: "AttributeValue", + pos: position{line: 570, col: 1, offset: 17922}, + expr: &actionExpr{ + pos: position{line: 571, col: 5, offset: 17945}, + run: (*parser).callonAttributeValue1, + expr: &seqExpr{ + pos: position{line: 571, col: 5, offset: 17945}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 571, col: 5, offset: 17945}, + label: "value", + expr: &choiceExpr{ + pos: position{line: 572, col: 9, offset: 17961}, + alternatives: []interface{}{ + &ruleRefExpr{ + pos: position{line: 572, col: 9, offset: 17961}, + name: "SingleQuotedAttributeValue", + }, + &ruleRefExpr{ + pos: position{line: 573, col: 11, offset: 17999}, + name: "DoubleQuotedAttributeValue", + }, + &ruleRefExpr{ + pos: position{line: 574, col: 11, offset: 18037}, + name: "UnquotedAttributeValue", + }, + }, + }, + }, + &andExpr{ + pos: position{line: 576, col: 5, offset: 18071}, + expr: ¬Expr{ + pos: position{line: 576, col: 7, offset: 18073}, + expr: &seqExpr{ + pos: position{line: 576, col: 9, offset: 18075}, + exprs: []interface{}{ + &zeroOrMoreExpr{ + pos: position{line: 576, col: 9, offset: 18075}, + expr: &actionExpr{ + pos: position{line: 2838, col: 10, offset: 93169}, + run: (*parser).callonAttributeValue12, + expr: &charClassMatcher{ + pos: position{line: 2838, col: 11, offset: 93170}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &litMatcher{ + pos: position{line: 576, col: 16, offset: 18082}, + val: "=", + ignoreCase: false, + want: "\"=\"", + }, + }, + }, + }, + }, + }, + }, + }, + }, + { + name: "SingleQuotedAttributeValue", + pos: position{line: 580, col: 1, offset: 18123}, + expr: &actionExpr{ + pos: position{line: 581, col: 5, offset: 18158}, + run: (*parser).callonSingleQuotedAttributeValue1, + expr: &seqExpr{ + pos: position{line: 581, col: 5, offset: 18158}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 581, col: 5, offset: 18158}, + val: "'", + ignoreCase: false, + want: "\"'\"", + }, + ¬Expr{ + pos: position{line: 581, col: 9, offset: 18162}, + expr: &litMatcher{ + pos: position{line: 581, col: 10, offset: 18163}, + val: "`", + ignoreCase: false, + want: "\"`\"", + }, + }, + &labeledExpr{ + pos: position{line: 582, col: 5, offset: 18242}, + label: "content", + expr: &ruleRefExpr{ + pos: position{line: 582, col: 14, offset: 18251}, + name: "SingleQuotedAttributeValueContent", + }, + }, + &litMatcher{ + pos: position{line: 583, col: 5, offset: 18290}, + val: "'", + ignoreCase: false, + want: "\"'\"", + }, + }, + }, + }, + }, + { + name: "SingleQuotedAttributeValueContent", + pos: position{line: 587, col: 1, offset: 18331}, + expr: &actionExpr{ + pos: position{line: 588, col: 5, offset: 18373}, + run: (*parser).callonSingleQuotedAttributeValueContent1, + expr: &labeledExpr{ + pos: position{line: 588, col: 5, offset: 18373}, + label: "elements", + expr: &oneOrMoreExpr{ + pos: position{line: 588, col: 14, offset: 18382}, + expr: &choiceExpr{ + pos: position{line: 589, col: 9, offset: 18392}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2757, col: 14, offset: 90514}, + run: (*parser).callonSingleQuotedAttributeValueContent5, + expr: &oneOrMoreExpr{ + pos: position{line: 2757, col: 14, offset: 90514}, + expr: &charClassMatcher{ + pos: position{line: 2757, col: 14, offset: 90514}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &actionExpr{ + pos: position{line: 2838, col: 10, offset: 93169}, + run: (*parser).callonSingleQuotedAttributeValueContent8, + expr: &charClassMatcher{ + pos: position{line: 2838, col: 11, offset: 93170}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + &ruleRefExpr{ + pos: position{line: 591, col: 11, offset: 18428}, + name: "Quote", + }, + &actionExpr{ + pos: position{line: 655, col: 5, offset: 20901}, + run: (*parser).callonSingleQuotedAttributeValueContent11, + expr: &seqExpr{ + pos: position{line: 655, col: 5, offset: 20901}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 655, col: 5, offset: 20901}, + run: (*parser).callonSingleQuotedAttributeValueContent13, + }, + &labeledExpr{ + pos: position{line: 658, col: 5, offset: 20970}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 658, col: 14, offset: 20979}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 670, col: 25, offset: 21348}, + run: (*parser).callonSingleQuotedAttributeValueContent16, + expr: &seqExpr{ + pos: position{line: 670, col: 25, offset: 21348}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 670, col: 25, offset: 21348}, + val: "{counter:", + ignoreCase: false, + want: "\"{counter:\"", + }, + &labeledExpr{ + pos: position{line: 670, col: 37, offset: 21360}, + label: "name", + expr: &actionExpr{ + pos: position{line: 336, col: 18, offset: 10325}, + run: (*parser).callonSingleQuotedAttributeValueContent20, + expr: &seqExpr{ + pos: position{line: 336, col: 18, offset: 10325}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 336, col: 18, offset: 10325}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 336, col: 28, offset: 10335}, + expr: &charClassMatcher{ + pos: position{line: 336, col: 29, offset: 10336}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 670, col: 56, offset: 21379}, + label: "start", + expr: &zeroOrOneExpr{ + pos: position{line: 670, col: 62, offset: 21385}, + expr: &actionExpr{ + pos: position{line: 678, col: 17, offset: 21680}, + run: (*parser).callonSingleQuotedAttributeValueContent27, + expr: &seqExpr{ + pos: position{line: 678, col: 17, offset: 21680}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 678, col: 17, offset: 21680}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &labeledExpr{ + pos: position{line: 678, col: 21, offset: 21684}, + label: "start", + expr: &choiceExpr{ + pos: position{line: 678, col: 28, offset: 21691}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 678, col: 28, offset: 21691}, + run: (*parser).callonSingleQuotedAttributeValueContent32, + expr: &charClassMatcher{ + pos: position{line: 678, col: 28, offset: 21691}, + val: "[A-Za-z]", + ranges: []rune{'A', 'Z', 'a', 'z'}, + ignoreCase: false, + inverted: false, }, }, &actionExpr{ - pos: position{line: 604, col: 5, offset: 19046}, - run: (*parser).callonLongHandAttributes374, - expr: &seqExpr{ - pos: position{line: 604, col: 5, offset: 19046}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 604, col: 5, offset: 19046}, - val: "\"", - ignoreCase: false, - want: "\"\\\"\"", - }, - ¬Expr{ - pos: position{line: 604, col: 10, offset: 19051}, - expr: &litMatcher{ - pos: position{line: 604, col: 11, offset: 19052}, - val: "`", - ignoreCase: false, - want: "\"`\"", - }, - }, - &labeledExpr{ - pos: position{line: 605, col: 5, offset: 19131}, - label: "content", - expr: &actionExpr{ - pos: position{line: 610, col: 5, offset: 19285}, - run: (*parser).callonLongHandAttributes380, - expr: &labeledExpr{ - pos: position{line: 610, col: 5, offset: 19285}, - label: "elements", - expr: &oneOrMoreExpr{ - pos: position{line: 610, col: 14, offset: 19294}, - expr: &choiceExpr{ - pos: position{line: 611, col: 9, offset: 19304}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2856, col: 14, offset: 93755}, - run: (*parser).callonLongHandAttributes384, - expr: &oneOrMoreExpr{ - pos: position{line: 2856, col: 14, offset: 93755}, - expr: &charClassMatcher{ - pos: position{line: 2856, col: 14, offset: 93755}, - val: "[0-9\\pL]", - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, - run: (*parser).callonLongHandAttributes387, - expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 649, col: 5, offset: 20887}, - run: (*parser).callonLongHandAttributes389, - expr: &seqExpr{ - pos: position{line: 649, col: 5, offset: 20887}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 649, col: 5, offset: 20887}, - run: (*parser).callonLongHandAttributes391, - }, - &labeledExpr{ - pos: position{line: 652, col: 5, offset: 20951}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 652, col: 14, offset: 20960}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 663, col: 25, offset: 21324}, - run: (*parser).callonLongHandAttributes394, - expr: &seqExpr{ - pos: position{line: 663, col: 25, offset: 21324}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 663, col: 25, offset: 21324}, - val: "{counter:", - ignoreCase: false, - want: "\"{counter:\"", - }, - &labeledExpr{ - pos: position{line: 663, col: 37, offset: 21336}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonLongHandAttributes398, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 663, col: 56, offset: 21355}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 663, col: 62, offset: 21361}, - expr: &actionExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - run: (*parser).callonLongHandAttributes405, - expr: &seqExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 671, col: 17, offset: 21656}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 671, col: 21, offset: 21660}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - run: (*parser).callonLongHandAttributes410, - expr: &charClassMatcher{ - pos: position{line: 671, col: 28, offset: 21667}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - run: (*parser).callonLongHandAttributes412, - expr: &oneOrMoreExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - expr: &charClassMatcher{ - pos: position{line: 673, col: 9, offset: 21721}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 663, col: 78, offset: 21377}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 667, col: 25, offset: 21495}, - run: (*parser).callonLongHandAttributes416, - expr: &seqExpr{ - pos: position{line: 667, col: 25, offset: 21495}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 667, col: 25, offset: 21495}, - val: "{counter2:", - ignoreCase: false, - want: "\"{counter2:\"", - }, - &labeledExpr{ - pos: position{line: 667, col: 38, offset: 21508}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonLongHandAttributes420, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 667, col: 57, offset: 21527}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 667, col: 63, offset: 21533}, - expr: &actionExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - run: (*parser).callonLongHandAttributes427, - expr: &seqExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 671, col: 17, offset: 21656}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 671, col: 21, offset: 21660}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - run: (*parser).callonLongHandAttributes432, - expr: &charClassMatcher{ - pos: position{line: 671, col: 28, offset: 21667}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - run: (*parser).callonLongHandAttributes434, - expr: &oneOrMoreExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - expr: &charClassMatcher{ - pos: position{line: 673, col: 9, offset: 21721}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 667, col: 79, offset: 21549}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 656, col: 31, offset: 21077}, - run: (*parser).callonLongHandAttributes438, - expr: &seqExpr{ - pos: position{line: 656, col: 31, offset: 21077}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 656, col: 31, offset: 21077}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - &labeledExpr{ - pos: position{line: 656, col: 35, offset: 21081}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonLongHandAttributes442, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - 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: 54, offset: 21100}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 614, col: 12, offset: 19373}, - run: (*parser).callonLongHandAttributes448, - expr: &litMatcher{ - pos: position{line: 614, col: 12, offset: 19373}, - val: "\\\"", - ignoreCase: false, - want: "\"\\\\\\\"\"", - }, - }, - &litMatcher{ - pos: position{line: 617, col: 13, offset: 19475}, - val: "\"`", - ignoreCase: false, - want: "\"\\\"`\"", - }, - &litMatcher{ - pos: position{line: 617, col: 21, offset: 19483}, - val: "`\"", - ignoreCase: false, - want: "\"`\\\"\"", - }, - &litMatcher{ - pos: position{line: 617, col: 29, offset: 19491}, - val: "\\", - ignoreCase: false, - want: "\"\\\\\"", - }, - &actionExpr{ - pos: position{line: 617, col: 35, offset: 19497}, - run: (*parser).callonLongHandAttributes453, - expr: &litMatcher{ - pos: position{line: 617, col: 35, offset: 19497}, - val: "`", - ignoreCase: false, - want: "\"`\"", - }, - }, - &actionExpr{ - pos: position{line: 620, col: 12, offset: 19680}, - run: (*parser).callonLongHandAttributes455, - expr: &oneOrMoreExpr{ - pos: position{line: 620, col: 12, offset: 19680}, - expr: &charClassMatcher{ - pos: position{line: 620, col: 12, offset: 19680}, - val: "[^\\r\\n\\\\\"` ]", - chars: []rune{'\r', '\n', '\\', '"', '`', ' '}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 606, col: 5, offset: 19182}, - val: "\"", - ignoreCase: false, - want: "\"\\\"\"", - }, - &andExpr{ - pos: position{line: 606, col: 10, offset: 19187}, - expr: ¬Expr{ - pos: position{line: 606, col: 12, offset: 19189}, - expr: &seqExpr{ - pos: position{line: 606, col: 14, offset: 19191}, - exprs: []interface{}{ - &zeroOrMoreExpr{ - pos: position{line: 606, col: 14, offset: 19191}, - expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, - run: (*parser).callonLongHandAttributes463, - expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &litMatcher{ - pos: position{line: 606, col: 21, offset: 19198}, - val: "=", - ignoreCase: false, - want: "\"=\"", - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 527, col: 7, offset: 16359}, - run: (*parser).callonLongHandAttributes466, - expr: &seqExpr{ - pos: position{line: 527, col: 7, offset: 16359}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 527, col: 7, offset: 16359}, - label: "elements", - expr: &oneOrMoreExpr{ - pos: position{line: 527, col: 16, offset: 16368}, - expr: &choiceExpr{ - pos: position{line: 530, col: 9, offset: 16550}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 530, col: 10, offset: 16551}, - run: (*parser).callonLongHandAttributes471, - expr: &oneOrMoreExpr{ - pos: position{line: 530, col: 10, offset: 16551}, - expr: &charClassMatcher{ - pos: position{line: 530, col: 10, offset: 16551}, - val: "[^,=.%# \\r\\n�{]]", - chars: []rune{',', '=', '.', '%', '#', ' ', '\r', '\n', '�', '{', ']'}, - ignoreCase: false, - inverted: true, - }, - }, - }, - &actionExpr{ - pos: position{line: 1085, col: 23, offset: 33674}, - run: (*parser).callonLongHandAttributes474, - expr: &seqExpr{ - pos: position{line: 1085, col: 23, offset: 33674}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 1083, col: 32, offset: 33642}, - val: "�", - ignoreCase: false, - want: "\"�\"", - }, - &labeledExpr{ - pos: position{line: 1085, col: 51, offset: 33702}, - label: "ref", - expr: &actionExpr{ - pos: position{line: 1085, col: 56, offset: 33707}, - run: (*parser).callonLongHandAttributes478, - expr: &oneOrMoreExpr{ - pos: position{line: 1085, col: 56, offset: 33707}, - expr: &charClassMatcher{ - pos: position{line: 1085, col: 56, offset: 33707}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 1083, col: 32, offset: 33642}, - val: "�", - ignoreCase: false, - want: "\"�\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 649, col: 5, offset: 20887}, - run: (*parser).callonLongHandAttributes482, - expr: &seqExpr{ - pos: position{line: 649, col: 5, offset: 20887}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 649, col: 5, offset: 20887}, - run: (*parser).callonLongHandAttributes484, - }, - &labeledExpr{ - pos: position{line: 652, col: 5, offset: 20951}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 652, col: 14, offset: 20960}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 663, col: 25, offset: 21324}, - run: (*parser).callonLongHandAttributes487, - expr: &seqExpr{ - pos: position{line: 663, col: 25, offset: 21324}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 663, col: 25, offset: 21324}, - val: "{counter:", - ignoreCase: false, - want: "\"{counter:\"", - }, - &labeledExpr{ - pos: position{line: 663, col: 37, offset: 21336}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonLongHandAttributes491, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 663, col: 56, offset: 21355}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 663, col: 62, offset: 21361}, - expr: &actionExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - run: (*parser).callonLongHandAttributes498, - expr: &seqExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 671, col: 17, offset: 21656}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 671, col: 21, offset: 21660}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - run: (*parser).callonLongHandAttributes503, - expr: &charClassMatcher{ - pos: position{line: 671, col: 28, offset: 21667}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - run: (*parser).callonLongHandAttributes505, - expr: &oneOrMoreExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - expr: &charClassMatcher{ - pos: position{line: 673, col: 9, offset: 21721}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 663, col: 78, offset: 21377}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 667, col: 25, offset: 21495}, - run: (*parser).callonLongHandAttributes509, - expr: &seqExpr{ - pos: position{line: 667, col: 25, offset: 21495}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 667, col: 25, offset: 21495}, - val: "{counter2:", - ignoreCase: false, - want: "\"{counter2:\"", - }, - &labeledExpr{ - pos: position{line: 667, col: 38, offset: 21508}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonLongHandAttributes513, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 667, col: 57, offset: 21527}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 667, col: 63, offset: 21533}, - expr: &actionExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - run: (*parser).callonLongHandAttributes520, - expr: &seqExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 671, col: 17, offset: 21656}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 671, col: 21, offset: 21660}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - run: (*parser).callonLongHandAttributes525, - expr: &charClassMatcher{ - pos: position{line: 671, col: 28, offset: 21667}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - run: (*parser).callonLongHandAttributes527, - expr: &oneOrMoreExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - expr: &charClassMatcher{ - pos: position{line: 673, col: 9, offset: 21721}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 667, col: 79, offset: 21549}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 656, col: 31, offset: 21077}, - run: (*parser).callonLongHandAttributes531, - expr: &seqExpr{ - pos: position{line: 656, col: 31, offset: 21077}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 656, col: 31, offset: 21077}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - &labeledExpr{ - pos: position{line: 656, col: 35, offset: 21081}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonLongHandAttributes535, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - 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: 54, offset: 21100}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 535, col: 12, offset: 16719}, - run: (*parser).callonLongHandAttributes541, - expr: &litMatcher{ - pos: position{line: 535, col: 12, offset: 16719}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - }, - }, - }, - }, - }, - &andExpr{ - pos: position{line: 538, col: 8, offset: 16802}, - expr: ¬Expr{ - pos: position{line: 538, col: 10, offset: 16804}, - expr: &seqExpr{ - pos: position{line: 538, col: 12, offset: 16806}, - exprs: []interface{}{ - &zeroOrMoreExpr{ - pos: position{line: 538, col: 12, offset: 16806}, - expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, - run: (*parser).callonLongHandAttributes547, - expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &litMatcher{ - pos: position{line: 538, col: 19, offset: 16813}, - val: "=", - ignoreCase: false, - want: "\"=\"", - }, - }, - }, - }, - }, + pos: position{line: 680, col: 9, offset: 21745}, + run: (*parser).callonSingleQuotedAttributeValueContent34, + expr: &oneOrMoreExpr{ + pos: position{line: 680, col: 9, offset: 21745}, + expr: &charClassMatcher{ + pos: position{line: 680, col: 9, offset: 21745}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, }, }, }, @@ -14267,1314 +12044,108 @@ var g = &grammar{ }, }, }, - &actionExpr{ - pos: position{line: 519, col: 29, offset: 16128}, - run: (*parser).callonLongHandAttributes550, + }, + }, + &litMatcher{ + pos: position{line: 670, col: 78, offset: 21401}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 674, col: 25, offset: 21519}, + run: (*parser).callonSingleQuotedAttributeValueContent38, + expr: &seqExpr{ + pos: position{line: 674, col: 25, offset: 21519}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 674, col: 25, offset: 21519}, + val: "{counter2:", + ignoreCase: false, + want: "\"{counter2:\"", + }, + &labeledExpr{ + pos: position{line: 674, col: 38, offset: 21532}, + label: "name", + expr: &actionExpr{ + pos: position{line: 336, col: 18, offset: 10325}, + run: (*parser).callonSingleQuotedAttributeValueContent42, + expr: &seqExpr{ + pos: position{line: 336, col: 18, offset: 10325}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 336, col: 18, offset: 10325}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 336, col: 28, offset: 10335}, + expr: &charClassMatcher{ + pos: position{line: 336, col: 29, offset: 10336}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 674, col: 57, offset: 21551}, + label: "start", + expr: &zeroOrOneExpr{ + pos: position{line: 674, col: 63, offset: 21557}, + expr: &actionExpr{ + pos: position{line: 678, col: 17, offset: 21680}, + run: (*parser).callonSingleQuotedAttributeValueContent49, expr: &seqExpr{ - pos: position{line: 519, col: 29, offset: 16128}, + pos: position{line: 678, col: 17, offset: 21680}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 519, col: 29, offset: 16128}, - val: "%", + pos: position{line: 678, col: 17, offset: 21680}, + val: ":", ignoreCase: false, - want: "\"%\"", + want: "\":\"", }, &labeledExpr{ - pos: position{line: 519, col: 33, offset: 16132}, - label: "option", + pos: position{line: 678, col: 21, offset: 21684}, + label: "start", expr: &choiceExpr{ - pos: position{line: 525, col: 5, offset: 16285}, + pos: position{line: 678, col: 28, offset: 21691}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 579, col: 5, offset: 18226}, - run: (*parser).callonLongHandAttributes555, - expr: &seqExpr{ - pos: position{line: 579, col: 5, offset: 18226}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 579, col: 5, offset: 18226}, - val: "'", - ignoreCase: false, - want: "\"'\"", - }, - ¬Expr{ - pos: position{line: 579, col: 9, offset: 18230}, - expr: &litMatcher{ - pos: position{line: 579, col: 10, offset: 18231}, - val: "`", - ignoreCase: false, - want: "\"`\"", - }, - }, - &labeledExpr{ - pos: position{line: 580, col: 5, offset: 18310}, - label: "content", - expr: &actionExpr{ - pos: position{line: 586, col: 5, offset: 18447}, - run: (*parser).callonLongHandAttributes561, - expr: &labeledExpr{ - pos: position{line: 586, col: 5, offset: 18447}, - label: "elements", - expr: &oneOrMoreExpr{ - pos: position{line: 586, col: 14, offset: 18456}, - expr: &choiceExpr{ - pos: position{line: 587, col: 9, offset: 18466}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2856, col: 14, offset: 93755}, - run: (*parser).callonLongHandAttributes565, - expr: &oneOrMoreExpr{ - pos: position{line: 2856, col: 14, offset: 93755}, - expr: &charClassMatcher{ - pos: position{line: 2856, col: 14, offset: 93755}, - val: "[0-9\\pL]", - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, - run: (*parser).callonLongHandAttributes568, - expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 649, col: 5, offset: 20887}, - run: (*parser).callonLongHandAttributes570, - expr: &seqExpr{ - pos: position{line: 649, col: 5, offset: 20887}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 649, col: 5, offset: 20887}, - run: (*parser).callonLongHandAttributes572, - }, - &labeledExpr{ - pos: position{line: 652, col: 5, offset: 20951}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 652, col: 14, offset: 20960}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 663, col: 25, offset: 21324}, - run: (*parser).callonLongHandAttributes575, - expr: &seqExpr{ - pos: position{line: 663, col: 25, offset: 21324}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 663, col: 25, offset: 21324}, - val: "{counter:", - ignoreCase: false, - want: "\"{counter:\"", - }, - &labeledExpr{ - pos: position{line: 663, col: 37, offset: 21336}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonLongHandAttributes579, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 663, col: 56, offset: 21355}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 663, col: 62, offset: 21361}, - expr: &actionExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - run: (*parser).callonLongHandAttributes586, - expr: &seqExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 671, col: 17, offset: 21656}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 671, col: 21, offset: 21660}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - run: (*parser).callonLongHandAttributes591, - expr: &charClassMatcher{ - pos: position{line: 671, col: 28, offset: 21667}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - run: (*parser).callonLongHandAttributes593, - expr: &oneOrMoreExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - expr: &charClassMatcher{ - pos: position{line: 673, col: 9, offset: 21721}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 663, col: 78, offset: 21377}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 667, col: 25, offset: 21495}, - run: (*parser).callonLongHandAttributes597, - expr: &seqExpr{ - pos: position{line: 667, col: 25, offset: 21495}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 667, col: 25, offset: 21495}, - val: "{counter2:", - ignoreCase: false, - want: "\"{counter2:\"", - }, - &labeledExpr{ - pos: position{line: 667, col: 38, offset: 21508}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonLongHandAttributes601, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 667, col: 57, offset: 21527}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 667, col: 63, offset: 21533}, - expr: &actionExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - run: (*parser).callonLongHandAttributes608, - expr: &seqExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 671, col: 17, offset: 21656}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 671, col: 21, offset: 21660}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - run: (*parser).callonLongHandAttributes613, - expr: &charClassMatcher{ - pos: position{line: 671, col: 28, offset: 21667}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - run: (*parser).callonLongHandAttributes615, - expr: &oneOrMoreExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - expr: &charClassMatcher{ - pos: position{line: 673, col: 9, offset: 21721}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 667, col: 79, offset: 21549}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 656, col: 31, offset: 21077}, - run: (*parser).callonLongHandAttributes619, - expr: &seqExpr{ - pos: position{line: 656, col: 31, offset: 21077}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 656, col: 31, offset: 21077}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - &labeledExpr{ - pos: position{line: 656, col: 35, offset: 21081}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonLongHandAttributes623, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - 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: 54, offset: 21100}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 590, col: 12, offset: 18535}, - run: (*parser).callonLongHandAttributes629, - expr: &litMatcher{ - pos: position{line: 590, col: 12, offset: 18535}, - val: "\\'", - ignoreCase: false, - want: "\"\\\\'\"", - }, - }, - &litMatcher{ - pos: position{line: 593, col: 13, offset: 18637}, - val: "'`", - ignoreCase: false, - want: "\"'`\"", - }, - &litMatcher{ - pos: position{line: 593, col: 20, offset: 18644}, - val: "`'", - ignoreCase: false, - want: "\"`'\"", - }, - &actionExpr{ - pos: position{line: 593, col: 27, offset: 18651}, - run: (*parser).callonLongHandAttributes633, - expr: &litMatcher{ - pos: position{line: 593, col: 27, offset: 18651}, - val: "\\", - ignoreCase: false, - want: "\"\\\\\"", - }, - }, - &actionExpr{ - pos: position{line: 596, col: 12, offset: 18811}, - run: (*parser).callonLongHandAttributes635, - expr: &oneOrMoreExpr{ - pos: position{line: 596, col: 12, offset: 18811}, - expr: &charClassMatcher{ - pos: position{line: 596, col: 12, offset: 18811}, - val: "[^\\r\\n\\\\\\ ]", - chars: []rune{'\r', '\n', '\\', '\'', ' '}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 581, col: 5, offset: 18361}, - val: "'", - ignoreCase: false, - want: "\"'\"", - }, - }, + pos: position{line: 678, col: 28, offset: 21691}, + run: (*parser).callonSingleQuotedAttributeValueContent54, + expr: &charClassMatcher{ + pos: position{line: 678, col: 28, offset: 21691}, + val: "[A-Za-z]", + ranges: []rune{'A', 'Z', 'a', 'z'}, + ignoreCase: false, + inverted: false, }, }, &actionExpr{ - pos: position{line: 604, col: 5, offset: 19046}, - run: (*parser).callonLongHandAttributes639, - expr: &seqExpr{ - pos: position{line: 604, col: 5, offset: 19046}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 604, col: 5, offset: 19046}, - val: "\"", - ignoreCase: false, - want: "\"\\\"\"", - }, - ¬Expr{ - pos: position{line: 604, col: 10, offset: 19051}, - expr: &litMatcher{ - pos: position{line: 604, col: 11, offset: 19052}, - val: "`", - ignoreCase: false, - want: "\"`\"", - }, - }, - &labeledExpr{ - pos: position{line: 605, col: 5, offset: 19131}, - label: "content", - expr: &actionExpr{ - pos: position{line: 610, col: 5, offset: 19285}, - run: (*parser).callonLongHandAttributes645, - expr: &labeledExpr{ - pos: position{line: 610, col: 5, offset: 19285}, - label: "elements", - expr: &oneOrMoreExpr{ - pos: position{line: 610, col: 14, offset: 19294}, - expr: &choiceExpr{ - pos: position{line: 611, col: 9, offset: 19304}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2856, col: 14, offset: 93755}, - run: (*parser).callonLongHandAttributes649, - expr: &oneOrMoreExpr{ - pos: position{line: 2856, col: 14, offset: 93755}, - expr: &charClassMatcher{ - pos: position{line: 2856, col: 14, offset: 93755}, - val: "[0-9\\pL]", - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, - run: (*parser).callonLongHandAttributes652, - expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 649, col: 5, offset: 20887}, - run: (*parser).callonLongHandAttributes654, - expr: &seqExpr{ - pos: position{line: 649, col: 5, offset: 20887}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 649, col: 5, offset: 20887}, - run: (*parser).callonLongHandAttributes656, - }, - &labeledExpr{ - pos: position{line: 652, col: 5, offset: 20951}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 652, col: 14, offset: 20960}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 663, col: 25, offset: 21324}, - run: (*parser).callonLongHandAttributes659, - expr: &seqExpr{ - pos: position{line: 663, col: 25, offset: 21324}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 663, col: 25, offset: 21324}, - val: "{counter:", - ignoreCase: false, - want: "\"{counter:\"", - }, - &labeledExpr{ - pos: position{line: 663, col: 37, offset: 21336}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonLongHandAttributes663, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 663, col: 56, offset: 21355}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 663, col: 62, offset: 21361}, - expr: &actionExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - run: (*parser).callonLongHandAttributes670, - expr: &seqExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 671, col: 17, offset: 21656}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 671, col: 21, offset: 21660}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - run: (*parser).callonLongHandAttributes675, - expr: &charClassMatcher{ - pos: position{line: 671, col: 28, offset: 21667}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - run: (*parser).callonLongHandAttributes677, - expr: &oneOrMoreExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - expr: &charClassMatcher{ - pos: position{line: 673, col: 9, offset: 21721}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 663, col: 78, offset: 21377}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 667, col: 25, offset: 21495}, - run: (*parser).callonLongHandAttributes681, - expr: &seqExpr{ - pos: position{line: 667, col: 25, offset: 21495}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 667, col: 25, offset: 21495}, - val: "{counter2:", - ignoreCase: false, - want: "\"{counter2:\"", - }, - &labeledExpr{ - pos: position{line: 667, col: 38, offset: 21508}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonLongHandAttributes685, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 667, col: 57, offset: 21527}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 667, col: 63, offset: 21533}, - expr: &actionExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - run: (*parser).callonLongHandAttributes692, - expr: &seqExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 671, col: 17, offset: 21656}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 671, col: 21, offset: 21660}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - run: (*parser).callonLongHandAttributes697, - expr: &charClassMatcher{ - pos: position{line: 671, col: 28, offset: 21667}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - run: (*parser).callonLongHandAttributes699, - expr: &oneOrMoreExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - expr: &charClassMatcher{ - pos: position{line: 673, col: 9, offset: 21721}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 667, col: 79, offset: 21549}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 656, col: 31, offset: 21077}, - run: (*parser).callonLongHandAttributes703, - expr: &seqExpr{ - pos: position{line: 656, col: 31, offset: 21077}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 656, col: 31, offset: 21077}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - &labeledExpr{ - pos: position{line: 656, col: 35, offset: 21081}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonLongHandAttributes707, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - 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: 54, offset: 21100}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 614, col: 12, offset: 19373}, - run: (*parser).callonLongHandAttributes713, - expr: &litMatcher{ - pos: position{line: 614, col: 12, offset: 19373}, - val: "\\\"", - ignoreCase: false, - want: "\"\\\\\\\"\"", - }, - }, - &litMatcher{ - pos: position{line: 617, col: 13, offset: 19475}, - val: "\"`", - ignoreCase: false, - want: "\"\\\"`\"", - }, - &litMatcher{ - pos: position{line: 617, col: 21, offset: 19483}, - val: "`\"", - ignoreCase: false, - want: "\"`\\\"\"", - }, - &litMatcher{ - pos: position{line: 617, col: 29, offset: 19491}, - val: "\\", - ignoreCase: false, - want: "\"\\\\\"", - }, - &actionExpr{ - pos: position{line: 617, col: 35, offset: 19497}, - run: (*parser).callonLongHandAttributes718, - expr: &litMatcher{ - pos: position{line: 617, col: 35, offset: 19497}, - val: "`", - ignoreCase: false, - want: "\"`\"", - }, - }, - &actionExpr{ - pos: position{line: 620, col: 12, offset: 19680}, - run: (*parser).callonLongHandAttributes720, - expr: &oneOrMoreExpr{ - pos: position{line: 620, col: 12, offset: 19680}, - expr: &charClassMatcher{ - pos: position{line: 620, col: 12, offset: 19680}, - val: "[^\\r\\n\\\\\"` ]", - chars: []rune{'\r', '\n', '\\', '"', '`', ' '}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 606, col: 5, offset: 19182}, - val: "\"", - ignoreCase: false, - want: "\"\\\"\"", - }, - &andExpr{ - pos: position{line: 606, col: 10, offset: 19187}, - expr: ¬Expr{ - pos: position{line: 606, col: 12, offset: 19189}, - expr: &seqExpr{ - pos: position{line: 606, col: 14, offset: 19191}, - exprs: []interface{}{ - &zeroOrMoreExpr{ - pos: position{line: 606, col: 14, offset: 19191}, - expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, - run: (*parser).callonLongHandAttributes728, - expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &litMatcher{ - pos: position{line: 606, col: 21, offset: 19198}, - val: "=", - ignoreCase: false, - want: "\"=\"", - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 527, col: 7, offset: 16359}, - run: (*parser).callonLongHandAttributes731, - expr: &seqExpr{ - pos: position{line: 527, col: 7, offset: 16359}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 527, col: 7, offset: 16359}, - label: "elements", - expr: &oneOrMoreExpr{ - pos: position{line: 527, col: 16, offset: 16368}, - expr: &choiceExpr{ - pos: position{line: 530, col: 9, offset: 16550}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 530, col: 10, offset: 16551}, - run: (*parser).callonLongHandAttributes736, - expr: &oneOrMoreExpr{ - pos: position{line: 530, col: 10, offset: 16551}, - expr: &charClassMatcher{ - pos: position{line: 530, col: 10, offset: 16551}, - val: "[^,=.%# \\r\\n�{]]", - chars: []rune{',', '=', '.', '%', '#', ' ', '\r', '\n', '�', '{', ']'}, - ignoreCase: false, - inverted: true, - }, - }, - }, - &actionExpr{ - pos: position{line: 1085, col: 23, offset: 33674}, - run: (*parser).callonLongHandAttributes739, - expr: &seqExpr{ - pos: position{line: 1085, col: 23, offset: 33674}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 1083, col: 32, offset: 33642}, - val: "�", - ignoreCase: false, - want: "\"�\"", - }, - &labeledExpr{ - pos: position{line: 1085, col: 51, offset: 33702}, - label: "ref", - expr: &actionExpr{ - pos: position{line: 1085, col: 56, offset: 33707}, - run: (*parser).callonLongHandAttributes743, - expr: &oneOrMoreExpr{ - pos: position{line: 1085, col: 56, offset: 33707}, - expr: &charClassMatcher{ - pos: position{line: 1085, col: 56, offset: 33707}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 1083, col: 32, offset: 33642}, - val: "�", - ignoreCase: false, - want: "\"�\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 649, col: 5, offset: 20887}, - run: (*parser).callonLongHandAttributes747, - expr: &seqExpr{ - pos: position{line: 649, col: 5, offset: 20887}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 649, col: 5, offset: 20887}, - run: (*parser).callonLongHandAttributes749, - }, - &labeledExpr{ - pos: position{line: 652, col: 5, offset: 20951}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 652, col: 14, offset: 20960}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 663, col: 25, offset: 21324}, - run: (*parser).callonLongHandAttributes752, - expr: &seqExpr{ - pos: position{line: 663, col: 25, offset: 21324}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 663, col: 25, offset: 21324}, - val: "{counter:", - ignoreCase: false, - want: "\"{counter:\"", - }, - &labeledExpr{ - pos: position{line: 663, col: 37, offset: 21336}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonLongHandAttributes756, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 663, col: 56, offset: 21355}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 663, col: 62, offset: 21361}, - expr: &actionExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - run: (*parser).callonLongHandAttributes763, - expr: &seqExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 671, col: 17, offset: 21656}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 671, col: 21, offset: 21660}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - run: (*parser).callonLongHandAttributes768, - expr: &charClassMatcher{ - pos: position{line: 671, col: 28, offset: 21667}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - run: (*parser).callonLongHandAttributes770, - expr: &oneOrMoreExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - expr: &charClassMatcher{ - pos: position{line: 673, col: 9, offset: 21721}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 663, col: 78, offset: 21377}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 667, col: 25, offset: 21495}, - run: (*parser).callonLongHandAttributes774, - expr: &seqExpr{ - pos: position{line: 667, col: 25, offset: 21495}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 667, col: 25, offset: 21495}, - val: "{counter2:", - ignoreCase: false, - want: "\"{counter2:\"", - }, - &labeledExpr{ - pos: position{line: 667, col: 38, offset: 21508}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonLongHandAttributes778, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 667, col: 57, offset: 21527}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 667, col: 63, offset: 21533}, - expr: &actionExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - run: (*parser).callonLongHandAttributes785, - expr: &seqExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 671, col: 17, offset: 21656}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 671, col: 21, offset: 21660}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - run: (*parser).callonLongHandAttributes790, - expr: &charClassMatcher{ - pos: position{line: 671, col: 28, offset: 21667}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - run: (*parser).callonLongHandAttributes792, - expr: &oneOrMoreExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - expr: &charClassMatcher{ - pos: position{line: 673, col: 9, offset: 21721}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 667, col: 79, offset: 21549}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 656, col: 31, offset: 21077}, - run: (*parser).callonLongHandAttributes796, - expr: &seqExpr{ - pos: position{line: 656, col: 31, offset: 21077}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 656, col: 31, offset: 21077}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - &labeledExpr{ - pos: position{line: 656, col: 35, offset: 21081}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonLongHandAttributes800, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - 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: 54, offset: 21100}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 535, col: 12, offset: 16719}, - run: (*parser).callonLongHandAttributes806, - expr: &litMatcher{ - pos: position{line: 535, col: 12, offset: 16719}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - }, - }, - }, - }, - }, - &andExpr{ - pos: position{line: 538, col: 8, offset: 16802}, - expr: ¬Expr{ - pos: position{line: 538, col: 10, offset: 16804}, - expr: &seqExpr{ - pos: position{line: 538, col: 12, offset: 16806}, - exprs: []interface{}{ - &zeroOrMoreExpr{ - pos: position{line: 538, col: 12, offset: 16806}, - expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, - run: (*parser).callonLongHandAttributes812, - expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &litMatcher{ - pos: position{line: 538, col: 19, offset: 16813}, - val: "=", - ignoreCase: false, - want: "\"=\"", - }, - }, - }, - }, - }, + pos: position{line: 680, col: 9, offset: 21745}, + run: (*parser).callonSingleQuotedAttributeValueContent56, + expr: &oneOrMoreExpr{ + pos: position{line: 680, col: 9, offset: 21745}, + expr: &charClassMatcher{ + pos: position{line: 680, col: 9, offset: 21745}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, }, }, }, @@ -15584,1524 +12155,539 @@ var g = &grammar{ }, }, }, - &actionExpr{ - pos: position{line: 514, col: 30, offset: 15968}, - run: (*parser).callonLongHandAttributes815, - expr: &seqExpr{ - pos: position{line: 514, col: 30, offset: 15968}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 514, col: 30, offset: 15968}, - val: ".", + }, + }, + &litMatcher{ + pos: position{line: 674, col: 79, offset: 21573}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 663, col: 5, offset: 21092}, + run: (*parser).callonSingleQuotedAttributeValueContent60, + expr: &seqExpr{ + pos: position{line: 663, col: 5, offset: 21092}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 663, col: 5, offset: 21092}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + &labeledExpr{ + pos: position{line: 663, col: 9, offset: 21096}, + label: "name", + expr: &actionExpr{ + pos: position{line: 336, col: 18, offset: 10325}, + run: (*parser).callonSingleQuotedAttributeValueContent64, + expr: &seqExpr{ + pos: position{line: 336, col: 18, offset: 10325}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 336, col: 18, offset: 10325}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 336, col: 28, offset: 10335}, + expr: &charClassMatcher{ + pos: position{line: 336, col: 29, offset: 10336}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, ignoreCase: false, - want: "\".\"", - }, - &labeledExpr{ - pos: position{line: 514, col: 34, offset: 15972}, - label: "role", - expr: &choiceExpr{ - pos: position{line: 525, col: 5, offset: 16285}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 579, col: 5, offset: 18226}, - run: (*parser).callonLongHandAttributes820, - expr: &seqExpr{ - pos: position{line: 579, col: 5, offset: 18226}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 579, col: 5, offset: 18226}, - val: "'", - ignoreCase: false, - want: "\"'\"", - }, - ¬Expr{ - pos: position{line: 579, col: 9, offset: 18230}, - expr: &litMatcher{ - pos: position{line: 579, col: 10, offset: 18231}, - val: "`", - ignoreCase: false, - want: "\"`\"", - }, - }, - &labeledExpr{ - pos: position{line: 580, col: 5, offset: 18310}, - label: "content", - expr: &actionExpr{ - pos: position{line: 586, col: 5, offset: 18447}, - run: (*parser).callonLongHandAttributes826, - expr: &labeledExpr{ - pos: position{line: 586, col: 5, offset: 18447}, - label: "elements", - expr: &oneOrMoreExpr{ - pos: position{line: 586, col: 14, offset: 18456}, - expr: &choiceExpr{ - pos: position{line: 587, col: 9, offset: 18466}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2856, col: 14, offset: 93755}, - run: (*parser).callonLongHandAttributes830, - expr: &oneOrMoreExpr{ - pos: position{line: 2856, col: 14, offset: 93755}, - expr: &charClassMatcher{ - pos: position{line: 2856, col: 14, offset: 93755}, - val: "[0-9\\pL]", - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, - run: (*parser).callonLongHandAttributes833, - expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 649, col: 5, offset: 20887}, - run: (*parser).callonLongHandAttributes835, - expr: &seqExpr{ - pos: position{line: 649, col: 5, offset: 20887}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 649, col: 5, offset: 20887}, - run: (*parser).callonLongHandAttributes837, - }, - &labeledExpr{ - pos: position{line: 652, col: 5, offset: 20951}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 652, col: 14, offset: 20960}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 663, col: 25, offset: 21324}, - run: (*parser).callonLongHandAttributes840, - expr: &seqExpr{ - pos: position{line: 663, col: 25, offset: 21324}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 663, col: 25, offset: 21324}, - val: "{counter:", - ignoreCase: false, - want: "\"{counter:\"", - }, - &labeledExpr{ - pos: position{line: 663, col: 37, offset: 21336}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonLongHandAttributes844, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 663, col: 56, offset: 21355}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 663, col: 62, offset: 21361}, - expr: &actionExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - run: (*parser).callonLongHandAttributes851, - expr: &seqExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 671, col: 17, offset: 21656}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 671, col: 21, offset: 21660}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - run: (*parser).callonLongHandAttributes856, - expr: &charClassMatcher{ - pos: position{line: 671, col: 28, offset: 21667}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - run: (*parser).callonLongHandAttributes858, - expr: &oneOrMoreExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - expr: &charClassMatcher{ - pos: position{line: 673, col: 9, offset: 21721}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 663, col: 78, offset: 21377}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 667, col: 25, offset: 21495}, - run: (*parser).callonLongHandAttributes862, - expr: &seqExpr{ - pos: position{line: 667, col: 25, offset: 21495}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 667, col: 25, offset: 21495}, - val: "{counter2:", - ignoreCase: false, - want: "\"{counter2:\"", - }, - &labeledExpr{ - pos: position{line: 667, col: 38, offset: 21508}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonLongHandAttributes866, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 667, col: 57, offset: 21527}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 667, col: 63, offset: 21533}, - expr: &actionExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - run: (*parser).callonLongHandAttributes873, - expr: &seqExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 671, col: 17, offset: 21656}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 671, col: 21, offset: 21660}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - run: (*parser).callonLongHandAttributes878, - expr: &charClassMatcher{ - pos: position{line: 671, col: 28, offset: 21667}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - run: (*parser).callonLongHandAttributes880, - expr: &oneOrMoreExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - expr: &charClassMatcher{ - pos: position{line: 673, col: 9, offset: 21721}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 667, col: 79, offset: 21549}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 656, col: 31, offset: 21077}, - run: (*parser).callonLongHandAttributes884, - expr: &seqExpr{ - pos: position{line: 656, col: 31, offset: 21077}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 656, col: 31, offset: 21077}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - &labeledExpr{ - pos: position{line: 656, col: 35, offset: 21081}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonLongHandAttributes888, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - 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: 54, offset: 21100}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 590, col: 12, offset: 18535}, - run: (*parser).callonLongHandAttributes894, - expr: &litMatcher{ - pos: position{line: 590, col: 12, offset: 18535}, - val: "\\'", - ignoreCase: false, - want: "\"\\\\'\"", - }, - }, - &litMatcher{ - pos: position{line: 593, col: 13, offset: 18637}, - val: "'`", - ignoreCase: false, - want: "\"'`\"", - }, - &litMatcher{ - pos: position{line: 593, col: 20, offset: 18644}, - val: "`'", - ignoreCase: false, - want: "\"`'\"", - }, - &actionExpr{ - pos: position{line: 593, col: 27, offset: 18651}, - run: (*parser).callonLongHandAttributes898, - expr: &litMatcher{ - pos: position{line: 593, col: 27, offset: 18651}, - val: "\\", - ignoreCase: false, - want: "\"\\\\\"", - }, - }, - &actionExpr{ - pos: position{line: 596, col: 12, offset: 18811}, - run: (*parser).callonLongHandAttributes900, - expr: &oneOrMoreExpr{ - pos: position{line: 596, col: 12, offset: 18811}, - expr: &charClassMatcher{ - pos: position{line: 596, col: 12, offset: 18811}, - val: "[^\\r\\n\\\\\\ ]", - chars: []rune{'\r', '\n', '\\', '\'', ' '}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 581, col: 5, offset: 18361}, - val: "'", - ignoreCase: false, - want: "\"'\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 604, col: 5, offset: 19046}, - run: (*parser).callonLongHandAttributes904, - expr: &seqExpr{ - pos: position{line: 604, col: 5, offset: 19046}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 604, col: 5, offset: 19046}, - val: "\"", - ignoreCase: false, - want: "\"\\\"\"", - }, - ¬Expr{ - pos: position{line: 604, col: 10, offset: 19051}, - expr: &litMatcher{ - pos: position{line: 604, col: 11, offset: 19052}, - val: "`", - ignoreCase: false, - want: "\"`\"", - }, - }, - &labeledExpr{ - pos: position{line: 605, col: 5, offset: 19131}, - label: "content", - expr: &actionExpr{ - pos: position{line: 610, col: 5, offset: 19285}, - run: (*parser).callonLongHandAttributes910, - expr: &labeledExpr{ - pos: position{line: 610, col: 5, offset: 19285}, - label: "elements", - expr: &oneOrMoreExpr{ - pos: position{line: 610, col: 14, offset: 19294}, - expr: &choiceExpr{ - pos: position{line: 611, col: 9, offset: 19304}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2856, col: 14, offset: 93755}, - run: (*parser).callonLongHandAttributes914, - expr: &oneOrMoreExpr{ - pos: position{line: 2856, col: 14, offset: 93755}, - expr: &charClassMatcher{ - pos: position{line: 2856, col: 14, offset: 93755}, - val: "[0-9\\pL]", - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, - run: (*parser).callonLongHandAttributes917, - expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 649, col: 5, offset: 20887}, - run: (*parser).callonLongHandAttributes919, - expr: &seqExpr{ - pos: position{line: 649, col: 5, offset: 20887}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 649, col: 5, offset: 20887}, - run: (*parser).callonLongHandAttributes921, - }, - &labeledExpr{ - pos: position{line: 652, col: 5, offset: 20951}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 652, col: 14, offset: 20960}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 663, col: 25, offset: 21324}, - run: (*parser).callonLongHandAttributes924, - expr: &seqExpr{ - pos: position{line: 663, col: 25, offset: 21324}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 663, col: 25, offset: 21324}, - val: "{counter:", - ignoreCase: false, - want: "\"{counter:\"", - }, - &labeledExpr{ - pos: position{line: 663, col: 37, offset: 21336}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonLongHandAttributes928, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 663, col: 56, offset: 21355}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 663, col: 62, offset: 21361}, - expr: &actionExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - run: (*parser).callonLongHandAttributes935, - expr: &seqExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 671, col: 17, offset: 21656}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 671, col: 21, offset: 21660}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - run: (*parser).callonLongHandAttributes940, - expr: &charClassMatcher{ - pos: position{line: 671, col: 28, offset: 21667}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - run: (*parser).callonLongHandAttributes942, - expr: &oneOrMoreExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - expr: &charClassMatcher{ - pos: position{line: 673, col: 9, offset: 21721}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 663, col: 78, offset: 21377}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 667, col: 25, offset: 21495}, - run: (*parser).callonLongHandAttributes946, - expr: &seqExpr{ - pos: position{line: 667, col: 25, offset: 21495}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 667, col: 25, offset: 21495}, - val: "{counter2:", - ignoreCase: false, - want: "\"{counter2:\"", - }, - &labeledExpr{ - pos: position{line: 667, col: 38, offset: 21508}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonLongHandAttributes950, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 667, col: 57, offset: 21527}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 667, col: 63, offset: 21533}, - expr: &actionExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - run: (*parser).callonLongHandAttributes957, - expr: &seqExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 671, col: 17, offset: 21656}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 671, col: 21, offset: 21660}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - run: (*parser).callonLongHandAttributes962, - expr: &charClassMatcher{ - pos: position{line: 671, col: 28, offset: 21667}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - run: (*parser).callonLongHandAttributes964, - expr: &oneOrMoreExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - expr: &charClassMatcher{ - pos: position{line: 673, col: 9, offset: 21721}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 667, col: 79, offset: 21549}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 656, col: 31, offset: 21077}, - run: (*parser).callonLongHandAttributes968, - expr: &seqExpr{ - pos: position{line: 656, col: 31, offset: 21077}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 656, col: 31, offset: 21077}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - &labeledExpr{ - pos: position{line: 656, col: 35, offset: 21081}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonLongHandAttributes972, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - 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: 54, offset: 21100}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 614, col: 12, offset: 19373}, - run: (*parser).callonLongHandAttributes978, - expr: &litMatcher{ - pos: position{line: 614, col: 12, offset: 19373}, - val: "\\\"", - ignoreCase: false, - want: "\"\\\\\\\"\"", - }, - }, - &litMatcher{ - pos: position{line: 617, col: 13, offset: 19475}, - val: "\"`", - ignoreCase: false, - want: "\"\\\"`\"", - }, - &litMatcher{ - pos: position{line: 617, col: 21, offset: 19483}, - val: "`\"", - ignoreCase: false, - want: "\"`\\\"\"", - }, - &litMatcher{ - pos: position{line: 617, col: 29, offset: 19491}, - val: "\\", - ignoreCase: false, - want: "\"\\\\\"", - }, - &actionExpr{ - pos: position{line: 617, col: 35, offset: 19497}, - run: (*parser).callonLongHandAttributes983, - expr: &litMatcher{ - pos: position{line: 617, col: 35, offset: 19497}, - val: "`", - ignoreCase: false, - want: "\"`\"", - }, - }, - &actionExpr{ - pos: position{line: 620, col: 12, offset: 19680}, - run: (*parser).callonLongHandAttributes985, - expr: &oneOrMoreExpr{ - pos: position{line: 620, col: 12, offset: 19680}, - expr: &charClassMatcher{ - pos: position{line: 620, col: 12, offset: 19680}, - val: "[^\\r\\n\\\\\"` ]", - chars: []rune{'\r', '\n', '\\', '"', '`', ' '}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 606, col: 5, offset: 19182}, - val: "\"", - ignoreCase: false, - want: "\"\\\"\"", - }, - &andExpr{ - pos: position{line: 606, col: 10, offset: 19187}, - expr: ¬Expr{ - pos: position{line: 606, col: 12, offset: 19189}, - expr: &seqExpr{ - pos: position{line: 606, col: 14, offset: 19191}, - exprs: []interface{}{ - &zeroOrMoreExpr{ - pos: position{line: 606, col: 14, offset: 19191}, - expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, - run: (*parser).callonLongHandAttributes993, - expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &litMatcher{ - pos: position{line: 606, col: 21, offset: 19198}, - val: "=", - ignoreCase: false, - want: "\"=\"", - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 527, col: 7, offset: 16359}, - run: (*parser).callonLongHandAttributes996, - expr: &seqExpr{ - pos: position{line: 527, col: 7, offset: 16359}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 527, col: 7, offset: 16359}, - label: "elements", - expr: &oneOrMoreExpr{ - pos: position{line: 527, col: 16, offset: 16368}, - expr: &choiceExpr{ - pos: position{line: 530, col: 9, offset: 16550}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 530, col: 10, offset: 16551}, - run: (*parser).callonLongHandAttributes1001, - expr: &oneOrMoreExpr{ - pos: position{line: 530, col: 10, offset: 16551}, - expr: &charClassMatcher{ - pos: position{line: 530, col: 10, offset: 16551}, - val: "[^,=.%# \\r\\n�{]]", - chars: []rune{',', '=', '.', '%', '#', ' ', '\r', '\n', '�', '{', ']'}, - ignoreCase: false, - inverted: true, - }, - }, - }, - &actionExpr{ - pos: position{line: 1085, col: 23, offset: 33674}, - run: (*parser).callonLongHandAttributes1004, - expr: &seqExpr{ - pos: position{line: 1085, col: 23, offset: 33674}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 1083, col: 32, offset: 33642}, - val: "�", - ignoreCase: false, - want: "\"�\"", - }, - &labeledExpr{ - pos: position{line: 1085, col: 51, offset: 33702}, - label: "ref", - expr: &actionExpr{ - pos: position{line: 1085, col: 56, offset: 33707}, - run: (*parser).callonLongHandAttributes1008, - expr: &oneOrMoreExpr{ - pos: position{line: 1085, col: 56, offset: 33707}, - expr: &charClassMatcher{ - pos: position{line: 1085, col: 56, offset: 33707}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 1083, col: 32, offset: 33642}, - val: "�", - ignoreCase: false, - want: "\"�\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 649, col: 5, offset: 20887}, - run: (*parser).callonLongHandAttributes1012, - expr: &seqExpr{ - pos: position{line: 649, col: 5, offset: 20887}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 649, col: 5, offset: 20887}, - run: (*parser).callonLongHandAttributes1014, - }, - &labeledExpr{ - pos: position{line: 652, col: 5, offset: 20951}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 652, col: 14, offset: 20960}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 663, col: 25, offset: 21324}, - run: (*parser).callonLongHandAttributes1017, - expr: &seqExpr{ - pos: position{line: 663, col: 25, offset: 21324}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 663, col: 25, offset: 21324}, - val: "{counter:", - ignoreCase: false, - want: "\"{counter:\"", - }, - &labeledExpr{ - pos: position{line: 663, col: 37, offset: 21336}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonLongHandAttributes1021, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 663, col: 56, offset: 21355}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 663, col: 62, offset: 21361}, - expr: &actionExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - run: (*parser).callonLongHandAttributes1028, - expr: &seqExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 671, col: 17, offset: 21656}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 671, col: 21, offset: 21660}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - run: (*parser).callonLongHandAttributes1033, - expr: &charClassMatcher{ - pos: position{line: 671, col: 28, offset: 21667}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - run: (*parser).callonLongHandAttributes1035, - expr: &oneOrMoreExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - expr: &charClassMatcher{ - pos: position{line: 673, col: 9, offset: 21721}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 663, col: 78, offset: 21377}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 667, col: 25, offset: 21495}, - run: (*parser).callonLongHandAttributes1039, - expr: &seqExpr{ - pos: position{line: 667, col: 25, offset: 21495}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 667, col: 25, offset: 21495}, - val: "{counter2:", - ignoreCase: false, - want: "\"{counter2:\"", - }, - &labeledExpr{ - pos: position{line: 667, col: 38, offset: 21508}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonLongHandAttributes1043, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 667, col: 57, offset: 21527}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 667, col: 63, offset: 21533}, - expr: &actionExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - run: (*parser).callonLongHandAttributes1050, - expr: &seqExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 671, col: 17, offset: 21656}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 671, col: 21, offset: 21660}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - run: (*parser).callonLongHandAttributes1055, - expr: &charClassMatcher{ - pos: position{line: 671, col: 28, offset: 21667}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - run: (*parser).callonLongHandAttributes1057, - expr: &oneOrMoreExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - expr: &charClassMatcher{ - pos: position{line: 673, col: 9, offset: 21721}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 667, col: 79, offset: 21549}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 656, col: 31, offset: 21077}, - run: (*parser).callonLongHandAttributes1061, - expr: &seqExpr{ - pos: position{line: 656, col: 31, offset: 21077}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 656, col: 31, offset: 21077}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - &labeledExpr{ - pos: position{line: 656, col: 35, offset: 21081}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonLongHandAttributes1065, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - 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: 54, offset: 21100}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 535, col: 12, offset: 16719}, - run: (*parser).callonLongHandAttributes1071, - expr: &litMatcher{ - pos: position{line: 535, col: 12, offset: 16719}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - }, - }, - }, - }, - }, - &andExpr{ - pos: position{line: 538, col: 8, offset: 16802}, - expr: ¬Expr{ - pos: position{line: 538, col: 10, offset: 16804}, - expr: &seqExpr{ - pos: position{line: 538, col: 12, offset: 16806}, - exprs: []interface{}{ - &zeroOrMoreExpr{ - pos: position{line: 538, col: 12, offset: 16806}, - expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, - run: (*parser).callonLongHandAttributes1077, - expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &litMatcher{ - pos: position{line: 538, col: 19, offset: 16813}, - val: "=", - ignoreCase: false, - want: "\"=\"", - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, + inverted: false, }, }, }, }, }, }, + &litMatcher{ + pos: position{line: 663, col: 28, offset: 21115}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, }, }, }, }, }, }, - &zeroOrOneExpr{ - pos: position{line: 488, col: 8, offset: 15243}, - expr: &seqExpr{ - pos: position{line: 488, col: 9, offset: 15244}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 488, col: 9, offset: 15244}, - val: ",", - ignoreCase: false, - want: "\",\"", - }, - &zeroOrMoreExpr{ - pos: position{line: 488, col: 13, offset: 15248}, - expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, - run: (*parser).callonLongHandAttributes1084, - expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &andCodeExpr{ - pos: position{line: 489, col: 5, offset: 15262}, - run: (*parser).callonLongHandAttributes1086, - }, }, }, }, - }, - }, - &labeledExpr{ - pos: position{line: 462, col: 5, offset: 14369}, - label: "otherAttributes", - expr: &zeroOrMoreExpr{ - pos: position{line: 462, col: 21, offset: 14385}, - expr: &choiceExpr{ - pos: position{line: 462, col: 22, offset: 14386}, - alternatives: []interface{}{ - &ruleRefExpr{ - pos: position{line: 462, col: 22, offset: 14386}, - name: "PositionalAttribute", - }, - &ruleRefExpr{ - pos: position{line: 462, col: 44, offset: 14408}, - name: "NamedAttribute", + &actionExpr{ + pos: position{line: 593, col: 12, offset: 18474}, + run: (*parser).callonSingleQuotedAttributeValueContent70, + expr: &litMatcher{ + pos: position{line: 593, col: 12, offset: 18474}, + val: "\\'", + ignoreCase: false, + want: "\"\\\\'\"", + }, + }, + &litMatcher{ + pos: position{line: 596, col: 13, offset: 18576}, + val: "'`", + ignoreCase: false, + want: "\"'`\"", + }, + &litMatcher{ + pos: position{line: 596, col: 20, offset: 18583}, + val: "`'", + ignoreCase: false, + want: "\"`'\"", + }, + &actionExpr{ + pos: position{line: 596, col: 27, offset: 18590}, + run: (*parser).callonSingleQuotedAttributeValueContent74, + expr: &litMatcher{ + pos: position{line: 596, col: 27, offset: 18590}, + val: "\\", + ignoreCase: false, + want: "\"\\\\\"", + }, + }, + &actionExpr{ + pos: position{line: 599, col: 12, offset: 18750}, + run: (*parser).callonSingleQuotedAttributeValueContent76, + expr: &oneOrMoreExpr{ + pos: position{line: 599, col: 12, offset: 18750}, + expr: &charClassMatcher{ + pos: position{line: 599, col: 12, offset: 18750}, + val: "[^\\r\\n\\\\\\ ]", + chars: []rune{'\r', '\n', '\\', '\'', ' '}, + ignoreCase: false, + inverted: true, }, }, }, }, }, - &litMatcher{ - pos: position{line: 463, col: 5, offset: 14429}, - val: "]", - ignoreCase: false, - want: "\"]\"", - }, }, }, }, }, { - name: "PositionalAttribute", - pos: position{line: 542, col: 1, offset: 16890}, - expr: &choiceExpr{ - pos: position{line: 542, col: 24, offset: 16913}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 543, col: 5, offset: 16919}, - run: (*parser).callonPositionalAttribute2, - expr: &seqExpr{ - pos: position{line: 543, col: 5, offset: 16919}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 543, col: 5, offset: 16919}, - label: "value", - expr: &ruleRefExpr{ - pos: position{line: 543, col: 12, offset: 16926}, - name: "AttributeRawValue", - }, - }, - &choiceExpr{ - pos: position{line: 543, col: 32, offset: 16946}, - alternatives: []interface{}{ - &zeroOrOneExpr{ - pos: position{line: 543, col: 32, offset: 16946}, - expr: &seqExpr{ - pos: position{line: 543, col: 33, offset: 16947}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 543, col: 33, offset: 16947}, - val: ",", - ignoreCase: false, - want: "\",\"", - }, - &zeroOrMoreExpr{ - pos: position{line: 543, col: 37, offset: 16951}, - expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, - run: (*parser).callonPositionalAttribute11, - expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, + name: "DoubleQuotedAttributeValue", + pos: position{line: 606, col: 1, offset: 18947}, + expr: &actionExpr{ + pos: position{line: 607, col: 5, offset: 18982}, + run: (*parser).callonDoubleQuotedAttributeValue1, + expr: &seqExpr{ + pos: position{line: 607, col: 5, offset: 18982}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 607, col: 5, offset: 18982}, + val: "\"", + ignoreCase: false, + want: "\"\\\"\"", + }, + ¬Expr{ + pos: position{line: 607, col: 10, offset: 18987}, + expr: &litMatcher{ + pos: position{line: 607, col: 11, offset: 18988}, + val: "`", + ignoreCase: false, + want: "\"`\"", + }, + }, + &labeledExpr{ + pos: position{line: 608, col: 5, offset: 19067}, + label: "content", + expr: &ruleRefExpr{ + pos: position{line: 608, col: 14, offset: 19076}, + name: "DoubleQuotedAttributeValueContent", + }, + }, + &litMatcher{ + pos: position{line: 609, col: 5, offset: 19115}, + val: "\"", + ignoreCase: false, + want: "\"\\\"\"", + }, + &andExpr{ + pos: position{line: 609, col: 10, offset: 19120}, + expr: ¬Expr{ + pos: position{line: 609, col: 12, offset: 19122}, + expr: &seqExpr{ + pos: position{line: 609, col: 14, offset: 19124}, + exprs: []interface{}{ + &zeroOrMoreExpr{ + pos: position{line: 609, col: 14, offset: 19124}, + expr: &actionExpr{ + pos: position{line: 2838, col: 10, offset: 93169}, + run: (*parser).callonDoubleQuotedAttributeValue13, + expr: &charClassMatcher{ + pos: position{line: 2838, col: 11, offset: 93170}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, }, }, }, - &andExpr{ - pos: position{line: 543, col: 48, offset: 16962}, - expr: &litMatcher{ - pos: position{line: 543, col: 49, offset: 16963}, - val: "]", - ignoreCase: false, - want: "\"]\"", - }, + &litMatcher{ + pos: position{line: 609, col: 21, offset: 19131}, + val: "=", + ignoreCase: false, + want: "\"=\"", }, }, }, }, }, }, - &actionExpr{ - pos: position{line: 548, col: 6, offset: 17200}, - run: (*parser).callonPositionalAttribute15, - expr: &seqExpr{ - pos: position{line: 548, col: 6, offset: 17200}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 548, col: 6, offset: 17200}, - label: "value", + }, + }, + }, + { + name: "DoubleQuotedAttributeValueContent", + pos: position{line: 612, col: 1, offset: 19173}, + expr: &actionExpr{ + pos: position{line: 613, col: 5, offset: 19215}, + run: (*parser).callonDoubleQuotedAttributeValueContent1, + expr: &labeledExpr{ + pos: position{line: 613, col: 5, offset: 19215}, + label: "elements", + expr: &oneOrMoreExpr{ + pos: position{line: 613, col: 14, offset: 19224}, + expr: &choiceExpr{ + pos: position{line: 614, col: 9, offset: 19234}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2757, col: 14, offset: 90514}, + run: (*parser).callonDoubleQuotedAttributeValueContent5, + expr: &oneOrMoreExpr{ + pos: position{line: 2757, col: 14, offset: 90514}, + expr: &charClassMatcher{ + pos: position{line: 2757, col: 14, offset: 90514}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &actionExpr{ + pos: position{line: 2838, col: 10, offset: 93169}, + run: (*parser).callonDoubleQuotedAttributeValueContent8, + expr: &charClassMatcher{ + pos: position{line: 2838, col: 11, offset: 93170}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + &ruleRefExpr{ + pos: position{line: 616, col: 11, offset: 19270}, + name: "Quote", + }, + &actionExpr{ + pos: position{line: 655, col: 5, offset: 20901}, + run: (*parser).callonDoubleQuotedAttributeValueContent11, expr: &seqExpr{ - pos: position{line: 548, col: 13, offset: 17207}, + pos: position{line: 655, col: 5, offset: 20901}, exprs: []interface{}{ - &zeroOrMoreExpr{ - pos: position{line: 548, col: 13, offset: 17207}, - expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, - run: (*parser).callonPositionalAttribute20, - expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, + &andCodeExpr{ + pos: position{line: 655, col: 5, offset: 20901}, + run: (*parser).callonDoubleQuotedAttributeValueContent13, }, - &choiceExpr{ - pos: position{line: 548, col: 21, offset: 17215}, - alternatives: []interface{}{ - &seqExpr{ - pos: position{line: 548, col: 22, offset: 17216}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 548, col: 22, offset: 17216}, - val: ",", - ignoreCase: false, - want: "\",\"", + &labeledExpr{ + pos: position{line: 658, col: 5, offset: 20970}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 658, col: 14, offset: 20979}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 670, col: 25, offset: 21348}, + run: (*parser).callonDoubleQuotedAttributeValueContent16, + expr: &seqExpr{ + pos: position{line: 670, col: 25, offset: 21348}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 670, col: 25, offset: 21348}, + val: "{counter:", + ignoreCase: false, + want: "\"{counter:\"", + }, + &labeledExpr{ + pos: position{line: 670, col: 37, offset: 21360}, + label: "name", + expr: &actionExpr{ + pos: position{line: 336, col: 18, offset: 10325}, + run: (*parser).callonDoubleQuotedAttributeValueContent20, + expr: &seqExpr{ + pos: position{line: 336, col: 18, offset: 10325}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 336, col: 18, offset: 10325}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 336, col: 28, offset: 10335}, + expr: &charClassMatcher{ + pos: position{line: 336, col: 29, offset: 10336}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 670, col: 56, offset: 21379}, + label: "start", + expr: &zeroOrOneExpr{ + pos: position{line: 670, col: 62, offset: 21385}, + expr: &actionExpr{ + pos: position{line: 678, col: 17, offset: 21680}, + run: (*parser).callonDoubleQuotedAttributeValueContent27, + expr: &seqExpr{ + pos: position{line: 678, col: 17, offset: 21680}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 678, col: 17, offset: 21680}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &labeledExpr{ + pos: position{line: 678, col: 21, offset: 21684}, + label: "start", + expr: &choiceExpr{ + pos: position{line: 678, col: 28, offset: 21691}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 678, col: 28, offset: 21691}, + run: (*parser).callonDoubleQuotedAttributeValueContent32, + expr: &charClassMatcher{ + pos: position{line: 678, col: 28, offset: 21691}, + val: "[A-Za-z]", + ranges: []rune{'A', 'Z', 'a', 'z'}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 680, col: 9, offset: 21745}, + run: (*parser).callonDoubleQuotedAttributeValueContent34, + expr: &oneOrMoreExpr{ + pos: position{line: 680, col: 9, offset: 21745}, + expr: &charClassMatcher{ + pos: position{line: 680, col: 9, offset: 21745}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 670, col: 78, offset: 21401}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, }, - &zeroOrMoreExpr{ - pos: position{line: 548, col: 26, offset: 17220}, - expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, - run: (*parser).callonPositionalAttribute26, - expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + }, + &actionExpr{ + pos: position{line: 674, col: 25, offset: 21519}, + run: (*parser).callonDoubleQuotedAttributeValueContent38, + expr: &seqExpr{ + pos: position{line: 674, col: 25, offset: 21519}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 674, col: 25, offset: 21519}, + val: "{counter2:", ignoreCase: false, - inverted: false, + want: "\"{counter2:\"", + }, + &labeledExpr{ + pos: position{line: 674, col: 38, offset: 21532}, + label: "name", + expr: &actionExpr{ + pos: position{line: 336, col: 18, offset: 10325}, + run: (*parser).callonDoubleQuotedAttributeValueContent42, + expr: &seqExpr{ + pos: position{line: 336, col: 18, offset: 10325}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 336, col: 18, offset: 10325}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 336, col: 28, offset: 10335}, + expr: &charClassMatcher{ + pos: position{line: 336, col: 29, offset: 10336}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 674, col: 57, offset: 21551}, + label: "start", + expr: &zeroOrOneExpr{ + pos: position{line: 674, col: 63, offset: 21557}, + expr: &actionExpr{ + pos: position{line: 678, col: 17, offset: 21680}, + run: (*parser).callonDoubleQuotedAttributeValueContent49, + expr: &seqExpr{ + pos: position{line: 678, col: 17, offset: 21680}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 678, col: 17, offset: 21680}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &labeledExpr{ + pos: position{line: 678, col: 21, offset: 21684}, + label: "start", + expr: &choiceExpr{ + pos: position{line: 678, col: 28, offset: 21691}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 678, col: 28, offset: 21691}, + run: (*parser).callonDoubleQuotedAttributeValueContent54, + expr: &charClassMatcher{ + pos: position{line: 678, col: 28, offset: 21691}, + val: "[A-Za-z]", + ranges: []rune{'A', 'Z', 'a', 'z'}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 680, col: 9, offset: 21745}, + run: (*parser).callonDoubleQuotedAttributeValueContent56, + expr: &oneOrMoreExpr{ + pos: position{line: 680, col: 9, offset: 21745}, + expr: &charClassMatcher{ + pos: position{line: 680, col: 9, offset: 21745}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 674, col: 79, offset: 21573}, + val: "}", + ignoreCase: false, + want: "\"}\"", }, }, }, }, - }, - &andExpr{ - pos: position{line: 548, col: 36, offset: 17230}, - expr: &litMatcher{ - pos: position{line: 548, col: 37, offset: 17231}, - val: "]", - ignoreCase: false, - want: "\"]\"", + &actionExpr{ + pos: position{line: 663, col: 5, offset: 21092}, + run: (*parser).callonDoubleQuotedAttributeValueContent60, + expr: &seqExpr{ + pos: position{line: 663, col: 5, offset: 21092}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 663, col: 5, offset: 21092}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + &labeledExpr{ + pos: position{line: 663, col: 9, offset: 21096}, + label: "name", + expr: &actionExpr{ + pos: position{line: 336, col: 18, offset: 10325}, + run: (*parser).callonDoubleQuotedAttributeValueContent64, + expr: &seqExpr{ + pos: position{line: 336, col: 18, offset: 10325}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 336, col: 18, offset: 10325}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 336, col: 28, offset: 10335}, + expr: &charClassMatcher{ + pos: position{line: 336, col: 29, offset: 10336}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 663, col: 28, offset: 21115}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, }, }, }, @@ -17109,9 +12695,57 @@ var g = &grammar{ }, }, }, - &andCodeExpr{ - pos: position{line: 549, col: 5, offset: 17241}, - run: (*parser).callonPositionalAttribute30, + &actionExpr{ + pos: position{line: 618, col: 12, offset: 19317}, + run: (*parser).callonDoubleQuotedAttributeValueContent70, + expr: &litMatcher{ + pos: position{line: 618, col: 12, offset: 19317}, + val: "\\\"", + ignoreCase: false, + want: "\"\\\\\\\"\"", + }, + }, + &litMatcher{ + pos: position{line: 621, col: 13, offset: 19419}, + val: "\"`", + ignoreCase: false, + want: "\"\\\"`\"", + }, + &litMatcher{ + pos: position{line: 621, col: 21, offset: 19427}, + val: "`\"", + ignoreCase: false, + want: "\"`\\\"\"", + }, + &litMatcher{ + pos: position{line: 621, col: 29, offset: 19435}, + val: "\\", + ignoreCase: false, + want: "\"\\\\\"", + }, + &actionExpr{ + pos: position{line: 621, col: 35, offset: 19441}, + run: (*parser).callonDoubleQuotedAttributeValueContent75, + expr: &litMatcher{ + pos: position{line: 621, col: 35, offset: 19441}, + val: "`", + ignoreCase: false, + want: "\"`\"", + }, + }, + &actionExpr{ + pos: position{line: 624, col: 12, offset: 19624}, + run: (*parser).callonDoubleQuotedAttributeValueContent77, + expr: &oneOrMoreExpr{ + pos: position{line: 624, col: 12, offset: 19624}, + expr: &charClassMatcher{ + pos: position{line: 624, col: 12, offset: 19624}, + val: "[^\\r\\n\\\\\"` ]", + chars: []rune{'\r', '\n', '\\', '"', '`', ' '}, + ignoreCase: false, + inverted: true, + }, + }, }, }, }, @@ -17120,78 +12754,21 @@ var g = &grammar{ }, }, { - name: "NamedAttribute", - pos: position{line: 559, col: 1, offset: 17556}, + name: "UnquotedAttributeValue", + pos: position{line: 632, col: 1, offset: 19898}, expr: &actionExpr{ - pos: position{line: 559, col: 19, offset: 17574}, - run: (*parser).callonNamedAttribute1, + pos: position{line: 635, col: 5, offset: 20082}, + run: (*parser).callonUnquotedAttributeValue1, expr: &seqExpr{ - pos: position{line: 559, col: 19, offset: 17574}, + pos: position{line: 635, col: 5, offset: 20082}, exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 559, col: 19, offset: 17574}, - label: "key", - expr: &actionExpr{ - pos: position{line: 564, col: 22, offset: 17885}, - run: (*parser).callonNamedAttribute4, - expr: &seqExpr{ - pos: position{line: 564, col: 22, offset: 17885}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 564, col: 22, offset: 17885}, - expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, - run: (*parser).callonNamedAttribute7, - expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &oneOrMoreExpr{ - pos: position{line: 564, col: 29, offset: 17892}, - expr: &charClassMatcher{ - pos: position{line: 564, col: 29, offset: 17892}, - val: "[^\\r\\n=,]]", - chars: []rune{'\r', '\n', '=', ',', ']'}, - ignoreCase: false, - inverted: true, - }, - }, - &zeroOrMoreExpr{ - pos: position{line: 564, col: 42, offset: 17905}, - expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, - run: (*parser).callonNamedAttribute12, - expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 559, col: 43, offset: 17598}, - val: "=", - ignoreCase: false, - want: "\"=\"", - }, - &zeroOrMoreExpr{ - pos: position{line: 559, col: 47, offset: 17602}, + ¬Expr{ + pos: position{line: 635, col: 5, offset: 20082}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, - run: (*parser).callonNamedAttribute16, + pos: position{line: 2838, col: 10, offset: 93169}, + run: (*parser).callonUnquotedAttributeValue4, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -17200,411 +12777,284 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 559, col: 54, offset: 17609}, - label: "value", - expr: &ruleRefExpr{ - pos: position{line: 559, col: 61, offset: 17616}, - name: "AttributeRawValue", - }, - }, - &zeroOrOneExpr{ - pos: position{line: 559, col: 80, offset: 17635}, - expr: &seqExpr{ - pos: position{line: 559, col: 81, offset: 17636}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 559, col: 81, offset: 17636}, - val: ",", - ignoreCase: false, - want: "\",\"", - }, - &zeroOrMoreExpr{ - pos: position{line: 559, col: 85, offset: 17640}, - expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, - run: (*parser).callonNamedAttribute24, + pos: position{line: 636, col: 5, offset: 20151}, + label: "elements", + expr: &oneOrMoreExpr{ + pos: position{line: 636, col: 14, offset: 20160}, + expr: &choiceExpr{ + pos: position{line: 637, col: 9, offset: 20170}, + alternatives: []interface{}{ + &ruleRefExpr{ + pos: position{line: 637, col: 9, offset: 20170}, + name: "Quote", + }, + &seqExpr{ + pos: position{line: 638, col: 12, offset: 20227}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 638, col: 12, offset: 20227}, + val: "[", + ignoreCase: false, + want: "\"[\"", + }, + &ruleRefExpr{ + pos: position{line: 638, col: 16, offset: 20231}, + name: "UnquotedAttributeValue", + }, + &litMatcher{ + pos: position{line: 638, col: 39, offset: 20254}, + val: "]", + ignoreCase: false, + want: "\"]\"", + }, + }, + }, + &actionExpr{ + pos: position{line: 640, col: 12, offset: 20353}, + run: (*parser).callonUnquotedAttributeValue14, + expr: &oneOrMoreExpr{ + pos: position{line: 640, col: 12, offset: 20353}, + expr: &charClassMatcher{ + pos: position{line: 640, col: 12, offset: 20353}, + val: "[^=,�]{ ]", + chars: []rune{'=', ',', '�', ']', '{', ' '}, + ignoreCase: false, + inverted: true, + }, + }, + }, + &actionExpr{ + pos: position{line: 2838, col: 10, offset: 93169}, + run: (*parser).callonUnquotedAttributeValue17, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, inverted: false, }, }, - }, - }, - }, - }, - }, - }, - }, - }, - { - name: "AttributeRawValue", - pos: position{line: 568, col: 1, offset: 17975}, - expr: &actionExpr{ - pos: position{line: 569, col: 5, offset: 18001}, - run: (*parser).callonAttributeRawValue1, - expr: &seqExpr{ - pos: position{line: 569, col: 5, offset: 18001}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 569, col: 5, offset: 18001}, - label: "value", - expr: &choiceExpr{ - pos: position{line: 570, col: 9, offset: 18017}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 579, col: 5, offset: 18226}, - run: (*parser).callonAttributeRawValue5, - expr: &seqExpr{ - pos: position{line: 579, col: 5, offset: 18226}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 579, col: 5, offset: 18226}, - val: "'", - ignoreCase: false, - want: "\"'\"", - }, - ¬Expr{ - pos: position{line: 579, col: 9, offset: 18230}, - expr: &litMatcher{ - pos: position{line: 579, col: 10, offset: 18231}, - val: "`", - ignoreCase: false, - want: "\"`\"", + &actionExpr{ + pos: position{line: 655, col: 5, offset: 20901}, + run: (*parser).callonUnquotedAttributeValue19, + expr: &seqExpr{ + pos: position{line: 655, col: 5, offset: 20901}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 655, col: 5, offset: 20901}, + run: (*parser).callonUnquotedAttributeValue21, }, - }, - &labeledExpr{ - pos: position{line: 580, col: 5, offset: 18310}, - label: "content", - expr: &actionExpr{ - pos: position{line: 586, col: 5, offset: 18447}, - run: (*parser).callonAttributeRawValue11, - expr: &labeledExpr{ - pos: position{line: 586, col: 5, offset: 18447}, - label: "elements", - expr: &oneOrMoreExpr{ - pos: position{line: 586, col: 14, offset: 18456}, - expr: &choiceExpr{ - pos: position{line: 587, col: 9, offset: 18466}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2856, col: 14, offset: 93755}, - run: (*parser).callonAttributeRawValue15, - expr: &oneOrMoreExpr{ - pos: position{line: 2856, col: 14, offset: 93755}, - expr: &charClassMatcher{ - pos: position{line: 2856, col: 14, offset: 93755}, - val: "[0-9\\pL]", - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, - run: (*parser).callonAttributeRawValue18, - expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + &labeledExpr{ + pos: position{line: 658, col: 5, offset: 20970}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 658, col: 14, offset: 20979}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 670, col: 25, offset: 21348}, + run: (*parser).callonUnquotedAttributeValue24, + expr: &seqExpr{ + pos: position{line: 670, col: 25, offset: 21348}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 670, col: 25, offset: 21348}, + val: "{counter:", ignoreCase: false, - inverted: false, + want: "\"{counter:\"", }, - }, - &actionExpr{ - pos: position{line: 649, col: 5, offset: 20887}, - run: (*parser).callonAttributeRawValue20, - expr: &seqExpr{ - pos: position{line: 649, col: 5, offset: 20887}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 649, col: 5, offset: 20887}, - run: (*parser).callonAttributeRawValue22, + &labeledExpr{ + pos: position{line: 670, col: 37, offset: 21360}, + label: "name", + expr: &actionExpr{ + pos: position{line: 336, col: 18, offset: 10325}, + run: (*parser).callonUnquotedAttributeValue28, + expr: &seqExpr{ + pos: position{line: 336, col: 18, offset: 10325}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 336, col: 18, offset: 10325}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 336, col: 28, offset: 10335}, + expr: &charClassMatcher{ + pos: position{line: 336, col: 29, offset: 10336}, + 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: 5, offset: 20951}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 652, col: 14, offset: 20960}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 663, col: 25, offset: 21324}, - run: (*parser).callonAttributeRawValue25, - expr: &seqExpr{ - pos: position{line: 663, col: 25, offset: 21324}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 663, col: 25, offset: 21324}, - val: "{counter:", - ignoreCase: false, - want: "\"{counter:\"", - }, - &labeledExpr{ - pos: position{line: 663, col: 37, offset: 21336}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonAttributeRawValue29, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 663, col: 56, offset: 21355}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 663, col: 62, offset: 21361}, - expr: &actionExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - run: (*parser).callonAttributeRawValue36, - expr: &seqExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 671, col: 17, offset: 21656}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 671, col: 21, offset: 21660}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - run: (*parser).callonAttributeRawValue41, - expr: &charClassMatcher{ - pos: position{line: 671, col: 28, offset: 21667}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - run: (*parser).callonAttributeRawValue43, - expr: &oneOrMoreExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - expr: &charClassMatcher{ - pos: position{line: 673, col: 9, offset: 21721}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 663, col: 78, offset: 21377}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, + }, + }, + &labeledExpr{ + pos: position{line: 670, col: 56, offset: 21379}, + label: "start", + expr: &zeroOrOneExpr{ + pos: position{line: 670, col: 62, offset: 21385}, + expr: &actionExpr{ + pos: position{line: 678, col: 17, offset: 21680}, + run: (*parser).callonUnquotedAttributeValue35, + expr: &seqExpr{ + pos: position{line: 678, col: 17, offset: 21680}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 678, col: 17, offset: 21680}, + val: ":", + ignoreCase: false, + want: "\":\"", }, - &actionExpr{ - pos: position{line: 667, col: 25, offset: 21495}, - run: (*parser).callonAttributeRawValue47, - expr: &seqExpr{ - pos: position{line: 667, col: 25, offset: 21495}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 667, col: 25, offset: 21495}, - val: "{counter2:", - ignoreCase: false, - want: "\"{counter2:\"", - }, - &labeledExpr{ - pos: position{line: 667, col: 38, offset: 21508}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonAttributeRawValue51, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, + &labeledExpr{ + pos: position{line: 678, col: 21, offset: 21684}, + label: "start", + expr: &choiceExpr{ + pos: position{line: 678, col: 28, offset: 21691}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 678, col: 28, offset: 21691}, + run: (*parser).callonUnquotedAttributeValue40, + expr: &charClassMatcher{ + pos: position{line: 678, col: 28, offset: 21691}, + val: "[A-Za-z]", + ranges: []rune{'A', 'Z', 'a', 'z'}, + ignoreCase: false, + inverted: false, }, }, - &labeledExpr{ - pos: position{line: 667, col: 57, offset: 21527}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 667, col: 63, offset: 21533}, - expr: &actionExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - run: (*parser).callonAttributeRawValue58, - expr: &seqExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 671, col: 17, offset: 21656}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 671, col: 21, offset: 21660}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - run: (*parser).callonAttributeRawValue63, - expr: &charClassMatcher{ - pos: position{line: 671, col: 28, offset: 21667}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - run: (*parser).callonAttributeRawValue65, - expr: &oneOrMoreExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - expr: &charClassMatcher{ - pos: position{line: 673, col: 9, offset: 21721}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, + &actionExpr{ + pos: position{line: 680, col: 9, offset: 21745}, + run: (*parser).callonUnquotedAttributeValue42, + expr: &oneOrMoreExpr{ + pos: position{line: 680, col: 9, offset: 21745}, + expr: &charClassMatcher{ + pos: position{line: 680, col: 9, offset: 21745}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, }, }, }, - &litMatcher{ - pos: position{line: 667, col: 79, offset: 21549}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, }, }, }, - &actionExpr{ - pos: position{line: 656, col: 31, offset: 21077}, - run: (*parser).callonAttributeRawValue69, - expr: &seqExpr{ - pos: position{line: 656, col: 31, offset: 21077}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 656, col: 31, offset: 21077}, - val: "{", - ignoreCase: false, - want: "\"{\"", + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 670, col: 78, offset: 21401}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 674, col: 25, offset: 21519}, + run: (*parser).callonUnquotedAttributeValue46, + expr: &seqExpr{ + pos: position{line: 674, col: 25, offset: 21519}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 674, col: 25, offset: 21519}, + val: "{counter2:", + ignoreCase: false, + want: "\"{counter2:\"", + }, + &labeledExpr{ + pos: position{line: 674, col: 38, offset: 21532}, + label: "name", + expr: &actionExpr{ + pos: position{line: 336, col: 18, offset: 10325}, + run: (*parser).callonUnquotedAttributeValue50, + expr: &seqExpr{ + pos: position{line: 336, col: 18, offset: 10325}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 336, col: 18, offset: 10325}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 336, col: 28, offset: 10335}, + expr: &charClassMatcher{ + pos: position{line: 336, col: 29, offset: 10336}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 674, col: 57, offset: 21551}, + label: "start", + expr: &zeroOrOneExpr{ + pos: position{line: 674, col: 63, offset: 21557}, + expr: &actionExpr{ + pos: position{line: 678, col: 17, offset: 21680}, + run: (*parser).callonUnquotedAttributeValue57, + expr: &seqExpr{ + pos: position{line: 678, col: 17, offset: 21680}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 678, col: 17, offset: 21680}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &labeledExpr{ + pos: position{line: 678, col: 21, offset: 21684}, + label: "start", + expr: &choiceExpr{ + pos: position{line: 678, col: 28, offset: 21691}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 678, col: 28, offset: 21691}, + run: (*parser).callonUnquotedAttributeValue62, + expr: &charClassMatcher{ + pos: position{line: 678, col: 28, offset: 21691}, + val: "[A-Za-z]", + ranges: []rune{'A', 'Z', 'a', 'z'}, + ignoreCase: false, + inverted: false, + }, }, - &labeledExpr{ - pos: position{line: 656, col: 35, offset: 21081}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonAttributeRawValue73, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, + &actionExpr{ + pos: position{line: 680, col: 9, offset: 21745}, + run: (*parser).callonUnquotedAttributeValue64, + expr: &oneOrMoreExpr{ + pos: position{line: 680, col: 9, offset: 21745}, + expr: &charClassMatcher{ + pos: position{line: 680, col: 9, offset: 21745}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, }, }, }, - &litMatcher{ - pos: position{line: 656, col: 54, offset: 21100}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, }, }, }, @@ -17613,52 +13063,67 @@ var g = &grammar{ }, }, }, - }, - &actionExpr{ - pos: position{line: 590, col: 12, offset: 18535}, - run: (*parser).callonAttributeRawValue79, - expr: &litMatcher{ - pos: position{line: 590, col: 12, offset: 18535}, - val: "\\'", + &litMatcher{ + pos: position{line: 674, col: 79, offset: 21573}, + val: "}", ignoreCase: false, - want: "\"\\\\'\"", + want: "\"}\"", }, }, - &litMatcher{ - pos: position{line: 593, col: 13, offset: 18637}, - val: "'`", - ignoreCase: false, - want: "\"'`\"", - }, - &litMatcher{ - pos: position{line: 593, col: 20, offset: 18644}, - val: "`'", - ignoreCase: false, - want: "\"`'\"", - }, - &actionExpr{ - pos: position{line: 593, col: 27, offset: 18651}, - run: (*parser).callonAttributeRawValue83, - expr: &litMatcher{ - pos: position{line: 593, col: 27, offset: 18651}, - val: "\\", + }, + }, + &actionExpr{ + pos: position{line: 663, col: 5, offset: 21092}, + run: (*parser).callonUnquotedAttributeValue68, + expr: &seqExpr{ + pos: position{line: 663, col: 5, offset: 21092}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 663, col: 5, offset: 21092}, + val: "{", ignoreCase: false, - want: "\"\\\\\"", + want: "\"{\"", }, - }, - &actionExpr{ - pos: position{line: 596, col: 12, offset: 18811}, - run: (*parser).callonAttributeRawValue85, - expr: &oneOrMoreExpr{ - pos: position{line: 596, col: 12, offset: 18811}, - expr: &charClassMatcher{ - pos: position{line: 596, col: 12, offset: 18811}, - val: "[^\\r\\n\\\\\\ ]", - chars: []rune{'\r', '\n', '\\', '\'', ' '}, - ignoreCase: false, - inverted: true, + &labeledExpr{ + pos: position{line: 663, col: 9, offset: 21096}, + label: "name", + expr: &actionExpr{ + pos: position{line: 336, col: 18, offset: 10325}, + run: (*parser).callonUnquotedAttributeValue72, + expr: &seqExpr{ + pos: position{line: 336, col: 18, offset: 10325}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 336, col: 18, offset: 10325}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 336, col: 28, offset: 10335}, + expr: &charClassMatcher{ + pos: position{line: 336, col: 29, offset: 10336}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, }, }, + &litMatcher{ + pos: position{line: 663, col: 28, offset: 21115}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, }, }, }, @@ -17666,58 +13131,149 @@ var g = &grammar{ }, }, }, - &litMatcher{ - pos: position{line: 581, col: 5, offset: 18361}, - val: "'", - ignoreCase: false, - want: "\"'\"", - }, }, }, + &litMatcher{ + pos: position{line: 645, col: 11, offset: 20527}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, }, - &actionExpr{ - pos: position{line: 604, col: 5, offset: 19046}, - run: (*parser).callonAttributeRawValue89, - expr: &seqExpr{ - pos: position{line: 604, col: 5, offset: 19046}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 604, col: 5, offset: 19046}, - val: "\"", - ignoreCase: false, - want: "\"\\\"\"", - }, - ¬Expr{ - pos: position{line: 604, col: 10, offset: 19051}, - expr: &litMatcher{ - pos: position{line: 604, col: 11, offset: 19052}, - val: "`", - ignoreCase: false, - want: "\"`\"", + }, + }, + }, + }, + }, + }, + }, + { + name: "CrossReference", + pos: position{line: 696, col: 1, offset: 22305}, + expr: &choiceExpr{ + pos: position{line: 696, col: 19, offset: 22323}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 698, col: 27, offset: 22399}, + run: (*parser).callonCrossReference2, + expr: &seqExpr{ + pos: position{line: 698, col: 27, offset: 22399}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 698, col: 27, offset: 22399}, + val: "<<", + ignoreCase: false, + want: "\"<<\"", + }, + &labeledExpr{ + pos: position{line: 698, col: 32, offset: 22404}, + label: "id", + expr: &actionExpr{ + pos: position{line: 2823, col: 7, offset: 92821}, + run: (*parser).callonCrossReference6, + expr: &oneOrMoreExpr{ + pos: position{line: 2823, col: 7, offset: 92821}, + expr: &charClassMatcher{ + pos: position{line: 2823, col: 7, offset: 92821}, + val: "[^[]<>,]", + chars: []rune{'[', ']', '<', '>', ','}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 698, col: 40, offset: 22412}, + expr: &actionExpr{ + pos: position{line: 2838, col: 10, offset: 93169}, + run: (*parser).callonCrossReference10, + expr: &charClassMatcher{ + pos: position{line: 2838, col: 11, offset: 93170}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &litMatcher{ + pos: position{line: 698, col: 47, offset: 22419}, + val: ",", + ignoreCase: false, + want: "\",\"", + }, + &labeledExpr{ + pos: position{line: 698, col: 51, offset: 22423}, + label: "label", + expr: &oneOrMoreExpr{ + pos: position{line: 708, col: 24, offset: 22824}, + expr: &choiceExpr{ + pos: position{line: 709, col: 5, offset: 22830}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 709, col: 6, offset: 22831}, + run: (*parser).callonCrossReference16, + expr: &seqExpr{ + pos: position{line: 709, col: 6, offset: 22831}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 709, col: 6, offset: 22831}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &oneOrMoreExpr{ + pos: position{line: 709, col: 14, offset: 22839}, + expr: &charClassMatcher{ + pos: position{line: 709, col: 14, offset: 22839}, + val: "[^\\r\\n{<>]", + chars: []rune{'\r', '\n', '{', '<', '>'}, + ignoreCase: false, + inverted: true, + }, + }, + }, }, }, - &labeledExpr{ - pos: position{line: 605, col: 5, offset: 19131}, - label: "content", - expr: &actionExpr{ - pos: position{line: 610, col: 5, offset: 19285}, - run: (*parser).callonAttributeRawValue95, - expr: &labeledExpr{ - pos: position{line: 610, col: 5, offset: 19285}, - label: "elements", - expr: &oneOrMoreExpr{ - pos: position{line: 610, col: 14, offset: 19294}, - expr: &choiceExpr{ - pos: position{line: 611, col: 9, offset: 19304}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2856, col: 14, offset: 93755}, - run: (*parser).callonAttributeRawValue99, - expr: &oneOrMoreExpr{ - pos: position{line: 2856, col: 14, offset: 93755}, + &actionExpr{ + pos: position{line: 663, col: 5, offset: 21092}, + run: (*parser).callonCrossReference21, + expr: &seqExpr{ + pos: position{line: 663, col: 5, offset: 21092}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 663, col: 5, offset: 21092}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + &labeledExpr{ + pos: position{line: 663, col: 9, offset: 21096}, + label: "name", + expr: &actionExpr{ + pos: position{line: 336, col: 18, offset: 10325}, + run: (*parser).callonCrossReference25, + expr: &seqExpr{ + pos: position{line: 336, col: 18, offset: 10325}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 336, col: 18, offset: 10325}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 336, col: 28, offset: 10335}, expr: &charClassMatcher{ - pos: position{line: 2856, col: 14, offset: 93755}, - val: "[0-9\\pL]", + pos: position{line: 336, col: 29, offset: 10336}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, ignoreCase: false, @@ -17725,126 +13281,302 @@ var g = &grammar{ }, }, }, - &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, - run: (*parser).callonAttributeRawValue102, - expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 649, col: 5, offset: 20887}, - run: (*parser).callonAttributeRawValue104, - expr: &seqExpr{ - pos: position{line: 649, col: 5, offset: 20887}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 649, col: 5, offset: 20887}, - run: (*parser).callonAttributeRawValue106, - }, - &labeledExpr{ - pos: position{line: 652, col: 5, offset: 20951}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 652, col: 14, offset: 20960}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 663, col: 25, offset: 21324}, - run: (*parser).callonAttributeRawValue109, - expr: &seqExpr{ - pos: position{line: 663, col: 25, offset: 21324}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 663, col: 25, offset: 21324}, - val: "{counter:", - ignoreCase: false, - want: "\"{counter:\"", - }, - &labeledExpr{ - pos: position{line: 663, col: 37, offset: 21336}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonAttributeRawValue113, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 663, col: 56, offset: 21355}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 663, col: 62, offset: 21361}, - expr: &actionExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - run: (*parser).callonAttributeRawValue120, - expr: &seqExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 671, col: 17, offset: 21656}, - val: ":", + }, + }, + }, + &litMatcher{ + pos: position{line: 663, col: 28, offset: 21115}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 713, col: 8, offset: 23065}, + run: (*parser).callonCrossReference31, + expr: &litMatcher{ + pos: position{line: 713, col: 8, offset: 23065}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 698, col: 79, offset: 22451}, + val: ">>", + ignoreCase: false, + want: "\">>\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 700, col: 9, offset: 22524}, + run: (*parser).callonCrossReference34, + expr: &seqExpr{ + pos: position{line: 700, col: 9, offset: 22524}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 700, col: 9, offset: 22524}, + val: "<<", + ignoreCase: false, + want: "\"<<\"", + }, + &labeledExpr{ + pos: position{line: 700, col: 14, offset: 22529}, + label: "id", + expr: &actionExpr{ + pos: position{line: 2823, col: 7, offset: 92821}, + run: (*parser).callonCrossReference38, + expr: &oneOrMoreExpr{ + pos: position{line: 2823, col: 7, offset: 92821}, + expr: &charClassMatcher{ + pos: position{line: 2823, col: 7, offset: 92821}, + val: "[^[]<>,]", + chars: []rune{'[', ']', '<', '>', ','}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 700, col: 22, offset: 22537}, + val: ">>", + ignoreCase: false, + want: "\">>\"", + }, + }, + }, + }, + &ruleRefExpr{ + pos: position{line: 696, col: 44, offset: 22348}, + name: "ExternalCrossReference", + }, + }, + }, + }, + { + name: "ExternalCrossReference", + pos: position{line: 704, col: 1, offset: 22608}, + expr: &actionExpr{ + pos: position{line: 704, col: 27, offset: 22634}, + run: (*parser).callonExternalCrossReference1, + expr: &seqExpr{ + pos: position{line: 704, col: 27, offset: 22634}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 704, col: 27, offset: 22634}, + val: "xref:", + ignoreCase: false, + want: "\"xref:\"", + }, + &labeledExpr{ + pos: position{line: 704, col: 35, offset: 22642}, + label: "url", + expr: &actionExpr{ + pos: position{line: 2788, col: 17, offset: 91588}, + run: (*parser).callonExternalCrossReference5, + expr: &labeledExpr{ + pos: position{line: 2788, col: 17, offset: 91588}, + label: "path", + expr: &oneOrMoreExpr{ + pos: position{line: 2788, col: 22, offset: 91593}, + expr: &choiceExpr{ + pos: position{line: 2788, col: 23, offset: 91594}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2806, col: 5, offset: 92211}, + run: (*parser).callonExternalCrossReference9, + expr: &seqExpr{ + pos: position{line: 2806, col: 5, offset: 92211}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 2806, col: 5, offset: 92211}, + expr: &litMatcher{ + pos: position{line: 2806, col: 6, offset: 92212}, + val: "[", + ignoreCase: false, + want: "\"[\"", + }, + }, + &labeledExpr{ + pos: position{line: 2807, col: 5, offset: 92236}, + label: "elements", + expr: &oneOrMoreExpr{ + pos: position{line: 2807, col: 14, offset: 92245}, + expr: &choiceExpr{ + pos: position{line: 2811, col: 9, offset: 92419}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2811, col: 9, offset: 92419}, + run: (*parser).callonExternalCrossReference16, + expr: &oneOrMoreExpr{ + pos: position{line: 2811, col: 9, offset: 92419}, + expr: &charClassMatcher{ + pos: position{line: 2811, col: 10, offset: 92420}, + val: "[^\\r\\n[]�{ ]", + chars: []rune{'\r', '\n', '[', ']', '�', '{', ' '}, + ignoreCase: false, + inverted: true, + }, + }, + }, + &seqExpr{ + pos: position{line: 2814, col: 11, offset: 92573}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2814, col: 11, offset: 92573}, + val: ".", + ignoreCase: false, + want: "\".\"", + }, + &andExpr{ + pos: position{line: 2814, col: 15, offset: 92577}, + expr: ¬Expr{ + pos: position{line: 2814, col: 17, offset: 92579}, + expr: &choiceExpr{ + pos: position{line: 2814, col: 19, offset: 92581}, + alternatives: []interface{}{ + ¬Expr{ + pos: position{line: 2851, col: 8, offset: 93443}, + expr: &anyMatcher{ + line: 2851, col: 9, offset: 93444, + }, + }, + &actionExpr{ + pos: position{line: 2838, col: 10, offset: 93169}, + run: (*parser).callonExternalCrossReference26, + expr: &charClassMatcher{ + pos: position{line: 2838, col: 11, offset: 93170}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 655, col: 5, offset: 20901}, + run: (*parser).callonExternalCrossReference28, + expr: &seqExpr{ + pos: position{line: 655, col: 5, offset: 20901}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 655, col: 5, offset: 20901}, + run: (*parser).callonExternalCrossReference30, + }, + &labeledExpr{ + pos: position{line: 658, col: 5, offset: 20970}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 658, col: 14, offset: 20979}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 670, col: 25, offset: 21348}, + run: (*parser).callonExternalCrossReference33, + expr: &seqExpr{ + pos: position{line: 670, col: 25, offset: 21348}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 670, col: 25, offset: 21348}, + val: "{counter:", + ignoreCase: false, + want: "\"{counter:\"", + }, + &labeledExpr{ + pos: position{line: 670, col: 37, offset: 21360}, + label: "name", + expr: &actionExpr{ + pos: position{line: 336, col: 18, offset: 10325}, + run: (*parser).callonExternalCrossReference37, + expr: &seqExpr{ + pos: position{line: 336, col: 18, offset: 10325}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 336, col: 18, offset: 10325}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, ignoreCase: false, - want: "\":\"", + inverted: false, }, - &labeledExpr{ - pos: position{line: 671, col: 21, offset: 21660}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - run: (*parser).callonAttributeRawValue125, - expr: &charClassMatcher{ - pos: position{line: 671, col: 28, offset: 21667}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - run: (*parser).callonAttributeRawValue127, - expr: &oneOrMoreExpr{ - pos: position{line: 673, col: 9, offset: 21721}, + &zeroOrMoreExpr{ + pos: position{line: 336, col: 28, offset: 10335}, + expr: &charClassMatcher{ + pos: position{line: 336, col: 29, offset: 10336}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 670, col: 56, offset: 21379}, + label: "start", + expr: &zeroOrOneExpr{ + pos: position{line: 670, col: 62, offset: 21385}, + expr: &actionExpr{ + pos: position{line: 678, col: 17, offset: 21680}, + run: (*parser).callonExternalCrossReference44, + expr: &seqExpr{ + pos: position{line: 678, col: 17, offset: 21680}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 678, col: 17, offset: 21680}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &labeledExpr{ + pos: position{line: 678, col: 21, offset: 21684}, + label: "start", + expr: &choiceExpr{ + pos: position{line: 678, col: 28, offset: 21691}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 678, col: 28, offset: 21691}, + run: (*parser).callonExternalCrossReference49, expr: &charClassMatcher{ - pos: position{line: 673, col: 9, offset: 21721}, - val: "[0-9]", - ranges: []rune{'0', '9'}, + pos: position{line: 678, col: 28, offset: 21691}, + val: "[A-Za-z]", + ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, inverted: false, }, }, + &actionExpr{ + pos: position{line: 680, col: 9, offset: 21745}, + run: (*parser).callonExternalCrossReference51, + expr: &oneOrMoreExpr{ + pos: position{line: 680, col: 9, offset: 21745}, + expr: &charClassMatcher{ + pos: position{line: 680, col: 9, offset: 21745}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, }, }, }, @@ -17853,109 +13585,109 @@ var g = &grammar{ }, }, }, - }, - &litMatcher{ - pos: position{line: 663, col: 78, offset: 21377}, - val: "}", - ignoreCase: false, - want: "\"}\"", + &litMatcher{ + pos: position{line: 670, col: 78, offset: 21401}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, }, }, }, - }, - &actionExpr{ - pos: position{line: 667, col: 25, offset: 21495}, - run: (*parser).callonAttributeRawValue131, - expr: &seqExpr{ - pos: position{line: 667, col: 25, offset: 21495}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 667, col: 25, offset: 21495}, - val: "{counter2:", - ignoreCase: false, - want: "\"{counter2:\"", - }, - &labeledExpr{ - pos: position{line: 667, col: 38, offset: 21508}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonAttributeRawValue135, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, + &actionExpr{ + pos: position{line: 674, col: 25, offset: 21519}, + run: (*parser).callonExternalCrossReference55, + expr: &seqExpr{ + pos: position{line: 674, col: 25, offset: 21519}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 674, col: 25, offset: 21519}, + val: "{counter2:", + ignoreCase: false, + want: "\"{counter2:\"", + }, + &labeledExpr{ + pos: position{line: 674, col: 38, offset: 21532}, + label: "name", + expr: &actionExpr{ + pos: position{line: 336, col: 18, offset: 10325}, + run: (*parser).callonExternalCrossReference59, + expr: &seqExpr{ + pos: position{line: 336, col: 18, offset: 10325}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 336, col: 18, offset: 10325}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, ignoreCase: false, inverted: false, }, + &zeroOrMoreExpr{ + pos: position{line: 336, col: 28, offset: 10335}, + expr: &charClassMatcher{ + pos: position{line: 336, col: 29, offset: 10336}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, }, }, }, }, - }, - &labeledExpr{ - pos: position{line: 667, col: 57, offset: 21527}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 667, col: 63, offset: 21533}, - expr: &actionExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - run: (*parser).callonAttributeRawValue142, - expr: &seqExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 671, col: 17, offset: 21656}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 671, col: 21, offset: 21660}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - run: (*parser).callonAttributeRawValue147, - expr: &charClassMatcher{ - pos: position{line: 671, col: 28, offset: 21667}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - run: (*parser).callonAttributeRawValue149, - expr: &oneOrMoreExpr{ - pos: position{line: 673, col: 9, offset: 21721}, + &labeledExpr{ + pos: position{line: 674, col: 57, offset: 21551}, + label: "start", + expr: &zeroOrOneExpr{ + pos: position{line: 674, col: 63, offset: 21557}, + expr: &actionExpr{ + pos: position{line: 678, col: 17, offset: 21680}, + run: (*parser).callonExternalCrossReference66, + expr: &seqExpr{ + pos: position{line: 678, col: 17, offset: 21680}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 678, col: 17, offset: 21680}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &labeledExpr{ + pos: position{line: 678, col: 21, offset: 21684}, + label: "start", + expr: &choiceExpr{ + pos: position{line: 678, col: 28, offset: 21691}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 678, col: 28, offset: 21691}, + run: (*parser).callonExternalCrossReference71, expr: &charClassMatcher{ - pos: position{line: 673, col: 9, offset: 21721}, - val: "[0-9]", - ranges: []rune{'0', '9'}, + pos: position{line: 678, col: 28, offset: 21691}, + val: "[A-Za-z]", + ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, inverted: false, }, }, + &actionExpr{ + pos: position{line: 680, col: 9, offset: 21745}, + run: (*parser).callonExternalCrossReference73, + expr: &oneOrMoreExpr{ + pos: position{line: 680, col: 9, offset: 21745}, + expr: &charClassMatcher{ + pos: position{line: 680, col: 9, offset: 21745}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, }, }, }, @@ -17964,67 +13696,67 @@ var g = &grammar{ }, }, }, - }, - &litMatcher{ - pos: position{line: 667, col: 79, offset: 21549}, - val: "}", - ignoreCase: false, - want: "\"}\"", + &litMatcher{ + pos: position{line: 674, col: 79, offset: 21573}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, }, }, }, - }, - &actionExpr{ - pos: position{line: 656, col: 31, offset: 21077}, - run: (*parser).callonAttributeRawValue153, - expr: &seqExpr{ - pos: position{line: 656, col: 31, offset: 21077}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 656, col: 31, offset: 21077}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - &labeledExpr{ - pos: position{line: 656, col: 35, offset: 21081}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonAttributeRawValue157, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, + &actionExpr{ + pos: position{line: 663, col: 5, offset: 21092}, + run: (*parser).callonExternalCrossReference77, + expr: &seqExpr{ + pos: position{line: 663, col: 5, offset: 21092}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 663, col: 5, offset: 21092}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + &labeledExpr{ + pos: position{line: 663, col: 9, offset: 21096}, + label: "name", + expr: &actionExpr{ + pos: position{line: 336, col: 18, offset: 10325}, + run: (*parser).callonExternalCrossReference81, + expr: &seqExpr{ + pos: position{line: 336, col: 18, offset: 10325}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 336, col: 18, offset: 10325}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, ignoreCase: false, inverted: false, }, + &zeroOrMoreExpr{ + pos: position{line: 336, col: 28, offset: 10335}, + expr: &charClassMatcher{ + pos: position{line: 336, col: 29, offset: 10336}, + 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: 54, offset: 21100}, - val: "}", - ignoreCase: false, - want: "\"}\"", + &litMatcher{ + pos: position{line: 663, col: 28, offset: 21115}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, }, }, }, @@ -18034,56 +13766,14 @@ var g = &grammar{ }, }, }, - }, - &actionExpr{ - pos: position{line: 614, col: 12, offset: 19373}, - run: (*parser).callonAttributeRawValue163, - expr: &litMatcher{ - pos: position{line: 614, col: 12, offset: 19373}, - val: "\\\"", - ignoreCase: false, - want: "\"\\\\\\\"\"", - }, - }, - &litMatcher{ - pos: position{line: 617, col: 13, offset: 19475}, - val: "\"`", - ignoreCase: false, - want: "\"\\\"`\"", - }, - &litMatcher{ - pos: position{line: 617, col: 21, offset: 19483}, - val: "`\"", - ignoreCase: false, - want: "\"`\\\"\"", - }, - &litMatcher{ - pos: position{line: 617, col: 29, offset: 19491}, - val: "\\", - ignoreCase: false, - want: "\"\\\\\"", - }, - &actionExpr{ - pos: position{line: 617, col: 35, offset: 19497}, - run: (*parser).callonAttributeRawValue168, - expr: &litMatcher{ - pos: position{line: 617, col: 35, offset: 19497}, - val: "`", - ignoreCase: false, - want: "\"`\"", - }, - }, - &actionExpr{ - pos: position{line: 620, col: 12, offset: 19680}, - run: (*parser).callonAttributeRawValue170, - expr: &oneOrMoreExpr{ - pos: position{line: 620, col: 12, offset: 19680}, - expr: &charClassMatcher{ - pos: position{line: 620, col: 12, offset: 19680}, - val: "[^\\r\\n\\\\\"` ]", - chars: []rune{'\r', '\n', '\\', '"', '`', ' '}, + &actionExpr{ + pos: position{line: 2817, col: 11, offset: 92665}, + run: (*parser).callonExternalCrossReference87, + expr: &litMatcher{ + pos: position{line: 2817, col: 11, offset: 92665}, + val: "{", ignoreCase: false, - inverted: true, + want: "\"{\"", }, }, }, @@ -18093,39 +13783,41 @@ var g = &grammar{ }, }, }, - &litMatcher{ - pos: position{line: 606, col: 5, offset: 19182}, - val: "\"", - ignoreCase: false, - want: "\"\\\"\"", - }, - &andExpr{ - pos: position{line: 606, col: 10, offset: 19187}, - expr: ¬Expr{ - pos: position{line: 606, col: 12, offset: 19189}, - expr: &seqExpr{ - pos: position{line: 606, col: 14, offset: 19191}, - exprs: []interface{}{ - &zeroOrMoreExpr{ - pos: position{line: 606, col: 14, offset: 19191}, - expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, - run: (*parser).callonAttributeRawValue178, + &actionExpr{ + pos: position{line: 1092, col: 23, offset: 33700}, + run: (*parser).callonExternalCrossReference89, + expr: &seqExpr{ + pos: position{line: 1092, col: 23, offset: 33700}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1090, col: 32, offset: 33668}, + val: "�", + ignoreCase: false, + want: "\"�\"", + }, + &labeledExpr{ + pos: position{line: 1092, col: 51, offset: 33728}, + label: "ref", + expr: &actionExpr{ + pos: position{line: 1092, col: 56, offset: 33733}, + run: (*parser).callonExternalCrossReference93, + expr: &oneOrMoreExpr{ + pos: position{line: 1092, col: 56, offset: 33733}, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 1092, col: 56, offset: 33733}, + val: "[0-9]", + ranges: []rune{'0', '9'}, ignoreCase: false, inverted: false, }, }, }, - &litMatcher{ - pos: position{line: 606, col: 21, offset: 19198}, - val: "=", - ignoreCase: false, - want: "\"=\"", - }, + }, + &litMatcher{ + pos: position{line: 1090, col: 32, offset: 33668}, + val: "�", + ignoreCase: false, + want: "\"�\"", }, }, }, @@ -18133,42 +13825,15 @@ var g = &grammar{ }, }, }, - &ruleRefExpr{ - pos: position{line: 572, col: 11, offset: 18099}, - name: "UnquotedAttributeRawValue", - }, }, }, }, - &andExpr{ - pos: position{line: 574, col: 5, offset: 18136}, - expr: ¬Expr{ - pos: position{line: 574, col: 7, offset: 18138}, - expr: &seqExpr{ - pos: position{line: 574, col: 9, offset: 18140}, - exprs: []interface{}{ - &zeroOrMoreExpr{ - pos: position{line: 574, col: 9, offset: 18140}, - expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, - run: (*parser).callonAttributeRawValue186, - expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &litMatcher{ - pos: position{line: 574, col: 16, offset: 18147}, - val: "=", - ignoreCase: false, - want: "\"=\"", - }, - }, - }, + &labeledExpr{ + pos: position{line: 704, col: 54, offset: 22661}, + label: "attributes", + expr: &ruleRefExpr{ + pos: position{line: 704, col: 66, offset: 22673}, + name: "InlineAttributes", }, }, }, @@ -18176,626 +13841,573 @@ var g = &grammar{ }, }, { - name: "UnquotedAttributeRawValue", - pos: position{line: 628, col: 1, offset: 19954}, + name: "MarkdownQuoteAttribution", + pos: position{line: 912, col: 1, offset: 28277}, expr: &actionExpr{ - pos: position{line: 631, col: 5, offset: 20141}, - run: (*parser).callonUnquotedAttributeRawValue1, + pos: position{line: 913, col: 5, offset: 28310}, + run: (*parser).callonMarkdownQuoteAttribution1, expr: &seqExpr{ - pos: position{line: 631, col: 5, offset: 20141}, + pos: position{line: 913, col: 5, offset: 28310}, exprs: []interface{}{ - ¬Expr{ - pos: position{line: 631, col: 5, offset: 20141}, - expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, - run: (*parser).callonUnquotedAttributeRawValue4, - expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, + &litMatcher{ + pos: position{line: 913, col: 5, offset: 28310}, + val: "-- ", + ignoreCase: false, + want: "\"-- \"", }, &labeledExpr{ - pos: position{line: 632, col: 5, offset: 20210}, - label: "elements", - expr: &oneOrMoreExpr{ - pos: position{line: 632, col: 14, offset: 20219}, - expr: &choiceExpr{ - pos: position{line: 633, col: 9, offset: 20229}, - alternatives: []interface{}{ - &seqExpr{ - pos: position{line: 633, col: 10, offset: 20230}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 633, col: 10, offset: 20230}, - val: "[", + pos: position{line: 913, col: 11, offset: 28316}, + label: "author", + expr: &actionExpr{ + pos: position{line: 913, col: 19, offset: 28324}, + run: (*parser).callonMarkdownQuoteAttribution5, + expr: &oneOrMoreExpr{ + pos: position{line: 913, col: 20, offset: 28325}, + expr: &charClassMatcher{ + pos: position{line: 913, col: 20, offset: 28325}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &choiceExpr{ + pos: position{line: 2854, col: 8, offset: 93493}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2847, col: 12, offset: 93353}, + run: (*parser).callonMarkdownQuoteAttribution9, + expr: &choiceExpr{ + pos: position{line: 2847, col: 13, offset: 93354}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2847, col: 13, offset: 93354}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 2847, col: 20, offset: 93361}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 2847, col: 29, offset: 93370}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 2851, col: 8, offset: 93443}, + expr: &anyMatcher{ + line: 2851, col: 9, offset: 93444, + }, + }, + }, + }, + }, + }, + }, + }, + { + name: "DocumentHeader", + pos: position{line: 985, col: 1, offset: 30276}, + expr: &actionExpr{ + pos: position{line: 986, col: 5, offset: 30299}, + run: (*parser).callonDocumentHeader1, + expr: &seqExpr{ + pos: position{line: 986, col: 5, offset: 30299}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 986, col: 5, offset: 30299}, + run: (*parser).callonDocumentHeader3, + }, + &zeroOrMoreExpr{ + pos: position{line: 989, col: 5, offset: 30360}, + expr: &actionExpr{ + pos: position{line: 689, col: 14, offset: 22046}, + run: (*parser).callonDocumentHeader5, + expr: &seqExpr{ + pos: position{line: 689, col: 14, offset: 22046}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 689, col: 14, offset: 22046}, + expr: ¬Expr{ + pos: position{line: 2851, col: 8, offset: 93443}, + expr: &anyMatcher{ + line: 2851, col: 9, offset: 93444, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 689, col: 19, offset: 22051}, + expr: &actionExpr{ + pos: position{line: 2838, col: 10, offset: 93169}, + run: (*parser).callonDocumentHeader11, + expr: &charClassMatcher{ + pos: position{line: 2838, col: 11, offset: 93170}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, ignoreCase: false, - want: "\"[\"", + inverted: false, }, - &ruleRefExpr{ - pos: position{line: 633, col: 14, offset: 20234}, - name: "UnquotedAttributeRawValue", + }, + }, + &choiceExpr{ + pos: position{line: 2854, col: 8, offset: 93493}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2847, col: 12, offset: 93353}, + run: (*parser).callonDocumentHeader14, + expr: &choiceExpr{ + pos: position{line: 2847, col: 13, offset: 93354}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2847, col: 13, offset: 93354}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 2847, col: 20, offset: 93361}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 2847, col: 29, offset: 93370}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, }, - &litMatcher{ - pos: position{line: 633, col: 40, offset: 20260}, - val: "]", - ignoreCase: false, - want: "\"]\"", + ¬Expr{ + pos: position{line: 2851, col: 8, offset: 93443}, + expr: &anyMatcher{ + line: 2851, col: 9, offset: 93444, + }, }, }, }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 990, col: 5, offset: 30410}, + label: "title", + expr: &actionExpr{ + pos: position{line: 998, col: 5, offset: 30718}, + run: (*parser).callonDocumentHeader22, + expr: &seqExpr{ + pos: position{line: 998, col: 5, offset: 30718}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 998, col: 5, offset: 30718}, + val: "=", + ignoreCase: false, + want: "\"=\"", + }, &actionExpr{ - pos: position{line: 1085, col: 23, offset: 33674}, - run: (*parser).callonUnquotedAttributeRawValue13, - expr: &seqExpr{ - pos: position{line: 1085, col: 23, offset: 33674}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 1083, col: 32, offset: 33642}, - val: "�", + pos: position{line: 2842, col: 11, offset: 93236}, + run: (*parser).callonDocumentHeader25, + expr: &oneOrMoreExpr{ + pos: position{line: 2842, col: 11, offset: 93236}, + expr: &charClassMatcher{ + pos: position{line: 2842, col: 12, offset: 93237}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &labeledExpr{ + pos: position{line: 998, col: 16, offset: 30729}, + label: "title", + expr: &actionExpr{ + pos: position{line: 2423, col: 17, offset: 80602}, + run: (*parser).callonDocumentHeader29, + expr: &oneOrMoreExpr{ + pos: position{line: 2423, col: 17, offset: 80602}, + expr: &charClassMatcher{ + pos: position{line: 2423, col: 17, offset: 80602}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, ignoreCase: false, - want: "\"�\"", + inverted: true, }, - &labeledExpr{ - pos: position{line: 1085, col: 51, offset: 33702}, - label: "ref", - expr: &actionExpr{ - pos: position{line: 1085, col: 56, offset: 33707}, - run: (*parser).callonUnquotedAttributeRawValue17, - expr: &oneOrMoreExpr{ - pos: position{line: 1085, col: 56, offset: 33707}, - expr: &charClassMatcher{ - pos: position{line: 1085, col: 56, offset: 33707}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, + }, + }, + }, + &choiceExpr{ + pos: position{line: 2854, col: 8, offset: 93493}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2847, col: 12, offset: 93353}, + run: (*parser).callonDocumentHeader33, + expr: &choiceExpr{ + pos: position{line: 2847, col: 13, offset: 93354}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2847, col: 13, offset: 93354}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 2847, col: 20, offset: 93361}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 2847, col: 29, offset: 93370}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", }, }, }, - &litMatcher{ - pos: position{line: 1083, col: 32, offset: 33642}, - val: "�", - ignoreCase: false, - want: "\"�\"", + }, + ¬Expr{ + pos: position{line: 2851, col: 8, offset: 93443}, + expr: &anyMatcher{ + line: 2851, col: 9, offset: 93444, }, }, }, }, - &actionExpr{ - pos: position{line: 649, col: 5, offset: 20887}, - run: (*parser).callonUnquotedAttributeRawValue21, - expr: &seqExpr{ - pos: position{line: 649, col: 5, offset: 20887}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 649, col: 5, offset: 20887}, - run: (*parser).callonUnquotedAttributeRawValue23, - }, - &labeledExpr{ - pos: position{line: 652, col: 5, offset: 20951}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 652, col: 14, offset: 20960}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 663, col: 25, offset: 21324}, - run: (*parser).callonUnquotedAttributeRawValue26, - expr: &seqExpr{ - pos: position{line: 663, col: 25, offset: 21324}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 663, col: 25, offset: 21324}, - val: "{counter:", - ignoreCase: false, - want: "\"{counter:\"", + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 991, col: 5, offset: 30434}, + label: "info", + expr: &zeroOrOneExpr{ + pos: position{line: 991, col: 10, offset: 30439}, + expr: &actionExpr{ + pos: position{line: 1003, col: 5, offset: 30823}, + run: (*parser).callonDocumentHeader42, + expr: &seqExpr{ + pos: position{line: 1003, col: 5, offset: 30823}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 1003, col: 5, offset: 30823}, + expr: &actionExpr{ + pos: position{line: 689, col: 14, offset: 22046}, + run: (*parser).callonDocumentHeader45, + expr: &seqExpr{ + pos: position{line: 689, col: 14, offset: 22046}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 689, col: 14, offset: 22046}, + expr: ¬Expr{ + pos: position{line: 2851, col: 8, offset: 93443}, + expr: &anyMatcher{ + line: 2851, col: 9, offset: 93444, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 689, col: 19, offset: 22051}, + expr: &actionExpr{ + pos: position{line: 2838, col: 10, offset: 93169}, + run: (*parser).callonDocumentHeader51, + expr: &charClassMatcher{ + pos: position{line: 2838, col: 11, offset: 93170}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 2854, col: 8, offset: 93493}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2847, col: 12, offset: 93353}, + run: (*parser).callonDocumentHeader54, + expr: &choiceExpr{ + pos: position{line: 2847, col: 13, offset: 93354}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2847, col: 13, offset: 93354}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 2847, col: 20, offset: 93361}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 2847, col: 29, offset: 93370}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, }, - &labeledExpr{ - pos: position{line: 663, col: 37, offset: 21336}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonUnquotedAttributeRawValue30, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, + }, + }, + ¬Expr{ + pos: position{line: 2851, col: 8, offset: 93443}, + expr: &anyMatcher{ + line: 2851, col: 9, offset: 93444, + }, + }, + }, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 1004, col: 5, offset: 30838}, + expr: &choiceExpr{ + pos: position{line: 1004, col: 6, offset: 30839}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2556, col: 22, offset: 84484}, + run: (*parser).callonDocumentHeader63, + expr: &seqExpr{ + pos: position{line: 2556, col: 22, offset: 84484}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2561, col: 31, offset: 84705}, + val: "//", + ignoreCase: false, + want: "\"//\"", + }, + ¬Expr{ + pos: position{line: 2561, col: 36, offset: 84710}, + expr: &litMatcher{ + pos: position{line: 2561, col: 37, offset: 84711}, + val: "//", + ignoreCase: false, + want: "\"//\"", + }, + }, + &labeledExpr{ + pos: position{line: 2556, col: 49, offset: 84511}, + label: "content", + expr: &actionExpr{ + pos: position{line: 2563, col: 29, offset: 84746}, + run: (*parser).callonDocumentHeader69, + expr: &zeroOrMoreExpr{ + pos: position{line: 2563, col: 29, offset: 84746}, + expr: &charClassMatcher{ + pos: position{line: 2563, col: 29, offset: 84746}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, }, }, - &labeledExpr{ - pos: position{line: 663, col: 56, offset: 21355}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 663, col: 62, offset: 21361}, - expr: &actionExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - run: (*parser).callonUnquotedAttributeRawValue37, - expr: &seqExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 671, col: 17, offset: 21656}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 671, col: 21, offset: 21660}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - run: (*parser).callonUnquotedAttributeRawValue42, - expr: &charClassMatcher{ - pos: position{line: 671, col: 28, offset: 21667}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - run: (*parser).callonUnquotedAttributeRawValue44, - expr: &oneOrMoreExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - expr: &charClassMatcher{ - pos: position{line: 673, col: 9, offset: 21721}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, + }, + }, + &choiceExpr{ + pos: position{line: 2854, col: 8, offset: 93493}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2847, col: 12, offset: 93353}, + run: (*parser).callonDocumentHeader73, + expr: &choiceExpr{ + pos: position{line: 2847, col: 13, offset: 93354}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2847, col: 13, offset: 93354}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 2847, col: 20, offset: 93361}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 2847, col: 29, offset: 93370}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", }, }, }, }, - &litMatcher{ - pos: position{line: 663, col: 78, offset: 21377}, - val: "}", - ignoreCase: false, - want: "\"}\"", + ¬Expr{ + pos: position{line: 2851, col: 8, offset: 93443}, + expr: &anyMatcher{ + line: 2851, col: 9, offset: 93444, + }, }, }, }, }, - &actionExpr{ - pos: position{line: 667, col: 25, offset: 21495}, - run: (*parser).callonUnquotedAttributeRawValue48, - expr: &seqExpr{ - pos: position{line: 667, col: 25, offset: 21495}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 667, col: 25, offset: 21495}, - val: "{counter2:", - ignoreCase: false, - want: "\"{counter2:\"", - }, - &labeledExpr{ - pos: position{line: 667, col: 38, offset: 21508}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonUnquotedAttributeRawValue52, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, + }, + }, + &actionExpr{ + pos: position{line: 792, col: 5, offset: 25151}, + run: (*parser).callonDocumentHeader80, + expr: &seqExpr{ + pos: position{line: 792, col: 5, offset: 25151}, + exprs: []interface{}{ + &actionExpr{ + pos: position{line: 748, col: 26, offset: 23928}, + run: (*parser).callonDocumentHeader82, + expr: &seqExpr{ + pos: position{line: 748, col: 26, offset: 23928}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 748, col: 26, offset: 23928}, + val: "////", + ignoreCase: false, + want: "\"////\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 748, col: 33, offset: 23935}, + expr: &actionExpr{ + pos: position{line: 2838, col: 10, offset: 93169}, + run: (*parser).callonDocumentHeader86, + expr: &charClassMatcher{ + pos: position{line: 2838, col: 11, offset: 93170}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, }, }, }, - }, - &labeledExpr{ - pos: position{line: 667, col: 57, offset: 21527}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 667, col: 63, offset: 21533}, - expr: &actionExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - run: (*parser).callonUnquotedAttributeRawValue59, - expr: &seqExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 671, col: 17, offset: 21656}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 671, col: 21, offset: 21660}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - run: (*parser).callonUnquotedAttributeRawValue64, - expr: &charClassMatcher{ - pos: position{line: 671, col: 28, offset: 21667}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - run: (*parser).callonUnquotedAttributeRawValue66, - expr: &oneOrMoreExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - expr: &charClassMatcher{ - pos: position{line: 673, col: 9, offset: 21721}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, + &choiceExpr{ + pos: position{line: 2854, col: 8, offset: 93493}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2847, col: 12, offset: 93353}, + run: (*parser).callonDocumentHeader89, + expr: &choiceExpr{ + pos: position{line: 2847, col: 13, offset: 93354}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2847, col: 13, offset: 93354}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 2847, col: 20, offset: 93361}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 2847, col: 29, offset: 93370}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", }, }, }, }, + ¬Expr{ + pos: position{line: 2851, col: 8, offset: 93443}, + expr: &anyMatcher{ + line: 2851, col: 9, offset: 93444, + }, + }, }, }, }, - &litMatcher{ - pos: position{line: 667, col: 79, offset: 21549}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, }, }, - }, - &actionExpr{ - pos: position{line: 656, col: 31, offset: 21077}, - run: (*parser).callonUnquotedAttributeRawValue70, - expr: &seqExpr{ - pos: position{line: 656, col: 31, offset: 21077}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 656, col: 31, offset: 21077}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - &labeledExpr{ - pos: position{line: 656, col: 35, offset: 21081}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonUnquotedAttributeRawValue74, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - 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: 54, offset: 21100}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 636, col: 12, offset: 20388}, - run: (*parser).callonUnquotedAttributeRawValue80, - expr: &oneOrMoreExpr{ - pos: position{line: 636, col: 12, offset: 20388}, - expr: &charClassMatcher{ - pos: position{line: 636, col: 12, offset: 20388}, - val: "[^=,�] ]", - chars: []rune{'=', ',', '�', ']', ' '}, - ignoreCase: false, - inverted: true, - }, - }, - }, - &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, - run: (*parser).callonUnquotedAttributeRawValue83, - expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - { - name: "CrossReference", - pos: position{line: 689, col: 1, offset: 22281}, - expr: &choiceExpr{ - pos: position{line: 689, col: 19, offset: 22299}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 691, col: 27, offset: 22375}, - run: (*parser).callonCrossReference2, - expr: &seqExpr{ - pos: position{line: 691, col: 27, offset: 22375}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 691, col: 27, offset: 22375}, - val: "<<", - ignoreCase: false, - want: "\"<<\"", - }, - &labeledExpr{ - pos: position{line: 691, col: 32, offset: 22380}, - label: "id", - expr: &actionExpr{ - pos: position{line: 2913, col: 7, offset: 95667}, - run: (*parser).callonCrossReference6, - expr: &oneOrMoreExpr{ - pos: position{line: 2913, col: 7, offset: 95667}, - expr: &charClassMatcher{ - pos: position{line: 2913, col: 7, offset: 95667}, - val: "[^[]<>,]", - chars: []rune{'[', ']', '<', '>', ','}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - &zeroOrMoreExpr{ - pos: position{line: 691, col: 40, offset: 22388}, - expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, - run: (*parser).callonCrossReference10, - expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &litMatcher{ - pos: position{line: 691, col: 47, offset: 22395}, - val: ",", - ignoreCase: false, - want: "\",\"", - }, - &labeledExpr{ - pos: position{line: 691, col: 51, offset: 22399}, - label: "label", - expr: &oneOrMoreExpr{ - pos: position{line: 701, col: 24, offset: 22800}, - expr: &choiceExpr{ - pos: position{line: 702, col: 5, offset: 22806}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 702, col: 6, offset: 22807}, - run: (*parser).callonCrossReference16, - expr: &seqExpr{ - pos: position{line: 702, col: 6, offset: 22807}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 702, col: 6, offset: 22807}, - val: "[0-9\\pL]", - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &oneOrMoreExpr{ - pos: position{line: 702, col: 14, offset: 22815}, - expr: &charClassMatcher{ - pos: position{line: 702, col: 14, offset: 22815}, - val: "[^\\r\\n{<>]", - chars: []rune{'\r', '\n', '{', '<', '>'}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 649, col: 5, offset: 20887}, - run: (*parser).callonCrossReference21, - expr: &seqExpr{ - pos: position{line: 649, col: 5, offset: 20887}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 649, col: 5, offset: 20887}, - run: (*parser).callonCrossReference23, - }, - &labeledExpr{ - pos: position{line: 652, col: 5, offset: 20951}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 652, col: 14, offset: 20960}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 663, col: 25, offset: 21324}, - run: (*parser).callonCrossReference26, - expr: &seqExpr{ - pos: position{line: 663, col: 25, offset: 21324}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 663, col: 25, offset: 21324}, - val: "{counter:", - ignoreCase: false, - want: "\"{counter:\"", - }, - &labeledExpr{ - pos: position{line: 663, col: 37, offset: 21336}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonCrossReference30, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 663, col: 56, offset: 21355}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 663, col: 62, offset: 21361}, - expr: &actionExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - run: (*parser).callonCrossReference37, - expr: &seqExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 671, col: 17, offset: 21656}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 671, col: 21, offset: 21660}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - run: (*parser).callonCrossReference42, + &labeledExpr{ + pos: position{line: 793, col: 5, offset: 25182}, + label: "content", + expr: &zeroOrMoreExpr{ + pos: position{line: 804, col: 5, offset: 25506}, + expr: &actionExpr{ + pos: position{line: 804, col: 6, offset: 25507}, + run: (*parser).callonDocumentHeader98, + expr: &seqExpr{ + pos: position{line: 804, col: 6, offset: 25507}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 804, col: 6, offset: 25507}, + expr: &choiceExpr{ + pos: position{line: 801, col: 29, offset: 25449}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 748, col: 26, offset: 23928}, + run: (*parser).callonDocumentHeader102, + expr: &seqExpr{ + pos: position{line: 748, col: 26, offset: 23928}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 748, col: 26, offset: 23928}, + val: "////", + ignoreCase: false, + want: "\"////\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 748, col: 33, offset: 23935}, + expr: &actionExpr{ + pos: position{line: 2838, col: 10, offset: 93169}, + run: (*parser).callonDocumentHeader106, expr: &charClassMatcher{ - pos: position{line: 671, col: 28, offset: 21667}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, + pos: position{line: 2838, col: 11, offset: 93170}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, ignoreCase: false, inverted: false, }, }, - &actionExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - run: (*parser).callonCrossReference44, - expr: &oneOrMoreExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - expr: &charClassMatcher{ - pos: position{line: 673, col: 9, offset: 21721}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, + }, + &choiceExpr{ + pos: position{line: 2854, col: 8, offset: 93493}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2847, col: 12, offset: 93353}, + run: (*parser).callonDocumentHeader109, + expr: &choiceExpr{ + pos: position{line: 2847, col: 13, offset: 93354}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2847, col: 13, offset: 93354}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 2847, col: 20, offset: 93361}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 2847, col: 29, offset: 93370}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 2851, col: 8, offset: 93443}, + expr: &anyMatcher{ + line: 2851, col: 9, offset: 93444, }, }, }, @@ -18803,114 +14415,87 @@ var g = &grammar{ }, }, }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 663, col: 78, offset: 21377}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 667, col: 25, offset: 21495}, - run: (*parser).callonCrossReference48, - expr: &seqExpr{ - pos: position{line: 667, col: 25, offset: 21495}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 667, col: 25, offset: 21495}, - val: "{counter2:", - ignoreCase: false, - want: "\"{counter2:\"", - }, - &labeledExpr{ - pos: position{line: 667, col: 38, offset: 21508}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonCrossReference52, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, + ¬Expr{ + pos: position{line: 2851, col: 8, offset: 93443}, + expr: &anyMatcher{ + line: 2851, col: 9, offset: 93444, }, }, }, }, }, - }, - &labeledExpr{ - pos: position{line: 667, col: 57, offset: 21527}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 667, col: 63, offset: 21533}, + &labeledExpr{ + pos: position{line: 805, col: 5, offset: 25537}, + label: "line", expr: &actionExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - run: (*parser).callonCrossReference59, + pos: position{line: 781, col: 5, offset: 24846}, + run: (*parser).callonDocumentHeader119, expr: &seqExpr{ - pos: position{line: 671, col: 17, offset: 21656}, + pos: position{line: 781, col: 5, offset: 24846}, exprs: []interface{}{ - &litMatcher{ - pos: position{line: 671, col: 17, offset: 21656}, - val: ":", - ignoreCase: false, - want: "\":\"", + ¬Expr{ + pos: position{line: 781, col: 5, offset: 24846}, + expr: ¬Expr{ + pos: position{line: 2851, col: 8, offset: 93443}, + expr: &anyMatcher{ + line: 2851, col: 9, offset: 93444, + }, + }, }, &labeledExpr{ - pos: position{line: 671, col: 21, offset: 21660}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - run: (*parser).callonCrossReference64, - expr: &charClassMatcher{ - pos: position{line: 671, col: 28, offset: 21667}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, + pos: position{line: 782, col: 5, offset: 24919}, + label: "content", + expr: &actionExpr{ + pos: position{line: 782, col: 14, offset: 24928}, + run: (*parser).callonDocumentHeader125, + expr: &zeroOrMoreExpr{ + pos: position{line: 782, col: 14, offset: 24928}, + expr: &charClassMatcher{ + pos: position{line: 782, col: 14, offset: 24928}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, }, - &actionExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - run: (*parser).callonCrossReference66, - expr: &oneOrMoreExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - expr: &charClassMatcher{ - pos: position{line: 673, col: 9, offset: 21721}, - val: "[0-9]", - ranges: []rune{'0', '9'}, + }, + }, + }, + &choiceExpr{ + pos: position{line: 2854, col: 8, offset: 93493}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2847, col: 12, offset: 93353}, + run: (*parser).callonDocumentHeader129, + expr: &choiceExpr{ + pos: position{line: 2847, col: 13, offset: 93354}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2847, col: 13, offset: 93354}, + val: "\n", ignoreCase: false, - inverted: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 2847, col: 20, offset: 93361}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 2847, col: 29, offset: 93370}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", }, }, }, }, + ¬Expr{ + pos: position{line: 2851, col: 8, offset: 93443}, + expr: &anyMatcher{ + line: 2851, col: 9, offset: 93444, + }, + }, }, }, }, @@ -18918,66 +14503,86 @@ var g = &grammar{ }, }, }, - &litMatcher{ - pos: position{line: 667, col: 79, offset: 21549}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, }, }, }, - &actionExpr{ - pos: position{line: 656, col: 31, offset: 21077}, - run: (*parser).callonCrossReference70, - expr: &seqExpr{ - pos: position{line: 656, col: 31, offset: 21077}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 656, col: 31, offset: 21077}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - &labeledExpr{ - pos: position{line: 656, col: 35, offset: 21081}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonCrossReference74, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, + }, + &zeroOrOneExpr{ + pos: position{line: 794, col: 5, offset: 25216}, + expr: &choiceExpr{ + pos: position{line: 801, col: 29, offset: 25449}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 748, col: 26, offset: 23928}, + run: (*parser).callonDocumentHeader138, + expr: &seqExpr{ + pos: position{line: 748, col: 26, offset: 23928}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 748, col: 26, offset: 23928}, + val: "////", + ignoreCase: false, + want: "\"////\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 748, col: 33, offset: 23935}, + expr: &actionExpr{ + pos: position{line: 2838, col: 10, offset: 93169}, + run: (*parser).callonDocumentHeader142, + expr: &charClassMatcher{ + pos: position{line: 2838, col: 11, offset: 93170}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, ignoreCase: false, inverted: false, }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, + }, + }, + &choiceExpr{ + pos: position{line: 2854, col: 8, offset: 93493}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2847, col: 12, offset: 93353}, + run: (*parser).callonDocumentHeader145, + expr: &choiceExpr{ + pos: position{line: 2847, col: 13, offset: 93354}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2847, col: 13, offset: 93354}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 2847, col: 20, offset: 93361}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 2847, col: 29, offset: 93370}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 2851, col: 8, offset: 93443}, + expr: &anyMatcher{ + line: 2851, col: 9, offset: 93444, }, }, }, }, }, }, - &litMatcher{ - pos: position{line: 656, col: 54, offset: 21100}, - val: "}", - ignoreCase: false, - want: "\"}\"", + }, + ¬Expr{ + pos: position{line: 2851, col: 8, offset: 93443}, + expr: &anyMatcher{ + line: 2851, col: 9, offset: 93444, }, }, }, @@ -18988,185 +14593,174 @@ var g = &grammar{ }, }, }, - &actionExpr{ - pos: position{line: 706, col: 8, offset: 23039}, - run: (*parser).callonCrossReference80, - expr: &litMatcher{ - pos: position{line: 706, col: 8, offset: 23039}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 691, col: 79, offset: 22427}, - val: ">>", - ignoreCase: false, - want: "\">>\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 693, col: 9, offset: 22500}, - run: (*parser).callonCrossReference83, - expr: &seqExpr{ - pos: position{line: 693, col: 9, offset: 22500}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 693, col: 9, offset: 22500}, - val: "<<", - ignoreCase: false, - want: "\"<<\"", - }, - &labeledExpr{ - pos: position{line: 693, col: 14, offset: 22505}, - label: "id", - expr: &actionExpr{ - pos: position{line: 2913, col: 7, offset: 95667}, - run: (*parser).callonCrossReference87, - expr: &oneOrMoreExpr{ - pos: position{line: 2913, col: 7, offset: 95667}, - expr: &charClassMatcher{ - pos: position{line: 2913, col: 7, offset: 95667}, - val: "[^[]<>,]", - chars: []rune{'[', ']', '<', '>', ','}, - ignoreCase: false, - inverted: true, }, - }, - }, - }, - &litMatcher{ - pos: position{line: 693, col: 22, offset: 22513}, - val: ">>", - ignoreCase: false, - want: "\">>\"", - }, - }, - }, - }, - &ruleRefExpr{ - pos: position{line: 689, col: 44, offset: 22324}, - name: "ExternalCrossReference", - }, - }, - }, - }, - { - name: "ExternalCrossReference", - pos: position{line: 697, col: 1, offset: 22584}, - expr: &actionExpr{ - pos: position{line: 697, col: 27, offset: 22610}, - run: (*parser).callonExternalCrossReference1, - expr: &seqExpr{ - pos: position{line: 697, col: 27, offset: 22610}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 697, col: 27, offset: 22610}, - val: "xref:", - ignoreCase: false, - want: "\"xref:\"", - }, - &labeledExpr{ - pos: position{line: 697, col: 35, offset: 22618}, - label: "url", - expr: &actionExpr{ - pos: position{line: 2887, col: 17, offset: 94829}, - run: (*parser).callonExternalCrossReference5, - expr: &labeledExpr{ - pos: position{line: 2887, col: 17, offset: 94829}, - label: "path", - expr: &oneOrMoreExpr{ - pos: position{line: 2887, col: 22, offset: 94834}, - expr: &choiceExpr{ - pos: position{line: 2887, col: 23, offset: 94835}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2899, col: 13, offset: 95239}, - run: (*parser).callonExternalCrossReference9, - expr: &labeledExpr{ - pos: position{line: 2899, col: 13, offset: 95239}, - label: "elements", - expr: &oneOrMoreExpr{ - pos: position{line: 2899, col: 22, offset: 95248}, - expr: &choiceExpr{ - pos: position{line: 2900, col: 5, offset: 95254}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2900, col: 5, offset: 95254}, - run: (*parser).callonExternalCrossReference13, - expr: &oneOrMoreExpr{ - pos: position{line: 2900, col: 5, offset: 95254}, - expr: &charClassMatcher{ - pos: position{line: 2900, col: 6, offset: 95255}, - val: "[^\\r\\n[]�&<>{ ]", - chars: []rune{'\r', '\n', '[', ']', '�', '&', '<', '>', '{', ' '}, - ignoreCase: false, - inverted: true, - }, - }, + &labeledExpr{ + pos: position{line: 1005, col: 5, offset: 30913}, + label: "authors", + expr: &actionExpr{ + pos: position{line: 1011, col: 20, offset: 31163}, + run: (*parser).callonDocumentHeader155, + expr: &seqExpr{ + pos: position{line: 1011, col: 20, offset: 31163}, + exprs: []interface{}{ + &zeroOrMoreExpr{ + pos: position{line: 1011, col: 20, offset: 31163}, + expr: &actionExpr{ + pos: position{line: 2838, col: 10, offset: 93169}, + run: (*parser).callonDocumentHeader158, + expr: &charClassMatcher{ + pos: position{line: 2838, col: 11, offset: 93170}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, }, - &actionExpr{ - pos: position{line: 649, col: 5, offset: 20887}, - run: (*parser).callonExternalCrossReference16, - expr: &seqExpr{ - pos: position{line: 649, col: 5, offset: 20887}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 649, col: 5, offset: 20887}, - run: (*parser).callonExternalCrossReference18, - }, - &labeledExpr{ - pos: position{line: 652, col: 5, offset: 20951}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 652, col: 14, offset: 20960}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 663, col: 25, offset: 21324}, - run: (*parser).callonExternalCrossReference21, + }, + }, + &labeledExpr{ + pos: position{line: 1011, col: 27, offset: 31170}, + label: "authors", + expr: &choiceExpr{ + pos: position{line: 1011, col: 36, offset: 31179}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 1015, col: 30, offset: 31299}, + run: (*parser).callonDocumentHeader162, + expr: &seqExpr{ + pos: position{line: 1015, col: 30, offset: 31299}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 1015, col: 30, offset: 31299}, + expr: &litMatcher{ + pos: position{line: 1015, col: 31, offset: 31300}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + }, + &labeledExpr{ + pos: position{line: 1015, col: 35, offset: 31304}, + label: "authors", + expr: &oneOrMoreExpr{ + pos: position{line: 1015, col: 44, offset: 31313}, + expr: &actionExpr{ + pos: position{line: 1024, col: 5, offset: 31545}, + run: (*parser).callonDocumentHeader168, expr: &seqExpr{ - pos: position{line: 663, col: 25, offset: 21324}, + pos: position{line: 1024, col: 5, offset: 31545}, exprs: []interface{}{ - &litMatcher{ - pos: position{line: 663, col: 25, offset: 21324}, - val: "{counter:", - ignoreCase: false, - want: "\"{counter:\"", - }, &labeledExpr{ - pos: position{line: 663, col: 37, offset: 21336}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonExternalCrossReference25, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, + pos: position{line: 1024, col: 5, offset: 31545}, + label: "fullName", + expr: &zeroOrOneExpr{ + pos: position{line: 1024, col: 14, offset: 31554}, + expr: &actionExpr{ + pos: position{line: 1035, col: 5, offset: 31934}, + run: (*parser).callonDocumentHeader172, + expr: &seqExpr{ + pos: position{line: 1035, col: 5, offset: 31934}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1035, col: 5, offset: 31934}, + label: "part1", + expr: &actionExpr{ + pos: position{line: 1035, col: 12, offset: 31941}, + run: (*parser).callonDocumentHeader175, + expr: &oneOrMoreExpr{ + pos: position{line: 1035, col: 12, offset: 31941}, + expr: &charClassMatcher{ + pos: position{line: 1035, col: 12, offset: 31941}, + val: "[^<;\\r\\n ]", + chars: []rune{'<', ';', '\r', '\n', ' '}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 1038, col: 5, offset: 32021}, + expr: &actionExpr{ + pos: position{line: 2838, col: 10, offset: 93169}, + run: (*parser).callonDocumentHeader179, + expr: &charClassMatcher{ + pos: position{line: 2838, col: 11, offset: 93170}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1039, col: 5, offset: 32032}, + label: "part2", + expr: &zeroOrOneExpr{ + pos: position{line: 1039, col: 11, offset: 32038}, + expr: &actionExpr{ + pos: position{line: 1039, col: 12, offset: 32039}, + run: (*parser).callonDocumentHeader183, + expr: &oneOrMoreExpr{ + pos: position{line: 1039, col: 12, offset: 32039}, + expr: &charClassMatcher{ + pos: position{line: 1039, col: 12, offset: 32039}, + val: "[^<;\\r\\n ]", + chars: []rune{'<', ';', '\r', '\n', ' '}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 1042, col: 5, offset: 32120}, + expr: &actionExpr{ + pos: position{line: 2838, col: 10, offset: 93169}, + run: (*parser).callonDocumentHeader187, + expr: &charClassMatcher{ + pos: position{line: 2838, col: 11, offset: 93170}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1043, col: 5, offset: 32131}, + label: "part3", + expr: &zeroOrOneExpr{ + pos: position{line: 1043, col: 11, offset: 32137}, + expr: &actionExpr{ + pos: position{line: 1043, col: 12, offset: 32138}, + run: (*parser).callonDocumentHeader191, + expr: &oneOrMoreExpr{ + pos: position{line: 1043, col: 12, offset: 32138}, + expr: &charClassMatcher{ + pos: position{line: 1043, col: 12, offset: 32138}, + val: "[^<;\\r\\n]", + chars: []rune{'<', ';', '\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 1046, col: 5, offset: 32217}, + expr: &actionExpr{ + pos: position{line: 2838, col: 10, offset: 93169}, + run: (*parser).callonDocumentHeader195, + expr: &charClassMatcher{ + pos: position{line: 2838, col: 11, offset: 93170}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, }, }, }, @@ -19174,234 +14768,358 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 663, col: 56, offset: 21355}, - label: "start", + pos: position{line: 1024, col: 40, offset: 31580}, + label: "email", expr: &zeroOrOneExpr{ - pos: position{line: 663, col: 62, offset: 21361}, + pos: position{line: 1024, col: 46, offset: 31586}, expr: &actionExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - run: (*parser).callonExternalCrossReference32, + pos: position{line: 1052, col: 5, offset: 32339}, + run: (*parser).callonDocumentHeader199, expr: &seqExpr{ - pos: position{line: 671, col: 17, offset: 21656}, + pos: position{line: 1052, col: 5, offset: 32339}, exprs: []interface{}{ + ¬Expr{ + pos: position{line: 1052, col: 5, offset: 32339}, + expr: ¬Expr{ + pos: position{line: 2851, col: 8, offset: 93443}, + expr: &anyMatcher{ + line: 2851, col: 9, offset: 93444, + }, + }, + }, &litMatcher{ - pos: position{line: 671, col: 17, offset: 21656}, - val: ":", + pos: position{line: 1053, col: 5, offset: 32349}, + val: "<", ignoreCase: false, - want: "\":\"", + want: "\"<\"", }, &labeledExpr{ - pos: position{line: 671, col: 21, offset: 21660}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - run: (*parser).callonExternalCrossReference37, - expr: &charClassMatcher{ - pos: position{line: 671, col: 28, offset: 21667}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - run: (*parser).callonExternalCrossReference39, - expr: &oneOrMoreExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - expr: &charClassMatcher{ - pos: position{line: 673, col: 9, offset: 21721}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, + pos: position{line: 1054, col: 5, offset: 32358}, + label: "email", + expr: &actionExpr{ + pos: position{line: 1054, col: 12, offset: 32365}, + run: (*parser).callonDocumentHeader206, + expr: &oneOrMoreExpr{ + pos: position{line: 1054, col: 13, offset: 32366}, + expr: &charClassMatcher{ + pos: position{line: 1054, col: 13, offset: 32366}, + val: "[^>\\r\\n]", + chars: []rune{'>', '\r', '\n'}, + ignoreCase: false, + inverted: true, }, }, }, }, + &litMatcher{ + pos: position{line: 1057, col: 5, offset: 32426}, + val: ">", + ignoreCase: false, + want: "\">\"", + }, }, }, }, }, }, - &litMatcher{ - pos: position{line: 663, col: 78, offset: 21377}, - val: "}", - ignoreCase: false, - want: "\"}\"", + &zeroOrMoreExpr{ + pos: position{line: 1024, col: 69, offset: 31609}, + expr: &actionExpr{ + pos: position{line: 2838, col: 10, offset: 93169}, + run: (*parser).callonDocumentHeader211, + expr: &charClassMatcher{ + pos: position{line: 2838, col: 11, offset: 93170}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &zeroOrOneExpr{ + pos: position{line: 1024, col: 76, offset: 31616}, + expr: &litMatcher{ + pos: position{line: 1024, col: 76, offset: 31616}, + val: ";", + ignoreCase: false, + want: "\";\"", + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 1024, col: 81, offset: 31621}, + expr: &actionExpr{ + pos: position{line: 2838, col: 10, offset: 93169}, + run: (*parser).callonDocumentHeader216, + expr: &charClassMatcher{ + pos: position{line: 2838, col: 11, offset: 93170}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 1025, col: 5, offset: 31633}, + run: (*parser).callonDocumentHeader218, }, }, }, }, - &actionExpr{ - pos: position{line: 667, col: 25, offset: 21495}, - run: (*parser).callonExternalCrossReference43, - expr: &seqExpr{ - pos: position{line: 667, col: 25, offset: 21495}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 667, col: 25, offset: 21495}, - val: "{counter2:", - ignoreCase: false, - want: "\"{counter2:\"", - }, - &labeledExpr{ - pos: position{line: 667, col: 38, offset: 21508}, - label: "name", + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1019, col: 33, offset: 31431}, + run: (*parser).callonDocumentHeader219, + expr: &seqExpr{ + pos: position{line: 1019, col: 33, offset: 31431}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1019, col: 33, offset: 31431}, + val: ":author:", + ignoreCase: false, + want: "\":author:\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 1019, col: 44, offset: 31442}, + expr: &actionExpr{ + pos: position{line: 2838, col: 10, offset: 93169}, + run: (*parser).callonDocumentHeader223, + expr: &charClassMatcher{ + pos: position{line: 2838, col: 11, offset: 93170}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1019, col: 51, offset: 31449}, + label: "author", + expr: &actionExpr{ + pos: position{line: 1024, col: 5, offset: 31545}, + run: (*parser).callonDocumentHeader226, + expr: &seqExpr{ + pos: position{line: 1024, col: 5, offset: 31545}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1024, col: 5, offset: 31545}, + label: "fullName", + expr: &zeroOrOneExpr{ + pos: position{line: 1024, col: 14, offset: 31554}, expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonExternalCrossReference47, + pos: position{line: 1035, col: 5, offset: 31934}, + run: (*parser).callonDocumentHeader230, expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 1035, col: 5, offset: 31934}, exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, + &labeledExpr{ + pos: position{line: 1035, col: 5, offset: 31934}, + label: "part1", + expr: &actionExpr{ + pos: position{line: 1035, col: 12, offset: 31941}, + run: (*parser).callonDocumentHeader233, + expr: &oneOrMoreExpr{ + pos: position{line: 1035, col: 12, offset: 31941}, + expr: &charClassMatcher{ + pos: position{line: 1035, col: 12, offset: 31941}, + val: "[^<;\\r\\n ]", + chars: []rune{'<', ';', '\r', '\n', ' '}, + ignoreCase: false, + inverted: true, + }, + }, + }, }, &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, + pos: position{line: 1038, col: 5, offset: 32021}, + expr: &actionExpr{ + pos: position{line: 2838, col: 10, offset: 93169}, + run: (*parser).callonDocumentHeader237, + expr: &charClassMatcher{ + pos: position{line: 2838, col: 11, offset: 93170}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, }, }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 667, col: 57, offset: 21527}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 667, col: 63, offset: 21533}, - expr: &actionExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - run: (*parser).callonExternalCrossReference54, - expr: &seqExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 671, col: 17, offset: 21656}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 671, col: 21, offset: 21660}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - run: (*parser).callonExternalCrossReference59, - expr: &charClassMatcher{ - pos: position{line: 671, col: 28, offset: 21667}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, + &labeledExpr{ + pos: position{line: 1039, col: 5, offset: 32032}, + label: "part2", + expr: &zeroOrOneExpr{ + pos: position{line: 1039, col: 11, offset: 32038}, + expr: &actionExpr{ + pos: position{line: 1039, col: 12, offset: 32039}, + run: (*parser).callonDocumentHeader241, + expr: &oneOrMoreExpr{ + pos: position{line: 1039, col: 12, offset: 32039}, + expr: &charClassMatcher{ + pos: position{line: 1039, col: 12, offset: 32039}, + val: "[^<;\\r\\n ]", + chars: []rune{'<', ';', '\r', '\n', ' '}, + ignoreCase: false, + inverted: true, }, - &actionExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - run: (*parser).callonExternalCrossReference61, - expr: &oneOrMoreExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - expr: &charClassMatcher{ - pos: position{line: 673, col: 9, offset: 21721}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 1042, col: 5, offset: 32120}, + expr: &actionExpr{ + pos: position{line: 2838, col: 10, offset: 93169}, + run: (*parser).callonDocumentHeader245, + expr: &charClassMatcher{ + pos: position{line: 2838, col: 11, offset: 93170}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1043, col: 5, offset: 32131}, + label: "part3", + expr: &zeroOrOneExpr{ + pos: position{line: 1043, col: 11, offset: 32137}, + expr: &actionExpr{ + pos: position{line: 1043, col: 12, offset: 32138}, + run: (*parser).callonDocumentHeader249, + expr: &oneOrMoreExpr{ + pos: position{line: 1043, col: 12, offset: 32138}, + expr: &charClassMatcher{ + pos: position{line: 1043, col: 12, offset: 32138}, + val: "[^<;\\r\\n]", + chars: []rune{'<', ';', '\r', '\n'}, + ignoreCase: false, + inverted: true, }, }, }, }, }, + &zeroOrMoreExpr{ + pos: position{line: 1046, col: 5, offset: 32217}, + expr: &actionExpr{ + pos: position{line: 2838, col: 10, offset: 93169}, + run: (*parser).callonDocumentHeader253, + expr: &charClassMatcher{ + pos: position{line: 2838, col: 11, offset: 93170}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, }, }, }, }, - &litMatcher{ - pos: position{line: 667, col: 79, offset: 21549}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, }, - }, - }, - &actionExpr{ - pos: position{line: 656, col: 31, offset: 21077}, - run: (*parser).callonExternalCrossReference65, - expr: &seqExpr{ - pos: position{line: 656, col: 31, offset: 21077}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 656, col: 31, offset: 21077}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - &labeledExpr{ - pos: position{line: 656, col: 35, offset: 21081}, - label: "name", + &labeledExpr{ + pos: position{line: 1024, col: 40, offset: 31580}, + label: "email", + expr: &zeroOrOneExpr{ + pos: position{line: 1024, col: 46, offset: 31586}, expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonExternalCrossReference69, + pos: position{line: 1052, col: 5, offset: 32339}, + run: (*parser).callonDocumentHeader257, expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 1052, col: 5, offset: 32339}, exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, + ¬Expr{ + pos: position{line: 1052, col: 5, offset: 32339}, + expr: ¬Expr{ + pos: position{line: 2851, col: 8, offset: 93443}, + expr: &anyMatcher{ + line: 2851, col: 9, offset: 93444, + }, + }, + }, + &litMatcher{ + pos: position{line: 1053, col: 5, offset: 32349}, + val: "<", ignoreCase: false, - inverted: false, + want: "\"<\"", }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, + &labeledExpr{ + pos: position{line: 1054, col: 5, offset: 32358}, + label: "email", + expr: &actionExpr{ + pos: position{line: 1054, col: 12, offset: 32365}, + run: (*parser).callonDocumentHeader264, + expr: &oneOrMoreExpr{ + pos: position{line: 1054, col: 13, offset: 32366}, + expr: &charClassMatcher{ + pos: position{line: 1054, col: 13, offset: 32366}, + val: "[^>\\r\\n]", + chars: []rune{'>', '\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, }, }, + &litMatcher{ + pos: position{line: 1057, col: 5, offset: 32426}, + val: ">", + ignoreCase: false, + want: "\">\"", + }, }, }, }, }, - &litMatcher{ - pos: position{line: 656, col: 54, offset: 21100}, - val: "}", + }, + &zeroOrMoreExpr{ + pos: position{line: 1024, col: 69, offset: 31609}, + expr: &actionExpr{ + pos: position{line: 2838, col: 10, offset: 93169}, + run: (*parser).callonDocumentHeader269, + expr: &charClassMatcher{ + pos: position{line: 2838, col: 11, offset: 93170}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &zeroOrOneExpr{ + pos: position{line: 1024, col: 76, offset: 31616}, + expr: &litMatcher{ + pos: position{line: 1024, col: 76, offset: 31616}, + val: ";", ignoreCase: false, - want: "\"}\"", + want: "\";\"", + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 1024, col: 81, offset: 31621}, + expr: &actionExpr{ + pos: position{line: 2838, col: 10, offset: 93169}, + run: (*parser).callonDocumentHeader274, + expr: &charClassMatcher{ + pos: position{line: 2838, col: 11, offset: 93170}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, }, }, + &andCodeExpr{ + pos: position{line: 1025, col: 5, offset: 31633}, + run: (*parser).callonDocumentHeader276, + }, }, }, }, @@ -19410,881 +15128,31 @@ var g = &grammar{ }, }, }, + }, + }, + &choiceExpr{ + pos: position{line: 2854, col: 8, offset: 93493}, + alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2638, col: 5, offset: 87092}, - run: (*parser).callonExternalCrossReference75, - expr: &seqExpr{ - pos: position{line: 2638, col: 5, offset: 87092}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 2638, col: 5, offset: 87092}, - run: (*parser).callonExternalCrossReference77, - }, - &labeledExpr{ - pos: position{line: 2641, col: 5, offset: 87163}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 2643, col: 9, offset: 87261}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2643, col: 9, offset: 87261}, - run: (*parser).callonExternalCrossReference80, - expr: &choiceExpr{ - pos: position{line: 691, col: 27, offset: 22375}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 691, col: 27, offset: 22375}, - run: (*parser).callonExternalCrossReference82, - expr: &seqExpr{ - pos: position{line: 691, col: 27, offset: 22375}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 691, col: 27, offset: 22375}, - val: "<<", - ignoreCase: false, - want: "\"<<\"", - }, - &labeledExpr{ - pos: position{line: 691, col: 32, offset: 22380}, - label: "id", - expr: &actionExpr{ - pos: position{line: 2913, col: 7, offset: 95667}, - run: (*parser).callonExternalCrossReference86, - expr: &oneOrMoreExpr{ - pos: position{line: 2913, col: 7, offset: 95667}, - expr: &charClassMatcher{ - pos: position{line: 2913, col: 7, offset: 95667}, - val: "[^[]<>,]", - chars: []rune{'[', ']', '<', '>', ','}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - &zeroOrMoreExpr{ - pos: position{line: 691, col: 40, offset: 22388}, - expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, - run: (*parser).callonExternalCrossReference90, - expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &litMatcher{ - pos: position{line: 691, col: 47, offset: 22395}, - val: ",", - ignoreCase: false, - want: "\",\"", - }, - &labeledExpr{ - pos: position{line: 691, col: 51, offset: 22399}, - label: "label", - expr: &oneOrMoreExpr{ - pos: position{line: 701, col: 24, offset: 22800}, - expr: &choiceExpr{ - pos: position{line: 702, col: 5, offset: 22806}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 702, col: 6, offset: 22807}, - run: (*parser).callonExternalCrossReference96, - expr: &seqExpr{ - pos: position{line: 702, col: 6, offset: 22807}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 702, col: 6, offset: 22807}, - val: "[0-9\\pL]", - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &oneOrMoreExpr{ - pos: position{line: 702, col: 14, offset: 22815}, - expr: &charClassMatcher{ - pos: position{line: 702, col: 14, offset: 22815}, - val: "[^\\r\\n{<>]", - chars: []rune{'\r', '\n', '{', '<', '>'}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 649, col: 5, offset: 20887}, - run: (*parser).callonExternalCrossReference101, - expr: &seqExpr{ - pos: position{line: 649, col: 5, offset: 20887}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 649, col: 5, offset: 20887}, - run: (*parser).callonExternalCrossReference103, - }, - &labeledExpr{ - pos: position{line: 652, col: 5, offset: 20951}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 652, col: 14, offset: 20960}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 663, col: 25, offset: 21324}, - run: (*parser).callonExternalCrossReference106, - expr: &seqExpr{ - pos: position{line: 663, col: 25, offset: 21324}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 663, col: 25, offset: 21324}, - val: "{counter:", - ignoreCase: false, - want: "\"{counter:\"", - }, - &labeledExpr{ - pos: position{line: 663, col: 37, offset: 21336}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonExternalCrossReference110, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 663, col: 56, offset: 21355}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 663, col: 62, offset: 21361}, - expr: &actionExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - run: (*parser).callonExternalCrossReference117, - expr: &seqExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 671, col: 17, offset: 21656}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 671, col: 21, offset: 21660}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - run: (*parser).callonExternalCrossReference122, - expr: &charClassMatcher{ - pos: position{line: 671, col: 28, offset: 21667}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - run: (*parser).callonExternalCrossReference124, - expr: &oneOrMoreExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - expr: &charClassMatcher{ - pos: position{line: 673, col: 9, offset: 21721}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 663, col: 78, offset: 21377}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 667, col: 25, offset: 21495}, - run: (*parser).callonExternalCrossReference128, - expr: &seqExpr{ - pos: position{line: 667, col: 25, offset: 21495}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 667, col: 25, offset: 21495}, - val: "{counter2:", - ignoreCase: false, - want: "\"{counter2:\"", - }, - &labeledExpr{ - pos: position{line: 667, col: 38, offset: 21508}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonExternalCrossReference132, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 667, col: 57, offset: 21527}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 667, col: 63, offset: 21533}, - expr: &actionExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - run: (*parser).callonExternalCrossReference139, - expr: &seqExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 671, col: 17, offset: 21656}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 671, col: 21, offset: 21660}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - run: (*parser).callonExternalCrossReference144, - expr: &charClassMatcher{ - pos: position{line: 671, col: 28, offset: 21667}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - run: (*parser).callonExternalCrossReference146, - expr: &oneOrMoreExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - expr: &charClassMatcher{ - pos: position{line: 673, col: 9, offset: 21721}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 667, col: 79, offset: 21549}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 656, col: 31, offset: 21077}, - run: (*parser).callonExternalCrossReference150, - expr: &seqExpr{ - pos: position{line: 656, col: 31, offset: 21077}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 656, col: 31, offset: 21077}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - &labeledExpr{ - pos: position{line: 656, col: 35, offset: 21081}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonExternalCrossReference154, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - 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: 54, offset: 21100}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 706, col: 8, offset: 23039}, - run: (*parser).callonExternalCrossReference160, - expr: &litMatcher{ - pos: position{line: 706, col: 8, offset: 23039}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 691, col: 79, offset: 22427}, - val: ">>", - ignoreCase: false, - want: "\">>\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 693, col: 9, offset: 22500}, - run: (*parser).callonExternalCrossReference163, - expr: &seqExpr{ - pos: position{line: 693, col: 9, offset: 22500}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 693, col: 9, offset: 22500}, - val: "<<", - ignoreCase: false, - want: "\"<<\"", - }, - &labeledExpr{ - pos: position{line: 693, col: 14, offset: 22505}, - label: "id", - expr: &actionExpr{ - pos: position{line: 2913, col: 7, offset: 95667}, - run: (*parser).callonExternalCrossReference167, - expr: &oneOrMoreExpr{ - pos: position{line: 2913, col: 7, offset: 95667}, - expr: &charClassMatcher{ - pos: position{line: 2913, col: 7, offset: 95667}, - val: "[^[]<>,]", - chars: []rune{'[', ']', '<', '>', ','}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 693, col: 22, offset: 22513}, - val: ">>", - ignoreCase: false, - want: "\">>\"", - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2646, col: 11, offset: 87365}, - run: (*parser).callonExternalCrossReference171, - expr: &charClassMatcher{ - pos: position{line: 2646, col: 12, offset: 87366}, - val: "[<>&]", - chars: []rune{'<', '>', '&'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2905, col: 7, offset: 95451}, - run: (*parser).callonExternalCrossReference173, - expr: &litMatcher{ - pos: position{line: 2905, col: 7, offset: 95451}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 1085, col: 23, offset: 33674}, - run: (*parser).callonExternalCrossReference175, - expr: &seqExpr{ - pos: position{line: 1085, col: 23, offset: 33674}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 1083, col: 32, offset: 33642}, - val: "�", - ignoreCase: false, - want: "\"�\"", - }, - &labeledExpr{ - pos: position{line: 1085, col: 51, offset: 33702}, - label: "ref", - expr: &actionExpr{ - pos: position{line: 1085, col: 56, offset: 33707}, - run: (*parser).callonExternalCrossReference179, - expr: &oneOrMoreExpr{ - pos: position{line: 1085, col: 56, offset: 33707}, - expr: &charClassMatcher{ - pos: position{line: 1085, col: 56, offset: 33707}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 1083, col: 32, offset: 33642}, - val: "�", - ignoreCase: false, - want: "\"�\"", - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 697, col: 54, offset: 22637}, - label: "attributes", - expr: &ruleRefExpr{ - pos: position{line: 697, col: 66, offset: 22649}, - name: "InlineAttributes", - }, - }, - }, - }, - }, - }, - { - name: "MarkdownQuoteAttribution", - pos: position{line: 905, col: 1, offset: 28251}, - expr: &actionExpr{ - pos: position{line: 906, col: 5, offset: 28284}, - run: (*parser).callonMarkdownQuoteAttribution1, - expr: &seqExpr{ - pos: position{line: 906, col: 5, offset: 28284}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 906, col: 5, offset: 28284}, - val: "-- ", - ignoreCase: false, - want: "\"-- \"", - }, - &labeledExpr{ - pos: position{line: 906, col: 11, offset: 28290}, - label: "author", - expr: &actionExpr{ - pos: position{line: 906, col: 19, offset: 28298}, - run: (*parser).callonMarkdownQuoteAttribution5, - expr: &oneOrMoreExpr{ - pos: position{line: 906, col: 20, offset: 28299}, - expr: &charClassMatcher{ - pos: position{line: 906, col: 20, offset: 28299}, - val: "[^\\r\\n]", - chars: []rune{'\r', '\n'}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, - run: (*parser).callonMarkdownQuoteAttribution9, - expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, - expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, - }, - }, - }, - }, - }, - }, - }, - }, - { - name: "DocumentHeader", - pos: position{line: 978, col: 1, offset: 30250}, - expr: &actionExpr{ - pos: position{line: 979, col: 5, offset: 30273}, - run: (*parser).callonDocumentHeader1, - expr: &seqExpr{ - pos: position{line: 979, col: 5, offset: 30273}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 979, col: 5, offset: 30273}, - run: (*parser).callonDocumentHeader3, - }, - &zeroOrMoreExpr{ - pos: position{line: 982, col: 5, offset: 30334}, - expr: &actionExpr{ - pos: position{line: 682, col: 14, offset: 22022}, - run: (*parser).callonDocumentHeader5, - expr: &seqExpr{ - pos: position{line: 682, col: 14, offset: 22022}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 682, col: 14, offset: 22022}, - expr: ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, - expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, - }, - }, - }, - &zeroOrMoreExpr{ - pos: position{line: 682, col: 19, offset: 22027}, - expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, - run: (*parser).callonDocumentHeader11, - expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, - run: (*parser).callonDocumentHeader14, - expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, - expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, - }, - }, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 983, col: 5, offset: 30384}, - label: "title", - expr: &actionExpr{ - pos: position{line: 991, col: 5, offset: 30692}, - run: (*parser).callonDocumentHeader22, - expr: &seqExpr{ - pos: position{line: 991, col: 5, offset: 30692}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 991, col: 5, offset: 30692}, - val: "=", - ignoreCase: false, - want: "\"=\"", - }, - &actionExpr{ - pos: position{line: 2932, col: 11, offset: 96082}, - run: (*parser).callonDocumentHeader25, - expr: &oneOrMoreExpr{ - pos: position{line: 2932, col: 11, offset: 96082}, - expr: &charClassMatcher{ - pos: position{line: 2932, col: 12, offset: 96083}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &labeledExpr{ - pos: position{line: 991, col: 16, offset: 30703}, - label: "title", - expr: &actionExpr{ - pos: position{line: 2416, col: 17, offset: 80521}, - run: (*parser).callonDocumentHeader29, - expr: &oneOrMoreExpr{ - pos: position{line: 2416, col: 17, offset: 80521}, - expr: &charClassMatcher{ - pos: position{line: 2416, col: 17, offset: 80521}, - val: "[^\\r\\n]", - chars: []rune{'\r', '\n'}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, - run: (*parser).callonDocumentHeader33, - expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, - expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, - }, - }, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 984, col: 5, offset: 30408}, - label: "info", - expr: &zeroOrOneExpr{ - pos: position{line: 984, col: 10, offset: 30413}, - expr: &actionExpr{ - pos: position{line: 996, col: 5, offset: 30797}, - run: (*parser).callonDocumentHeader42, - expr: &seqExpr{ - pos: position{line: 996, col: 5, offset: 30797}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 996, col: 5, offset: 30797}, - expr: &actionExpr{ - pos: position{line: 682, col: 14, offset: 22022}, - run: (*parser).callonDocumentHeader45, - expr: &seqExpr{ - pos: position{line: 682, col: 14, offset: 22022}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 682, col: 14, offset: 22022}, - expr: ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, - expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, - }, - }, - }, - &zeroOrMoreExpr{ - pos: position{line: 682, col: 19, offset: 22027}, - expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, - run: (*parser).callonDocumentHeader51, - expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, - run: (*parser).callonDocumentHeader54, + pos: position{line: 2847, col: 12, offset: 93353}, + run: (*parser).callonDocumentHeader278, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -20293,9 +15161,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -20305,41 +15173,41 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 997, col: 5, offset: 30812}, + pos: position{line: 1006, col: 5, offset: 30944}, expr: &choiceExpr{ - pos: position{line: 997, col: 6, offset: 30813}, + pos: position{line: 1006, col: 6, offset: 30945}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2655, col: 22, offset: 87725}, - run: (*parser).callonDocumentHeader63, + pos: position{line: 2556, col: 22, offset: 84484}, + run: (*parser).callonDocumentHeader287, expr: &seqExpr{ - pos: position{line: 2655, col: 22, offset: 87725}, + pos: position{line: 2556, col: 22, offset: 84484}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2660, col: 31, offset: 87946}, + pos: position{line: 2561, col: 31, offset: 84705}, val: "//", ignoreCase: false, want: "\"//\"", }, ¬Expr{ - pos: position{line: 2660, col: 36, offset: 87951}, + pos: position{line: 2561, col: 36, offset: 84710}, expr: &litMatcher{ - pos: position{line: 2660, col: 37, offset: 87952}, + pos: position{line: 2561, col: 37, offset: 84711}, val: "//", ignoreCase: false, want: "\"//\"", }, }, &labeledExpr{ - pos: position{line: 2655, col: 49, offset: 87752}, + pos: position{line: 2556, col: 49, offset: 84511}, label: "content", expr: &actionExpr{ - pos: position{line: 2662, col: 29, offset: 87987}, - run: (*parser).callonDocumentHeader69, + pos: position{line: 2563, col: 29, offset: 84746}, + run: (*parser).callonDocumentHeader293, expr: &zeroOrMoreExpr{ - pos: position{line: 2662, col: 29, offset: 87987}, + pos: position{line: 2563, col: 29, offset: 84746}, expr: &charClassMatcher{ - pos: position{line: 2662, col: 29, offset: 87987}, + pos: position{line: 2563, col: 29, offset: 84746}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -20349,28 +15217,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, - run: (*parser).callonDocumentHeader73, + pos: position{line: 2847, col: 12, offset: 93353}, + run: (*parser).callonDocumentHeader297, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -20379,9 +15247,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -20390,30 +15258,30 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 785, col: 5, offset: 25125}, - run: (*parser).callonDocumentHeader80, + pos: position{line: 792, col: 5, offset: 25151}, + run: (*parser).callonDocumentHeader304, expr: &seqExpr{ - pos: position{line: 785, col: 5, offset: 25125}, + pos: position{line: 792, col: 5, offset: 25151}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 741, col: 26, offset: 23902}, - run: (*parser).callonDocumentHeader82, + pos: position{line: 748, col: 26, offset: 23928}, + run: (*parser).callonDocumentHeader306, expr: &seqExpr{ - pos: position{line: 741, col: 26, offset: 23902}, + pos: position{line: 748, col: 26, offset: 23928}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 741, col: 26, offset: 23902}, + pos: position{line: 748, col: 26, offset: 23928}, val: "////", ignoreCase: false, want: "\"////\"", }, &zeroOrMoreExpr{ - pos: position{line: 741, col: 33, offset: 23909}, + pos: position{line: 748, col: 33, offset: 23935}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, - run: (*parser).callonDocumentHeader86, + pos: position{line: 2838, col: 10, offset: 93169}, + run: (*parser).callonDocumentHeader310, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -20422,28 +15290,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, - run: (*parser).callonDocumentHeader89, + pos: position{line: 2847, col: 12, offset: 93353}, + run: (*parser).callonDocumentHeader313, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -20452,9 +15320,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -20463,40 +15331,40 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 786, col: 5, offset: 25156}, + pos: position{line: 793, col: 5, offset: 25182}, label: "content", expr: &zeroOrMoreExpr{ - pos: position{line: 797, col: 5, offset: 25480}, + pos: position{line: 804, col: 5, offset: 25506}, expr: &actionExpr{ - pos: position{line: 797, col: 6, offset: 25481}, - run: (*parser).callonDocumentHeader98, + pos: position{line: 804, col: 6, offset: 25507}, + run: (*parser).callonDocumentHeader322, expr: &seqExpr{ - pos: position{line: 797, col: 6, offset: 25481}, + pos: position{line: 804, col: 6, offset: 25507}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 797, col: 6, offset: 25481}, + pos: position{line: 804, col: 6, offset: 25507}, expr: &choiceExpr{ - pos: position{line: 794, col: 29, offset: 25423}, + pos: position{line: 801, col: 29, offset: 25449}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 741, col: 26, offset: 23902}, - run: (*parser).callonDocumentHeader102, + pos: position{line: 748, col: 26, offset: 23928}, + run: (*parser).callonDocumentHeader326, expr: &seqExpr{ - pos: position{line: 741, col: 26, offset: 23902}, + pos: position{line: 748, col: 26, offset: 23928}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 741, col: 26, offset: 23902}, + pos: position{line: 748, col: 26, offset: 23928}, val: "////", ignoreCase: false, want: "\"////\"", }, &zeroOrMoreExpr{ - pos: position{line: 741, col: 33, offset: 23909}, + pos: position{line: 748, col: 33, offset: 23935}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, - run: (*parser).callonDocumentHeader106, + pos: position{line: 2838, col: 10, offset: 93169}, + run: (*parser).callonDocumentHeader330, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -20505,28 +15373,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, - run: (*parser).callonDocumentHeader109, + pos: position{line: 2847, col: 12, offset: 93353}, + run: (*parser).callonDocumentHeader333, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -20535,9 +15403,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -20546,42 +15414,42 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, }, }, &labeledExpr{ - pos: position{line: 798, col: 5, offset: 25511}, + pos: position{line: 805, col: 5, offset: 25537}, label: "line", expr: &actionExpr{ - pos: position{line: 774, col: 5, offset: 24820}, - run: (*parser).callonDocumentHeader119, + pos: position{line: 781, col: 5, offset: 24846}, + run: (*parser).callonDocumentHeader343, expr: &seqExpr{ - pos: position{line: 774, col: 5, offset: 24820}, + pos: position{line: 781, col: 5, offset: 24846}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 774, col: 5, offset: 24820}, + pos: position{line: 781, col: 5, offset: 24846}, expr: ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, &labeledExpr{ - pos: position{line: 775, col: 5, offset: 24893}, + pos: position{line: 782, col: 5, offset: 24919}, label: "content", expr: &actionExpr{ - pos: position{line: 775, col: 14, offset: 24902}, - run: (*parser).callonDocumentHeader125, + pos: position{line: 782, col: 14, offset: 24928}, + run: (*parser).callonDocumentHeader349, expr: &zeroOrMoreExpr{ - pos: position{line: 775, col: 14, offset: 24902}, + pos: position{line: 782, col: 14, offset: 24928}, expr: &charClassMatcher{ - pos: position{line: 775, col: 14, offset: 24902}, + pos: position{line: 782, col: 14, offset: 24928}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -20591,28 +15459,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, - run: (*parser).callonDocumentHeader129, + pos: position{line: 2847, col: 12, offset: 93353}, + run: (*parser).callonDocumentHeader353, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -20621,9 +15489,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -20638,29 +15506,29 @@ var g = &grammar{ }, }, &zeroOrOneExpr{ - pos: position{line: 787, col: 5, offset: 25190}, + pos: position{line: 794, col: 5, offset: 25216}, expr: &choiceExpr{ - pos: position{line: 794, col: 29, offset: 25423}, + pos: position{line: 801, col: 29, offset: 25449}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 741, col: 26, offset: 23902}, - run: (*parser).callonDocumentHeader138, + pos: position{line: 748, col: 26, offset: 23928}, + run: (*parser).callonDocumentHeader362, expr: &seqExpr{ - pos: position{line: 741, col: 26, offset: 23902}, + pos: position{line: 748, col: 26, offset: 23928}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 741, col: 26, offset: 23902}, + pos: position{line: 748, col: 26, offset: 23928}, val: "////", ignoreCase: false, want: "\"////\"", }, &zeroOrMoreExpr{ - pos: position{line: 741, col: 33, offset: 23909}, + pos: position{line: 748, col: 33, offset: 23935}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, - run: (*parser).callonDocumentHeader142, + pos: position{line: 2838, col: 10, offset: 93169}, + run: (*parser).callonDocumentHeader366, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -20669,28 +15537,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, - run: (*parser).callonDocumentHeader145, + pos: position{line: 2847, col: 12, offset: 93353}, + run: (*parser).callonDocumentHeader369, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -20699,9 +15567,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -20710,9 +15578,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -20725,531 +15593,264 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 998, col: 5, offset: 30887}, - label: "authors", - expr: &actionExpr{ - pos: position{line: 1004, col: 20, offset: 31137}, - run: (*parser).callonDocumentHeader155, - expr: &seqExpr{ - pos: position{line: 1004, col: 20, offset: 31137}, - exprs: []interface{}{ - &zeroOrMoreExpr{ - pos: position{line: 1004, col: 20, offset: 31137}, - expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, - run: (*parser).callonDocumentHeader158, - expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 1007, col: 5, offset: 31019}, + label: "revision", + expr: &zeroOrOneExpr{ + pos: position{line: 1007, col: 14, offset: 31028}, + expr: &actionExpr{ + pos: position{line: 1063, col: 21, offset: 32615}, + run: (*parser).callonDocumentHeader380, + expr: &seqExpr{ + pos: position{line: 1063, col: 21, offset: 32615}, + exprs: []interface{}{ + &zeroOrMoreExpr{ + pos: position{line: 1063, col: 21, offset: 32615}, + expr: &actionExpr{ + pos: position{line: 2838, col: 10, offset: 93169}, + run: (*parser).callonDocumentHeader383, + expr: &charClassMatcher{ + pos: position{line: 2838, col: 11, offset: 93170}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + ¬Expr{ + pos: position{line: 1063, col: 28, offset: 32622}, + expr: &litMatcher{ + pos: position{line: 1063, col: 29, offset: 32623}, + val: ":", ignoreCase: false, - inverted: false, + want: "\":\"", }, }, - }, - &labeledExpr{ - pos: position{line: 1004, col: 27, offset: 31144}, - label: "authors", - expr: &choiceExpr{ - pos: position{line: 1004, col: 36, offset: 31153}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 1008, col: 30, offset: 31273}, - run: (*parser).callonDocumentHeader162, - expr: &seqExpr{ - pos: position{line: 1008, col: 30, offset: 31273}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 1008, col: 30, offset: 31273}, - expr: &litMatcher{ - pos: position{line: 1008, col: 31, offset: 31274}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - }, - &labeledExpr{ - pos: position{line: 1008, col: 35, offset: 31278}, - label: "authors", - expr: &oneOrMoreExpr{ - pos: position{line: 1008, col: 44, offset: 31287}, - expr: &actionExpr{ - pos: position{line: 1017, col: 5, offset: 31519}, - run: (*parser).callonDocumentHeader168, - expr: &seqExpr{ - pos: position{line: 1017, col: 5, offset: 31519}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 1017, col: 5, offset: 31519}, - label: "fullName", - expr: &zeroOrOneExpr{ - pos: position{line: 1017, col: 14, offset: 31528}, - expr: &actionExpr{ - pos: position{line: 1028, col: 5, offset: 31908}, - run: (*parser).callonDocumentHeader172, - expr: &seqExpr{ - pos: position{line: 1028, col: 5, offset: 31908}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 1028, col: 5, offset: 31908}, - label: "part1", - expr: &actionExpr{ - pos: position{line: 1028, col: 12, offset: 31915}, - run: (*parser).callonDocumentHeader175, - expr: &oneOrMoreExpr{ - pos: position{line: 1028, col: 12, offset: 31915}, - expr: &charClassMatcher{ - pos: position{line: 1028, col: 12, offset: 31915}, - val: "[^<;\\r\\n ]", - chars: []rune{'<', ';', '\r', '\n', ' '}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - &zeroOrMoreExpr{ - pos: position{line: 1031, col: 5, offset: 31995}, - expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, - run: (*parser).callonDocumentHeader179, - expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &labeledExpr{ - pos: position{line: 1032, col: 5, offset: 32006}, - label: "part2", - expr: &zeroOrOneExpr{ - pos: position{line: 1032, col: 11, offset: 32012}, - expr: &actionExpr{ - pos: position{line: 1032, col: 12, offset: 32013}, - run: (*parser).callonDocumentHeader183, - expr: &oneOrMoreExpr{ - pos: position{line: 1032, col: 12, offset: 32013}, - expr: &charClassMatcher{ - pos: position{line: 1032, col: 12, offset: 32013}, - val: "[^<;\\r\\n ]", - chars: []rune{'<', ';', '\r', '\n', ' '}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - }, - &zeroOrMoreExpr{ - pos: position{line: 1035, col: 5, offset: 32094}, - expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, - run: (*parser).callonDocumentHeader187, - expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &labeledExpr{ - pos: position{line: 1036, col: 5, offset: 32105}, - label: "part3", - expr: &zeroOrOneExpr{ - pos: position{line: 1036, col: 11, offset: 32111}, - expr: &actionExpr{ - pos: position{line: 1036, col: 12, offset: 32112}, - run: (*parser).callonDocumentHeader191, - expr: &oneOrMoreExpr{ - pos: position{line: 1036, col: 12, offset: 32112}, - expr: &charClassMatcher{ - pos: position{line: 1036, col: 12, offset: 32112}, - val: "[^<;\\r\\n]", - chars: []rune{'<', ';', '\r', '\n'}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - }, - &zeroOrMoreExpr{ - pos: position{line: 1039, col: 5, offset: 32191}, - expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, - run: (*parser).callonDocumentHeader195, - expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, + &labeledExpr{ + pos: position{line: 1063, col: 33, offset: 32627}, + label: "revision", + expr: &choiceExpr{ + pos: position{line: 1064, col: 9, offset: 32646}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 1064, col: 10, offset: 32647}, + run: (*parser).callonDocumentHeader389, + expr: &seqExpr{ + pos: position{line: 1064, col: 10, offset: 32647}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1064, col: 10, offset: 32647}, + label: "revnumber", + expr: &choiceExpr{ + pos: position{line: 1073, col: 27, offset: 33164}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 1073, col: 27, offset: 33164}, + run: (*parser).callonDocumentHeader393, + expr: &seqExpr{ + pos: position{line: 1073, col: 27, offset: 33164}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1073, col: 27, offset: 33164}, + val: "v", + ignoreCase: true, + want: "\"v\"i", + }, + &charClassMatcher{ + pos: position{line: 1073, col: 32, offset: 33169}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + &oneOrMoreExpr{ + pos: position{line: 1073, col: 38, offset: 33175}, + expr: &charClassMatcher{ + pos: position{line: 1073, col: 38, offset: 33175}, + val: "[^:,\\r\\n]", + chars: []rune{':', ',', '\r', '\n'}, + ignoreCase: false, + inverted: true, }, }, }, }, - &labeledExpr{ - pos: position{line: 1017, col: 40, offset: 31554}, - label: "email", - expr: &zeroOrOneExpr{ - pos: position{line: 1017, col: 46, offset: 31560}, - expr: &actionExpr{ - pos: position{line: 1045, col: 5, offset: 32313}, - run: (*parser).callonDocumentHeader199, - expr: &seqExpr{ - pos: position{line: 1045, col: 5, offset: 32313}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 1045, col: 5, offset: 32313}, - expr: ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, - expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, - }, - }, - }, - &litMatcher{ - pos: position{line: 1046, col: 5, offset: 32323}, - val: "<", - ignoreCase: false, - want: "\"<\"", - }, - &labeledExpr{ - pos: position{line: 1047, col: 5, offset: 32332}, - label: "email", - expr: &actionExpr{ - pos: position{line: 1047, col: 12, offset: 32339}, - run: (*parser).callonDocumentHeader206, - expr: &oneOrMoreExpr{ - pos: position{line: 1047, col: 13, offset: 32340}, - expr: &charClassMatcher{ - pos: position{line: 1047, col: 13, offset: 32340}, - val: "[^>\\r\\n]", - chars: []rune{'>', '\r', '\n'}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 1050, col: 5, offset: 32400}, - val: ">", - ignoreCase: false, - want: "\">\"", - }, - }, + }, + &actionExpr{ + pos: position{line: 1075, col: 5, offset: 33223}, + run: (*parser).callonDocumentHeader399, + expr: &seqExpr{ + pos: position{line: 1075, col: 5, offset: 33223}, + exprs: []interface{}{ + &zeroOrOneExpr{ + pos: position{line: 1075, col: 5, offset: 33223}, + expr: &litMatcher{ + pos: position{line: 1075, col: 5, offset: 33223}, + val: "v", + ignoreCase: true, + want: "\"v\"i", }, }, - }, - }, - &zeroOrMoreExpr{ - pos: position{line: 1017, col: 69, offset: 31583}, - expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, - run: (*parser).callonDocumentHeader211, - expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + &charClassMatcher{ + pos: position{line: 1075, col: 11, offset: 33229}, + val: "[0-9]", + ranges: []rune{'0', '9'}, ignoreCase: false, inverted: false, }, - }, - }, - &zeroOrOneExpr{ - pos: position{line: 1017, col: 76, offset: 31590}, - expr: &litMatcher{ - pos: position{line: 1017, col: 76, offset: 31590}, - val: ";", - ignoreCase: false, - want: "\";\"", - }, - }, - &zeroOrMoreExpr{ - pos: position{line: 1017, col: 81, offset: 31595}, - expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, - run: (*parser).callonDocumentHeader216, - expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, + &oneOrMoreExpr{ + pos: position{line: 1075, col: 17, offset: 33235}, + expr: &charClassMatcher{ + pos: position{line: 1075, col: 17, offset: 33235}, + val: "[^:,\\r\\n]", + chars: []rune{':', ',', '\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 1075, col: 28, offset: 33246}, + expr: &actionExpr{ + pos: position{line: 2838, col: 10, offset: 93169}, + run: (*parser).callonDocumentHeader407, + expr: &charClassMatcher{ + pos: position{line: 2838, col: 11, offset: 93170}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &andExpr{ + pos: position{line: 1075, col: 35, offset: 33253}, + expr: &litMatcher{ + pos: position{line: 1075, col: 36, offset: 33254}, + val: ",", + ignoreCase: false, + want: "\",\"", + }, }, }, }, - &andCodeExpr{ - pos: position{line: 1018, col: 5, offset: 31607}, - run: (*parser).callonDocumentHeader218, - }, }, }, }, }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 1012, col: 33, offset: 31405}, - run: (*parser).callonDocumentHeader219, - expr: &seqExpr{ - pos: position{line: 1012, col: 33, offset: 31405}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 1012, col: 33, offset: 31405}, - val: ":author:", - ignoreCase: false, - want: "\":author:\"", - }, - &zeroOrMoreExpr{ - pos: position{line: 1012, col: 44, offset: 31416}, - expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, - run: (*parser).callonDocumentHeader223, - expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + &zeroOrOneExpr{ + pos: position{line: 1064, col: 45, offset: 32682}, + expr: &litMatcher{ + pos: position{line: 1064, col: 45, offset: 32682}, + val: ",", ignoreCase: false, - inverted: false, + want: "\",\"", }, }, - }, - &labeledExpr{ - pos: position{line: 1012, col: 51, offset: 31423}, - label: "author", - expr: &actionExpr{ - pos: position{line: 1017, col: 5, offset: 31519}, - run: (*parser).callonDocumentHeader226, - expr: &seqExpr{ - pos: position{line: 1017, col: 5, offset: 31519}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 1017, col: 5, offset: 31519}, - label: "fullName", - expr: &zeroOrOneExpr{ - pos: position{line: 1017, col: 14, offset: 31528}, - expr: &actionExpr{ - pos: position{line: 1028, col: 5, offset: 31908}, - run: (*parser).callonDocumentHeader230, - expr: &seqExpr{ - pos: position{line: 1028, col: 5, offset: 31908}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 1028, col: 5, offset: 31908}, - label: "part1", - expr: &actionExpr{ - pos: position{line: 1028, col: 12, offset: 31915}, - run: (*parser).callonDocumentHeader233, - expr: &oneOrMoreExpr{ - pos: position{line: 1028, col: 12, offset: 31915}, - expr: &charClassMatcher{ - pos: position{line: 1028, col: 12, offset: 31915}, - val: "[^<;\\r\\n ]", - chars: []rune{'<', ';', '\r', '\n', ' '}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - &zeroOrMoreExpr{ - pos: position{line: 1031, col: 5, offset: 31995}, - expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, - run: (*parser).callonDocumentHeader237, - expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &labeledExpr{ - pos: position{line: 1032, col: 5, offset: 32006}, - label: "part2", - expr: &zeroOrOneExpr{ - pos: position{line: 1032, col: 11, offset: 32012}, - expr: &actionExpr{ - pos: position{line: 1032, col: 12, offset: 32013}, - run: (*parser).callonDocumentHeader241, - expr: &oneOrMoreExpr{ - pos: position{line: 1032, col: 12, offset: 32013}, - expr: &charClassMatcher{ - pos: position{line: 1032, col: 12, offset: 32013}, - val: "[^<;\\r\\n ]", - chars: []rune{'<', ';', '\r', '\n', ' '}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - }, - &zeroOrMoreExpr{ - pos: position{line: 1035, col: 5, offset: 32094}, - expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, - run: (*parser).callonDocumentHeader245, - expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &labeledExpr{ - pos: position{line: 1036, col: 5, offset: 32105}, - label: "part3", - expr: &zeroOrOneExpr{ - pos: position{line: 1036, col: 11, offset: 32111}, - expr: &actionExpr{ - pos: position{line: 1036, col: 12, offset: 32112}, - run: (*parser).callonDocumentHeader249, - expr: &oneOrMoreExpr{ - pos: position{line: 1036, col: 12, offset: 32112}, - expr: &charClassMatcher{ - pos: position{line: 1036, col: 12, offset: 32112}, - val: "[^<;\\r\\n]", - chars: []rune{'<', ';', '\r', '\n'}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - }, - &zeroOrMoreExpr{ - pos: position{line: 1039, col: 5, offset: 32191}, - expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, - run: (*parser).callonDocumentHeader253, - expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, + &labeledExpr{ + pos: position{line: 1064, col: 50, offset: 32687}, + label: "revdate", + expr: &zeroOrOneExpr{ + pos: position{line: 1064, col: 58, offset: 32695}, + expr: &actionExpr{ + pos: position{line: 1079, col: 25, offset: 33318}, + run: (*parser).callonDocumentHeader415, + expr: &oneOrMoreExpr{ + pos: position{line: 1079, col: 25, offset: 33318}, + expr: &charClassMatcher{ + pos: position{line: 1079, col: 25, offset: 33318}, + val: "[^:\\r\\n]", + chars: []rune{':', '\r', '\n'}, + ignoreCase: false, + inverted: true, }, }, - &labeledExpr{ - pos: position{line: 1017, col: 40, offset: 31554}, - label: "email", - expr: &zeroOrOneExpr{ - pos: position{line: 1017, col: 46, offset: 31560}, - expr: &actionExpr{ - pos: position{line: 1045, col: 5, offset: 32313}, - run: (*parser).callonDocumentHeader257, - expr: &seqExpr{ - pos: position{line: 1045, col: 5, offset: 32313}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 1045, col: 5, offset: 32313}, - expr: ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, - expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, - }, - }, - }, - &litMatcher{ - pos: position{line: 1046, col: 5, offset: 32323}, - val: "<", - ignoreCase: false, - want: "\"<\"", - }, - &labeledExpr{ - pos: position{line: 1047, col: 5, offset: 32332}, - label: "email", - expr: &actionExpr{ - pos: position{line: 1047, col: 12, offset: 32339}, - run: (*parser).callonDocumentHeader264, - expr: &oneOrMoreExpr{ - pos: position{line: 1047, col: 13, offset: 32340}, - expr: &charClassMatcher{ - pos: position{line: 1047, col: 13, offset: 32340}, - val: "[^>\\r\\n]", - chars: []rune{'>', '\r', '\n'}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 1050, col: 5, offset: 32400}, - val: ">", - ignoreCase: false, - want: "\">\"", - }, - }, - }, - }, + }, + }, + }, + &zeroOrOneExpr{ + pos: position{line: 1064, col: 82, offset: 32719}, + expr: &litMatcher{ + pos: position{line: 1064, col: 82, offset: 32719}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + }, + &labeledExpr{ + pos: position{line: 1064, col: 87, offset: 32724}, + label: "revremark", + expr: &zeroOrOneExpr{ + pos: position{line: 1064, col: 97, offset: 32734}, + expr: &actionExpr{ + pos: position{line: 1083, col: 27, offset: 33390}, + run: (*parser).callonDocumentHeader422, + expr: &oneOrMoreExpr{ + pos: position{line: 1083, col: 27, offset: 33390}, + expr: &charClassMatcher{ + pos: position{line: 1083, col: 27, offset: 33390}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, }, }, - &zeroOrMoreExpr{ - pos: position{line: 1017, col: 69, offset: 31583}, - expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, - run: (*parser).callonDocumentHeader269, - expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1066, col: 15, offset: 32852}, + run: (*parser).callonDocumentHeader425, + expr: &seqExpr{ + pos: position{line: 1066, col: 15, offset: 32852}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1066, col: 15, offset: 32852}, + label: "revdate", + expr: &actionExpr{ + pos: position{line: 1079, col: 25, offset: 33318}, + run: (*parser).callonDocumentHeader428, + expr: &oneOrMoreExpr{ + pos: position{line: 1079, col: 25, offset: 33318}, + expr: &charClassMatcher{ + pos: position{line: 1079, col: 25, offset: 33318}, + val: "[^:\\r\\n]", + chars: []rune{':', '\r', '\n'}, + ignoreCase: false, + inverted: true, }, - &zeroOrOneExpr{ - pos: position{line: 1017, col: 76, offset: 31590}, - expr: &litMatcher{ - pos: position{line: 1017, col: 76, offset: 31590}, - val: ";", + }, + }, + }, + &zeroOrOneExpr{ + pos: position{line: 1066, col: 46, offset: 32883}, + expr: &litMatcher{ + pos: position{line: 1066, col: 46, offset: 32883}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + }, + &labeledExpr{ + pos: position{line: 1066, col: 51, offset: 32888}, + label: "revremark", + expr: &zeroOrOneExpr{ + pos: position{line: 1066, col: 61, offset: 32898}, + expr: &actionExpr{ + pos: position{line: 1083, col: 27, offset: 33390}, + run: (*parser).callonDocumentHeader435, + expr: &oneOrMoreExpr{ + pos: position{line: 1083, col: 27, offset: 33390}, + expr: &charClassMatcher{ + pos: position{line: 1083, col: 27, offset: 33390}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, ignoreCase: false, - want: "\";\"", - }, - }, - &zeroOrMoreExpr{ - pos: position{line: 1017, col: 81, offset: 31595}, - expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, - run: (*parser).callonDocumentHeader274, - expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, + inverted: true, }, }, - &andCodeExpr{ - pos: position{line: 1018, col: 5, offset: 31607}, - run: (*parser).callonDocumentHeader276, - }, }, }, }, @@ -21259,41 +15860,41 @@ var g = &grammar{ }, }, }, - }, - &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, - run: (*parser).callonDocumentHeader278, - expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", + &choiceExpr{ + pos: position{line: 2854, col: 8, offset: 93493}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2847, col: 12, offset: 93353}, + run: (*parser).callonDocumentHeader439, + expr: &choiceExpr{ + pos: position{line: 2847, col: 13, offset: 93354}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2847, col: 13, offset: 93354}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 2847, col: 20, offset: 93361}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 2847, col: 29, offset: 93370}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, }, }, }, - }, - ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, - expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + ¬Expr{ + pos: position{line: 2851, col: 8, offset: 93443}, + expr: &anyMatcher{ + line: 2851, col: 9, offset: 93444, + }, }, }, }, @@ -21302,961 +15903,230 @@ var g = &grammar{ }, }, }, - &zeroOrMoreExpr{ - pos: position{line: 999, col: 5, offset: 30918}, - expr: &choiceExpr{ - pos: position{line: 999, col: 6, offset: 30919}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2655, col: 22, offset: 87725}, - run: (*parser).callonDocumentHeader287, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 992, col: 5, offset: 30464}, + label: "extraAttrs", + expr: &zeroOrMoreExpr{ + pos: position{line: 992, col: 16, offset: 30475}, + expr: &choiceExpr{ + pos: position{line: 992, col: 17, offset: 30476}, + alternatives: []interface{}{ + &ruleRefExpr{ + pos: position{line: 992, col: 17, offset: 30476}, + name: "AttributeDeclaration", + }, + &actionExpr{ + pos: position{line: 376, col: 19, offset: 11424}, + run: (*parser).callonDocumentHeader450, + expr: &seqExpr{ + pos: position{line: 376, col: 19, offset: 11424}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 376, col: 19, offset: 11424}, + val: ":!", + ignoreCase: false, + want: "\":!\"", + }, + &labeledExpr{ + pos: position{line: 376, col: 24, offset: 11429}, + label: "name", + expr: &actionExpr{ + pos: position{line: 336, col: 18, offset: 10325}, + run: (*parser).callonDocumentHeader454, expr: &seqExpr{ - pos: position{line: 2655, col: 22, offset: 87725}, + pos: position{line: 336, col: 18, offset: 10325}, exprs: []interface{}{ - &litMatcher{ - pos: position{line: 2660, col: 31, offset: 87946}, - val: "//", + &charClassMatcher{ + pos: position{line: 336, col: 18, offset: 10325}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, ignoreCase: false, - want: "\"//\"", + inverted: false, }, - ¬Expr{ - pos: position{line: 2660, col: 36, offset: 87951}, - expr: &litMatcher{ - pos: position{line: 2660, col: 37, offset: 87952}, - val: "//", + &zeroOrMoreExpr{ + pos: position{line: 336, col: 28, offset: 10335}, + expr: &charClassMatcher{ + pos: position{line: 336, col: 29, offset: 10336}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, ignoreCase: false, - want: "\"//\"", - }, - }, - &labeledExpr{ - pos: position{line: 2655, col: 49, offset: 87752}, - label: "content", - expr: &actionExpr{ - pos: position{line: 2662, col: 29, offset: 87987}, - run: (*parser).callonDocumentHeader293, - expr: &zeroOrMoreExpr{ - pos: position{line: 2662, col: 29, offset: 87987}, - expr: &charClassMatcher{ - pos: position{line: 2662, col: 29, offset: 87987}, - val: "[^\\r\\n]", - chars: []rune{'\r', '\n'}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, - run: (*parser).callonDocumentHeader297, - expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, - expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, - }, - }, + inverted: false, }, }, }, }, }, - &actionExpr{ - pos: position{line: 785, col: 5, offset: 25125}, - run: (*parser).callonDocumentHeader304, - expr: &seqExpr{ - pos: position{line: 785, col: 5, offset: 25125}, - exprs: []interface{}{ - &actionExpr{ - pos: position{line: 741, col: 26, offset: 23902}, - run: (*parser).callonDocumentHeader306, - expr: &seqExpr{ - pos: position{line: 741, col: 26, offset: 23902}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 741, col: 26, offset: 23902}, - val: "////", - ignoreCase: false, - want: "\"////\"", - }, - &zeroOrMoreExpr{ - pos: position{line: 741, col: 33, offset: 23909}, - expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, - run: (*parser).callonDocumentHeader310, - expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, - run: (*parser).callonDocumentHeader313, - expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, - expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, - }, - }, - }, - }, - }, + }, + &litMatcher{ + pos: position{line: 376, col: 45, offset: 11450}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 376, col: 49, offset: 11454}, + expr: &actionExpr{ + pos: position{line: 2838, col: 10, offset: 93169}, + run: (*parser).callonDocumentHeader461, + expr: &charClassMatcher{ + pos: position{line: 2838, col: 11, offset: 93170}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 2854, col: 8, offset: 93493}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2847, col: 12, offset: 93353}, + run: (*parser).callonDocumentHeader464, + expr: &choiceExpr{ + pos: position{line: 2847, col: 13, offset: 93354}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2847, col: 13, offset: 93354}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", }, - }, - &labeledExpr{ - pos: position{line: 786, col: 5, offset: 25156}, - label: "content", - expr: &zeroOrMoreExpr{ - pos: position{line: 797, col: 5, offset: 25480}, - expr: &actionExpr{ - pos: position{line: 797, col: 6, offset: 25481}, - run: (*parser).callonDocumentHeader322, - expr: &seqExpr{ - pos: position{line: 797, col: 6, offset: 25481}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 797, col: 6, offset: 25481}, - expr: &choiceExpr{ - pos: position{line: 794, col: 29, offset: 25423}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 741, col: 26, offset: 23902}, - run: (*parser).callonDocumentHeader326, - expr: &seqExpr{ - pos: position{line: 741, col: 26, offset: 23902}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 741, col: 26, offset: 23902}, - val: "////", - ignoreCase: false, - want: "\"////\"", - }, - &zeroOrMoreExpr{ - pos: position{line: 741, col: 33, offset: 23909}, - expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, - run: (*parser).callonDocumentHeader330, - expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, - run: (*parser).callonDocumentHeader333, - expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, - expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, - }, - }, - }, - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, - expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 798, col: 5, offset: 25511}, - label: "line", - expr: &actionExpr{ - pos: position{line: 774, col: 5, offset: 24820}, - run: (*parser).callonDocumentHeader343, - expr: &seqExpr{ - pos: position{line: 774, col: 5, offset: 24820}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 774, col: 5, offset: 24820}, - expr: ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, - expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, - }, - }, - }, - &labeledExpr{ - pos: position{line: 775, col: 5, offset: 24893}, - label: "content", - expr: &actionExpr{ - pos: position{line: 775, col: 14, offset: 24902}, - run: (*parser).callonDocumentHeader349, - expr: &zeroOrMoreExpr{ - pos: position{line: 775, col: 14, offset: 24902}, - expr: &charClassMatcher{ - pos: position{line: 775, col: 14, offset: 24902}, - val: "[^\\r\\n]", - chars: []rune{'\r', '\n'}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, - run: (*parser).callonDocumentHeader353, - expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, - expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, + &litMatcher{ + pos: position{line: 2847, col: 20, offset: 93361}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", }, - }, - &zeroOrOneExpr{ - pos: position{line: 787, col: 5, offset: 25190}, - expr: &choiceExpr{ - pos: position{line: 794, col: 29, offset: 25423}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 741, col: 26, offset: 23902}, - run: (*parser).callonDocumentHeader362, - expr: &seqExpr{ - pos: position{line: 741, col: 26, offset: 23902}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 741, col: 26, offset: 23902}, - val: "////", - ignoreCase: false, - want: "\"////\"", - }, - &zeroOrMoreExpr{ - pos: position{line: 741, col: 33, offset: 23909}, - expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, - run: (*parser).callonDocumentHeader366, - expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, - run: (*parser).callonDocumentHeader369, - expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, - expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, - }, - }, - }, - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, - expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, - }, - }, - }, + &litMatcher{ + pos: position{line: 2847, col: 29, offset: 93370}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", }, }, }, }, + ¬Expr{ + pos: position{line: 2851, col: 8, offset: 93443}, + expr: &anyMatcher{ + line: 2851, col: 9, offset: 93444, + }, + }, }, }, }, }, - &labeledExpr{ - pos: position{line: 1000, col: 5, offset: 30993}, - label: "revision", - expr: &zeroOrOneExpr{ - pos: position{line: 1000, col: 14, offset: 31002}, - expr: &actionExpr{ - pos: position{line: 1056, col: 21, offset: 32589}, - run: (*parser).callonDocumentHeader380, - expr: &seqExpr{ - pos: position{line: 1056, col: 21, offset: 32589}, - exprs: []interface{}{ - &zeroOrMoreExpr{ - pos: position{line: 1056, col: 21, offset: 32589}, - expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, - run: (*parser).callonDocumentHeader383, + }, + &actionExpr{ + pos: position{line: 378, col: 5, offset: 11537}, + run: (*parser).callonDocumentHeader471, + expr: &seqExpr{ + pos: position{line: 378, col: 5, offset: 11537}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 378, col: 5, offset: 11537}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &labeledExpr{ + pos: position{line: 378, col: 9, offset: 11541}, + label: "name", + expr: &actionExpr{ + pos: position{line: 336, col: 18, offset: 10325}, + run: (*parser).callonDocumentHeader475, + expr: &seqExpr{ + pos: position{line: 336, col: 18, offset: 10325}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 336, col: 18, offset: 10325}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 336, col: 28, offset: 10335}, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 336, col: 29, offset: 10336}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, ignoreCase: false, inverted: false, }, }, }, - ¬Expr{ - pos: position{line: 1056, col: 28, offset: 32596}, - expr: &litMatcher{ - pos: position{line: 1056, col: 29, offset: 32597}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - }, - &labeledExpr{ - pos: position{line: 1056, col: 33, offset: 32601}, - label: "revision", - expr: &choiceExpr{ - pos: position{line: 1057, col: 9, offset: 32620}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 1057, col: 10, offset: 32621}, - run: (*parser).callonDocumentHeader389, - expr: &seqExpr{ - pos: position{line: 1057, col: 10, offset: 32621}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 1057, col: 10, offset: 32621}, - label: "revnumber", - expr: &choiceExpr{ - pos: position{line: 1066, col: 27, offset: 33138}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 1066, col: 27, offset: 33138}, - run: (*parser).callonDocumentHeader393, - expr: &seqExpr{ - pos: position{line: 1066, col: 27, offset: 33138}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 1066, col: 27, offset: 33138}, - val: "v", - ignoreCase: true, - want: "\"v\"i", - }, - &charClassMatcher{ - pos: position{line: 1066, col: 32, offset: 33143}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - &oneOrMoreExpr{ - pos: position{line: 1066, col: 38, offset: 33149}, - expr: &charClassMatcher{ - pos: position{line: 1066, col: 38, offset: 33149}, - val: "[^:,\\r\\n]", - chars: []rune{':', ',', '\r', '\n'}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 1068, col: 5, offset: 33197}, - run: (*parser).callonDocumentHeader399, - expr: &seqExpr{ - pos: position{line: 1068, col: 5, offset: 33197}, - exprs: []interface{}{ - &zeroOrOneExpr{ - pos: position{line: 1068, col: 5, offset: 33197}, - expr: &litMatcher{ - pos: position{line: 1068, col: 5, offset: 33197}, - val: "v", - ignoreCase: true, - want: "\"v\"i", - }, - }, - &charClassMatcher{ - pos: position{line: 1068, col: 11, offset: 33203}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - &oneOrMoreExpr{ - pos: position{line: 1068, col: 17, offset: 33209}, - expr: &charClassMatcher{ - pos: position{line: 1068, col: 17, offset: 33209}, - val: "[^:,\\r\\n]", - chars: []rune{':', ',', '\r', '\n'}, - ignoreCase: false, - inverted: true, - }, - }, - &zeroOrMoreExpr{ - pos: position{line: 1068, col: 28, offset: 33220}, - expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, - run: (*parser).callonDocumentHeader407, - expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &andExpr{ - pos: position{line: 1068, col: 35, offset: 33227}, - expr: &litMatcher{ - pos: position{line: 1068, col: 36, offset: 33228}, - val: ",", - ignoreCase: false, - want: "\",\"", - }, - }, - }, - }, - }, - }, - }, - }, - &zeroOrOneExpr{ - pos: position{line: 1057, col: 45, offset: 32656}, - expr: &litMatcher{ - pos: position{line: 1057, col: 45, offset: 32656}, - val: ",", - ignoreCase: false, - want: "\",\"", - }, - }, - &labeledExpr{ - pos: position{line: 1057, col: 50, offset: 32661}, - label: "revdate", - expr: &zeroOrOneExpr{ - pos: position{line: 1057, col: 58, offset: 32669}, - expr: &actionExpr{ - pos: position{line: 1072, col: 25, offset: 33292}, - run: (*parser).callonDocumentHeader415, - expr: &oneOrMoreExpr{ - pos: position{line: 1072, col: 25, offset: 33292}, - expr: &charClassMatcher{ - pos: position{line: 1072, col: 25, offset: 33292}, - val: "[^:\\r\\n]", - chars: []rune{':', '\r', '\n'}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - }, - &zeroOrOneExpr{ - pos: position{line: 1057, col: 82, offset: 32693}, - expr: &litMatcher{ - pos: position{line: 1057, col: 82, offset: 32693}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - }, - &labeledExpr{ - pos: position{line: 1057, col: 87, offset: 32698}, - label: "revremark", - expr: &zeroOrOneExpr{ - pos: position{line: 1057, col: 97, offset: 32708}, - expr: &actionExpr{ - pos: position{line: 1076, col: 27, offset: 33364}, - run: (*parser).callonDocumentHeader422, - expr: &oneOrMoreExpr{ - pos: position{line: 1076, col: 27, offset: 33364}, - expr: &charClassMatcher{ - pos: position{line: 1076, col: 27, offset: 33364}, - val: "[^\\r\\n]", - chars: []rune{'\r', '\n'}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 1059, col: 15, offset: 32826}, - run: (*parser).callonDocumentHeader425, - expr: &seqExpr{ - pos: position{line: 1059, col: 15, offset: 32826}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 1059, col: 15, offset: 32826}, - label: "revdate", - expr: &actionExpr{ - pos: position{line: 1072, col: 25, offset: 33292}, - run: (*parser).callonDocumentHeader428, - expr: &oneOrMoreExpr{ - pos: position{line: 1072, col: 25, offset: 33292}, - expr: &charClassMatcher{ - pos: position{line: 1072, col: 25, offset: 33292}, - val: "[^:\\r\\n]", - chars: []rune{':', '\r', '\n'}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - &zeroOrOneExpr{ - pos: position{line: 1059, col: 46, offset: 32857}, - expr: &litMatcher{ - pos: position{line: 1059, col: 46, offset: 32857}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - }, - &labeledExpr{ - pos: position{line: 1059, col: 51, offset: 32862}, - label: "revremark", - expr: &zeroOrOneExpr{ - pos: position{line: 1059, col: 61, offset: 32872}, - expr: &actionExpr{ - pos: position{line: 1076, col: 27, offset: 33364}, - run: (*parser).callonDocumentHeader435, - expr: &oneOrMoreExpr{ - pos: position{line: 1076, col: 27, offset: 33364}, - expr: &charClassMatcher{ - pos: position{line: 1076, col: 27, offset: 33364}, - val: "[^\\r\\n]", - chars: []rune{'\r', '\n'}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, - run: (*parser).callonDocumentHeader439, - expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, - expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 985, col: 5, offset: 30438}, - label: "extraAttrs", - expr: &zeroOrMoreExpr{ - pos: position{line: 985, col: 16, offset: 30449}, - expr: &choiceExpr{ - pos: position{line: 985, col: 17, offset: 30450}, - alternatives: []interface{}{ - &ruleRefExpr{ - pos: position{line: 985, col: 17, offset: 30450}, - name: "AttributeDeclaration", - }, - &actionExpr{ - pos: position{line: 376, col: 19, offset: 11435}, - run: (*parser).callonDocumentHeader450, - expr: &seqExpr{ - pos: position{line: 376, col: 19, offset: 11435}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 376, col: 19, offset: 11435}, - val: ":!", - ignoreCase: false, - want: "\":!\"", - }, - &labeledExpr{ - pos: position{line: 376, col: 24, offset: 11440}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonDocumentHeader454, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 376, col: 45, offset: 11461}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &zeroOrMoreExpr{ - pos: position{line: 376, col: 49, offset: 11465}, - expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, - run: (*parser).callonDocumentHeader461, - expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, - run: (*parser).callonDocumentHeader464, - expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, - expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 378, col: 5, offset: 11548}, - run: (*parser).callonDocumentHeader471, - expr: &seqExpr{ - pos: position{line: 378, col: 5, offset: 11548}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 378, col: 5, offset: 11548}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 378, col: 9, offset: 11552}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonDocumentHeader475, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 378, col: 30, offset: 11573}, - val: "!:", - ignoreCase: false, - want: "\"!:\"", - }, - &zeroOrMoreExpr{ - pos: position{line: 378, col: 35, offset: 11578}, - expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, - run: (*parser).callonDocumentHeader482, - expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, - run: (*parser).callonDocumentHeader485, - expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, + }, + }, + }, + &litMatcher{ + pos: position{line: 378, col: 30, offset: 11562}, + val: "!:", + ignoreCase: false, + want: "\"!:\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 378, col: 35, offset: 11567}, + expr: &actionExpr{ + pos: position{line: 2838, col: 10, offset: 93169}, + run: (*parser).callonDocumentHeader482, + expr: &charClassMatcher{ + pos: position{line: 2838, col: 11, offset: 93170}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 2854, col: 8, offset: 93493}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2847, col: 12, offset: 93353}, + run: (*parser).callonDocumentHeader485, + expr: &choiceExpr{ + pos: position{line: 2847, col: 13, offset: 93354}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2847, col: 13, offset: 93354}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 2847, col: 20, offset: 93361}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 2847, col: 29, offset: 93370}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, }, }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -22274,26 +16144,26 @@ var g = &grammar{ }, { name: "InlineElement", - pos: position{line: 1143, col: 1, offset: 35489}, + pos: position{line: 1150, col: 1, offset: 35560}, expr: &actionExpr{ - pos: position{line: 1144, col: 5, offset: 35512}, + pos: position{line: 1151, col: 5, offset: 35583}, run: (*parser).callonInlineElement1, expr: &labeledExpr{ - pos: position{line: 1144, col: 5, offset: 35512}, + pos: position{line: 1151, col: 5, offset: 35583}, label: "element", expr: &choiceExpr{ - pos: position{line: 1145, col: 9, offset: 35530}, + pos: position{line: 1152, col: 9, offset: 35601}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2871, col: 5, offset: 94354}, + pos: position{line: 2772, col: 5, offset: 91113}, run: (*parser).callonInlineElement4, expr: &seqExpr{ - pos: position{line: 2871, col: 5, offset: 94354}, + pos: position{line: 2772, col: 5, offset: 91113}, exprs: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 2871, col: 5, offset: 94354}, + pos: position{line: 2772, col: 5, offset: 91113}, expr: &charClassMatcher{ - pos: position{line: 2871, col: 5, offset: 94354}, + pos: position{line: 2772, col: 5, offset: 91113}, val: "[,;!?0-9\\pL]", chars: []rune{',', ';', '!', '?'}, ranges: []rune{'0', '9'}, @@ -22303,13 +16173,13 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2872, col: 6, offset: 94404}, + pos: position{line: 2773, col: 6, offset: 91163}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonInlineElement9, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -22317,37 +16187,37 @@ var g = &grammar{ }, }, &andExpr{ - pos: position{line: 2872, col: 14, offset: 94412}, + pos: position{line: 2773, col: 14, offset: 91171}, expr: &choiceExpr{ - pos: position{line: 2872, col: 16, offset: 94414}, + pos: position{line: 2773, col: 16, offset: 91173}, alternatives: []interface{}{ &charClassMatcher{ - pos: position{line: 2872, col: 16, offset: 94414}, + pos: position{line: 2773, col: 16, offset: 91173}, val: "[.�]", chars: []rune{'.', '�'}, ignoreCase: false, inverted: false, }, &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonInlineElement14, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -22356,9 +16226,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -22370,12 +16240,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2932, col: 11, offset: 96082}, + pos: position{line: 2842, col: 11, offset: 93236}, run: (*parser).callonInlineElement21, expr: &oneOrMoreExpr{ - pos: position{line: 2932, col: 11, offset: 96082}, + pos: position{line: 2842, col: 11, offset: 93236}, expr: &charClassMatcher{ - pos: position{line: 2932, col: 12, offset: 96083}, + pos: position{line: 2842, col: 12, offset: 93237}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -22384,28 +16254,28 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1093, col: 5, offset: 34120}, + pos: position{line: 1100, col: 5, offset: 34146}, run: (*parser).callonInlineElement24, expr: &seqExpr{ - pos: position{line: 1093, col: 5, offset: 34120}, + pos: position{line: 1100, col: 5, offset: 34146}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 1093, col: 5, offset: 34120}, + pos: position{line: 1100, col: 5, offset: 34146}, run: (*parser).callonInlineElement26, }, &litMatcher{ - pos: position{line: 1096, col: 5, offset: 34177}, + pos: position{line: 1103, col: 5, offset: 34248}, val: "+", ignoreCase: false, want: "\"+\"", }, &zeroOrMoreExpr{ - pos: position{line: 1096, col: 9, offset: 34181}, + pos: position{line: 1103, col: 9, offset: 34252}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonInlineElement29, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -22414,30 +16284,30 @@ var g = &grammar{ }, }, &andExpr{ - pos: position{line: 1096, col: 16, offset: 34188}, + pos: position{line: 1103, col: 16, offset: 34259}, expr: &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonInlineElement33, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -22446,9 +16316,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -22458,33 +16328,33 @@ var g = &grammar{ }, }, &seqExpr{ - pos: position{line: 1148, col: 11, offset: 35629}, + pos: position{line: 1155, col: 11, offset: 35700}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 1148, col: 11, offset: 35629}, + pos: position{line: 1155, col: 11, offset: 35700}, expr: &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonInlineElement43, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -22493,61 +16363,61 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, }, }, &choiceExpr{ - pos: position{line: 1149, col: 13, offset: 35648}, + pos: position{line: 1156, col: 13, offset: 35719}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2638, col: 5, offset: 87092}, + pos: position{line: 2539, col: 5, offset: 83846}, run: (*parser).callonInlineElement51, expr: &seqExpr{ - pos: position{line: 2638, col: 5, offset: 87092}, + pos: position{line: 2539, col: 5, offset: 83846}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 2638, col: 5, offset: 87092}, + pos: position{line: 2539, col: 5, offset: 83846}, run: (*parser).callonInlineElement53, }, &labeledExpr{ - pos: position{line: 2641, col: 5, offset: 87163}, + pos: position{line: 2542, col: 5, offset: 83922}, label: "element", expr: &choiceExpr{ - pos: position{line: 2643, col: 9, offset: 87261}, + pos: position{line: 2544, col: 9, offset: 84020}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2643, col: 9, offset: 87261}, + pos: position{line: 2544, col: 9, offset: 84020}, run: (*parser).callonInlineElement56, expr: &choiceExpr{ - pos: position{line: 691, col: 27, offset: 22375}, + pos: position{line: 698, col: 27, offset: 22399}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 691, col: 27, offset: 22375}, + pos: position{line: 698, col: 27, offset: 22399}, run: (*parser).callonInlineElement58, expr: &seqExpr{ - pos: position{line: 691, col: 27, offset: 22375}, + pos: position{line: 698, col: 27, offset: 22399}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 691, col: 27, offset: 22375}, + pos: position{line: 698, col: 27, offset: 22399}, val: "<<", ignoreCase: false, want: "\"<<\"", }, &labeledExpr{ - pos: position{line: 691, col: 32, offset: 22380}, + pos: position{line: 698, col: 32, offset: 22404}, label: "id", expr: &actionExpr{ - pos: position{line: 2913, col: 7, offset: 95667}, + pos: position{line: 2823, col: 7, offset: 92821}, run: (*parser).callonInlineElement62, expr: &oneOrMoreExpr{ - pos: position{line: 2913, col: 7, offset: 95667}, + pos: position{line: 2823, col: 7, offset: 92821}, expr: &charClassMatcher{ - pos: position{line: 2913, col: 7, offset: 95667}, + pos: position{line: 2823, col: 7, offset: 92821}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -22557,12 +16427,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 691, col: 40, offset: 22388}, + pos: position{line: 698, col: 40, offset: 22412}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonInlineElement66, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -22571,27 +16441,27 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 691, col: 47, offset: 22395}, + pos: position{line: 698, col: 47, offset: 22419}, val: ",", ignoreCase: false, want: "\",\"", }, &labeledExpr{ - pos: position{line: 691, col: 51, offset: 22399}, + pos: position{line: 698, col: 51, offset: 22423}, label: "label", expr: &oneOrMoreExpr{ - pos: position{line: 701, col: 24, offset: 22800}, + pos: position{line: 708, col: 24, offset: 22824}, expr: &choiceExpr{ - pos: position{line: 702, col: 5, offset: 22806}, + pos: position{line: 709, col: 5, offset: 22830}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 702, col: 6, offset: 22807}, + pos: position{line: 709, col: 6, offset: 22831}, run: (*parser).callonInlineElement72, expr: &seqExpr{ - pos: position{line: 702, col: 6, offset: 22807}, + pos: position{line: 709, col: 6, offset: 22831}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 702, col: 6, offset: 22807}, + pos: position{line: 709, col: 6, offset: 22831}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -22599,9 +16469,9 @@ var g = &grammar{ inverted: false, }, &oneOrMoreExpr{ - pos: position{line: 702, col: 14, offset: 22815}, + pos: position{line: 709, col: 14, offset: 22839}, expr: &charClassMatcher{ - pos: position{line: 702, col: 14, offset: 22815}, + pos: position{line: 709, col: 14, offset: 22839}, val: "[^\\r\\n{<>]", chars: []rune{'\r', '\n', '{', '<', '>'}, ignoreCase: false, @@ -22612,309 +16482,65 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 649, col: 5, offset: 20887}, + pos: position{line: 663, col: 5, offset: 21092}, run: (*parser).callonInlineElement77, expr: &seqExpr{ - pos: position{line: 649, col: 5, offset: 20887}, + pos: position{line: 663, col: 5, offset: 21092}, exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 649, col: 5, offset: 20887}, - run: (*parser).callonInlineElement79, + &litMatcher{ + pos: position{line: 663, col: 5, offset: 21092}, + val: "{", + ignoreCase: false, + want: "\"{\"", }, &labeledExpr{ - pos: position{line: 652, col: 5, offset: 20951}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 652, col: 14, offset: 20960}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 663, col: 25, offset: 21324}, - run: (*parser).callonInlineElement82, - expr: &seqExpr{ - pos: position{line: 663, col: 25, offset: 21324}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 663, col: 25, offset: 21324}, - val: "{counter:", - ignoreCase: false, - want: "\"{counter:\"", - }, - &labeledExpr{ - pos: position{line: 663, col: 37, offset: 21336}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonInlineElement86, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 663, col: 56, offset: 21355}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 663, col: 62, offset: 21361}, - expr: &actionExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - run: (*parser).callonInlineElement93, - expr: &seqExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 671, col: 17, offset: 21656}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 671, col: 21, offset: 21660}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - run: (*parser).callonInlineElement98, - expr: &charClassMatcher{ - pos: position{line: 671, col: 28, offset: 21667}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - run: (*parser).callonInlineElement100, - expr: &oneOrMoreExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - expr: &charClassMatcher{ - pos: position{line: 673, col: 9, offset: 21721}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 663, col: 78, offset: 21377}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, + pos: position{line: 663, col: 9, offset: 21096}, + label: "name", + expr: &actionExpr{ + pos: position{line: 336, col: 18, offset: 10325}, + run: (*parser).callonInlineElement81, + expr: &seqExpr{ + pos: position{line: 336, col: 18, offset: 10325}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 336, col: 18, offset: 10325}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, }, - }, - &actionExpr{ - pos: position{line: 667, col: 25, offset: 21495}, - run: (*parser).callonInlineElement104, - expr: &seqExpr{ - pos: position{line: 667, col: 25, offset: 21495}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 667, col: 25, offset: 21495}, - val: "{counter2:", - ignoreCase: false, - want: "\"{counter2:\"", - }, - &labeledExpr{ - pos: position{line: 667, col: 38, offset: 21508}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonInlineElement108, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 667, col: 57, offset: 21527}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 667, col: 63, offset: 21533}, - expr: &actionExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - run: (*parser).callonInlineElement115, - expr: &seqExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 671, col: 17, offset: 21656}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 671, col: 21, offset: 21660}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - run: (*parser).callonInlineElement120, - expr: &charClassMatcher{ - pos: position{line: 671, col: 28, offset: 21667}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - run: (*parser).callonInlineElement122, - expr: &oneOrMoreExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - expr: &charClassMatcher{ - pos: position{line: 673, col: 9, offset: 21721}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 667, col: 79, offset: 21549}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 656, col: 31, offset: 21077}, - run: (*parser).callonInlineElement126, - expr: &seqExpr{ - pos: position{line: 656, col: 31, offset: 21077}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 656, col: 31, offset: 21077}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - &labeledExpr{ - pos: position{line: 656, col: 35, offset: 21081}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonInlineElement130, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - 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: 54, offset: 21100}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, + &zeroOrMoreExpr{ + pos: position{line: 336, col: 28, offset: 10335}, + expr: &charClassMatcher{ + pos: position{line: 336, col: 29, offset: 10336}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, }, }, }, }, }, }, + &litMatcher{ + pos: position{line: 663, col: 28, offset: 21115}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, }, }, }, &actionExpr{ - pos: position{line: 706, col: 8, offset: 23039}, - run: (*parser).callonInlineElement136, + pos: position{line: 713, col: 8, offset: 23065}, + run: (*parser).callonInlineElement87, expr: &litMatcher{ - pos: position{line: 706, col: 8, offset: 23039}, + pos: position{line: 713, col: 8, offset: 23065}, val: "{", ignoreCase: false, want: "\"{\"", @@ -22925,7 +16551,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 691, col: 79, offset: 22427}, + pos: position{line: 698, col: 79, offset: 22451}, val: ">>", ignoreCase: false, want: "\">>\"", @@ -22934,27 +16560,27 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 693, col: 9, offset: 22500}, - run: (*parser).callonInlineElement139, + pos: position{line: 700, col: 9, offset: 22524}, + run: (*parser).callonInlineElement90, expr: &seqExpr{ - pos: position{line: 693, col: 9, offset: 22500}, + pos: position{line: 700, col: 9, offset: 22524}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 693, col: 9, offset: 22500}, + pos: position{line: 700, col: 9, offset: 22524}, val: "<<", ignoreCase: false, want: "\"<<\"", }, &labeledExpr{ - pos: position{line: 693, col: 14, offset: 22505}, + pos: position{line: 700, col: 14, offset: 22529}, label: "id", expr: &actionExpr{ - pos: position{line: 2913, col: 7, offset: 95667}, - run: (*parser).callonInlineElement143, + pos: position{line: 2823, col: 7, offset: 92821}, + run: (*parser).callonInlineElement94, expr: &oneOrMoreExpr{ - pos: position{line: 2913, col: 7, offset: 95667}, + pos: position{line: 2823, col: 7, offset: 92821}, expr: &charClassMatcher{ - pos: position{line: 2913, col: 7, offset: 95667}, + pos: position{line: 2823, col: 7, offset: 92821}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -22964,7 +16590,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 693, col: 22, offset: 22513}, + pos: position{line: 700, col: 22, offset: 22537}, val: ">>", ignoreCase: false, want: "\">>\"", @@ -22976,10 +16602,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2646, col: 11, offset: 87365}, - run: (*parser).callonInlineElement147, + pos: position{line: 2547, col: 11, offset: 84124}, + run: (*parser).callonInlineElement98, expr: &charClassMatcher{ - pos: position{line: 2646, col: 12, offset: 87366}, + pos: position{line: 2547, col: 12, offset: 84125}, val: "[<>&]", chars: []rune{'<', '>', '&'}, ignoreCase: false, @@ -22993,48 +16619,48 @@ var g = &grammar{ }, }, &ruleRefExpr{ - pos: position{line: 1150, col: 15, offset: 35679}, + pos: position{line: 1157, col: 15, offset: 35750}, name: "Quote", }, &actionExpr{ - pos: position{line: 649, col: 5, offset: 20887}, - run: (*parser).callonInlineElement150, + pos: position{line: 655, col: 5, offset: 20901}, + run: (*parser).callonInlineElement101, expr: &seqExpr{ - pos: position{line: 649, col: 5, offset: 20887}, + pos: position{line: 655, col: 5, offset: 20901}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 649, col: 5, offset: 20887}, - run: (*parser).callonInlineElement152, + pos: position{line: 655, col: 5, offset: 20901}, + run: (*parser).callonInlineElement103, }, &labeledExpr{ - pos: position{line: 652, col: 5, offset: 20951}, + pos: position{line: 658, col: 5, offset: 20970}, label: "element", expr: &choiceExpr{ - pos: position{line: 652, col: 14, offset: 20960}, + pos: position{line: 658, col: 14, offset: 20979}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 663, col: 25, offset: 21324}, - run: (*parser).callonInlineElement155, + pos: position{line: 670, col: 25, offset: 21348}, + run: (*parser).callonInlineElement106, expr: &seqExpr{ - pos: position{line: 663, col: 25, offset: 21324}, + pos: position{line: 670, col: 25, offset: 21348}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 663, col: 25, offset: 21324}, + pos: position{line: 670, col: 25, offset: 21348}, val: "{counter:", ignoreCase: false, want: "\"{counter:\"", }, &labeledExpr{ - pos: position{line: 663, col: 37, offset: 21336}, + pos: position{line: 670, col: 37, offset: 21360}, label: "name", expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonInlineElement159, + pos: position{line: 336, col: 18, offset: 10325}, + run: (*parser).callonInlineElement110, expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -23043,9 +16669,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, + pos: position{line: 336, col: 28, offset: 10335}, expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, + pos: position{line: 336, col: 29, offset: 10336}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -23059,33 +16685,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 663, col: 56, offset: 21355}, + pos: position{line: 670, col: 56, offset: 21379}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 663, col: 62, offset: 21361}, + pos: position{line: 670, col: 62, offset: 21385}, expr: &actionExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - run: (*parser).callonInlineElement166, + pos: position{line: 678, col: 17, offset: 21680}, + run: (*parser).callonInlineElement117, expr: &seqExpr{ - pos: position{line: 671, col: 17, offset: 21656}, + pos: position{line: 678, col: 17, offset: 21680}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 671, col: 17, offset: 21656}, + pos: position{line: 678, col: 17, offset: 21680}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 671, col: 21, offset: 21660}, + pos: position{line: 678, col: 21, offset: 21684}, label: "start", expr: &choiceExpr{ - pos: position{line: 671, col: 28, offset: 21667}, + pos: position{line: 678, col: 28, offset: 21691}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - run: (*parser).callonInlineElement171, + pos: position{line: 678, col: 28, offset: 21691}, + run: (*parser).callonInlineElement122, expr: &charClassMatcher{ - pos: position{line: 671, col: 28, offset: 21667}, + pos: position{line: 678, col: 28, offset: 21691}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -23093,12 +16719,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - run: (*parser).callonInlineElement173, + pos: position{line: 680, col: 9, offset: 21745}, + run: (*parser).callonInlineElement124, expr: &oneOrMoreExpr{ - pos: position{line: 673, col: 9, offset: 21721}, + pos: position{line: 680, col: 9, offset: 21745}, expr: &charClassMatcher{ - pos: position{line: 673, col: 9, offset: 21721}, + pos: position{line: 680, col: 9, offset: 21745}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -23115,7 +16741,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 663, col: 78, offset: 21377}, + pos: position{line: 670, col: 78, offset: 21401}, val: "}", ignoreCase: false, want: "\"}\"", @@ -23124,28 +16750,28 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 667, col: 25, offset: 21495}, - run: (*parser).callonInlineElement177, + pos: position{line: 674, col: 25, offset: 21519}, + run: (*parser).callonInlineElement128, expr: &seqExpr{ - pos: position{line: 667, col: 25, offset: 21495}, + pos: position{line: 674, col: 25, offset: 21519}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 667, col: 25, offset: 21495}, + pos: position{line: 674, col: 25, offset: 21519}, val: "{counter2:", ignoreCase: false, want: "\"{counter2:\"", }, &labeledExpr{ - pos: position{line: 667, col: 38, offset: 21508}, + pos: position{line: 674, col: 38, offset: 21532}, label: "name", expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonInlineElement181, + pos: position{line: 336, col: 18, offset: 10325}, + run: (*parser).callonInlineElement132, expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -23154,9 +16780,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, + pos: position{line: 336, col: 28, offset: 10335}, expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, + pos: position{line: 336, col: 29, offset: 10336}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -23170,33 +16796,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 667, col: 57, offset: 21527}, + pos: position{line: 674, col: 57, offset: 21551}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 667, col: 63, offset: 21533}, + pos: position{line: 674, col: 63, offset: 21557}, expr: &actionExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - run: (*parser).callonInlineElement188, + pos: position{line: 678, col: 17, offset: 21680}, + run: (*parser).callonInlineElement139, expr: &seqExpr{ - pos: position{line: 671, col: 17, offset: 21656}, + pos: position{line: 678, col: 17, offset: 21680}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 671, col: 17, offset: 21656}, + pos: position{line: 678, col: 17, offset: 21680}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 671, col: 21, offset: 21660}, + pos: position{line: 678, col: 21, offset: 21684}, label: "start", expr: &choiceExpr{ - pos: position{line: 671, col: 28, offset: 21667}, + pos: position{line: 678, col: 28, offset: 21691}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - run: (*parser).callonInlineElement193, + pos: position{line: 678, col: 28, offset: 21691}, + run: (*parser).callonInlineElement144, expr: &charClassMatcher{ - pos: position{line: 671, col: 28, offset: 21667}, + pos: position{line: 678, col: 28, offset: 21691}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -23204,12 +16830,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - run: (*parser).callonInlineElement195, + pos: position{line: 680, col: 9, offset: 21745}, + run: (*parser).callonInlineElement146, expr: &oneOrMoreExpr{ - pos: position{line: 673, col: 9, offset: 21721}, + pos: position{line: 680, col: 9, offset: 21745}, expr: &charClassMatcher{ - pos: position{line: 673, col: 9, offset: 21721}, + pos: position{line: 680, col: 9, offset: 21745}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -23226,7 +16852,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 667, col: 79, offset: 21549}, + pos: position{line: 674, col: 79, offset: 21573}, val: "}", ignoreCase: false, want: "\"}\"", @@ -23235,28 +16861,28 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 656, col: 31, offset: 21077}, - run: (*parser).callonInlineElement199, + pos: position{line: 663, col: 5, offset: 21092}, + run: (*parser).callonInlineElement150, expr: &seqExpr{ - pos: position{line: 656, col: 31, offset: 21077}, + pos: position{line: 663, col: 5, offset: 21092}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 656, col: 31, offset: 21077}, + pos: position{line: 663, col: 5, offset: 21092}, val: "{", ignoreCase: false, want: "\"{\"", }, &labeledExpr{ - pos: position{line: 656, col: 35, offset: 21081}, + pos: position{line: 663, col: 9, offset: 21096}, label: "name", expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonInlineElement203, + pos: position{line: 336, col: 18, offset: 10325}, + run: (*parser).callonInlineElement154, expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -23265,9 +16891,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, + pos: position{line: 336, col: 28, offset: 10335}, expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, + pos: position{line: 336, col: 29, offset: 10336}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -23281,7 +16907,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 656, col: 54, offset: 21100}, + pos: position{line: 663, col: 28, offset: 21115}, val: "}", ignoreCase: false, want: "\"}\"", @@ -23296,67 +16922,67 @@ var g = &grammar{ }, }, &ruleRefExpr{ - pos: position{line: 1152, col: 15, offset: 35736}, + pos: position{line: 1159, col: 15, offset: 35804}, name: "InlineMacro", }, &actionExpr{ - pos: position{line: 2671, col: 15, offset: 88333}, - run: (*parser).callonInlineElement210, + pos: position{line: 2572, col: 15, offset: 85092}, + run: (*parser).callonInlineElement161, expr: &litMatcher{ - pos: position{line: 2671, col: 15, offset: 88333}, + pos: position{line: 2572, col: 15, offset: 85092}, val: "`'", ignoreCase: false, want: "\"`'\"", }, }, &actionExpr{ - pos: position{line: 2677, col: 14, offset: 88448}, - run: (*parser).callonInlineElement212, + pos: position{line: 2578, col: 14, offset: 85207}, + run: (*parser).callonInlineElement163, expr: &litMatcher{ - pos: position{line: 2677, col: 14, offset: 88448}, + pos: position{line: 2578, col: 14, offset: 85207}, val: "(C)", ignoreCase: false, want: "\"(C)\"", }, }, &actionExpr{ - pos: position{line: 2681, col: 14, offset: 88524}, - run: (*parser).callonInlineElement214, + pos: position{line: 2582, col: 14, offset: 85283}, + run: (*parser).callonInlineElement165, expr: &litMatcher{ - pos: position{line: 2681, col: 14, offset: 88524}, + pos: position{line: 2582, col: 14, offset: 85283}, val: "(TM)", ignoreCase: false, want: "\"(TM)\"", }, }, &actionExpr{ - pos: position{line: 2685, col: 15, offset: 88602}, - run: (*parser).callonInlineElement216, + pos: position{line: 2586, col: 15, offset: 85361}, + run: (*parser).callonInlineElement167, expr: &litMatcher{ - pos: position{line: 2685, col: 15, offset: 88602}, + pos: position{line: 2586, col: 15, offset: 85361}, val: "(R)", ignoreCase: false, want: "\"(R)\"", }, }, &actionExpr{ - pos: position{line: 2689, col: 13, offset: 88677}, - run: (*parser).callonInlineElement218, + pos: position{line: 2590, col: 13, offset: 85436}, + run: (*parser).callonInlineElement169, expr: &litMatcher{ - pos: position{line: 2689, col: 13, offset: 88677}, + pos: position{line: 2590, col: 13, offset: 85436}, val: "...", ignoreCase: false, want: "\"...\"", }, }, &actionExpr{ - pos: position{line: 2697, col: 22, offset: 88983}, - run: (*parser).callonInlineElement220, + pos: position{line: 2598, col: 22, offset: 85742}, + run: (*parser).callonInlineElement171, expr: &seqExpr{ - pos: position{line: 2697, col: 22, offset: 88983}, + pos: position{line: 2598, col: 22, offset: 85742}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 2852, col: 13, offset: 93681}, + pos: position{line: 2753, col: 13, offset: 90440}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -23364,15 +16990,15 @@ var g = &grammar{ inverted: false, }, &litMatcher{ - pos: position{line: 2697, col: 31, offset: 88992}, + pos: position{line: 2598, col: 31, offset: 85751}, val: "'", ignoreCase: false, want: "\"'\"", }, &andExpr{ - pos: position{line: 2697, col: 35, offset: 88996}, + pos: position{line: 2598, col: 35, offset: 85755}, expr: &charClassMatcher{ - pos: position{line: 2697, col: 36, offset: 88997}, + pos: position{line: 2598, col: 36, offset: 85756}, val: "[\\pL]", classes: []*unicode.RangeTable{rangeTable("L")}, ignoreCase: false, @@ -23383,27 +17009,27 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1085, col: 23, offset: 33674}, - run: (*parser).callonInlineElement226, + pos: position{line: 1092, col: 23, offset: 33700}, + run: (*parser).callonInlineElement177, expr: &seqExpr{ - pos: position{line: 1085, col: 23, offset: 33674}, + pos: position{line: 1092, col: 23, offset: 33700}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1083, col: 32, offset: 33642}, + pos: position{line: 1090, col: 32, offset: 33668}, val: "�", ignoreCase: false, want: "\"�\"", }, &labeledExpr{ - pos: position{line: 1085, col: 51, offset: 33702}, + pos: position{line: 1092, col: 51, offset: 33728}, label: "ref", expr: &actionExpr{ - pos: position{line: 1085, col: 56, offset: 33707}, - run: (*parser).callonInlineElement230, + pos: position{line: 1092, col: 56, offset: 33733}, + run: (*parser).callonInlineElement181, expr: &oneOrMoreExpr{ - pos: position{line: 1085, col: 56, offset: 33707}, + pos: position{line: 1092, col: 56, offset: 33733}, expr: &charClassMatcher{ - pos: position{line: 1085, col: 56, offset: 33707}, + pos: position{line: 1092, col: 56, offset: 33733}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -23413,7 +17039,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1083, col: 32, offset: 33642}, + pos: position{line: 1090, col: 32, offset: 33668}, val: "�", ignoreCase: false, want: "\"�\"", @@ -23422,10 +17048,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2883, col: 12, offset: 94746}, - run: (*parser).callonInlineElement234, + pos: position{line: 2784, col: 12, offset: 91505}, + run: (*parser).callonInlineElement185, expr: &anyMatcher{ - line: 2883, col: 12, offset: 94746, + line: 2784, col: 12, offset: 91505, }, }, }, @@ -23439,29 +17065,29 @@ var g = &grammar{ }, { name: "IndexTerm", - pos: position{line: 1171, col: 1, offset: 36503}, + pos: position{line: 1178, col: 1, offset: 36571}, expr: &actionExpr{ - pos: position{line: 1171, col: 14, offset: 36516}, + pos: position{line: 1178, col: 14, offset: 36584}, run: (*parser).callonIndexTerm1, expr: &seqExpr{ - pos: position{line: 1171, col: 14, offset: 36516}, + pos: position{line: 1178, col: 14, offset: 36584}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1171, col: 14, offset: 36516}, + pos: position{line: 1178, col: 14, offset: 36584}, val: "((", ignoreCase: false, want: "\"((\"", }, &labeledExpr{ - pos: position{line: 1171, col: 19, offset: 36521}, + pos: position{line: 1178, col: 19, offset: 36589}, label: "term", expr: &ruleRefExpr{ - pos: position{line: 1171, col: 25, offset: 36527}, + pos: position{line: 1178, col: 25, offset: 36595}, name: "IndexTermContent", }, }, &litMatcher{ - pos: position{line: 1171, col: 43, offset: 36545}, + pos: position{line: 1178, col: 43, offset: 36613}, val: "))", ignoreCase: false, want: "\"))\"", @@ -23472,28 +17098,28 @@ var g = &grammar{ }, { name: "IndexTermContent", - pos: position{line: 1175, col: 1, offset: 36614}, + pos: position{line: 1182, col: 1, offset: 36682}, expr: &actionExpr{ - pos: position{line: 1175, col: 21, offset: 36634}, + pos: position{line: 1182, col: 21, offset: 36702}, run: (*parser).callonIndexTermContent1, expr: &labeledExpr{ - pos: position{line: 1175, col: 21, offset: 36634}, + pos: position{line: 1182, col: 21, offset: 36702}, label: "elements", expr: &oneOrMoreExpr{ - pos: position{line: 1175, col: 30, offset: 36643}, + pos: position{line: 1182, col: 30, offset: 36711}, expr: &choiceExpr{ - pos: position{line: 1175, col: 31, offset: 36644}, + pos: position{line: 1182, col: 31, offset: 36712}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2864, col: 5, offset: 94136}, + pos: position{line: 2765, col: 5, offset: 90895}, run: (*parser).callonIndexTermContent5, expr: &seqExpr{ - pos: position{line: 2864, col: 5, offset: 94136}, + pos: position{line: 2765, col: 5, offset: 90895}, exprs: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 2864, col: 5, offset: 94136}, + pos: position{line: 2765, col: 5, offset: 90895}, expr: &charClassMatcher{ - pos: position{line: 2864, col: 5, offset: 94136}, + pos: position{line: 2765, col: 5, offset: 90895}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -23502,21 +17128,21 @@ var g = &grammar{ }, }, &andExpr{ - pos: position{line: 2864, col: 15, offset: 94146}, + pos: position{line: 2765, col: 15, offset: 90905}, expr: &choiceExpr{ - pos: position{line: 2864, col: 17, offset: 94148}, + pos: position{line: 2765, col: 17, offset: 90907}, alternatives: []interface{}{ &charClassMatcher{ - pos: position{line: 2864, col: 17, offset: 94148}, + pos: position{line: 2765, col: 17, offset: 90907}, val: "[\\r\\n ,]]", chars: []rune{'\r', '\n', ' ', ',', ']'}, ignoreCase: false, inverted: false, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -23526,15 +17152,15 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2866, col: 9, offset: 94230}, + pos: position{line: 2767, col: 9, offset: 90989}, run: (*parser).callonIndexTermContent14, expr: &seqExpr{ - pos: position{line: 2866, col: 9, offset: 94230}, + pos: position{line: 2767, col: 9, offset: 90989}, exprs: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 2866, col: 9, offset: 94230}, + pos: position{line: 2767, col: 9, offset: 90989}, expr: &charClassMatcher{ - pos: position{line: 2866, col: 9, offset: 94230}, + pos: position{line: 2767, col: 9, offset: 90989}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -23543,21 +17169,21 @@ var g = &grammar{ }, }, &oneOrMoreExpr{ - pos: position{line: 2866, col: 19, offset: 94240}, + pos: position{line: 2767, col: 19, offset: 90999}, expr: &seqExpr{ - pos: position{line: 2866, col: 20, offset: 94241}, + pos: position{line: 2767, col: 20, offset: 91000}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 2866, col: 20, offset: 94241}, + pos: position{line: 2767, col: 20, offset: 91000}, val: "[=*_`]", chars: []rune{'=', '*', '_', '`'}, ignoreCase: false, inverted: false, }, &oneOrMoreExpr{ - pos: position{line: 2866, col: 27, offset: 94248}, + pos: position{line: 2767, col: 27, offset: 91007}, expr: &charClassMatcher{ - pos: position{line: 2866, col: 27, offset: 94248}, + pos: position{line: 2767, col: 27, offset: 91007}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -23572,18 +17198,18 @@ var g = &grammar{ }, }, &ruleRefExpr{ - pos: position{line: 1175, col: 38, offset: 36651}, + pos: position{line: 1182, col: 38, offset: 36719}, name: "QuotedString", }, &ruleRefExpr{ - pos: position{line: 1175, col: 53, offset: 36666}, + pos: position{line: 1182, col: 53, offset: 36734}, name: "QuotedText", }, &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonIndexTermContent25, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -23591,49 +17217,49 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2638, col: 5, offset: 87092}, + pos: position{line: 2539, col: 5, offset: 83846}, run: (*parser).callonIndexTermContent27, expr: &seqExpr{ - pos: position{line: 2638, col: 5, offset: 87092}, + pos: position{line: 2539, col: 5, offset: 83846}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 2638, col: 5, offset: 87092}, + pos: position{line: 2539, col: 5, offset: 83846}, run: (*parser).callonIndexTermContent29, }, &labeledExpr{ - pos: position{line: 2641, col: 5, offset: 87163}, + pos: position{line: 2542, col: 5, offset: 83922}, label: "element", expr: &choiceExpr{ - pos: position{line: 2643, col: 9, offset: 87261}, + pos: position{line: 2544, col: 9, offset: 84020}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2643, col: 9, offset: 87261}, + pos: position{line: 2544, col: 9, offset: 84020}, run: (*parser).callonIndexTermContent32, expr: &choiceExpr{ - pos: position{line: 691, col: 27, offset: 22375}, + pos: position{line: 698, col: 27, offset: 22399}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 691, col: 27, offset: 22375}, + pos: position{line: 698, col: 27, offset: 22399}, run: (*parser).callonIndexTermContent34, expr: &seqExpr{ - pos: position{line: 691, col: 27, offset: 22375}, + pos: position{line: 698, col: 27, offset: 22399}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 691, col: 27, offset: 22375}, + pos: position{line: 698, col: 27, offset: 22399}, val: "<<", ignoreCase: false, want: "\"<<\"", }, &labeledExpr{ - pos: position{line: 691, col: 32, offset: 22380}, + pos: position{line: 698, col: 32, offset: 22404}, label: "id", expr: &actionExpr{ - pos: position{line: 2913, col: 7, offset: 95667}, + pos: position{line: 2823, col: 7, offset: 92821}, run: (*parser).callonIndexTermContent38, expr: &oneOrMoreExpr{ - pos: position{line: 2913, col: 7, offset: 95667}, + pos: position{line: 2823, col: 7, offset: 92821}, expr: &charClassMatcher{ - pos: position{line: 2913, col: 7, offset: 95667}, + pos: position{line: 2823, col: 7, offset: 92821}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -23643,12 +17269,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 691, col: 40, offset: 22388}, + pos: position{line: 698, col: 40, offset: 22412}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonIndexTermContent42, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -23657,27 +17283,27 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 691, col: 47, offset: 22395}, + pos: position{line: 698, col: 47, offset: 22419}, val: ",", ignoreCase: false, want: "\",\"", }, &labeledExpr{ - pos: position{line: 691, col: 51, offset: 22399}, + pos: position{line: 698, col: 51, offset: 22423}, label: "label", expr: &oneOrMoreExpr{ - pos: position{line: 701, col: 24, offset: 22800}, + pos: position{line: 708, col: 24, offset: 22824}, expr: &choiceExpr{ - pos: position{line: 702, col: 5, offset: 22806}, + pos: position{line: 709, col: 5, offset: 22830}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 702, col: 6, offset: 22807}, + pos: position{line: 709, col: 6, offset: 22831}, run: (*parser).callonIndexTermContent48, expr: &seqExpr{ - pos: position{line: 702, col: 6, offset: 22807}, + pos: position{line: 709, col: 6, offset: 22831}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 702, col: 6, offset: 22807}, + pos: position{line: 709, col: 6, offset: 22831}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -23685,9 +17311,9 @@ var g = &grammar{ inverted: false, }, &oneOrMoreExpr{ - pos: position{line: 702, col: 14, offset: 22815}, + pos: position{line: 709, col: 14, offset: 22839}, expr: &charClassMatcher{ - pos: position{line: 702, col: 14, offset: 22815}, + pos: position{line: 709, col: 14, offset: 22839}, val: "[^\\r\\n{<>]", chars: []rune{'\r', '\n', '{', '<', '>'}, ignoreCase: false, @@ -23698,309 +17324,65 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 649, col: 5, offset: 20887}, + pos: position{line: 663, col: 5, offset: 21092}, run: (*parser).callonIndexTermContent53, expr: &seqExpr{ - pos: position{line: 649, col: 5, offset: 20887}, + pos: position{line: 663, col: 5, offset: 21092}, exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 649, col: 5, offset: 20887}, - run: (*parser).callonIndexTermContent55, + &litMatcher{ + pos: position{line: 663, col: 5, offset: 21092}, + val: "{", + ignoreCase: false, + want: "\"{\"", }, &labeledExpr{ - pos: position{line: 652, col: 5, offset: 20951}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 652, col: 14, offset: 20960}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 663, col: 25, offset: 21324}, - run: (*parser).callonIndexTermContent58, - expr: &seqExpr{ - pos: position{line: 663, col: 25, offset: 21324}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 663, col: 25, offset: 21324}, - val: "{counter:", - ignoreCase: false, - want: "\"{counter:\"", - }, - &labeledExpr{ - pos: position{line: 663, col: 37, offset: 21336}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonIndexTermContent62, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 663, col: 56, offset: 21355}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 663, col: 62, offset: 21361}, - expr: &actionExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - run: (*parser).callonIndexTermContent69, - expr: &seqExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 671, col: 17, offset: 21656}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 671, col: 21, offset: 21660}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - run: (*parser).callonIndexTermContent74, - expr: &charClassMatcher{ - pos: position{line: 671, col: 28, offset: 21667}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - run: (*parser).callonIndexTermContent76, - expr: &oneOrMoreExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - expr: &charClassMatcher{ - pos: position{line: 673, col: 9, offset: 21721}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 663, col: 78, offset: 21377}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 667, col: 25, offset: 21495}, - run: (*parser).callonIndexTermContent80, - expr: &seqExpr{ - pos: position{line: 667, col: 25, offset: 21495}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 667, col: 25, offset: 21495}, - val: "{counter2:", - ignoreCase: false, - want: "\"{counter2:\"", - }, - &labeledExpr{ - pos: position{line: 667, col: 38, offset: 21508}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonIndexTermContent84, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 667, col: 57, offset: 21527}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 667, col: 63, offset: 21533}, - expr: &actionExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - run: (*parser).callonIndexTermContent91, - expr: &seqExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 671, col: 17, offset: 21656}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 671, col: 21, offset: 21660}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - run: (*parser).callonIndexTermContent96, - expr: &charClassMatcher{ - pos: position{line: 671, col: 28, offset: 21667}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - run: (*parser).callonIndexTermContent98, - expr: &oneOrMoreExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - expr: &charClassMatcher{ - pos: position{line: 673, col: 9, offset: 21721}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 667, col: 79, offset: 21549}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, + pos: position{line: 663, col: 9, offset: 21096}, + label: "name", + expr: &actionExpr{ + pos: position{line: 336, col: 18, offset: 10325}, + run: (*parser).callonIndexTermContent57, + expr: &seqExpr{ + pos: position{line: 336, col: 18, offset: 10325}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 336, col: 18, offset: 10325}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, }, - }, - &actionExpr{ - pos: position{line: 656, col: 31, offset: 21077}, - run: (*parser).callonIndexTermContent102, - expr: &seqExpr{ - pos: position{line: 656, col: 31, offset: 21077}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 656, col: 31, offset: 21077}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - &labeledExpr{ - pos: position{line: 656, col: 35, offset: 21081}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonIndexTermContent106, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - 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: 54, offset: 21100}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, + &zeroOrMoreExpr{ + pos: position{line: 336, col: 28, offset: 10335}, + expr: &charClassMatcher{ + pos: position{line: 336, col: 29, offset: 10336}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, }, }, }, }, }, }, + &litMatcher{ + pos: position{line: 663, col: 28, offset: 21115}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, }, }, }, &actionExpr{ - pos: position{line: 706, col: 8, offset: 23039}, - run: (*parser).callonIndexTermContent112, + pos: position{line: 713, col: 8, offset: 23065}, + run: (*parser).callonIndexTermContent63, expr: &litMatcher{ - pos: position{line: 706, col: 8, offset: 23039}, + pos: position{line: 713, col: 8, offset: 23065}, val: "{", ignoreCase: false, want: "\"{\"", @@ -24011,7 +17393,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 691, col: 79, offset: 22427}, + pos: position{line: 698, col: 79, offset: 22451}, val: ">>", ignoreCase: false, want: "\">>\"", @@ -24020,27 +17402,27 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 693, col: 9, offset: 22500}, - run: (*parser).callonIndexTermContent115, + pos: position{line: 700, col: 9, offset: 22524}, + run: (*parser).callonIndexTermContent66, expr: &seqExpr{ - pos: position{line: 693, col: 9, offset: 22500}, + pos: position{line: 700, col: 9, offset: 22524}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 693, col: 9, offset: 22500}, + pos: position{line: 700, col: 9, offset: 22524}, val: "<<", ignoreCase: false, want: "\"<<\"", }, &labeledExpr{ - pos: position{line: 693, col: 14, offset: 22505}, + pos: position{line: 700, col: 14, offset: 22529}, label: "id", expr: &actionExpr{ - pos: position{line: 2913, col: 7, offset: 95667}, - run: (*parser).callonIndexTermContent119, + pos: position{line: 2823, col: 7, offset: 92821}, + run: (*parser).callonIndexTermContent70, expr: &oneOrMoreExpr{ - pos: position{line: 2913, col: 7, offset: 95667}, + pos: position{line: 2823, col: 7, offset: 92821}, expr: &charClassMatcher{ - pos: position{line: 2913, col: 7, offset: 95667}, + pos: position{line: 2823, col: 7, offset: 92821}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -24050,7 +17432,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 693, col: 22, offset: 22513}, + pos: position{line: 700, col: 22, offset: 22537}, val: ">>", ignoreCase: false, want: "\">>\"", @@ -24062,10 +17444,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2646, col: 11, offset: 87365}, - run: (*parser).callonIndexTermContent123, + pos: position{line: 2547, col: 11, offset: 84124}, + run: (*parser).callonIndexTermContent74, expr: &charClassMatcher{ - pos: position{line: 2646, col: 12, offset: 87366}, + pos: position{line: 2547, col: 12, offset: 84125}, val: "[<>&]", chars: []rune{'<', '>', '&'}, ignoreCase: false, @@ -24079,27 +17461,27 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1085, col: 23, offset: 33674}, - run: (*parser).callonIndexTermContent125, + pos: position{line: 1092, col: 23, offset: 33700}, + run: (*parser).callonIndexTermContent76, expr: &seqExpr{ - pos: position{line: 1085, col: 23, offset: 33674}, + pos: position{line: 1092, col: 23, offset: 33700}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1083, col: 32, offset: 33642}, + pos: position{line: 1090, col: 32, offset: 33668}, val: "�", ignoreCase: false, want: "\"�\"", }, &labeledExpr{ - pos: position{line: 1085, col: 51, offset: 33702}, + pos: position{line: 1092, col: 51, offset: 33728}, label: "ref", expr: &actionExpr{ - pos: position{line: 1085, col: 56, offset: 33707}, - run: (*parser).callonIndexTermContent129, + pos: position{line: 1092, col: 56, offset: 33733}, + run: (*parser).callonIndexTermContent80, expr: &oneOrMoreExpr{ - pos: position{line: 1085, col: 56, offset: 33707}, + pos: position{line: 1092, col: 56, offset: 33733}, expr: &charClassMatcher{ - pos: position{line: 1085, col: 56, offset: 33707}, + pos: position{line: 1092, col: 56, offset: 33733}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -24109,7 +17491,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1083, col: 32, offset: 33642}, + pos: position{line: 1090, col: 32, offset: 33668}, val: "�", ignoreCase: false, want: "\"�\"", @@ -24118,22 +17500,22 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1175, col: 114, offset: 36727}, - run: (*parser).callonIndexTermContent133, + pos: position{line: 1182, col: 114, offset: 36795}, + run: (*parser).callonIndexTermContent84, expr: &seqExpr{ - pos: position{line: 1175, col: 115, offset: 36728}, + pos: position{line: 1182, col: 115, offset: 36796}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 1175, col: 115, offset: 36728}, + pos: position{line: 1182, col: 115, offset: 36796}, expr: &litMatcher{ - pos: position{line: 1175, col: 116, offset: 36729}, + pos: position{line: 1182, col: 116, offset: 36797}, val: "))", ignoreCase: false, want: "\"))\"", }, }, &anyMatcher{ - line: 1175, col: 121, offset: 36734, + line: 1182, col: 121, offset: 36802, }, }, }, @@ -24146,62 +17528,62 @@ var g = &grammar{ }, { name: "ImageBlock", - pos: position{line: 1195, col: 1, offset: 37443}, + pos: position{line: 1202, col: 1, offset: 37511}, expr: &actionExpr{ - pos: position{line: 1196, col: 5, offset: 37462}, + pos: position{line: 1203, col: 5, offset: 37530}, run: (*parser).callonImageBlock1, expr: &seqExpr{ - pos: position{line: 1196, col: 5, offset: 37462}, + pos: position{line: 1203, col: 5, offset: 37530}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1196, col: 5, offset: 37462}, + pos: position{line: 1203, col: 5, offset: 37530}, val: "image::", ignoreCase: false, want: "\"image::\"", }, &labeledExpr{ - pos: position{line: 1196, col: 15, offset: 37472}, + pos: position{line: 1203, col: 15, offset: 37540}, label: "path", expr: &actionExpr{ - pos: position{line: 2891, col: 13, offset: 94947}, + pos: position{line: 2792, col: 13, offset: 91706}, run: (*parser).callonImageBlock5, expr: &seqExpr{ - pos: position{line: 2891, col: 13, offset: 94947}, + pos: position{line: 2792, col: 13, offset: 91706}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 2891, col: 13, offset: 94947}, + pos: position{line: 2792, col: 13, offset: 91706}, label: "scheme", expr: &zeroOrOneExpr{ - pos: position{line: 2891, col: 20, offset: 94954}, + pos: position{line: 2792, col: 20, offset: 91713}, expr: &choiceExpr{ - pos: position{line: 2911, col: 11, offset: 95603}, + pos: position{line: 2803, col: 11, offset: 92136}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2911, col: 11, offset: 95603}, + pos: position{line: 2803, col: 11, offset: 92136}, val: "http://", ignoreCase: false, want: "\"http://\"", }, &litMatcher{ - pos: position{line: 2911, col: 23, offset: 95615}, + pos: position{line: 2803, col: 23, offset: 92148}, val: "https://", ignoreCase: false, want: "\"https://\"", }, &litMatcher{ - pos: position{line: 2911, col: 36, offset: 95628}, + pos: position{line: 2803, col: 36, offset: 92161}, val: "ftp://", ignoreCase: false, want: "\"ftp://\"", }, &litMatcher{ - pos: position{line: 2911, col: 47, offset: 95639}, + pos: position{line: 2803, col: 47, offset: 92172}, val: "irc://", ignoreCase: false, want: "\"irc://\"", }, &litMatcher{ - pos: position{line: 2911, col: 58, offset: 95650}, + pos: position{line: 2803, col: 58, offset: 92183}, val: "mailto:", ignoreCase: false, want: "\"mailto:\"", @@ -24211,256 +17593,198 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 2891, col: 30, offset: 94964}, + pos: position{line: 2792, col: 30, offset: 91723}, label: "path", expr: &oneOrMoreExpr{ - pos: position{line: 2891, col: 35, offset: 94969}, + pos: position{line: 2792, col: 35, offset: 91728}, expr: &choiceExpr{ - pos: position{line: 2891, col: 36, offset: 94970}, + pos: position{line: 2792, col: 36, offset: 91729}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2899, col: 13, offset: 95239}, + pos: position{line: 2806, col: 5, offset: 92211}, run: (*parser).callonImageBlock18, - expr: &labeledExpr{ - pos: position{line: 2899, col: 13, offset: 95239}, - label: "elements", - expr: &oneOrMoreExpr{ - pos: position{line: 2899, col: 22, offset: 95248}, - expr: &choiceExpr{ - pos: position{line: 2900, col: 5, offset: 95254}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2900, col: 5, offset: 95254}, - run: (*parser).callonImageBlock22, - expr: &oneOrMoreExpr{ - pos: position{line: 2900, col: 5, offset: 95254}, - expr: &charClassMatcher{ - pos: position{line: 2900, col: 6, offset: 95255}, - val: "[^\\r\\n[]�&<>{ ]", - chars: []rune{'\r', '\n', '[', ']', '�', '&', '<', '>', '{', ' '}, - ignoreCase: false, - inverted: true, - }, - }, - }, - &actionExpr{ - pos: position{line: 649, col: 5, offset: 20887}, - run: (*parser).callonImageBlock25, - expr: &seqExpr{ - pos: position{line: 649, col: 5, offset: 20887}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 649, col: 5, offset: 20887}, - run: (*parser).callonImageBlock27, + expr: &seqExpr{ + pos: position{line: 2806, col: 5, offset: 92211}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 2806, col: 5, offset: 92211}, + expr: &litMatcher{ + pos: position{line: 2806, col: 6, offset: 92212}, + val: "[", + ignoreCase: false, + want: "\"[\"", + }, + }, + &labeledExpr{ + pos: position{line: 2807, col: 5, offset: 92236}, + label: "elements", + expr: &oneOrMoreExpr{ + pos: position{line: 2807, col: 14, offset: 92245}, + expr: &choiceExpr{ + pos: position{line: 2811, col: 9, offset: 92419}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2811, col: 9, offset: 92419}, + run: (*parser).callonImageBlock25, + expr: &oneOrMoreExpr{ + pos: position{line: 2811, col: 9, offset: 92419}, + expr: &charClassMatcher{ + pos: position{line: 2811, col: 10, offset: 92420}, + val: "[^\\r\\n[]�{ ]", + chars: []rune{'\r', '\n', '[', ']', '�', '{', ' '}, + ignoreCase: false, + inverted: true, + }, }, - &labeledExpr{ - pos: position{line: 652, col: 5, offset: 20951}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 652, col: 14, offset: 20960}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 663, col: 25, offset: 21324}, - run: (*parser).callonImageBlock30, - expr: &seqExpr{ - pos: position{line: 663, col: 25, offset: 21324}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 663, col: 25, offset: 21324}, - val: "{counter:", - ignoreCase: false, - want: "\"{counter:\"", - }, - &labeledExpr{ - pos: position{line: 663, col: 37, offset: 21336}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonImageBlock34, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 663, col: 56, offset: 21355}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 663, col: 62, offset: 21361}, - expr: &actionExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - run: (*parser).callonImageBlock41, - expr: &seqExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 671, col: 17, offset: 21656}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 671, col: 21, offset: 21660}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - run: (*parser).callonImageBlock46, - expr: &charClassMatcher{ - pos: position{line: 671, col: 28, offset: 21667}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - run: (*parser).callonImageBlock48, - expr: &oneOrMoreExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - expr: &charClassMatcher{ - pos: position{line: 673, col: 9, offset: 21721}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, + }, + &seqExpr{ + pos: position{line: 2814, col: 11, offset: 92573}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2814, col: 11, offset: 92573}, + val: ".", + ignoreCase: false, + want: "\".\"", + }, + &andExpr{ + pos: position{line: 2814, col: 15, offset: 92577}, + expr: ¬Expr{ + pos: position{line: 2814, col: 17, offset: 92579}, + expr: &choiceExpr{ + pos: position{line: 2814, col: 19, offset: 92581}, + alternatives: []interface{}{ + ¬Expr{ + pos: position{line: 2851, col: 8, offset: 93443}, + expr: &anyMatcher{ + line: 2851, col: 9, offset: 93444, }, - &litMatcher{ - pos: position{line: 663, col: 78, offset: 21377}, - val: "}", + }, + &actionExpr{ + pos: position{line: 2838, col: 10, offset: 93169}, + run: (*parser).callonImageBlock35, + expr: &charClassMatcher{ + pos: position{line: 2838, col: 11, offset: 93170}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, ignoreCase: false, - want: "\"}\"", + inverted: false, }, }, }, }, - &actionExpr{ - pos: position{line: 667, col: 25, offset: 21495}, - run: (*parser).callonImageBlock52, - expr: &seqExpr{ - pos: position{line: 667, col: 25, offset: 21495}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 667, col: 25, offset: 21495}, - val: "{counter2:", - ignoreCase: false, - want: "\"{counter2:\"", - }, - &labeledExpr{ - pos: position{line: 667, col: 38, offset: 21508}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonImageBlock56, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 655, col: 5, offset: 20901}, + run: (*parser).callonImageBlock37, + expr: &seqExpr{ + pos: position{line: 655, col: 5, offset: 20901}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 655, col: 5, offset: 20901}, + run: (*parser).callonImageBlock39, + }, + &labeledExpr{ + pos: position{line: 658, col: 5, offset: 20970}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 658, col: 14, offset: 20979}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 670, col: 25, offset: 21348}, + run: (*parser).callonImageBlock42, + expr: &seqExpr{ + pos: position{line: 670, col: 25, offset: 21348}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 670, col: 25, offset: 21348}, + val: "{counter:", + ignoreCase: false, + want: "\"{counter:\"", + }, + &labeledExpr{ + pos: position{line: 670, col: 37, offset: 21360}, + label: "name", + expr: &actionExpr{ + pos: position{line: 336, col: 18, offset: 10325}, + run: (*parser).callonImageBlock46, + expr: &seqExpr{ + pos: position{line: 336, col: 18, offset: 10325}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 336, col: 18, offset: 10325}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 336, col: 28, offset: 10335}, + expr: &charClassMatcher{ + pos: position{line: 336, col: 29, offset: 10336}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, }, }, }, }, - }, - }, - &labeledExpr{ - pos: position{line: 667, col: 57, offset: 21527}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 667, col: 63, offset: 21533}, - expr: &actionExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - run: (*parser).callonImageBlock63, - expr: &seqExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 671, col: 17, offset: 21656}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 671, col: 21, offset: 21660}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - run: (*parser).callonImageBlock68, - expr: &charClassMatcher{ - pos: position{line: 671, col: 28, offset: 21667}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - run: (*parser).callonImageBlock70, - expr: &oneOrMoreExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - expr: &charClassMatcher{ - pos: position{line: 673, col: 9, offset: 21721}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, + &labeledExpr{ + pos: position{line: 670, col: 56, offset: 21379}, + label: "start", + expr: &zeroOrOneExpr{ + pos: position{line: 670, col: 62, offset: 21385}, + expr: &actionExpr{ + pos: position{line: 678, col: 17, offset: 21680}, + run: (*parser).callonImageBlock53, + expr: &seqExpr{ + pos: position{line: 678, col: 17, offset: 21680}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 678, col: 17, offset: 21680}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &labeledExpr{ + pos: position{line: 678, col: 21, offset: 21684}, + label: "start", + expr: &choiceExpr{ + pos: position{line: 678, col: 28, offset: 21691}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 678, col: 28, offset: 21691}, + run: (*parser).callonImageBlock58, + expr: &charClassMatcher{ + pos: position{line: 678, col: 28, offset: 21691}, + val: "[A-Za-z]", + ranges: []rune{'A', 'Z', 'a', 'z'}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 680, col: 9, offset: 21745}, + run: (*parser).callonImageBlock60, + expr: &oneOrMoreExpr{ + pos: position{line: 680, col: 9, offset: 21745}, + expr: &charClassMatcher{ + pos: position{line: 680, col: 9, offset: 21745}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, }, }, }, @@ -24470,574 +17794,197 @@ var g = &grammar{ }, }, }, + &litMatcher{ + pos: position{line: 670, col: 78, offset: 21401}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, }, }, - &litMatcher{ - pos: position{line: 667, col: 79, offset: 21549}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, }, - }, - }, - &actionExpr{ - pos: position{line: 656, col: 31, offset: 21077}, - run: (*parser).callonImageBlock74, - expr: &seqExpr{ - pos: position{line: 656, col: 31, offset: 21077}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 656, col: 31, offset: 21077}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - &labeledExpr{ - pos: position{line: 656, col: 35, offset: 21081}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonImageBlock78, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, + &actionExpr{ + pos: position{line: 674, col: 25, offset: 21519}, + run: (*parser).callonImageBlock64, + expr: &seqExpr{ + pos: position{line: 674, col: 25, offset: 21519}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 674, col: 25, offset: 21519}, + val: "{counter2:", + ignoreCase: false, + want: "\"{counter2:\"", }, - }, - }, - &litMatcher{ - pos: position{line: 656, col: 54, offset: 21100}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2638, col: 5, offset: 87092}, - run: (*parser).callonImageBlock84, - expr: &seqExpr{ - pos: position{line: 2638, col: 5, offset: 87092}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 2638, col: 5, offset: 87092}, - run: (*parser).callonImageBlock86, - }, - &labeledExpr{ - pos: position{line: 2641, col: 5, offset: 87163}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 2643, col: 9, offset: 87261}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2643, col: 9, offset: 87261}, - run: (*parser).callonImageBlock89, - expr: &choiceExpr{ - pos: position{line: 691, col: 27, offset: 22375}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 691, col: 27, offset: 22375}, - run: (*parser).callonImageBlock91, - expr: &seqExpr{ - pos: position{line: 691, col: 27, offset: 22375}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 691, col: 27, offset: 22375}, - val: "<<", - ignoreCase: false, - want: "\"<<\"", - }, - &labeledExpr{ - pos: position{line: 691, col: 32, offset: 22380}, - label: "id", - expr: &actionExpr{ - pos: position{line: 2913, col: 7, offset: 95667}, - run: (*parser).callonImageBlock95, - expr: &oneOrMoreExpr{ - pos: position{line: 2913, col: 7, offset: 95667}, - expr: &charClassMatcher{ - pos: position{line: 2913, col: 7, offset: 95667}, - val: "[^[]<>,]", - chars: []rune{'[', ']', '<', '>', ','}, + &labeledExpr{ + pos: position{line: 674, col: 38, offset: 21532}, + label: "name", + expr: &actionExpr{ + pos: position{line: 336, col: 18, offset: 10325}, + run: (*parser).callonImageBlock68, + expr: &seqExpr{ + pos: position{line: 336, col: 18, offset: 10325}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 336, col: 18, offset: 10325}, + 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: 336, col: 28, offset: 10335}, + expr: &charClassMatcher{ + pos: position{line: 336, col: 29, offset: 10336}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, }, }, }, }, - &zeroOrMoreExpr{ - pos: position{line: 691, col: 40, offset: 22388}, + }, + &labeledExpr{ + pos: position{line: 674, col: 57, offset: 21551}, + label: "start", + expr: &zeroOrOneExpr{ + pos: position{line: 674, col: 63, offset: 21557}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, - run: (*parser).callonImageBlock99, - expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &litMatcher{ - pos: position{line: 691, col: 47, offset: 22395}, - val: ",", - ignoreCase: false, - want: "\",\"", - }, - &labeledExpr{ - pos: position{line: 691, col: 51, offset: 22399}, - label: "label", - expr: &oneOrMoreExpr{ - pos: position{line: 701, col: 24, offset: 22800}, - expr: &choiceExpr{ - pos: position{line: 702, col: 5, offset: 22806}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 702, col: 6, offset: 22807}, - run: (*parser).callonImageBlock105, - expr: &seqExpr{ - pos: position{line: 702, col: 6, offset: 22807}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 702, col: 6, offset: 22807}, - val: "[0-9\\pL]", - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &oneOrMoreExpr{ - pos: position{line: 702, col: 14, offset: 22815}, + pos: position{line: 678, col: 17, offset: 21680}, + run: (*parser).callonImageBlock75, + expr: &seqExpr{ + pos: position{line: 678, col: 17, offset: 21680}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 678, col: 17, offset: 21680}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &labeledExpr{ + pos: position{line: 678, col: 21, offset: 21684}, + label: "start", + expr: &choiceExpr{ + pos: position{line: 678, col: 28, offset: 21691}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 678, col: 28, offset: 21691}, + run: (*parser).callonImageBlock80, expr: &charClassMatcher{ - pos: position{line: 702, col: 14, offset: 22815}, - val: "[^\\r\\n{<>]", - chars: []rune{'\r', '\n', '{', '<', '>'}, + pos: position{line: 678, col: 28, offset: 21691}, + val: "[A-Za-z]", + ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, - inverted: true, + inverted: false, }, }, - }, - }, - }, - &actionExpr{ - pos: position{line: 649, col: 5, offset: 20887}, - run: (*parser).callonImageBlock110, - expr: &seqExpr{ - pos: position{line: 649, col: 5, offset: 20887}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 649, col: 5, offset: 20887}, - run: (*parser).callonImageBlock112, - }, - &labeledExpr{ - pos: position{line: 652, col: 5, offset: 20951}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 652, col: 14, offset: 20960}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 663, col: 25, offset: 21324}, - run: (*parser).callonImageBlock115, - expr: &seqExpr{ - pos: position{line: 663, col: 25, offset: 21324}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 663, col: 25, offset: 21324}, - val: "{counter:", - ignoreCase: false, - want: "\"{counter:\"", - }, - &labeledExpr{ - pos: position{line: 663, col: 37, offset: 21336}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonImageBlock119, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 663, col: 56, offset: 21355}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 663, col: 62, offset: 21361}, - expr: &actionExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - run: (*parser).callonImageBlock126, - expr: &seqExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 671, col: 17, offset: 21656}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 671, col: 21, offset: 21660}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - run: (*parser).callonImageBlock131, - expr: &charClassMatcher{ - pos: position{line: 671, col: 28, offset: 21667}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - run: (*parser).callonImageBlock133, - expr: &oneOrMoreExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - expr: &charClassMatcher{ - pos: position{line: 673, col: 9, offset: 21721}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 663, col: 78, offset: 21377}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 667, col: 25, offset: 21495}, - run: (*parser).callonImageBlock137, - expr: &seqExpr{ - pos: position{line: 667, col: 25, offset: 21495}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 667, col: 25, offset: 21495}, - val: "{counter2:", - ignoreCase: false, - want: "\"{counter2:\"", - }, - &labeledExpr{ - pos: position{line: 667, col: 38, offset: 21508}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonImageBlock141, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 667, col: 57, offset: 21527}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 667, col: 63, offset: 21533}, - expr: &actionExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - run: (*parser).callonImageBlock148, - expr: &seqExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 671, col: 17, offset: 21656}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 671, col: 21, offset: 21660}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - run: (*parser).callonImageBlock153, - expr: &charClassMatcher{ - pos: position{line: 671, col: 28, offset: 21667}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - run: (*parser).callonImageBlock155, - expr: &oneOrMoreExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - expr: &charClassMatcher{ - pos: position{line: 673, col: 9, offset: 21721}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 667, col: 79, offset: 21549}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 656, col: 31, offset: 21077}, - run: (*parser).callonImageBlock159, - expr: &seqExpr{ - pos: position{line: 656, col: 31, offset: 21077}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 656, col: 31, offset: 21077}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - &labeledExpr{ - pos: position{line: 656, col: 35, offset: 21081}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonImageBlock163, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - 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: 54, offset: 21100}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, + &actionExpr{ + pos: position{line: 680, col: 9, offset: 21745}, + run: (*parser).callonImageBlock82, + expr: &oneOrMoreExpr{ + pos: position{line: 680, col: 9, offset: 21745}, + expr: &charClassMatcher{ + pos: position{line: 680, col: 9, offset: 21745}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, }, }, }, }, }, }, - &actionExpr{ - pos: position{line: 706, col: 8, offset: 23039}, - run: (*parser).callonImageBlock169, - expr: &litMatcher{ - pos: position{line: 706, col: 8, offset: 23039}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - }, }, }, }, }, - &litMatcher{ - pos: position{line: 691, col: 79, offset: 22427}, - val: ">>", - ignoreCase: false, - want: "\">>\"", - }, + }, + &litMatcher{ + pos: position{line: 674, col: 79, offset: 21573}, + val: "}", + ignoreCase: false, + want: "\"}\"", }, }, }, - &actionExpr{ - pos: position{line: 693, col: 9, offset: 22500}, - run: (*parser).callonImageBlock172, - expr: &seqExpr{ - pos: position{line: 693, col: 9, offset: 22500}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 693, col: 9, offset: 22500}, - val: "<<", - ignoreCase: false, - want: "\"<<\"", - }, - &labeledExpr{ - pos: position{line: 693, col: 14, offset: 22505}, - label: "id", - expr: &actionExpr{ - pos: position{line: 2913, col: 7, offset: 95667}, - run: (*parser).callonImageBlock176, - expr: &oneOrMoreExpr{ - pos: position{line: 2913, col: 7, offset: 95667}, - expr: &charClassMatcher{ - pos: position{line: 2913, col: 7, offset: 95667}, - val: "[^[]<>,]", - chars: []rune{'[', ']', '<', '>', ','}, + }, + &actionExpr{ + pos: position{line: 663, col: 5, offset: 21092}, + run: (*parser).callonImageBlock86, + expr: &seqExpr{ + pos: position{line: 663, col: 5, offset: 21092}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 663, col: 5, offset: 21092}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + &labeledExpr{ + pos: position{line: 663, col: 9, offset: 21096}, + label: "name", + expr: &actionExpr{ + pos: position{line: 336, col: 18, offset: 10325}, + run: (*parser).callonImageBlock90, + expr: &seqExpr{ + pos: position{line: 336, col: 18, offset: 10325}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 336, col: 18, offset: 10325}, + 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: 336, col: 28, offset: 10335}, + expr: &charClassMatcher{ + pos: position{line: 336, col: 29, offset: 10336}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, }, }, }, }, - &litMatcher{ - pos: position{line: 693, col: 22, offset: 22513}, - val: ">>", - ignoreCase: false, - want: "\">>\"", - }, + }, + &litMatcher{ + pos: position{line: 663, col: 28, offset: 21115}, + val: "}", + ignoreCase: false, + want: "\"}\"", }, }, }, }, }, }, - &actionExpr{ - pos: position{line: 2646, col: 11, offset: 87365}, - run: (*parser).callonImageBlock180, - expr: &charClassMatcher{ - pos: position{line: 2646, col: 12, offset: 87366}, - val: "[<>&]", - chars: []rune{'<', '>', '&'}, - ignoreCase: false, - inverted: false, - }, - }, }, }, }, }, - }, - }, - &actionExpr{ - pos: position{line: 2905, col: 7, offset: 95451}, - run: (*parser).callonImageBlock182, - expr: &litMatcher{ - pos: position{line: 2905, col: 7, offset: 95451}, - val: "{", - ignoreCase: false, - want: "\"{\"", + &actionExpr{ + pos: position{line: 2817, col: 11, offset: 92665}, + run: (*parser).callonImageBlock96, + expr: &litMatcher{ + pos: position{line: 2817, col: 11, offset: 92665}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + }, }, }, }, @@ -25046,27 +17993,27 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1085, col: 23, offset: 33674}, - run: (*parser).callonImageBlock184, + pos: position{line: 1092, col: 23, offset: 33700}, + run: (*parser).callonImageBlock98, expr: &seqExpr{ - pos: position{line: 1085, col: 23, offset: 33674}, + pos: position{line: 1092, col: 23, offset: 33700}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1083, col: 32, offset: 33642}, + pos: position{line: 1090, col: 32, offset: 33668}, val: "�", ignoreCase: false, want: "\"�\"", }, &labeledExpr{ - pos: position{line: 1085, col: 51, offset: 33702}, + pos: position{line: 1092, col: 51, offset: 33728}, label: "ref", expr: &actionExpr{ - pos: position{line: 1085, col: 56, offset: 33707}, - run: (*parser).callonImageBlock188, + pos: position{line: 1092, col: 56, offset: 33733}, + run: (*parser).callonImageBlock102, expr: &oneOrMoreExpr{ - pos: position{line: 1085, col: 56, offset: 33707}, + pos: position{line: 1092, col: 56, offset: 33733}, expr: &charClassMatcher{ - pos: position{line: 1085, col: 56, offset: 33707}, + pos: position{line: 1092, col: 56, offset: 33733}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -25076,7 +18023,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1083, col: 32, offset: 33642}, + pos: position{line: 1090, col: 32, offset: 33668}, val: "�", ignoreCase: false, want: "\"�\"", @@ -25093,20 +18040,20 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1196, col: 31, offset: 37488}, + pos: position{line: 1203, col: 31, offset: 37556}, label: "attributes", expr: &ruleRefExpr{ - pos: position{line: 1196, col: 43, offset: 37500}, + pos: position{line: 1203, col: 43, offset: 37568}, name: "InlineAttributes", }, }, &zeroOrMoreExpr{ - pos: position{line: 1196, col: 61, offset: 37518}, + pos: position{line: 1203, col: 61, offset: 37586}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, - run: (*parser).callonImageBlock195, + pos: position{line: 2838, col: 10, offset: 93169}, + run: (*parser).callonImageBlock109, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -25115,28 +18062,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, - run: (*parser).callonImageBlock198, + pos: position{line: 2847, col: 12, offset: 93353}, + run: (*parser).callonImageBlock112, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -25145,9 +18092,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -25158,71 +18105,71 @@ var g = &grammar{ }, { name: "InlineImage", - pos: position{line: 1201, col: 1, offset: 37735}, + pos: position{line: 1208, col: 1, offset: 37803}, expr: &actionExpr{ - pos: position{line: 1201, col: 16, offset: 37750}, + pos: position{line: 1208, col: 16, offset: 37818}, run: (*parser).callonInlineImage1, expr: &seqExpr{ - pos: position{line: 1201, col: 16, offset: 37750}, + pos: position{line: 1208, col: 16, offset: 37818}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1201, col: 16, offset: 37750}, + pos: position{line: 1208, col: 16, offset: 37818}, val: "image:", ignoreCase: false, want: "\"image:\"", }, ¬Expr{ - pos: position{line: 1201, col: 25, offset: 37759}, + pos: position{line: 1208, col: 25, offset: 37827}, expr: &litMatcher{ - pos: position{line: 1201, col: 26, offset: 37760}, + pos: position{line: 1208, col: 26, offset: 37828}, val: ":", ignoreCase: false, want: "\":\"", }, }, &labeledExpr{ - pos: position{line: 1201, col: 30, offset: 37764}, + pos: position{line: 1208, col: 30, offset: 37832}, label: "path", expr: &actionExpr{ - pos: position{line: 2891, col: 13, offset: 94947}, + pos: position{line: 2792, col: 13, offset: 91706}, run: (*parser).callonInlineImage7, expr: &seqExpr{ - pos: position{line: 2891, col: 13, offset: 94947}, + pos: position{line: 2792, col: 13, offset: 91706}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 2891, col: 13, offset: 94947}, + pos: position{line: 2792, col: 13, offset: 91706}, label: "scheme", expr: &zeroOrOneExpr{ - pos: position{line: 2891, col: 20, offset: 94954}, + pos: position{line: 2792, col: 20, offset: 91713}, expr: &choiceExpr{ - pos: position{line: 2911, col: 11, offset: 95603}, + pos: position{line: 2803, col: 11, offset: 92136}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2911, col: 11, offset: 95603}, + pos: position{line: 2803, col: 11, offset: 92136}, val: "http://", ignoreCase: false, want: "\"http://\"", }, &litMatcher{ - pos: position{line: 2911, col: 23, offset: 95615}, + pos: position{line: 2803, col: 23, offset: 92148}, val: "https://", ignoreCase: false, want: "\"https://\"", }, &litMatcher{ - pos: position{line: 2911, col: 36, offset: 95628}, + pos: position{line: 2803, col: 36, offset: 92161}, val: "ftp://", ignoreCase: false, want: "\"ftp://\"", }, &litMatcher{ - pos: position{line: 2911, col: 47, offset: 95639}, + pos: position{line: 2803, col: 47, offset: 92172}, val: "irc://", ignoreCase: false, want: "\"irc://\"", }, &litMatcher{ - pos: position{line: 2911, col: 58, offset: 95650}, + pos: position{line: 2803, col: 58, offset: 92183}, val: "mailto:", ignoreCase: false, want: "\"mailto:\"", @@ -25232,145 +18179,198 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 2891, col: 30, offset: 94964}, + pos: position{line: 2792, col: 30, offset: 91723}, label: "path", expr: &oneOrMoreExpr{ - pos: position{line: 2891, col: 35, offset: 94969}, + pos: position{line: 2792, col: 35, offset: 91728}, expr: &choiceExpr{ - pos: position{line: 2891, col: 36, offset: 94970}, + pos: position{line: 2792, col: 36, offset: 91729}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2899, col: 13, offset: 95239}, + pos: position{line: 2806, col: 5, offset: 92211}, run: (*parser).callonInlineImage20, - expr: &labeledExpr{ - pos: position{line: 2899, col: 13, offset: 95239}, - label: "elements", - expr: &oneOrMoreExpr{ - pos: position{line: 2899, col: 22, offset: 95248}, - expr: &choiceExpr{ - pos: position{line: 2900, col: 5, offset: 95254}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2900, col: 5, offset: 95254}, - run: (*parser).callonInlineImage24, - expr: &oneOrMoreExpr{ - pos: position{line: 2900, col: 5, offset: 95254}, - expr: &charClassMatcher{ - pos: position{line: 2900, col: 6, offset: 95255}, - val: "[^\\r\\n[]�&<>{ ]", - chars: []rune{'\r', '\n', '[', ']', '�', '&', '<', '>', '{', ' '}, - ignoreCase: false, - inverted: true, - }, - }, - }, - &actionExpr{ - pos: position{line: 649, col: 5, offset: 20887}, - run: (*parser).callonInlineImage27, - expr: &seqExpr{ - pos: position{line: 649, col: 5, offset: 20887}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 649, col: 5, offset: 20887}, - run: (*parser).callonInlineImage29, + expr: &seqExpr{ + pos: position{line: 2806, col: 5, offset: 92211}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 2806, col: 5, offset: 92211}, + expr: &litMatcher{ + pos: position{line: 2806, col: 6, offset: 92212}, + val: "[", + ignoreCase: false, + want: "\"[\"", + }, + }, + &labeledExpr{ + pos: position{line: 2807, col: 5, offset: 92236}, + label: "elements", + expr: &oneOrMoreExpr{ + pos: position{line: 2807, col: 14, offset: 92245}, + expr: &choiceExpr{ + pos: position{line: 2811, col: 9, offset: 92419}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2811, col: 9, offset: 92419}, + run: (*parser).callonInlineImage27, + expr: &oneOrMoreExpr{ + pos: position{line: 2811, col: 9, offset: 92419}, + expr: &charClassMatcher{ + pos: position{line: 2811, col: 10, offset: 92420}, + val: "[^\\r\\n[]�{ ]", + chars: []rune{'\r', '\n', '[', ']', '�', '{', ' '}, + ignoreCase: false, + inverted: true, + }, }, - &labeledExpr{ - pos: position{line: 652, col: 5, offset: 20951}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 652, col: 14, offset: 20960}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 663, col: 25, offset: 21324}, - run: (*parser).callonInlineImage32, - expr: &seqExpr{ - pos: position{line: 663, col: 25, offset: 21324}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 663, col: 25, offset: 21324}, - val: "{counter:", + }, + &seqExpr{ + pos: position{line: 2814, col: 11, offset: 92573}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2814, col: 11, offset: 92573}, + val: ".", + ignoreCase: false, + want: "\".\"", + }, + &andExpr{ + pos: position{line: 2814, col: 15, offset: 92577}, + expr: ¬Expr{ + pos: position{line: 2814, col: 17, offset: 92579}, + expr: &choiceExpr{ + pos: position{line: 2814, col: 19, offset: 92581}, + alternatives: []interface{}{ + ¬Expr{ + pos: position{line: 2851, col: 8, offset: 93443}, + expr: &anyMatcher{ + line: 2851, col: 9, offset: 93444, + }, + }, + &actionExpr{ + pos: position{line: 2838, col: 10, offset: 93169}, + run: (*parser).callonInlineImage37, + expr: &charClassMatcher{ + pos: position{line: 2838, col: 11, offset: 93170}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, ignoreCase: false, - want: "\"{counter:\"", + inverted: false, }, - &labeledExpr{ - pos: position{line: 663, col: 37, offset: 21336}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonInlineImage36, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 655, col: 5, offset: 20901}, + run: (*parser).callonInlineImage39, + expr: &seqExpr{ + pos: position{line: 655, col: 5, offset: 20901}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 655, col: 5, offset: 20901}, + run: (*parser).callonInlineImage41, + }, + &labeledExpr{ + pos: position{line: 658, col: 5, offset: 20970}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 658, col: 14, offset: 20979}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 670, col: 25, offset: 21348}, + run: (*parser).callonInlineImage44, + expr: &seqExpr{ + pos: position{line: 670, col: 25, offset: 21348}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 670, col: 25, offset: 21348}, + val: "{counter:", + ignoreCase: false, + want: "\"{counter:\"", + }, + &labeledExpr{ + pos: position{line: 670, col: 37, offset: 21360}, + label: "name", + expr: &actionExpr{ + pos: position{line: 336, col: 18, offset: 10325}, + run: (*parser).callonInlineImage48, + expr: &seqExpr{ + pos: position{line: 336, col: 18, offset: 10325}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 336, col: 18, offset: 10325}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 336, col: 28, offset: 10335}, + expr: &charClassMatcher{ + pos: position{line: 336, col: 29, offset: 10336}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, }, }, }, }, - }, - }, - &labeledExpr{ - pos: position{line: 663, col: 56, offset: 21355}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 663, col: 62, offset: 21361}, - expr: &actionExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - run: (*parser).callonInlineImage43, - expr: &seqExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 671, col: 17, offset: 21656}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 671, col: 21, offset: 21660}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - run: (*parser).callonInlineImage48, - expr: &charClassMatcher{ - pos: position{line: 671, col: 28, offset: 21667}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - run: (*parser).callonInlineImage50, - expr: &oneOrMoreExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - expr: &charClassMatcher{ - pos: position{line: 673, col: 9, offset: 21721}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, + &labeledExpr{ + pos: position{line: 670, col: 56, offset: 21379}, + label: "start", + expr: &zeroOrOneExpr{ + pos: position{line: 670, col: 62, offset: 21385}, + expr: &actionExpr{ + pos: position{line: 678, col: 17, offset: 21680}, + run: (*parser).callonInlineImage55, + expr: &seqExpr{ + pos: position{line: 678, col: 17, offset: 21680}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 678, col: 17, offset: 21680}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &labeledExpr{ + pos: position{line: 678, col: 21, offset: 21684}, + label: "start", + expr: &choiceExpr{ + pos: position{line: 678, col: 28, offset: 21691}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 678, col: 28, offset: 21691}, + run: (*parser).callonInlineImage60, + expr: &charClassMatcher{ + pos: position{line: 678, col: 28, offset: 21691}, + val: "[A-Za-z]", + ranges: []rune{'A', 'Z', 'a', 'z'}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 680, col: 9, offset: 21745}, + run: (*parser).callonInlineImage62, + expr: &oneOrMoreExpr{ + pos: position{line: 680, col: 9, offset: 21745}, + expr: &charClassMatcher{ + pos: position{line: 680, col: 9, offset: 21745}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, }, }, }, @@ -25380,685 +18380,197 @@ var g = &grammar{ }, }, }, + &litMatcher{ + pos: position{line: 670, col: 78, offset: 21401}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, }, }, - &litMatcher{ - pos: position{line: 663, col: 78, offset: 21377}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, }, - }, - }, - &actionExpr{ - pos: position{line: 667, col: 25, offset: 21495}, - run: (*parser).callonInlineImage54, - expr: &seqExpr{ - pos: position{line: 667, col: 25, offset: 21495}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 667, col: 25, offset: 21495}, - val: "{counter2:", - ignoreCase: false, - want: "\"{counter2:\"", - }, - &labeledExpr{ - pos: position{line: 667, col: 38, offset: 21508}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonInlineImage58, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, + &actionExpr{ + pos: position{line: 674, col: 25, offset: 21519}, + run: (*parser).callonInlineImage66, + expr: &seqExpr{ + pos: position{line: 674, col: 25, offset: 21519}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 674, col: 25, offset: 21519}, + val: "{counter2:", + ignoreCase: false, + want: "\"{counter2:\"", + }, + &labeledExpr{ + pos: position{line: 674, col: 38, offset: 21532}, + label: "name", + expr: &actionExpr{ + pos: position{line: 336, col: 18, offset: 10325}, + run: (*parser).callonInlineImage70, + expr: &seqExpr{ + pos: position{line: 336, col: 18, offset: 10325}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 336, col: 18, offset: 10325}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 336, col: 28, offset: 10335}, + expr: &charClassMatcher{ + pos: position{line: 336, col: 29, offset: 10336}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, }, }, }, }, - }, - }, - &labeledExpr{ - pos: position{line: 667, col: 57, offset: 21527}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 667, col: 63, offset: 21533}, - expr: &actionExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - run: (*parser).callonInlineImage65, - expr: &seqExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 671, col: 17, offset: 21656}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 671, col: 21, offset: 21660}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - run: (*parser).callonInlineImage70, - expr: &charClassMatcher{ - pos: position{line: 671, col: 28, offset: 21667}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - run: (*parser).callonInlineImage72, - expr: &oneOrMoreExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - expr: &charClassMatcher{ - pos: position{line: 673, col: 9, offset: 21721}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 667, col: 79, offset: 21549}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 656, col: 31, offset: 21077}, - run: (*parser).callonInlineImage76, - expr: &seqExpr{ - pos: position{line: 656, col: 31, offset: 21077}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 656, col: 31, offset: 21077}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - &labeledExpr{ - pos: position{line: 656, col: 35, offset: 21081}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonInlineImage80, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - 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: 54, offset: 21100}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2638, col: 5, offset: 87092}, - run: (*parser).callonInlineImage86, - expr: &seqExpr{ - pos: position{line: 2638, col: 5, offset: 87092}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 2638, col: 5, offset: 87092}, - run: (*parser).callonInlineImage88, - }, - &labeledExpr{ - pos: position{line: 2641, col: 5, offset: 87163}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 2643, col: 9, offset: 87261}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2643, col: 9, offset: 87261}, - run: (*parser).callonInlineImage91, - expr: &choiceExpr{ - pos: position{line: 691, col: 27, offset: 22375}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 691, col: 27, offset: 22375}, - run: (*parser).callonInlineImage93, - expr: &seqExpr{ - pos: position{line: 691, col: 27, offset: 22375}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 691, col: 27, offset: 22375}, - val: "<<", - ignoreCase: false, - want: "\"<<\"", - }, - &labeledExpr{ - pos: position{line: 691, col: 32, offset: 22380}, - label: "id", - expr: &actionExpr{ - pos: position{line: 2913, col: 7, offset: 95667}, - run: (*parser).callonInlineImage97, - expr: &oneOrMoreExpr{ - pos: position{line: 2913, col: 7, offset: 95667}, - expr: &charClassMatcher{ - pos: position{line: 2913, col: 7, offset: 95667}, - val: "[^[]<>,]", - chars: []rune{'[', ']', '<', '>', ','}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - &zeroOrMoreExpr{ - pos: position{line: 691, col: 40, offset: 22388}, + &labeledExpr{ + pos: position{line: 674, col: 57, offset: 21551}, + label: "start", + expr: &zeroOrOneExpr{ + pos: position{line: 674, col: 63, offset: 21557}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, - run: (*parser).callonInlineImage101, - expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &litMatcher{ - pos: position{line: 691, col: 47, offset: 22395}, - val: ",", - ignoreCase: false, - want: "\",\"", - }, - &labeledExpr{ - pos: position{line: 691, col: 51, offset: 22399}, - label: "label", - expr: &oneOrMoreExpr{ - pos: position{line: 701, col: 24, offset: 22800}, - expr: &choiceExpr{ - pos: position{line: 702, col: 5, offset: 22806}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 702, col: 6, offset: 22807}, - run: (*parser).callonInlineImage107, - expr: &seqExpr{ - pos: position{line: 702, col: 6, offset: 22807}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 702, col: 6, offset: 22807}, - val: "[0-9\\pL]", - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &oneOrMoreExpr{ - pos: position{line: 702, col: 14, offset: 22815}, + pos: position{line: 678, col: 17, offset: 21680}, + run: (*parser).callonInlineImage77, + expr: &seqExpr{ + pos: position{line: 678, col: 17, offset: 21680}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 678, col: 17, offset: 21680}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &labeledExpr{ + pos: position{line: 678, col: 21, offset: 21684}, + label: "start", + expr: &choiceExpr{ + pos: position{line: 678, col: 28, offset: 21691}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 678, col: 28, offset: 21691}, + run: (*parser).callonInlineImage82, expr: &charClassMatcher{ - pos: position{line: 702, col: 14, offset: 22815}, - val: "[^\\r\\n{<>]", - chars: []rune{'\r', '\n', '{', '<', '>'}, + pos: position{line: 678, col: 28, offset: 21691}, + val: "[A-Za-z]", + ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, - inverted: true, + inverted: false, }, }, - }, - }, - }, - &actionExpr{ - pos: position{line: 649, col: 5, offset: 20887}, - run: (*parser).callonInlineImage112, - expr: &seqExpr{ - pos: position{line: 649, col: 5, offset: 20887}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 649, col: 5, offset: 20887}, - run: (*parser).callonInlineImage114, - }, - &labeledExpr{ - pos: position{line: 652, col: 5, offset: 20951}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 652, col: 14, offset: 20960}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 663, col: 25, offset: 21324}, - run: (*parser).callonInlineImage117, - expr: &seqExpr{ - pos: position{line: 663, col: 25, offset: 21324}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 663, col: 25, offset: 21324}, - val: "{counter:", - ignoreCase: false, - want: "\"{counter:\"", - }, - &labeledExpr{ - pos: position{line: 663, col: 37, offset: 21336}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonInlineImage121, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 663, col: 56, offset: 21355}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 663, col: 62, offset: 21361}, - expr: &actionExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - run: (*parser).callonInlineImage128, - expr: &seqExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 671, col: 17, offset: 21656}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 671, col: 21, offset: 21660}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - run: (*parser).callonInlineImage133, - expr: &charClassMatcher{ - pos: position{line: 671, col: 28, offset: 21667}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - run: (*parser).callonInlineImage135, - expr: &oneOrMoreExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - expr: &charClassMatcher{ - pos: position{line: 673, col: 9, offset: 21721}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 663, col: 78, offset: 21377}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 667, col: 25, offset: 21495}, - run: (*parser).callonInlineImage139, - expr: &seqExpr{ - pos: position{line: 667, col: 25, offset: 21495}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 667, col: 25, offset: 21495}, - val: "{counter2:", - ignoreCase: false, - want: "\"{counter2:\"", - }, - &labeledExpr{ - pos: position{line: 667, col: 38, offset: 21508}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonInlineImage143, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 667, col: 57, offset: 21527}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 667, col: 63, offset: 21533}, - expr: &actionExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - run: (*parser).callonInlineImage150, - expr: &seqExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 671, col: 17, offset: 21656}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 671, col: 21, offset: 21660}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - run: (*parser).callonInlineImage155, - expr: &charClassMatcher{ - pos: position{line: 671, col: 28, offset: 21667}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - run: (*parser).callonInlineImage157, - expr: &oneOrMoreExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - expr: &charClassMatcher{ - pos: position{line: 673, col: 9, offset: 21721}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 667, col: 79, offset: 21549}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 656, col: 31, offset: 21077}, - run: (*parser).callonInlineImage161, - expr: &seqExpr{ - pos: position{line: 656, col: 31, offset: 21077}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 656, col: 31, offset: 21077}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - &labeledExpr{ - pos: position{line: 656, col: 35, offset: 21081}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonInlineImage165, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - 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: 54, offset: 21100}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, + &actionExpr{ + pos: position{line: 680, col: 9, offset: 21745}, + run: (*parser).callonInlineImage84, + expr: &oneOrMoreExpr{ + pos: position{line: 680, col: 9, offset: 21745}, + expr: &charClassMatcher{ + pos: position{line: 680, col: 9, offset: 21745}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, }, }, }, }, }, }, - &actionExpr{ - pos: position{line: 706, col: 8, offset: 23039}, - run: (*parser).callonInlineImage171, - expr: &litMatcher{ - pos: position{line: 706, col: 8, offset: 23039}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - }, }, }, }, }, - &litMatcher{ - pos: position{line: 691, col: 79, offset: 22427}, - val: ">>", - ignoreCase: false, - want: "\">>\"", - }, + }, + &litMatcher{ + pos: position{line: 674, col: 79, offset: 21573}, + val: "}", + ignoreCase: false, + want: "\"}\"", }, }, }, - &actionExpr{ - pos: position{line: 693, col: 9, offset: 22500}, - run: (*parser).callonInlineImage174, - expr: &seqExpr{ - pos: position{line: 693, col: 9, offset: 22500}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 693, col: 9, offset: 22500}, - val: "<<", - ignoreCase: false, - want: "\"<<\"", - }, - &labeledExpr{ - pos: position{line: 693, col: 14, offset: 22505}, - label: "id", - expr: &actionExpr{ - pos: position{line: 2913, col: 7, offset: 95667}, - run: (*parser).callonInlineImage178, - expr: &oneOrMoreExpr{ - pos: position{line: 2913, col: 7, offset: 95667}, - expr: &charClassMatcher{ - pos: position{line: 2913, col: 7, offset: 95667}, - val: "[^[]<>,]", - chars: []rune{'[', ']', '<', '>', ','}, + }, + &actionExpr{ + pos: position{line: 663, col: 5, offset: 21092}, + run: (*parser).callonInlineImage88, + expr: &seqExpr{ + pos: position{line: 663, col: 5, offset: 21092}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 663, col: 5, offset: 21092}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + &labeledExpr{ + pos: position{line: 663, col: 9, offset: 21096}, + label: "name", + expr: &actionExpr{ + pos: position{line: 336, col: 18, offset: 10325}, + run: (*parser).callonInlineImage92, + expr: &seqExpr{ + pos: position{line: 336, col: 18, offset: 10325}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 336, col: 18, offset: 10325}, + 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: 336, col: 28, offset: 10335}, + expr: &charClassMatcher{ + pos: position{line: 336, col: 29, offset: 10336}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, }, }, }, }, - &litMatcher{ - pos: position{line: 693, col: 22, offset: 22513}, - val: ">>", - ignoreCase: false, - want: "\">>\"", - }, + }, + &litMatcher{ + pos: position{line: 663, col: 28, offset: 21115}, + val: "}", + ignoreCase: false, + want: "\"}\"", }, }, }, }, }, }, - &actionExpr{ - pos: position{line: 2646, col: 11, offset: 87365}, - run: (*parser).callonInlineImage182, - expr: &charClassMatcher{ - pos: position{line: 2646, col: 12, offset: 87366}, - val: "[<>&]", - chars: []rune{'<', '>', '&'}, - ignoreCase: false, - inverted: false, - }, - }, }, }, }, }, - }, - }, - &actionExpr{ - pos: position{line: 2905, col: 7, offset: 95451}, - run: (*parser).callonInlineImage184, - expr: &litMatcher{ - pos: position{line: 2905, col: 7, offset: 95451}, - val: "{", - ignoreCase: false, - want: "\"{\"", + &actionExpr{ + pos: position{line: 2817, col: 11, offset: 92665}, + run: (*parser).callonInlineImage98, + expr: &litMatcher{ + pos: position{line: 2817, col: 11, offset: 92665}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + }, }, }, }, @@ -26067,27 +18579,27 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1085, col: 23, offset: 33674}, - run: (*parser).callonInlineImage186, + pos: position{line: 1092, col: 23, offset: 33700}, + run: (*parser).callonInlineImage100, expr: &seqExpr{ - pos: position{line: 1085, col: 23, offset: 33674}, + pos: position{line: 1092, col: 23, offset: 33700}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1083, col: 32, offset: 33642}, + pos: position{line: 1090, col: 32, offset: 33668}, val: "�", ignoreCase: false, want: "\"�\"", }, &labeledExpr{ - pos: position{line: 1085, col: 51, offset: 33702}, + pos: position{line: 1092, col: 51, offset: 33728}, label: "ref", expr: &actionExpr{ - pos: position{line: 1085, col: 56, offset: 33707}, - run: (*parser).callonInlineImage190, + pos: position{line: 1092, col: 56, offset: 33733}, + run: (*parser).callonInlineImage104, expr: &oneOrMoreExpr{ - pos: position{line: 1085, col: 56, offset: 33707}, + pos: position{line: 1092, col: 56, offset: 33733}, expr: &charClassMatcher{ - pos: position{line: 1085, col: 56, offset: 33707}, + pos: position{line: 1092, col: 56, offset: 33733}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -26097,7 +18609,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1083, col: 32, offset: 33642}, + pos: position{line: 1090, col: 32, offset: 33668}, val: "�", ignoreCase: false, want: "\"�\"", @@ -26114,10 +18626,10 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1201, col: 46, offset: 37780}, + pos: position{line: 1208, col: 46, offset: 37848}, label: "attributes", expr: &ruleRefExpr{ - pos: position{line: 1201, col: 58, offset: 37792}, + pos: position{line: 1208, col: 58, offset: 37860}, name: "InlineAttributes", }, }, @@ -26127,29 +18639,29 @@ var g = &grammar{ }, { name: "InlineIcon", - pos: position{line: 1208, col: 1, offset: 38216}, + pos: position{line: 1215, col: 1, offset: 38256}, expr: &actionExpr{ - pos: position{line: 1208, col: 15, offset: 38230}, + pos: position{line: 1215, col: 15, offset: 38270}, run: (*parser).callonInlineIcon1, expr: &seqExpr{ - pos: position{line: 1208, col: 15, offset: 38230}, + pos: position{line: 1215, col: 15, offset: 38270}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1208, col: 15, offset: 38230}, + pos: position{line: 1215, col: 15, offset: 38270}, val: "icon:", ignoreCase: false, want: "\"icon:\"", }, &labeledExpr{ - pos: position{line: 1208, col: 23, offset: 38238}, + pos: position{line: 1215, col: 23, offset: 38278}, label: "icon", expr: &actionExpr{ - pos: position{line: 1208, col: 29, offset: 38244}, + pos: position{line: 1215, col: 29, offset: 38284}, run: (*parser).callonInlineIcon5, expr: &oneOrMoreExpr{ - pos: position{line: 1208, col: 29, offset: 38244}, + pos: position{line: 1215, col: 29, offset: 38284}, expr: &charClassMatcher{ - pos: position{line: 1208, col: 29, offset: 38244}, + pos: position{line: 1215, col: 29, offset: 38284}, val: "[_-0-9\\pL]", chars: []rune{'_', '-'}, ranges: []rune{'0', '9'}, @@ -26161,10 +18673,10 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1208, col: 73, offset: 38288}, + pos: position{line: 1215, col: 73, offset: 38328}, label: "attributes", expr: &ruleRefExpr{ - pos: position{line: 1208, col: 85, offset: 38300}, + pos: position{line: 1215, col: 85, offset: 38340}, name: "InlineAttributes", }, }, @@ -26174,32 +18686,32 @@ var g = &grammar{ }, { name: "InlineFootnote", - pos: position{line: 1215, col: 1, offset: 38666}, + pos: position{line: 1222, col: 1, offset: 38706}, expr: &choiceExpr{ - pos: position{line: 1215, col: 19, offset: 38684}, + pos: position{line: 1222, col: 19, offset: 38724}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1215, col: 19, offset: 38684}, + pos: position{line: 1222, col: 19, offset: 38724}, run: (*parser).callonInlineFootnote2, expr: &seqExpr{ - pos: position{line: 1215, col: 19, offset: 38684}, + pos: position{line: 1222, col: 19, offset: 38724}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1215, col: 19, offset: 38684}, + pos: position{line: 1222, col: 19, offset: 38724}, val: "footnote:[", ignoreCase: false, want: "\"footnote:[\"", }, &labeledExpr{ - pos: position{line: 1215, col: 32, offset: 38697}, + pos: position{line: 1222, col: 32, offset: 38737}, label: "content", expr: &ruleRefExpr{ - pos: position{line: 1215, col: 41, offset: 38706}, + pos: position{line: 1222, col: 41, offset: 38746}, name: "FootnoteContent", }, }, &litMatcher{ - pos: position{line: 1215, col: 58, offset: 38723}, + pos: position{line: 1222, col: 58, offset: 38763}, val: "]", ignoreCase: false, want: "\"]\"", @@ -26208,27 +18720,27 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1217, col: 9, offset: 38783}, + pos: position{line: 1224, col: 9, offset: 38823}, run: (*parser).callonInlineFootnote8, expr: &seqExpr{ - pos: position{line: 1217, col: 9, offset: 38783}, + pos: position{line: 1224, col: 9, offset: 38823}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1217, col: 9, offset: 38783}, + pos: position{line: 1224, col: 9, offset: 38823}, val: "footnote:", ignoreCase: false, want: "\"footnote:\"", }, &labeledExpr{ - pos: position{line: 1217, col: 21, offset: 38795}, + pos: position{line: 1224, col: 21, offset: 38835}, label: "ref", expr: &actionExpr{ - pos: position{line: 2856, col: 14, offset: 93755}, + pos: position{line: 2757, col: 14, offset: 90514}, run: (*parser).callonInlineFootnote12, expr: &oneOrMoreExpr{ - pos: position{line: 2856, col: 14, offset: 93755}, + pos: position{line: 2757, col: 14, offset: 90514}, expr: &charClassMatcher{ - pos: position{line: 2856, col: 14, offset: 93755}, + pos: position{line: 2757, col: 14, offset: 90514}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -26239,24 +18751,24 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1217, col: 39, offset: 38813}, + pos: position{line: 1224, col: 39, offset: 38853}, val: "[", ignoreCase: false, want: "\"[\"", }, &labeledExpr{ - pos: position{line: 1217, col: 43, offset: 38817}, + pos: position{line: 1224, col: 43, offset: 38857}, label: "content", expr: &zeroOrOneExpr{ - pos: position{line: 1217, col: 51, offset: 38825}, + pos: position{line: 1224, col: 51, offset: 38865}, expr: &ruleRefExpr{ - pos: position{line: 1217, col: 52, offset: 38826}, + pos: position{line: 1224, col: 52, offset: 38866}, name: "FootnoteContent", }, }, }, &litMatcher{ - pos: position{line: 1217, col: 70, offset: 38844}, + pos: position{line: 1224, col: 70, offset: 38884}, val: "]", ignoreCase: false, want: "\"]\"", @@ -26269,29 +18781,29 @@ var g = &grammar{ }, { name: "FootnoteContent", - pos: position{line: 1223, col: 1, offset: 38993}, + pos: position{line: 1230, col: 1, offset: 39033}, expr: &actionExpr{ - pos: position{line: 1223, col: 20, offset: 39012}, + pos: position{line: 1230, col: 20, offset: 39052}, run: (*parser).callonFootnoteContent1, expr: &labeledExpr{ - pos: position{line: 1223, col: 20, offset: 39012}, + pos: position{line: 1230, col: 20, offset: 39052}, label: "elements", expr: &oneOrMoreExpr{ - pos: position{line: 1223, col: 29, offset: 39021}, + pos: position{line: 1230, col: 29, offset: 39061}, expr: &seqExpr{ - pos: position{line: 1223, col: 30, offset: 39022}, + pos: position{line: 1230, col: 30, offset: 39062}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 1223, col: 30, offset: 39022}, + pos: position{line: 1230, col: 30, offset: 39062}, expr: &litMatcher{ - pos: position{line: 1223, col: 31, offset: 39023}, + pos: position{line: 1230, col: 31, offset: 39063}, val: "]", ignoreCase: false, want: "\"]\"", }, }, &ruleRefExpr{ - pos: position{line: 1223, col: 35, offset: 39027}, + pos: position{line: 1230, col: 35, offset: 39067}, name: "InlineElement", }, }, @@ -26302,32 +18814,32 @@ var g = &grammar{ }, { name: "PassthroughMacro", - pos: position{line: 1255, col: 1, offset: 40716}, + pos: position{line: 1262, col: 1, offset: 40756}, expr: &choiceExpr{ - pos: position{line: 1255, col: 21, offset: 40736}, + pos: position{line: 1262, col: 21, offset: 40776}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1255, col: 21, offset: 40736}, + pos: position{line: 1262, col: 21, offset: 40776}, run: (*parser).callonPassthroughMacro2, expr: &seqExpr{ - pos: position{line: 1255, col: 21, offset: 40736}, + pos: position{line: 1262, col: 21, offset: 40776}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1255, col: 21, offset: 40736}, + pos: position{line: 1262, col: 21, offset: 40776}, val: "pass:[", ignoreCase: false, want: "\"pass:[\"", }, &labeledExpr{ - pos: position{line: 1255, col: 30, offset: 40745}, + pos: position{line: 1262, col: 30, offset: 40785}, label: "content", expr: &zeroOrMoreExpr{ - pos: position{line: 1255, col: 38, offset: 40753}, + pos: position{line: 1262, col: 38, offset: 40793}, expr: &actionExpr{ - pos: position{line: 1261, col: 30, offset: 41079}, + pos: position{line: 1268, col: 30, offset: 41119}, run: (*parser).callonPassthroughMacro7, expr: &charClassMatcher{ - pos: position{line: 1261, col: 30, offset: 41079}, + pos: position{line: 1268, col: 30, offset: 41119}, val: "[^]]", chars: []rune{']'}, ignoreCase: false, @@ -26337,7 +18849,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1255, col: 67, offset: 40782}, + pos: position{line: 1262, col: 67, offset: 40822}, val: "]", ignoreCase: false, want: "\"]\"", @@ -26346,34 +18858,34 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1257, col: 9, offset: 40886}, + pos: position{line: 1264, col: 9, offset: 40926}, run: (*parser).callonPassthroughMacro10, expr: &seqExpr{ - pos: position{line: 1257, col: 9, offset: 40886}, + pos: position{line: 1264, col: 9, offset: 40926}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1257, col: 9, offset: 40886}, + pos: position{line: 1264, col: 9, offset: 40926}, val: "pass:q[", ignoreCase: false, want: "\"pass:q[\"", }, &labeledExpr{ - pos: position{line: 1257, col: 19, offset: 40896}, + pos: position{line: 1264, col: 19, offset: 40936}, label: "content", expr: &zeroOrMoreExpr{ - pos: position{line: 1257, col: 27, offset: 40904}, + pos: position{line: 1264, col: 27, offset: 40944}, expr: &choiceExpr{ - pos: position{line: 1257, col: 28, offset: 40905}, + pos: position{line: 1264, col: 28, offset: 40945}, alternatives: []interface{}{ &ruleRefExpr{ - pos: position{line: 1257, col: 28, offset: 40905}, + pos: position{line: 1264, col: 28, offset: 40945}, name: "QuotedText", }, &actionExpr{ - pos: position{line: 1261, col: 30, offset: 41079}, + pos: position{line: 1268, col: 30, offset: 41119}, run: (*parser).callonPassthroughMacro17, expr: &charClassMatcher{ - pos: position{line: 1261, col: 30, offset: 41079}, + pos: position{line: 1268, col: 30, offset: 41119}, val: "[^]]", chars: []rune{']'}, ignoreCase: false, @@ -26385,7 +18897,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1257, col: 69, offset: 40946}, + pos: position{line: 1264, col: 69, offset: 40986}, val: "]", ignoreCase: false, want: "\"]\"", @@ -26398,16 +18910,16 @@ var g = &grammar{ }, { name: "Link", - pos: position{line: 1268, col: 1, offset: 41335}, + pos: position{line: 1275, col: 1, offset: 41375}, expr: &choiceExpr{ - pos: position{line: 1268, col: 9, offset: 41343}, + pos: position{line: 1275, col: 9, offset: 41383}, alternatives: []interface{}{ &ruleRefExpr{ - pos: position{line: 1268, col: 9, offset: 41343}, + pos: position{line: 1275, col: 9, offset: 41383}, name: "RelativeLink", }, &ruleRefExpr{ - pos: position{line: 1268, col: 24, offset: 41358}, + pos: position{line: 1275, col: 24, offset: 41398}, name: "ExternalLink", }, }, @@ -26415,62 +18927,62 @@ var g = &grammar{ }, { name: "RelativeLink", - pos: position{line: 1271, col: 1, offset: 41439}, + pos: position{line: 1278, col: 1, offset: 41479}, expr: &actionExpr{ - pos: position{line: 1271, col: 17, offset: 41455}, + pos: position{line: 1278, col: 17, offset: 41495}, run: (*parser).callonRelativeLink1, expr: &seqExpr{ - pos: position{line: 1271, col: 17, offset: 41455}, + pos: position{line: 1278, col: 17, offset: 41495}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1271, col: 17, offset: 41455}, + pos: position{line: 1278, col: 17, offset: 41495}, val: "link:", ignoreCase: false, want: "\"link:\"", }, &labeledExpr{ - pos: position{line: 1271, col: 25, offset: 41463}, + pos: position{line: 1278, col: 25, offset: 41503}, label: "url", expr: &actionExpr{ - pos: position{line: 2891, col: 13, offset: 94947}, + pos: position{line: 2792, col: 13, offset: 91706}, run: (*parser).callonRelativeLink5, expr: &seqExpr{ - pos: position{line: 2891, col: 13, offset: 94947}, + pos: position{line: 2792, col: 13, offset: 91706}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 2891, col: 13, offset: 94947}, + pos: position{line: 2792, col: 13, offset: 91706}, label: "scheme", expr: &zeroOrOneExpr{ - pos: position{line: 2891, col: 20, offset: 94954}, + pos: position{line: 2792, col: 20, offset: 91713}, expr: &choiceExpr{ - pos: position{line: 2911, col: 11, offset: 95603}, + pos: position{line: 2803, col: 11, offset: 92136}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2911, col: 11, offset: 95603}, + pos: position{line: 2803, col: 11, offset: 92136}, val: "http://", ignoreCase: false, want: "\"http://\"", }, &litMatcher{ - pos: position{line: 2911, col: 23, offset: 95615}, + pos: position{line: 2803, col: 23, offset: 92148}, val: "https://", ignoreCase: false, want: "\"https://\"", }, &litMatcher{ - pos: position{line: 2911, col: 36, offset: 95628}, + pos: position{line: 2803, col: 36, offset: 92161}, val: "ftp://", ignoreCase: false, want: "\"ftp://\"", }, &litMatcher{ - pos: position{line: 2911, col: 47, offset: 95639}, + pos: position{line: 2803, col: 47, offset: 92172}, val: "irc://", ignoreCase: false, want: "\"irc://\"", }, &litMatcher{ - pos: position{line: 2911, col: 58, offset: 95650}, + pos: position{line: 2803, col: 58, offset: 92183}, val: "mailto:", ignoreCase: false, want: "\"mailto:\"", @@ -26480,145 +18992,198 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 2891, col: 30, offset: 94964}, + pos: position{line: 2792, col: 30, offset: 91723}, label: "path", expr: &oneOrMoreExpr{ - pos: position{line: 2891, col: 35, offset: 94969}, + pos: position{line: 2792, col: 35, offset: 91728}, expr: &choiceExpr{ - pos: position{line: 2891, col: 36, offset: 94970}, + pos: position{line: 2792, col: 36, offset: 91729}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2899, col: 13, offset: 95239}, + pos: position{line: 2806, col: 5, offset: 92211}, run: (*parser).callonRelativeLink18, - expr: &labeledExpr{ - pos: position{line: 2899, col: 13, offset: 95239}, - label: "elements", - expr: &oneOrMoreExpr{ - pos: position{line: 2899, col: 22, offset: 95248}, - expr: &choiceExpr{ - pos: position{line: 2900, col: 5, offset: 95254}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2900, col: 5, offset: 95254}, - run: (*parser).callonRelativeLink22, - expr: &oneOrMoreExpr{ - pos: position{line: 2900, col: 5, offset: 95254}, - expr: &charClassMatcher{ - pos: position{line: 2900, col: 6, offset: 95255}, - val: "[^\\r\\n[]�&<>{ ]", - chars: []rune{'\r', '\n', '[', ']', '�', '&', '<', '>', '{', ' '}, - ignoreCase: false, - inverted: true, - }, - }, - }, - &actionExpr{ - pos: position{line: 649, col: 5, offset: 20887}, - run: (*parser).callonRelativeLink25, - expr: &seqExpr{ - pos: position{line: 649, col: 5, offset: 20887}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 649, col: 5, offset: 20887}, - run: (*parser).callonRelativeLink27, + expr: &seqExpr{ + pos: position{line: 2806, col: 5, offset: 92211}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 2806, col: 5, offset: 92211}, + expr: &litMatcher{ + pos: position{line: 2806, col: 6, offset: 92212}, + val: "[", + ignoreCase: false, + want: "\"[\"", + }, + }, + &labeledExpr{ + pos: position{line: 2807, col: 5, offset: 92236}, + label: "elements", + expr: &oneOrMoreExpr{ + pos: position{line: 2807, col: 14, offset: 92245}, + expr: &choiceExpr{ + pos: position{line: 2811, col: 9, offset: 92419}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2811, col: 9, offset: 92419}, + run: (*parser).callonRelativeLink25, + expr: &oneOrMoreExpr{ + pos: position{line: 2811, col: 9, offset: 92419}, + expr: &charClassMatcher{ + pos: position{line: 2811, col: 10, offset: 92420}, + val: "[^\\r\\n[]�{ ]", + chars: []rune{'\r', '\n', '[', ']', '�', '{', ' '}, + ignoreCase: false, + inverted: true, + }, }, - &labeledExpr{ - pos: position{line: 652, col: 5, offset: 20951}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 652, col: 14, offset: 20960}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 663, col: 25, offset: 21324}, - run: (*parser).callonRelativeLink30, - expr: &seqExpr{ - pos: position{line: 663, col: 25, offset: 21324}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 663, col: 25, offset: 21324}, - val: "{counter:", + }, + &seqExpr{ + pos: position{line: 2814, col: 11, offset: 92573}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2814, col: 11, offset: 92573}, + val: ".", + ignoreCase: false, + want: "\".\"", + }, + &andExpr{ + pos: position{line: 2814, col: 15, offset: 92577}, + expr: ¬Expr{ + pos: position{line: 2814, col: 17, offset: 92579}, + expr: &choiceExpr{ + pos: position{line: 2814, col: 19, offset: 92581}, + alternatives: []interface{}{ + ¬Expr{ + pos: position{line: 2851, col: 8, offset: 93443}, + expr: &anyMatcher{ + line: 2851, col: 9, offset: 93444, + }, + }, + &actionExpr{ + pos: position{line: 2838, col: 10, offset: 93169}, + run: (*parser).callonRelativeLink35, + expr: &charClassMatcher{ + pos: position{line: 2838, col: 11, offset: 93170}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, ignoreCase: false, - want: "\"{counter:\"", + inverted: false, }, - &labeledExpr{ - pos: position{line: 663, col: 37, offset: 21336}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonRelativeLink34, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 655, col: 5, offset: 20901}, + run: (*parser).callonRelativeLink37, + expr: &seqExpr{ + pos: position{line: 655, col: 5, offset: 20901}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 655, col: 5, offset: 20901}, + run: (*parser).callonRelativeLink39, + }, + &labeledExpr{ + pos: position{line: 658, col: 5, offset: 20970}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 658, col: 14, offset: 20979}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 670, col: 25, offset: 21348}, + run: (*parser).callonRelativeLink42, + expr: &seqExpr{ + pos: position{line: 670, col: 25, offset: 21348}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 670, col: 25, offset: 21348}, + val: "{counter:", + ignoreCase: false, + want: "\"{counter:\"", + }, + &labeledExpr{ + pos: position{line: 670, col: 37, offset: 21360}, + label: "name", + expr: &actionExpr{ + pos: position{line: 336, col: 18, offset: 10325}, + run: (*parser).callonRelativeLink46, + expr: &seqExpr{ + pos: position{line: 336, col: 18, offset: 10325}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 336, col: 18, offset: 10325}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 336, col: 28, offset: 10335}, + expr: &charClassMatcher{ + pos: position{line: 336, col: 29, offset: 10336}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, }, }, }, }, - }, - }, - &labeledExpr{ - pos: position{line: 663, col: 56, offset: 21355}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 663, col: 62, offset: 21361}, - expr: &actionExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - run: (*parser).callonRelativeLink41, - expr: &seqExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 671, col: 17, offset: 21656}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 671, col: 21, offset: 21660}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - run: (*parser).callonRelativeLink46, - expr: &charClassMatcher{ - pos: position{line: 671, col: 28, offset: 21667}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - run: (*parser).callonRelativeLink48, - expr: &oneOrMoreExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - expr: &charClassMatcher{ - pos: position{line: 673, col: 9, offset: 21721}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, + &labeledExpr{ + pos: position{line: 670, col: 56, offset: 21379}, + label: "start", + expr: &zeroOrOneExpr{ + pos: position{line: 670, col: 62, offset: 21385}, + expr: &actionExpr{ + pos: position{line: 678, col: 17, offset: 21680}, + run: (*parser).callonRelativeLink53, + expr: &seqExpr{ + pos: position{line: 678, col: 17, offset: 21680}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 678, col: 17, offset: 21680}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &labeledExpr{ + pos: position{line: 678, col: 21, offset: 21684}, + label: "start", + expr: &choiceExpr{ + pos: position{line: 678, col: 28, offset: 21691}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 678, col: 28, offset: 21691}, + run: (*parser).callonRelativeLink58, + expr: &charClassMatcher{ + pos: position{line: 678, col: 28, offset: 21691}, + val: "[A-Za-z]", + ranges: []rune{'A', 'Z', 'a', 'z'}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 680, col: 9, offset: 21745}, + run: (*parser).callonRelativeLink60, + expr: &oneOrMoreExpr{ + pos: position{line: 680, col: 9, offset: 21745}, + expr: &charClassMatcher{ + pos: position{line: 680, col: 9, offset: 21745}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, }, }, }, @@ -26628,685 +19193,197 @@ var g = &grammar{ }, }, }, + &litMatcher{ + pos: position{line: 670, col: 78, offset: 21401}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, }, }, - &litMatcher{ - pos: position{line: 663, col: 78, offset: 21377}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, }, - }, - }, - &actionExpr{ - pos: position{line: 667, col: 25, offset: 21495}, - run: (*parser).callonRelativeLink52, - expr: &seqExpr{ - pos: position{line: 667, col: 25, offset: 21495}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 667, col: 25, offset: 21495}, - val: "{counter2:", - ignoreCase: false, - want: "\"{counter2:\"", - }, - &labeledExpr{ - pos: position{line: 667, col: 38, offset: 21508}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonRelativeLink56, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, + &actionExpr{ + pos: position{line: 674, col: 25, offset: 21519}, + run: (*parser).callonRelativeLink64, + expr: &seqExpr{ + pos: position{line: 674, col: 25, offset: 21519}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 674, col: 25, offset: 21519}, + val: "{counter2:", + ignoreCase: false, + want: "\"{counter2:\"", }, - }, - }, - &labeledExpr{ - pos: position{line: 667, col: 57, offset: 21527}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 667, col: 63, offset: 21533}, - expr: &actionExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - run: (*parser).callonRelativeLink63, - expr: &seqExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 671, col: 17, offset: 21656}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 671, col: 21, offset: 21660}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - run: (*parser).callonRelativeLink68, - expr: &charClassMatcher{ - pos: position{line: 671, col: 28, offset: 21667}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - run: (*parser).callonRelativeLink70, - expr: &oneOrMoreExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - expr: &charClassMatcher{ - pos: position{line: 673, col: 9, offset: 21721}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, + &labeledExpr{ + pos: position{line: 674, col: 38, offset: 21532}, + label: "name", + expr: &actionExpr{ + pos: position{line: 336, col: 18, offset: 10325}, + run: (*parser).callonRelativeLink68, + expr: &seqExpr{ + pos: position{line: 336, col: 18, offset: 10325}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 336, col: 18, offset: 10325}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 336, col: 28, offset: 10335}, + expr: &charClassMatcher{ + pos: position{line: 336, col: 29, offset: 10336}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, }, }, }, }, }, }, - }, - }, - &litMatcher{ - pos: position{line: 667, col: 79, offset: 21549}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 656, col: 31, offset: 21077}, - run: (*parser).callonRelativeLink74, - expr: &seqExpr{ - pos: position{line: 656, col: 31, offset: 21077}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 656, col: 31, offset: 21077}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - &labeledExpr{ - pos: position{line: 656, col: 35, offset: 21081}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonRelativeLink78, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - 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: 54, offset: 21100}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2638, col: 5, offset: 87092}, - run: (*parser).callonRelativeLink84, - expr: &seqExpr{ - pos: position{line: 2638, col: 5, offset: 87092}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 2638, col: 5, offset: 87092}, - run: (*parser).callonRelativeLink86, - }, - &labeledExpr{ - pos: position{line: 2641, col: 5, offset: 87163}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 2643, col: 9, offset: 87261}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2643, col: 9, offset: 87261}, - run: (*parser).callonRelativeLink89, - expr: &choiceExpr{ - pos: position{line: 691, col: 27, offset: 22375}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 691, col: 27, offset: 22375}, - run: (*parser).callonRelativeLink91, - expr: &seqExpr{ - pos: position{line: 691, col: 27, offset: 22375}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 691, col: 27, offset: 22375}, - val: "<<", - ignoreCase: false, - want: "\"<<\"", - }, - &labeledExpr{ - pos: position{line: 691, col: 32, offset: 22380}, - label: "id", - expr: &actionExpr{ - pos: position{line: 2913, col: 7, offset: 95667}, - run: (*parser).callonRelativeLink95, - expr: &oneOrMoreExpr{ - pos: position{line: 2913, col: 7, offset: 95667}, - expr: &charClassMatcher{ - pos: position{line: 2913, col: 7, offset: 95667}, - val: "[^[]<>,]", - chars: []rune{'[', ']', '<', '>', ','}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - &zeroOrMoreExpr{ - pos: position{line: 691, col: 40, offset: 22388}, + &labeledExpr{ + pos: position{line: 674, col: 57, offset: 21551}, + label: "start", + expr: &zeroOrOneExpr{ + pos: position{line: 674, col: 63, offset: 21557}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, - run: (*parser).callonRelativeLink99, - expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &litMatcher{ - pos: position{line: 691, col: 47, offset: 22395}, - val: ",", - ignoreCase: false, - want: "\",\"", - }, - &labeledExpr{ - pos: position{line: 691, col: 51, offset: 22399}, - label: "label", - expr: &oneOrMoreExpr{ - pos: position{line: 701, col: 24, offset: 22800}, - expr: &choiceExpr{ - pos: position{line: 702, col: 5, offset: 22806}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 702, col: 6, offset: 22807}, - run: (*parser).callonRelativeLink105, - expr: &seqExpr{ - pos: position{line: 702, col: 6, offset: 22807}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 702, col: 6, offset: 22807}, - val: "[0-9\\pL]", - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &oneOrMoreExpr{ - pos: position{line: 702, col: 14, offset: 22815}, + pos: position{line: 678, col: 17, offset: 21680}, + run: (*parser).callonRelativeLink75, + expr: &seqExpr{ + pos: position{line: 678, col: 17, offset: 21680}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 678, col: 17, offset: 21680}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &labeledExpr{ + pos: position{line: 678, col: 21, offset: 21684}, + label: "start", + expr: &choiceExpr{ + pos: position{line: 678, col: 28, offset: 21691}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 678, col: 28, offset: 21691}, + run: (*parser).callonRelativeLink80, expr: &charClassMatcher{ - pos: position{line: 702, col: 14, offset: 22815}, - val: "[^\\r\\n{<>]", - chars: []rune{'\r', '\n', '{', '<', '>'}, + pos: position{line: 678, col: 28, offset: 21691}, + val: "[A-Za-z]", + ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, - inverted: true, + inverted: false, }, }, - }, - }, - }, - &actionExpr{ - pos: position{line: 649, col: 5, offset: 20887}, - run: (*parser).callonRelativeLink110, - expr: &seqExpr{ - pos: position{line: 649, col: 5, offset: 20887}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 649, col: 5, offset: 20887}, - run: (*parser).callonRelativeLink112, - }, - &labeledExpr{ - pos: position{line: 652, col: 5, offset: 20951}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 652, col: 14, offset: 20960}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 663, col: 25, offset: 21324}, - run: (*parser).callonRelativeLink115, - expr: &seqExpr{ - pos: position{line: 663, col: 25, offset: 21324}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 663, col: 25, offset: 21324}, - val: "{counter:", - ignoreCase: false, - want: "\"{counter:\"", - }, - &labeledExpr{ - pos: position{line: 663, col: 37, offset: 21336}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonRelativeLink119, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 663, col: 56, offset: 21355}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 663, col: 62, offset: 21361}, - expr: &actionExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - run: (*parser).callonRelativeLink126, - expr: &seqExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 671, col: 17, offset: 21656}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 671, col: 21, offset: 21660}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - run: (*parser).callonRelativeLink131, - expr: &charClassMatcher{ - pos: position{line: 671, col: 28, offset: 21667}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - run: (*parser).callonRelativeLink133, - expr: &oneOrMoreExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - expr: &charClassMatcher{ - pos: position{line: 673, col: 9, offset: 21721}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 663, col: 78, offset: 21377}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 667, col: 25, offset: 21495}, - run: (*parser).callonRelativeLink137, - expr: &seqExpr{ - pos: position{line: 667, col: 25, offset: 21495}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 667, col: 25, offset: 21495}, - val: "{counter2:", - ignoreCase: false, - want: "\"{counter2:\"", - }, - &labeledExpr{ - pos: position{line: 667, col: 38, offset: 21508}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonRelativeLink141, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 667, col: 57, offset: 21527}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 667, col: 63, offset: 21533}, - expr: &actionExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - run: (*parser).callonRelativeLink148, - expr: &seqExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 671, col: 17, offset: 21656}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 671, col: 21, offset: 21660}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - run: (*parser).callonRelativeLink153, - expr: &charClassMatcher{ - pos: position{line: 671, col: 28, offset: 21667}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - run: (*parser).callonRelativeLink155, - expr: &oneOrMoreExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - expr: &charClassMatcher{ - pos: position{line: 673, col: 9, offset: 21721}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 667, col: 79, offset: 21549}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 656, col: 31, offset: 21077}, - run: (*parser).callonRelativeLink159, - expr: &seqExpr{ - pos: position{line: 656, col: 31, offset: 21077}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 656, col: 31, offset: 21077}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - &labeledExpr{ - pos: position{line: 656, col: 35, offset: 21081}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonRelativeLink163, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - 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: 54, offset: 21100}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, + &actionExpr{ + pos: position{line: 680, col: 9, offset: 21745}, + run: (*parser).callonRelativeLink82, + expr: &oneOrMoreExpr{ + pos: position{line: 680, col: 9, offset: 21745}, + expr: &charClassMatcher{ + pos: position{line: 680, col: 9, offset: 21745}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, }, }, }, }, }, }, - &actionExpr{ - pos: position{line: 706, col: 8, offset: 23039}, - run: (*parser).callonRelativeLink169, - expr: &litMatcher{ - pos: position{line: 706, col: 8, offset: 23039}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - }, }, }, }, }, - &litMatcher{ - pos: position{line: 691, col: 79, offset: 22427}, - val: ">>", - ignoreCase: false, - want: "\">>\"", - }, + }, + &litMatcher{ + pos: position{line: 674, col: 79, offset: 21573}, + val: "}", + ignoreCase: false, + want: "\"}\"", }, }, }, - &actionExpr{ - pos: position{line: 693, col: 9, offset: 22500}, - run: (*parser).callonRelativeLink172, - expr: &seqExpr{ - pos: position{line: 693, col: 9, offset: 22500}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 693, col: 9, offset: 22500}, - val: "<<", - ignoreCase: false, - want: "\"<<\"", - }, - &labeledExpr{ - pos: position{line: 693, col: 14, offset: 22505}, - label: "id", - expr: &actionExpr{ - pos: position{line: 2913, col: 7, offset: 95667}, - run: (*parser).callonRelativeLink176, - expr: &oneOrMoreExpr{ - pos: position{line: 2913, col: 7, offset: 95667}, - expr: &charClassMatcher{ - pos: position{line: 2913, col: 7, offset: 95667}, - val: "[^[]<>,]", - chars: []rune{'[', ']', '<', '>', ','}, + }, + &actionExpr{ + pos: position{line: 663, col: 5, offset: 21092}, + run: (*parser).callonRelativeLink86, + expr: &seqExpr{ + pos: position{line: 663, col: 5, offset: 21092}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 663, col: 5, offset: 21092}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + &labeledExpr{ + pos: position{line: 663, col: 9, offset: 21096}, + label: "name", + expr: &actionExpr{ + pos: position{line: 336, col: 18, offset: 10325}, + run: (*parser).callonRelativeLink90, + expr: &seqExpr{ + pos: position{line: 336, col: 18, offset: 10325}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 336, col: 18, offset: 10325}, + 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: 336, col: 28, offset: 10335}, + expr: &charClassMatcher{ + pos: position{line: 336, col: 29, offset: 10336}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, }, }, }, }, - &litMatcher{ - pos: position{line: 693, col: 22, offset: 22513}, - val: ">>", - ignoreCase: false, - want: "\">>\"", - }, + }, + &litMatcher{ + pos: position{line: 663, col: 28, offset: 21115}, + val: "}", + ignoreCase: false, + want: "\"}\"", }, }, }, }, }, }, - &actionExpr{ - pos: position{line: 2646, col: 11, offset: 87365}, - run: (*parser).callonRelativeLink180, - expr: &charClassMatcher{ - pos: position{line: 2646, col: 12, offset: 87366}, - val: "[<>&]", - chars: []rune{'<', '>', '&'}, - ignoreCase: false, - inverted: false, - }, - }, }, }, }, }, - }, - }, - &actionExpr{ - pos: position{line: 2905, col: 7, offset: 95451}, - run: (*parser).callonRelativeLink182, - expr: &litMatcher{ - pos: position{line: 2905, col: 7, offset: 95451}, - val: "{", - ignoreCase: false, - want: "\"{\"", + &actionExpr{ + pos: position{line: 2817, col: 11, offset: 92665}, + run: (*parser).callonRelativeLink96, + expr: &litMatcher{ + pos: position{line: 2817, col: 11, offset: 92665}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + }, }, }, }, @@ -27315,27 +19392,27 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1085, col: 23, offset: 33674}, - run: (*parser).callonRelativeLink184, + pos: position{line: 1092, col: 23, offset: 33700}, + run: (*parser).callonRelativeLink98, expr: &seqExpr{ - pos: position{line: 1085, col: 23, offset: 33674}, + pos: position{line: 1092, col: 23, offset: 33700}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1083, col: 32, offset: 33642}, + pos: position{line: 1090, col: 32, offset: 33668}, val: "�", ignoreCase: false, want: "\"�\"", }, &labeledExpr{ - pos: position{line: 1085, col: 51, offset: 33702}, + pos: position{line: 1092, col: 51, offset: 33728}, label: "ref", expr: &actionExpr{ - pos: position{line: 1085, col: 56, offset: 33707}, - run: (*parser).callonRelativeLink188, + pos: position{line: 1092, col: 56, offset: 33733}, + run: (*parser).callonRelativeLink102, expr: &oneOrMoreExpr{ - pos: position{line: 1085, col: 56, offset: 33707}, + pos: position{line: 1092, col: 56, offset: 33733}, expr: &charClassMatcher{ - pos: position{line: 1085, col: 56, offset: 33707}, + pos: position{line: 1092, col: 56, offset: 33733}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -27345,7 +19422,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1083, col: 32, offset: 33642}, + pos: position{line: 1090, col: 32, offset: 33668}, val: "�", ignoreCase: false, want: "\"�\"", @@ -27362,10 +19439,10 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1271, col: 40, offset: 41478}, + pos: position{line: 1278, col: 40, offset: 41518}, label: "attributes", expr: &ruleRefExpr{ - pos: position{line: 1271, col: 52, offset: 41490}, + pos: position{line: 1278, col: 52, offset: 41530}, name: "InlineAttributes", }, }, @@ -27375,63 +19452,63 @@ var g = &grammar{ }, { name: "ExternalLink", - pos: position{line: 1275, col: 1, offset: 41606}, + pos: position{line: 1282, col: 1, offset: 41646}, expr: &actionExpr{ - pos: position{line: 1275, col: 17, offset: 41622}, + pos: position{line: 1282, col: 17, offset: 41662}, run: (*parser).callonExternalLink1, expr: &seqExpr{ - pos: position{line: 1275, col: 17, offset: 41622}, + pos: position{line: 1282, col: 17, offset: 41662}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1275, col: 17, offset: 41622}, + pos: position{line: 1282, col: 17, offset: 41662}, label: "url", expr: &actionExpr{ - pos: position{line: 2895, col: 23, offset: 95096}, + pos: position{line: 2799, col: 23, offset: 92016}, run: (*parser).callonExternalLink4, expr: &seqExpr{ - pos: position{line: 2895, col: 23, offset: 95096}, + pos: position{line: 2799, col: 23, offset: 92016}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 2895, col: 23, offset: 95096}, + pos: position{line: 2799, col: 23, offset: 92016}, expr: &litMatcher{ - pos: position{line: 2895, col: 24, offset: 95097}, + pos: position{line: 2799, col: 24, offset: 92017}, val: "[", ignoreCase: false, want: "\"[\"", }, }, &labeledExpr{ - pos: position{line: 2895, col: 28, offset: 95101}, + pos: position{line: 2799, col: 28, offset: 92021}, label: "scheme", expr: &choiceExpr{ - pos: position{line: 2911, col: 11, offset: 95603}, + pos: position{line: 2803, col: 11, offset: 92136}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2911, col: 11, offset: 95603}, + pos: position{line: 2803, col: 11, offset: 92136}, val: "http://", ignoreCase: false, want: "\"http://\"", }, &litMatcher{ - pos: position{line: 2911, col: 23, offset: 95615}, + pos: position{line: 2803, col: 23, offset: 92148}, val: "https://", ignoreCase: false, want: "\"https://\"", }, &litMatcher{ - pos: position{line: 2911, col: 36, offset: 95628}, + pos: position{line: 2803, col: 36, offset: 92161}, val: "ftp://", ignoreCase: false, want: "\"ftp://\"", }, &litMatcher{ - pos: position{line: 2911, col: 47, offset: 95639}, + pos: position{line: 2803, col: 47, offset: 92172}, val: "irc://", ignoreCase: false, want: "\"irc://\"", }, &litMatcher{ - pos: position{line: 2911, col: 58, offset: 95650}, + pos: position{line: 2803, col: 58, offset: 92183}, val: "mailto:", ignoreCase: false, want: "\"mailto:\"", @@ -27440,77 +19517,125 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 2895, col: 44, offset: 95117}, + pos: position{line: 2799, col: 44, offset: 92037}, label: "path", expr: &oneOrMoreExpr{ - pos: position{line: 2895, col: 49, offset: 95122}, - expr: &choiceExpr{ - pos: position{line: 2895, col: 50, offset: 95123}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2899, col: 13, offset: 95239}, - run: (*parser).callonExternalLink18, - expr: &labeledExpr{ - pos: position{line: 2899, col: 13, offset: 95239}, + pos: position{line: 2799, col: 49, offset: 92042}, + expr: &actionExpr{ + pos: position{line: 2806, col: 5, offset: 92211}, + run: (*parser).callonExternalLink17, + expr: &seqExpr{ + pos: position{line: 2806, col: 5, offset: 92211}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 2806, col: 5, offset: 92211}, + expr: &litMatcher{ + pos: position{line: 2806, col: 6, offset: 92212}, + val: "[", + ignoreCase: false, + want: "\"[\"", + }, + }, + &labeledExpr{ + pos: position{line: 2807, col: 5, offset: 92236}, label: "elements", expr: &oneOrMoreExpr{ - pos: position{line: 2899, col: 22, offset: 95248}, + pos: position{line: 2807, col: 14, offset: 92245}, expr: &choiceExpr{ - pos: position{line: 2900, col: 5, offset: 95254}, + pos: position{line: 2811, col: 9, offset: 92419}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2900, col: 5, offset: 95254}, - run: (*parser).callonExternalLink22, + pos: position{line: 2811, col: 9, offset: 92419}, + run: (*parser).callonExternalLink24, expr: &oneOrMoreExpr{ - pos: position{line: 2900, col: 5, offset: 95254}, + pos: position{line: 2811, col: 9, offset: 92419}, expr: &charClassMatcher{ - pos: position{line: 2900, col: 6, offset: 95255}, - val: "[^\\r\\n[]�&<>{ ]", - chars: []rune{'\r', '\n', '[', ']', '�', '&', '<', '>', '{', ' '}, + pos: position{line: 2811, col: 10, offset: 92420}, + val: "[^\\r\\n[]�{ ]", + chars: []rune{'\r', '\n', '[', ']', '�', '{', ' '}, ignoreCase: false, inverted: true, }, }, }, + &seqExpr{ + pos: position{line: 2814, col: 11, offset: 92573}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2814, col: 11, offset: 92573}, + val: ".", + ignoreCase: false, + want: "\".\"", + }, + &andExpr{ + pos: position{line: 2814, col: 15, offset: 92577}, + expr: ¬Expr{ + pos: position{line: 2814, col: 17, offset: 92579}, + expr: &choiceExpr{ + pos: position{line: 2814, col: 19, offset: 92581}, + alternatives: []interface{}{ + ¬Expr{ + pos: position{line: 2851, col: 8, offset: 93443}, + expr: &anyMatcher{ + line: 2851, col: 9, offset: 93444, + }, + }, + &actionExpr{ + pos: position{line: 2838, col: 10, offset: 93169}, + run: (*parser).callonExternalLink34, + expr: &charClassMatcher{ + pos: position{line: 2838, col: 11, offset: 93170}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, &actionExpr{ - pos: position{line: 649, col: 5, offset: 20887}, - run: (*parser).callonExternalLink25, + pos: position{line: 655, col: 5, offset: 20901}, + run: (*parser).callonExternalLink36, expr: &seqExpr{ - pos: position{line: 649, col: 5, offset: 20887}, + pos: position{line: 655, col: 5, offset: 20901}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 649, col: 5, offset: 20887}, - run: (*parser).callonExternalLink27, + pos: position{line: 655, col: 5, offset: 20901}, + run: (*parser).callonExternalLink38, }, &labeledExpr{ - pos: position{line: 652, col: 5, offset: 20951}, + pos: position{line: 658, col: 5, offset: 20970}, label: "element", expr: &choiceExpr{ - pos: position{line: 652, col: 14, offset: 20960}, + pos: position{line: 658, col: 14, offset: 20979}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 663, col: 25, offset: 21324}, - run: (*parser).callonExternalLink30, + pos: position{line: 670, col: 25, offset: 21348}, + run: (*parser).callonExternalLink41, expr: &seqExpr{ - pos: position{line: 663, col: 25, offset: 21324}, + pos: position{line: 670, col: 25, offset: 21348}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 663, col: 25, offset: 21324}, + pos: position{line: 670, col: 25, offset: 21348}, val: "{counter:", ignoreCase: false, want: "\"{counter:\"", }, &labeledExpr{ - pos: position{line: 663, col: 37, offset: 21336}, + pos: position{line: 670, col: 37, offset: 21360}, label: "name", expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonExternalLink34, + pos: position{line: 336, col: 18, offset: 10325}, + run: (*parser).callonExternalLink45, expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -27519,9 +19644,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, + pos: position{line: 336, col: 28, offset: 10335}, expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, + pos: position{line: 336, col: 29, offset: 10336}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -27535,33 +19660,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 663, col: 56, offset: 21355}, + pos: position{line: 670, col: 56, offset: 21379}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 663, col: 62, offset: 21361}, + pos: position{line: 670, col: 62, offset: 21385}, expr: &actionExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - run: (*parser).callonExternalLink41, + pos: position{line: 678, col: 17, offset: 21680}, + run: (*parser).callonExternalLink52, expr: &seqExpr{ - pos: position{line: 671, col: 17, offset: 21656}, + pos: position{line: 678, col: 17, offset: 21680}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 671, col: 17, offset: 21656}, + pos: position{line: 678, col: 17, offset: 21680}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 671, col: 21, offset: 21660}, + pos: position{line: 678, col: 21, offset: 21684}, label: "start", expr: &choiceExpr{ - pos: position{line: 671, col: 28, offset: 21667}, + pos: position{line: 678, col: 28, offset: 21691}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - run: (*parser).callonExternalLink46, + pos: position{line: 678, col: 28, offset: 21691}, + run: (*parser).callonExternalLink57, expr: &charClassMatcher{ - pos: position{line: 671, col: 28, offset: 21667}, + pos: position{line: 678, col: 28, offset: 21691}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -27569,12 +19694,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - run: (*parser).callonExternalLink48, + pos: position{line: 680, col: 9, offset: 21745}, + run: (*parser).callonExternalLink59, expr: &oneOrMoreExpr{ - pos: position{line: 673, col: 9, offset: 21721}, + pos: position{line: 680, col: 9, offset: 21745}, expr: &charClassMatcher{ - pos: position{line: 673, col: 9, offset: 21721}, + pos: position{line: 680, col: 9, offset: 21745}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -27591,7 +19716,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 663, col: 78, offset: 21377}, + pos: position{line: 670, col: 78, offset: 21401}, val: "}", ignoreCase: false, want: "\"}\"", @@ -27600,28 +19725,28 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 667, col: 25, offset: 21495}, - run: (*parser).callonExternalLink52, + pos: position{line: 674, col: 25, offset: 21519}, + run: (*parser).callonExternalLink63, expr: &seqExpr{ - pos: position{line: 667, col: 25, offset: 21495}, + pos: position{line: 674, col: 25, offset: 21519}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 667, col: 25, offset: 21495}, + pos: position{line: 674, col: 25, offset: 21519}, val: "{counter2:", ignoreCase: false, want: "\"{counter2:\"", }, &labeledExpr{ - pos: position{line: 667, col: 38, offset: 21508}, + pos: position{line: 674, col: 38, offset: 21532}, label: "name", expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonExternalLink56, + pos: position{line: 336, col: 18, offset: 10325}, + run: (*parser).callonExternalLink67, expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -27630,9 +19755,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, + pos: position{line: 336, col: 28, offset: 10335}, expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, + pos: position{line: 336, col: 29, offset: 10336}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -27646,33 +19771,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 667, col: 57, offset: 21527}, + pos: position{line: 674, col: 57, offset: 21551}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 667, col: 63, offset: 21533}, + pos: position{line: 674, col: 63, offset: 21557}, expr: &actionExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - run: (*parser).callonExternalLink63, + pos: position{line: 678, col: 17, offset: 21680}, + run: (*parser).callonExternalLink74, expr: &seqExpr{ - pos: position{line: 671, col: 17, offset: 21656}, + pos: position{line: 678, col: 17, offset: 21680}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 671, col: 17, offset: 21656}, + pos: position{line: 678, col: 17, offset: 21680}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 671, col: 21, offset: 21660}, + pos: position{line: 678, col: 21, offset: 21684}, label: "start", expr: &choiceExpr{ - pos: position{line: 671, col: 28, offset: 21667}, + pos: position{line: 678, col: 28, offset: 21691}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - run: (*parser).callonExternalLink68, + pos: position{line: 678, col: 28, offset: 21691}, + run: (*parser).callonExternalLink79, expr: &charClassMatcher{ - pos: position{line: 671, col: 28, offset: 21667}, + pos: position{line: 678, col: 28, offset: 21691}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -27680,12 +19805,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - run: (*parser).callonExternalLink70, + pos: position{line: 680, col: 9, offset: 21745}, + run: (*parser).callonExternalLink81, expr: &oneOrMoreExpr{ - pos: position{line: 673, col: 9, offset: 21721}, + pos: position{line: 680, col: 9, offset: 21745}, expr: &charClassMatcher{ - pos: position{line: 673, col: 9, offset: 21721}, + pos: position{line: 680, col: 9, offset: 21745}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -27702,7 +19827,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 667, col: 79, offset: 21549}, + pos: position{line: 674, col: 79, offset: 21573}, val: "}", ignoreCase: false, want: "\"}\"", @@ -27711,28 +19836,28 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 656, col: 31, offset: 21077}, - run: (*parser).callonExternalLink74, + pos: position{line: 663, col: 5, offset: 21092}, + run: (*parser).callonExternalLink85, expr: &seqExpr{ - pos: position{line: 656, col: 31, offset: 21077}, + pos: position{line: 663, col: 5, offset: 21092}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 656, col: 31, offset: 21077}, + pos: position{line: 663, col: 5, offset: 21092}, val: "{", ignoreCase: false, want: "\"{\"", }, &labeledExpr{ - pos: position{line: 656, col: 35, offset: 21081}, + pos: position{line: 663, col: 9, offset: 21096}, label: "name", expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonExternalLink78, + pos: position{line: 336, col: 18, offset: 10325}, + run: (*parser).callonExternalLink89, expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -27741,9 +19866,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, + pos: position{line: 336, col: 28, offset: 10335}, expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, + pos: position{line: 336, col: 29, offset: 10336}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -27757,7 +19882,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 656, col: 54, offset: 21100}, + pos: position{line: 663, col: 28, offset: 21115}, val: "}", ignoreCase: false, want: "\"}\"", @@ -27772,498 +19897,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2638, col: 5, offset: 87092}, - run: (*parser).callonExternalLink84, - expr: &seqExpr{ - pos: position{line: 2638, col: 5, offset: 87092}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 2638, col: 5, offset: 87092}, - run: (*parser).callonExternalLink86, - }, - &labeledExpr{ - pos: position{line: 2641, col: 5, offset: 87163}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 2643, col: 9, offset: 87261}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2643, col: 9, offset: 87261}, - run: (*parser).callonExternalLink89, - expr: &choiceExpr{ - pos: position{line: 691, col: 27, offset: 22375}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 691, col: 27, offset: 22375}, - run: (*parser).callonExternalLink91, - expr: &seqExpr{ - pos: position{line: 691, col: 27, offset: 22375}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 691, col: 27, offset: 22375}, - val: "<<", - ignoreCase: false, - want: "\"<<\"", - }, - &labeledExpr{ - pos: position{line: 691, col: 32, offset: 22380}, - label: "id", - expr: &actionExpr{ - pos: position{line: 2913, col: 7, offset: 95667}, - run: (*parser).callonExternalLink95, - expr: &oneOrMoreExpr{ - pos: position{line: 2913, col: 7, offset: 95667}, - expr: &charClassMatcher{ - pos: position{line: 2913, col: 7, offset: 95667}, - val: "[^[]<>,]", - chars: []rune{'[', ']', '<', '>', ','}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - &zeroOrMoreExpr{ - pos: position{line: 691, col: 40, offset: 22388}, - expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, - run: (*parser).callonExternalLink99, - expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &litMatcher{ - pos: position{line: 691, col: 47, offset: 22395}, - val: ",", - ignoreCase: false, - want: "\",\"", - }, - &labeledExpr{ - pos: position{line: 691, col: 51, offset: 22399}, - label: "label", - expr: &oneOrMoreExpr{ - pos: position{line: 701, col: 24, offset: 22800}, - expr: &choiceExpr{ - pos: position{line: 702, col: 5, offset: 22806}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 702, col: 6, offset: 22807}, - run: (*parser).callonExternalLink105, - expr: &seqExpr{ - pos: position{line: 702, col: 6, offset: 22807}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 702, col: 6, offset: 22807}, - val: "[0-9\\pL]", - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &oneOrMoreExpr{ - pos: position{line: 702, col: 14, offset: 22815}, - expr: &charClassMatcher{ - pos: position{line: 702, col: 14, offset: 22815}, - val: "[^\\r\\n{<>]", - chars: []rune{'\r', '\n', '{', '<', '>'}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 649, col: 5, offset: 20887}, - run: (*parser).callonExternalLink110, - expr: &seqExpr{ - pos: position{line: 649, col: 5, offset: 20887}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 649, col: 5, offset: 20887}, - run: (*parser).callonExternalLink112, - }, - &labeledExpr{ - pos: position{line: 652, col: 5, offset: 20951}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 652, col: 14, offset: 20960}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 663, col: 25, offset: 21324}, - run: (*parser).callonExternalLink115, - expr: &seqExpr{ - pos: position{line: 663, col: 25, offset: 21324}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 663, col: 25, offset: 21324}, - val: "{counter:", - ignoreCase: false, - want: "\"{counter:\"", - }, - &labeledExpr{ - pos: position{line: 663, col: 37, offset: 21336}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonExternalLink119, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 663, col: 56, offset: 21355}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 663, col: 62, offset: 21361}, - expr: &actionExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - run: (*parser).callonExternalLink126, - expr: &seqExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 671, col: 17, offset: 21656}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 671, col: 21, offset: 21660}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - run: (*parser).callonExternalLink131, - expr: &charClassMatcher{ - pos: position{line: 671, col: 28, offset: 21667}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - run: (*parser).callonExternalLink133, - expr: &oneOrMoreExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - expr: &charClassMatcher{ - pos: position{line: 673, col: 9, offset: 21721}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 663, col: 78, offset: 21377}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 667, col: 25, offset: 21495}, - run: (*parser).callonExternalLink137, - expr: &seqExpr{ - pos: position{line: 667, col: 25, offset: 21495}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 667, col: 25, offset: 21495}, - val: "{counter2:", - ignoreCase: false, - want: "\"{counter2:\"", - }, - &labeledExpr{ - pos: position{line: 667, col: 38, offset: 21508}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonExternalLink141, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 667, col: 57, offset: 21527}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 667, col: 63, offset: 21533}, - expr: &actionExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - run: (*parser).callonExternalLink148, - expr: &seqExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 671, col: 17, offset: 21656}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 671, col: 21, offset: 21660}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - run: (*parser).callonExternalLink153, - expr: &charClassMatcher{ - pos: position{line: 671, col: 28, offset: 21667}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - run: (*parser).callonExternalLink155, - expr: &oneOrMoreExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - expr: &charClassMatcher{ - pos: position{line: 673, col: 9, offset: 21721}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 667, col: 79, offset: 21549}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 656, col: 31, offset: 21077}, - run: (*parser).callonExternalLink159, - expr: &seqExpr{ - pos: position{line: 656, col: 31, offset: 21077}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 656, col: 31, offset: 21077}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - &labeledExpr{ - pos: position{line: 656, col: 35, offset: 21081}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonExternalLink163, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - 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: 54, offset: 21100}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 706, col: 8, offset: 23039}, - run: (*parser).callonExternalLink169, - expr: &litMatcher{ - pos: position{line: 706, col: 8, offset: 23039}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 691, col: 79, offset: 22427}, - val: ">>", - ignoreCase: false, - want: "\">>\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 693, col: 9, offset: 22500}, - run: (*parser).callonExternalLink172, - expr: &seqExpr{ - pos: position{line: 693, col: 9, offset: 22500}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 693, col: 9, offset: 22500}, - val: "<<", - ignoreCase: false, - want: "\"<<\"", - }, - &labeledExpr{ - pos: position{line: 693, col: 14, offset: 22505}, - label: "id", - expr: &actionExpr{ - pos: position{line: 2913, col: 7, offset: 95667}, - run: (*parser).callonExternalLink176, - expr: &oneOrMoreExpr{ - pos: position{line: 2913, col: 7, offset: 95667}, - expr: &charClassMatcher{ - pos: position{line: 2913, col: 7, offset: 95667}, - val: "[^[]<>,]", - chars: []rune{'[', ']', '<', '>', ','}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 693, col: 22, offset: 22513}, - val: ">>", - ignoreCase: false, - want: "\">>\"", - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2646, col: 11, offset: 87365}, - run: (*parser).callonExternalLink180, - expr: &charClassMatcher{ - pos: position{line: 2646, col: 12, offset: 87366}, - val: "[<>&]", - chars: []rune{'<', '>', '&'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2905, col: 7, offset: 95451}, - run: (*parser).callonExternalLink182, + pos: position{line: 2817, col: 11, offset: 92665}, + run: (*parser).callonExternalLink95, expr: &litMatcher{ - pos: position{line: 2905, col: 7, offset: 95451}, + pos: position{line: 2817, col: 11, offset: 92665}, val: "{", ignoreCase: false, want: "\"{\"", @@ -28274,45 +19911,6 @@ var g = &grammar{ }, }, }, - &actionExpr{ - pos: position{line: 1085, col: 23, offset: 33674}, - run: (*parser).callonExternalLink184, - expr: &seqExpr{ - pos: position{line: 1085, col: 23, offset: 33674}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 1083, col: 32, offset: 33642}, - val: "�", - ignoreCase: false, - want: "\"�\"", - }, - &labeledExpr{ - pos: position{line: 1085, col: 51, offset: 33702}, - label: "ref", - expr: &actionExpr{ - pos: position{line: 1085, col: 56, offset: 33707}, - run: (*parser).callonExternalLink188, - expr: &oneOrMoreExpr{ - pos: position{line: 1085, col: 56, offset: 33707}, - expr: &charClassMatcher{ - pos: position{line: 1085, col: 56, offset: 33707}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 1083, col: 32, offset: 33642}, - val: "�", - ignoreCase: false, - want: "\"�\"", - }, - }, - }, - }, }, }, }, @@ -28322,12 +19920,12 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1275, col: 42, offset: 41647}, + pos: position{line: 1282, col: 42, offset: 41687}, label: "attributes", expr: &zeroOrOneExpr{ - pos: position{line: 1275, col: 53, offset: 41658}, + pos: position{line: 1282, col: 53, offset: 41698}, expr: &ruleRefExpr{ - pos: position{line: 1275, col: 54, offset: 41659}, + pos: position{line: 1282, col: 54, offset: 41699}, name: "InlineAttributes", }, }, @@ -28338,41 +19936,41 @@ var g = &grammar{ }, { name: "ListElements", - pos: position{line: 1283, col: 1, offset: 42013}, + pos: position{line: 1290, col: 1, offset: 42053}, expr: &actionExpr{ - pos: position{line: 1284, col: 5, offset: 42034}, + pos: position{line: 1291, col: 5, offset: 42074}, run: (*parser).callonListElements1, expr: &seqExpr{ - pos: position{line: 1284, col: 5, offset: 42034}, + pos: position{line: 1291, col: 5, offset: 42074}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1284, col: 5, offset: 42034}, + pos: position{line: 1291, col: 5, offset: 42074}, label: "firstElement", expr: &choiceExpr{ - pos: position{line: 1290, col: 5, offset: 42236}, + pos: position{line: 1297, col: 5, offset: 42276}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1418, col: 5, offset: 46228}, + pos: position{line: 1425, col: 5, offset: 46263}, run: (*parser).callonListElements5, expr: &seqExpr{ - pos: position{line: 1418, col: 5, offset: 46228}, + pos: position{line: 1425, col: 5, offset: 46263}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1418, col: 5, offset: 46228}, + pos: position{line: 1425, col: 5, offset: 46263}, label: "prefix", expr: &actionExpr{ - pos: position{line: 1425, col: 5, offset: 46436}, + pos: position{line: 1432, col: 5, offset: 46471}, run: (*parser).callonListElements8, expr: &seqExpr{ - pos: position{line: 1425, col: 5, offset: 46436}, + pos: position{line: 1432, col: 5, offset: 46471}, exprs: []interface{}{ &zeroOrMoreExpr{ - pos: position{line: 1425, col: 5, offset: 46436}, + pos: position{line: 1432, col: 5, offset: 46471}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonListElements11, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -28381,27 +19979,27 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1425, col: 12, offset: 46443}, + pos: position{line: 1432, col: 12, offset: 46478}, label: "prefix", expr: &choiceExpr{ - pos: position{line: 1427, col: 9, offset: 46506}, + pos: position{line: 1434, col: 9, offset: 46541}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1427, col: 9, offset: 46506}, + pos: position{line: 1434, col: 9, offset: 46541}, run: (*parser).callonListElements15, expr: &seqExpr{ - pos: position{line: 1427, col: 9, offset: 46506}, + pos: position{line: 1434, col: 9, offset: 46541}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1427, col: 9, offset: 46506}, + pos: position{line: 1434, col: 9, offset: 46541}, label: "depth", expr: &actionExpr{ - pos: position{line: 1427, col: 16, offset: 46513}, + pos: position{line: 1434, col: 16, offset: 46548}, run: (*parser).callonListElements18, expr: &oneOrMoreExpr{ - pos: position{line: 1427, col: 16, offset: 46513}, + pos: position{line: 1434, col: 16, offset: 46548}, expr: &litMatcher{ - pos: position{line: 1427, col: 17, offset: 46514}, + pos: position{line: 1434, col: 17, offset: 46549}, val: ".", ignoreCase: false, want: "\".\"", @@ -28410,22 +20008,22 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1431, col: 9, offset: 46614}, + pos: position{line: 1438, col: 9, offset: 46649}, run: (*parser).callonListElements21, }, }, }, }, &actionExpr{ - pos: position{line: 1450, col: 11, offset: 47331}, + pos: position{line: 1457, col: 11, offset: 47366}, run: (*parser).callonListElements22, expr: &seqExpr{ - pos: position{line: 1450, col: 11, offset: 47331}, + pos: position{line: 1457, col: 11, offset: 47366}, exprs: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 1450, col: 11, offset: 47331}, + pos: position{line: 1457, col: 11, offset: 47366}, expr: &charClassMatcher{ - pos: position{line: 1450, col: 12, offset: 47332}, + pos: position{line: 1457, col: 12, offset: 47367}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -28433,7 +20031,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1450, col: 20, offset: 47340}, + pos: position{line: 1457, col: 20, offset: 47375}, val: ".", ignoreCase: false, want: "\".\"", @@ -28442,20 +20040,20 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1452, col: 13, offset: 47457}, + pos: position{line: 1459, col: 13, offset: 47492}, run: (*parser).callonListElements27, expr: &seqExpr{ - pos: position{line: 1452, col: 13, offset: 47457}, + pos: position{line: 1459, col: 13, offset: 47492}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 1452, col: 14, offset: 47458}, + pos: position{line: 1459, col: 14, offset: 47493}, val: "[a-z]", ranges: []rune{'a', 'z'}, ignoreCase: false, inverted: false, }, &litMatcher{ - pos: position{line: 1452, col: 21, offset: 47465}, + pos: position{line: 1459, col: 21, offset: 47500}, val: ".", ignoreCase: false, want: "\".\"", @@ -28464,20 +20062,20 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1454, col: 13, offset: 47585}, + pos: position{line: 1461, col: 13, offset: 47620}, run: (*parser).callonListElements31, expr: &seqExpr{ - pos: position{line: 1454, col: 13, offset: 47585}, + pos: position{line: 1461, col: 13, offset: 47620}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 1454, col: 14, offset: 47586}, + pos: position{line: 1461, col: 14, offset: 47621}, val: "[A-Z]", ranges: []rune{'A', 'Z'}, ignoreCase: false, inverted: false, }, &litMatcher{ - pos: position{line: 1454, col: 21, offset: 47593}, + pos: position{line: 1461, col: 21, offset: 47628}, val: ".", ignoreCase: false, want: "\".\"", @@ -28486,15 +20084,15 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1456, col: 13, offset: 47713}, + pos: position{line: 1463, col: 13, offset: 47748}, run: (*parser).callonListElements35, expr: &seqExpr{ - pos: position{line: 1456, col: 13, offset: 47713}, + pos: position{line: 1463, col: 13, offset: 47748}, exprs: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 1456, col: 13, offset: 47713}, + pos: position{line: 1463, col: 13, offset: 47748}, expr: &charClassMatcher{ - pos: position{line: 1456, col: 14, offset: 47714}, + pos: position{line: 1463, col: 14, offset: 47749}, val: "[ivxdlcm]", chars: []rune{'i', 'v', 'x', 'd', 'l', 'c', 'm'}, ignoreCase: false, @@ -28502,7 +20100,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1456, col: 26, offset: 47726}, + pos: position{line: 1463, col: 26, offset: 47761}, val: ")", ignoreCase: false, want: "\")\"", @@ -28511,15 +20109,15 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1458, col: 13, offset: 47846}, + pos: position{line: 1465, col: 13, offset: 47881}, run: (*parser).callonListElements40, expr: &seqExpr{ - pos: position{line: 1458, col: 13, offset: 47846}, + pos: position{line: 1465, col: 13, offset: 47881}, exprs: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 1458, col: 13, offset: 47846}, + pos: position{line: 1465, col: 13, offset: 47881}, expr: &charClassMatcher{ - pos: position{line: 1458, col: 14, offset: 47847}, + pos: position{line: 1465, col: 14, offset: 47882}, val: "[IVXDLCM]", chars: []rune{'I', 'V', 'X', 'D', 'L', 'C', 'M'}, ignoreCase: false, @@ -28527,7 +20125,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1458, col: 26, offset: 47859}, + pos: position{line: 1465, col: 26, offset: 47894}, val: ")", ignoreCase: false, want: "\")\"", @@ -28539,12 +20137,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2932, col: 11, offset: 96082}, + pos: position{line: 2842, col: 11, offset: 93236}, run: (*parser).callonListElements45, expr: &oneOrMoreExpr{ - pos: position{line: 2932, col: 11, offset: 96082}, + pos: position{line: 2842, col: 11, offset: 93236}, expr: &charClassMatcher{ - pos: position{line: 2932, col: 12, offset: 96083}, + pos: position{line: 2842, col: 12, offset: 93237}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -28557,24 +20155,24 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1419, col: 5, offset: 46267}, + pos: position{line: 1426, col: 5, offset: 46302}, label: "content", expr: &actionExpr{ - pos: position{line: 1359, col: 5, offset: 44458}, + pos: position{line: 1366, col: 5, offset: 44498}, run: (*parser).callonListElements49, expr: &seqExpr{ - pos: position{line: 1359, col: 5, offset: 44458}, + pos: position{line: 1366, col: 5, offset: 44498}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1359, col: 5, offset: 44458}, + pos: position{line: 1366, col: 5, offset: 44498}, label: "rawline", expr: &actionExpr{ - pos: position{line: 1359, col: 14, offset: 44467}, + pos: position{line: 1366, col: 14, offset: 44507}, run: (*parser).callonListElements52, expr: &oneOrMoreExpr{ - pos: position{line: 1359, col: 14, offset: 44467}, + pos: position{line: 1366, col: 14, offset: 44507}, expr: &charClassMatcher{ - pos: position{line: 1359, col: 14, offset: 44467}, + pos: position{line: 1366, col: 14, offset: 44507}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -28584,28 +20182,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonListElements56, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -28614,9 +20212,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -28629,27 +20227,27 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1468, col: 5, offset: 48125}, + pos: position{line: 1475, col: 5, offset: 48160}, run: (*parser).callonListElements63, expr: &seqExpr{ - pos: position{line: 1468, col: 5, offset: 48125}, + pos: position{line: 1475, col: 5, offset: 48160}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1468, col: 5, offset: 48125}, + pos: position{line: 1475, col: 5, offset: 48160}, label: "prefix", expr: &actionExpr{ - pos: position{line: 1475, col: 5, offset: 48398}, + pos: position{line: 1482, col: 5, offset: 48433}, run: (*parser).callonListElements66, expr: &seqExpr{ - pos: position{line: 1475, col: 5, offset: 48398}, + pos: position{line: 1482, col: 5, offset: 48433}, exprs: []interface{}{ &zeroOrMoreExpr{ - pos: position{line: 1475, col: 5, offset: 48398}, + pos: position{line: 1482, col: 5, offset: 48433}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonListElements69, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -28658,27 +20256,27 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1475, col: 12, offset: 48405}, + pos: position{line: 1482, col: 12, offset: 48440}, label: "prefix", expr: &choiceExpr{ - pos: position{line: 1475, col: 20, offset: 48413}, + pos: position{line: 1482, col: 20, offset: 48448}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1477, col: 9, offset: 48470}, + pos: position{line: 1484, col: 9, offset: 48505}, run: (*parser).callonListElements73, expr: &seqExpr{ - pos: position{line: 1477, col: 9, offset: 48470}, + pos: position{line: 1484, col: 9, offset: 48505}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1477, col: 9, offset: 48470}, + pos: position{line: 1484, col: 9, offset: 48505}, label: "depth", expr: &actionExpr{ - pos: position{line: 1477, col: 16, offset: 48477}, + pos: position{line: 1484, col: 16, offset: 48512}, run: (*parser).callonListElements76, expr: &oneOrMoreExpr{ - pos: position{line: 1477, col: 16, offset: 48477}, + pos: position{line: 1484, col: 16, offset: 48512}, expr: &litMatcher{ - pos: position{line: 1477, col: 17, offset: 48478}, + pos: position{line: 1484, col: 17, offset: 48513}, val: "*", ignoreCase: false, want: "\"*\"", @@ -28687,20 +20285,20 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1481, col: 9, offset: 48578}, + pos: position{line: 1488, col: 9, offset: 48613}, run: (*parser).callonListElements79, }, }, }, }, &labeledExpr{ - pos: position{line: 1498, col: 14, offset: 49285}, + pos: position{line: 1505, col: 14, offset: 49320}, label: "depth", expr: &actionExpr{ - pos: position{line: 1498, col: 21, offset: 49292}, + pos: position{line: 1505, col: 21, offset: 49327}, run: (*parser).callonListElements81, expr: &litMatcher{ - pos: position{line: 1498, col: 22, offset: 49293}, + pos: position{line: 1505, col: 22, offset: 49328}, val: "-", ignoreCase: false, want: "\"-\"", @@ -28711,12 +20309,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2932, col: 11, offset: 96082}, + pos: position{line: 2842, col: 11, offset: 93236}, run: (*parser).callonListElements83, expr: &oneOrMoreExpr{ - pos: position{line: 2932, col: 11, offset: 96082}, + pos: position{line: 2842, col: 11, offset: 93236}, expr: &charClassMatcher{ - pos: position{line: 2932, col: 12, offset: 96083}, + pos: position{line: 2842, col: 12, offset: 93237}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -28729,56 +20327,56 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1469, col: 5, offset: 48166}, + pos: position{line: 1476, col: 5, offset: 48201}, label: "checkstyle", expr: &zeroOrOneExpr{ - pos: position{line: 1469, col: 16, offset: 48177}, + pos: position{line: 1476, col: 16, offset: 48212}, expr: &actionExpr{ - pos: position{line: 1505, col: 5, offset: 49454}, + pos: position{line: 1512, col: 5, offset: 49489}, run: (*parser).callonListElements88, expr: &seqExpr{ - pos: position{line: 1505, col: 5, offset: 49454}, + pos: position{line: 1512, col: 5, offset: 49489}, exprs: []interface{}{ &andExpr{ - pos: position{line: 1505, col: 5, offset: 49454}, + pos: position{line: 1512, col: 5, offset: 49489}, expr: &litMatcher{ - pos: position{line: 1505, col: 6, offset: 49455}, + pos: position{line: 1512, col: 6, offset: 49490}, val: "[", ignoreCase: false, want: "\"[\"", }, }, &labeledExpr{ - pos: position{line: 1505, col: 10, offset: 49459}, + pos: position{line: 1512, col: 10, offset: 49494}, label: "style", expr: &choiceExpr{ - pos: position{line: 1506, col: 7, offset: 49473}, + pos: position{line: 1513, col: 7, offset: 49508}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1506, col: 7, offset: 49473}, + pos: position{line: 1513, col: 7, offset: 49508}, run: (*parser).callonListElements94, expr: &litMatcher{ - pos: position{line: 1506, col: 7, offset: 49473}, + pos: position{line: 1513, col: 7, offset: 49508}, val: "[ ]", ignoreCase: false, want: "\"[ ]\"", }, }, &actionExpr{ - pos: position{line: 1507, col: 7, offset: 49518}, + pos: position{line: 1514, col: 7, offset: 49553}, run: (*parser).callonListElements96, expr: &litMatcher{ - pos: position{line: 1507, col: 7, offset: 49518}, + pos: position{line: 1514, col: 7, offset: 49553}, val: "[*]", ignoreCase: false, want: "\"[*]\"", }, }, &actionExpr{ - pos: position{line: 1508, col: 7, offset: 49561}, + pos: position{line: 1515, col: 7, offset: 49596}, run: (*parser).callonListElements98, expr: &litMatcher{ - pos: position{line: 1508, col: 7, offset: 49561}, + pos: position{line: 1515, col: 7, offset: 49596}, val: "[x]", ignoreCase: false, want: "\"[x]\"", @@ -28788,12 +20386,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2932, col: 11, offset: 96082}, + pos: position{line: 2842, col: 11, offset: 93236}, run: (*parser).callonListElements100, expr: &oneOrMoreExpr{ - pos: position{line: 2932, col: 11, offset: 96082}, + pos: position{line: 2842, col: 11, offset: 93236}, expr: &charClassMatcher{ - pos: position{line: 2932, col: 12, offset: 96083}, + pos: position{line: 2842, col: 12, offset: 93237}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -28807,24 +20405,24 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1470, col: 5, offset: 48216}, + pos: position{line: 1477, col: 5, offset: 48251}, label: "content", expr: &actionExpr{ - pos: position{line: 1359, col: 5, offset: 44458}, + pos: position{line: 1366, col: 5, offset: 44498}, run: (*parser).callonListElements104, expr: &seqExpr{ - pos: position{line: 1359, col: 5, offset: 44458}, + pos: position{line: 1366, col: 5, offset: 44498}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1359, col: 5, offset: 44458}, + pos: position{line: 1366, col: 5, offset: 44498}, label: "rawline", expr: &actionExpr{ - pos: position{line: 1359, col: 14, offset: 44467}, + pos: position{line: 1366, col: 14, offset: 44507}, run: (*parser).callonListElements107, expr: &oneOrMoreExpr{ - pos: position{line: 1359, col: 14, offset: 44467}, + pos: position{line: 1366, col: 14, offset: 44507}, expr: &charClassMatcher{ - pos: position{line: 1359, col: 14, offset: 44467}, + pos: position{line: 1366, col: 14, offset: 44507}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -28834,28 +20432,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonListElements111, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -28864,9 +20462,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -28879,36 +20477,36 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1575, col: 5, offset: 51410}, + pos: position{line: 1582, col: 5, offset: 51469}, run: (*parser).callonListElements118, expr: &seqExpr{ - pos: position{line: 1575, col: 5, offset: 51410}, + pos: position{line: 1582, col: 5, offset: 51469}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1575, col: 5, offset: 51410}, + pos: position{line: 1582, col: 5, offset: 51469}, label: "ref", expr: &actionExpr{ - pos: position{line: 1581, col: 5, offset: 51611}, + pos: position{line: 1588, col: 5, offset: 51670}, run: (*parser).callonListElements121, expr: &seqExpr{ - pos: position{line: 1581, col: 5, offset: 51611}, + pos: position{line: 1588, col: 5, offset: 51670}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1581, col: 5, offset: 51611}, + pos: position{line: 1588, col: 5, offset: 51670}, val: "<", ignoreCase: false, want: "\"<\"", }, &labeledExpr{ - pos: position{line: 1581, col: 9, offset: 51615}, + pos: position{line: 1588, col: 9, offset: 51674}, label: "ref", expr: &actionExpr{ - pos: position{line: 1581, col: 14, offset: 51620}, + pos: position{line: 1588, col: 14, offset: 51679}, run: (*parser).callonListElements125, expr: &oneOrMoreExpr{ - pos: position{line: 1581, col: 14, offset: 51620}, + pos: position{line: 1588, col: 14, offset: 51679}, expr: &charClassMatcher{ - pos: position{line: 1581, col: 14, offset: 51620}, + pos: position{line: 1588, col: 14, offset: 51679}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -28918,18 +20516,18 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1581, col: 62, offset: 51668}, + pos: position{line: 1588, col: 62, offset: 51727}, val: ">", ignoreCase: false, want: "\">\"", }, &actionExpr{ - pos: position{line: 2932, col: 11, offset: 96082}, + pos: position{line: 2842, col: 11, offset: 93236}, run: (*parser).callonListElements129, expr: &oneOrMoreExpr{ - pos: position{line: 2932, col: 11, offset: 96082}, + pos: position{line: 2842, col: 11, offset: 93236}, expr: &charClassMatcher{ - pos: position{line: 2932, col: 12, offset: 96083}, + pos: position{line: 2842, col: 12, offset: 93237}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -28942,24 +20540,24 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1576, col: 5, offset: 51446}, + pos: position{line: 1583, col: 5, offset: 51505}, label: "description", expr: &actionExpr{ - pos: position{line: 1586, col: 5, offset: 51794}, + pos: position{line: 1593, col: 5, offset: 51853}, run: (*parser).callonListElements133, expr: &seqExpr{ - pos: position{line: 1586, col: 5, offset: 51794}, + pos: position{line: 1593, col: 5, offset: 51853}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1586, col: 5, offset: 51794}, + pos: position{line: 1593, col: 5, offset: 51853}, label: "rawline", expr: &actionExpr{ - pos: position{line: 1586, col: 14, offset: 51803}, + pos: position{line: 1593, col: 14, offset: 51862}, run: (*parser).callonListElements136, expr: &oneOrMoreExpr{ - pos: position{line: 1586, col: 14, offset: 51803}, + pos: position{line: 1593, col: 14, offset: 51862}, expr: &charClassMatcher{ - pos: position{line: 1586, col: 14, offset: 51803}, + pos: position{line: 1593, col: 14, offset: 51862}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -28969,28 +20567,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonListElements140, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -28999,9 +20597,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -29014,40 +20612,40 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1517, col: 5, offset: 49754}, + pos: position{line: 1524, col: 5, offset: 49789}, run: (*parser).callonListElements147, expr: &seqExpr{ - pos: position{line: 1517, col: 5, offset: 49754}, + pos: position{line: 1524, col: 5, offset: 49789}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1517, col: 5, offset: 49754}, + pos: position{line: 1524, col: 5, offset: 49789}, label: "term", expr: &actionExpr{ - pos: position{line: 1525, col: 5, offset: 50013}, + pos: position{line: 1532, col: 5, offset: 50048}, run: (*parser).callonListElements150, expr: &oneOrMoreExpr{ - pos: position{line: 1525, col: 5, offset: 50013}, + pos: position{line: 1532, col: 5, offset: 50048}, expr: &seqExpr{ - pos: position{line: 1525, col: 6, offset: 50014}, + pos: position{line: 1532, col: 6, offset: 50049}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 1525, col: 6, offset: 50014}, + pos: position{line: 1532, col: 6, offset: 50049}, expr: &actionExpr{ - pos: position{line: 1530, col: 5, offset: 50145}, + pos: position{line: 1537, col: 5, offset: 50199}, run: (*parser).callonListElements154, expr: &seqExpr{ - pos: position{line: 1530, col: 5, offset: 50145}, + pos: position{line: 1537, col: 5, offset: 50199}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1530, col: 5, offset: 50145}, + pos: position{line: 1537, col: 5, offset: 50199}, label: "separator", expr: &actionExpr{ - pos: position{line: 1530, col: 16, offset: 50156}, + pos: position{line: 1537, col: 16, offset: 50210}, run: (*parser).callonListElements157, expr: &oneOrMoreExpr{ - pos: position{line: 1530, col: 16, offset: 50156}, + pos: position{line: 1537, col: 16, offset: 50210}, expr: &litMatcher{ - pos: position{line: 1530, col: 17, offset: 50157}, + pos: position{line: 1537, col: 17, offset: 50211}, val: ":", ignoreCase: false, want: "\":\"", @@ -29056,7 +20654,7 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1533, col: 5, offset: 50214}, + pos: position{line: 1540, col: 5, offset: 50268}, run: (*parser).callonListElements160, }, }, @@ -29064,30 +20662,30 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 1525, col: 35, offset: 50043}, + pos: position{line: 1532, col: 35, offset: 50078}, expr: &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonListElements163, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -29096,16 +20694,16 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, }, }, &anyMatcher{ - line: 1525, col: 40, offset: 50048, + line: 1532, col: 40, offset: 50083, }, }, }, @@ -29113,24 +20711,24 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1518, col: 5, offset: 49789}, + pos: position{line: 1525, col: 5, offset: 49824}, label: "separator", expr: &actionExpr{ - pos: position{line: 1530, col: 5, offset: 50145}, + pos: position{line: 1537, col: 5, offset: 50199}, run: (*parser).callonListElements172, expr: &seqExpr{ - pos: position{line: 1530, col: 5, offset: 50145}, + pos: position{line: 1537, col: 5, offset: 50199}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1530, col: 5, offset: 50145}, + pos: position{line: 1537, col: 5, offset: 50199}, label: "separator", expr: &actionExpr{ - pos: position{line: 1530, col: 16, offset: 50156}, + pos: position{line: 1537, col: 16, offset: 50210}, run: (*parser).callonListElements175, expr: &oneOrMoreExpr{ - pos: position{line: 1530, col: 16, offset: 50156}, + pos: position{line: 1537, col: 16, offset: 50210}, expr: &litMatcher{ - pos: position{line: 1530, col: 17, offset: 50157}, + pos: position{line: 1537, col: 17, offset: 50211}, val: ":", ignoreCase: false, want: "\":\"", @@ -29139,7 +20737,7 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1533, col: 5, offset: 50214}, + pos: position{line: 1540, col: 5, offset: 50268}, run: (*parser).callonListElements178, }, }, @@ -29147,24 +20745,24 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1519, col: 5, offset: 49834}, + pos: position{line: 1526, col: 5, offset: 49869}, label: "description", expr: &choiceExpr{ - pos: position{line: 1541, col: 5, offset: 50464}, + pos: position{line: 1548, col: 5, offset: 50518}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1543, col: 9, offset: 50529}, + pos: position{line: 1550, col: 9, offset: 50583}, run: (*parser).callonListElements181, expr: &seqExpr{ - pos: position{line: 1543, col: 9, offset: 50529}, + pos: position{line: 1550, col: 9, offset: 50583}, exprs: []interface{}{ &zeroOrMoreExpr{ - pos: position{line: 1543, col: 9, offset: 50529}, + pos: position{line: 1550, col: 9, offset: 50583}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonListElements184, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -29173,28 +20771,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonListElements187, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -29203,37 +20801,37 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, }, &zeroOrMoreExpr{ - pos: position{line: 1544, col: 9, offset: 50549}, + pos: position{line: 1551, col: 9, offset: 50603}, expr: &actionExpr{ - pos: position{line: 682, col: 14, offset: 22022}, + pos: position{line: 689, col: 14, offset: 22046}, run: (*parser).callonListElements195, expr: &seqExpr{ - pos: position{line: 682, col: 14, offset: 22022}, + pos: position{line: 689, col: 14, offset: 22046}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 682, col: 14, offset: 22022}, + pos: position{line: 689, col: 14, offset: 22046}, expr: ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, &zeroOrMoreExpr{ - pos: position{line: 682, col: 19, offset: 22027}, + pos: position{line: 689, col: 19, offset: 22051}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonListElements201, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -29242,28 +20840,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonListElements204, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -29272,9 +20870,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -29284,40 +20882,40 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1545, col: 9, offset: 50569}, + pos: position{line: 1552, col: 9, offset: 50623}, label: "content", expr: &zeroOrOneExpr{ - pos: position{line: 1545, col: 17, offset: 50577}, + pos: position{line: 1552, col: 17, offset: 50631}, expr: &actionExpr{ - pos: position{line: 1344, col: 5, offset: 44032}, + pos: position{line: 1351, col: 5, offset: 44072}, run: (*parser).callonListElements213, expr: &seqExpr{ - pos: position{line: 1344, col: 5, offset: 44032}, + pos: position{line: 1351, col: 5, offset: 44072}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 1344, col: 5, offset: 44032}, + pos: position{line: 1351, col: 5, offset: 44072}, expr: &actionExpr{ - pos: position{line: 682, col: 14, offset: 22022}, + pos: position{line: 689, col: 14, offset: 22046}, run: (*parser).callonListElements216, expr: &seqExpr{ - pos: position{line: 682, col: 14, offset: 22022}, + pos: position{line: 689, col: 14, offset: 22046}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 682, col: 14, offset: 22022}, + pos: position{line: 689, col: 14, offset: 22046}, expr: ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, &zeroOrMoreExpr{ - pos: position{line: 682, col: 19, offset: 22027}, + pos: position{line: 689, col: 19, offset: 22051}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonListElements222, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -29326,28 +20924,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonListElements225, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -29356,9 +20954,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -29368,23 +20966,23 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 1345, col: 5, offset: 44047}, + pos: position{line: 1352, col: 5, offset: 44087}, expr: &seqExpr{ - pos: position{line: 1377, col: 34, offset: 44957}, + pos: position{line: 1384, col: 34, offset: 44997}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1377, col: 34, offset: 44957}, + pos: position{line: 1384, col: 34, offset: 44997}, val: "+", ignoreCase: false, want: "\"+\"", }, &zeroOrMoreExpr{ - pos: position{line: 1377, col: 38, offset: 44961}, + pos: position{line: 1384, col: 38, offset: 45001}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonListElements236, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -29393,25 +20991,25 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonListElements238, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -29423,20 +21021,20 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 1346, col: 5, offset: 44082}, + pos: position{line: 1353, col: 5, offset: 44122}, expr: &actionExpr{ - pos: position{line: 1425, col: 5, offset: 46436}, + pos: position{line: 1432, col: 5, offset: 46471}, run: (*parser).callonListElements244, expr: &seqExpr{ - pos: position{line: 1425, col: 5, offset: 46436}, + pos: position{line: 1432, col: 5, offset: 46471}, exprs: []interface{}{ &zeroOrMoreExpr{ - pos: position{line: 1425, col: 5, offset: 46436}, + pos: position{line: 1432, col: 5, offset: 46471}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonListElements247, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -29445,27 +21043,27 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1425, col: 12, offset: 46443}, + pos: position{line: 1432, col: 12, offset: 46478}, label: "prefix", expr: &choiceExpr{ - pos: position{line: 1427, col: 9, offset: 46506}, + pos: position{line: 1434, col: 9, offset: 46541}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1427, col: 9, offset: 46506}, + pos: position{line: 1434, col: 9, offset: 46541}, run: (*parser).callonListElements251, expr: &seqExpr{ - pos: position{line: 1427, col: 9, offset: 46506}, + pos: position{line: 1434, col: 9, offset: 46541}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1427, col: 9, offset: 46506}, + pos: position{line: 1434, col: 9, offset: 46541}, label: "depth", expr: &actionExpr{ - pos: position{line: 1427, col: 16, offset: 46513}, + pos: position{line: 1434, col: 16, offset: 46548}, run: (*parser).callonListElements254, expr: &oneOrMoreExpr{ - pos: position{line: 1427, col: 16, offset: 46513}, + pos: position{line: 1434, col: 16, offset: 46548}, expr: &litMatcher{ - pos: position{line: 1427, col: 17, offset: 46514}, + pos: position{line: 1434, col: 17, offset: 46549}, val: ".", ignoreCase: false, want: "\".\"", @@ -29474,22 +21072,22 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1431, col: 9, offset: 46614}, + pos: position{line: 1438, col: 9, offset: 46649}, run: (*parser).callonListElements257, }, }, }, }, &actionExpr{ - pos: position{line: 1450, col: 11, offset: 47331}, + pos: position{line: 1457, col: 11, offset: 47366}, run: (*parser).callonListElements258, expr: &seqExpr{ - pos: position{line: 1450, col: 11, offset: 47331}, + pos: position{line: 1457, col: 11, offset: 47366}, exprs: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 1450, col: 11, offset: 47331}, + pos: position{line: 1457, col: 11, offset: 47366}, expr: &charClassMatcher{ - pos: position{line: 1450, col: 12, offset: 47332}, + pos: position{line: 1457, col: 12, offset: 47367}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -29497,7 +21095,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1450, col: 20, offset: 47340}, + pos: position{line: 1457, col: 20, offset: 47375}, val: ".", ignoreCase: false, want: "\".\"", @@ -29506,20 +21104,20 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1452, col: 13, offset: 47457}, + pos: position{line: 1459, col: 13, offset: 47492}, run: (*parser).callonListElements263, expr: &seqExpr{ - pos: position{line: 1452, col: 13, offset: 47457}, + pos: position{line: 1459, col: 13, offset: 47492}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 1452, col: 14, offset: 47458}, + pos: position{line: 1459, col: 14, offset: 47493}, val: "[a-z]", ranges: []rune{'a', 'z'}, ignoreCase: false, inverted: false, }, &litMatcher{ - pos: position{line: 1452, col: 21, offset: 47465}, + pos: position{line: 1459, col: 21, offset: 47500}, val: ".", ignoreCase: false, want: "\".\"", @@ -29528,20 +21126,20 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1454, col: 13, offset: 47585}, + pos: position{line: 1461, col: 13, offset: 47620}, run: (*parser).callonListElements267, expr: &seqExpr{ - pos: position{line: 1454, col: 13, offset: 47585}, + pos: position{line: 1461, col: 13, offset: 47620}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 1454, col: 14, offset: 47586}, + pos: position{line: 1461, col: 14, offset: 47621}, val: "[A-Z]", ranges: []rune{'A', 'Z'}, ignoreCase: false, inverted: false, }, &litMatcher{ - pos: position{line: 1454, col: 21, offset: 47593}, + pos: position{line: 1461, col: 21, offset: 47628}, val: ".", ignoreCase: false, want: "\".\"", @@ -29550,15 +21148,15 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1456, col: 13, offset: 47713}, + pos: position{line: 1463, col: 13, offset: 47748}, run: (*parser).callonListElements271, expr: &seqExpr{ - pos: position{line: 1456, col: 13, offset: 47713}, + pos: position{line: 1463, col: 13, offset: 47748}, exprs: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 1456, col: 13, offset: 47713}, + pos: position{line: 1463, col: 13, offset: 47748}, expr: &charClassMatcher{ - pos: position{line: 1456, col: 14, offset: 47714}, + pos: position{line: 1463, col: 14, offset: 47749}, val: "[ivxdlcm]", chars: []rune{'i', 'v', 'x', 'd', 'l', 'c', 'm'}, ignoreCase: false, @@ -29566,7 +21164,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1456, col: 26, offset: 47726}, + pos: position{line: 1463, col: 26, offset: 47761}, val: ")", ignoreCase: false, want: "\")\"", @@ -29575,15 +21173,15 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1458, col: 13, offset: 47846}, + pos: position{line: 1465, col: 13, offset: 47881}, run: (*parser).callonListElements276, expr: &seqExpr{ - pos: position{line: 1458, col: 13, offset: 47846}, + pos: position{line: 1465, col: 13, offset: 47881}, exprs: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 1458, col: 13, offset: 47846}, + pos: position{line: 1465, col: 13, offset: 47881}, expr: &charClassMatcher{ - pos: position{line: 1458, col: 14, offset: 47847}, + pos: position{line: 1465, col: 14, offset: 47882}, val: "[IVXDLCM]", chars: []rune{'I', 'V', 'X', 'D', 'L', 'C', 'M'}, ignoreCase: false, @@ -29591,7 +21189,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1458, col: 26, offset: 47859}, + pos: position{line: 1465, col: 26, offset: 47894}, val: ")", ignoreCase: false, want: "\")\"", @@ -29603,12 +21201,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2932, col: 11, offset: 96082}, + pos: position{line: 2842, col: 11, offset: 93236}, run: (*parser).callonListElements281, expr: &oneOrMoreExpr{ - pos: position{line: 2932, col: 11, offset: 96082}, + pos: position{line: 2842, col: 11, offset: 93236}, expr: &charClassMatcher{ - pos: position{line: 2932, col: 12, offset: 96083}, + pos: position{line: 2842, col: 12, offset: 93237}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -29621,20 +21219,20 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 1347, col: 5, offset: 44112}, + pos: position{line: 1354, col: 5, offset: 44152}, expr: &actionExpr{ - pos: position{line: 1475, col: 5, offset: 48398}, + pos: position{line: 1482, col: 5, offset: 48433}, run: (*parser).callonListElements285, expr: &seqExpr{ - pos: position{line: 1475, col: 5, offset: 48398}, + pos: position{line: 1482, col: 5, offset: 48433}, exprs: []interface{}{ &zeroOrMoreExpr{ - pos: position{line: 1475, col: 5, offset: 48398}, + pos: position{line: 1482, col: 5, offset: 48433}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonListElements288, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -29643,27 +21241,27 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1475, col: 12, offset: 48405}, + pos: position{line: 1482, col: 12, offset: 48440}, label: "prefix", expr: &choiceExpr{ - pos: position{line: 1475, col: 20, offset: 48413}, + pos: position{line: 1482, col: 20, offset: 48448}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1477, col: 9, offset: 48470}, + pos: position{line: 1484, col: 9, offset: 48505}, run: (*parser).callonListElements292, expr: &seqExpr{ - pos: position{line: 1477, col: 9, offset: 48470}, + pos: position{line: 1484, col: 9, offset: 48505}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1477, col: 9, offset: 48470}, + pos: position{line: 1484, col: 9, offset: 48505}, label: "depth", expr: &actionExpr{ - pos: position{line: 1477, col: 16, offset: 48477}, + pos: position{line: 1484, col: 16, offset: 48512}, run: (*parser).callonListElements295, expr: &oneOrMoreExpr{ - pos: position{line: 1477, col: 16, offset: 48477}, + pos: position{line: 1484, col: 16, offset: 48512}, expr: &litMatcher{ - pos: position{line: 1477, col: 17, offset: 48478}, + pos: position{line: 1484, col: 17, offset: 48513}, val: "*", ignoreCase: false, want: "\"*\"", @@ -29672,20 +21270,20 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1481, col: 9, offset: 48578}, + pos: position{line: 1488, col: 9, offset: 48613}, run: (*parser).callonListElements298, }, }, }, }, &labeledExpr{ - pos: position{line: 1498, col: 14, offset: 49285}, + pos: position{line: 1505, col: 14, offset: 49320}, label: "depth", expr: &actionExpr{ - pos: position{line: 1498, col: 21, offset: 49292}, + pos: position{line: 1505, col: 21, offset: 49327}, run: (*parser).callonListElements300, expr: &litMatcher{ - pos: position{line: 1498, col: 22, offset: 49293}, + pos: position{line: 1505, col: 22, offset: 49328}, val: "-", ignoreCase: false, want: "\"-\"", @@ -29696,12 +21294,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2932, col: 11, offset: 96082}, + pos: position{line: 2842, col: 11, offset: 93236}, run: (*parser).callonListElements302, expr: &oneOrMoreExpr{ - pos: position{line: 2932, col: 11, offset: 96082}, + pos: position{line: 2842, col: 11, offset: 93236}, expr: &charClassMatcher{ - pos: position{line: 2932, col: 12, offset: 96083}, + pos: position{line: 2842, col: 12, offset: 93237}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -29714,29 +21312,29 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 1348, col: 5, offset: 44144}, + pos: position{line: 1355, col: 5, offset: 44184}, expr: &actionExpr{ - pos: position{line: 1581, col: 5, offset: 51611}, + pos: position{line: 1588, col: 5, offset: 51670}, run: (*parser).callonListElements306, expr: &seqExpr{ - pos: position{line: 1581, col: 5, offset: 51611}, + pos: position{line: 1588, col: 5, offset: 51670}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1581, col: 5, offset: 51611}, + pos: position{line: 1588, col: 5, offset: 51670}, val: "<", ignoreCase: false, want: "\"<\"", }, &labeledExpr{ - pos: position{line: 1581, col: 9, offset: 51615}, + pos: position{line: 1588, col: 9, offset: 51674}, label: "ref", expr: &actionExpr{ - pos: position{line: 1581, col: 14, offset: 51620}, + pos: position{line: 1588, col: 14, offset: 51679}, run: (*parser).callonListElements310, expr: &oneOrMoreExpr{ - pos: position{line: 1581, col: 14, offset: 51620}, + pos: position{line: 1588, col: 14, offset: 51679}, expr: &charClassMatcher{ - pos: position{line: 1581, col: 14, offset: 51620}, + pos: position{line: 1588, col: 14, offset: 51679}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -29746,18 +21344,18 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1581, col: 62, offset: 51668}, + pos: position{line: 1588, col: 62, offset: 51727}, val: ">", ignoreCase: false, want: "\">\"", }, &actionExpr{ - pos: position{line: 2932, col: 11, offset: 96082}, + pos: position{line: 2842, col: 11, offset: 93236}, run: (*parser).callonListElements314, expr: &oneOrMoreExpr{ - pos: position{line: 2932, col: 11, offset: 96082}, + pos: position{line: 2842, col: 11, offset: 93236}, expr: &charClassMatcher{ - pos: position{line: 2932, col: 12, offset: 96083}, + pos: position{line: 2842, col: 12, offset: 93237}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -29770,36 +21368,36 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 1349, col: 5, offset: 44174}, + pos: position{line: 1356, col: 5, offset: 44214}, expr: &seqExpr{ - pos: position{line: 1349, col: 7, offset: 44176}, + pos: position{line: 1356, col: 7, offset: 44216}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 1525, col: 5, offset: 50013}, + pos: position{line: 1532, col: 5, offset: 50048}, run: (*parser).callonListElements319, expr: &oneOrMoreExpr{ - pos: position{line: 1525, col: 5, offset: 50013}, + pos: position{line: 1532, col: 5, offset: 50048}, expr: &seqExpr{ - pos: position{line: 1525, col: 6, offset: 50014}, + pos: position{line: 1532, col: 6, offset: 50049}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 1525, col: 6, offset: 50014}, + pos: position{line: 1532, col: 6, offset: 50049}, expr: &actionExpr{ - pos: position{line: 1530, col: 5, offset: 50145}, + pos: position{line: 1537, col: 5, offset: 50199}, run: (*parser).callonListElements323, expr: &seqExpr{ - pos: position{line: 1530, col: 5, offset: 50145}, + pos: position{line: 1537, col: 5, offset: 50199}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1530, col: 5, offset: 50145}, + pos: position{line: 1537, col: 5, offset: 50199}, label: "separator", expr: &actionExpr{ - pos: position{line: 1530, col: 16, offset: 50156}, + pos: position{line: 1537, col: 16, offset: 50210}, run: (*parser).callonListElements326, expr: &oneOrMoreExpr{ - pos: position{line: 1530, col: 16, offset: 50156}, + pos: position{line: 1537, col: 16, offset: 50210}, expr: &litMatcher{ - pos: position{line: 1530, col: 17, offset: 50157}, + pos: position{line: 1537, col: 17, offset: 50211}, val: ":", ignoreCase: false, want: "\":\"", @@ -29808,7 +21406,7 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1533, col: 5, offset: 50214}, + pos: position{line: 1540, col: 5, offset: 50268}, run: (*parser).callonListElements329, }, }, @@ -29816,30 +21414,30 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 1525, col: 35, offset: 50043}, + pos: position{line: 1532, col: 35, offset: 50078}, expr: &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonListElements332, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -29848,37 +21446,37 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, }, }, &anyMatcher{ - line: 1525, col: 40, offset: 50048, + line: 1532, col: 40, offset: 50083, }, }, }, }, }, &actionExpr{ - pos: position{line: 1530, col: 5, offset: 50145}, + pos: position{line: 1537, col: 5, offset: 50199}, run: (*parser).callonListElements340, expr: &seqExpr{ - pos: position{line: 1530, col: 5, offset: 50145}, + pos: position{line: 1537, col: 5, offset: 50199}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1530, col: 5, offset: 50145}, + pos: position{line: 1537, col: 5, offset: 50199}, label: "separator", expr: &actionExpr{ - pos: position{line: 1530, col: 16, offset: 50156}, + pos: position{line: 1537, col: 16, offset: 50210}, run: (*parser).callonListElements343, expr: &oneOrMoreExpr{ - pos: position{line: 1530, col: 16, offset: 50156}, + pos: position{line: 1537, col: 16, offset: 50210}, expr: &litMatcher{ - pos: position{line: 1530, col: 17, offset: 50157}, + pos: position{line: 1537, col: 17, offset: 50211}, val: ":", ignoreCase: false, want: "\":\"", @@ -29887,7 +21485,7 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1533, col: 5, offset: 50214}, + pos: position{line: 1540, col: 5, offset: 50268}, run: (*parser).callonListElements346, }, }, @@ -29897,17 +21495,17 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 1350, col: 5, offset: 44232}, + pos: position{line: 1357, col: 5, offset: 44272}, expr: &actionExpr{ - pos: position{line: 727, col: 5, offset: 23531}, + pos: position{line: 734, col: 5, offset: 23557}, run: (*parser).callonListElements348, expr: &seqExpr{ - pos: position{line: 727, col: 5, offset: 23531}, + pos: position{line: 734, col: 5, offset: 23557}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 727, col: 5, offset: 23531}, + pos: position{line: 734, col: 5, offset: 23557}, expr: &charClassMatcher{ - pos: position{line: 2852, col: 13, offset: 93681}, + pos: position{line: 2753, col: 13, offset: 90440}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -29916,30 +21514,30 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 728, col: 5, offset: 23561}, + pos: position{line: 735, col: 5, offset: 23587}, label: "delimiter", expr: &choiceExpr{ - pos: position{line: 729, col: 9, offset: 23581}, + pos: position{line: 736, col: 9, offset: 23607}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 741, col: 26, offset: 23902}, + pos: position{line: 748, col: 26, offset: 23928}, run: (*parser).callonListElements354, expr: &seqExpr{ - pos: position{line: 741, col: 26, offset: 23902}, + pos: position{line: 748, col: 26, offset: 23928}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 741, col: 26, offset: 23902}, + pos: position{line: 748, col: 26, offset: 23928}, val: "////", ignoreCase: false, want: "\"////\"", }, &zeroOrMoreExpr{ - pos: position{line: 741, col: 33, offset: 23909}, + pos: position{line: 748, col: 33, offset: 23935}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonListElements358, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -29948,28 +21546,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonListElements361, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -29978,9 +21576,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -29989,24 +21587,24 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 745, col: 26, offset: 24016}, + pos: position{line: 752, col: 26, offset: 24042}, run: (*parser).callonListElements368, expr: &seqExpr{ - pos: position{line: 745, col: 26, offset: 24016}, + pos: position{line: 752, col: 26, offset: 24042}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 745, col: 26, offset: 24016}, + pos: position{line: 752, col: 26, offset: 24042}, val: "====", ignoreCase: false, want: "\"====\"", }, &zeroOrMoreExpr{ - pos: position{line: 745, col: 33, offset: 24023}, + pos: position{line: 752, col: 33, offset: 24049}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonListElements372, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -30015,28 +21613,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonListElements375, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -30045,9 +21643,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -30056,24 +21654,24 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 749, col: 25, offset: 24129}, + pos: position{line: 756, col: 25, offset: 24155}, run: (*parser).callonListElements382, expr: &seqExpr{ - pos: position{line: 749, col: 25, offset: 24129}, + pos: position{line: 756, col: 25, offset: 24155}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 749, col: 25, offset: 24129}, + pos: position{line: 756, col: 25, offset: 24155}, val: "```", ignoreCase: false, want: "\"```\"", }, &zeroOrMoreExpr{ - pos: position{line: 749, col: 31, offset: 24135}, + pos: position{line: 756, col: 31, offset: 24161}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonListElements386, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -30082,28 +21680,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonListElements389, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -30112,9 +21710,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -30123,24 +21721,24 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 753, col: 26, offset: 24241}, + pos: position{line: 760, col: 26, offset: 24267}, run: (*parser).callonListElements396, expr: &seqExpr{ - pos: position{line: 753, col: 26, offset: 24241}, + pos: position{line: 760, col: 26, offset: 24267}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 753, col: 26, offset: 24241}, + pos: position{line: 760, col: 26, offset: 24267}, val: "----", ignoreCase: false, want: "\"----\"", }, &zeroOrMoreExpr{ - pos: position{line: 753, col: 33, offset: 24248}, + pos: position{line: 760, col: 33, offset: 24274}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonListElements400, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -30149,28 +21747,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonListElements403, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -30179,9 +21777,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -30190,24 +21788,24 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 757, col: 26, offset: 24355}, + pos: position{line: 764, col: 26, offset: 24381}, run: (*parser).callonListElements410, expr: &seqExpr{ - pos: position{line: 757, col: 26, offset: 24355}, + pos: position{line: 764, col: 26, offset: 24381}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 757, col: 26, offset: 24355}, + pos: position{line: 764, col: 26, offset: 24381}, val: "....", ignoreCase: false, want: "\"....\"", }, &zeroOrMoreExpr{ - pos: position{line: 757, col: 33, offset: 24362}, + pos: position{line: 764, col: 33, offset: 24388}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonListElements414, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -30216,28 +21814,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonListElements417, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -30246,9 +21844,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -30257,24 +21855,24 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 761, col: 30, offset: 24473}, + pos: position{line: 768, col: 30, offset: 24499}, run: (*parser).callonListElements424, expr: &seqExpr{ - pos: position{line: 761, col: 30, offset: 24473}, + pos: position{line: 768, col: 30, offset: 24499}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 761, col: 30, offset: 24473}, + pos: position{line: 768, col: 30, offset: 24499}, val: "++++", ignoreCase: false, want: "\"++++\"", }, &zeroOrMoreExpr{ - pos: position{line: 761, col: 37, offset: 24480}, + pos: position{line: 768, col: 37, offset: 24506}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonListElements428, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -30283,28 +21881,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonListElements431, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -30313,9 +21911,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -30324,24 +21922,24 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 765, col: 24, offset: 24589}, + pos: position{line: 772, col: 24, offset: 24615}, run: (*parser).callonListElements438, expr: &seqExpr{ - pos: position{line: 765, col: 24, offset: 24589}, + pos: position{line: 772, col: 24, offset: 24615}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 765, col: 24, offset: 24589}, + pos: position{line: 772, col: 24, offset: 24615}, val: "____", ignoreCase: false, want: "\"____\"", }, &zeroOrMoreExpr{ - pos: position{line: 765, col: 31, offset: 24596}, + pos: position{line: 772, col: 31, offset: 24622}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonListElements442, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -30350,28 +21948,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonListElements445, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -30380,9 +21978,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -30391,24 +21989,24 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 769, col: 26, offset: 24701}, + pos: position{line: 776, col: 26, offset: 24727}, run: (*parser).callonListElements452, expr: &seqExpr{ - pos: position{line: 769, col: 26, offset: 24701}, + pos: position{line: 776, col: 26, offset: 24727}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 769, col: 26, offset: 24701}, + pos: position{line: 776, col: 26, offset: 24727}, val: "****", ignoreCase: false, want: "\"****\"", }, &zeroOrMoreExpr{ - pos: position{line: 769, col: 33, offset: 24708}, + pos: position{line: 776, col: 33, offset: 24734}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonListElements456, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -30417,28 +22015,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonListElements459, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -30447,9 +22045,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -30465,15 +22063,15 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1351, col: 5, offset: 44252}, + pos: position{line: 1358, col: 5, offset: 44292}, label: "content", expr: &actionExpr{ - pos: position{line: 1351, col: 14, offset: 44261}, + pos: position{line: 1358, col: 14, offset: 44301}, run: (*parser).callonListElements467, expr: &oneOrMoreExpr{ - pos: position{line: 1351, col: 14, offset: 44261}, + pos: position{line: 1358, col: 14, offset: 44301}, expr: &charClassMatcher{ - pos: position{line: 1351, col: 14, offset: 44261}, + pos: position{line: 1358, col: 14, offset: 44301}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -30483,28 +22081,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonListElements471, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -30513,9 +22111,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -30529,18 +22127,18 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1553, col: 9, offset: 50812}, + pos: position{line: 1560, col: 9, offset: 50866}, run: (*parser).callonListElements478, expr: &seqExpr{ - pos: position{line: 1553, col: 9, offset: 50812}, + pos: position{line: 1560, col: 9, offset: 50866}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 2932, col: 11, offset: 96082}, + pos: position{line: 2842, col: 11, offset: 93236}, run: (*parser).callonListElements480, expr: &oneOrMoreExpr{ - pos: position{line: 2932, col: 11, offset: 96082}, + pos: position{line: 2842, col: 11, offset: 93236}, expr: &charClassMatcher{ - pos: position{line: 2932, col: 12, offset: 96083}, + pos: position{line: 2842, col: 12, offset: 93237}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -30549,15 +22147,15 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1554, col: 9, offset: 50864}, + pos: position{line: 1561, col: 9, offset: 50918}, label: "content", expr: &actionExpr{ - pos: position{line: 1554, col: 18, offset: 50873}, + pos: position{line: 1561, col: 18, offset: 50927}, run: (*parser).callonListElements484, expr: &oneOrMoreExpr{ - pos: position{line: 1554, col: 18, offset: 50873}, + pos: position{line: 1561, col: 18, offset: 50927}, expr: &charClassMatcher{ - pos: position{line: 1554, col: 18, offset: 50873}, + pos: position{line: 1561, col: 18, offset: 50927}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -30567,28 +22165,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonListElements488, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -30597,9 +22195,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -30617,10 +22215,10 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1285, col: 5, offset: 42065}, + pos: position{line: 1292, col: 5, offset: 42105}, label: "extraElements", expr: &ruleRefExpr{ - pos: position{line: 1285, col: 20, offset: 42080}, + pos: position{line: 1292, col: 20, offset: 42120}, name: "ExtraListElements", }, }, @@ -30630,17 +22228,17 @@ var g = &grammar{ }, { name: "ExtraListElements", - pos: position{line: 1295, col: 1, offset: 42335}, + pos: position{line: 1302, col: 1, offset: 42375}, expr: &actionExpr{ - pos: position{line: 1295, col: 22, offset: 42356}, + pos: position{line: 1302, col: 22, offset: 42396}, run: (*parser).callonExtraListElements1, expr: &labeledExpr{ - pos: position{line: 1295, col: 22, offset: 42356}, + pos: position{line: 1302, col: 22, offset: 42396}, label: "elements", expr: &zeroOrMoreExpr{ - pos: position{line: 1295, col: 31, offset: 42365}, + pos: position{line: 1302, col: 31, offset: 42405}, expr: &ruleRefExpr{ - pos: position{line: 1295, col: 32, offset: 42366}, + pos: position{line: 1302, col: 32, offset: 42406}, name: "ExtraListElement", }, }, @@ -30649,58 +22247,58 @@ var g = &grammar{ }, { name: "ExtraListElement", - pos: position{line: 1299, col: 1, offset: 42446}, + pos: position{line: 1306, col: 1, offset: 42486}, expr: &actionExpr{ - pos: position{line: 1300, col: 5, offset: 42585}, + pos: position{line: 1307, col: 5, offset: 42625}, run: (*parser).callonExtraListElement1, expr: &seqExpr{ - pos: position{line: 1300, col: 5, offset: 42585}, + pos: position{line: 1307, col: 5, offset: 42625}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 1300, col: 5, offset: 42585}, + pos: position{line: 1307, col: 5, offset: 42625}, expr: ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, &labeledExpr{ - pos: position{line: 1301, col: 5, offset: 42595}, + pos: position{line: 1308, col: 5, offset: 42635}, label: "element", expr: &choiceExpr{ - pos: position{line: 1302, col: 9, offset: 42613}, + pos: position{line: 1309, col: 9, offset: 42653}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1302, col: 13, offset: 42617}, + pos: position{line: 1309, col: 13, offset: 42657}, run: (*parser).callonExtraListElement8, expr: &seqExpr{ - pos: position{line: 1302, col: 13, offset: 42617}, + pos: position{line: 1309, col: 13, offset: 42657}, exprs: []interface{}{ &zeroOrMoreExpr{ - pos: position{line: 1302, col: 13, offset: 42617}, + pos: position{line: 1309, col: 13, offset: 42657}, expr: &actionExpr{ - pos: position{line: 682, col: 14, offset: 22022}, + pos: position{line: 689, col: 14, offset: 22046}, run: (*parser).callonExtraListElement11, expr: &seqExpr{ - pos: position{line: 682, col: 14, offset: 22022}, + pos: position{line: 689, col: 14, offset: 22046}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 682, col: 14, offset: 22022}, + pos: position{line: 689, col: 14, offset: 22046}, expr: ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, &zeroOrMoreExpr{ - pos: position{line: 682, col: 19, offset: 22027}, + pos: position{line: 689, col: 19, offset: 22051}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonExtraListElement17, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -30709,28 +22307,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonExtraListElement20, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -30739,9 +22337,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -30751,30 +22349,30 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1303, col: 13, offset: 42641}, + pos: position{line: 1310, col: 13, offset: 42681}, label: "element", expr: &actionExpr{ - pos: position{line: 1418, col: 5, offset: 46228}, + pos: position{line: 1425, col: 5, offset: 46263}, run: (*parser).callonExtraListElement28, expr: &seqExpr{ - pos: position{line: 1418, col: 5, offset: 46228}, + pos: position{line: 1425, col: 5, offset: 46263}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1418, col: 5, offset: 46228}, + pos: position{line: 1425, col: 5, offset: 46263}, label: "prefix", expr: &actionExpr{ - pos: position{line: 1425, col: 5, offset: 46436}, + pos: position{line: 1432, col: 5, offset: 46471}, run: (*parser).callonExtraListElement31, expr: &seqExpr{ - pos: position{line: 1425, col: 5, offset: 46436}, + pos: position{line: 1432, col: 5, offset: 46471}, exprs: []interface{}{ &zeroOrMoreExpr{ - pos: position{line: 1425, col: 5, offset: 46436}, + pos: position{line: 1432, col: 5, offset: 46471}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonExtraListElement34, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -30783,27 +22381,27 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1425, col: 12, offset: 46443}, + pos: position{line: 1432, col: 12, offset: 46478}, label: "prefix", expr: &choiceExpr{ - pos: position{line: 1427, col: 9, offset: 46506}, + pos: position{line: 1434, col: 9, offset: 46541}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1427, col: 9, offset: 46506}, + pos: position{line: 1434, col: 9, offset: 46541}, run: (*parser).callonExtraListElement38, expr: &seqExpr{ - pos: position{line: 1427, col: 9, offset: 46506}, + pos: position{line: 1434, col: 9, offset: 46541}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1427, col: 9, offset: 46506}, + pos: position{line: 1434, col: 9, offset: 46541}, label: "depth", expr: &actionExpr{ - pos: position{line: 1427, col: 16, offset: 46513}, + pos: position{line: 1434, col: 16, offset: 46548}, run: (*parser).callonExtraListElement41, expr: &oneOrMoreExpr{ - pos: position{line: 1427, col: 16, offset: 46513}, + pos: position{line: 1434, col: 16, offset: 46548}, expr: &litMatcher{ - pos: position{line: 1427, col: 17, offset: 46514}, + pos: position{line: 1434, col: 17, offset: 46549}, val: ".", ignoreCase: false, want: "\".\"", @@ -30812,22 +22410,22 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1431, col: 9, offset: 46614}, + pos: position{line: 1438, col: 9, offset: 46649}, run: (*parser).callonExtraListElement44, }, }, }, }, &actionExpr{ - pos: position{line: 1450, col: 11, offset: 47331}, + pos: position{line: 1457, col: 11, offset: 47366}, run: (*parser).callonExtraListElement45, expr: &seqExpr{ - pos: position{line: 1450, col: 11, offset: 47331}, + pos: position{line: 1457, col: 11, offset: 47366}, exprs: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 1450, col: 11, offset: 47331}, + pos: position{line: 1457, col: 11, offset: 47366}, expr: &charClassMatcher{ - pos: position{line: 1450, col: 12, offset: 47332}, + pos: position{line: 1457, col: 12, offset: 47367}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -30835,7 +22433,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1450, col: 20, offset: 47340}, + pos: position{line: 1457, col: 20, offset: 47375}, val: ".", ignoreCase: false, want: "\".\"", @@ -30844,20 +22442,20 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1452, col: 13, offset: 47457}, + pos: position{line: 1459, col: 13, offset: 47492}, run: (*parser).callonExtraListElement50, expr: &seqExpr{ - pos: position{line: 1452, col: 13, offset: 47457}, + pos: position{line: 1459, col: 13, offset: 47492}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 1452, col: 14, offset: 47458}, + pos: position{line: 1459, col: 14, offset: 47493}, val: "[a-z]", ranges: []rune{'a', 'z'}, ignoreCase: false, inverted: false, }, &litMatcher{ - pos: position{line: 1452, col: 21, offset: 47465}, + pos: position{line: 1459, col: 21, offset: 47500}, val: ".", ignoreCase: false, want: "\".\"", @@ -30866,20 +22464,20 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1454, col: 13, offset: 47585}, + pos: position{line: 1461, col: 13, offset: 47620}, run: (*parser).callonExtraListElement54, expr: &seqExpr{ - pos: position{line: 1454, col: 13, offset: 47585}, + pos: position{line: 1461, col: 13, offset: 47620}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 1454, col: 14, offset: 47586}, + pos: position{line: 1461, col: 14, offset: 47621}, val: "[A-Z]", ranges: []rune{'A', 'Z'}, ignoreCase: false, inverted: false, }, &litMatcher{ - pos: position{line: 1454, col: 21, offset: 47593}, + pos: position{line: 1461, col: 21, offset: 47628}, val: ".", ignoreCase: false, want: "\".\"", @@ -30888,15 +22486,15 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1456, col: 13, offset: 47713}, + pos: position{line: 1463, col: 13, offset: 47748}, run: (*parser).callonExtraListElement58, expr: &seqExpr{ - pos: position{line: 1456, col: 13, offset: 47713}, + pos: position{line: 1463, col: 13, offset: 47748}, exprs: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 1456, col: 13, offset: 47713}, + pos: position{line: 1463, col: 13, offset: 47748}, expr: &charClassMatcher{ - pos: position{line: 1456, col: 14, offset: 47714}, + pos: position{line: 1463, col: 14, offset: 47749}, val: "[ivxdlcm]", chars: []rune{'i', 'v', 'x', 'd', 'l', 'c', 'm'}, ignoreCase: false, @@ -30904,7 +22502,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1456, col: 26, offset: 47726}, + pos: position{line: 1463, col: 26, offset: 47761}, val: ")", ignoreCase: false, want: "\")\"", @@ -30913,15 +22511,15 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1458, col: 13, offset: 47846}, + pos: position{line: 1465, col: 13, offset: 47881}, run: (*parser).callonExtraListElement63, expr: &seqExpr{ - pos: position{line: 1458, col: 13, offset: 47846}, + pos: position{line: 1465, col: 13, offset: 47881}, exprs: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 1458, col: 13, offset: 47846}, + pos: position{line: 1465, col: 13, offset: 47881}, expr: &charClassMatcher{ - pos: position{line: 1458, col: 14, offset: 47847}, + pos: position{line: 1465, col: 14, offset: 47882}, val: "[IVXDLCM]", chars: []rune{'I', 'V', 'X', 'D', 'L', 'C', 'M'}, ignoreCase: false, @@ -30929,7 +22527,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1458, col: 26, offset: 47859}, + pos: position{line: 1465, col: 26, offset: 47894}, val: ")", ignoreCase: false, want: "\")\"", @@ -30941,12 +22539,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2932, col: 11, offset: 96082}, + pos: position{line: 2842, col: 11, offset: 93236}, run: (*parser).callonExtraListElement68, expr: &oneOrMoreExpr{ - pos: position{line: 2932, col: 11, offset: 96082}, + pos: position{line: 2842, col: 11, offset: 93236}, expr: &charClassMatcher{ - pos: position{line: 2932, col: 12, offset: 96083}, + pos: position{line: 2842, col: 12, offset: 93237}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -30959,24 +22557,24 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1419, col: 5, offset: 46267}, + pos: position{line: 1426, col: 5, offset: 46302}, label: "content", expr: &actionExpr{ - pos: position{line: 1359, col: 5, offset: 44458}, + pos: position{line: 1366, col: 5, offset: 44498}, run: (*parser).callonExtraListElement72, expr: &seqExpr{ - pos: position{line: 1359, col: 5, offset: 44458}, + pos: position{line: 1366, col: 5, offset: 44498}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1359, col: 5, offset: 44458}, + pos: position{line: 1366, col: 5, offset: 44498}, label: "rawline", expr: &actionExpr{ - pos: position{line: 1359, col: 14, offset: 44467}, + pos: position{line: 1366, col: 14, offset: 44507}, run: (*parser).callonExtraListElement75, expr: &oneOrMoreExpr{ - pos: position{line: 1359, col: 14, offset: 44467}, + pos: position{line: 1366, col: 14, offset: 44507}, expr: &charClassMatcher{ - pos: position{line: 1359, col: 14, offset: 44467}, + pos: position{line: 1366, col: 14, offset: 44507}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -30986,28 +22584,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonExtraListElement79, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -31016,9 +22614,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -31035,47 +22633,47 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1306, col: 13, offset: 42733}, + pos: position{line: 1313, col: 13, offset: 42773}, run: (*parser).callonExtraListElement86, expr: &seqExpr{ - pos: position{line: 1306, col: 13, offset: 42733}, + pos: position{line: 1313, col: 13, offset: 42773}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1306, col: 13, offset: 42733}, + pos: position{line: 1313, col: 13, offset: 42773}, label: "attributes", expr: &oneOrMoreExpr{ - pos: position{line: 1306, col: 24, offset: 42744}, + pos: position{line: 1313, col: 24, offset: 42784}, expr: &ruleRefExpr{ - pos: position{line: 1306, col: 25, offset: 42745}, + pos: position{line: 1313, col: 25, offset: 42785}, name: "BlockAttributes", }, }, }, &labeledExpr{ - pos: position{line: 1307, col: 13, offset: 42776}, + pos: position{line: 1314, col: 13, offset: 42816}, label: "element", expr: &actionExpr{ - pos: position{line: 1418, col: 5, offset: 46228}, + pos: position{line: 1425, col: 5, offset: 46263}, run: (*parser).callonExtraListElement92, expr: &seqExpr{ - pos: position{line: 1418, col: 5, offset: 46228}, + pos: position{line: 1425, col: 5, offset: 46263}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1418, col: 5, offset: 46228}, + pos: position{line: 1425, col: 5, offset: 46263}, label: "prefix", expr: &actionExpr{ - pos: position{line: 1425, col: 5, offset: 46436}, + pos: position{line: 1432, col: 5, offset: 46471}, run: (*parser).callonExtraListElement95, expr: &seqExpr{ - pos: position{line: 1425, col: 5, offset: 46436}, + pos: position{line: 1432, col: 5, offset: 46471}, exprs: []interface{}{ &zeroOrMoreExpr{ - pos: position{line: 1425, col: 5, offset: 46436}, + pos: position{line: 1432, col: 5, offset: 46471}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonExtraListElement98, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -31084,27 +22682,27 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1425, col: 12, offset: 46443}, + pos: position{line: 1432, col: 12, offset: 46478}, label: "prefix", expr: &choiceExpr{ - pos: position{line: 1427, col: 9, offset: 46506}, + pos: position{line: 1434, col: 9, offset: 46541}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1427, col: 9, offset: 46506}, + pos: position{line: 1434, col: 9, offset: 46541}, run: (*parser).callonExtraListElement102, expr: &seqExpr{ - pos: position{line: 1427, col: 9, offset: 46506}, + pos: position{line: 1434, col: 9, offset: 46541}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1427, col: 9, offset: 46506}, + pos: position{line: 1434, col: 9, offset: 46541}, label: "depth", expr: &actionExpr{ - pos: position{line: 1427, col: 16, offset: 46513}, + pos: position{line: 1434, col: 16, offset: 46548}, run: (*parser).callonExtraListElement105, expr: &oneOrMoreExpr{ - pos: position{line: 1427, col: 16, offset: 46513}, + pos: position{line: 1434, col: 16, offset: 46548}, expr: &litMatcher{ - pos: position{line: 1427, col: 17, offset: 46514}, + pos: position{line: 1434, col: 17, offset: 46549}, val: ".", ignoreCase: false, want: "\".\"", @@ -31113,22 +22711,22 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1431, col: 9, offset: 46614}, + pos: position{line: 1438, col: 9, offset: 46649}, run: (*parser).callonExtraListElement108, }, }, }, }, &actionExpr{ - pos: position{line: 1450, col: 11, offset: 47331}, + pos: position{line: 1457, col: 11, offset: 47366}, run: (*parser).callonExtraListElement109, expr: &seqExpr{ - pos: position{line: 1450, col: 11, offset: 47331}, + pos: position{line: 1457, col: 11, offset: 47366}, exprs: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 1450, col: 11, offset: 47331}, + pos: position{line: 1457, col: 11, offset: 47366}, expr: &charClassMatcher{ - pos: position{line: 1450, col: 12, offset: 47332}, + pos: position{line: 1457, col: 12, offset: 47367}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -31136,7 +22734,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1450, col: 20, offset: 47340}, + pos: position{line: 1457, col: 20, offset: 47375}, val: ".", ignoreCase: false, want: "\".\"", @@ -31145,20 +22743,20 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1452, col: 13, offset: 47457}, + pos: position{line: 1459, col: 13, offset: 47492}, run: (*parser).callonExtraListElement114, expr: &seqExpr{ - pos: position{line: 1452, col: 13, offset: 47457}, + pos: position{line: 1459, col: 13, offset: 47492}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 1452, col: 14, offset: 47458}, + pos: position{line: 1459, col: 14, offset: 47493}, val: "[a-z]", ranges: []rune{'a', 'z'}, ignoreCase: false, inverted: false, }, &litMatcher{ - pos: position{line: 1452, col: 21, offset: 47465}, + pos: position{line: 1459, col: 21, offset: 47500}, val: ".", ignoreCase: false, want: "\".\"", @@ -31167,20 +22765,20 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1454, col: 13, offset: 47585}, + pos: position{line: 1461, col: 13, offset: 47620}, run: (*parser).callonExtraListElement118, expr: &seqExpr{ - pos: position{line: 1454, col: 13, offset: 47585}, + pos: position{line: 1461, col: 13, offset: 47620}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 1454, col: 14, offset: 47586}, + pos: position{line: 1461, col: 14, offset: 47621}, val: "[A-Z]", ranges: []rune{'A', 'Z'}, ignoreCase: false, inverted: false, }, &litMatcher{ - pos: position{line: 1454, col: 21, offset: 47593}, + pos: position{line: 1461, col: 21, offset: 47628}, val: ".", ignoreCase: false, want: "\".\"", @@ -31189,15 +22787,15 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1456, col: 13, offset: 47713}, + pos: position{line: 1463, col: 13, offset: 47748}, run: (*parser).callonExtraListElement122, expr: &seqExpr{ - pos: position{line: 1456, col: 13, offset: 47713}, + pos: position{line: 1463, col: 13, offset: 47748}, exprs: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 1456, col: 13, offset: 47713}, + pos: position{line: 1463, col: 13, offset: 47748}, expr: &charClassMatcher{ - pos: position{line: 1456, col: 14, offset: 47714}, + pos: position{line: 1463, col: 14, offset: 47749}, val: "[ivxdlcm]", chars: []rune{'i', 'v', 'x', 'd', 'l', 'c', 'm'}, ignoreCase: false, @@ -31205,7 +22803,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1456, col: 26, offset: 47726}, + pos: position{line: 1463, col: 26, offset: 47761}, val: ")", ignoreCase: false, want: "\")\"", @@ -31214,15 +22812,15 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1458, col: 13, offset: 47846}, + pos: position{line: 1465, col: 13, offset: 47881}, run: (*parser).callonExtraListElement127, expr: &seqExpr{ - pos: position{line: 1458, col: 13, offset: 47846}, + pos: position{line: 1465, col: 13, offset: 47881}, exprs: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 1458, col: 13, offset: 47846}, + pos: position{line: 1465, col: 13, offset: 47881}, expr: &charClassMatcher{ - pos: position{line: 1458, col: 14, offset: 47847}, + pos: position{line: 1465, col: 14, offset: 47882}, val: "[IVXDLCM]", chars: []rune{'I', 'V', 'X', 'D', 'L', 'C', 'M'}, ignoreCase: false, @@ -31230,7 +22828,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1458, col: 26, offset: 47859}, + pos: position{line: 1465, col: 26, offset: 47894}, val: ")", ignoreCase: false, want: "\")\"", @@ -31242,12 +22840,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2932, col: 11, offset: 96082}, + pos: position{line: 2842, col: 11, offset: 93236}, run: (*parser).callonExtraListElement132, expr: &oneOrMoreExpr{ - pos: position{line: 2932, col: 11, offset: 96082}, + pos: position{line: 2842, col: 11, offset: 93236}, expr: &charClassMatcher{ - pos: position{line: 2932, col: 12, offset: 96083}, + pos: position{line: 2842, col: 12, offset: 93237}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -31260,24 +22858,24 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1419, col: 5, offset: 46267}, + pos: position{line: 1426, col: 5, offset: 46302}, label: "content", expr: &actionExpr{ - pos: position{line: 1359, col: 5, offset: 44458}, + pos: position{line: 1366, col: 5, offset: 44498}, run: (*parser).callonExtraListElement136, expr: &seqExpr{ - pos: position{line: 1359, col: 5, offset: 44458}, + pos: position{line: 1366, col: 5, offset: 44498}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1359, col: 5, offset: 44458}, + pos: position{line: 1366, col: 5, offset: 44498}, label: "rawline", expr: &actionExpr{ - pos: position{line: 1359, col: 14, offset: 44467}, + pos: position{line: 1366, col: 14, offset: 44507}, run: (*parser).callonExtraListElement139, expr: &oneOrMoreExpr{ - pos: position{line: 1359, col: 14, offset: 44467}, + pos: position{line: 1366, col: 14, offset: 44507}, expr: &charClassMatcher{ - pos: position{line: 1359, col: 14, offset: 44467}, + pos: position{line: 1366, col: 14, offset: 44507}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -31287,28 +22885,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonExtraListElement143, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -31317,9 +22915,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -31336,35 +22934,35 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1310, col: 13, offset: 42904}, + pos: position{line: 1317, col: 13, offset: 42944}, run: (*parser).callonExtraListElement150, expr: &seqExpr{ - pos: position{line: 1310, col: 13, offset: 42904}, + pos: position{line: 1317, col: 13, offset: 42944}, exprs: []interface{}{ &zeroOrMoreExpr{ - pos: position{line: 1310, col: 13, offset: 42904}, + pos: position{line: 1317, col: 13, offset: 42944}, expr: &actionExpr{ - pos: position{line: 682, col: 14, offset: 22022}, + pos: position{line: 689, col: 14, offset: 22046}, run: (*parser).callonExtraListElement153, expr: &seqExpr{ - pos: position{line: 682, col: 14, offset: 22022}, + pos: position{line: 689, col: 14, offset: 22046}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 682, col: 14, offset: 22022}, + pos: position{line: 689, col: 14, offset: 22046}, expr: ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, &zeroOrMoreExpr{ - pos: position{line: 682, col: 19, offset: 22027}, + pos: position{line: 689, col: 19, offset: 22051}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonExtraListElement159, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -31373,28 +22971,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonExtraListElement162, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -31403,9 +23001,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -31415,30 +23013,30 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1311, col: 13, offset: 42928}, + pos: position{line: 1318, col: 13, offset: 42968}, label: "element", expr: &actionExpr{ - pos: position{line: 1468, col: 5, offset: 48125}, + pos: position{line: 1475, col: 5, offset: 48160}, run: (*parser).callonExtraListElement170, expr: &seqExpr{ - pos: position{line: 1468, col: 5, offset: 48125}, + pos: position{line: 1475, col: 5, offset: 48160}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1468, col: 5, offset: 48125}, + pos: position{line: 1475, col: 5, offset: 48160}, label: "prefix", expr: &actionExpr{ - pos: position{line: 1475, col: 5, offset: 48398}, + pos: position{line: 1482, col: 5, offset: 48433}, run: (*parser).callonExtraListElement173, expr: &seqExpr{ - pos: position{line: 1475, col: 5, offset: 48398}, + pos: position{line: 1482, col: 5, offset: 48433}, exprs: []interface{}{ &zeroOrMoreExpr{ - pos: position{line: 1475, col: 5, offset: 48398}, + pos: position{line: 1482, col: 5, offset: 48433}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonExtraListElement176, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -31447,27 +23045,27 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1475, col: 12, offset: 48405}, + pos: position{line: 1482, col: 12, offset: 48440}, label: "prefix", expr: &choiceExpr{ - pos: position{line: 1475, col: 20, offset: 48413}, + pos: position{line: 1482, col: 20, offset: 48448}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1477, col: 9, offset: 48470}, + pos: position{line: 1484, col: 9, offset: 48505}, run: (*parser).callonExtraListElement180, expr: &seqExpr{ - pos: position{line: 1477, col: 9, offset: 48470}, + pos: position{line: 1484, col: 9, offset: 48505}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1477, col: 9, offset: 48470}, + pos: position{line: 1484, col: 9, offset: 48505}, label: "depth", expr: &actionExpr{ - pos: position{line: 1477, col: 16, offset: 48477}, + pos: position{line: 1484, col: 16, offset: 48512}, run: (*parser).callonExtraListElement183, expr: &oneOrMoreExpr{ - pos: position{line: 1477, col: 16, offset: 48477}, + pos: position{line: 1484, col: 16, offset: 48512}, expr: &litMatcher{ - pos: position{line: 1477, col: 17, offset: 48478}, + pos: position{line: 1484, col: 17, offset: 48513}, val: "*", ignoreCase: false, want: "\"*\"", @@ -31476,20 +23074,20 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1481, col: 9, offset: 48578}, + pos: position{line: 1488, col: 9, offset: 48613}, run: (*parser).callonExtraListElement186, }, }, }, }, &labeledExpr{ - pos: position{line: 1498, col: 14, offset: 49285}, + pos: position{line: 1505, col: 14, offset: 49320}, label: "depth", expr: &actionExpr{ - pos: position{line: 1498, col: 21, offset: 49292}, + pos: position{line: 1505, col: 21, offset: 49327}, run: (*parser).callonExtraListElement188, expr: &litMatcher{ - pos: position{line: 1498, col: 22, offset: 49293}, + pos: position{line: 1505, col: 22, offset: 49328}, val: "-", ignoreCase: false, want: "\"-\"", @@ -31500,12 +23098,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2932, col: 11, offset: 96082}, + pos: position{line: 2842, col: 11, offset: 93236}, run: (*parser).callonExtraListElement190, expr: &oneOrMoreExpr{ - pos: position{line: 2932, col: 11, offset: 96082}, + pos: position{line: 2842, col: 11, offset: 93236}, expr: &charClassMatcher{ - pos: position{line: 2932, col: 12, offset: 96083}, + pos: position{line: 2842, col: 12, offset: 93237}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -31518,56 +23116,56 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1469, col: 5, offset: 48166}, + pos: position{line: 1476, col: 5, offset: 48201}, label: "checkstyle", expr: &zeroOrOneExpr{ - pos: position{line: 1469, col: 16, offset: 48177}, + pos: position{line: 1476, col: 16, offset: 48212}, expr: &actionExpr{ - pos: position{line: 1505, col: 5, offset: 49454}, + pos: position{line: 1512, col: 5, offset: 49489}, run: (*parser).callonExtraListElement195, expr: &seqExpr{ - pos: position{line: 1505, col: 5, offset: 49454}, + pos: position{line: 1512, col: 5, offset: 49489}, exprs: []interface{}{ &andExpr{ - pos: position{line: 1505, col: 5, offset: 49454}, + pos: position{line: 1512, col: 5, offset: 49489}, expr: &litMatcher{ - pos: position{line: 1505, col: 6, offset: 49455}, + pos: position{line: 1512, col: 6, offset: 49490}, val: "[", ignoreCase: false, want: "\"[\"", }, }, &labeledExpr{ - pos: position{line: 1505, col: 10, offset: 49459}, + pos: position{line: 1512, col: 10, offset: 49494}, label: "style", expr: &choiceExpr{ - pos: position{line: 1506, col: 7, offset: 49473}, + pos: position{line: 1513, col: 7, offset: 49508}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1506, col: 7, offset: 49473}, + pos: position{line: 1513, col: 7, offset: 49508}, run: (*parser).callonExtraListElement201, expr: &litMatcher{ - pos: position{line: 1506, col: 7, offset: 49473}, + pos: position{line: 1513, col: 7, offset: 49508}, val: "[ ]", ignoreCase: false, want: "\"[ ]\"", }, }, &actionExpr{ - pos: position{line: 1507, col: 7, offset: 49518}, + pos: position{line: 1514, col: 7, offset: 49553}, run: (*parser).callonExtraListElement203, expr: &litMatcher{ - pos: position{line: 1507, col: 7, offset: 49518}, + pos: position{line: 1514, col: 7, offset: 49553}, val: "[*]", ignoreCase: false, want: "\"[*]\"", }, }, &actionExpr{ - pos: position{line: 1508, col: 7, offset: 49561}, + pos: position{line: 1515, col: 7, offset: 49596}, run: (*parser).callonExtraListElement205, expr: &litMatcher{ - pos: position{line: 1508, col: 7, offset: 49561}, + pos: position{line: 1515, col: 7, offset: 49596}, val: "[x]", ignoreCase: false, want: "\"[x]\"", @@ -31577,12 +23175,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2932, col: 11, offset: 96082}, + pos: position{line: 2842, col: 11, offset: 93236}, run: (*parser).callonExtraListElement207, expr: &oneOrMoreExpr{ - pos: position{line: 2932, col: 11, offset: 96082}, + pos: position{line: 2842, col: 11, offset: 93236}, expr: &charClassMatcher{ - pos: position{line: 2932, col: 12, offset: 96083}, + pos: position{line: 2842, col: 12, offset: 93237}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -31596,24 +23194,24 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1470, col: 5, offset: 48216}, + pos: position{line: 1477, col: 5, offset: 48251}, label: "content", expr: &actionExpr{ - pos: position{line: 1359, col: 5, offset: 44458}, + pos: position{line: 1366, col: 5, offset: 44498}, run: (*parser).callonExtraListElement211, expr: &seqExpr{ - pos: position{line: 1359, col: 5, offset: 44458}, + pos: position{line: 1366, col: 5, offset: 44498}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1359, col: 5, offset: 44458}, + pos: position{line: 1366, col: 5, offset: 44498}, label: "rawline", expr: &actionExpr{ - pos: position{line: 1359, col: 14, offset: 44467}, + pos: position{line: 1366, col: 14, offset: 44507}, run: (*parser).callonExtraListElement214, expr: &oneOrMoreExpr{ - pos: position{line: 1359, col: 14, offset: 44467}, + pos: position{line: 1366, col: 14, offset: 44507}, expr: &charClassMatcher{ - pos: position{line: 1359, col: 14, offset: 44467}, + pos: position{line: 1366, col: 14, offset: 44507}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -31623,28 +23221,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonExtraListElement218, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -31653,9 +23251,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -31672,47 +23270,47 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1314, col: 13, offset: 43022}, + pos: position{line: 1321, col: 13, offset: 43062}, run: (*parser).callonExtraListElement225, expr: &seqExpr{ - pos: position{line: 1314, col: 13, offset: 43022}, + pos: position{line: 1321, col: 13, offset: 43062}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1314, col: 13, offset: 43022}, + pos: position{line: 1321, col: 13, offset: 43062}, label: "attributes", expr: &oneOrMoreExpr{ - pos: position{line: 1314, col: 24, offset: 43033}, + pos: position{line: 1321, col: 24, offset: 43073}, expr: &ruleRefExpr{ - pos: position{line: 1314, col: 25, offset: 43034}, + pos: position{line: 1321, col: 25, offset: 43074}, name: "BlockAttributes", }, }, }, &labeledExpr{ - pos: position{line: 1315, col: 13, offset: 43065}, + pos: position{line: 1322, col: 13, offset: 43105}, label: "element", expr: &actionExpr{ - pos: position{line: 1468, col: 5, offset: 48125}, + pos: position{line: 1475, col: 5, offset: 48160}, run: (*parser).callonExtraListElement231, expr: &seqExpr{ - pos: position{line: 1468, col: 5, offset: 48125}, + pos: position{line: 1475, col: 5, offset: 48160}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1468, col: 5, offset: 48125}, + pos: position{line: 1475, col: 5, offset: 48160}, label: "prefix", expr: &actionExpr{ - pos: position{line: 1475, col: 5, offset: 48398}, + pos: position{line: 1482, col: 5, offset: 48433}, run: (*parser).callonExtraListElement234, expr: &seqExpr{ - pos: position{line: 1475, col: 5, offset: 48398}, + pos: position{line: 1482, col: 5, offset: 48433}, exprs: []interface{}{ &zeroOrMoreExpr{ - pos: position{line: 1475, col: 5, offset: 48398}, + pos: position{line: 1482, col: 5, offset: 48433}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonExtraListElement237, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -31721,27 +23319,27 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1475, col: 12, offset: 48405}, + pos: position{line: 1482, col: 12, offset: 48440}, label: "prefix", expr: &choiceExpr{ - pos: position{line: 1475, col: 20, offset: 48413}, + pos: position{line: 1482, col: 20, offset: 48448}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1477, col: 9, offset: 48470}, + pos: position{line: 1484, col: 9, offset: 48505}, run: (*parser).callonExtraListElement241, expr: &seqExpr{ - pos: position{line: 1477, col: 9, offset: 48470}, + pos: position{line: 1484, col: 9, offset: 48505}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1477, col: 9, offset: 48470}, + pos: position{line: 1484, col: 9, offset: 48505}, label: "depth", expr: &actionExpr{ - pos: position{line: 1477, col: 16, offset: 48477}, + pos: position{line: 1484, col: 16, offset: 48512}, run: (*parser).callonExtraListElement244, expr: &oneOrMoreExpr{ - pos: position{line: 1477, col: 16, offset: 48477}, + pos: position{line: 1484, col: 16, offset: 48512}, expr: &litMatcher{ - pos: position{line: 1477, col: 17, offset: 48478}, + pos: position{line: 1484, col: 17, offset: 48513}, val: "*", ignoreCase: false, want: "\"*\"", @@ -31750,20 +23348,20 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1481, col: 9, offset: 48578}, + pos: position{line: 1488, col: 9, offset: 48613}, run: (*parser).callonExtraListElement247, }, }, }, }, &labeledExpr{ - pos: position{line: 1498, col: 14, offset: 49285}, + pos: position{line: 1505, col: 14, offset: 49320}, label: "depth", expr: &actionExpr{ - pos: position{line: 1498, col: 21, offset: 49292}, + pos: position{line: 1505, col: 21, offset: 49327}, run: (*parser).callonExtraListElement249, expr: &litMatcher{ - pos: position{line: 1498, col: 22, offset: 49293}, + pos: position{line: 1505, col: 22, offset: 49328}, val: "-", ignoreCase: false, want: "\"-\"", @@ -31774,12 +23372,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2932, col: 11, offset: 96082}, + pos: position{line: 2842, col: 11, offset: 93236}, run: (*parser).callonExtraListElement251, expr: &oneOrMoreExpr{ - pos: position{line: 2932, col: 11, offset: 96082}, + pos: position{line: 2842, col: 11, offset: 93236}, expr: &charClassMatcher{ - pos: position{line: 2932, col: 12, offset: 96083}, + pos: position{line: 2842, col: 12, offset: 93237}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -31792,56 +23390,56 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1469, col: 5, offset: 48166}, + pos: position{line: 1476, col: 5, offset: 48201}, label: "checkstyle", expr: &zeroOrOneExpr{ - pos: position{line: 1469, col: 16, offset: 48177}, + pos: position{line: 1476, col: 16, offset: 48212}, expr: &actionExpr{ - pos: position{line: 1505, col: 5, offset: 49454}, + pos: position{line: 1512, col: 5, offset: 49489}, run: (*parser).callonExtraListElement256, expr: &seqExpr{ - pos: position{line: 1505, col: 5, offset: 49454}, + pos: position{line: 1512, col: 5, offset: 49489}, exprs: []interface{}{ &andExpr{ - pos: position{line: 1505, col: 5, offset: 49454}, + pos: position{line: 1512, col: 5, offset: 49489}, expr: &litMatcher{ - pos: position{line: 1505, col: 6, offset: 49455}, + pos: position{line: 1512, col: 6, offset: 49490}, val: "[", ignoreCase: false, want: "\"[\"", }, }, &labeledExpr{ - pos: position{line: 1505, col: 10, offset: 49459}, + pos: position{line: 1512, col: 10, offset: 49494}, label: "style", expr: &choiceExpr{ - pos: position{line: 1506, col: 7, offset: 49473}, + pos: position{line: 1513, col: 7, offset: 49508}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1506, col: 7, offset: 49473}, + pos: position{line: 1513, col: 7, offset: 49508}, run: (*parser).callonExtraListElement262, expr: &litMatcher{ - pos: position{line: 1506, col: 7, offset: 49473}, + pos: position{line: 1513, col: 7, offset: 49508}, val: "[ ]", ignoreCase: false, want: "\"[ ]\"", }, }, &actionExpr{ - pos: position{line: 1507, col: 7, offset: 49518}, + pos: position{line: 1514, col: 7, offset: 49553}, run: (*parser).callonExtraListElement264, expr: &litMatcher{ - pos: position{line: 1507, col: 7, offset: 49518}, + pos: position{line: 1514, col: 7, offset: 49553}, val: "[*]", ignoreCase: false, want: "\"[*]\"", }, }, &actionExpr{ - pos: position{line: 1508, col: 7, offset: 49561}, + pos: position{line: 1515, col: 7, offset: 49596}, run: (*parser).callonExtraListElement266, expr: &litMatcher{ - pos: position{line: 1508, col: 7, offset: 49561}, + pos: position{line: 1515, col: 7, offset: 49596}, val: "[x]", ignoreCase: false, want: "\"[x]\"", @@ -31851,12 +23449,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2932, col: 11, offset: 96082}, + pos: position{line: 2842, col: 11, offset: 93236}, run: (*parser).callonExtraListElement268, expr: &oneOrMoreExpr{ - pos: position{line: 2932, col: 11, offset: 96082}, + pos: position{line: 2842, col: 11, offset: 93236}, expr: &charClassMatcher{ - pos: position{line: 2932, col: 12, offset: 96083}, + pos: position{line: 2842, col: 12, offset: 93237}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -31870,24 +23468,24 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1470, col: 5, offset: 48216}, + pos: position{line: 1477, col: 5, offset: 48251}, label: "content", expr: &actionExpr{ - pos: position{line: 1359, col: 5, offset: 44458}, + pos: position{line: 1366, col: 5, offset: 44498}, run: (*parser).callonExtraListElement272, expr: &seqExpr{ - pos: position{line: 1359, col: 5, offset: 44458}, + pos: position{line: 1366, col: 5, offset: 44498}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1359, col: 5, offset: 44458}, + pos: position{line: 1366, col: 5, offset: 44498}, label: "rawline", expr: &actionExpr{ - pos: position{line: 1359, col: 14, offset: 44467}, + pos: position{line: 1366, col: 14, offset: 44507}, run: (*parser).callonExtraListElement275, expr: &oneOrMoreExpr{ - pos: position{line: 1359, col: 14, offset: 44467}, + pos: position{line: 1366, col: 14, offset: 44507}, expr: &charClassMatcher{ - pos: position{line: 1359, col: 14, offset: 44467}, + pos: position{line: 1366, col: 14, offset: 44507}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -31897,28 +23495,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonExtraListElement279, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -31927,9 +23525,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -31946,35 +23544,35 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1318, col: 13, offset: 43195}, + pos: position{line: 1325, col: 13, offset: 43235}, run: (*parser).callonExtraListElement286, expr: &seqExpr{ - pos: position{line: 1318, col: 13, offset: 43195}, + pos: position{line: 1325, col: 13, offset: 43235}, exprs: []interface{}{ &zeroOrMoreExpr{ - pos: position{line: 1318, col: 13, offset: 43195}, + pos: position{line: 1325, col: 13, offset: 43235}, expr: &actionExpr{ - pos: position{line: 682, col: 14, offset: 22022}, + pos: position{line: 689, col: 14, offset: 22046}, run: (*parser).callonExtraListElement289, expr: &seqExpr{ - pos: position{line: 682, col: 14, offset: 22022}, + pos: position{line: 689, col: 14, offset: 22046}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 682, col: 14, offset: 22022}, + pos: position{line: 689, col: 14, offset: 22046}, expr: ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, &zeroOrMoreExpr{ - pos: position{line: 682, col: 19, offset: 22027}, + pos: position{line: 689, col: 19, offset: 22051}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonExtraListElement295, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -31983,28 +23581,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonExtraListElement298, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -32013,9 +23611,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -32025,39 +23623,39 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1319, col: 13, offset: 43219}, + pos: position{line: 1326, col: 13, offset: 43259}, label: "element", expr: &actionExpr{ - pos: position{line: 1575, col: 5, offset: 51410}, + pos: position{line: 1582, col: 5, offset: 51469}, run: (*parser).callonExtraListElement306, expr: &seqExpr{ - pos: position{line: 1575, col: 5, offset: 51410}, + pos: position{line: 1582, col: 5, offset: 51469}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1575, col: 5, offset: 51410}, + pos: position{line: 1582, col: 5, offset: 51469}, label: "ref", expr: &actionExpr{ - pos: position{line: 1581, col: 5, offset: 51611}, + pos: position{line: 1588, col: 5, offset: 51670}, run: (*parser).callonExtraListElement309, expr: &seqExpr{ - pos: position{line: 1581, col: 5, offset: 51611}, + pos: position{line: 1588, col: 5, offset: 51670}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1581, col: 5, offset: 51611}, + pos: position{line: 1588, col: 5, offset: 51670}, val: "<", ignoreCase: false, want: "\"<\"", }, &labeledExpr{ - pos: position{line: 1581, col: 9, offset: 51615}, + pos: position{line: 1588, col: 9, offset: 51674}, label: "ref", expr: &actionExpr{ - pos: position{line: 1581, col: 14, offset: 51620}, + pos: position{line: 1588, col: 14, offset: 51679}, run: (*parser).callonExtraListElement313, expr: &oneOrMoreExpr{ - pos: position{line: 1581, col: 14, offset: 51620}, + pos: position{line: 1588, col: 14, offset: 51679}, expr: &charClassMatcher{ - pos: position{line: 1581, col: 14, offset: 51620}, + pos: position{line: 1588, col: 14, offset: 51679}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -32067,18 +23665,18 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1581, col: 62, offset: 51668}, + pos: position{line: 1588, col: 62, offset: 51727}, val: ">", ignoreCase: false, want: "\">\"", }, &actionExpr{ - pos: position{line: 2932, col: 11, offset: 96082}, + pos: position{line: 2842, col: 11, offset: 93236}, run: (*parser).callonExtraListElement317, expr: &oneOrMoreExpr{ - pos: position{line: 2932, col: 11, offset: 96082}, + pos: position{line: 2842, col: 11, offset: 93236}, expr: &charClassMatcher{ - pos: position{line: 2932, col: 12, offset: 96083}, + pos: position{line: 2842, col: 12, offset: 93237}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -32091,24 +23689,24 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1576, col: 5, offset: 51446}, + pos: position{line: 1583, col: 5, offset: 51505}, label: "description", expr: &actionExpr{ - pos: position{line: 1586, col: 5, offset: 51794}, + pos: position{line: 1593, col: 5, offset: 51853}, run: (*parser).callonExtraListElement321, expr: &seqExpr{ - pos: position{line: 1586, col: 5, offset: 51794}, + pos: position{line: 1593, col: 5, offset: 51853}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1586, col: 5, offset: 51794}, + pos: position{line: 1593, col: 5, offset: 51853}, label: "rawline", expr: &actionExpr{ - pos: position{line: 1586, col: 14, offset: 51803}, + pos: position{line: 1593, col: 14, offset: 51862}, run: (*parser).callonExtraListElement324, expr: &oneOrMoreExpr{ - pos: position{line: 1586, col: 14, offset: 51803}, + pos: position{line: 1593, col: 14, offset: 51862}, expr: &charClassMatcher{ - pos: position{line: 1586, col: 14, offset: 51803}, + pos: position{line: 1593, col: 14, offset: 51862}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -32118,28 +23716,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonExtraListElement328, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -32148,9 +23746,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -32167,56 +23765,56 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1322, col: 13, offset: 43311}, + pos: position{line: 1329, col: 13, offset: 43351}, run: (*parser).callonExtraListElement335, expr: &seqExpr{ - pos: position{line: 1322, col: 13, offset: 43311}, + pos: position{line: 1329, col: 13, offset: 43351}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1322, col: 13, offset: 43311}, + pos: position{line: 1329, col: 13, offset: 43351}, label: "attributes", expr: &oneOrMoreExpr{ - pos: position{line: 1322, col: 24, offset: 43322}, + pos: position{line: 1329, col: 24, offset: 43362}, expr: &ruleRefExpr{ - pos: position{line: 1322, col: 25, offset: 43323}, + pos: position{line: 1329, col: 25, offset: 43363}, name: "BlockAttributes", }, }, }, &labeledExpr{ - pos: position{line: 1323, col: 13, offset: 43354}, + pos: position{line: 1330, col: 13, offset: 43394}, label: "element", expr: &actionExpr{ - pos: position{line: 1575, col: 5, offset: 51410}, + pos: position{line: 1582, col: 5, offset: 51469}, run: (*parser).callonExtraListElement341, expr: &seqExpr{ - pos: position{line: 1575, col: 5, offset: 51410}, + pos: position{line: 1582, col: 5, offset: 51469}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1575, col: 5, offset: 51410}, + pos: position{line: 1582, col: 5, offset: 51469}, label: "ref", expr: &actionExpr{ - pos: position{line: 1581, col: 5, offset: 51611}, + pos: position{line: 1588, col: 5, offset: 51670}, run: (*parser).callonExtraListElement344, expr: &seqExpr{ - pos: position{line: 1581, col: 5, offset: 51611}, + pos: position{line: 1588, col: 5, offset: 51670}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1581, col: 5, offset: 51611}, + pos: position{line: 1588, col: 5, offset: 51670}, val: "<", ignoreCase: false, want: "\"<\"", }, &labeledExpr{ - pos: position{line: 1581, col: 9, offset: 51615}, + pos: position{line: 1588, col: 9, offset: 51674}, label: "ref", expr: &actionExpr{ - pos: position{line: 1581, col: 14, offset: 51620}, + pos: position{line: 1588, col: 14, offset: 51679}, run: (*parser).callonExtraListElement348, expr: &oneOrMoreExpr{ - pos: position{line: 1581, col: 14, offset: 51620}, + pos: position{line: 1588, col: 14, offset: 51679}, expr: &charClassMatcher{ - pos: position{line: 1581, col: 14, offset: 51620}, + pos: position{line: 1588, col: 14, offset: 51679}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -32226,18 +23824,18 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1581, col: 62, offset: 51668}, + pos: position{line: 1588, col: 62, offset: 51727}, val: ">", ignoreCase: false, want: "\">\"", }, &actionExpr{ - pos: position{line: 2932, col: 11, offset: 96082}, + pos: position{line: 2842, col: 11, offset: 93236}, run: (*parser).callonExtraListElement352, expr: &oneOrMoreExpr{ - pos: position{line: 2932, col: 11, offset: 96082}, + pos: position{line: 2842, col: 11, offset: 93236}, expr: &charClassMatcher{ - pos: position{line: 2932, col: 12, offset: 96083}, + pos: position{line: 2842, col: 12, offset: 93237}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -32250,24 +23848,24 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1576, col: 5, offset: 51446}, + pos: position{line: 1583, col: 5, offset: 51505}, label: "description", expr: &actionExpr{ - pos: position{line: 1586, col: 5, offset: 51794}, + pos: position{line: 1593, col: 5, offset: 51853}, run: (*parser).callonExtraListElement356, expr: &seqExpr{ - pos: position{line: 1586, col: 5, offset: 51794}, + pos: position{line: 1593, col: 5, offset: 51853}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1586, col: 5, offset: 51794}, + pos: position{line: 1593, col: 5, offset: 51853}, label: "rawline", expr: &actionExpr{ - pos: position{line: 1586, col: 14, offset: 51803}, + pos: position{line: 1593, col: 14, offset: 51862}, run: (*parser).callonExtraListElement359, expr: &oneOrMoreExpr{ - pos: position{line: 1586, col: 14, offset: 51803}, + pos: position{line: 1593, col: 14, offset: 51862}, expr: &charClassMatcher{ - pos: position{line: 1586, col: 14, offset: 51803}, + pos: position{line: 1593, col: 14, offset: 51862}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -32277,28 +23875,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonExtraListElement363, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -32307,9 +23905,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -32326,39 +23924,39 @@ var g = &grammar{ }, }, &ruleRefExpr{ - pos: position{line: 1326, col: 11, offset: 43480}, + pos: position{line: 1333, col: 11, offset: 43520}, name: "ListElementContinuation", }, &actionExpr{ - pos: position{line: 1327, col: 13, offset: 43516}, + pos: position{line: 1334, col: 13, offset: 43556}, run: (*parser).callonExtraListElement371, expr: &seqExpr{ - pos: position{line: 1327, col: 13, offset: 43516}, + pos: position{line: 1334, col: 13, offset: 43556}, exprs: []interface{}{ &zeroOrMoreExpr{ - pos: position{line: 1327, col: 13, offset: 43516}, + pos: position{line: 1334, col: 13, offset: 43556}, expr: &actionExpr{ - pos: position{line: 682, col: 14, offset: 22022}, + pos: position{line: 689, col: 14, offset: 22046}, run: (*parser).callonExtraListElement374, expr: &seqExpr{ - pos: position{line: 682, col: 14, offset: 22022}, + pos: position{line: 689, col: 14, offset: 22046}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 682, col: 14, offset: 22022}, + pos: position{line: 689, col: 14, offset: 22046}, expr: ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, &zeroOrMoreExpr{ - pos: position{line: 682, col: 19, offset: 22027}, + pos: position{line: 689, col: 19, offset: 22051}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonExtraListElement380, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -32367,28 +23965,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonExtraListElement383, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -32397,9 +23995,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -32409,43 +24007,43 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1328, col: 13, offset: 43540}, + pos: position{line: 1335, col: 13, offset: 43580}, label: "element", expr: &actionExpr{ - pos: position{line: 1517, col: 5, offset: 49754}, + pos: position{line: 1524, col: 5, offset: 49789}, run: (*parser).callonExtraListElement391, expr: &seqExpr{ - pos: position{line: 1517, col: 5, offset: 49754}, + pos: position{line: 1524, col: 5, offset: 49789}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1517, col: 5, offset: 49754}, + pos: position{line: 1524, col: 5, offset: 49789}, label: "term", expr: &actionExpr{ - pos: position{line: 1525, col: 5, offset: 50013}, + pos: position{line: 1532, col: 5, offset: 50048}, run: (*parser).callonExtraListElement394, expr: &oneOrMoreExpr{ - pos: position{line: 1525, col: 5, offset: 50013}, + pos: position{line: 1532, col: 5, offset: 50048}, expr: &seqExpr{ - pos: position{line: 1525, col: 6, offset: 50014}, + pos: position{line: 1532, col: 6, offset: 50049}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 1525, col: 6, offset: 50014}, + pos: position{line: 1532, col: 6, offset: 50049}, expr: &actionExpr{ - pos: position{line: 1530, col: 5, offset: 50145}, + pos: position{line: 1537, col: 5, offset: 50199}, run: (*parser).callonExtraListElement398, expr: &seqExpr{ - pos: position{line: 1530, col: 5, offset: 50145}, + pos: position{line: 1537, col: 5, offset: 50199}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1530, col: 5, offset: 50145}, + pos: position{line: 1537, col: 5, offset: 50199}, label: "separator", expr: &actionExpr{ - pos: position{line: 1530, col: 16, offset: 50156}, + pos: position{line: 1537, col: 16, offset: 50210}, run: (*parser).callonExtraListElement401, expr: &oneOrMoreExpr{ - pos: position{line: 1530, col: 16, offset: 50156}, + pos: position{line: 1537, col: 16, offset: 50210}, expr: &litMatcher{ - pos: position{line: 1530, col: 17, offset: 50157}, + pos: position{line: 1537, col: 17, offset: 50211}, val: ":", ignoreCase: false, want: "\":\"", @@ -32454,7 +24052,7 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1533, col: 5, offset: 50214}, + pos: position{line: 1540, col: 5, offset: 50268}, run: (*parser).callonExtraListElement404, }, }, @@ -32462,30 +24060,30 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 1525, col: 35, offset: 50043}, + pos: position{line: 1532, col: 35, offset: 50078}, expr: &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonExtraListElement407, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -32494,16 +24092,16 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, }, }, &anyMatcher{ - line: 1525, col: 40, offset: 50048, + line: 1532, col: 40, offset: 50083, }, }, }, @@ -32511,24 +24109,24 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1518, col: 5, offset: 49789}, + pos: position{line: 1525, col: 5, offset: 49824}, label: "separator", expr: &actionExpr{ - pos: position{line: 1530, col: 5, offset: 50145}, + pos: position{line: 1537, col: 5, offset: 50199}, run: (*parser).callonExtraListElement416, expr: &seqExpr{ - pos: position{line: 1530, col: 5, offset: 50145}, + pos: position{line: 1537, col: 5, offset: 50199}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1530, col: 5, offset: 50145}, + pos: position{line: 1537, col: 5, offset: 50199}, label: "separator", expr: &actionExpr{ - pos: position{line: 1530, col: 16, offset: 50156}, + pos: position{line: 1537, col: 16, offset: 50210}, run: (*parser).callonExtraListElement419, expr: &oneOrMoreExpr{ - pos: position{line: 1530, col: 16, offset: 50156}, + pos: position{line: 1537, col: 16, offset: 50210}, expr: &litMatcher{ - pos: position{line: 1530, col: 17, offset: 50157}, + pos: position{line: 1537, col: 17, offset: 50211}, val: ":", ignoreCase: false, want: "\":\"", @@ -32537,7 +24135,7 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1533, col: 5, offset: 50214}, + pos: position{line: 1540, col: 5, offset: 50268}, run: (*parser).callonExtraListElement422, }, }, @@ -32545,24 +24143,24 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1519, col: 5, offset: 49834}, + pos: position{line: 1526, col: 5, offset: 49869}, label: "description", expr: &choiceExpr{ - pos: position{line: 1541, col: 5, offset: 50464}, + pos: position{line: 1548, col: 5, offset: 50518}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1543, col: 9, offset: 50529}, + pos: position{line: 1550, col: 9, offset: 50583}, run: (*parser).callonExtraListElement425, expr: &seqExpr{ - pos: position{line: 1543, col: 9, offset: 50529}, + pos: position{line: 1550, col: 9, offset: 50583}, exprs: []interface{}{ &zeroOrMoreExpr{ - pos: position{line: 1543, col: 9, offset: 50529}, + pos: position{line: 1550, col: 9, offset: 50583}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonExtraListElement428, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -32571,28 +24169,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonExtraListElement431, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -32601,37 +24199,37 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, }, &zeroOrMoreExpr{ - pos: position{line: 1544, col: 9, offset: 50549}, + pos: position{line: 1551, col: 9, offset: 50603}, expr: &actionExpr{ - pos: position{line: 682, col: 14, offset: 22022}, + pos: position{line: 689, col: 14, offset: 22046}, run: (*parser).callonExtraListElement439, expr: &seqExpr{ - pos: position{line: 682, col: 14, offset: 22022}, + pos: position{line: 689, col: 14, offset: 22046}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 682, col: 14, offset: 22022}, + pos: position{line: 689, col: 14, offset: 22046}, expr: ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, &zeroOrMoreExpr{ - pos: position{line: 682, col: 19, offset: 22027}, + pos: position{line: 689, col: 19, offset: 22051}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonExtraListElement445, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -32640,28 +24238,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonExtraListElement448, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -32670,9 +24268,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -32682,40 +24280,40 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1545, col: 9, offset: 50569}, + pos: position{line: 1552, col: 9, offset: 50623}, label: "content", expr: &zeroOrOneExpr{ - pos: position{line: 1545, col: 17, offset: 50577}, + pos: position{line: 1552, col: 17, offset: 50631}, expr: &actionExpr{ - pos: position{line: 1344, col: 5, offset: 44032}, + pos: position{line: 1351, col: 5, offset: 44072}, run: (*parser).callonExtraListElement457, expr: &seqExpr{ - pos: position{line: 1344, col: 5, offset: 44032}, + pos: position{line: 1351, col: 5, offset: 44072}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 1344, col: 5, offset: 44032}, + pos: position{line: 1351, col: 5, offset: 44072}, expr: &actionExpr{ - pos: position{line: 682, col: 14, offset: 22022}, + pos: position{line: 689, col: 14, offset: 22046}, run: (*parser).callonExtraListElement460, expr: &seqExpr{ - pos: position{line: 682, col: 14, offset: 22022}, + pos: position{line: 689, col: 14, offset: 22046}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 682, col: 14, offset: 22022}, + pos: position{line: 689, col: 14, offset: 22046}, expr: ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, &zeroOrMoreExpr{ - pos: position{line: 682, col: 19, offset: 22027}, + pos: position{line: 689, col: 19, offset: 22051}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonExtraListElement466, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -32724,28 +24322,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonExtraListElement469, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -32754,9 +24352,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -32766,23 +24364,23 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 1345, col: 5, offset: 44047}, + pos: position{line: 1352, col: 5, offset: 44087}, expr: &seqExpr{ - pos: position{line: 1377, col: 34, offset: 44957}, + pos: position{line: 1384, col: 34, offset: 44997}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1377, col: 34, offset: 44957}, + pos: position{line: 1384, col: 34, offset: 44997}, val: "+", ignoreCase: false, want: "\"+\"", }, &zeroOrMoreExpr{ - pos: position{line: 1377, col: 38, offset: 44961}, + pos: position{line: 1384, col: 38, offset: 45001}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonExtraListElement480, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -32791,25 +24389,25 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonExtraListElement482, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -32821,20 +24419,20 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 1346, col: 5, offset: 44082}, + pos: position{line: 1353, col: 5, offset: 44122}, expr: &actionExpr{ - pos: position{line: 1425, col: 5, offset: 46436}, + pos: position{line: 1432, col: 5, offset: 46471}, run: (*parser).callonExtraListElement488, expr: &seqExpr{ - pos: position{line: 1425, col: 5, offset: 46436}, + pos: position{line: 1432, col: 5, offset: 46471}, exprs: []interface{}{ &zeroOrMoreExpr{ - pos: position{line: 1425, col: 5, offset: 46436}, + pos: position{line: 1432, col: 5, offset: 46471}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonExtraListElement491, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -32843,27 +24441,27 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1425, col: 12, offset: 46443}, + pos: position{line: 1432, col: 12, offset: 46478}, label: "prefix", expr: &choiceExpr{ - pos: position{line: 1427, col: 9, offset: 46506}, + pos: position{line: 1434, col: 9, offset: 46541}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1427, col: 9, offset: 46506}, + pos: position{line: 1434, col: 9, offset: 46541}, run: (*parser).callonExtraListElement495, expr: &seqExpr{ - pos: position{line: 1427, col: 9, offset: 46506}, + pos: position{line: 1434, col: 9, offset: 46541}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1427, col: 9, offset: 46506}, + pos: position{line: 1434, col: 9, offset: 46541}, label: "depth", expr: &actionExpr{ - pos: position{line: 1427, col: 16, offset: 46513}, + pos: position{line: 1434, col: 16, offset: 46548}, run: (*parser).callonExtraListElement498, expr: &oneOrMoreExpr{ - pos: position{line: 1427, col: 16, offset: 46513}, + pos: position{line: 1434, col: 16, offset: 46548}, expr: &litMatcher{ - pos: position{line: 1427, col: 17, offset: 46514}, + pos: position{line: 1434, col: 17, offset: 46549}, val: ".", ignoreCase: false, want: "\".\"", @@ -32872,22 +24470,22 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1431, col: 9, offset: 46614}, + pos: position{line: 1438, col: 9, offset: 46649}, run: (*parser).callonExtraListElement501, }, }, }, }, &actionExpr{ - pos: position{line: 1450, col: 11, offset: 47331}, + pos: position{line: 1457, col: 11, offset: 47366}, run: (*parser).callonExtraListElement502, expr: &seqExpr{ - pos: position{line: 1450, col: 11, offset: 47331}, + pos: position{line: 1457, col: 11, offset: 47366}, exprs: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 1450, col: 11, offset: 47331}, + pos: position{line: 1457, col: 11, offset: 47366}, expr: &charClassMatcher{ - pos: position{line: 1450, col: 12, offset: 47332}, + pos: position{line: 1457, col: 12, offset: 47367}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -32895,7 +24493,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1450, col: 20, offset: 47340}, + pos: position{line: 1457, col: 20, offset: 47375}, val: ".", ignoreCase: false, want: "\".\"", @@ -32904,20 +24502,20 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1452, col: 13, offset: 47457}, + pos: position{line: 1459, col: 13, offset: 47492}, run: (*parser).callonExtraListElement507, expr: &seqExpr{ - pos: position{line: 1452, col: 13, offset: 47457}, + pos: position{line: 1459, col: 13, offset: 47492}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 1452, col: 14, offset: 47458}, + pos: position{line: 1459, col: 14, offset: 47493}, val: "[a-z]", ranges: []rune{'a', 'z'}, ignoreCase: false, inverted: false, }, &litMatcher{ - pos: position{line: 1452, col: 21, offset: 47465}, + pos: position{line: 1459, col: 21, offset: 47500}, val: ".", ignoreCase: false, want: "\".\"", @@ -32926,20 +24524,20 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1454, col: 13, offset: 47585}, + pos: position{line: 1461, col: 13, offset: 47620}, run: (*parser).callonExtraListElement511, expr: &seqExpr{ - pos: position{line: 1454, col: 13, offset: 47585}, + pos: position{line: 1461, col: 13, offset: 47620}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 1454, col: 14, offset: 47586}, + pos: position{line: 1461, col: 14, offset: 47621}, val: "[A-Z]", ranges: []rune{'A', 'Z'}, ignoreCase: false, inverted: false, }, &litMatcher{ - pos: position{line: 1454, col: 21, offset: 47593}, + pos: position{line: 1461, col: 21, offset: 47628}, val: ".", ignoreCase: false, want: "\".\"", @@ -32948,15 +24546,15 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1456, col: 13, offset: 47713}, + pos: position{line: 1463, col: 13, offset: 47748}, run: (*parser).callonExtraListElement515, expr: &seqExpr{ - pos: position{line: 1456, col: 13, offset: 47713}, + pos: position{line: 1463, col: 13, offset: 47748}, exprs: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 1456, col: 13, offset: 47713}, + pos: position{line: 1463, col: 13, offset: 47748}, expr: &charClassMatcher{ - pos: position{line: 1456, col: 14, offset: 47714}, + pos: position{line: 1463, col: 14, offset: 47749}, val: "[ivxdlcm]", chars: []rune{'i', 'v', 'x', 'd', 'l', 'c', 'm'}, ignoreCase: false, @@ -32964,7 +24562,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1456, col: 26, offset: 47726}, + pos: position{line: 1463, col: 26, offset: 47761}, val: ")", ignoreCase: false, want: "\")\"", @@ -32973,15 +24571,15 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1458, col: 13, offset: 47846}, + pos: position{line: 1465, col: 13, offset: 47881}, run: (*parser).callonExtraListElement520, expr: &seqExpr{ - pos: position{line: 1458, col: 13, offset: 47846}, + pos: position{line: 1465, col: 13, offset: 47881}, exprs: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 1458, col: 13, offset: 47846}, + pos: position{line: 1465, col: 13, offset: 47881}, expr: &charClassMatcher{ - pos: position{line: 1458, col: 14, offset: 47847}, + pos: position{line: 1465, col: 14, offset: 47882}, val: "[IVXDLCM]", chars: []rune{'I', 'V', 'X', 'D', 'L', 'C', 'M'}, ignoreCase: false, @@ -32989,7 +24587,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1458, col: 26, offset: 47859}, + pos: position{line: 1465, col: 26, offset: 47894}, val: ")", ignoreCase: false, want: "\")\"", @@ -33001,12 +24599,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2932, col: 11, offset: 96082}, + pos: position{line: 2842, col: 11, offset: 93236}, run: (*parser).callonExtraListElement525, expr: &oneOrMoreExpr{ - pos: position{line: 2932, col: 11, offset: 96082}, + pos: position{line: 2842, col: 11, offset: 93236}, expr: &charClassMatcher{ - pos: position{line: 2932, col: 12, offset: 96083}, + pos: position{line: 2842, col: 12, offset: 93237}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -33019,20 +24617,20 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 1347, col: 5, offset: 44112}, + pos: position{line: 1354, col: 5, offset: 44152}, expr: &actionExpr{ - pos: position{line: 1475, col: 5, offset: 48398}, + pos: position{line: 1482, col: 5, offset: 48433}, run: (*parser).callonExtraListElement529, expr: &seqExpr{ - pos: position{line: 1475, col: 5, offset: 48398}, + pos: position{line: 1482, col: 5, offset: 48433}, exprs: []interface{}{ &zeroOrMoreExpr{ - pos: position{line: 1475, col: 5, offset: 48398}, + pos: position{line: 1482, col: 5, offset: 48433}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonExtraListElement532, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -33041,27 +24639,27 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1475, col: 12, offset: 48405}, + pos: position{line: 1482, col: 12, offset: 48440}, label: "prefix", expr: &choiceExpr{ - pos: position{line: 1475, col: 20, offset: 48413}, + pos: position{line: 1482, col: 20, offset: 48448}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1477, col: 9, offset: 48470}, + pos: position{line: 1484, col: 9, offset: 48505}, run: (*parser).callonExtraListElement536, expr: &seqExpr{ - pos: position{line: 1477, col: 9, offset: 48470}, + pos: position{line: 1484, col: 9, offset: 48505}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1477, col: 9, offset: 48470}, + pos: position{line: 1484, col: 9, offset: 48505}, label: "depth", expr: &actionExpr{ - pos: position{line: 1477, col: 16, offset: 48477}, + pos: position{line: 1484, col: 16, offset: 48512}, run: (*parser).callonExtraListElement539, expr: &oneOrMoreExpr{ - pos: position{line: 1477, col: 16, offset: 48477}, + pos: position{line: 1484, col: 16, offset: 48512}, expr: &litMatcher{ - pos: position{line: 1477, col: 17, offset: 48478}, + pos: position{line: 1484, col: 17, offset: 48513}, val: "*", ignoreCase: false, want: "\"*\"", @@ -33070,20 +24668,20 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1481, col: 9, offset: 48578}, + pos: position{line: 1488, col: 9, offset: 48613}, run: (*parser).callonExtraListElement542, }, }, }, }, &labeledExpr{ - pos: position{line: 1498, col: 14, offset: 49285}, + pos: position{line: 1505, col: 14, offset: 49320}, label: "depth", expr: &actionExpr{ - pos: position{line: 1498, col: 21, offset: 49292}, + pos: position{line: 1505, col: 21, offset: 49327}, run: (*parser).callonExtraListElement544, expr: &litMatcher{ - pos: position{line: 1498, col: 22, offset: 49293}, + pos: position{line: 1505, col: 22, offset: 49328}, val: "-", ignoreCase: false, want: "\"-\"", @@ -33094,12 +24692,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2932, col: 11, offset: 96082}, + pos: position{line: 2842, col: 11, offset: 93236}, run: (*parser).callonExtraListElement546, expr: &oneOrMoreExpr{ - pos: position{line: 2932, col: 11, offset: 96082}, + pos: position{line: 2842, col: 11, offset: 93236}, expr: &charClassMatcher{ - pos: position{line: 2932, col: 12, offset: 96083}, + pos: position{line: 2842, col: 12, offset: 93237}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -33112,29 +24710,29 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 1348, col: 5, offset: 44144}, + pos: position{line: 1355, col: 5, offset: 44184}, expr: &actionExpr{ - pos: position{line: 1581, col: 5, offset: 51611}, + pos: position{line: 1588, col: 5, offset: 51670}, run: (*parser).callonExtraListElement550, expr: &seqExpr{ - pos: position{line: 1581, col: 5, offset: 51611}, + pos: position{line: 1588, col: 5, offset: 51670}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1581, col: 5, offset: 51611}, + pos: position{line: 1588, col: 5, offset: 51670}, val: "<", ignoreCase: false, want: "\"<\"", }, &labeledExpr{ - pos: position{line: 1581, col: 9, offset: 51615}, + pos: position{line: 1588, col: 9, offset: 51674}, label: "ref", expr: &actionExpr{ - pos: position{line: 1581, col: 14, offset: 51620}, + pos: position{line: 1588, col: 14, offset: 51679}, run: (*parser).callonExtraListElement554, expr: &oneOrMoreExpr{ - pos: position{line: 1581, col: 14, offset: 51620}, + pos: position{line: 1588, col: 14, offset: 51679}, expr: &charClassMatcher{ - pos: position{line: 1581, col: 14, offset: 51620}, + pos: position{line: 1588, col: 14, offset: 51679}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -33144,18 +24742,18 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1581, col: 62, offset: 51668}, + pos: position{line: 1588, col: 62, offset: 51727}, val: ">", ignoreCase: false, want: "\">\"", }, &actionExpr{ - pos: position{line: 2932, col: 11, offset: 96082}, + pos: position{line: 2842, col: 11, offset: 93236}, run: (*parser).callonExtraListElement558, expr: &oneOrMoreExpr{ - pos: position{line: 2932, col: 11, offset: 96082}, + pos: position{line: 2842, col: 11, offset: 93236}, expr: &charClassMatcher{ - pos: position{line: 2932, col: 12, offset: 96083}, + pos: position{line: 2842, col: 12, offset: 93237}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -33168,36 +24766,36 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 1349, col: 5, offset: 44174}, + pos: position{line: 1356, col: 5, offset: 44214}, expr: &seqExpr{ - pos: position{line: 1349, col: 7, offset: 44176}, + pos: position{line: 1356, col: 7, offset: 44216}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 1525, col: 5, offset: 50013}, + pos: position{line: 1532, col: 5, offset: 50048}, run: (*parser).callonExtraListElement563, expr: &oneOrMoreExpr{ - pos: position{line: 1525, col: 5, offset: 50013}, + pos: position{line: 1532, col: 5, offset: 50048}, expr: &seqExpr{ - pos: position{line: 1525, col: 6, offset: 50014}, + pos: position{line: 1532, col: 6, offset: 50049}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 1525, col: 6, offset: 50014}, + pos: position{line: 1532, col: 6, offset: 50049}, expr: &actionExpr{ - pos: position{line: 1530, col: 5, offset: 50145}, + pos: position{line: 1537, col: 5, offset: 50199}, run: (*parser).callonExtraListElement567, expr: &seqExpr{ - pos: position{line: 1530, col: 5, offset: 50145}, + pos: position{line: 1537, col: 5, offset: 50199}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1530, col: 5, offset: 50145}, + pos: position{line: 1537, col: 5, offset: 50199}, label: "separator", expr: &actionExpr{ - pos: position{line: 1530, col: 16, offset: 50156}, + pos: position{line: 1537, col: 16, offset: 50210}, run: (*parser).callonExtraListElement570, expr: &oneOrMoreExpr{ - pos: position{line: 1530, col: 16, offset: 50156}, + pos: position{line: 1537, col: 16, offset: 50210}, expr: &litMatcher{ - pos: position{line: 1530, col: 17, offset: 50157}, + pos: position{line: 1537, col: 17, offset: 50211}, val: ":", ignoreCase: false, want: "\":\"", @@ -33206,7 +24804,7 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1533, col: 5, offset: 50214}, + pos: position{line: 1540, col: 5, offset: 50268}, run: (*parser).callonExtraListElement573, }, }, @@ -33214,30 +24812,30 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 1525, col: 35, offset: 50043}, + pos: position{line: 1532, col: 35, offset: 50078}, expr: &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonExtraListElement576, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -33246,37 +24844,37 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, }, }, &anyMatcher{ - line: 1525, col: 40, offset: 50048, + line: 1532, col: 40, offset: 50083, }, }, }, }, }, &actionExpr{ - pos: position{line: 1530, col: 5, offset: 50145}, + pos: position{line: 1537, col: 5, offset: 50199}, run: (*parser).callonExtraListElement584, expr: &seqExpr{ - pos: position{line: 1530, col: 5, offset: 50145}, + pos: position{line: 1537, col: 5, offset: 50199}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1530, col: 5, offset: 50145}, + pos: position{line: 1537, col: 5, offset: 50199}, label: "separator", expr: &actionExpr{ - pos: position{line: 1530, col: 16, offset: 50156}, + pos: position{line: 1537, col: 16, offset: 50210}, run: (*parser).callonExtraListElement587, expr: &oneOrMoreExpr{ - pos: position{line: 1530, col: 16, offset: 50156}, + pos: position{line: 1537, col: 16, offset: 50210}, expr: &litMatcher{ - pos: position{line: 1530, col: 17, offset: 50157}, + pos: position{line: 1537, col: 17, offset: 50211}, val: ":", ignoreCase: false, want: "\":\"", @@ -33285,7 +24883,7 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1533, col: 5, offset: 50214}, + pos: position{line: 1540, col: 5, offset: 50268}, run: (*parser).callonExtraListElement590, }, }, @@ -33295,17 +24893,17 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 1350, col: 5, offset: 44232}, + pos: position{line: 1357, col: 5, offset: 44272}, expr: &actionExpr{ - pos: position{line: 727, col: 5, offset: 23531}, + pos: position{line: 734, col: 5, offset: 23557}, run: (*parser).callonExtraListElement592, expr: &seqExpr{ - pos: position{line: 727, col: 5, offset: 23531}, + pos: position{line: 734, col: 5, offset: 23557}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 727, col: 5, offset: 23531}, + pos: position{line: 734, col: 5, offset: 23557}, expr: &charClassMatcher{ - pos: position{line: 2852, col: 13, offset: 93681}, + pos: position{line: 2753, col: 13, offset: 90440}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -33314,30 +24912,30 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 728, col: 5, offset: 23561}, + pos: position{line: 735, col: 5, offset: 23587}, label: "delimiter", expr: &choiceExpr{ - pos: position{line: 729, col: 9, offset: 23581}, + pos: position{line: 736, col: 9, offset: 23607}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 741, col: 26, offset: 23902}, + pos: position{line: 748, col: 26, offset: 23928}, run: (*parser).callonExtraListElement598, expr: &seqExpr{ - pos: position{line: 741, col: 26, offset: 23902}, + pos: position{line: 748, col: 26, offset: 23928}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 741, col: 26, offset: 23902}, + pos: position{line: 748, col: 26, offset: 23928}, val: "////", ignoreCase: false, want: "\"////\"", }, &zeroOrMoreExpr{ - pos: position{line: 741, col: 33, offset: 23909}, + pos: position{line: 748, col: 33, offset: 23935}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonExtraListElement602, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -33346,28 +24944,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonExtraListElement605, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -33376,9 +24974,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -33387,24 +24985,24 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 745, col: 26, offset: 24016}, + pos: position{line: 752, col: 26, offset: 24042}, run: (*parser).callonExtraListElement612, expr: &seqExpr{ - pos: position{line: 745, col: 26, offset: 24016}, + pos: position{line: 752, col: 26, offset: 24042}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 745, col: 26, offset: 24016}, + pos: position{line: 752, col: 26, offset: 24042}, val: "====", ignoreCase: false, want: "\"====\"", }, &zeroOrMoreExpr{ - pos: position{line: 745, col: 33, offset: 24023}, + pos: position{line: 752, col: 33, offset: 24049}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonExtraListElement616, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -33413,28 +25011,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonExtraListElement619, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -33443,9 +25041,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -33454,24 +25052,24 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 749, col: 25, offset: 24129}, + pos: position{line: 756, col: 25, offset: 24155}, run: (*parser).callonExtraListElement626, expr: &seqExpr{ - pos: position{line: 749, col: 25, offset: 24129}, + pos: position{line: 756, col: 25, offset: 24155}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 749, col: 25, offset: 24129}, + pos: position{line: 756, col: 25, offset: 24155}, val: "```", ignoreCase: false, want: "\"```\"", }, &zeroOrMoreExpr{ - pos: position{line: 749, col: 31, offset: 24135}, + pos: position{line: 756, col: 31, offset: 24161}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonExtraListElement630, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -33480,28 +25078,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonExtraListElement633, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -33510,9 +25108,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -33521,24 +25119,24 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 753, col: 26, offset: 24241}, + pos: position{line: 760, col: 26, offset: 24267}, run: (*parser).callonExtraListElement640, expr: &seqExpr{ - pos: position{line: 753, col: 26, offset: 24241}, + pos: position{line: 760, col: 26, offset: 24267}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 753, col: 26, offset: 24241}, + pos: position{line: 760, col: 26, offset: 24267}, val: "----", ignoreCase: false, want: "\"----\"", }, &zeroOrMoreExpr{ - pos: position{line: 753, col: 33, offset: 24248}, + pos: position{line: 760, col: 33, offset: 24274}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonExtraListElement644, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -33547,28 +25145,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonExtraListElement647, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -33577,9 +25175,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -33588,24 +25186,24 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 757, col: 26, offset: 24355}, + pos: position{line: 764, col: 26, offset: 24381}, run: (*parser).callonExtraListElement654, expr: &seqExpr{ - pos: position{line: 757, col: 26, offset: 24355}, + pos: position{line: 764, col: 26, offset: 24381}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 757, col: 26, offset: 24355}, + pos: position{line: 764, col: 26, offset: 24381}, val: "....", ignoreCase: false, want: "\"....\"", }, &zeroOrMoreExpr{ - pos: position{line: 757, col: 33, offset: 24362}, + pos: position{line: 764, col: 33, offset: 24388}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonExtraListElement658, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -33614,28 +25212,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonExtraListElement661, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -33644,9 +25242,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -33655,24 +25253,24 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 761, col: 30, offset: 24473}, + pos: position{line: 768, col: 30, offset: 24499}, run: (*parser).callonExtraListElement668, expr: &seqExpr{ - pos: position{line: 761, col: 30, offset: 24473}, + pos: position{line: 768, col: 30, offset: 24499}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 761, col: 30, offset: 24473}, + pos: position{line: 768, col: 30, offset: 24499}, val: "++++", ignoreCase: false, want: "\"++++\"", }, &zeroOrMoreExpr{ - pos: position{line: 761, col: 37, offset: 24480}, + pos: position{line: 768, col: 37, offset: 24506}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonExtraListElement672, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -33681,28 +25279,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonExtraListElement675, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -33711,9 +25309,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -33722,24 +25320,24 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 765, col: 24, offset: 24589}, + pos: position{line: 772, col: 24, offset: 24615}, run: (*parser).callonExtraListElement682, expr: &seqExpr{ - pos: position{line: 765, col: 24, offset: 24589}, + pos: position{line: 772, col: 24, offset: 24615}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 765, col: 24, offset: 24589}, + pos: position{line: 772, col: 24, offset: 24615}, val: "____", ignoreCase: false, want: "\"____\"", }, &zeroOrMoreExpr{ - pos: position{line: 765, col: 31, offset: 24596}, + pos: position{line: 772, col: 31, offset: 24622}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonExtraListElement686, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -33748,28 +25346,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonExtraListElement689, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -33778,9 +25376,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -33789,24 +25387,24 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 769, col: 26, offset: 24701}, + pos: position{line: 776, col: 26, offset: 24727}, run: (*parser).callonExtraListElement696, expr: &seqExpr{ - pos: position{line: 769, col: 26, offset: 24701}, + pos: position{line: 776, col: 26, offset: 24727}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 769, col: 26, offset: 24701}, + pos: position{line: 776, col: 26, offset: 24727}, val: "****", ignoreCase: false, want: "\"****\"", }, &zeroOrMoreExpr{ - pos: position{line: 769, col: 33, offset: 24708}, + pos: position{line: 776, col: 33, offset: 24734}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonExtraListElement700, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -33815,28 +25413,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonExtraListElement703, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -33845,9 +25443,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -33863,15 +25461,15 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1351, col: 5, offset: 44252}, + pos: position{line: 1358, col: 5, offset: 44292}, label: "content", expr: &actionExpr{ - pos: position{line: 1351, col: 14, offset: 44261}, + pos: position{line: 1358, col: 14, offset: 44301}, run: (*parser).callonExtraListElement711, expr: &oneOrMoreExpr{ - pos: position{line: 1351, col: 14, offset: 44261}, + pos: position{line: 1358, col: 14, offset: 44301}, expr: &charClassMatcher{ - pos: position{line: 1351, col: 14, offset: 44261}, + pos: position{line: 1358, col: 14, offset: 44301}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -33881,28 +25479,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonExtraListElement715, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -33911,9 +25509,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -33927,18 +25525,18 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1553, col: 9, offset: 50812}, + pos: position{line: 1560, col: 9, offset: 50866}, run: (*parser).callonExtraListElement722, expr: &seqExpr{ - pos: position{line: 1553, col: 9, offset: 50812}, + pos: position{line: 1560, col: 9, offset: 50866}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 2932, col: 11, offset: 96082}, + pos: position{line: 2842, col: 11, offset: 93236}, run: (*parser).callonExtraListElement724, expr: &oneOrMoreExpr{ - pos: position{line: 2932, col: 11, offset: 96082}, + pos: position{line: 2842, col: 11, offset: 93236}, expr: &charClassMatcher{ - pos: position{line: 2932, col: 12, offset: 96083}, + pos: position{line: 2842, col: 12, offset: 93237}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -33947,15 +25545,15 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1554, col: 9, offset: 50864}, + pos: position{line: 1561, col: 9, offset: 50918}, label: "content", expr: &actionExpr{ - pos: position{line: 1554, col: 18, offset: 50873}, + pos: position{line: 1561, col: 18, offset: 50927}, run: (*parser).callonExtraListElement728, expr: &oneOrMoreExpr{ - pos: position{line: 1554, col: 18, offset: 50873}, + pos: position{line: 1561, col: 18, offset: 50927}, expr: &charClassMatcher{ - pos: position{line: 1554, col: 18, offset: 50873}, + pos: position{line: 1561, col: 18, offset: 50927}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -33965,28 +25563,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonExtraListElement732, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -33995,9 +25593,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -34016,60 +25614,60 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1331, col: 13, offset: 43632}, + pos: position{line: 1338, col: 13, offset: 43672}, run: (*parser).callonExtraListElement739, expr: &seqExpr{ - pos: position{line: 1331, col: 13, offset: 43632}, + pos: position{line: 1338, col: 13, offset: 43672}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1331, col: 13, offset: 43632}, + pos: position{line: 1338, col: 13, offset: 43672}, label: "attributes", expr: &oneOrMoreExpr{ - pos: position{line: 1331, col: 24, offset: 43643}, + pos: position{line: 1338, col: 24, offset: 43683}, expr: &ruleRefExpr{ - pos: position{line: 1331, col: 25, offset: 43644}, + pos: position{line: 1338, col: 25, offset: 43684}, name: "BlockAttributes", }, }, }, &labeledExpr{ - pos: position{line: 1332, col: 13, offset: 43675}, + pos: position{line: 1339, col: 13, offset: 43715}, label: "element", expr: &actionExpr{ - pos: position{line: 1517, col: 5, offset: 49754}, + pos: position{line: 1524, col: 5, offset: 49789}, run: (*parser).callonExtraListElement745, expr: &seqExpr{ - pos: position{line: 1517, col: 5, offset: 49754}, + pos: position{line: 1524, col: 5, offset: 49789}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1517, col: 5, offset: 49754}, + pos: position{line: 1524, col: 5, offset: 49789}, label: "term", expr: &actionExpr{ - pos: position{line: 1525, col: 5, offset: 50013}, + pos: position{line: 1532, col: 5, offset: 50048}, run: (*parser).callonExtraListElement748, expr: &oneOrMoreExpr{ - pos: position{line: 1525, col: 5, offset: 50013}, + pos: position{line: 1532, col: 5, offset: 50048}, expr: &seqExpr{ - pos: position{line: 1525, col: 6, offset: 50014}, + pos: position{line: 1532, col: 6, offset: 50049}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 1525, col: 6, offset: 50014}, + pos: position{line: 1532, col: 6, offset: 50049}, expr: &actionExpr{ - pos: position{line: 1530, col: 5, offset: 50145}, + pos: position{line: 1537, col: 5, offset: 50199}, run: (*parser).callonExtraListElement752, expr: &seqExpr{ - pos: position{line: 1530, col: 5, offset: 50145}, + pos: position{line: 1537, col: 5, offset: 50199}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1530, col: 5, offset: 50145}, + pos: position{line: 1537, col: 5, offset: 50199}, label: "separator", expr: &actionExpr{ - pos: position{line: 1530, col: 16, offset: 50156}, + pos: position{line: 1537, col: 16, offset: 50210}, run: (*parser).callonExtraListElement755, expr: &oneOrMoreExpr{ - pos: position{line: 1530, col: 16, offset: 50156}, + pos: position{line: 1537, col: 16, offset: 50210}, expr: &litMatcher{ - pos: position{line: 1530, col: 17, offset: 50157}, + pos: position{line: 1537, col: 17, offset: 50211}, val: ":", ignoreCase: false, want: "\":\"", @@ -34078,7 +25676,7 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1533, col: 5, offset: 50214}, + pos: position{line: 1540, col: 5, offset: 50268}, run: (*parser).callonExtraListElement758, }, }, @@ -34086,30 +25684,30 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 1525, col: 35, offset: 50043}, + pos: position{line: 1532, col: 35, offset: 50078}, expr: &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonExtraListElement761, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -34118,16 +25716,16 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, }, }, &anyMatcher{ - line: 1525, col: 40, offset: 50048, + line: 1532, col: 40, offset: 50083, }, }, }, @@ -34135,24 +25733,24 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1518, col: 5, offset: 49789}, + pos: position{line: 1525, col: 5, offset: 49824}, label: "separator", expr: &actionExpr{ - pos: position{line: 1530, col: 5, offset: 50145}, + pos: position{line: 1537, col: 5, offset: 50199}, run: (*parser).callonExtraListElement770, expr: &seqExpr{ - pos: position{line: 1530, col: 5, offset: 50145}, + pos: position{line: 1537, col: 5, offset: 50199}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1530, col: 5, offset: 50145}, + pos: position{line: 1537, col: 5, offset: 50199}, label: "separator", expr: &actionExpr{ - pos: position{line: 1530, col: 16, offset: 50156}, + pos: position{line: 1537, col: 16, offset: 50210}, run: (*parser).callonExtraListElement773, expr: &oneOrMoreExpr{ - pos: position{line: 1530, col: 16, offset: 50156}, + pos: position{line: 1537, col: 16, offset: 50210}, expr: &litMatcher{ - pos: position{line: 1530, col: 17, offset: 50157}, + pos: position{line: 1537, col: 17, offset: 50211}, val: ":", ignoreCase: false, want: "\":\"", @@ -34161,7 +25759,7 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1533, col: 5, offset: 50214}, + pos: position{line: 1540, col: 5, offset: 50268}, run: (*parser).callonExtraListElement776, }, }, @@ -34169,24 +25767,24 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1519, col: 5, offset: 49834}, + pos: position{line: 1526, col: 5, offset: 49869}, label: "description", expr: &choiceExpr{ - pos: position{line: 1541, col: 5, offset: 50464}, + pos: position{line: 1548, col: 5, offset: 50518}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1543, col: 9, offset: 50529}, + pos: position{line: 1550, col: 9, offset: 50583}, run: (*parser).callonExtraListElement779, expr: &seqExpr{ - pos: position{line: 1543, col: 9, offset: 50529}, + pos: position{line: 1550, col: 9, offset: 50583}, exprs: []interface{}{ &zeroOrMoreExpr{ - pos: position{line: 1543, col: 9, offset: 50529}, + pos: position{line: 1550, col: 9, offset: 50583}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonExtraListElement782, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -34195,28 +25793,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonExtraListElement785, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -34225,37 +25823,37 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, }, &zeroOrMoreExpr{ - pos: position{line: 1544, col: 9, offset: 50549}, + pos: position{line: 1551, col: 9, offset: 50603}, expr: &actionExpr{ - pos: position{line: 682, col: 14, offset: 22022}, + pos: position{line: 689, col: 14, offset: 22046}, run: (*parser).callonExtraListElement793, expr: &seqExpr{ - pos: position{line: 682, col: 14, offset: 22022}, + pos: position{line: 689, col: 14, offset: 22046}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 682, col: 14, offset: 22022}, + pos: position{line: 689, col: 14, offset: 22046}, expr: ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, &zeroOrMoreExpr{ - pos: position{line: 682, col: 19, offset: 22027}, + pos: position{line: 689, col: 19, offset: 22051}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonExtraListElement799, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -34264,28 +25862,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonExtraListElement802, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -34294,9 +25892,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -34306,40 +25904,40 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1545, col: 9, offset: 50569}, + pos: position{line: 1552, col: 9, offset: 50623}, label: "content", expr: &zeroOrOneExpr{ - pos: position{line: 1545, col: 17, offset: 50577}, + pos: position{line: 1552, col: 17, offset: 50631}, expr: &actionExpr{ - pos: position{line: 1344, col: 5, offset: 44032}, + pos: position{line: 1351, col: 5, offset: 44072}, run: (*parser).callonExtraListElement811, expr: &seqExpr{ - pos: position{line: 1344, col: 5, offset: 44032}, + pos: position{line: 1351, col: 5, offset: 44072}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 1344, col: 5, offset: 44032}, + pos: position{line: 1351, col: 5, offset: 44072}, expr: &actionExpr{ - pos: position{line: 682, col: 14, offset: 22022}, + pos: position{line: 689, col: 14, offset: 22046}, run: (*parser).callonExtraListElement814, expr: &seqExpr{ - pos: position{line: 682, col: 14, offset: 22022}, + pos: position{line: 689, col: 14, offset: 22046}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 682, col: 14, offset: 22022}, + pos: position{line: 689, col: 14, offset: 22046}, expr: ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, &zeroOrMoreExpr{ - pos: position{line: 682, col: 19, offset: 22027}, + pos: position{line: 689, col: 19, offset: 22051}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonExtraListElement820, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -34348,28 +25946,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonExtraListElement823, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -34378,9 +25976,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -34390,23 +25988,23 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 1345, col: 5, offset: 44047}, + pos: position{line: 1352, col: 5, offset: 44087}, expr: &seqExpr{ - pos: position{line: 1377, col: 34, offset: 44957}, + pos: position{line: 1384, col: 34, offset: 44997}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1377, col: 34, offset: 44957}, + pos: position{line: 1384, col: 34, offset: 44997}, val: "+", ignoreCase: false, want: "\"+\"", }, &zeroOrMoreExpr{ - pos: position{line: 1377, col: 38, offset: 44961}, + pos: position{line: 1384, col: 38, offset: 45001}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonExtraListElement834, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -34415,25 +26013,25 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonExtraListElement836, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -34445,20 +26043,20 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 1346, col: 5, offset: 44082}, + pos: position{line: 1353, col: 5, offset: 44122}, expr: &actionExpr{ - pos: position{line: 1425, col: 5, offset: 46436}, + pos: position{line: 1432, col: 5, offset: 46471}, run: (*parser).callonExtraListElement842, expr: &seqExpr{ - pos: position{line: 1425, col: 5, offset: 46436}, + pos: position{line: 1432, col: 5, offset: 46471}, exprs: []interface{}{ &zeroOrMoreExpr{ - pos: position{line: 1425, col: 5, offset: 46436}, + pos: position{line: 1432, col: 5, offset: 46471}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonExtraListElement845, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -34467,27 +26065,27 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1425, col: 12, offset: 46443}, + pos: position{line: 1432, col: 12, offset: 46478}, label: "prefix", expr: &choiceExpr{ - pos: position{line: 1427, col: 9, offset: 46506}, + pos: position{line: 1434, col: 9, offset: 46541}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1427, col: 9, offset: 46506}, + pos: position{line: 1434, col: 9, offset: 46541}, run: (*parser).callonExtraListElement849, expr: &seqExpr{ - pos: position{line: 1427, col: 9, offset: 46506}, + pos: position{line: 1434, col: 9, offset: 46541}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1427, col: 9, offset: 46506}, + pos: position{line: 1434, col: 9, offset: 46541}, label: "depth", expr: &actionExpr{ - pos: position{line: 1427, col: 16, offset: 46513}, + pos: position{line: 1434, col: 16, offset: 46548}, run: (*parser).callonExtraListElement852, expr: &oneOrMoreExpr{ - pos: position{line: 1427, col: 16, offset: 46513}, + pos: position{line: 1434, col: 16, offset: 46548}, expr: &litMatcher{ - pos: position{line: 1427, col: 17, offset: 46514}, + pos: position{line: 1434, col: 17, offset: 46549}, val: ".", ignoreCase: false, want: "\".\"", @@ -34496,22 +26094,22 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1431, col: 9, offset: 46614}, + pos: position{line: 1438, col: 9, offset: 46649}, run: (*parser).callonExtraListElement855, }, }, }, }, &actionExpr{ - pos: position{line: 1450, col: 11, offset: 47331}, + pos: position{line: 1457, col: 11, offset: 47366}, run: (*parser).callonExtraListElement856, expr: &seqExpr{ - pos: position{line: 1450, col: 11, offset: 47331}, + pos: position{line: 1457, col: 11, offset: 47366}, exprs: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 1450, col: 11, offset: 47331}, + pos: position{line: 1457, col: 11, offset: 47366}, expr: &charClassMatcher{ - pos: position{line: 1450, col: 12, offset: 47332}, + pos: position{line: 1457, col: 12, offset: 47367}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -34519,7 +26117,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1450, col: 20, offset: 47340}, + pos: position{line: 1457, col: 20, offset: 47375}, val: ".", ignoreCase: false, want: "\".\"", @@ -34528,20 +26126,20 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1452, col: 13, offset: 47457}, + pos: position{line: 1459, col: 13, offset: 47492}, run: (*parser).callonExtraListElement861, expr: &seqExpr{ - pos: position{line: 1452, col: 13, offset: 47457}, + pos: position{line: 1459, col: 13, offset: 47492}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 1452, col: 14, offset: 47458}, + pos: position{line: 1459, col: 14, offset: 47493}, val: "[a-z]", ranges: []rune{'a', 'z'}, ignoreCase: false, inverted: false, }, &litMatcher{ - pos: position{line: 1452, col: 21, offset: 47465}, + pos: position{line: 1459, col: 21, offset: 47500}, val: ".", ignoreCase: false, want: "\".\"", @@ -34550,20 +26148,20 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1454, col: 13, offset: 47585}, + pos: position{line: 1461, col: 13, offset: 47620}, run: (*parser).callonExtraListElement865, expr: &seqExpr{ - pos: position{line: 1454, col: 13, offset: 47585}, + pos: position{line: 1461, col: 13, offset: 47620}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 1454, col: 14, offset: 47586}, + pos: position{line: 1461, col: 14, offset: 47621}, val: "[A-Z]", ranges: []rune{'A', 'Z'}, ignoreCase: false, inverted: false, }, &litMatcher{ - pos: position{line: 1454, col: 21, offset: 47593}, + pos: position{line: 1461, col: 21, offset: 47628}, val: ".", ignoreCase: false, want: "\".\"", @@ -34572,15 +26170,15 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1456, col: 13, offset: 47713}, + pos: position{line: 1463, col: 13, offset: 47748}, run: (*parser).callonExtraListElement869, expr: &seqExpr{ - pos: position{line: 1456, col: 13, offset: 47713}, + pos: position{line: 1463, col: 13, offset: 47748}, exprs: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 1456, col: 13, offset: 47713}, + pos: position{line: 1463, col: 13, offset: 47748}, expr: &charClassMatcher{ - pos: position{line: 1456, col: 14, offset: 47714}, + pos: position{line: 1463, col: 14, offset: 47749}, val: "[ivxdlcm]", chars: []rune{'i', 'v', 'x', 'd', 'l', 'c', 'm'}, ignoreCase: false, @@ -34588,7 +26186,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1456, col: 26, offset: 47726}, + pos: position{line: 1463, col: 26, offset: 47761}, val: ")", ignoreCase: false, want: "\")\"", @@ -34597,15 +26195,15 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1458, col: 13, offset: 47846}, + pos: position{line: 1465, col: 13, offset: 47881}, run: (*parser).callonExtraListElement874, expr: &seqExpr{ - pos: position{line: 1458, col: 13, offset: 47846}, + pos: position{line: 1465, col: 13, offset: 47881}, exprs: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 1458, col: 13, offset: 47846}, + pos: position{line: 1465, col: 13, offset: 47881}, expr: &charClassMatcher{ - pos: position{line: 1458, col: 14, offset: 47847}, + pos: position{line: 1465, col: 14, offset: 47882}, val: "[IVXDLCM]", chars: []rune{'I', 'V', 'X', 'D', 'L', 'C', 'M'}, ignoreCase: false, @@ -34613,7 +26211,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1458, col: 26, offset: 47859}, + pos: position{line: 1465, col: 26, offset: 47894}, val: ")", ignoreCase: false, want: "\")\"", @@ -34625,12 +26223,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2932, col: 11, offset: 96082}, + pos: position{line: 2842, col: 11, offset: 93236}, run: (*parser).callonExtraListElement879, expr: &oneOrMoreExpr{ - pos: position{line: 2932, col: 11, offset: 96082}, + pos: position{line: 2842, col: 11, offset: 93236}, expr: &charClassMatcher{ - pos: position{line: 2932, col: 12, offset: 96083}, + pos: position{line: 2842, col: 12, offset: 93237}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -34643,20 +26241,20 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 1347, col: 5, offset: 44112}, + pos: position{line: 1354, col: 5, offset: 44152}, expr: &actionExpr{ - pos: position{line: 1475, col: 5, offset: 48398}, + pos: position{line: 1482, col: 5, offset: 48433}, run: (*parser).callonExtraListElement883, expr: &seqExpr{ - pos: position{line: 1475, col: 5, offset: 48398}, + pos: position{line: 1482, col: 5, offset: 48433}, exprs: []interface{}{ &zeroOrMoreExpr{ - pos: position{line: 1475, col: 5, offset: 48398}, + pos: position{line: 1482, col: 5, offset: 48433}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonExtraListElement886, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -34665,27 +26263,27 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1475, col: 12, offset: 48405}, + pos: position{line: 1482, col: 12, offset: 48440}, label: "prefix", expr: &choiceExpr{ - pos: position{line: 1475, col: 20, offset: 48413}, + pos: position{line: 1482, col: 20, offset: 48448}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1477, col: 9, offset: 48470}, + pos: position{line: 1484, col: 9, offset: 48505}, run: (*parser).callonExtraListElement890, expr: &seqExpr{ - pos: position{line: 1477, col: 9, offset: 48470}, + pos: position{line: 1484, col: 9, offset: 48505}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1477, col: 9, offset: 48470}, + pos: position{line: 1484, col: 9, offset: 48505}, label: "depth", expr: &actionExpr{ - pos: position{line: 1477, col: 16, offset: 48477}, + pos: position{line: 1484, col: 16, offset: 48512}, run: (*parser).callonExtraListElement893, expr: &oneOrMoreExpr{ - pos: position{line: 1477, col: 16, offset: 48477}, + pos: position{line: 1484, col: 16, offset: 48512}, expr: &litMatcher{ - pos: position{line: 1477, col: 17, offset: 48478}, + pos: position{line: 1484, col: 17, offset: 48513}, val: "*", ignoreCase: false, want: "\"*\"", @@ -34694,20 +26292,20 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1481, col: 9, offset: 48578}, + pos: position{line: 1488, col: 9, offset: 48613}, run: (*parser).callonExtraListElement896, }, }, }, }, &labeledExpr{ - pos: position{line: 1498, col: 14, offset: 49285}, + pos: position{line: 1505, col: 14, offset: 49320}, label: "depth", expr: &actionExpr{ - pos: position{line: 1498, col: 21, offset: 49292}, + pos: position{line: 1505, col: 21, offset: 49327}, run: (*parser).callonExtraListElement898, expr: &litMatcher{ - pos: position{line: 1498, col: 22, offset: 49293}, + pos: position{line: 1505, col: 22, offset: 49328}, val: "-", ignoreCase: false, want: "\"-\"", @@ -34718,12 +26316,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2932, col: 11, offset: 96082}, + pos: position{line: 2842, col: 11, offset: 93236}, run: (*parser).callonExtraListElement900, expr: &oneOrMoreExpr{ - pos: position{line: 2932, col: 11, offset: 96082}, + pos: position{line: 2842, col: 11, offset: 93236}, expr: &charClassMatcher{ - pos: position{line: 2932, col: 12, offset: 96083}, + pos: position{line: 2842, col: 12, offset: 93237}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -34736,29 +26334,29 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 1348, col: 5, offset: 44144}, + pos: position{line: 1355, col: 5, offset: 44184}, expr: &actionExpr{ - pos: position{line: 1581, col: 5, offset: 51611}, + pos: position{line: 1588, col: 5, offset: 51670}, run: (*parser).callonExtraListElement904, expr: &seqExpr{ - pos: position{line: 1581, col: 5, offset: 51611}, + pos: position{line: 1588, col: 5, offset: 51670}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1581, col: 5, offset: 51611}, + pos: position{line: 1588, col: 5, offset: 51670}, val: "<", ignoreCase: false, want: "\"<\"", }, &labeledExpr{ - pos: position{line: 1581, col: 9, offset: 51615}, + pos: position{line: 1588, col: 9, offset: 51674}, label: "ref", expr: &actionExpr{ - pos: position{line: 1581, col: 14, offset: 51620}, + pos: position{line: 1588, col: 14, offset: 51679}, run: (*parser).callonExtraListElement908, expr: &oneOrMoreExpr{ - pos: position{line: 1581, col: 14, offset: 51620}, + pos: position{line: 1588, col: 14, offset: 51679}, expr: &charClassMatcher{ - pos: position{line: 1581, col: 14, offset: 51620}, + pos: position{line: 1588, col: 14, offset: 51679}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -34768,18 +26366,18 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1581, col: 62, offset: 51668}, + pos: position{line: 1588, col: 62, offset: 51727}, val: ">", ignoreCase: false, want: "\">\"", }, &actionExpr{ - pos: position{line: 2932, col: 11, offset: 96082}, + pos: position{line: 2842, col: 11, offset: 93236}, run: (*parser).callonExtraListElement912, expr: &oneOrMoreExpr{ - pos: position{line: 2932, col: 11, offset: 96082}, + pos: position{line: 2842, col: 11, offset: 93236}, expr: &charClassMatcher{ - pos: position{line: 2932, col: 12, offset: 96083}, + pos: position{line: 2842, col: 12, offset: 93237}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -34792,36 +26390,36 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 1349, col: 5, offset: 44174}, + pos: position{line: 1356, col: 5, offset: 44214}, expr: &seqExpr{ - pos: position{line: 1349, col: 7, offset: 44176}, + pos: position{line: 1356, col: 7, offset: 44216}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 1525, col: 5, offset: 50013}, + pos: position{line: 1532, col: 5, offset: 50048}, run: (*parser).callonExtraListElement917, expr: &oneOrMoreExpr{ - pos: position{line: 1525, col: 5, offset: 50013}, + pos: position{line: 1532, col: 5, offset: 50048}, expr: &seqExpr{ - pos: position{line: 1525, col: 6, offset: 50014}, + pos: position{line: 1532, col: 6, offset: 50049}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 1525, col: 6, offset: 50014}, + pos: position{line: 1532, col: 6, offset: 50049}, expr: &actionExpr{ - pos: position{line: 1530, col: 5, offset: 50145}, + pos: position{line: 1537, col: 5, offset: 50199}, run: (*parser).callonExtraListElement921, expr: &seqExpr{ - pos: position{line: 1530, col: 5, offset: 50145}, + pos: position{line: 1537, col: 5, offset: 50199}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1530, col: 5, offset: 50145}, + pos: position{line: 1537, col: 5, offset: 50199}, label: "separator", expr: &actionExpr{ - pos: position{line: 1530, col: 16, offset: 50156}, + pos: position{line: 1537, col: 16, offset: 50210}, run: (*parser).callonExtraListElement924, expr: &oneOrMoreExpr{ - pos: position{line: 1530, col: 16, offset: 50156}, + pos: position{line: 1537, col: 16, offset: 50210}, expr: &litMatcher{ - pos: position{line: 1530, col: 17, offset: 50157}, + pos: position{line: 1537, col: 17, offset: 50211}, val: ":", ignoreCase: false, want: "\":\"", @@ -34830,7 +26428,7 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1533, col: 5, offset: 50214}, + pos: position{line: 1540, col: 5, offset: 50268}, run: (*parser).callonExtraListElement927, }, }, @@ -34838,30 +26436,30 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 1525, col: 35, offset: 50043}, + pos: position{line: 1532, col: 35, offset: 50078}, expr: &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonExtraListElement930, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -34870,37 +26468,37 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, }, }, &anyMatcher{ - line: 1525, col: 40, offset: 50048, + line: 1532, col: 40, offset: 50083, }, }, }, }, }, &actionExpr{ - pos: position{line: 1530, col: 5, offset: 50145}, + pos: position{line: 1537, col: 5, offset: 50199}, run: (*parser).callonExtraListElement938, expr: &seqExpr{ - pos: position{line: 1530, col: 5, offset: 50145}, + pos: position{line: 1537, col: 5, offset: 50199}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1530, col: 5, offset: 50145}, + pos: position{line: 1537, col: 5, offset: 50199}, label: "separator", expr: &actionExpr{ - pos: position{line: 1530, col: 16, offset: 50156}, + pos: position{line: 1537, col: 16, offset: 50210}, run: (*parser).callonExtraListElement941, expr: &oneOrMoreExpr{ - pos: position{line: 1530, col: 16, offset: 50156}, + pos: position{line: 1537, col: 16, offset: 50210}, expr: &litMatcher{ - pos: position{line: 1530, col: 17, offset: 50157}, + pos: position{line: 1537, col: 17, offset: 50211}, val: ":", ignoreCase: false, want: "\":\"", @@ -34909,7 +26507,7 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1533, col: 5, offset: 50214}, + pos: position{line: 1540, col: 5, offset: 50268}, run: (*parser).callonExtraListElement944, }, }, @@ -34919,17 +26517,17 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 1350, col: 5, offset: 44232}, + pos: position{line: 1357, col: 5, offset: 44272}, expr: &actionExpr{ - pos: position{line: 727, col: 5, offset: 23531}, + pos: position{line: 734, col: 5, offset: 23557}, run: (*parser).callonExtraListElement946, expr: &seqExpr{ - pos: position{line: 727, col: 5, offset: 23531}, + pos: position{line: 734, col: 5, offset: 23557}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 727, col: 5, offset: 23531}, + pos: position{line: 734, col: 5, offset: 23557}, expr: &charClassMatcher{ - pos: position{line: 2852, col: 13, offset: 93681}, + pos: position{line: 2753, col: 13, offset: 90440}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -34938,30 +26536,30 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 728, col: 5, offset: 23561}, + pos: position{line: 735, col: 5, offset: 23587}, label: "delimiter", expr: &choiceExpr{ - pos: position{line: 729, col: 9, offset: 23581}, + pos: position{line: 736, col: 9, offset: 23607}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 741, col: 26, offset: 23902}, + pos: position{line: 748, col: 26, offset: 23928}, run: (*parser).callonExtraListElement952, expr: &seqExpr{ - pos: position{line: 741, col: 26, offset: 23902}, + pos: position{line: 748, col: 26, offset: 23928}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 741, col: 26, offset: 23902}, + pos: position{line: 748, col: 26, offset: 23928}, val: "////", ignoreCase: false, want: "\"////\"", }, &zeroOrMoreExpr{ - pos: position{line: 741, col: 33, offset: 23909}, + pos: position{line: 748, col: 33, offset: 23935}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonExtraListElement956, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -34970,28 +26568,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonExtraListElement959, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -35000,9 +26598,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -35011,24 +26609,24 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 745, col: 26, offset: 24016}, + pos: position{line: 752, col: 26, offset: 24042}, run: (*parser).callonExtraListElement966, expr: &seqExpr{ - pos: position{line: 745, col: 26, offset: 24016}, + pos: position{line: 752, col: 26, offset: 24042}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 745, col: 26, offset: 24016}, + pos: position{line: 752, col: 26, offset: 24042}, val: "====", ignoreCase: false, want: "\"====\"", }, &zeroOrMoreExpr{ - pos: position{line: 745, col: 33, offset: 24023}, + pos: position{line: 752, col: 33, offset: 24049}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonExtraListElement970, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -35037,28 +26635,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonExtraListElement973, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -35067,9 +26665,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -35078,24 +26676,24 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 749, col: 25, offset: 24129}, + pos: position{line: 756, col: 25, offset: 24155}, run: (*parser).callonExtraListElement980, expr: &seqExpr{ - pos: position{line: 749, col: 25, offset: 24129}, + pos: position{line: 756, col: 25, offset: 24155}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 749, col: 25, offset: 24129}, + pos: position{line: 756, col: 25, offset: 24155}, val: "```", ignoreCase: false, want: "\"```\"", }, &zeroOrMoreExpr{ - pos: position{line: 749, col: 31, offset: 24135}, + pos: position{line: 756, col: 31, offset: 24161}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonExtraListElement984, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -35104,28 +26702,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonExtraListElement987, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -35134,9 +26732,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -35145,24 +26743,24 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 753, col: 26, offset: 24241}, + pos: position{line: 760, col: 26, offset: 24267}, run: (*parser).callonExtraListElement994, expr: &seqExpr{ - pos: position{line: 753, col: 26, offset: 24241}, + pos: position{line: 760, col: 26, offset: 24267}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 753, col: 26, offset: 24241}, + pos: position{line: 760, col: 26, offset: 24267}, val: "----", ignoreCase: false, want: "\"----\"", }, &zeroOrMoreExpr{ - pos: position{line: 753, col: 33, offset: 24248}, + pos: position{line: 760, col: 33, offset: 24274}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonExtraListElement998, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -35171,28 +26769,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonExtraListElement1001, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -35201,9 +26799,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -35212,24 +26810,24 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 757, col: 26, offset: 24355}, + pos: position{line: 764, col: 26, offset: 24381}, run: (*parser).callonExtraListElement1008, expr: &seqExpr{ - pos: position{line: 757, col: 26, offset: 24355}, + pos: position{line: 764, col: 26, offset: 24381}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 757, col: 26, offset: 24355}, + pos: position{line: 764, col: 26, offset: 24381}, val: "....", ignoreCase: false, want: "\"....\"", }, &zeroOrMoreExpr{ - pos: position{line: 757, col: 33, offset: 24362}, + pos: position{line: 764, col: 33, offset: 24388}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonExtraListElement1012, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -35238,28 +26836,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonExtraListElement1015, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -35268,9 +26866,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -35279,24 +26877,24 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 761, col: 30, offset: 24473}, + pos: position{line: 768, col: 30, offset: 24499}, run: (*parser).callonExtraListElement1022, expr: &seqExpr{ - pos: position{line: 761, col: 30, offset: 24473}, + pos: position{line: 768, col: 30, offset: 24499}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 761, col: 30, offset: 24473}, + pos: position{line: 768, col: 30, offset: 24499}, val: "++++", ignoreCase: false, want: "\"++++\"", }, &zeroOrMoreExpr{ - pos: position{line: 761, col: 37, offset: 24480}, + pos: position{line: 768, col: 37, offset: 24506}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonExtraListElement1026, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -35305,28 +26903,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonExtraListElement1029, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -35335,9 +26933,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -35346,24 +26944,24 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 765, col: 24, offset: 24589}, + pos: position{line: 772, col: 24, offset: 24615}, run: (*parser).callonExtraListElement1036, expr: &seqExpr{ - pos: position{line: 765, col: 24, offset: 24589}, + pos: position{line: 772, col: 24, offset: 24615}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 765, col: 24, offset: 24589}, + pos: position{line: 772, col: 24, offset: 24615}, val: "____", ignoreCase: false, want: "\"____\"", }, &zeroOrMoreExpr{ - pos: position{line: 765, col: 31, offset: 24596}, + pos: position{line: 772, col: 31, offset: 24622}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonExtraListElement1040, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -35372,28 +26970,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonExtraListElement1043, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -35402,9 +27000,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -35413,24 +27011,24 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 769, col: 26, offset: 24701}, + pos: position{line: 776, col: 26, offset: 24727}, run: (*parser).callonExtraListElement1050, expr: &seqExpr{ - pos: position{line: 769, col: 26, offset: 24701}, + pos: position{line: 776, col: 26, offset: 24727}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 769, col: 26, offset: 24701}, + pos: position{line: 776, col: 26, offset: 24727}, val: "****", ignoreCase: false, want: "\"****\"", }, &zeroOrMoreExpr{ - pos: position{line: 769, col: 33, offset: 24708}, + pos: position{line: 776, col: 33, offset: 24734}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonExtraListElement1054, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -35439,28 +27037,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonExtraListElement1057, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -35469,9 +27067,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -35487,15 +27085,15 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1351, col: 5, offset: 44252}, + pos: position{line: 1358, col: 5, offset: 44292}, label: "content", expr: &actionExpr{ - pos: position{line: 1351, col: 14, offset: 44261}, + pos: position{line: 1358, col: 14, offset: 44301}, run: (*parser).callonExtraListElement1065, expr: &oneOrMoreExpr{ - pos: position{line: 1351, col: 14, offset: 44261}, + pos: position{line: 1358, col: 14, offset: 44301}, expr: &charClassMatcher{ - pos: position{line: 1351, col: 14, offset: 44261}, + pos: position{line: 1358, col: 14, offset: 44301}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -35505,28 +27103,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonExtraListElement1069, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -35535,9 +27133,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -35551,18 +27149,18 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1553, col: 9, offset: 50812}, + pos: position{line: 1560, col: 9, offset: 50866}, run: (*parser).callonExtraListElement1076, expr: &seqExpr{ - pos: position{line: 1553, col: 9, offset: 50812}, + pos: position{line: 1560, col: 9, offset: 50866}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 2932, col: 11, offset: 96082}, + pos: position{line: 2842, col: 11, offset: 93236}, run: (*parser).callonExtraListElement1078, expr: &oneOrMoreExpr{ - pos: position{line: 2932, col: 11, offset: 96082}, + pos: position{line: 2842, col: 11, offset: 93236}, expr: &charClassMatcher{ - pos: position{line: 2932, col: 12, offset: 96083}, + pos: position{line: 2842, col: 12, offset: 93237}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -35571,15 +27169,15 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1554, col: 9, offset: 50864}, + pos: position{line: 1561, col: 9, offset: 50918}, label: "content", expr: &actionExpr{ - pos: position{line: 1554, col: 18, offset: 50873}, + pos: position{line: 1561, col: 18, offset: 50927}, run: (*parser).callonExtraListElement1082, expr: &oneOrMoreExpr{ - pos: position{line: 1554, col: 18, offset: 50873}, + pos: position{line: 1561, col: 18, offset: 50927}, expr: &charClassMatcher{ - pos: position{line: 1554, col: 18, offset: 50873}, + pos: position{line: 1561, col: 18, offset: 50927}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -35589,28 +27187,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonExtraListElement1086, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -35619,9 +27217,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -35640,36 +27238,36 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2655, col: 22, offset: 87725}, + pos: position{line: 2556, col: 22, offset: 84484}, run: (*parser).callonExtraListElement1093, expr: &seqExpr{ - pos: position{line: 2655, col: 22, offset: 87725}, + pos: position{line: 2556, col: 22, offset: 84484}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2660, col: 31, offset: 87946}, + pos: position{line: 2561, col: 31, offset: 84705}, val: "//", ignoreCase: false, want: "\"//\"", }, ¬Expr{ - pos: position{line: 2660, col: 36, offset: 87951}, + pos: position{line: 2561, col: 36, offset: 84710}, expr: &litMatcher{ - pos: position{line: 2660, col: 37, offset: 87952}, + pos: position{line: 2561, col: 37, offset: 84711}, val: "//", ignoreCase: false, want: "\"//\"", }, }, &labeledExpr{ - pos: position{line: 2655, col: 49, offset: 87752}, + pos: position{line: 2556, col: 49, offset: 84511}, label: "content", expr: &actionExpr{ - pos: position{line: 2662, col: 29, offset: 87987}, + pos: position{line: 2563, col: 29, offset: 84746}, run: (*parser).callonExtraListElement1099, expr: &zeroOrMoreExpr{ - pos: position{line: 2662, col: 29, offset: 87987}, + pos: position{line: 2563, col: 29, offset: 84746}, expr: &charClassMatcher{ - pos: position{line: 2662, col: 29, offset: 87987}, + pos: position{line: 2563, col: 29, offset: 84746}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -35679,28 +27277,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonExtraListElement1103, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -35709,9 +27307,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -35720,41 +27318,41 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1336, col: 13, offset: 43831}, + pos: position{line: 1343, col: 13, offset: 43871}, run: (*parser).callonExtraListElement1110, expr: &labeledExpr{ - pos: position{line: 1336, col: 13, offset: 43831}, + pos: position{line: 1343, col: 13, offset: 43871}, label: "element", expr: &actionExpr{ - pos: position{line: 1344, col: 5, offset: 44032}, + pos: position{line: 1351, col: 5, offset: 44072}, run: (*parser).callonExtraListElement1112, expr: &seqExpr{ - pos: position{line: 1344, col: 5, offset: 44032}, + pos: position{line: 1351, col: 5, offset: 44072}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 1344, col: 5, offset: 44032}, + pos: position{line: 1351, col: 5, offset: 44072}, expr: &actionExpr{ - pos: position{line: 682, col: 14, offset: 22022}, + pos: position{line: 689, col: 14, offset: 22046}, run: (*parser).callonExtraListElement1115, expr: &seqExpr{ - pos: position{line: 682, col: 14, offset: 22022}, + pos: position{line: 689, col: 14, offset: 22046}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 682, col: 14, offset: 22022}, + pos: position{line: 689, col: 14, offset: 22046}, expr: ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, &zeroOrMoreExpr{ - pos: position{line: 682, col: 19, offset: 22027}, + pos: position{line: 689, col: 19, offset: 22051}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonExtraListElement1121, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -35763,28 +27361,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonExtraListElement1124, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -35793,9 +27391,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -35805,23 +27403,23 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 1345, col: 5, offset: 44047}, + pos: position{line: 1352, col: 5, offset: 44087}, expr: &seqExpr{ - pos: position{line: 1377, col: 34, offset: 44957}, + pos: position{line: 1384, col: 34, offset: 44997}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1377, col: 34, offset: 44957}, + pos: position{line: 1384, col: 34, offset: 44997}, val: "+", ignoreCase: false, want: "\"+\"", }, &zeroOrMoreExpr{ - pos: position{line: 1377, col: 38, offset: 44961}, + pos: position{line: 1384, col: 38, offset: 45001}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonExtraListElement1135, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -35830,25 +27428,25 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonExtraListElement1137, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -35860,20 +27458,20 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 1346, col: 5, offset: 44082}, + pos: position{line: 1353, col: 5, offset: 44122}, expr: &actionExpr{ - pos: position{line: 1425, col: 5, offset: 46436}, + pos: position{line: 1432, col: 5, offset: 46471}, run: (*parser).callonExtraListElement1143, expr: &seqExpr{ - pos: position{line: 1425, col: 5, offset: 46436}, + pos: position{line: 1432, col: 5, offset: 46471}, exprs: []interface{}{ &zeroOrMoreExpr{ - pos: position{line: 1425, col: 5, offset: 46436}, + pos: position{line: 1432, col: 5, offset: 46471}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonExtraListElement1146, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -35882,27 +27480,27 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1425, col: 12, offset: 46443}, + pos: position{line: 1432, col: 12, offset: 46478}, label: "prefix", expr: &choiceExpr{ - pos: position{line: 1427, col: 9, offset: 46506}, + pos: position{line: 1434, col: 9, offset: 46541}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1427, col: 9, offset: 46506}, + pos: position{line: 1434, col: 9, offset: 46541}, run: (*parser).callonExtraListElement1150, expr: &seqExpr{ - pos: position{line: 1427, col: 9, offset: 46506}, + pos: position{line: 1434, col: 9, offset: 46541}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1427, col: 9, offset: 46506}, + pos: position{line: 1434, col: 9, offset: 46541}, label: "depth", expr: &actionExpr{ - pos: position{line: 1427, col: 16, offset: 46513}, + pos: position{line: 1434, col: 16, offset: 46548}, run: (*parser).callonExtraListElement1153, expr: &oneOrMoreExpr{ - pos: position{line: 1427, col: 16, offset: 46513}, + pos: position{line: 1434, col: 16, offset: 46548}, expr: &litMatcher{ - pos: position{line: 1427, col: 17, offset: 46514}, + pos: position{line: 1434, col: 17, offset: 46549}, val: ".", ignoreCase: false, want: "\".\"", @@ -35911,22 +27509,22 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1431, col: 9, offset: 46614}, + pos: position{line: 1438, col: 9, offset: 46649}, run: (*parser).callonExtraListElement1156, }, }, }, }, &actionExpr{ - pos: position{line: 1450, col: 11, offset: 47331}, + pos: position{line: 1457, col: 11, offset: 47366}, run: (*parser).callonExtraListElement1157, expr: &seqExpr{ - pos: position{line: 1450, col: 11, offset: 47331}, + pos: position{line: 1457, col: 11, offset: 47366}, exprs: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 1450, col: 11, offset: 47331}, + pos: position{line: 1457, col: 11, offset: 47366}, expr: &charClassMatcher{ - pos: position{line: 1450, col: 12, offset: 47332}, + pos: position{line: 1457, col: 12, offset: 47367}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -35934,7 +27532,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1450, col: 20, offset: 47340}, + pos: position{line: 1457, col: 20, offset: 47375}, val: ".", ignoreCase: false, want: "\".\"", @@ -35943,20 +27541,20 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1452, col: 13, offset: 47457}, + pos: position{line: 1459, col: 13, offset: 47492}, run: (*parser).callonExtraListElement1162, expr: &seqExpr{ - pos: position{line: 1452, col: 13, offset: 47457}, + pos: position{line: 1459, col: 13, offset: 47492}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 1452, col: 14, offset: 47458}, + pos: position{line: 1459, col: 14, offset: 47493}, val: "[a-z]", ranges: []rune{'a', 'z'}, ignoreCase: false, inverted: false, }, &litMatcher{ - pos: position{line: 1452, col: 21, offset: 47465}, + pos: position{line: 1459, col: 21, offset: 47500}, val: ".", ignoreCase: false, want: "\".\"", @@ -35965,20 +27563,20 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1454, col: 13, offset: 47585}, + pos: position{line: 1461, col: 13, offset: 47620}, run: (*parser).callonExtraListElement1166, expr: &seqExpr{ - pos: position{line: 1454, col: 13, offset: 47585}, + pos: position{line: 1461, col: 13, offset: 47620}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 1454, col: 14, offset: 47586}, + pos: position{line: 1461, col: 14, offset: 47621}, val: "[A-Z]", ranges: []rune{'A', 'Z'}, ignoreCase: false, inverted: false, }, &litMatcher{ - pos: position{line: 1454, col: 21, offset: 47593}, + pos: position{line: 1461, col: 21, offset: 47628}, val: ".", ignoreCase: false, want: "\".\"", @@ -35987,15 +27585,15 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1456, col: 13, offset: 47713}, + pos: position{line: 1463, col: 13, offset: 47748}, run: (*parser).callonExtraListElement1170, expr: &seqExpr{ - pos: position{line: 1456, col: 13, offset: 47713}, + pos: position{line: 1463, col: 13, offset: 47748}, exprs: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 1456, col: 13, offset: 47713}, + pos: position{line: 1463, col: 13, offset: 47748}, expr: &charClassMatcher{ - pos: position{line: 1456, col: 14, offset: 47714}, + pos: position{line: 1463, col: 14, offset: 47749}, val: "[ivxdlcm]", chars: []rune{'i', 'v', 'x', 'd', 'l', 'c', 'm'}, ignoreCase: false, @@ -36003,7 +27601,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1456, col: 26, offset: 47726}, + pos: position{line: 1463, col: 26, offset: 47761}, val: ")", ignoreCase: false, want: "\")\"", @@ -36012,15 +27610,15 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1458, col: 13, offset: 47846}, + pos: position{line: 1465, col: 13, offset: 47881}, run: (*parser).callonExtraListElement1175, expr: &seqExpr{ - pos: position{line: 1458, col: 13, offset: 47846}, + pos: position{line: 1465, col: 13, offset: 47881}, exprs: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 1458, col: 13, offset: 47846}, + pos: position{line: 1465, col: 13, offset: 47881}, expr: &charClassMatcher{ - pos: position{line: 1458, col: 14, offset: 47847}, + pos: position{line: 1465, col: 14, offset: 47882}, val: "[IVXDLCM]", chars: []rune{'I', 'V', 'X', 'D', 'L', 'C', 'M'}, ignoreCase: false, @@ -36028,7 +27626,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1458, col: 26, offset: 47859}, + pos: position{line: 1465, col: 26, offset: 47894}, val: ")", ignoreCase: false, want: "\")\"", @@ -36040,12 +27638,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2932, col: 11, offset: 96082}, + pos: position{line: 2842, col: 11, offset: 93236}, run: (*parser).callonExtraListElement1180, expr: &oneOrMoreExpr{ - pos: position{line: 2932, col: 11, offset: 96082}, + pos: position{line: 2842, col: 11, offset: 93236}, expr: &charClassMatcher{ - pos: position{line: 2932, col: 12, offset: 96083}, + pos: position{line: 2842, col: 12, offset: 93237}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -36058,20 +27656,20 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 1347, col: 5, offset: 44112}, + pos: position{line: 1354, col: 5, offset: 44152}, expr: &actionExpr{ - pos: position{line: 1475, col: 5, offset: 48398}, + pos: position{line: 1482, col: 5, offset: 48433}, run: (*parser).callonExtraListElement1184, expr: &seqExpr{ - pos: position{line: 1475, col: 5, offset: 48398}, + pos: position{line: 1482, col: 5, offset: 48433}, exprs: []interface{}{ &zeroOrMoreExpr{ - pos: position{line: 1475, col: 5, offset: 48398}, + pos: position{line: 1482, col: 5, offset: 48433}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonExtraListElement1187, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -36080,27 +27678,27 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1475, col: 12, offset: 48405}, + pos: position{line: 1482, col: 12, offset: 48440}, label: "prefix", expr: &choiceExpr{ - pos: position{line: 1475, col: 20, offset: 48413}, + pos: position{line: 1482, col: 20, offset: 48448}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1477, col: 9, offset: 48470}, + pos: position{line: 1484, col: 9, offset: 48505}, run: (*parser).callonExtraListElement1191, expr: &seqExpr{ - pos: position{line: 1477, col: 9, offset: 48470}, + pos: position{line: 1484, col: 9, offset: 48505}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1477, col: 9, offset: 48470}, + pos: position{line: 1484, col: 9, offset: 48505}, label: "depth", expr: &actionExpr{ - pos: position{line: 1477, col: 16, offset: 48477}, + pos: position{line: 1484, col: 16, offset: 48512}, run: (*parser).callonExtraListElement1194, expr: &oneOrMoreExpr{ - pos: position{line: 1477, col: 16, offset: 48477}, + pos: position{line: 1484, col: 16, offset: 48512}, expr: &litMatcher{ - pos: position{line: 1477, col: 17, offset: 48478}, + pos: position{line: 1484, col: 17, offset: 48513}, val: "*", ignoreCase: false, want: "\"*\"", @@ -36109,20 +27707,20 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1481, col: 9, offset: 48578}, + pos: position{line: 1488, col: 9, offset: 48613}, run: (*parser).callonExtraListElement1197, }, }, }, }, &labeledExpr{ - pos: position{line: 1498, col: 14, offset: 49285}, + pos: position{line: 1505, col: 14, offset: 49320}, label: "depth", expr: &actionExpr{ - pos: position{line: 1498, col: 21, offset: 49292}, + pos: position{line: 1505, col: 21, offset: 49327}, run: (*parser).callonExtraListElement1199, expr: &litMatcher{ - pos: position{line: 1498, col: 22, offset: 49293}, + pos: position{line: 1505, col: 22, offset: 49328}, val: "-", ignoreCase: false, want: "\"-\"", @@ -36133,12 +27731,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2932, col: 11, offset: 96082}, + pos: position{line: 2842, col: 11, offset: 93236}, run: (*parser).callonExtraListElement1201, expr: &oneOrMoreExpr{ - pos: position{line: 2932, col: 11, offset: 96082}, + pos: position{line: 2842, col: 11, offset: 93236}, expr: &charClassMatcher{ - pos: position{line: 2932, col: 12, offset: 96083}, + pos: position{line: 2842, col: 12, offset: 93237}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -36151,29 +27749,29 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 1348, col: 5, offset: 44144}, + pos: position{line: 1355, col: 5, offset: 44184}, expr: &actionExpr{ - pos: position{line: 1581, col: 5, offset: 51611}, + pos: position{line: 1588, col: 5, offset: 51670}, run: (*parser).callonExtraListElement1205, expr: &seqExpr{ - pos: position{line: 1581, col: 5, offset: 51611}, + pos: position{line: 1588, col: 5, offset: 51670}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1581, col: 5, offset: 51611}, + pos: position{line: 1588, col: 5, offset: 51670}, val: "<", ignoreCase: false, want: "\"<\"", }, &labeledExpr{ - pos: position{line: 1581, col: 9, offset: 51615}, + pos: position{line: 1588, col: 9, offset: 51674}, label: "ref", expr: &actionExpr{ - pos: position{line: 1581, col: 14, offset: 51620}, + pos: position{line: 1588, col: 14, offset: 51679}, run: (*parser).callonExtraListElement1209, expr: &oneOrMoreExpr{ - pos: position{line: 1581, col: 14, offset: 51620}, + pos: position{line: 1588, col: 14, offset: 51679}, expr: &charClassMatcher{ - pos: position{line: 1581, col: 14, offset: 51620}, + pos: position{line: 1588, col: 14, offset: 51679}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -36183,18 +27781,18 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1581, col: 62, offset: 51668}, + pos: position{line: 1588, col: 62, offset: 51727}, val: ">", ignoreCase: false, want: "\">\"", }, &actionExpr{ - pos: position{line: 2932, col: 11, offset: 96082}, + pos: position{line: 2842, col: 11, offset: 93236}, run: (*parser).callonExtraListElement1213, expr: &oneOrMoreExpr{ - pos: position{line: 2932, col: 11, offset: 96082}, + pos: position{line: 2842, col: 11, offset: 93236}, expr: &charClassMatcher{ - pos: position{line: 2932, col: 12, offset: 96083}, + pos: position{line: 2842, col: 12, offset: 93237}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -36207,36 +27805,36 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 1349, col: 5, offset: 44174}, + pos: position{line: 1356, col: 5, offset: 44214}, expr: &seqExpr{ - pos: position{line: 1349, col: 7, offset: 44176}, + pos: position{line: 1356, col: 7, offset: 44216}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 1525, col: 5, offset: 50013}, + pos: position{line: 1532, col: 5, offset: 50048}, run: (*parser).callonExtraListElement1218, expr: &oneOrMoreExpr{ - pos: position{line: 1525, col: 5, offset: 50013}, + pos: position{line: 1532, col: 5, offset: 50048}, expr: &seqExpr{ - pos: position{line: 1525, col: 6, offset: 50014}, + pos: position{line: 1532, col: 6, offset: 50049}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 1525, col: 6, offset: 50014}, + pos: position{line: 1532, col: 6, offset: 50049}, expr: &actionExpr{ - pos: position{line: 1530, col: 5, offset: 50145}, + pos: position{line: 1537, col: 5, offset: 50199}, run: (*parser).callonExtraListElement1222, expr: &seqExpr{ - pos: position{line: 1530, col: 5, offset: 50145}, + pos: position{line: 1537, col: 5, offset: 50199}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1530, col: 5, offset: 50145}, + pos: position{line: 1537, col: 5, offset: 50199}, label: "separator", expr: &actionExpr{ - pos: position{line: 1530, col: 16, offset: 50156}, + pos: position{line: 1537, col: 16, offset: 50210}, run: (*parser).callonExtraListElement1225, expr: &oneOrMoreExpr{ - pos: position{line: 1530, col: 16, offset: 50156}, + pos: position{line: 1537, col: 16, offset: 50210}, expr: &litMatcher{ - pos: position{line: 1530, col: 17, offset: 50157}, + pos: position{line: 1537, col: 17, offset: 50211}, val: ":", ignoreCase: false, want: "\":\"", @@ -36245,7 +27843,7 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1533, col: 5, offset: 50214}, + pos: position{line: 1540, col: 5, offset: 50268}, run: (*parser).callonExtraListElement1228, }, }, @@ -36253,30 +27851,30 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 1525, col: 35, offset: 50043}, + pos: position{line: 1532, col: 35, offset: 50078}, expr: &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonExtraListElement1231, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -36285,37 +27883,37 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, }, }, &anyMatcher{ - line: 1525, col: 40, offset: 50048, + line: 1532, col: 40, offset: 50083, }, }, }, }, }, &actionExpr{ - pos: position{line: 1530, col: 5, offset: 50145}, + pos: position{line: 1537, col: 5, offset: 50199}, run: (*parser).callonExtraListElement1239, expr: &seqExpr{ - pos: position{line: 1530, col: 5, offset: 50145}, + pos: position{line: 1537, col: 5, offset: 50199}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1530, col: 5, offset: 50145}, + pos: position{line: 1537, col: 5, offset: 50199}, label: "separator", expr: &actionExpr{ - pos: position{line: 1530, col: 16, offset: 50156}, + pos: position{line: 1537, col: 16, offset: 50210}, run: (*parser).callonExtraListElement1242, expr: &oneOrMoreExpr{ - pos: position{line: 1530, col: 16, offset: 50156}, + pos: position{line: 1537, col: 16, offset: 50210}, expr: &litMatcher{ - pos: position{line: 1530, col: 17, offset: 50157}, + pos: position{line: 1537, col: 17, offset: 50211}, val: ":", ignoreCase: false, want: "\":\"", @@ -36324,7 +27922,7 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1533, col: 5, offset: 50214}, + pos: position{line: 1540, col: 5, offset: 50268}, run: (*parser).callonExtraListElement1245, }, }, @@ -36334,17 +27932,17 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 1350, col: 5, offset: 44232}, + pos: position{line: 1357, col: 5, offset: 44272}, expr: &actionExpr{ - pos: position{line: 727, col: 5, offset: 23531}, + pos: position{line: 734, col: 5, offset: 23557}, run: (*parser).callonExtraListElement1247, expr: &seqExpr{ - pos: position{line: 727, col: 5, offset: 23531}, + pos: position{line: 734, col: 5, offset: 23557}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 727, col: 5, offset: 23531}, + pos: position{line: 734, col: 5, offset: 23557}, expr: &charClassMatcher{ - pos: position{line: 2852, col: 13, offset: 93681}, + pos: position{line: 2753, col: 13, offset: 90440}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -36353,30 +27951,30 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 728, col: 5, offset: 23561}, + pos: position{line: 735, col: 5, offset: 23587}, label: "delimiter", expr: &choiceExpr{ - pos: position{line: 729, col: 9, offset: 23581}, + pos: position{line: 736, col: 9, offset: 23607}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 741, col: 26, offset: 23902}, + pos: position{line: 748, col: 26, offset: 23928}, run: (*parser).callonExtraListElement1253, expr: &seqExpr{ - pos: position{line: 741, col: 26, offset: 23902}, + pos: position{line: 748, col: 26, offset: 23928}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 741, col: 26, offset: 23902}, + pos: position{line: 748, col: 26, offset: 23928}, val: "////", ignoreCase: false, want: "\"////\"", }, &zeroOrMoreExpr{ - pos: position{line: 741, col: 33, offset: 23909}, + pos: position{line: 748, col: 33, offset: 23935}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonExtraListElement1257, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -36385,28 +27983,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonExtraListElement1260, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -36415,9 +28013,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -36426,24 +28024,24 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 745, col: 26, offset: 24016}, + pos: position{line: 752, col: 26, offset: 24042}, run: (*parser).callonExtraListElement1267, expr: &seqExpr{ - pos: position{line: 745, col: 26, offset: 24016}, + pos: position{line: 752, col: 26, offset: 24042}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 745, col: 26, offset: 24016}, + pos: position{line: 752, col: 26, offset: 24042}, val: "====", ignoreCase: false, want: "\"====\"", }, &zeroOrMoreExpr{ - pos: position{line: 745, col: 33, offset: 24023}, + pos: position{line: 752, col: 33, offset: 24049}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonExtraListElement1271, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -36452,28 +28050,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonExtraListElement1274, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -36482,9 +28080,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -36493,24 +28091,24 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 749, col: 25, offset: 24129}, + pos: position{line: 756, col: 25, offset: 24155}, run: (*parser).callonExtraListElement1281, expr: &seqExpr{ - pos: position{line: 749, col: 25, offset: 24129}, + pos: position{line: 756, col: 25, offset: 24155}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 749, col: 25, offset: 24129}, + pos: position{line: 756, col: 25, offset: 24155}, val: "```", ignoreCase: false, want: "\"```\"", }, &zeroOrMoreExpr{ - pos: position{line: 749, col: 31, offset: 24135}, + pos: position{line: 756, col: 31, offset: 24161}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonExtraListElement1285, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -36519,28 +28117,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonExtraListElement1288, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -36549,9 +28147,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -36560,24 +28158,24 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 753, col: 26, offset: 24241}, + pos: position{line: 760, col: 26, offset: 24267}, run: (*parser).callonExtraListElement1295, expr: &seqExpr{ - pos: position{line: 753, col: 26, offset: 24241}, + pos: position{line: 760, col: 26, offset: 24267}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 753, col: 26, offset: 24241}, + pos: position{line: 760, col: 26, offset: 24267}, val: "----", ignoreCase: false, want: "\"----\"", }, &zeroOrMoreExpr{ - pos: position{line: 753, col: 33, offset: 24248}, + pos: position{line: 760, col: 33, offset: 24274}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonExtraListElement1299, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -36586,28 +28184,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonExtraListElement1302, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -36616,9 +28214,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -36627,24 +28225,24 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 757, col: 26, offset: 24355}, + pos: position{line: 764, col: 26, offset: 24381}, run: (*parser).callonExtraListElement1309, expr: &seqExpr{ - pos: position{line: 757, col: 26, offset: 24355}, + pos: position{line: 764, col: 26, offset: 24381}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 757, col: 26, offset: 24355}, + pos: position{line: 764, col: 26, offset: 24381}, val: "....", ignoreCase: false, want: "\"....\"", }, &zeroOrMoreExpr{ - pos: position{line: 757, col: 33, offset: 24362}, + pos: position{line: 764, col: 33, offset: 24388}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonExtraListElement1313, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -36653,28 +28251,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonExtraListElement1316, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -36683,9 +28281,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -36694,24 +28292,24 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 761, col: 30, offset: 24473}, + pos: position{line: 768, col: 30, offset: 24499}, run: (*parser).callonExtraListElement1323, expr: &seqExpr{ - pos: position{line: 761, col: 30, offset: 24473}, + pos: position{line: 768, col: 30, offset: 24499}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 761, col: 30, offset: 24473}, + pos: position{line: 768, col: 30, offset: 24499}, val: "++++", ignoreCase: false, want: "\"++++\"", }, &zeroOrMoreExpr{ - pos: position{line: 761, col: 37, offset: 24480}, + pos: position{line: 768, col: 37, offset: 24506}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonExtraListElement1327, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -36720,28 +28318,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonExtraListElement1330, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -36750,9 +28348,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -36761,24 +28359,24 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 765, col: 24, offset: 24589}, + pos: position{line: 772, col: 24, offset: 24615}, run: (*parser).callonExtraListElement1337, expr: &seqExpr{ - pos: position{line: 765, col: 24, offset: 24589}, + pos: position{line: 772, col: 24, offset: 24615}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 765, col: 24, offset: 24589}, + pos: position{line: 772, col: 24, offset: 24615}, val: "____", ignoreCase: false, want: "\"____\"", }, &zeroOrMoreExpr{ - pos: position{line: 765, col: 31, offset: 24596}, + pos: position{line: 772, col: 31, offset: 24622}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonExtraListElement1341, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -36787,28 +28385,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonExtraListElement1344, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -36817,9 +28415,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -36828,24 +28426,24 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 769, col: 26, offset: 24701}, + pos: position{line: 776, col: 26, offset: 24727}, run: (*parser).callonExtraListElement1351, expr: &seqExpr{ - pos: position{line: 769, col: 26, offset: 24701}, + pos: position{line: 776, col: 26, offset: 24727}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 769, col: 26, offset: 24701}, + pos: position{line: 776, col: 26, offset: 24727}, val: "****", ignoreCase: false, want: "\"****\"", }, &zeroOrMoreExpr{ - pos: position{line: 769, col: 33, offset: 24708}, + pos: position{line: 776, col: 33, offset: 24734}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonExtraListElement1355, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -36854,28 +28452,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonExtraListElement1358, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -36884,9 +28482,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -36902,15 +28500,15 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1351, col: 5, offset: 44252}, + pos: position{line: 1358, col: 5, offset: 44292}, label: "content", expr: &actionExpr{ - pos: position{line: 1351, col: 14, offset: 44261}, + pos: position{line: 1358, col: 14, offset: 44301}, run: (*parser).callonExtraListElement1366, expr: &oneOrMoreExpr{ - pos: position{line: 1351, col: 14, offset: 44261}, + pos: position{line: 1358, col: 14, offset: 44301}, expr: &charClassMatcher{ - pos: position{line: 1351, col: 14, offset: 44261}, + pos: position{line: 1358, col: 14, offset: 44301}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -36920,28 +28518,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonExtraListElement1370, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -36950,9 +28548,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -36971,28 +28569,28 @@ var g = &grammar{ }, { name: "ListElementContinuation", - pos: position{line: 1369, col: 1, offset: 44685}, + pos: position{line: 1376, col: 1, offset: 44725}, expr: &actionExpr{ - pos: position{line: 1370, col: 5, offset: 44717}, + pos: position{line: 1377, col: 5, offset: 44757}, run: (*parser).callonListElementContinuation1, expr: &seqExpr{ - pos: position{line: 1370, col: 5, offset: 44717}, + pos: position{line: 1377, col: 5, offset: 44757}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1370, col: 5, offset: 44717}, + pos: position{line: 1377, col: 5, offset: 44757}, label: "offset", expr: &zeroOrMoreExpr{ - pos: position{line: 1370, col: 12, offset: 44724}, + pos: position{line: 1377, col: 12, offset: 44764}, expr: &seqExpr{ - pos: position{line: 1370, col: 13, offset: 44725}, + pos: position{line: 1377, col: 13, offset: 44765}, exprs: []interface{}{ &zeroOrMoreExpr{ - pos: position{line: 1370, col: 13, offset: 44725}, + pos: position{line: 1377, col: 13, offset: 44765}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonListElementContinuation7, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -37001,25 +28599,25 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonListElementContinuation9, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -37032,18 +28630,18 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1377, col: 34, offset: 44957}, + pos: position{line: 1384, col: 34, offset: 44997}, val: "+", ignoreCase: false, want: "\"+\"", }, &zeroOrMoreExpr{ - pos: position{line: 1377, col: 38, offset: 44961}, + pos: position{line: 1384, col: 38, offset: 45001}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonListElementContinuation16, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -37052,25 +28650,25 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonListElementContinuation18, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -37079,12 +28677,12 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1372, col: 5, offset: 44781}, + pos: position{line: 1379, col: 5, offset: 44821}, label: "element", expr: &zeroOrOneExpr{ - pos: position{line: 1372, col: 13, offset: 44789}, + pos: position{line: 1379, col: 13, offset: 44829}, expr: &ruleRefExpr{ - pos: position{line: 1372, col: 13, offset: 44789}, + pos: position{line: 1379, col: 13, offset: 44829}, name: "ListElementContinuationElement", }, }, @@ -37095,49 +28693,49 @@ var g = &grammar{ }, { name: "ListElementContinuationElement", - pos: position{line: 1379, col: 1, offset: 44977}, + pos: position{line: 1386, col: 1, offset: 45017}, expr: &actionExpr{ - pos: position{line: 1380, col: 5, offset: 45055}, + pos: position{line: 1387, col: 5, offset: 45095}, run: (*parser).callonListElementContinuationElement1, expr: &seqExpr{ - pos: position{line: 1380, col: 5, offset: 45055}, + pos: position{line: 1387, col: 5, offset: 45095}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 1380, col: 5, offset: 45055}, + pos: position{line: 1387, col: 5, offset: 45095}, expr: ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, ¬Expr{ - pos: position{line: 1381, col: 5, offset: 45081}, + pos: position{line: 1388, col: 5, offset: 45121}, expr: &choiceExpr{ - pos: position{line: 1290, col: 5, offset: 42236}, + pos: position{line: 1297, col: 5, offset: 42276}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1418, col: 5, offset: 46228}, + pos: position{line: 1425, col: 5, offset: 46263}, run: (*parser).callonListElementContinuationElement8, expr: &seqExpr{ - pos: position{line: 1418, col: 5, offset: 46228}, + pos: position{line: 1425, col: 5, offset: 46263}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1418, col: 5, offset: 46228}, + pos: position{line: 1425, col: 5, offset: 46263}, label: "prefix", expr: &actionExpr{ - pos: position{line: 1425, col: 5, offset: 46436}, + pos: position{line: 1432, col: 5, offset: 46471}, run: (*parser).callonListElementContinuationElement11, expr: &seqExpr{ - pos: position{line: 1425, col: 5, offset: 46436}, + pos: position{line: 1432, col: 5, offset: 46471}, exprs: []interface{}{ &zeroOrMoreExpr{ - pos: position{line: 1425, col: 5, offset: 46436}, + pos: position{line: 1432, col: 5, offset: 46471}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonListElementContinuationElement14, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -37146,27 +28744,27 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1425, col: 12, offset: 46443}, + pos: position{line: 1432, col: 12, offset: 46478}, label: "prefix", expr: &choiceExpr{ - pos: position{line: 1427, col: 9, offset: 46506}, + pos: position{line: 1434, col: 9, offset: 46541}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1427, col: 9, offset: 46506}, + pos: position{line: 1434, col: 9, offset: 46541}, run: (*parser).callonListElementContinuationElement18, expr: &seqExpr{ - pos: position{line: 1427, col: 9, offset: 46506}, + pos: position{line: 1434, col: 9, offset: 46541}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1427, col: 9, offset: 46506}, + pos: position{line: 1434, col: 9, offset: 46541}, label: "depth", expr: &actionExpr{ - pos: position{line: 1427, col: 16, offset: 46513}, + pos: position{line: 1434, col: 16, offset: 46548}, run: (*parser).callonListElementContinuationElement21, expr: &oneOrMoreExpr{ - pos: position{line: 1427, col: 16, offset: 46513}, + pos: position{line: 1434, col: 16, offset: 46548}, expr: &litMatcher{ - pos: position{line: 1427, col: 17, offset: 46514}, + pos: position{line: 1434, col: 17, offset: 46549}, val: ".", ignoreCase: false, want: "\".\"", @@ -37175,22 +28773,22 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1431, col: 9, offset: 46614}, + pos: position{line: 1438, col: 9, offset: 46649}, run: (*parser).callonListElementContinuationElement24, }, }, }, }, &actionExpr{ - pos: position{line: 1450, col: 11, offset: 47331}, + pos: position{line: 1457, col: 11, offset: 47366}, run: (*parser).callonListElementContinuationElement25, expr: &seqExpr{ - pos: position{line: 1450, col: 11, offset: 47331}, + pos: position{line: 1457, col: 11, offset: 47366}, exprs: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 1450, col: 11, offset: 47331}, + pos: position{line: 1457, col: 11, offset: 47366}, expr: &charClassMatcher{ - pos: position{line: 1450, col: 12, offset: 47332}, + pos: position{line: 1457, col: 12, offset: 47367}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -37198,7 +28796,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1450, col: 20, offset: 47340}, + pos: position{line: 1457, col: 20, offset: 47375}, val: ".", ignoreCase: false, want: "\".\"", @@ -37207,20 +28805,20 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1452, col: 13, offset: 47457}, + pos: position{line: 1459, col: 13, offset: 47492}, run: (*parser).callonListElementContinuationElement30, expr: &seqExpr{ - pos: position{line: 1452, col: 13, offset: 47457}, + pos: position{line: 1459, col: 13, offset: 47492}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 1452, col: 14, offset: 47458}, + pos: position{line: 1459, col: 14, offset: 47493}, val: "[a-z]", ranges: []rune{'a', 'z'}, ignoreCase: false, inverted: false, }, &litMatcher{ - pos: position{line: 1452, col: 21, offset: 47465}, + pos: position{line: 1459, col: 21, offset: 47500}, val: ".", ignoreCase: false, want: "\".\"", @@ -37229,20 +28827,20 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1454, col: 13, offset: 47585}, + pos: position{line: 1461, col: 13, offset: 47620}, run: (*parser).callonListElementContinuationElement34, expr: &seqExpr{ - pos: position{line: 1454, col: 13, offset: 47585}, + pos: position{line: 1461, col: 13, offset: 47620}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 1454, col: 14, offset: 47586}, + pos: position{line: 1461, col: 14, offset: 47621}, val: "[A-Z]", ranges: []rune{'A', 'Z'}, ignoreCase: false, inverted: false, }, &litMatcher{ - pos: position{line: 1454, col: 21, offset: 47593}, + pos: position{line: 1461, col: 21, offset: 47628}, val: ".", ignoreCase: false, want: "\".\"", @@ -37251,15 +28849,15 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1456, col: 13, offset: 47713}, + pos: position{line: 1463, col: 13, offset: 47748}, run: (*parser).callonListElementContinuationElement38, expr: &seqExpr{ - pos: position{line: 1456, col: 13, offset: 47713}, + pos: position{line: 1463, col: 13, offset: 47748}, exprs: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 1456, col: 13, offset: 47713}, + pos: position{line: 1463, col: 13, offset: 47748}, expr: &charClassMatcher{ - pos: position{line: 1456, col: 14, offset: 47714}, + pos: position{line: 1463, col: 14, offset: 47749}, val: "[ivxdlcm]", chars: []rune{'i', 'v', 'x', 'd', 'l', 'c', 'm'}, ignoreCase: false, @@ -37267,7 +28865,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1456, col: 26, offset: 47726}, + pos: position{line: 1463, col: 26, offset: 47761}, val: ")", ignoreCase: false, want: "\")\"", @@ -37276,15 +28874,15 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1458, col: 13, offset: 47846}, + pos: position{line: 1465, col: 13, offset: 47881}, run: (*parser).callonListElementContinuationElement43, expr: &seqExpr{ - pos: position{line: 1458, col: 13, offset: 47846}, + pos: position{line: 1465, col: 13, offset: 47881}, exprs: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 1458, col: 13, offset: 47846}, + pos: position{line: 1465, col: 13, offset: 47881}, expr: &charClassMatcher{ - pos: position{line: 1458, col: 14, offset: 47847}, + pos: position{line: 1465, col: 14, offset: 47882}, val: "[IVXDLCM]", chars: []rune{'I', 'V', 'X', 'D', 'L', 'C', 'M'}, ignoreCase: false, @@ -37292,7 +28890,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1458, col: 26, offset: 47859}, + pos: position{line: 1465, col: 26, offset: 47894}, val: ")", ignoreCase: false, want: "\")\"", @@ -37304,12 +28902,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2932, col: 11, offset: 96082}, + pos: position{line: 2842, col: 11, offset: 93236}, run: (*parser).callonListElementContinuationElement48, expr: &oneOrMoreExpr{ - pos: position{line: 2932, col: 11, offset: 96082}, + pos: position{line: 2842, col: 11, offset: 93236}, expr: &charClassMatcher{ - pos: position{line: 2932, col: 12, offset: 96083}, + pos: position{line: 2842, col: 12, offset: 93237}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -37322,24 +28920,24 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1419, col: 5, offset: 46267}, + pos: position{line: 1426, col: 5, offset: 46302}, label: "content", expr: &actionExpr{ - pos: position{line: 1359, col: 5, offset: 44458}, + pos: position{line: 1366, col: 5, offset: 44498}, run: (*parser).callonListElementContinuationElement52, expr: &seqExpr{ - pos: position{line: 1359, col: 5, offset: 44458}, + pos: position{line: 1366, col: 5, offset: 44498}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1359, col: 5, offset: 44458}, + pos: position{line: 1366, col: 5, offset: 44498}, label: "rawline", expr: &actionExpr{ - pos: position{line: 1359, col: 14, offset: 44467}, + pos: position{line: 1366, col: 14, offset: 44507}, run: (*parser).callonListElementContinuationElement55, expr: &oneOrMoreExpr{ - pos: position{line: 1359, col: 14, offset: 44467}, + pos: position{line: 1366, col: 14, offset: 44507}, expr: &charClassMatcher{ - pos: position{line: 1359, col: 14, offset: 44467}, + pos: position{line: 1366, col: 14, offset: 44507}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -37349,28 +28947,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonListElementContinuationElement59, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -37379,9 +28977,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -37394,27 +28992,27 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1468, col: 5, offset: 48125}, + pos: position{line: 1475, col: 5, offset: 48160}, run: (*parser).callonListElementContinuationElement66, expr: &seqExpr{ - pos: position{line: 1468, col: 5, offset: 48125}, + pos: position{line: 1475, col: 5, offset: 48160}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1468, col: 5, offset: 48125}, + pos: position{line: 1475, col: 5, offset: 48160}, label: "prefix", expr: &actionExpr{ - pos: position{line: 1475, col: 5, offset: 48398}, + pos: position{line: 1482, col: 5, offset: 48433}, run: (*parser).callonListElementContinuationElement69, expr: &seqExpr{ - pos: position{line: 1475, col: 5, offset: 48398}, + pos: position{line: 1482, col: 5, offset: 48433}, exprs: []interface{}{ &zeroOrMoreExpr{ - pos: position{line: 1475, col: 5, offset: 48398}, + pos: position{line: 1482, col: 5, offset: 48433}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonListElementContinuationElement72, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -37423,27 +29021,27 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1475, col: 12, offset: 48405}, + pos: position{line: 1482, col: 12, offset: 48440}, label: "prefix", expr: &choiceExpr{ - pos: position{line: 1475, col: 20, offset: 48413}, + pos: position{line: 1482, col: 20, offset: 48448}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1477, col: 9, offset: 48470}, + pos: position{line: 1484, col: 9, offset: 48505}, run: (*parser).callonListElementContinuationElement76, expr: &seqExpr{ - pos: position{line: 1477, col: 9, offset: 48470}, + pos: position{line: 1484, col: 9, offset: 48505}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1477, col: 9, offset: 48470}, + pos: position{line: 1484, col: 9, offset: 48505}, label: "depth", expr: &actionExpr{ - pos: position{line: 1477, col: 16, offset: 48477}, + pos: position{line: 1484, col: 16, offset: 48512}, run: (*parser).callonListElementContinuationElement79, expr: &oneOrMoreExpr{ - pos: position{line: 1477, col: 16, offset: 48477}, + pos: position{line: 1484, col: 16, offset: 48512}, expr: &litMatcher{ - pos: position{line: 1477, col: 17, offset: 48478}, + pos: position{line: 1484, col: 17, offset: 48513}, val: "*", ignoreCase: false, want: "\"*\"", @@ -37452,20 +29050,20 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1481, col: 9, offset: 48578}, + pos: position{line: 1488, col: 9, offset: 48613}, run: (*parser).callonListElementContinuationElement82, }, }, }, }, &labeledExpr{ - pos: position{line: 1498, col: 14, offset: 49285}, + pos: position{line: 1505, col: 14, offset: 49320}, label: "depth", expr: &actionExpr{ - pos: position{line: 1498, col: 21, offset: 49292}, + pos: position{line: 1505, col: 21, offset: 49327}, run: (*parser).callonListElementContinuationElement84, expr: &litMatcher{ - pos: position{line: 1498, col: 22, offset: 49293}, + pos: position{line: 1505, col: 22, offset: 49328}, val: "-", ignoreCase: false, want: "\"-\"", @@ -37476,12 +29074,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2932, col: 11, offset: 96082}, + pos: position{line: 2842, col: 11, offset: 93236}, run: (*parser).callonListElementContinuationElement86, expr: &oneOrMoreExpr{ - pos: position{line: 2932, col: 11, offset: 96082}, + pos: position{line: 2842, col: 11, offset: 93236}, expr: &charClassMatcher{ - pos: position{line: 2932, col: 12, offset: 96083}, + pos: position{line: 2842, col: 12, offset: 93237}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -37494,56 +29092,56 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1469, col: 5, offset: 48166}, + pos: position{line: 1476, col: 5, offset: 48201}, label: "checkstyle", expr: &zeroOrOneExpr{ - pos: position{line: 1469, col: 16, offset: 48177}, + pos: position{line: 1476, col: 16, offset: 48212}, expr: &actionExpr{ - pos: position{line: 1505, col: 5, offset: 49454}, + pos: position{line: 1512, col: 5, offset: 49489}, run: (*parser).callonListElementContinuationElement91, expr: &seqExpr{ - pos: position{line: 1505, col: 5, offset: 49454}, + pos: position{line: 1512, col: 5, offset: 49489}, exprs: []interface{}{ &andExpr{ - pos: position{line: 1505, col: 5, offset: 49454}, + pos: position{line: 1512, col: 5, offset: 49489}, expr: &litMatcher{ - pos: position{line: 1505, col: 6, offset: 49455}, + pos: position{line: 1512, col: 6, offset: 49490}, val: "[", ignoreCase: false, want: "\"[\"", }, }, &labeledExpr{ - pos: position{line: 1505, col: 10, offset: 49459}, + pos: position{line: 1512, col: 10, offset: 49494}, label: "style", expr: &choiceExpr{ - pos: position{line: 1506, col: 7, offset: 49473}, + pos: position{line: 1513, col: 7, offset: 49508}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1506, col: 7, offset: 49473}, + pos: position{line: 1513, col: 7, offset: 49508}, run: (*parser).callonListElementContinuationElement97, expr: &litMatcher{ - pos: position{line: 1506, col: 7, offset: 49473}, + pos: position{line: 1513, col: 7, offset: 49508}, val: "[ ]", ignoreCase: false, want: "\"[ ]\"", }, }, &actionExpr{ - pos: position{line: 1507, col: 7, offset: 49518}, + pos: position{line: 1514, col: 7, offset: 49553}, run: (*parser).callonListElementContinuationElement99, expr: &litMatcher{ - pos: position{line: 1507, col: 7, offset: 49518}, + pos: position{line: 1514, col: 7, offset: 49553}, val: "[*]", ignoreCase: false, want: "\"[*]\"", }, }, &actionExpr{ - pos: position{line: 1508, col: 7, offset: 49561}, + pos: position{line: 1515, col: 7, offset: 49596}, run: (*parser).callonListElementContinuationElement101, expr: &litMatcher{ - pos: position{line: 1508, col: 7, offset: 49561}, + pos: position{line: 1515, col: 7, offset: 49596}, val: "[x]", ignoreCase: false, want: "\"[x]\"", @@ -37553,12 +29151,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2932, col: 11, offset: 96082}, + pos: position{line: 2842, col: 11, offset: 93236}, run: (*parser).callonListElementContinuationElement103, expr: &oneOrMoreExpr{ - pos: position{line: 2932, col: 11, offset: 96082}, + pos: position{line: 2842, col: 11, offset: 93236}, expr: &charClassMatcher{ - pos: position{line: 2932, col: 12, offset: 96083}, + pos: position{line: 2842, col: 12, offset: 93237}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -37572,24 +29170,24 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1470, col: 5, offset: 48216}, + pos: position{line: 1477, col: 5, offset: 48251}, label: "content", expr: &actionExpr{ - pos: position{line: 1359, col: 5, offset: 44458}, + pos: position{line: 1366, col: 5, offset: 44498}, run: (*parser).callonListElementContinuationElement107, expr: &seqExpr{ - pos: position{line: 1359, col: 5, offset: 44458}, + pos: position{line: 1366, col: 5, offset: 44498}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1359, col: 5, offset: 44458}, + pos: position{line: 1366, col: 5, offset: 44498}, label: "rawline", expr: &actionExpr{ - pos: position{line: 1359, col: 14, offset: 44467}, + pos: position{line: 1366, col: 14, offset: 44507}, run: (*parser).callonListElementContinuationElement110, expr: &oneOrMoreExpr{ - pos: position{line: 1359, col: 14, offset: 44467}, + pos: position{line: 1366, col: 14, offset: 44507}, expr: &charClassMatcher{ - pos: position{line: 1359, col: 14, offset: 44467}, + pos: position{line: 1366, col: 14, offset: 44507}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -37599,28 +29197,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonListElementContinuationElement114, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -37629,9 +29227,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -37644,36 +29242,36 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1575, col: 5, offset: 51410}, + pos: position{line: 1582, col: 5, offset: 51469}, run: (*parser).callonListElementContinuationElement121, expr: &seqExpr{ - pos: position{line: 1575, col: 5, offset: 51410}, + pos: position{line: 1582, col: 5, offset: 51469}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1575, col: 5, offset: 51410}, + pos: position{line: 1582, col: 5, offset: 51469}, label: "ref", expr: &actionExpr{ - pos: position{line: 1581, col: 5, offset: 51611}, + pos: position{line: 1588, col: 5, offset: 51670}, run: (*parser).callonListElementContinuationElement124, expr: &seqExpr{ - pos: position{line: 1581, col: 5, offset: 51611}, + pos: position{line: 1588, col: 5, offset: 51670}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1581, col: 5, offset: 51611}, + pos: position{line: 1588, col: 5, offset: 51670}, val: "<", ignoreCase: false, want: "\"<\"", }, &labeledExpr{ - pos: position{line: 1581, col: 9, offset: 51615}, + pos: position{line: 1588, col: 9, offset: 51674}, label: "ref", expr: &actionExpr{ - pos: position{line: 1581, col: 14, offset: 51620}, + pos: position{line: 1588, col: 14, offset: 51679}, run: (*parser).callonListElementContinuationElement128, expr: &oneOrMoreExpr{ - pos: position{line: 1581, col: 14, offset: 51620}, + pos: position{line: 1588, col: 14, offset: 51679}, expr: &charClassMatcher{ - pos: position{line: 1581, col: 14, offset: 51620}, + pos: position{line: 1588, col: 14, offset: 51679}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -37683,18 +29281,18 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1581, col: 62, offset: 51668}, + pos: position{line: 1588, col: 62, offset: 51727}, val: ">", ignoreCase: false, want: "\">\"", }, &actionExpr{ - pos: position{line: 2932, col: 11, offset: 96082}, + pos: position{line: 2842, col: 11, offset: 93236}, run: (*parser).callonListElementContinuationElement132, expr: &oneOrMoreExpr{ - pos: position{line: 2932, col: 11, offset: 96082}, + pos: position{line: 2842, col: 11, offset: 93236}, expr: &charClassMatcher{ - pos: position{line: 2932, col: 12, offset: 96083}, + pos: position{line: 2842, col: 12, offset: 93237}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -37707,24 +29305,24 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1576, col: 5, offset: 51446}, + pos: position{line: 1583, col: 5, offset: 51505}, label: "description", expr: &actionExpr{ - pos: position{line: 1586, col: 5, offset: 51794}, + pos: position{line: 1593, col: 5, offset: 51853}, run: (*parser).callonListElementContinuationElement136, expr: &seqExpr{ - pos: position{line: 1586, col: 5, offset: 51794}, + pos: position{line: 1593, col: 5, offset: 51853}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1586, col: 5, offset: 51794}, + pos: position{line: 1593, col: 5, offset: 51853}, label: "rawline", expr: &actionExpr{ - pos: position{line: 1586, col: 14, offset: 51803}, + pos: position{line: 1593, col: 14, offset: 51862}, run: (*parser).callonListElementContinuationElement139, expr: &oneOrMoreExpr{ - pos: position{line: 1586, col: 14, offset: 51803}, + pos: position{line: 1593, col: 14, offset: 51862}, expr: &charClassMatcher{ - pos: position{line: 1586, col: 14, offset: 51803}, + pos: position{line: 1593, col: 14, offset: 51862}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -37734,28 +29332,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonListElementContinuationElement143, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -37764,9 +29362,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -37779,40 +29377,40 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1517, col: 5, offset: 49754}, + pos: position{line: 1524, col: 5, offset: 49789}, run: (*parser).callonListElementContinuationElement150, expr: &seqExpr{ - pos: position{line: 1517, col: 5, offset: 49754}, + pos: position{line: 1524, col: 5, offset: 49789}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1517, col: 5, offset: 49754}, + pos: position{line: 1524, col: 5, offset: 49789}, label: "term", expr: &actionExpr{ - pos: position{line: 1525, col: 5, offset: 50013}, + pos: position{line: 1532, col: 5, offset: 50048}, run: (*parser).callonListElementContinuationElement153, expr: &oneOrMoreExpr{ - pos: position{line: 1525, col: 5, offset: 50013}, + pos: position{line: 1532, col: 5, offset: 50048}, expr: &seqExpr{ - pos: position{line: 1525, col: 6, offset: 50014}, + pos: position{line: 1532, col: 6, offset: 50049}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 1525, col: 6, offset: 50014}, + pos: position{line: 1532, col: 6, offset: 50049}, expr: &actionExpr{ - pos: position{line: 1530, col: 5, offset: 50145}, + pos: position{line: 1537, col: 5, offset: 50199}, run: (*parser).callonListElementContinuationElement157, expr: &seqExpr{ - pos: position{line: 1530, col: 5, offset: 50145}, + pos: position{line: 1537, col: 5, offset: 50199}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1530, col: 5, offset: 50145}, + pos: position{line: 1537, col: 5, offset: 50199}, label: "separator", expr: &actionExpr{ - pos: position{line: 1530, col: 16, offset: 50156}, + pos: position{line: 1537, col: 16, offset: 50210}, run: (*parser).callonListElementContinuationElement160, expr: &oneOrMoreExpr{ - pos: position{line: 1530, col: 16, offset: 50156}, + pos: position{line: 1537, col: 16, offset: 50210}, expr: &litMatcher{ - pos: position{line: 1530, col: 17, offset: 50157}, + pos: position{line: 1537, col: 17, offset: 50211}, val: ":", ignoreCase: false, want: "\":\"", @@ -37821,7 +29419,7 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1533, col: 5, offset: 50214}, + pos: position{line: 1540, col: 5, offset: 50268}, run: (*parser).callonListElementContinuationElement163, }, }, @@ -37829,30 +29427,30 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 1525, col: 35, offset: 50043}, + pos: position{line: 1532, col: 35, offset: 50078}, expr: &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonListElementContinuationElement166, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -37861,16 +29459,16 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, }, }, &anyMatcher{ - line: 1525, col: 40, offset: 50048, + line: 1532, col: 40, offset: 50083, }, }, }, @@ -37878,24 +29476,24 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1518, col: 5, offset: 49789}, + pos: position{line: 1525, col: 5, offset: 49824}, label: "separator", expr: &actionExpr{ - pos: position{line: 1530, col: 5, offset: 50145}, + pos: position{line: 1537, col: 5, offset: 50199}, run: (*parser).callonListElementContinuationElement175, expr: &seqExpr{ - pos: position{line: 1530, col: 5, offset: 50145}, + pos: position{line: 1537, col: 5, offset: 50199}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1530, col: 5, offset: 50145}, + pos: position{line: 1537, col: 5, offset: 50199}, label: "separator", expr: &actionExpr{ - pos: position{line: 1530, col: 16, offset: 50156}, + pos: position{line: 1537, col: 16, offset: 50210}, run: (*parser).callonListElementContinuationElement178, expr: &oneOrMoreExpr{ - pos: position{line: 1530, col: 16, offset: 50156}, + pos: position{line: 1537, col: 16, offset: 50210}, expr: &litMatcher{ - pos: position{line: 1530, col: 17, offset: 50157}, + pos: position{line: 1537, col: 17, offset: 50211}, val: ":", ignoreCase: false, want: "\":\"", @@ -37904,7 +29502,7 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1533, col: 5, offset: 50214}, + pos: position{line: 1540, col: 5, offset: 50268}, run: (*parser).callonListElementContinuationElement181, }, }, @@ -37912,24 +29510,24 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1519, col: 5, offset: 49834}, + pos: position{line: 1526, col: 5, offset: 49869}, label: "description", expr: &choiceExpr{ - pos: position{line: 1541, col: 5, offset: 50464}, + pos: position{line: 1548, col: 5, offset: 50518}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1543, col: 9, offset: 50529}, + pos: position{line: 1550, col: 9, offset: 50583}, run: (*parser).callonListElementContinuationElement184, expr: &seqExpr{ - pos: position{line: 1543, col: 9, offset: 50529}, + pos: position{line: 1550, col: 9, offset: 50583}, exprs: []interface{}{ &zeroOrMoreExpr{ - pos: position{line: 1543, col: 9, offset: 50529}, + pos: position{line: 1550, col: 9, offset: 50583}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonListElementContinuationElement187, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -37938,28 +29536,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonListElementContinuationElement190, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -37968,37 +29566,37 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, }, &zeroOrMoreExpr{ - pos: position{line: 1544, col: 9, offset: 50549}, + pos: position{line: 1551, col: 9, offset: 50603}, expr: &actionExpr{ - pos: position{line: 682, col: 14, offset: 22022}, + pos: position{line: 689, col: 14, offset: 22046}, run: (*parser).callonListElementContinuationElement198, expr: &seqExpr{ - pos: position{line: 682, col: 14, offset: 22022}, + pos: position{line: 689, col: 14, offset: 22046}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 682, col: 14, offset: 22022}, + pos: position{line: 689, col: 14, offset: 22046}, expr: ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, &zeroOrMoreExpr{ - pos: position{line: 682, col: 19, offset: 22027}, + pos: position{line: 689, col: 19, offset: 22051}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonListElementContinuationElement204, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -38007,28 +29605,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonListElementContinuationElement207, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -38037,9 +29635,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -38049,40 +29647,40 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1545, col: 9, offset: 50569}, + pos: position{line: 1552, col: 9, offset: 50623}, label: "content", expr: &zeroOrOneExpr{ - pos: position{line: 1545, col: 17, offset: 50577}, + pos: position{line: 1552, col: 17, offset: 50631}, expr: &actionExpr{ - pos: position{line: 1344, col: 5, offset: 44032}, + pos: position{line: 1351, col: 5, offset: 44072}, run: (*parser).callonListElementContinuationElement216, expr: &seqExpr{ - pos: position{line: 1344, col: 5, offset: 44032}, + pos: position{line: 1351, col: 5, offset: 44072}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 1344, col: 5, offset: 44032}, + pos: position{line: 1351, col: 5, offset: 44072}, expr: &actionExpr{ - pos: position{line: 682, col: 14, offset: 22022}, + pos: position{line: 689, col: 14, offset: 22046}, run: (*parser).callonListElementContinuationElement219, expr: &seqExpr{ - pos: position{line: 682, col: 14, offset: 22022}, + pos: position{line: 689, col: 14, offset: 22046}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 682, col: 14, offset: 22022}, + pos: position{line: 689, col: 14, offset: 22046}, expr: ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, &zeroOrMoreExpr{ - pos: position{line: 682, col: 19, offset: 22027}, + pos: position{line: 689, col: 19, offset: 22051}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonListElementContinuationElement225, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -38091,28 +29689,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonListElementContinuationElement228, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -38121,9 +29719,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -38133,23 +29731,23 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 1345, col: 5, offset: 44047}, + pos: position{line: 1352, col: 5, offset: 44087}, expr: &seqExpr{ - pos: position{line: 1377, col: 34, offset: 44957}, + pos: position{line: 1384, col: 34, offset: 44997}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1377, col: 34, offset: 44957}, + pos: position{line: 1384, col: 34, offset: 44997}, val: "+", ignoreCase: false, want: "\"+\"", }, &zeroOrMoreExpr{ - pos: position{line: 1377, col: 38, offset: 44961}, + pos: position{line: 1384, col: 38, offset: 45001}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonListElementContinuationElement239, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -38158,25 +29756,25 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonListElementContinuationElement241, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -38188,20 +29786,20 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 1346, col: 5, offset: 44082}, + pos: position{line: 1353, col: 5, offset: 44122}, expr: &actionExpr{ - pos: position{line: 1425, col: 5, offset: 46436}, + pos: position{line: 1432, col: 5, offset: 46471}, run: (*parser).callonListElementContinuationElement247, expr: &seqExpr{ - pos: position{line: 1425, col: 5, offset: 46436}, + pos: position{line: 1432, col: 5, offset: 46471}, exprs: []interface{}{ &zeroOrMoreExpr{ - pos: position{line: 1425, col: 5, offset: 46436}, + pos: position{line: 1432, col: 5, offset: 46471}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonListElementContinuationElement250, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -38210,27 +29808,27 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1425, col: 12, offset: 46443}, + pos: position{line: 1432, col: 12, offset: 46478}, label: "prefix", expr: &choiceExpr{ - pos: position{line: 1427, col: 9, offset: 46506}, + pos: position{line: 1434, col: 9, offset: 46541}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1427, col: 9, offset: 46506}, + pos: position{line: 1434, col: 9, offset: 46541}, run: (*parser).callonListElementContinuationElement254, expr: &seqExpr{ - pos: position{line: 1427, col: 9, offset: 46506}, + pos: position{line: 1434, col: 9, offset: 46541}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1427, col: 9, offset: 46506}, + pos: position{line: 1434, col: 9, offset: 46541}, label: "depth", expr: &actionExpr{ - pos: position{line: 1427, col: 16, offset: 46513}, + pos: position{line: 1434, col: 16, offset: 46548}, run: (*parser).callonListElementContinuationElement257, expr: &oneOrMoreExpr{ - pos: position{line: 1427, col: 16, offset: 46513}, + pos: position{line: 1434, col: 16, offset: 46548}, expr: &litMatcher{ - pos: position{line: 1427, col: 17, offset: 46514}, + pos: position{line: 1434, col: 17, offset: 46549}, val: ".", ignoreCase: false, want: "\".\"", @@ -38239,22 +29837,22 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1431, col: 9, offset: 46614}, + pos: position{line: 1438, col: 9, offset: 46649}, run: (*parser).callonListElementContinuationElement260, }, }, }, }, &actionExpr{ - pos: position{line: 1450, col: 11, offset: 47331}, + pos: position{line: 1457, col: 11, offset: 47366}, run: (*parser).callonListElementContinuationElement261, expr: &seqExpr{ - pos: position{line: 1450, col: 11, offset: 47331}, + pos: position{line: 1457, col: 11, offset: 47366}, exprs: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 1450, col: 11, offset: 47331}, + pos: position{line: 1457, col: 11, offset: 47366}, expr: &charClassMatcher{ - pos: position{line: 1450, col: 12, offset: 47332}, + pos: position{line: 1457, col: 12, offset: 47367}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -38262,7 +29860,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1450, col: 20, offset: 47340}, + pos: position{line: 1457, col: 20, offset: 47375}, val: ".", ignoreCase: false, want: "\".\"", @@ -38271,20 +29869,20 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1452, col: 13, offset: 47457}, + pos: position{line: 1459, col: 13, offset: 47492}, run: (*parser).callonListElementContinuationElement266, expr: &seqExpr{ - pos: position{line: 1452, col: 13, offset: 47457}, + pos: position{line: 1459, col: 13, offset: 47492}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 1452, col: 14, offset: 47458}, + pos: position{line: 1459, col: 14, offset: 47493}, val: "[a-z]", ranges: []rune{'a', 'z'}, ignoreCase: false, inverted: false, }, &litMatcher{ - pos: position{line: 1452, col: 21, offset: 47465}, + pos: position{line: 1459, col: 21, offset: 47500}, val: ".", ignoreCase: false, want: "\".\"", @@ -38293,20 +29891,20 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1454, col: 13, offset: 47585}, + pos: position{line: 1461, col: 13, offset: 47620}, run: (*parser).callonListElementContinuationElement270, expr: &seqExpr{ - pos: position{line: 1454, col: 13, offset: 47585}, + pos: position{line: 1461, col: 13, offset: 47620}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 1454, col: 14, offset: 47586}, + pos: position{line: 1461, col: 14, offset: 47621}, val: "[A-Z]", ranges: []rune{'A', 'Z'}, ignoreCase: false, inverted: false, }, &litMatcher{ - pos: position{line: 1454, col: 21, offset: 47593}, + pos: position{line: 1461, col: 21, offset: 47628}, val: ".", ignoreCase: false, want: "\".\"", @@ -38315,15 +29913,15 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1456, col: 13, offset: 47713}, + pos: position{line: 1463, col: 13, offset: 47748}, run: (*parser).callonListElementContinuationElement274, expr: &seqExpr{ - pos: position{line: 1456, col: 13, offset: 47713}, + pos: position{line: 1463, col: 13, offset: 47748}, exprs: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 1456, col: 13, offset: 47713}, + pos: position{line: 1463, col: 13, offset: 47748}, expr: &charClassMatcher{ - pos: position{line: 1456, col: 14, offset: 47714}, + pos: position{line: 1463, col: 14, offset: 47749}, val: "[ivxdlcm]", chars: []rune{'i', 'v', 'x', 'd', 'l', 'c', 'm'}, ignoreCase: false, @@ -38331,7 +29929,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1456, col: 26, offset: 47726}, + pos: position{line: 1463, col: 26, offset: 47761}, val: ")", ignoreCase: false, want: "\")\"", @@ -38340,15 +29938,15 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1458, col: 13, offset: 47846}, + pos: position{line: 1465, col: 13, offset: 47881}, run: (*parser).callonListElementContinuationElement279, expr: &seqExpr{ - pos: position{line: 1458, col: 13, offset: 47846}, + pos: position{line: 1465, col: 13, offset: 47881}, exprs: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 1458, col: 13, offset: 47846}, + pos: position{line: 1465, col: 13, offset: 47881}, expr: &charClassMatcher{ - pos: position{line: 1458, col: 14, offset: 47847}, + pos: position{line: 1465, col: 14, offset: 47882}, val: "[IVXDLCM]", chars: []rune{'I', 'V', 'X', 'D', 'L', 'C', 'M'}, ignoreCase: false, @@ -38356,7 +29954,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1458, col: 26, offset: 47859}, + pos: position{line: 1465, col: 26, offset: 47894}, val: ")", ignoreCase: false, want: "\")\"", @@ -38368,12 +29966,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2932, col: 11, offset: 96082}, + pos: position{line: 2842, col: 11, offset: 93236}, run: (*parser).callonListElementContinuationElement284, expr: &oneOrMoreExpr{ - pos: position{line: 2932, col: 11, offset: 96082}, + pos: position{line: 2842, col: 11, offset: 93236}, expr: &charClassMatcher{ - pos: position{line: 2932, col: 12, offset: 96083}, + pos: position{line: 2842, col: 12, offset: 93237}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -38386,20 +29984,20 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 1347, col: 5, offset: 44112}, + pos: position{line: 1354, col: 5, offset: 44152}, expr: &actionExpr{ - pos: position{line: 1475, col: 5, offset: 48398}, + pos: position{line: 1482, col: 5, offset: 48433}, run: (*parser).callonListElementContinuationElement288, expr: &seqExpr{ - pos: position{line: 1475, col: 5, offset: 48398}, + pos: position{line: 1482, col: 5, offset: 48433}, exprs: []interface{}{ &zeroOrMoreExpr{ - pos: position{line: 1475, col: 5, offset: 48398}, + pos: position{line: 1482, col: 5, offset: 48433}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonListElementContinuationElement291, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -38408,27 +30006,27 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1475, col: 12, offset: 48405}, + pos: position{line: 1482, col: 12, offset: 48440}, label: "prefix", expr: &choiceExpr{ - pos: position{line: 1475, col: 20, offset: 48413}, + pos: position{line: 1482, col: 20, offset: 48448}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1477, col: 9, offset: 48470}, + pos: position{line: 1484, col: 9, offset: 48505}, run: (*parser).callonListElementContinuationElement295, expr: &seqExpr{ - pos: position{line: 1477, col: 9, offset: 48470}, + pos: position{line: 1484, col: 9, offset: 48505}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1477, col: 9, offset: 48470}, + pos: position{line: 1484, col: 9, offset: 48505}, label: "depth", expr: &actionExpr{ - pos: position{line: 1477, col: 16, offset: 48477}, + pos: position{line: 1484, col: 16, offset: 48512}, run: (*parser).callonListElementContinuationElement298, expr: &oneOrMoreExpr{ - pos: position{line: 1477, col: 16, offset: 48477}, + pos: position{line: 1484, col: 16, offset: 48512}, expr: &litMatcher{ - pos: position{line: 1477, col: 17, offset: 48478}, + pos: position{line: 1484, col: 17, offset: 48513}, val: "*", ignoreCase: false, want: "\"*\"", @@ -38437,20 +30035,20 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1481, col: 9, offset: 48578}, + pos: position{line: 1488, col: 9, offset: 48613}, run: (*parser).callonListElementContinuationElement301, }, }, }, }, &labeledExpr{ - pos: position{line: 1498, col: 14, offset: 49285}, + pos: position{line: 1505, col: 14, offset: 49320}, label: "depth", expr: &actionExpr{ - pos: position{line: 1498, col: 21, offset: 49292}, + pos: position{line: 1505, col: 21, offset: 49327}, run: (*parser).callonListElementContinuationElement303, expr: &litMatcher{ - pos: position{line: 1498, col: 22, offset: 49293}, + pos: position{line: 1505, col: 22, offset: 49328}, val: "-", ignoreCase: false, want: "\"-\"", @@ -38461,12 +30059,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2932, col: 11, offset: 96082}, + pos: position{line: 2842, col: 11, offset: 93236}, run: (*parser).callonListElementContinuationElement305, expr: &oneOrMoreExpr{ - pos: position{line: 2932, col: 11, offset: 96082}, + pos: position{line: 2842, col: 11, offset: 93236}, expr: &charClassMatcher{ - pos: position{line: 2932, col: 12, offset: 96083}, + pos: position{line: 2842, col: 12, offset: 93237}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -38479,29 +30077,29 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 1348, col: 5, offset: 44144}, + pos: position{line: 1355, col: 5, offset: 44184}, expr: &actionExpr{ - pos: position{line: 1581, col: 5, offset: 51611}, + pos: position{line: 1588, col: 5, offset: 51670}, run: (*parser).callonListElementContinuationElement309, expr: &seqExpr{ - pos: position{line: 1581, col: 5, offset: 51611}, + pos: position{line: 1588, col: 5, offset: 51670}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1581, col: 5, offset: 51611}, + pos: position{line: 1588, col: 5, offset: 51670}, val: "<", ignoreCase: false, want: "\"<\"", }, &labeledExpr{ - pos: position{line: 1581, col: 9, offset: 51615}, + pos: position{line: 1588, col: 9, offset: 51674}, label: "ref", expr: &actionExpr{ - pos: position{line: 1581, col: 14, offset: 51620}, + pos: position{line: 1588, col: 14, offset: 51679}, run: (*parser).callonListElementContinuationElement313, expr: &oneOrMoreExpr{ - pos: position{line: 1581, col: 14, offset: 51620}, + pos: position{line: 1588, col: 14, offset: 51679}, expr: &charClassMatcher{ - pos: position{line: 1581, col: 14, offset: 51620}, + pos: position{line: 1588, col: 14, offset: 51679}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -38511,18 +30109,18 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1581, col: 62, offset: 51668}, + pos: position{line: 1588, col: 62, offset: 51727}, val: ">", ignoreCase: false, want: "\">\"", }, &actionExpr{ - pos: position{line: 2932, col: 11, offset: 96082}, + pos: position{line: 2842, col: 11, offset: 93236}, run: (*parser).callonListElementContinuationElement317, expr: &oneOrMoreExpr{ - pos: position{line: 2932, col: 11, offset: 96082}, + pos: position{line: 2842, col: 11, offset: 93236}, expr: &charClassMatcher{ - pos: position{line: 2932, col: 12, offset: 96083}, + pos: position{line: 2842, col: 12, offset: 93237}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -38535,36 +30133,36 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 1349, col: 5, offset: 44174}, + pos: position{line: 1356, col: 5, offset: 44214}, expr: &seqExpr{ - pos: position{line: 1349, col: 7, offset: 44176}, + pos: position{line: 1356, col: 7, offset: 44216}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 1525, col: 5, offset: 50013}, + pos: position{line: 1532, col: 5, offset: 50048}, run: (*parser).callonListElementContinuationElement322, expr: &oneOrMoreExpr{ - pos: position{line: 1525, col: 5, offset: 50013}, + pos: position{line: 1532, col: 5, offset: 50048}, expr: &seqExpr{ - pos: position{line: 1525, col: 6, offset: 50014}, + pos: position{line: 1532, col: 6, offset: 50049}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 1525, col: 6, offset: 50014}, + pos: position{line: 1532, col: 6, offset: 50049}, expr: &actionExpr{ - pos: position{line: 1530, col: 5, offset: 50145}, + pos: position{line: 1537, col: 5, offset: 50199}, run: (*parser).callonListElementContinuationElement326, expr: &seqExpr{ - pos: position{line: 1530, col: 5, offset: 50145}, + pos: position{line: 1537, col: 5, offset: 50199}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1530, col: 5, offset: 50145}, + pos: position{line: 1537, col: 5, offset: 50199}, label: "separator", expr: &actionExpr{ - pos: position{line: 1530, col: 16, offset: 50156}, + pos: position{line: 1537, col: 16, offset: 50210}, run: (*parser).callonListElementContinuationElement329, expr: &oneOrMoreExpr{ - pos: position{line: 1530, col: 16, offset: 50156}, + pos: position{line: 1537, col: 16, offset: 50210}, expr: &litMatcher{ - pos: position{line: 1530, col: 17, offset: 50157}, + pos: position{line: 1537, col: 17, offset: 50211}, val: ":", ignoreCase: false, want: "\":\"", @@ -38573,7 +30171,7 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1533, col: 5, offset: 50214}, + pos: position{line: 1540, col: 5, offset: 50268}, run: (*parser).callonListElementContinuationElement332, }, }, @@ -38581,30 +30179,30 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 1525, col: 35, offset: 50043}, + pos: position{line: 1532, col: 35, offset: 50078}, expr: &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonListElementContinuationElement335, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -38613,37 +30211,37 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, }, }, &anyMatcher{ - line: 1525, col: 40, offset: 50048, + line: 1532, col: 40, offset: 50083, }, }, }, }, }, &actionExpr{ - pos: position{line: 1530, col: 5, offset: 50145}, + pos: position{line: 1537, col: 5, offset: 50199}, run: (*parser).callonListElementContinuationElement343, expr: &seqExpr{ - pos: position{line: 1530, col: 5, offset: 50145}, + pos: position{line: 1537, col: 5, offset: 50199}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1530, col: 5, offset: 50145}, + pos: position{line: 1537, col: 5, offset: 50199}, label: "separator", expr: &actionExpr{ - pos: position{line: 1530, col: 16, offset: 50156}, + pos: position{line: 1537, col: 16, offset: 50210}, run: (*parser).callonListElementContinuationElement346, expr: &oneOrMoreExpr{ - pos: position{line: 1530, col: 16, offset: 50156}, + pos: position{line: 1537, col: 16, offset: 50210}, expr: &litMatcher{ - pos: position{line: 1530, col: 17, offset: 50157}, + pos: position{line: 1537, col: 17, offset: 50211}, val: ":", ignoreCase: false, want: "\":\"", @@ -38652,7 +30250,7 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1533, col: 5, offset: 50214}, + pos: position{line: 1540, col: 5, offset: 50268}, run: (*parser).callonListElementContinuationElement349, }, }, @@ -38662,17 +30260,17 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 1350, col: 5, offset: 44232}, + pos: position{line: 1357, col: 5, offset: 44272}, expr: &actionExpr{ - pos: position{line: 727, col: 5, offset: 23531}, + pos: position{line: 734, col: 5, offset: 23557}, run: (*parser).callonListElementContinuationElement351, expr: &seqExpr{ - pos: position{line: 727, col: 5, offset: 23531}, + pos: position{line: 734, col: 5, offset: 23557}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 727, col: 5, offset: 23531}, + pos: position{line: 734, col: 5, offset: 23557}, expr: &charClassMatcher{ - pos: position{line: 2852, col: 13, offset: 93681}, + pos: position{line: 2753, col: 13, offset: 90440}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -38681,30 +30279,30 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 728, col: 5, offset: 23561}, + pos: position{line: 735, col: 5, offset: 23587}, label: "delimiter", expr: &choiceExpr{ - pos: position{line: 729, col: 9, offset: 23581}, + pos: position{line: 736, col: 9, offset: 23607}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 741, col: 26, offset: 23902}, + pos: position{line: 748, col: 26, offset: 23928}, run: (*parser).callonListElementContinuationElement357, expr: &seqExpr{ - pos: position{line: 741, col: 26, offset: 23902}, + pos: position{line: 748, col: 26, offset: 23928}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 741, col: 26, offset: 23902}, + pos: position{line: 748, col: 26, offset: 23928}, val: "////", ignoreCase: false, want: "\"////\"", }, &zeroOrMoreExpr{ - pos: position{line: 741, col: 33, offset: 23909}, + pos: position{line: 748, col: 33, offset: 23935}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonListElementContinuationElement361, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -38713,28 +30311,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonListElementContinuationElement364, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -38743,9 +30341,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -38754,24 +30352,24 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 745, col: 26, offset: 24016}, + pos: position{line: 752, col: 26, offset: 24042}, run: (*parser).callonListElementContinuationElement371, expr: &seqExpr{ - pos: position{line: 745, col: 26, offset: 24016}, + pos: position{line: 752, col: 26, offset: 24042}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 745, col: 26, offset: 24016}, + pos: position{line: 752, col: 26, offset: 24042}, val: "====", ignoreCase: false, want: "\"====\"", }, &zeroOrMoreExpr{ - pos: position{line: 745, col: 33, offset: 24023}, + pos: position{line: 752, col: 33, offset: 24049}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonListElementContinuationElement375, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -38780,28 +30378,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonListElementContinuationElement378, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -38810,9 +30408,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -38821,24 +30419,24 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 749, col: 25, offset: 24129}, + pos: position{line: 756, col: 25, offset: 24155}, run: (*parser).callonListElementContinuationElement385, expr: &seqExpr{ - pos: position{line: 749, col: 25, offset: 24129}, + pos: position{line: 756, col: 25, offset: 24155}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 749, col: 25, offset: 24129}, + pos: position{line: 756, col: 25, offset: 24155}, val: "```", ignoreCase: false, want: "\"```\"", }, &zeroOrMoreExpr{ - pos: position{line: 749, col: 31, offset: 24135}, + pos: position{line: 756, col: 31, offset: 24161}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonListElementContinuationElement389, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -38847,28 +30445,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonListElementContinuationElement392, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -38877,9 +30475,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -38888,24 +30486,24 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 753, col: 26, offset: 24241}, + pos: position{line: 760, col: 26, offset: 24267}, run: (*parser).callonListElementContinuationElement399, expr: &seqExpr{ - pos: position{line: 753, col: 26, offset: 24241}, + pos: position{line: 760, col: 26, offset: 24267}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 753, col: 26, offset: 24241}, + pos: position{line: 760, col: 26, offset: 24267}, val: "----", ignoreCase: false, want: "\"----\"", }, &zeroOrMoreExpr{ - pos: position{line: 753, col: 33, offset: 24248}, + pos: position{line: 760, col: 33, offset: 24274}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonListElementContinuationElement403, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -38914,28 +30512,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonListElementContinuationElement406, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -38944,9 +30542,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -38955,24 +30553,24 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 757, col: 26, offset: 24355}, + pos: position{line: 764, col: 26, offset: 24381}, run: (*parser).callonListElementContinuationElement413, expr: &seqExpr{ - pos: position{line: 757, col: 26, offset: 24355}, + pos: position{line: 764, col: 26, offset: 24381}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 757, col: 26, offset: 24355}, + pos: position{line: 764, col: 26, offset: 24381}, val: "....", ignoreCase: false, want: "\"....\"", }, &zeroOrMoreExpr{ - pos: position{line: 757, col: 33, offset: 24362}, + pos: position{line: 764, col: 33, offset: 24388}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonListElementContinuationElement417, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -38981,28 +30579,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonListElementContinuationElement420, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -39011,9 +30609,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -39022,24 +30620,24 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 761, col: 30, offset: 24473}, + pos: position{line: 768, col: 30, offset: 24499}, run: (*parser).callonListElementContinuationElement427, expr: &seqExpr{ - pos: position{line: 761, col: 30, offset: 24473}, + pos: position{line: 768, col: 30, offset: 24499}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 761, col: 30, offset: 24473}, + pos: position{line: 768, col: 30, offset: 24499}, val: "++++", ignoreCase: false, want: "\"++++\"", }, &zeroOrMoreExpr{ - pos: position{line: 761, col: 37, offset: 24480}, + pos: position{line: 768, col: 37, offset: 24506}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonListElementContinuationElement431, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -39048,28 +30646,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonListElementContinuationElement434, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -39078,9 +30676,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -39089,24 +30687,24 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 765, col: 24, offset: 24589}, + pos: position{line: 772, col: 24, offset: 24615}, run: (*parser).callonListElementContinuationElement441, expr: &seqExpr{ - pos: position{line: 765, col: 24, offset: 24589}, + pos: position{line: 772, col: 24, offset: 24615}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 765, col: 24, offset: 24589}, + pos: position{line: 772, col: 24, offset: 24615}, val: "____", ignoreCase: false, want: "\"____\"", }, &zeroOrMoreExpr{ - pos: position{line: 765, col: 31, offset: 24596}, + pos: position{line: 772, col: 31, offset: 24622}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonListElementContinuationElement445, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -39115,28 +30713,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonListElementContinuationElement448, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -39145,9 +30743,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -39156,24 +30754,24 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 769, col: 26, offset: 24701}, + pos: position{line: 776, col: 26, offset: 24727}, run: (*parser).callonListElementContinuationElement455, expr: &seqExpr{ - pos: position{line: 769, col: 26, offset: 24701}, + pos: position{line: 776, col: 26, offset: 24727}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 769, col: 26, offset: 24701}, + pos: position{line: 776, col: 26, offset: 24727}, val: "****", ignoreCase: false, want: "\"****\"", }, &zeroOrMoreExpr{ - pos: position{line: 769, col: 33, offset: 24708}, + pos: position{line: 776, col: 33, offset: 24734}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonListElementContinuationElement459, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -39182,28 +30780,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonListElementContinuationElement462, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -39212,9 +30810,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -39230,15 +30828,15 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1351, col: 5, offset: 44252}, + pos: position{line: 1358, col: 5, offset: 44292}, label: "content", expr: &actionExpr{ - pos: position{line: 1351, col: 14, offset: 44261}, + pos: position{line: 1358, col: 14, offset: 44301}, run: (*parser).callonListElementContinuationElement470, expr: &oneOrMoreExpr{ - pos: position{line: 1351, col: 14, offset: 44261}, + pos: position{line: 1358, col: 14, offset: 44301}, expr: &charClassMatcher{ - pos: position{line: 1351, col: 14, offset: 44261}, + pos: position{line: 1358, col: 14, offset: 44301}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -39248,28 +30846,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonListElementContinuationElement474, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -39278,9 +30876,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -39294,18 +30892,18 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1553, col: 9, offset: 50812}, + pos: position{line: 1560, col: 9, offset: 50866}, run: (*parser).callonListElementContinuationElement481, expr: &seqExpr{ - pos: position{line: 1553, col: 9, offset: 50812}, + pos: position{line: 1560, col: 9, offset: 50866}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 2932, col: 11, offset: 96082}, + pos: position{line: 2842, col: 11, offset: 93236}, run: (*parser).callonListElementContinuationElement483, expr: &oneOrMoreExpr{ - pos: position{line: 2932, col: 11, offset: 96082}, + pos: position{line: 2842, col: 11, offset: 93236}, expr: &charClassMatcher{ - pos: position{line: 2932, col: 12, offset: 96083}, + pos: position{line: 2842, col: 12, offset: 93237}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -39314,15 +30912,15 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1554, col: 9, offset: 50864}, + pos: position{line: 1561, col: 9, offset: 50918}, label: "content", expr: &actionExpr{ - pos: position{line: 1554, col: 18, offset: 50873}, + pos: position{line: 1561, col: 18, offset: 50927}, run: (*parser).callonListElementContinuationElement487, expr: &oneOrMoreExpr{ - pos: position{line: 1554, col: 18, offset: 50873}, + pos: position{line: 1561, col: 18, offset: 50927}, expr: &charClassMatcher{ - pos: position{line: 1554, col: 18, offset: 50873}, + pos: position{line: 1561, col: 18, offset: 50927}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -39332,28 +30930,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonListElementContinuationElement491, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -39362,9 +30960,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -39382,44 +30980,44 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1382, col: 5, offset: 45098}, + pos: position{line: 1389, col: 5, offset: 45138}, label: "attributes", expr: &zeroOrOneExpr{ - pos: position{line: 1382, col: 16, offset: 45109}, + pos: position{line: 1389, col: 16, offset: 45149}, expr: &ruleRefExpr{ - pos: position{line: 1382, col: 17, offset: 45110}, + pos: position{line: 1389, col: 17, offset: 45150}, name: "BlockAttributes", }, }, }, &labeledExpr{ - pos: position{line: 1383, col: 5, offset: 45132}, + pos: position{line: 1390, col: 5, offset: 45172}, label: "element", expr: &choiceExpr{ - pos: position{line: 1384, col: 9, offset: 45150}, + pos: position{line: 1391, col: 9, offset: 45190}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 682, col: 14, offset: 22022}, + pos: position{line: 689, col: 14, offset: 22046}, run: (*parser).callonListElementContinuationElement503, expr: &seqExpr{ - pos: position{line: 682, col: 14, offset: 22022}, + pos: position{line: 689, col: 14, offset: 22046}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 682, col: 14, offset: 22022}, + pos: position{line: 689, col: 14, offset: 22046}, expr: ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, &zeroOrMoreExpr{ - pos: position{line: 682, col: 19, offset: 22027}, + pos: position{line: 689, col: 19, offset: 22051}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonListElementContinuationElement509, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -39428,28 +31026,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonListElementContinuationElement512, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -39458,9 +31056,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -39469,32 +31067,32 @@ var g = &grammar{ }, }, &ruleRefExpr{ - pos: position{line: 1385, col: 11, offset: 45170}, + pos: position{line: 1392, col: 11, offset: 45210}, name: "AttributeDeclaration", }, &actionExpr{ - pos: position{line: 376, col: 19, offset: 11435}, + pos: position{line: 376, col: 19, offset: 11424}, run: (*parser).callonListElementContinuationElement520, expr: &seqExpr{ - pos: position{line: 376, col: 19, offset: 11435}, + pos: position{line: 376, col: 19, offset: 11424}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 376, col: 19, offset: 11435}, + pos: position{line: 376, col: 19, offset: 11424}, val: ":!", ignoreCase: false, want: "\":!\"", }, &labeledExpr{ - pos: position{line: 376, col: 24, offset: 11440}, + pos: position{line: 376, col: 24, offset: 11429}, label: "name", expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, run: (*parser).callonListElementContinuationElement524, expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -39503,9 +31101,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, + pos: position{line: 336, col: 28, offset: 10335}, expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, + pos: position{line: 336, col: 29, offset: 10336}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -39519,18 +31117,18 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 376, col: 45, offset: 11461}, + pos: position{line: 376, col: 45, offset: 11450}, val: ":", ignoreCase: false, want: "\":\"", }, &zeroOrMoreExpr{ - pos: position{line: 376, col: 49, offset: 11465}, + pos: position{line: 376, col: 49, offset: 11454}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonListElementContinuationElement531, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -39539,28 +31137,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonListElementContinuationElement534, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -39569,9 +31167,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -39580,28 +31178,28 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 378, col: 5, offset: 11548}, + pos: position{line: 378, col: 5, offset: 11537}, run: (*parser).callonListElementContinuationElement541, expr: &seqExpr{ - pos: position{line: 378, col: 5, offset: 11548}, + pos: position{line: 378, col: 5, offset: 11537}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 378, col: 5, offset: 11548}, + pos: position{line: 378, col: 5, offset: 11537}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 378, col: 9, offset: 11552}, + pos: position{line: 378, col: 9, offset: 11541}, label: "name", expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, run: (*parser).callonListElementContinuationElement545, expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -39610,9 +31208,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, + pos: position{line: 336, col: 28, offset: 10335}, expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, + pos: position{line: 336, col: 29, offset: 10336}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -39626,18 +31224,18 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 378, col: 30, offset: 11573}, + pos: position{line: 378, col: 30, offset: 11562}, val: "!:", ignoreCase: false, want: "\"!:\"", }, &zeroOrMoreExpr{ - pos: position{line: 378, col: 35, offset: 11578}, + pos: position{line: 378, col: 35, offset: 11567}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonListElementContinuationElement552, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -39646,28 +31244,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonListElementContinuationElement555, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -39676,9 +31274,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -39687,30 +31285,30 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 785, col: 5, offset: 25125}, + pos: position{line: 792, col: 5, offset: 25151}, run: (*parser).callonListElementContinuationElement562, expr: &seqExpr{ - pos: position{line: 785, col: 5, offset: 25125}, + pos: position{line: 792, col: 5, offset: 25151}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 741, col: 26, offset: 23902}, + pos: position{line: 748, col: 26, offset: 23928}, run: (*parser).callonListElementContinuationElement564, expr: &seqExpr{ - pos: position{line: 741, col: 26, offset: 23902}, + pos: position{line: 748, col: 26, offset: 23928}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 741, col: 26, offset: 23902}, + pos: position{line: 748, col: 26, offset: 23928}, val: "////", ignoreCase: false, want: "\"////\"", }, &zeroOrMoreExpr{ - pos: position{line: 741, col: 33, offset: 23909}, + pos: position{line: 748, col: 33, offset: 23935}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonListElementContinuationElement568, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -39719,28 +31317,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonListElementContinuationElement571, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -39749,9 +31347,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -39760,40 +31358,40 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 786, col: 5, offset: 25156}, + pos: position{line: 793, col: 5, offset: 25182}, label: "content", expr: &zeroOrMoreExpr{ - pos: position{line: 797, col: 5, offset: 25480}, + pos: position{line: 804, col: 5, offset: 25506}, expr: &actionExpr{ - pos: position{line: 797, col: 6, offset: 25481}, + pos: position{line: 804, col: 6, offset: 25507}, run: (*parser).callonListElementContinuationElement580, expr: &seqExpr{ - pos: position{line: 797, col: 6, offset: 25481}, + pos: position{line: 804, col: 6, offset: 25507}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 797, col: 6, offset: 25481}, + pos: position{line: 804, col: 6, offset: 25507}, expr: &choiceExpr{ - pos: position{line: 794, col: 29, offset: 25423}, + pos: position{line: 801, col: 29, offset: 25449}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 741, col: 26, offset: 23902}, + pos: position{line: 748, col: 26, offset: 23928}, run: (*parser).callonListElementContinuationElement584, expr: &seqExpr{ - pos: position{line: 741, col: 26, offset: 23902}, + pos: position{line: 748, col: 26, offset: 23928}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 741, col: 26, offset: 23902}, + pos: position{line: 748, col: 26, offset: 23928}, val: "////", ignoreCase: false, want: "\"////\"", }, &zeroOrMoreExpr{ - pos: position{line: 741, col: 33, offset: 23909}, + pos: position{line: 748, col: 33, offset: 23935}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonListElementContinuationElement588, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -39802,28 +31400,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonListElementContinuationElement591, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -39832,9 +31430,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -39843,42 +31441,42 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, }, }, &labeledExpr{ - pos: position{line: 798, col: 5, offset: 25511}, + pos: position{line: 805, col: 5, offset: 25537}, label: "line", expr: &actionExpr{ - pos: position{line: 774, col: 5, offset: 24820}, + pos: position{line: 781, col: 5, offset: 24846}, run: (*parser).callonListElementContinuationElement601, expr: &seqExpr{ - pos: position{line: 774, col: 5, offset: 24820}, + pos: position{line: 781, col: 5, offset: 24846}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 774, col: 5, offset: 24820}, + pos: position{line: 781, col: 5, offset: 24846}, expr: ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, &labeledExpr{ - pos: position{line: 775, col: 5, offset: 24893}, + pos: position{line: 782, col: 5, offset: 24919}, label: "content", expr: &actionExpr{ - pos: position{line: 775, col: 14, offset: 24902}, + pos: position{line: 782, col: 14, offset: 24928}, run: (*parser).callonListElementContinuationElement607, expr: &zeroOrMoreExpr{ - pos: position{line: 775, col: 14, offset: 24902}, + pos: position{line: 782, col: 14, offset: 24928}, expr: &charClassMatcher{ - pos: position{line: 775, col: 14, offset: 24902}, + pos: position{line: 782, col: 14, offset: 24928}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -39888,28 +31486,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonListElementContinuationElement611, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -39918,9 +31516,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -39935,29 +31533,29 @@ var g = &grammar{ }, }, &zeroOrOneExpr{ - pos: position{line: 787, col: 5, offset: 25190}, + pos: position{line: 794, col: 5, offset: 25216}, expr: &choiceExpr{ - pos: position{line: 794, col: 29, offset: 25423}, + pos: position{line: 801, col: 29, offset: 25449}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 741, col: 26, offset: 23902}, + pos: position{line: 748, col: 26, offset: 23928}, run: (*parser).callonListElementContinuationElement620, expr: &seqExpr{ - pos: position{line: 741, col: 26, offset: 23902}, + pos: position{line: 748, col: 26, offset: 23928}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 741, col: 26, offset: 23902}, + pos: position{line: 748, col: 26, offset: 23928}, val: "////", ignoreCase: false, want: "\"////\"", }, &zeroOrMoreExpr{ - pos: position{line: 741, col: 33, offset: 23909}, + pos: position{line: 748, col: 33, offset: 23935}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonListElementContinuationElement624, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -39966,28 +31564,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonListElementContinuationElement627, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -39996,9 +31594,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -40007,9 +31605,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -40019,30 +31617,30 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 806, col: 5, offset: 25664}, + pos: position{line: 813, col: 5, offset: 25690}, run: (*parser).callonListElementContinuationElement636, expr: &seqExpr{ - pos: position{line: 806, col: 5, offset: 25664}, + pos: position{line: 813, col: 5, offset: 25690}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 745, col: 26, offset: 24016}, + pos: position{line: 752, col: 26, offset: 24042}, run: (*parser).callonListElementContinuationElement638, expr: &seqExpr{ - pos: position{line: 745, col: 26, offset: 24016}, + pos: position{line: 752, col: 26, offset: 24042}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 745, col: 26, offset: 24016}, + pos: position{line: 752, col: 26, offset: 24042}, val: "====", ignoreCase: false, want: "\"====\"", }, &zeroOrMoreExpr{ - pos: position{line: 745, col: 33, offset: 24023}, + pos: position{line: 752, col: 33, offset: 24049}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonListElementContinuationElement642, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -40051,28 +31649,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonListElementContinuationElement645, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -40081,9 +31679,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -40092,40 +31690,40 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 807, col: 5, offset: 25695}, + pos: position{line: 814, col: 5, offset: 25721}, label: "content", expr: &zeroOrMoreExpr{ - pos: position{line: 818, col: 4, offset: 26018}, + pos: position{line: 825, col: 4, offset: 26044}, expr: &actionExpr{ - pos: position{line: 818, col: 5, offset: 26019}, + pos: position{line: 825, col: 5, offset: 26045}, run: (*parser).callonListElementContinuationElement654, expr: &seqExpr{ - pos: position{line: 818, col: 5, offset: 26019}, + pos: position{line: 825, col: 5, offset: 26045}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 818, col: 5, offset: 26019}, + pos: position{line: 825, col: 5, offset: 26045}, expr: &choiceExpr{ - pos: position{line: 815, col: 29, offset: 25962}, + pos: position{line: 822, col: 29, offset: 25988}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 745, col: 26, offset: 24016}, + pos: position{line: 752, col: 26, offset: 24042}, run: (*parser).callonListElementContinuationElement658, expr: &seqExpr{ - pos: position{line: 745, col: 26, offset: 24016}, + pos: position{line: 752, col: 26, offset: 24042}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 745, col: 26, offset: 24016}, + pos: position{line: 752, col: 26, offset: 24042}, val: "====", ignoreCase: false, want: "\"====\"", }, &zeroOrMoreExpr{ - pos: position{line: 745, col: 33, offset: 24023}, + pos: position{line: 752, col: 33, offset: 24049}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonListElementContinuationElement662, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -40134,28 +31732,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonListElementContinuationElement665, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -40164,9 +31762,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -40175,42 +31773,42 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, }, }, &labeledExpr{ - pos: position{line: 819, col: 5, offset: 26049}, + pos: position{line: 826, col: 5, offset: 26075}, label: "line", expr: &actionExpr{ - pos: position{line: 774, col: 5, offset: 24820}, + pos: position{line: 781, col: 5, offset: 24846}, run: (*parser).callonListElementContinuationElement675, expr: &seqExpr{ - pos: position{line: 774, col: 5, offset: 24820}, + pos: position{line: 781, col: 5, offset: 24846}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 774, col: 5, offset: 24820}, + pos: position{line: 781, col: 5, offset: 24846}, expr: ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, &labeledExpr{ - pos: position{line: 775, col: 5, offset: 24893}, + pos: position{line: 782, col: 5, offset: 24919}, label: "content", expr: &actionExpr{ - pos: position{line: 775, col: 14, offset: 24902}, + pos: position{line: 782, col: 14, offset: 24928}, run: (*parser).callonListElementContinuationElement681, expr: &zeroOrMoreExpr{ - pos: position{line: 775, col: 14, offset: 24902}, + pos: position{line: 782, col: 14, offset: 24928}, expr: &charClassMatcher{ - pos: position{line: 775, col: 14, offset: 24902}, + pos: position{line: 782, col: 14, offset: 24928}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -40220,28 +31818,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonListElementContinuationElement685, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -40250,9 +31848,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -40267,29 +31865,29 @@ var g = &grammar{ }, }, &zeroOrOneExpr{ - pos: position{line: 808, col: 5, offset: 25729}, + pos: position{line: 815, col: 5, offset: 25755}, expr: &choiceExpr{ - pos: position{line: 815, col: 29, offset: 25962}, + pos: position{line: 822, col: 29, offset: 25988}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 745, col: 26, offset: 24016}, + pos: position{line: 752, col: 26, offset: 24042}, run: (*parser).callonListElementContinuationElement694, expr: &seqExpr{ - pos: position{line: 745, col: 26, offset: 24016}, + pos: position{line: 752, col: 26, offset: 24042}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 745, col: 26, offset: 24016}, + pos: position{line: 752, col: 26, offset: 24042}, val: "====", ignoreCase: false, want: "\"====\"", }, &zeroOrMoreExpr{ - pos: position{line: 745, col: 33, offset: 24023}, + pos: position{line: 752, col: 33, offset: 24049}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonListElementContinuationElement698, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -40298,28 +31896,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonListElementContinuationElement701, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -40328,9 +31926,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -40339,9 +31937,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -40351,30 +31949,30 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 827, col: 5, offset: 26202}, + pos: position{line: 834, col: 5, offset: 26228}, run: (*parser).callonListElementContinuationElement710, expr: &seqExpr{ - pos: position{line: 827, col: 5, offset: 26202}, + pos: position{line: 834, col: 5, offset: 26228}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 749, col: 25, offset: 24129}, + pos: position{line: 756, col: 25, offset: 24155}, run: (*parser).callonListElementContinuationElement712, expr: &seqExpr{ - pos: position{line: 749, col: 25, offset: 24129}, + pos: position{line: 756, col: 25, offset: 24155}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 749, col: 25, offset: 24129}, + pos: position{line: 756, col: 25, offset: 24155}, val: "```", ignoreCase: false, want: "\"```\"", }, &zeroOrMoreExpr{ - pos: position{line: 749, col: 31, offset: 24135}, + pos: position{line: 756, col: 31, offset: 24161}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonListElementContinuationElement716, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -40383,28 +31981,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonListElementContinuationElement719, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -40413,9 +32011,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -40424,40 +32022,40 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 828, col: 5, offset: 26232}, + pos: position{line: 835, col: 5, offset: 26258}, label: "content", expr: &zeroOrMoreExpr{ - pos: position{line: 839, col: 5, offset: 26553}, + pos: position{line: 846, col: 5, offset: 26579}, expr: &actionExpr{ - pos: position{line: 839, col: 6, offset: 26554}, + pos: position{line: 846, col: 6, offset: 26580}, run: (*parser).callonListElementContinuationElement728, expr: &seqExpr{ - pos: position{line: 839, col: 6, offset: 26554}, + pos: position{line: 846, col: 6, offset: 26580}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 839, col: 6, offset: 26554}, + pos: position{line: 846, col: 6, offset: 26580}, expr: &choiceExpr{ - pos: position{line: 836, col: 28, offset: 26498}, + pos: position{line: 843, col: 28, offset: 26524}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 749, col: 25, offset: 24129}, + pos: position{line: 756, col: 25, offset: 24155}, run: (*parser).callonListElementContinuationElement732, expr: &seqExpr{ - pos: position{line: 749, col: 25, offset: 24129}, + pos: position{line: 756, col: 25, offset: 24155}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 749, col: 25, offset: 24129}, + pos: position{line: 756, col: 25, offset: 24155}, val: "```", ignoreCase: false, want: "\"```\"", }, &zeroOrMoreExpr{ - pos: position{line: 749, col: 31, offset: 24135}, + pos: position{line: 756, col: 31, offset: 24161}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonListElementContinuationElement736, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -40466,28 +32064,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonListElementContinuationElement739, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -40496,9 +32094,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -40507,42 +32105,42 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, }, }, &labeledExpr{ - pos: position{line: 840, col: 5, offset: 26583}, + pos: position{line: 847, col: 5, offset: 26609}, label: "line", expr: &actionExpr{ - pos: position{line: 774, col: 5, offset: 24820}, + pos: position{line: 781, col: 5, offset: 24846}, run: (*parser).callonListElementContinuationElement749, expr: &seqExpr{ - pos: position{line: 774, col: 5, offset: 24820}, + pos: position{line: 781, col: 5, offset: 24846}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 774, col: 5, offset: 24820}, + pos: position{line: 781, col: 5, offset: 24846}, expr: ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, &labeledExpr{ - pos: position{line: 775, col: 5, offset: 24893}, + pos: position{line: 782, col: 5, offset: 24919}, label: "content", expr: &actionExpr{ - pos: position{line: 775, col: 14, offset: 24902}, + pos: position{line: 782, col: 14, offset: 24928}, run: (*parser).callonListElementContinuationElement755, expr: &zeroOrMoreExpr{ - pos: position{line: 775, col: 14, offset: 24902}, + pos: position{line: 782, col: 14, offset: 24928}, expr: &charClassMatcher{ - pos: position{line: 775, col: 14, offset: 24902}, + pos: position{line: 782, col: 14, offset: 24928}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -40552,28 +32150,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonListElementContinuationElement759, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -40582,9 +32180,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -40599,29 +32197,29 @@ var g = &grammar{ }, }, &zeroOrOneExpr{ - pos: position{line: 829, col: 5, offset: 26265}, + pos: position{line: 836, col: 5, offset: 26291}, expr: &choiceExpr{ - pos: position{line: 836, col: 28, offset: 26498}, + pos: position{line: 843, col: 28, offset: 26524}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 749, col: 25, offset: 24129}, + pos: position{line: 756, col: 25, offset: 24155}, run: (*parser).callonListElementContinuationElement768, expr: &seqExpr{ - pos: position{line: 749, col: 25, offset: 24129}, + pos: position{line: 756, col: 25, offset: 24155}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 749, col: 25, offset: 24129}, + pos: position{line: 756, col: 25, offset: 24155}, val: "```", ignoreCase: false, want: "\"```\"", }, &zeroOrMoreExpr{ - pos: position{line: 749, col: 31, offset: 24135}, + pos: position{line: 756, col: 31, offset: 24161}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonListElementContinuationElement772, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -40630,28 +32228,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonListElementContinuationElement775, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -40660,9 +32258,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -40671,9 +32269,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -40683,30 +32281,30 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 848, col: 5, offset: 26738}, + pos: position{line: 855, col: 5, offset: 26764}, run: (*parser).callonListElementContinuationElement784, expr: &seqExpr{ - pos: position{line: 848, col: 5, offset: 26738}, + pos: position{line: 855, col: 5, offset: 26764}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 753, col: 26, offset: 24241}, + pos: position{line: 760, col: 26, offset: 24267}, run: (*parser).callonListElementContinuationElement786, expr: &seqExpr{ - pos: position{line: 753, col: 26, offset: 24241}, + pos: position{line: 760, col: 26, offset: 24267}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 753, col: 26, offset: 24241}, + pos: position{line: 760, col: 26, offset: 24267}, val: "----", ignoreCase: false, want: "\"----\"", }, &zeroOrMoreExpr{ - pos: position{line: 753, col: 33, offset: 24248}, + pos: position{line: 760, col: 33, offset: 24274}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonListElementContinuationElement790, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -40715,28 +32313,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonListElementContinuationElement793, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -40745,9 +32343,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -40756,40 +32354,40 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 849, col: 5, offset: 26769}, + pos: position{line: 856, col: 5, offset: 26795}, label: "content", expr: &zeroOrMoreExpr{ - pos: position{line: 860, col: 5, offset: 27098}, + pos: position{line: 867, col: 5, offset: 27124}, expr: &actionExpr{ - pos: position{line: 860, col: 6, offset: 27099}, + pos: position{line: 867, col: 6, offset: 27125}, run: (*parser).callonListElementContinuationElement802, expr: &seqExpr{ - pos: position{line: 860, col: 6, offset: 27099}, + pos: position{line: 867, col: 6, offset: 27125}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 860, col: 6, offset: 27099}, + pos: position{line: 867, col: 6, offset: 27125}, expr: &choiceExpr{ - pos: position{line: 857, col: 29, offset: 27041}, + pos: position{line: 864, col: 29, offset: 27067}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 753, col: 26, offset: 24241}, + pos: position{line: 760, col: 26, offset: 24267}, run: (*parser).callonListElementContinuationElement806, expr: &seqExpr{ - pos: position{line: 753, col: 26, offset: 24241}, + pos: position{line: 760, col: 26, offset: 24267}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 753, col: 26, offset: 24241}, + pos: position{line: 760, col: 26, offset: 24267}, val: "----", ignoreCase: false, want: "\"----\"", }, &zeroOrMoreExpr{ - pos: position{line: 753, col: 33, offset: 24248}, + pos: position{line: 760, col: 33, offset: 24274}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonListElementContinuationElement810, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -40798,28 +32396,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonListElementContinuationElement813, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -40828,9 +32426,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -40839,42 +32437,42 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, }, }, &labeledExpr{ - pos: position{line: 861, col: 5, offset: 27129}, + pos: position{line: 868, col: 5, offset: 27155}, label: "line", expr: &actionExpr{ - pos: position{line: 774, col: 5, offset: 24820}, + pos: position{line: 781, col: 5, offset: 24846}, run: (*parser).callonListElementContinuationElement823, expr: &seqExpr{ - pos: position{line: 774, col: 5, offset: 24820}, + pos: position{line: 781, col: 5, offset: 24846}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 774, col: 5, offset: 24820}, + pos: position{line: 781, col: 5, offset: 24846}, expr: ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, &labeledExpr{ - pos: position{line: 775, col: 5, offset: 24893}, + pos: position{line: 782, col: 5, offset: 24919}, label: "content", expr: &actionExpr{ - pos: position{line: 775, col: 14, offset: 24902}, + pos: position{line: 782, col: 14, offset: 24928}, run: (*parser).callonListElementContinuationElement829, expr: &zeroOrMoreExpr{ - pos: position{line: 775, col: 14, offset: 24902}, + pos: position{line: 782, col: 14, offset: 24928}, expr: &charClassMatcher{ - pos: position{line: 775, col: 14, offset: 24902}, + pos: position{line: 782, col: 14, offset: 24928}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -40884,28 +32482,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonListElementContinuationElement833, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -40914,9 +32512,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -40931,29 +32529,29 @@ var g = &grammar{ }, }, &zeroOrOneExpr{ - pos: position{line: 850, col: 5, offset: 26803}, + pos: position{line: 857, col: 5, offset: 26829}, expr: &choiceExpr{ - pos: position{line: 857, col: 29, offset: 27041}, + pos: position{line: 864, col: 29, offset: 27067}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 753, col: 26, offset: 24241}, + pos: position{line: 760, col: 26, offset: 24267}, run: (*parser).callonListElementContinuationElement842, expr: &seqExpr{ - pos: position{line: 753, col: 26, offset: 24241}, + pos: position{line: 760, col: 26, offset: 24267}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 753, col: 26, offset: 24241}, + pos: position{line: 760, col: 26, offset: 24267}, val: "----", ignoreCase: false, want: "\"----\"", }, &zeroOrMoreExpr{ - pos: position{line: 753, col: 33, offset: 24248}, + pos: position{line: 760, col: 33, offset: 24274}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonListElementContinuationElement846, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -40962,28 +32560,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonListElementContinuationElement849, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -40992,9 +32590,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -41003,9 +32601,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -41015,30 +32613,30 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 869, col: 5, offset: 27284}, + pos: position{line: 876, col: 5, offset: 27310}, run: (*parser).callonListElementContinuationElement858, expr: &seqExpr{ - pos: position{line: 869, col: 5, offset: 27284}, + pos: position{line: 876, col: 5, offset: 27310}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 757, col: 26, offset: 24355}, + pos: position{line: 764, col: 26, offset: 24381}, run: (*parser).callonListElementContinuationElement860, expr: &seqExpr{ - pos: position{line: 757, col: 26, offset: 24355}, + pos: position{line: 764, col: 26, offset: 24381}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 757, col: 26, offset: 24355}, + pos: position{line: 764, col: 26, offset: 24381}, val: "....", ignoreCase: false, want: "\"....\"", }, &zeroOrMoreExpr{ - pos: position{line: 757, col: 33, offset: 24362}, + pos: position{line: 764, col: 33, offset: 24388}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonListElementContinuationElement864, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -41047,28 +32645,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonListElementContinuationElement867, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -41077,9 +32675,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -41088,40 +32686,40 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 870, col: 5, offset: 27315}, + pos: position{line: 877, col: 5, offset: 27341}, label: "content", expr: &zeroOrMoreExpr{ - pos: position{line: 881, col: 5, offset: 27639}, + pos: position{line: 888, col: 5, offset: 27665}, expr: &actionExpr{ - pos: position{line: 881, col: 6, offset: 27640}, + pos: position{line: 888, col: 6, offset: 27666}, run: (*parser).callonListElementContinuationElement876, expr: &seqExpr{ - pos: position{line: 881, col: 6, offset: 27640}, + pos: position{line: 888, col: 6, offset: 27666}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 881, col: 6, offset: 27640}, + pos: position{line: 888, col: 6, offset: 27666}, expr: &choiceExpr{ - pos: position{line: 878, col: 29, offset: 27582}, + pos: position{line: 885, col: 29, offset: 27608}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 757, col: 26, offset: 24355}, + pos: position{line: 764, col: 26, offset: 24381}, run: (*parser).callonListElementContinuationElement880, expr: &seqExpr{ - pos: position{line: 757, col: 26, offset: 24355}, + pos: position{line: 764, col: 26, offset: 24381}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 757, col: 26, offset: 24355}, + pos: position{line: 764, col: 26, offset: 24381}, val: "....", ignoreCase: false, want: "\"....\"", }, &zeroOrMoreExpr{ - pos: position{line: 757, col: 33, offset: 24362}, + pos: position{line: 764, col: 33, offset: 24388}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonListElementContinuationElement884, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -41130,28 +32728,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonListElementContinuationElement887, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -41160,9 +32758,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -41171,42 +32769,42 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, }, }, &labeledExpr{ - pos: position{line: 882, col: 5, offset: 27670}, + pos: position{line: 889, col: 5, offset: 27696}, label: "line", expr: &actionExpr{ - pos: position{line: 774, col: 5, offset: 24820}, + pos: position{line: 781, col: 5, offset: 24846}, run: (*parser).callonListElementContinuationElement897, expr: &seqExpr{ - pos: position{line: 774, col: 5, offset: 24820}, + pos: position{line: 781, col: 5, offset: 24846}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 774, col: 5, offset: 24820}, + pos: position{line: 781, col: 5, offset: 24846}, expr: ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, &labeledExpr{ - pos: position{line: 775, col: 5, offset: 24893}, + pos: position{line: 782, col: 5, offset: 24919}, label: "content", expr: &actionExpr{ - pos: position{line: 775, col: 14, offset: 24902}, + pos: position{line: 782, col: 14, offset: 24928}, run: (*parser).callonListElementContinuationElement903, expr: &zeroOrMoreExpr{ - pos: position{line: 775, col: 14, offset: 24902}, + pos: position{line: 782, col: 14, offset: 24928}, expr: &charClassMatcher{ - pos: position{line: 775, col: 14, offset: 24902}, + pos: position{line: 782, col: 14, offset: 24928}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -41216,28 +32814,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonListElementContinuationElement907, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -41246,9 +32844,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -41263,29 +32861,29 @@ var g = &grammar{ }, }, &zeroOrOneExpr{ - pos: position{line: 871, col: 5, offset: 27349}, + pos: position{line: 878, col: 5, offset: 27375}, expr: &choiceExpr{ - pos: position{line: 878, col: 29, offset: 27582}, + pos: position{line: 885, col: 29, offset: 27608}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 757, col: 26, offset: 24355}, + pos: position{line: 764, col: 26, offset: 24381}, run: (*parser).callonListElementContinuationElement916, expr: &seqExpr{ - pos: position{line: 757, col: 26, offset: 24355}, + pos: position{line: 764, col: 26, offset: 24381}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 757, col: 26, offset: 24355}, + pos: position{line: 764, col: 26, offset: 24381}, val: "....", ignoreCase: false, want: "\"....\"", }, &zeroOrMoreExpr{ - pos: position{line: 757, col: 33, offset: 24362}, + pos: position{line: 764, col: 33, offset: 24388}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonListElementContinuationElement920, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -41294,28 +32892,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonListElementContinuationElement923, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -41324,9 +32922,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -41335,9 +32933,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -41347,44 +32945,44 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 890, col: 5, offset: 27839}, + pos: position{line: 897, col: 5, offset: 27865}, run: (*parser).callonListElementContinuationElement932, expr: &seqExpr{ - pos: position{line: 890, col: 5, offset: 27839}, + pos: position{line: 897, col: 5, offset: 27865}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 890, col: 5, offset: 27839}, + pos: position{line: 897, col: 5, offset: 27865}, label: "firstLine", expr: &actionExpr{ - pos: position{line: 897, col: 5, offset: 28098}, + pos: position{line: 904, col: 5, offset: 28124}, run: (*parser).callonListElementContinuationElement935, expr: &seqExpr{ - pos: position{line: 897, col: 5, offset: 28098}, + pos: position{line: 904, col: 5, offset: 28124}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 897, col: 5, offset: 28098}, + pos: position{line: 904, col: 5, offset: 28124}, expr: &actionExpr{ - pos: position{line: 682, col: 14, offset: 22022}, + pos: position{line: 689, col: 14, offset: 22046}, run: (*parser).callonListElementContinuationElement938, expr: &seqExpr{ - pos: position{line: 682, col: 14, offset: 22022}, + pos: position{line: 689, col: 14, offset: 22046}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 682, col: 14, offset: 22022}, + pos: position{line: 689, col: 14, offset: 22046}, expr: ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, &zeroOrMoreExpr{ - pos: position{line: 682, col: 19, offset: 22027}, + pos: position{line: 689, col: 19, offset: 22051}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonListElementContinuationElement944, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -41393,28 +32991,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonListElementContinuationElement947, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -41423,9 +33021,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -41435,21 +33033,21 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 898, col: 5, offset: 28113}, + pos: position{line: 905, col: 5, offset: 28139}, val: "> ", ignoreCase: false, want: "\"> \"", }, &labeledExpr{ - pos: position{line: 899, col: 5, offset: 28123}, + pos: position{line: 906, col: 5, offset: 28149}, label: "content", expr: &actionExpr{ - pos: position{line: 899, col: 14, offset: 28132}, + pos: position{line: 906, col: 14, offset: 28158}, run: (*parser).callonListElementContinuationElement956, expr: &oneOrMoreExpr{ - pos: position{line: 899, col: 15, offset: 28133}, + pos: position{line: 906, col: 15, offset: 28159}, expr: &charClassMatcher{ - pos: position{line: 899, col: 15, offset: 28133}, + pos: position{line: 906, col: 15, offset: 28159}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -41459,28 +33057,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonListElementContinuationElement960, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -41489,9 +33087,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -41501,43 +33099,43 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 891, col: 5, offset: 27876}, + pos: position{line: 898, col: 5, offset: 27902}, label: "otherLines", expr: &zeroOrMoreExpr{ - pos: position{line: 891, col: 16, offset: 27887}, + pos: position{line: 898, col: 16, offset: 27913}, expr: &choiceExpr{ - pos: position{line: 891, col: 17, offset: 27888}, + pos: position{line: 898, col: 17, offset: 27914}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 897, col: 5, offset: 28098}, + pos: position{line: 904, col: 5, offset: 28124}, run: (*parser).callonListElementContinuationElement970, expr: &seqExpr{ - pos: position{line: 897, col: 5, offset: 28098}, + pos: position{line: 904, col: 5, offset: 28124}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 897, col: 5, offset: 28098}, + pos: position{line: 904, col: 5, offset: 28124}, expr: &actionExpr{ - pos: position{line: 682, col: 14, offset: 22022}, + pos: position{line: 689, col: 14, offset: 22046}, run: (*parser).callonListElementContinuationElement973, expr: &seqExpr{ - pos: position{line: 682, col: 14, offset: 22022}, + pos: position{line: 689, col: 14, offset: 22046}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 682, col: 14, offset: 22022}, + pos: position{line: 689, col: 14, offset: 22046}, expr: ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, &zeroOrMoreExpr{ - pos: position{line: 682, col: 19, offset: 22027}, + pos: position{line: 689, col: 19, offset: 22051}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonListElementContinuationElement979, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -41546,28 +33144,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonListElementContinuationElement982, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -41576,9 +33174,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -41588,21 +33186,21 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 898, col: 5, offset: 28113}, + pos: position{line: 905, col: 5, offset: 28139}, val: "> ", ignoreCase: false, want: "\"> \"", }, &labeledExpr{ - pos: position{line: 899, col: 5, offset: 28123}, + pos: position{line: 906, col: 5, offset: 28149}, label: "content", expr: &actionExpr{ - pos: position{line: 899, col: 14, offset: 28132}, + pos: position{line: 906, col: 14, offset: 28158}, run: (*parser).callonListElementContinuationElement991, expr: &oneOrMoreExpr{ - pos: position{line: 899, col: 15, offset: 28133}, + pos: position{line: 906, col: 15, offset: 28159}, expr: &charClassMatcher{ - pos: position{line: 899, col: 15, offset: 28133}, + pos: position{line: 906, col: 15, offset: 28159}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -41612,28 +33210,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonListElementContinuationElement995, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -41642,9 +33240,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -41653,21 +33251,21 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1649, col: 5, offset: 53936}, + pos: position{line: 1656, col: 5, offset: 53995}, run: (*parser).callonListElementContinuationElement1002, expr: &seqExpr{ - pos: position{line: 1649, col: 5, offset: 53936}, + pos: position{line: 1656, col: 5, offset: 53995}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1649, col: 5, offset: 53936}, + pos: position{line: 1656, col: 5, offset: 53995}, label: "content", expr: &actionExpr{ - pos: position{line: 1649, col: 14, offset: 53945}, + pos: position{line: 1656, col: 14, offset: 54004}, run: (*parser).callonListElementContinuationElement1005, expr: &oneOrMoreExpr{ - pos: position{line: 1649, col: 14, offset: 53945}, + pos: position{line: 1656, col: 14, offset: 54004}, expr: &charClassMatcher{ - pos: position{line: 1649, col: 14, offset: 53945}, + pos: position{line: 1656, col: 14, offset: 54004}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -41677,32 +33275,32 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1652, col: 5, offset: 54002}, + pos: position{line: 1659, col: 5, offset: 54111}, run: (*parser).callonListElementContinuationElement1008, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonListElementContinuationElement1010, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -41711,9 +33309,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -41729,30 +33327,30 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 916, col: 5, offset: 28491}, + pos: position{line: 923, col: 5, offset: 28517}, run: (*parser).callonListElementContinuationElement1017, expr: &seqExpr{ - pos: position{line: 916, col: 5, offset: 28491}, + pos: position{line: 923, col: 5, offset: 28517}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 761, col: 30, offset: 24473}, + pos: position{line: 768, col: 30, offset: 24499}, run: (*parser).callonListElementContinuationElement1019, expr: &seqExpr{ - pos: position{line: 761, col: 30, offset: 24473}, + pos: position{line: 768, col: 30, offset: 24499}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 761, col: 30, offset: 24473}, + pos: position{line: 768, col: 30, offset: 24499}, val: "++++", ignoreCase: false, want: "\"++++\"", }, &zeroOrMoreExpr{ - pos: position{line: 761, col: 37, offset: 24480}, + pos: position{line: 768, col: 37, offset: 24506}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonListElementContinuationElement1023, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -41761,28 +33359,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonListElementContinuationElement1026, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -41791,9 +33389,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -41802,40 +33400,40 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 917, col: 5, offset: 28526}, + pos: position{line: 924, col: 5, offset: 28552}, label: "content", expr: &zeroOrMoreExpr{ - pos: position{line: 928, col: 5, offset: 28882}, + pos: position{line: 935, col: 5, offset: 28908}, expr: &actionExpr{ - pos: position{line: 928, col: 6, offset: 28883}, + pos: position{line: 935, col: 6, offset: 28909}, run: (*parser).callonListElementContinuationElement1035, expr: &seqExpr{ - pos: position{line: 928, col: 6, offset: 28883}, + pos: position{line: 935, col: 6, offset: 28909}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 928, col: 6, offset: 28883}, + pos: position{line: 935, col: 6, offset: 28909}, expr: &choiceExpr{ - pos: position{line: 925, col: 33, offset: 28817}, + pos: position{line: 932, col: 33, offset: 28843}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 761, col: 30, offset: 24473}, + pos: position{line: 768, col: 30, offset: 24499}, run: (*parser).callonListElementContinuationElement1039, expr: &seqExpr{ - pos: position{line: 761, col: 30, offset: 24473}, + pos: position{line: 768, col: 30, offset: 24499}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 761, col: 30, offset: 24473}, + pos: position{line: 768, col: 30, offset: 24499}, val: "++++", ignoreCase: false, want: "\"++++\"", }, &zeroOrMoreExpr{ - pos: position{line: 761, col: 37, offset: 24480}, + pos: position{line: 768, col: 37, offset: 24506}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonListElementContinuationElement1043, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -41844,28 +33442,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonListElementContinuationElement1046, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -41874,9 +33472,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -41885,42 +33483,42 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, }, }, &labeledExpr{ - pos: position{line: 929, col: 5, offset: 28917}, + pos: position{line: 936, col: 5, offset: 28943}, label: "line", expr: &actionExpr{ - pos: position{line: 774, col: 5, offset: 24820}, + pos: position{line: 781, col: 5, offset: 24846}, run: (*parser).callonListElementContinuationElement1056, expr: &seqExpr{ - pos: position{line: 774, col: 5, offset: 24820}, + pos: position{line: 781, col: 5, offset: 24846}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 774, col: 5, offset: 24820}, + pos: position{line: 781, col: 5, offset: 24846}, expr: ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, &labeledExpr{ - pos: position{line: 775, col: 5, offset: 24893}, + pos: position{line: 782, col: 5, offset: 24919}, label: "content", expr: &actionExpr{ - pos: position{line: 775, col: 14, offset: 24902}, + pos: position{line: 782, col: 14, offset: 24928}, run: (*parser).callonListElementContinuationElement1062, expr: &zeroOrMoreExpr{ - pos: position{line: 775, col: 14, offset: 24902}, + pos: position{line: 782, col: 14, offset: 24928}, expr: &charClassMatcher{ - pos: position{line: 775, col: 14, offset: 24902}, + pos: position{line: 782, col: 14, offset: 24928}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -41930,28 +33528,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonListElementContinuationElement1066, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -41960,9 +33558,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -41977,29 +33575,29 @@ var g = &grammar{ }, }, &zeroOrOneExpr{ - pos: position{line: 918, col: 5, offset: 28564}, + pos: position{line: 925, col: 5, offset: 28590}, expr: &choiceExpr{ - pos: position{line: 925, col: 33, offset: 28817}, + pos: position{line: 932, col: 33, offset: 28843}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 761, col: 30, offset: 24473}, + pos: position{line: 768, col: 30, offset: 24499}, run: (*parser).callonListElementContinuationElement1075, expr: &seqExpr{ - pos: position{line: 761, col: 30, offset: 24473}, + pos: position{line: 768, col: 30, offset: 24499}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 761, col: 30, offset: 24473}, + pos: position{line: 768, col: 30, offset: 24499}, val: "++++", ignoreCase: false, want: "\"++++\"", }, &zeroOrMoreExpr{ - pos: position{line: 761, col: 37, offset: 24480}, + pos: position{line: 768, col: 37, offset: 24506}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonListElementContinuationElement1079, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -42008,28 +33606,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonListElementContinuationElement1082, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -42038,9 +33636,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -42049,9 +33647,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -42061,30 +33659,30 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 937, col: 5, offset: 29068}, + pos: position{line: 944, col: 5, offset: 29094}, run: (*parser).callonListElementContinuationElement1091, expr: &seqExpr{ - pos: position{line: 937, col: 5, offset: 29068}, + pos: position{line: 944, col: 5, offset: 29094}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 765, col: 24, offset: 24589}, + pos: position{line: 772, col: 24, offset: 24615}, run: (*parser).callonListElementContinuationElement1093, expr: &seqExpr{ - pos: position{line: 765, col: 24, offset: 24589}, + pos: position{line: 772, col: 24, offset: 24615}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 765, col: 24, offset: 24589}, + pos: position{line: 772, col: 24, offset: 24615}, val: "____", ignoreCase: false, want: "\"____\"", }, &zeroOrMoreExpr{ - pos: position{line: 765, col: 31, offset: 24596}, + pos: position{line: 772, col: 31, offset: 24622}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonListElementContinuationElement1097, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -42093,28 +33691,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonListElementContinuationElement1100, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -42123,9 +33721,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -42134,40 +33732,40 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 938, col: 5, offset: 29097}, + pos: position{line: 945, col: 5, offset: 29123}, label: "content", expr: &zeroOrMoreExpr{ - pos: position{line: 949, col: 4, offset: 29404}, + pos: position{line: 956, col: 4, offset: 29430}, expr: &actionExpr{ - pos: position{line: 949, col: 5, offset: 29405}, + pos: position{line: 956, col: 5, offset: 29431}, run: (*parser).callonListElementContinuationElement1109, expr: &seqExpr{ - pos: position{line: 949, col: 5, offset: 29405}, + pos: position{line: 956, col: 5, offset: 29431}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 949, col: 5, offset: 29405}, + pos: position{line: 956, col: 5, offset: 29431}, expr: &choiceExpr{ - pos: position{line: 946, col: 27, offset: 29352}, + pos: position{line: 953, col: 27, offset: 29378}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 765, col: 24, offset: 24589}, + pos: position{line: 772, col: 24, offset: 24615}, run: (*parser).callonListElementContinuationElement1113, expr: &seqExpr{ - pos: position{line: 765, col: 24, offset: 24589}, + pos: position{line: 772, col: 24, offset: 24615}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 765, col: 24, offset: 24589}, + pos: position{line: 772, col: 24, offset: 24615}, val: "____", ignoreCase: false, want: "\"____\"", }, &zeroOrMoreExpr{ - pos: position{line: 765, col: 31, offset: 24596}, + pos: position{line: 772, col: 31, offset: 24622}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonListElementContinuationElement1117, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -42176,28 +33774,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonListElementContinuationElement1120, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -42206,9 +33804,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -42217,42 +33815,42 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, }, }, &labeledExpr{ - pos: position{line: 950, col: 5, offset: 29433}, + pos: position{line: 957, col: 5, offset: 29459}, label: "line", expr: &actionExpr{ - pos: position{line: 774, col: 5, offset: 24820}, + pos: position{line: 781, col: 5, offset: 24846}, run: (*parser).callonListElementContinuationElement1130, expr: &seqExpr{ - pos: position{line: 774, col: 5, offset: 24820}, + pos: position{line: 781, col: 5, offset: 24846}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 774, col: 5, offset: 24820}, + pos: position{line: 781, col: 5, offset: 24846}, expr: ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, &labeledExpr{ - pos: position{line: 775, col: 5, offset: 24893}, + pos: position{line: 782, col: 5, offset: 24919}, label: "content", expr: &actionExpr{ - pos: position{line: 775, col: 14, offset: 24902}, + pos: position{line: 782, col: 14, offset: 24928}, run: (*parser).callonListElementContinuationElement1136, expr: &zeroOrMoreExpr{ - pos: position{line: 775, col: 14, offset: 24902}, + pos: position{line: 782, col: 14, offset: 24928}, expr: &charClassMatcher{ - pos: position{line: 775, col: 14, offset: 24902}, + pos: position{line: 782, col: 14, offset: 24928}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -42262,28 +33860,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonListElementContinuationElement1140, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -42292,9 +33890,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -42309,29 +33907,29 @@ var g = &grammar{ }, }, &zeroOrOneExpr{ - pos: position{line: 939, col: 5, offset: 29129}, + pos: position{line: 946, col: 5, offset: 29155}, expr: &choiceExpr{ - pos: position{line: 946, col: 27, offset: 29352}, + pos: position{line: 953, col: 27, offset: 29378}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 765, col: 24, offset: 24589}, + pos: position{line: 772, col: 24, offset: 24615}, run: (*parser).callonListElementContinuationElement1149, expr: &seqExpr{ - pos: position{line: 765, col: 24, offset: 24589}, + pos: position{line: 772, col: 24, offset: 24615}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 765, col: 24, offset: 24589}, + pos: position{line: 772, col: 24, offset: 24615}, val: "____", ignoreCase: false, want: "\"____\"", }, &zeroOrMoreExpr{ - pos: position{line: 765, col: 31, offset: 24596}, + pos: position{line: 772, col: 31, offset: 24622}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonListElementContinuationElement1153, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -42340,28 +33938,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonListElementContinuationElement1156, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -42370,9 +33968,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -42381,9 +33979,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -42393,30 +33991,30 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 958, col: 5, offset: 29588}, + pos: position{line: 965, col: 5, offset: 29614}, run: (*parser).callonListElementContinuationElement1165, expr: &seqExpr{ - pos: position{line: 958, col: 5, offset: 29588}, + pos: position{line: 965, col: 5, offset: 29614}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 769, col: 26, offset: 24701}, + pos: position{line: 776, col: 26, offset: 24727}, run: (*parser).callonListElementContinuationElement1167, expr: &seqExpr{ - pos: position{line: 769, col: 26, offset: 24701}, + pos: position{line: 776, col: 26, offset: 24727}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 769, col: 26, offset: 24701}, + pos: position{line: 776, col: 26, offset: 24727}, val: "****", ignoreCase: false, want: "\"****\"", }, &zeroOrMoreExpr{ - pos: position{line: 769, col: 33, offset: 24708}, + pos: position{line: 776, col: 33, offset: 24734}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonListElementContinuationElement1171, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -42425,28 +34023,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonListElementContinuationElement1174, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -42455,9 +34053,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -42466,40 +34064,40 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 959, col: 5, offset: 29619}, + pos: position{line: 966, col: 5, offset: 29645}, label: "content", expr: &zeroOrMoreExpr{ - pos: position{line: 970, col: 4, offset: 29944}, + pos: position{line: 977, col: 4, offset: 29970}, expr: &actionExpr{ - pos: position{line: 970, col: 5, offset: 29945}, + pos: position{line: 977, col: 5, offset: 29971}, run: (*parser).callonListElementContinuationElement1183, expr: &seqExpr{ - pos: position{line: 970, col: 5, offset: 29945}, + pos: position{line: 977, col: 5, offset: 29971}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 970, col: 5, offset: 29945}, + pos: position{line: 977, col: 5, offset: 29971}, expr: &choiceExpr{ - pos: position{line: 967, col: 29, offset: 29887}, + pos: position{line: 974, col: 29, offset: 29913}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 769, col: 26, offset: 24701}, + pos: position{line: 776, col: 26, offset: 24727}, run: (*parser).callonListElementContinuationElement1187, expr: &seqExpr{ - pos: position{line: 769, col: 26, offset: 24701}, + pos: position{line: 776, col: 26, offset: 24727}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 769, col: 26, offset: 24701}, + pos: position{line: 776, col: 26, offset: 24727}, val: "****", ignoreCase: false, want: "\"****\"", }, &zeroOrMoreExpr{ - pos: position{line: 769, col: 33, offset: 24708}, + pos: position{line: 776, col: 33, offset: 24734}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonListElementContinuationElement1191, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -42508,28 +34106,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonListElementContinuationElement1194, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -42538,9 +34136,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -42549,42 +34147,42 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, }, }, &labeledExpr{ - pos: position{line: 971, col: 5, offset: 29975}, + pos: position{line: 978, col: 5, offset: 30001}, label: "line", expr: &actionExpr{ - pos: position{line: 774, col: 5, offset: 24820}, + pos: position{line: 781, col: 5, offset: 24846}, run: (*parser).callonListElementContinuationElement1204, expr: &seqExpr{ - pos: position{line: 774, col: 5, offset: 24820}, + pos: position{line: 781, col: 5, offset: 24846}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 774, col: 5, offset: 24820}, + pos: position{line: 781, col: 5, offset: 24846}, expr: ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, &labeledExpr{ - pos: position{line: 775, col: 5, offset: 24893}, + pos: position{line: 782, col: 5, offset: 24919}, label: "content", expr: &actionExpr{ - pos: position{line: 775, col: 14, offset: 24902}, + pos: position{line: 782, col: 14, offset: 24928}, run: (*parser).callonListElementContinuationElement1210, expr: &zeroOrMoreExpr{ - pos: position{line: 775, col: 14, offset: 24902}, + pos: position{line: 782, col: 14, offset: 24928}, expr: &charClassMatcher{ - pos: position{line: 775, col: 14, offset: 24902}, + pos: position{line: 782, col: 14, offset: 24928}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -42594,28 +34192,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonListElementContinuationElement1214, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -42624,9 +34222,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -42641,29 +34239,29 @@ var g = &grammar{ }, }, &zeroOrOneExpr{ - pos: position{line: 960, col: 5, offset: 29653}, + pos: position{line: 967, col: 5, offset: 29679}, expr: &choiceExpr{ - pos: position{line: 967, col: 29, offset: 29887}, + pos: position{line: 974, col: 29, offset: 29913}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 769, col: 26, offset: 24701}, + pos: position{line: 776, col: 26, offset: 24727}, run: (*parser).callonListElementContinuationElement1223, expr: &seqExpr{ - pos: position{line: 769, col: 26, offset: 24701}, + pos: position{line: 776, col: 26, offset: 24727}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 769, col: 26, offset: 24701}, + pos: position{line: 776, col: 26, offset: 24727}, val: "****", ignoreCase: false, want: "\"****\"", }, &zeroOrMoreExpr{ - pos: position{line: 769, col: 33, offset: 24708}, + pos: position{line: 776, col: 33, offset: 24734}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonListElementContinuationElement1227, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -42672,28 +34270,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonListElementContinuationElement1230, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -42702,9 +34300,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -42713,9 +34311,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -42725,52 +34323,52 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2807, col: 18, offset: 92152}, + pos: position{line: 2708, col: 18, offset: 88911}, run: (*parser).callonListElementContinuationElement1239, expr: &seqExpr{ - pos: position{line: 2807, col: 18, offset: 92152}, + pos: position{line: 2708, col: 18, offset: 88911}, exprs: []interface{}{ &choiceExpr{ - pos: position{line: 2808, col: 9, offset: 92162}, + pos: position{line: 2709, col: 9, offset: 88921}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2808, col: 9, offset: 92162}, + pos: position{line: 2709, col: 9, offset: 88921}, val: "'''", ignoreCase: false, want: "\"'''\"", }, &litMatcher{ - pos: position{line: 2809, col: 11, offset: 92198}, + pos: position{line: 2710, col: 11, offset: 88957}, val: "***", ignoreCase: false, want: "\"***\"", }, &litMatcher{ - pos: position{line: 2809, col: 19, offset: 92206}, + pos: position{line: 2710, col: 19, offset: 88965}, val: "* * *", ignoreCase: false, want: "\"* * *\"", }, &litMatcher{ - pos: position{line: 2809, col: 29, offset: 92216}, + pos: position{line: 2710, col: 29, offset: 88975}, val: "---", ignoreCase: false, want: "\"---\"", }, &litMatcher{ - pos: position{line: 2809, col: 37, offset: 92224}, + pos: position{line: 2710, col: 37, offset: 88983}, val: "- - -", ignoreCase: false, want: "\"- - -\"", }, &litMatcher{ - pos: position{line: 2809, col: 47, offset: 92234}, + pos: position{line: 2710, col: 47, offset: 88993}, val: "___", ignoreCase: false, want: "\"___\"", }, &litMatcher{ - pos: position{line: 2809, col: 55, offset: 92242}, + pos: position{line: 2710, col: 55, offset: 89001}, val: "_ _ _", ignoreCase: false, want: "\"_ _ _\"", @@ -42778,12 +34376,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 2810, col: 11, offset: 92300}, + pos: position{line: 2711, col: 11, offset: 89059}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonListElementContinuationElement1250, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -42792,28 +34390,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonListElementContinuationElement1253, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -42822,36 +34420,36 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonListElementContinuationElement1261, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -42860,9 +34458,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -42871,28 +34469,28 @@ var g = &grammar{ }, }, &ruleRefExpr{ - pos: position{line: 1389, col: 11, offset: 45312}, + pos: position{line: 1396, col: 11, offset: 45352}, name: "ImageBlock", }, &actionExpr{ - pos: position{line: 2705, col: 5, offset: 89281}, + pos: position{line: 2606, col: 5, offset: 86040}, run: (*parser).callonListElementContinuationElement1269, expr: &seqExpr{ - pos: position{line: 2705, col: 5, offset: 89281}, + pos: position{line: 2606, col: 5, offset: 86040}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2713, col: 19, offset: 89458}, + pos: position{line: 2614, col: 19, offset: 86217}, val: "|===", ignoreCase: false, want: "\"|===\"", }, &zeroOrMoreExpr{ - pos: position{line: 2713, col: 26, offset: 89465}, + pos: position{line: 2614, col: 26, offset: 86224}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonListElementContinuationElement1273, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -42901,28 +34499,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonListElementContinuationElement1276, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -42931,48 +34529,48 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, }, &labeledExpr{ - pos: position{line: 2706, col: 5, offset: 89305}, + pos: position{line: 2607, col: 5, offset: 86064}, label: "header", expr: &zeroOrOneExpr{ - pos: position{line: 2706, col: 12, offset: 89312}, + pos: position{line: 2607, col: 12, offset: 86071}, expr: &actionExpr{ - pos: position{line: 2721, col: 5, offset: 89625}, + pos: position{line: 2622, col: 5, offset: 86384}, run: (*parser).callonListElementContinuationElement1285, expr: &seqExpr{ - pos: position{line: 2721, col: 5, offset: 89625}, + pos: position{line: 2622, col: 5, offset: 86384}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 2721, col: 5, offset: 89625}, + pos: position{line: 2622, col: 5, offset: 86384}, label: "cells", expr: &oneOrMoreExpr{ - pos: position{line: 2721, col: 11, offset: 89631}, + pos: position{line: 2622, col: 11, offset: 86390}, expr: &actionExpr{ - pos: position{line: 2727, col: 5, offset: 89748}, + pos: position{line: 2628, col: 5, offset: 86507}, run: (*parser).callonListElementContinuationElement1289, expr: &seqExpr{ - pos: position{line: 2727, col: 5, offset: 89748}, + pos: position{line: 2628, col: 5, offset: 86507}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2727, col: 5, offset: 89748}, + pos: position{line: 2628, col: 5, offset: 86507}, val: "|", ignoreCase: false, want: "\"|\"", }, &zeroOrMoreExpr{ - pos: position{line: 2727, col: 9, offset: 89752}, + pos: position{line: 2628, col: 9, offset: 86511}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonListElementContinuationElement1293, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -42981,23 +34579,23 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 2728, col: 5, offset: 89764}, + pos: position{line: 2629, col: 5, offset: 86523}, label: "content", expr: &zeroOrOneExpr{ - pos: position{line: 2728, col: 14, offset: 89773}, + pos: position{line: 2629, col: 14, offset: 86532}, expr: &actionExpr{ - pos: position{line: 2760, col: 5, offset: 90561}, + pos: position{line: 2661, col: 5, offset: 87320}, run: (*parser).callonListElementContinuationElement1297, expr: &labeledExpr{ - pos: position{line: 2760, col: 5, offset: 90561}, + pos: position{line: 2661, col: 5, offset: 87320}, label: "content", expr: &actionExpr{ - pos: position{line: 2760, col: 14, offset: 90570}, + pos: position{line: 2661, col: 14, offset: 87329}, run: (*parser).callonListElementContinuationElement1299, expr: &oneOrMoreExpr{ - pos: position{line: 2760, col: 14, offset: 90570}, + pos: position{line: 2661, col: 14, offset: 87329}, expr: &charClassMatcher{ - pos: position{line: 2760, col: 14, offset: 90570}, + pos: position{line: 2661, col: 14, offset: 87329}, val: "[^\\r\\n|]", chars: []rune{'\r', '\n', '|'}, ignoreCase: false, @@ -43015,28 +34613,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonListElementContinuationElement1303, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -43045,37 +34643,37 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, }, &oneOrMoreExpr{ - pos: position{line: 2722, col: 5, offset: 89653}, + pos: position{line: 2623, col: 5, offset: 86412}, expr: &actionExpr{ - pos: position{line: 682, col: 14, offset: 22022}, + pos: position{line: 689, col: 14, offset: 22046}, run: (*parser).callonListElementContinuationElement1311, expr: &seqExpr{ - pos: position{line: 682, col: 14, offset: 22022}, + pos: position{line: 689, col: 14, offset: 22046}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 682, col: 14, offset: 22022}, + pos: position{line: 689, col: 14, offset: 22046}, expr: ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, &zeroOrMoreExpr{ - pos: position{line: 682, col: 19, offset: 22027}, + pos: position{line: 689, col: 19, offset: 22051}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonListElementContinuationElement1317, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -43084,28 +34682,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonListElementContinuationElement1320, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -43114,9 +34712,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -43131,40 +34729,40 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 2707, col: 5, offset: 89331}, + pos: position{line: 2608, col: 5, offset: 86090}, label: "rows", expr: &zeroOrMoreExpr{ - pos: position{line: 2707, col: 10, offset: 89336}, + pos: position{line: 2608, col: 10, offset: 86095}, expr: &choiceExpr{ - pos: position{line: 2732, col: 13, offset: 89870}, + pos: position{line: 2633, col: 13, offset: 86629}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2742, col: 5, offset: 90089}, + pos: position{line: 2643, col: 5, offset: 86848}, run: (*parser).callonListElementContinuationElement1330, expr: &seqExpr{ - pos: position{line: 2742, col: 5, offset: 90089}, + pos: position{line: 2643, col: 5, offset: 86848}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 2742, col: 5, offset: 90089}, + pos: position{line: 2643, col: 5, offset: 86848}, expr: &choiceExpr{ - pos: position{line: 2717, col: 22, offset: 89538}, + pos: position{line: 2618, col: 22, offset: 86297}, alternatives: []interface{}{ &seqExpr{ - pos: position{line: 2713, col: 19, offset: 89458}, + pos: position{line: 2614, col: 19, offset: 86217}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2713, col: 19, offset: 89458}, + pos: position{line: 2614, col: 19, offset: 86217}, val: "|===", ignoreCase: false, want: "\"|===\"", }, &zeroOrMoreExpr{ - pos: position{line: 2713, col: 26, offset: 89465}, + pos: position{line: 2614, col: 26, offset: 86224}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonListElementContinuationElement1337, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -43173,28 +34771,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonListElementContinuationElement1340, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -43203,9 +34801,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -43213,55 +34811,55 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, }, }, &labeledExpr{ - pos: position{line: 2743, col: 5, offset: 90112}, + pos: position{line: 2644, col: 5, offset: 86871}, label: "cells", expr: &oneOrMoreExpr{ - pos: position{line: 2743, col: 11, offset: 90118}, + pos: position{line: 2644, col: 11, offset: 86877}, expr: &actionExpr{ - pos: position{line: 2743, col: 12, offset: 90119}, + pos: position{line: 2644, col: 12, offset: 86878}, run: (*parser).callonListElementContinuationElement1351, expr: &seqExpr{ - pos: position{line: 2743, col: 12, offset: 90119}, + pos: position{line: 2644, col: 12, offset: 86878}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 2743, col: 12, offset: 90119}, + pos: position{line: 2644, col: 12, offset: 86878}, label: "cell", expr: &actionExpr{ - pos: position{line: 2752, col: 5, offset: 90360}, + pos: position{line: 2653, col: 5, offset: 87119}, run: (*parser).callonListElementContinuationElement1354, expr: &seqExpr{ - pos: position{line: 2752, col: 5, offset: 90360}, + pos: position{line: 2653, col: 5, offset: 87119}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 2752, col: 5, offset: 90360}, + pos: position{line: 2653, col: 5, offset: 87119}, expr: &choiceExpr{ - pos: position{line: 2717, col: 22, offset: 89538}, + pos: position{line: 2618, col: 22, offset: 86297}, alternatives: []interface{}{ &seqExpr{ - pos: position{line: 2713, col: 19, offset: 89458}, + pos: position{line: 2614, col: 19, offset: 86217}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2713, col: 19, offset: 89458}, + pos: position{line: 2614, col: 19, offset: 86217}, val: "|===", ignoreCase: false, want: "\"|===\"", }, &zeroOrMoreExpr{ - pos: position{line: 2713, col: 26, offset: 89465}, + pos: position{line: 2614, col: 26, offset: 86224}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonListElementContinuationElement1361, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -43270,28 +34868,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonListElementContinuationElement1364, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -43300,9 +34898,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -43310,38 +34908,38 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, }, }, ¬Expr{ - pos: position{line: 2753, col: 5, offset: 90383}, + pos: position{line: 2654, col: 5, offset: 87142}, expr: &actionExpr{ - pos: position{line: 682, col: 14, offset: 22022}, + pos: position{line: 689, col: 14, offset: 22046}, run: (*parser).callonListElementContinuationElement1374, expr: &seqExpr{ - pos: position{line: 682, col: 14, offset: 22022}, + pos: position{line: 689, col: 14, offset: 22046}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 682, col: 14, offset: 22022}, + pos: position{line: 689, col: 14, offset: 22046}, expr: ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, &zeroOrMoreExpr{ - pos: position{line: 682, col: 19, offset: 22027}, + pos: position{line: 689, col: 19, offset: 22051}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonListElementContinuationElement1380, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -43350,28 +34948,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonListElementContinuationElement1383, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -43380,9 +34978,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -43392,18 +34990,18 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 2754, col: 5, offset: 90398}, + pos: position{line: 2655, col: 5, offset: 87157}, val: "|", ignoreCase: false, want: "\"|\"", }, &zeroOrMoreExpr{ - pos: position{line: 2754, col: 9, offset: 90402}, + pos: position{line: 2655, col: 9, offset: 87161}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonListElementContinuationElement1392, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -43412,23 +35010,23 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 2754, col: 16, offset: 90409}, + pos: position{line: 2655, col: 16, offset: 87168}, label: "content", expr: &zeroOrOneExpr{ - pos: position{line: 2754, col: 25, offset: 90418}, + pos: position{line: 2655, col: 25, offset: 87177}, expr: &actionExpr{ - pos: position{line: 2760, col: 5, offset: 90561}, + pos: position{line: 2661, col: 5, offset: 87320}, run: (*parser).callonListElementContinuationElement1396, expr: &labeledExpr{ - pos: position{line: 2760, col: 5, offset: 90561}, + pos: position{line: 2661, col: 5, offset: 87320}, label: "content", expr: &actionExpr{ - pos: position{line: 2760, col: 14, offset: 90570}, + pos: position{line: 2661, col: 14, offset: 87329}, run: (*parser).callonListElementContinuationElement1398, expr: &oneOrMoreExpr{ - pos: position{line: 2760, col: 14, offset: 90570}, + pos: position{line: 2661, col: 14, offset: 87329}, expr: &charClassMatcher{ - pos: position{line: 2760, col: 14, offset: 90570}, + pos: position{line: 2661, col: 14, offset: 87329}, val: "[^\\r\\n|]", chars: []rune{'\r', '\n', '|'}, ignoreCase: false, @@ -43445,28 +35043,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonListElementContinuationElement1402, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -43475,9 +35073,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -43488,32 +35086,32 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2746, col: 6, offset: 90181}, + pos: position{line: 2647, col: 6, offset: 86940}, alternatives: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 2746, col: 6, offset: 90181}, + pos: position{line: 2647, col: 6, offset: 86940}, expr: &actionExpr{ - pos: position{line: 682, col: 14, offset: 22022}, + pos: position{line: 689, col: 14, offset: 22046}, run: (*parser).callonListElementContinuationElement1411, expr: &seqExpr{ - pos: position{line: 682, col: 14, offset: 22022}, + pos: position{line: 689, col: 14, offset: 22046}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 682, col: 14, offset: 22022}, + pos: position{line: 689, col: 14, offset: 22046}, expr: ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, &zeroOrMoreExpr{ - pos: position{line: 682, col: 19, offset: 22027}, + pos: position{line: 689, col: 19, offset: 22051}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonListElementContinuationElement1417, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -43522,28 +35120,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonListElementContinuationElement1420, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -43552,9 +35150,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -43564,26 +35162,26 @@ var g = &grammar{ }, }, &andExpr{ - pos: position{line: 2746, col: 19, offset: 90194}, + pos: position{line: 2647, col: 19, offset: 86953}, expr: &choiceExpr{ - pos: position{line: 2717, col: 22, offset: 89538}, + pos: position{line: 2618, col: 22, offset: 86297}, alternatives: []interface{}{ &seqExpr{ - pos: position{line: 2713, col: 19, offset: 89458}, + pos: position{line: 2614, col: 19, offset: 86217}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2713, col: 19, offset: 89458}, + pos: position{line: 2614, col: 19, offset: 86217}, val: "|===", ignoreCase: false, want: "\"|===\"", }, &zeroOrMoreExpr{ - pos: position{line: 2713, col: 26, offset: 89465}, + pos: position{line: 2614, col: 26, offset: 86224}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonListElementContinuationElement1432, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -43592,28 +35190,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonListElementContinuationElement1435, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -43622,9 +35220,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -43632,9 +35230,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -43646,32 +35244,32 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2735, col: 5, offset: 89937}, + pos: position{line: 2636, col: 5, offset: 86696}, run: (*parser).callonListElementContinuationElement1444, expr: &seqExpr{ - pos: position{line: 2735, col: 5, offset: 89937}, + pos: position{line: 2636, col: 5, offset: 86696}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 2735, col: 5, offset: 89937}, + pos: position{line: 2636, col: 5, offset: 86696}, expr: &choiceExpr{ - pos: position{line: 2717, col: 22, offset: 89538}, + pos: position{line: 2618, col: 22, offset: 86297}, alternatives: []interface{}{ &seqExpr{ - pos: position{line: 2713, col: 19, offset: 89458}, + pos: position{line: 2614, col: 19, offset: 86217}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2713, col: 19, offset: 89458}, + pos: position{line: 2614, col: 19, offset: 86217}, val: "|===", ignoreCase: false, want: "\"|===\"", }, &zeroOrMoreExpr{ - pos: position{line: 2713, col: 26, offset: 89465}, + pos: position{line: 2614, col: 26, offset: 86224}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonListElementContinuationElement1451, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -43680,28 +35278,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonListElementContinuationElement1454, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -43710,9 +35308,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -43720,46 +35318,46 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, }, }, &labeledExpr{ - pos: position{line: 2736, col: 5, offset: 89960}, + pos: position{line: 2637, col: 5, offset: 86719}, label: "cells", expr: &oneOrMoreExpr{ - pos: position{line: 2736, col: 11, offset: 89966}, + pos: position{line: 2637, col: 11, offset: 86725}, expr: &actionExpr{ - pos: position{line: 2752, col: 5, offset: 90360}, + pos: position{line: 2653, col: 5, offset: 87119}, run: (*parser).callonListElementContinuationElement1465, expr: &seqExpr{ - pos: position{line: 2752, col: 5, offset: 90360}, + pos: position{line: 2653, col: 5, offset: 87119}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 2752, col: 5, offset: 90360}, + pos: position{line: 2653, col: 5, offset: 87119}, expr: &choiceExpr{ - pos: position{line: 2717, col: 22, offset: 89538}, + pos: position{line: 2618, col: 22, offset: 86297}, alternatives: []interface{}{ &seqExpr{ - pos: position{line: 2713, col: 19, offset: 89458}, + pos: position{line: 2614, col: 19, offset: 86217}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2713, col: 19, offset: 89458}, + pos: position{line: 2614, col: 19, offset: 86217}, val: "|===", ignoreCase: false, want: "\"|===\"", }, &zeroOrMoreExpr{ - pos: position{line: 2713, col: 26, offset: 89465}, + pos: position{line: 2614, col: 26, offset: 86224}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonListElementContinuationElement1472, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -43768,28 +35366,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonListElementContinuationElement1475, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -43798,9 +35396,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -43808,38 +35406,38 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, }, }, ¬Expr{ - pos: position{line: 2753, col: 5, offset: 90383}, + pos: position{line: 2654, col: 5, offset: 87142}, expr: &actionExpr{ - pos: position{line: 682, col: 14, offset: 22022}, + pos: position{line: 689, col: 14, offset: 22046}, run: (*parser).callonListElementContinuationElement1485, expr: &seqExpr{ - pos: position{line: 682, col: 14, offset: 22022}, + pos: position{line: 689, col: 14, offset: 22046}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 682, col: 14, offset: 22022}, + pos: position{line: 689, col: 14, offset: 22046}, expr: ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, &zeroOrMoreExpr{ - pos: position{line: 682, col: 19, offset: 22027}, + pos: position{line: 689, col: 19, offset: 22051}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonListElementContinuationElement1491, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -43848,28 +35446,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonListElementContinuationElement1494, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -43878,9 +35476,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -43890,18 +35488,18 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 2754, col: 5, offset: 90398}, + pos: position{line: 2655, col: 5, offset: 87157}, val: "|", ignoreCase: false, want: "\"|\"", }, &zeroOrMoreExpr{ - pos: position{line: 2754, col: 9, offset: 90402}, + pos: position{line: 2655, col: 9, offset: 87161}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonListElementContinuationElement1503, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -43910,23 +35508,23 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 2754, col: 16, offset: 90409}, + pos: position{line: 2655, col: 16, offset: 87168}, label: "content", expr: &zeroOrOneExpr{ - pos: position{line: 2754, col: 25, offset: 90418}, + pos: position{line: 2655, col: 25, offset: 87177}, expr: &actionExpr{ - pos: position{line: 2760, col: 5, offset: 90561}, + pos: position{line: 2661, col: 5, offset: 87320}, run: (*parser).callonListElementContinuationElement1507, expr: &labeledExpr{ - pos: position{line: 2760, col: 5, offset: 90561}, + pos: position{line: 2661, col: 5, offset: 87320}, label: "content", expr: &actionExpr{ - pos: position{line: 2760, col: 14, offset: 90570}, + pos: position{line: 2661, col: 14, offset: 87329}, run: (*parser).callonListElementContinuationElement1509, expr: &oneOrMoreExpr{ - pos: position{line: 2760, col: 14, offset: 90570}, + pos: position{line: 2661, col: 14, offset: 87329}, expr: &charClassMatcher{ - pos: position{line: 2760, col: 14, offset: 90570}, + pos: position{line: 2661, col: 14, offset: 87329}, val: "[^\\r\\n|]", chars: []rune{'\r', '\n', '|'}, ignoreCase: false, @@ -43944,28 +35542,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonListElementContinuationElement1513, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -43974,37 +35572,37 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, }, &zeroOrMoreExpr{ - pos: position{line: 2737, col: 5, offset: 89987}, + pos: position{line: 2638, col: 5, offset: 86746}, expr: &actionExpr{ - pos: position{line: 682, col: 14, offset: 22022}, + pos: position{line: 689, col: 14, offset: 22046}, run: (*parser).callonListElementContinuationElement1521, expr: &seqExpr{ - pos: position{line: 682, col: 14, offset: 22022}, + pos: position{line: 689, col: 14, offset: 22046}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 682, col: 14, offset: 22022}, + pos: position{line: 689, col: 14, offset: 22046}, expr: ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, &zeroOrMoreExpr{ - pos: position{line: 682, col: 19, offset: 22027}, + pos: position{line: 689, col: 19, offset: 22051}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonListElementContinuationElement1527, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -44013,28 +35611,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonListElementContinuationElement1530, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -44043,9 +35641,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -44062,24 +35660,24 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2717, col: 22, offset: 89538}, + pos: position{line: 2618, col: 22, offset: 86297}, alternatives: []interface{}{ &seqExpr{ - pos: position{line: 2713, col: 19, offset: 89458}, + pos: position{line: 2614, col: 19, offset: 86217}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2713, col: 19, offset: 89458}, + pos: position{line: 2614, col: 19, offset: 86217}, val: "|===", ignoreCase: false, want: "\"|===\"", }, &zeroOrMoreExpr{ - pos: position{line: 2713, col: 26, offset: 89465}, + pos: position{line: 2614, col: 26, offset: 86224}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonListElementContinuationElement1541, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -44088,28 +35686,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonListElementContinuationElement1544, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -44118,9 +35716,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -44128,9 +35726,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -44139,36 +35737,36 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2655, col: 22, offset: 87725}, + pos: position{line: 2556, col: 22, offset: 84484}, run: (*parser).callonListElementContinuationElement1553, expr: &seqExpr{ - pos: position{line: 2655, col: 22, offset: 87725}, + pos: position{line: 2556, col: 22, offset: 84484}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2660, col: 31, offset: 87946}, + pos: position{line: 2561, col: 31, offset: 84705}, val: "//", ignoreCase: false, want: "\"//\"", }, ¬Expr{ - pos: position{line: 2660, col: 36, offset: 87951}, + pos: position{line: 2561, col: 36, offset: 84710}, expr: &litMatcher{ - pos: position{line: 2660, col: 37, offset: 87952}, + pos: position{line: 2561, col: 37, offset: 84711}, val: "//", ignoreCase: false, want: "\"//\"", }, }, &labeledExpr{ - pos: position{line: 2655, col: 49, offset: 87752}, + pos: position{line: 2556, col: 49, offset: 84511}, label: "content", expr: &actionExpr{ - pos: position{line: 2662, col: 29, offset: 87987}, + pos: position{line: 2563, col: 29, offset: 84746}, run: (*parser).callonListElementContinuationElement1559, expr: &zeroOrMoreExpr{ - pos: position{line: 2662, col: 29, offset: 87987}, + pos: position{line: 2563, col: 29, offset: 84746}, expr: &charClassMatcher{ - pos: position{line: 2662, col: 29, offset: 87987}, + pos: position{line: 2563, col: 29, offset: 84746}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -44178,28 +35776,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonListElementContinuationElement1563, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -44208,9 +35806,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -44219,62 +35817,62 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1637, col: 5, offset: 53560}, + pos: position{line: 1644, col: 5, offset: 53619}, run: (*parser).callonListElementContinuationElement1570, expr: &seqExpr{ - pos: position{line: 1637, col: 5, offset: 53560}, + pos: position{line: 1644, col: 5, offset: 53619}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1637, col: 5, offset: 53560}, + pos: position{line: 1644, col: 5, offset: 53619}, label: "kind", expr: &choiceExpr{ - pos: position{line: 305, col: 19, offset: 9323}, + pos: position{line: 305, col: 19, offset: 9315}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 305, col: 19, offset: 9323}, + pos: position{line: 305, col: 19, offset: 9315}, run: (*parser).callonListElementContinuationElement1574, expr: &litMatcher{ - pos: position{line: 305, col: 19, offset: 9323}, + pos: position{line: 305, col: 19, offset: 9315}, val: "TIP", ignoreCase: false, want: "\"TIP\"", }, }, &actionExpr{ - pos: position{line: 307, col: 5, offset: 9361}, + pos: position{line: 307, col: 5, offset: 9353}, run: (*parser).callonListElementContinuationElement1576, expr: &litMatcher{ - pos: position{line: 307, col: 5, offset: 9361}, + pos: position{line: 307, col: 5, offset: 9353}, val: "NOTE", ignoreCase: false, want: "\"NOTE\"", }, }, &actionExpr{ - pos: position{line: 309, col: 5, offset: 9401}, + pos: position{line: 309, col: 5, offset: 9393}, run: (*parser).callonListElementContinuationElement1578, expr: &litMatcher{ - pos: position{line: 309, col: 5, offset: 9401}, + pos: position{line: 309, col: 5, offset: 9393}, val: "IMPORTANT", ignoreCase: false, want: "\"IMPORTANT\"", }, }, &actionExpr{ - pos: position{line: 311, col: 5, offset: 9451}, + pos: position{line: 311, col: 5, offset: 9443}, run: (*parser).callonListElementContinuationElement1580, expr: &litMatcher{ - pos: position{line: 311, col: 5, offset: 9451}, + pos: position{line: 311, col: 5, offset: 9443}, val: "WARNING", ignoreCase: false, want: "\"WARNING\"", }, }, &actionExpr{ - pos: position{line: 313, col: 5, offset: 9497}, + pos: position{line: 313, col: 5, offset: 9489}, run: (*parser).callonListElementContinuationElement1582, expr: &litMatcher{ - pos: position{line: 313, col: 5, offset: 9497}, + pos: position{line: 313, col: 5, offset: 9489}, val: "CAUTION", ignoreCase: false, want: "\"CAUTION\"", @@ -44284,30 +35882,30 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1637, col: 27, offset: 53582}, + pos: position{line: 1644, col: 27, offset: 53641}, val: ": ", ignoreCase: false, want: "\": \"", }, &labeledExpr{ - pos: position{line: 1638, col: 5, offset: 53592}, + pos: position{line: 1645, col: 5, offset: 53651}, label: "firstLine", expr: &actionExpr{ - pos: position{line: 1649, col: 5, offset: 53936}, + pos: position{line: 1656, col: 5, offset: 53995}, run: (*parser).callonListElementContinuationElement1586, expr: &seqExpr{ - pos: position{line: 1649, col: 5, offset: 53936}, + pos: position{line: 1656, col: 5, offset: 53995}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1649, col: 5, offset: 53936}, + pos: position{line: 1656, col: 5, offset: 53995}, label: "content", expr: &actionExpr{ - pos: position{line: 1649, col: 14, offset: 53945}, + pos: position{line: 1656, col: 14, offset: 54004}, run: (*parser).callonListElementContinuationElement1589, expr: &oneOrMoreExpr{ - pos: position{line: 1649, col: 14, offset: 53945}, + pos: position{line: 1656, col: 14, offset: 54004}, expr: &charClassMatcher{ - pos: position{line: 1649, col: 14, offset: 53945}, + pos: position{line: 1656, col: 14, offset: 54004}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -44317,32 +35915,32 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1652, col: 5, offset: 54002}, + pos: position{line: 1659, col: 5, offset: 54111}, run: (*parser).callonListElementContinuationElement1592, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonListElementContinuationElement1594, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -44351,9 +35949,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -44363,34 +35961,34 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1639, col: 5, offset: 53626}, + pos: position{line: 1646, col: 5, offset: 53685}, label: "otherLines", expr: &zeroOrMoreExpr{ - pos: position{line: 1639, col: 16, offset: 53637}, + pos: position{line: 1646, col: 16, offset: 53696}, expr: &actionExpr{ - pos: position{line: 1640, col: 9, offset: 53647}, + pos: position{line: 1647, col: 9, offset: 53706}, run: (*parser).callonListElementContinuationElement1603, expr: &seqExpr{ - pos: position{line: 1640, col: 9, offset: 53647}, + pos: position{line: 1647, col: 9, offset: 53706}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 1640, col: 9, offset: 53647}, + pos: position{line: 1647, col: 9, offset: 53706}, expr: &seqExpr{ - pos: position{line: 1377, col: 34, offset: 44957}, + pos: position{line: 1384, col: 34, offset: 44997}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1377, col: 34, offset: 44957}, + pos: position{line: 1384, col: 34, offset: 44997}, val: "+", ignoreCase: false, want: "\"+\"", }, &zeroOrMoreExpr{ - pos: position{line: 1377, col: 38, offset: 44961}, + pos: position{line: 1384, col: 38, offset: 45001}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonListElementContinuationElement1609, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -44399,25 +35997,25 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonListElementContinuationElement1611, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -44429,42 +36027,42 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1641, col: 9, offset: 53686}, + pos: position{line: 1648, col: 9, offset: 53745}, label: "line", expr: &choiceExpr{ - pos: position{line: 1641, col: 15, offset: 53692}, + pos: position{line: 1648, col: 15, offset: 53751}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2655, col: 22, offset: 87725}, + pos: position{line: 2556, col: 22, offset: 84484}, run: (*parser).callonListElementContinuationElement1618, expr: &seqExpr{ - pos: position{line: 2655, col: 22, offset: 87725}, + pos: position{line: 2556, col: 22, offset: 84484}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2660, col: 31, offset: 87946}, + pos: position{line: 2561, col: 31, offset: 84705}, val: "//", ignoreCase: false, want: "\"//\"", }, ¬Expr{ - pos: position{line: 2660, col: 36, offset: 87951}, + pos: position{line: 2561, col: 36, offset: 84710}, expr: &litMatcher{ - pos: position{line: 2660, col: 37, offset: 87952}, + pos: position{line: 2561, col: 37, offset: 84711}, val: "//", ignoreCase: false, want: "\"//\"", }, }, &labeledExpr{ - pos: position{line: 2655, col: 49, offset: 87752}, + pos: position{line: 2556, col: 49, offset: 84511}, label: "content", expr: &actionExpr{ - pos: position{line: 2662, col: 29, offset: 87987}, + pos: position{line: 2563, col: 29, offset: 84746}, run: (*parser).callonListElementContinuationElement1624, expr: &zeroOrMoreExpr{ - pos: position{line: 2662, col: 29, offset: 87987}, + pos: position{line: 2563, col: 29, offset: 84746}, expr: &charClassMatcher{ - pos: position{line: 2662, col: 29, offset: 87987}, + pos: position{line: 2563, col: 29, offset: 84746}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -44474,28 +36072,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonListElementContinuationElement1628, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -44504,9 +36102,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -44515,21 +36113,21 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1649, col: 5, offset: 53936}, + pos: position{line: 1656, col: 5, offset: 53995}, run: (*parser).callonListElementContinuationElement1635, expr: &seqExpr{ - pos: position{line: 1649, col: 5, offset: 53936}, + pos: position{line: 1656, col: 5, offset: 53995}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1649, col: 5, offset: 53936}, + pos: position{line: 1656, col: 5, offset: 53995}, label: "content", expr: &actionExpr{ - pos: position{line: 1649, col: 14, offset: 53945}, + pos: position{line: 1656, col: 14, offset: 54004}, run: (*parser).callonListElementContinuationElement1638, expr: &oneOrMoreExpr{ - pos: position{line: 1649, col: 14, offset: 53945}, + pos: position{line: 1656, col: 14, offset: 54004}, expr: &charClassMatcher{ - pos: position{line: 1649, col: 14, offset: 53945}, + pos: position{line: 1656, col: 14, offset: 54004}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -44539,32 +36137,32 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1652, col: 5, offset: 54002}, + pos: position{line: 1659, col: 5, offset: 54111}, run: (*parser).callonListElementContinuationElement1641, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonListElementContinuationElement1643, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -44573,9 +36171,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -44595,36 +36193,36 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1660, col: 5, offset: 54166}, + pos: position{line: 1667, col: 5, offset: 54277}, run: (*parser).callonListElementContinuationElement1650, expr: &seqExpr{ - pos: position{line: 1660, col: 5, offset: 54166}, + pos: position{line: 1667, col: 5, offset: 54277}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1660, col: 5, offset: 54166}, + pos: position{line: 1667, col: 5, offset: 54277}, label: "firstLine", expr: &actionExpr{ - pos: position{line: 1667, col: 5, offset: 54451}, + pos: position{line: 1674, col: 5, offset: 54562}, run: (*parser).callonListElementContinuationElement1653, expr: &seqExpr{ - pos: position{line: 1667, col: 5, offset: 54451}, + pos: position{line: 1674, col: 5, offset: 54562}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1667, col: 5, offset: 54451}, + pos: position{line: 1674, col: 5, offset: 54562}, label: "content", expr: &actionExpr{ - pos: position{line: 1667, col: 14, offset: 54460}, + pos: position{line: 1674, col: 14, offset: 54571}, run: (*parser).callonListElementContinuationElement1656, expr: &seqExpr{ - pos: position{line: 1667, col: 14, offset: 54460}, + pos: position{line: 1674, col: 14, offset: 54571}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 2932, col: 11, offset: 96082}, + pos: position{line: 2842, col: 11, offset: 93236}, run: (*parser).callonListElementContinuationElement1658, expr: &oneOrMoreExpr{ - pos: position{line: 2932, col: 11, offset: 96082}, + pos: position{line: 2842, col: 11, offset: 93236}, expr: &charClassMatcher{ - pos: position{line: 2932, col: 12, offset: 96083}, + pos: position{line: 2842, col: 12, offset: 93237}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -44633,9 +36231,9 @@ var g = &grammar{ }, }, &oneOrMoreExpr{ - pos: position{line: 1667, col: 21, offset: 54467}, + pos: position{line: 1674, col: 21, offset: 54578}, expr: &charClassMatcher{ - pos: position{line: 1667, col: 21, offset: 54467}, + pos: position{line: 1674, col: 21, offset: 54578}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -44647,32 +36245,32 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1670, col: 5, offset: 54524}, + pos: position{line: 1677, col: 5, offset: 54635}, run: (*parser).callonListElementContinuationElement1663, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonListElementContinuationElement1665, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -44681,9 +36279,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -44693,44 +36291,44 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1661, col: 5, offset: 54207}, + pos: position{line: 1668, col: 5, offset: 54318}, label: "otherLines", expr: &zeroOrMoreExpr{ - pos: position{line: 1661, col: 16, offset: 54218}, + pos: position{line: 1668, col: 16, offset: 54329}, expr: &choiceExpr{ - pos: position{line: 1661, col: 17, offset: 54219}, + pos: position{line: 1668, col: 17, offset: 54330}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2655, col: 22, offset: 87725}, + pos: position{line: 2556, col: 22, offset: 84484}, run: (*parser).callonListElementContinuationElement1675, expr: &seqExpr{ - pos: position{line: 2655, col: 22, offset: 87725}, + pos: position{line: 2556, col: 22, offset: 84484}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2660, col: 31, offset: 87946}, + pos: position{line: 2561, col: 31, offset: 84705}, val: "//", ignoreCase: false, want: "\"//\"", }, ¬Expr{ - pos: position{line: 2660, col: 36, offset: 87951}, + pos: position{line: 2561, col: 36, offset: 84710}, expr: &litMatcher{ - pos: position{line: 2660, col: 37, offset: 87952}, + pos: position{line: 2561, col: 37, offset: 84711}, val: "//", ignoreCase: false, want: "\"//\"", }, }, &labeledExpr{ - pos: position{line: 2655, col: 49, offset: 87752}, + pos: position{line: 2556, col: 49, offset: 84511}, label: "content", expr: &actionExpr{ - pos: position{line: 2662, col: 29, offset: 87987}, + pos: position{line: 2563, col: 29, offset: 84746}, run: (*parser).callonListElementContinuationElement1681, expr: &zeroOrMoreExpr{ - pos: position{line: 2662, col: 29, offset: 87987}, + pos: position{line: 2563, col: 29, offset: 84746}, expr: &charClassMatcher{ - pos: position{line: 2662, col: 29, offset: 87987}, + pos: position{line: 2563, col: 29, offset: 84746}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -44740,28 +36338,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonListElementContinuationElement1685, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -44770,9 +36368,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -44781,21 +36379,21 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1649, col: 5, offset: 53936}, + pos: position{line: 1656, col: 5, offset: 53995}, run: (*parser).callonListElementContinuationElement1692, expr: &seqExpr{ - pos: position{line: 1649, col: 5, offset: 53936}, + pos: position{line: 1656, col: 5, offset: 53995}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1649, col: 5, offset: 53936}, + pos: position{line: 1656, col: 5, offset: 53995}, label: "content", expr: &actionExpr{ - pos: position{line: 1649, col: 14, offset: 53945}, + pos: position{line: 1656, col: 14, offset: 54004}, run: (*parser).callonListElementContinuationElement1695, expr: &oneOrMoreExpr{ - pos: position{line: 1649, col: 14, offset: 53945}, + pos: position{line: 1656, col: 14, offset: 54004}, expr: &charClassMatcher{ - pos: position{line: 1649, col: 14, offset: 53945}, + pos: position{line: 1656, col: 14, offset: 54004}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -44805,32 +36403,32 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1652, col: 5, offset: 54002}, + pos: position{line: 1659, col: 5, offset: 54111}, run: (*parser).callonListElementContinuationElement1698, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonListElementContinuationElement1700, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -44839,9 +36437,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -44857,21 +36455,21 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1407, col: 5, offset: 45943}, + pos: position{line: 1414, col: 5, offset: 45978}, run: (*parser).callonListElementContinuationElement1707, expr: &seqExpr{ - pos: position{line: 1407, col: 5, offset: 45943}, + pos: position{line: 1414, col: 5, offset: 45978}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1407, col: 5, offset: 45943}, + pos: position{line: 1414, col: 5, offset: 45978}, label: "content", expr: &actionExpr{ - pos: position{line: 1407, col: 14, offset: 45952}, + pos: position{line: 1414, col: 14, offset: 45987}, run: (*parser).callonListElementContinuationElement1710, expr: &oneOrMoreExpr{ - pos: position{line: 1407, col: 14, offset: 45952}, + pos: position{line: 1414, col: 14, offset: 45987}, expr: &charClassMatcher{ - pos: position{line: 1407, col: 14, offset: 45952}, + pos: position{line: 1414, col: 14, offset: 45987}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -44881,28 +36479,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonListElementContinuationElement1714, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -44911,9 +36509,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -44930,33 +36528,33 @@ var g = &grammar{ }, { name: "Callout", - pos: position{line: 1565, col: 1, offset: 51106}, + pos: position{line: 1572, col: 1, offset: 51160}, expr: &actionExpr{ - pos: position{line: 1567, col: 5, offset: 51184}, + pos: position{line: 1574, col: 5, offset: 51238}, run: (*parser).callonCallout1, expr: &seqExpr{ - pos: position{line: 1567, col: 5, offset: 51184}, + pos: position{line: 1574, col: 5, offset: 51238}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 1567, col: 5, offset: 51184}, + pos: position{line: 1574, col: 5, offset: 51238}, run: (*parser).callonCallout3, }, &litMatcher{ - pos: position{line: 1570, col: 5, offset: 51246}, + pos: position{line: 1577, col: 5, offset: 51305}, val: "<", ignoreCase: false, want: "\"<\"", }, &labeledExpr{ - pos: position{line: 1570, col: 9, offset: 51250}, + pos: position{line: 1577, col: 9, offset: 51309}, label: "ref", expr: &actionExpr{ - pos: position{line: 1570, col: 14, offset: 51255}, + pos: position{line: 1577, col: 14, offset: 51314}, run: (*parser).callonCallout6, expr: &oneOrMoreExpr{ - pos: position{line: 1570, col: 14, offset: 51255}, + pos: position{line: 1577, col: 14, offset: 51314}, expr: &charClassMatcher{ - pos: position{line: 1570, col: 14, offset: 51255}, + pos: position{line: 1577, col: 14, offset: 51314}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -44966,18 +36564,18 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1570, col: 62, offset: 51303}, + pos: position{line: 1577, col: 62, offset: 51362}, val: ">", ignoreCase: false, want: "\">\"", }, &zeroOrMoreExpr{ - pos: position{line: 1570, col: 66, offset: 51307}, + pos: position{line: 1577, col: 66, offset: 51366}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonCallout11, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -44986,30 +36584,30 @@ var g = &grammar{ }, }, &andExpr{ - pos: position{line: 1570, col: 73, offset: 51314}, + pos: position{line: 1577, col: 73, offset: 51373}, expr: &choiceExpr{ - pos: position{line: 1570, col: 75, offset: 51316}, + pos: position{line: 1577, col: 75, offset: 51375}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonCallout15, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -45018,13 +36616,13 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, &ruleRefExpr{ - pos: position{line: 1570, col: 81, offset: 51322}, + pos: position{line: 1577, col: 81, offset: 51381}, name: "Callout", }, }, @@ -45036,17 +36634,17 @@ var g = &grammar{ }, { name: "ShortcutParagraph", - pos: position{line: 1596, col: 1, offset: 52183}, + pos: position{line: 1603, col: 1, offset: 52242}, expr: &actionExpr{ - pos: position{line: 1597, col: 5, offset: 52209}, + pos: position{line: 1604, col: 5, offset: 52268}, run: (*parser).callonShortcutParagraph1, expr: &seqExpr{ - pos: position{line: 1597, col: 5, offset: 52209}, + pos: position{line: 1604, col: 5, offset: 52268}, exprs: []interface{}{ &andExpr{ - pos: position{line: 1597, col: 5, offset: 52209}, + pos: position{line: 1604, col: 5, offset: 52268}, expr: &charClassMatcher{ - pos: position{line: 2852, col: 13, offset: 93681}, + pos: position{line: 2753, col: 13, offset: 90440}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -45055,22 +36653,22 @@ var g = &grammar{ }, }, &andExpr{ - pos: position{line: 1598, col: 5, offset: 52320}, + pos: position{line: 1605, col: 5, offset: 52379}, expr: ¬Expr{ - pos: position{line: 1598, col: 7, offset: 52322}, + pos: position{line: 1605, col: 7, offset: 52381}, expr: &actionExpr{ - pos: position{line: 1425, col: 5, offset: 46436}, + pos: position{line: 1432, col: 5, offset: 46471}, run: (*parser).callonShortcutParagraph7, expr: &seqExpr{ - pos: position{line: 1425, col: 5, offset: 46436}, + pos: position{line: 1432, col: 5, offset: 46471}, exprs: []interface{}{ &zeroOrMoreExpr{ - pos: position{line: 1425, col: 5, offset: 46436}, + pos: position{line: 1432, col: 5, offset: 46471}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonShortcutParagraph10, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -45079,27 +36677,27 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1425, col: 12, offset: 46443}, + pos: position{line: 1432, col: 12, offset: 46478}, label: "prefix", expr: &choiceExpr{ - pos: position{line: 1427, col: 9, offset: 46506}, + pos: position{line: 1434, col: 9, offset: 46541}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1427, col: 9, offset: 46506}, + pos: position{line: 1434, col: 9, offset: 46541}, run: (*parser).callonShortcutParagraph14, expr: &seqExpr{ - pos: position{line: 1427, col: 9, offset: 46506}, + pos: position{line: 1434, col: 9, offset: 46541}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1427, col: 9, offset: 46506}, + pos: position{line: 1434, col: 9, offset: 46541}, label: "depth", expr: &actionExpr{ - pos: position{line: 1427, col: 16, offset: 46513}, + pos: position{line: 1434, col: 16, offset: 46548}, run: (*parser).callonShortcutParagraph17, expr: &oneOrMoreExpr{ - pos: position{line: 1427, col: 16, offset: 46513}, + pos: position{line: 1434, col: 16, offset: 46548}, expr: &litMatcher{ - pos: position{line: 1427, col: 17, offset: 46514}, + pos: position{line: 1434, col: 17, offset: 46549}, val: ".", ignoreCase: false, want: "\".\"", @@ -45108,22 +36706,22 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1431, col: 9, offset: 46614}, + pos: position{line: 1438, col: 9, offset: 46649}, run: (*parser).callonShortcutParagraph20, }, }, }, }, &actionExpr{ - pos: position{line: 1450, col: 11, offset: 47331}, + pos: position{line: 1457, col: 11, offset: 47366}, run: (*parser).callonShortcutParagraph21, expr: &seqExpr{ - pos: position{line: 1450, col: 11, offset: 47331}, + pos: position{line: 1457, col: 11, offset: 47366}, exprs: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 1450, col: 11, offset: 47331}, + pos: position{line: 1457, col: 11, offset: 47366}, expr: &charClassMatcher{ - pos: position{line: 1450, col: 12, offset: 47332}, + pos: position{line: 1457, col: 12, offset: 47367}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -45131,7 +36729,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1450, col: 20, offset: 47340}, + pos: position{line: 1457, col: 20, offset: 47375}, val: ".", ignoreCase: false, want: "\".\"", @@ -45140,20 +36738,20 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1452, col: 13, offset: 47457}, + pos: position{line: 1459, col: 13, offset: 47492}, run: (*parser).callonShortcutParagraph26, expr: &seqExpr{ - pos: position{line: 1452, col: 13, offset: 47457}, + pos: position{line: 1459, col: 13, offset: 47492}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 1452, col: 14, offset: 47458}, + pos: position{line: 1459, col: 14, offset: 47493}, val: "[a-z]", ranges: []rune{'a', 'z'}, ignoreCase: false, inverted: false, }, &litMatcher{ - pos: position{line: 1452, col: 21, offset: 47465}, + pos: position{line: 1459, col: 21, offset: 47500}, val: ".", ignoreCase: false, want: "\".\"", @@ -45162,20 +36760,20 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1454, col: 13, offset: 47585}, + pos: position{line: 1461, col: 13, offset: 47620}, run: (*parser).callonShortcutParagraph30, expr: &seqExpr{ - pos: position{line: 1454, col: 13, offset: 47585}, + pos: position{line: 1461, col: 13, offset: 47620}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 1454, col: 14, offset: 47586}, + pos: position{line: 1461, col: 14, offset: 47621}, val: "[A-Z]", ranges: []rune{'A', 'Z'}, ignoreCase: false, inverted: false, }, &litMatcher{ - pos: position{line: 1454, col: 21, offset: 47593}, + pos: position{line: 1461, col: 21, offset: 47628}, val: ".", ignoreCase: false, want: "\".\"", @@ -45184,15 +36782,15 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1456, col: 13, offset: 47713}, + pos: position{line: 1463, col: 13, offset: 47748}, run: (*parser).callonShortcutParagraph34, expr: &seqExpr{ - pos: position{line: 1456, col: 13, offset: 47713}, + pos: position{line: 1463, col: 13, offset: 47748}, exprs: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 1456, col: 13, offset: 47713}, + pos: position{line: 1463, col: 13, offset: 47748}, expr: &charClassMatcher{ - pos: position{line: 1456, col: 14, offset: 47714}, + pos: position{line: 1463, col: 14, offset: 47749}, val: "[ivxdlcm]", chars: []rune{'i', 'v', 'x', 'd', 'l', 'c', 'm'}, ignoreCase: false, @@ -45200,7 +36798,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1456, col: 26, offset: 47726}, + pos: position{line: 1463, col: 26, offset: 47761}, val: ")", ignoreCase: false, want: "\")\"", @@ -45209,15 +36807,15 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1458, col: 13, offset: 47846}, + pos: position{line: 1465, col: 13, offset: 47881}, run: (*parser).callonShortcutParagraph39, expr: &seqExpr{ - pos: position{line: 1458, col: 13, offset: 47846}, + pos: position{line: 1465, col: 13, offset: 47881}, exprs: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 1458, col: 13, offset: 47846}, + pos: position{line: 1465, col: 13, offset: 47881}, expr: &charClassMatcher{ - pos: position{line: 1458, col: 14, offset: 47847}, + pos: position{line: 1465, col: 14, offset: 47882}, val: "[IVXDLCM]", chars: []rune{'I', 'V', 'X', 'D', 'L', 'C', 'M'}, ignoreCase: false, @@ -45225,7 +36823,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1458, col: 26, offset: 47859}, + pos: position{line: 1465, col: 26, offset: 47894}, val: ")", ignoreCase: false, want: "\")\"", @@ -45237,12 +36835,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2932, col: 11, offset: 96082}, + pos: position{line: 2842, col: 11, offset: 93236}, run: (*parser).callonShortcutParagraph44, expr: &oneOrMoreExpr{ - pos: position{line: 2932, col: 11, offset: 96082}, + pos: position{line: 2842, col: 11, offset: 93236}, expr: &charClassMatcher{ - pos: position{line: 2932, col: 12, offset: 96083}, + pos: position{line: 2842, col: 12, offset: 93237}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -45256,22 +36854,22 @@ var g = &grammar{ }, }, &andExpr{ - pos: position{line: 1599, col: 5, offset: 52353}, + pos: position{line: 1606, col: 5, offset: 52412}, expr: ¬Expr{ - pos: position{line: 1599, col: 7, offset: 52355}, + pos: position{line: 1606, col: 7, offset: 52414}, expr: &actionExpr{ - pos: position{line: 1475, col: 5, offset: 48398}, + pos: position{line: 1482, col: 5, offset: 48433}, run: (*parser).callonShortcutParagraph49, expr: &seqExpr{ - pos: position{line: 1475, col: 5, offset: 48398}, + pos: position{line: 1482, col: 5, offset: 48433}, exprs: []interface{}{ &zeroOrMoreExpr{ - pos: position{line: 1475, col: 5, offset: 48398}, + pos: position{line: 1482, col: 5, offset: 48433}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonShortcutParagraph52, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -45280,27 +36878,27 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1475, col: 12, offset: 48405}, + pos: position{line: 1482, col: 12, offset: 48440}, label: "prefix", expr: &choiceExpr{ - pos: position{line: 1475, col: 20, offset: 48413}, + pos: position{line: 1482, col: 20, offset: 48448}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1477, col: 9, offset: 48470}, + pos: position{line: 1484, col: 9, offset: 48505}, run: (*parser).callonShortcutParagraph56, expr: &seqExpr{ - pos: position{line: 1477, col: 9, offset: 48470}, + pos: position{line: 1484, col: 9, offset: 48505}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1477, col: 9, offset: 48470}, + pos: position{line: 1484, col: 9, offset: 48505}, label: "depth", expr: &actionExpr{ - pos: position{line: 1477, col: 16, offset: 48477}, + pos: position{line: 1484, col: 16, offset: 48512}, run: (*parser).callonShortcutParagraph59, expr: &oneOrMoreExpr{ - pos: position{line: 1477, col: 16, offset: 48477}, + pos: position{line: 1484, col: 16, offset: 48512}, expr: &litMatcher{ - pos: position{line: 1477, col: 17, offset: 48478}, + pos: position{line: 1484, col: 17, offset: 48513}, val: "*", ignoreCase: false, want: "\"*\"", @@ -45309,20 +36907,20 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1481, col: 9, offset: 48578}, + pos: position{line: 1488, col: 9, offset: 48613}, run: (*parser).callonShortcutParagraph62, }, }, }, }, &labeledExpr{ - pos: position{line: 1498, col: 14, offset: 49285}, + pos: position{line: 1505, col: 14, offset: 49320}, label: "depth", expr: &actionExpr{ - pos: position{line: 1498, col: 21, offset: 49292}, + pos: position{line: 1505, col: 21, offset: 49327}, run: (*parser).callonShortcutParagraph64, expr: &litMatcher{ - pos: position{line: 1498, col: 22, offset: 49293}, + pos: position{line: 1505, col: 22, offset: 49328}, val: "-", ignoreCase: false, want: "\"-\"", @@ -45333,12 +36931,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2932, col: 11, offset: 96082}, + pos: position{line: 2842, col: 11, offset: 93236}, run: (*parser).callonShortcutParagraph66, expr: &oneOrMoreExpr{ - pos: position{line: 2932, col: 11, offset: 96082}, + pos: position{line: 2842, col: 11, offset: 93236}, expr: &charClassMatcher{ - pos: position{line: 2932, col: 12, offset: 96083}, + pos: position{line: 2842, col: 12, offset: 93237}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -45352,57 +36950,57 @@ var g = &grammar{ }, }, &andExpr{ - pos: position{line: 1600, col: 5, offset: 52388}, + pos: position{line: 1607, col: 5, offset: 52447}, expr: ¬Expr{ - pos: position{line: 1600, col: 7, offset: 52390}, + pos: position{line: 1607, col: 7, offset: 52449}, expr: &choiceExpr{ - pos: position{line: 305, col: 19, offset: 9323}, + pos: position{line: 305, col: 19, offset: 9315}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 305, col: 19, offset: 9323}, + pos: position{line: 305, col: 19, offset: 9315}, run: (*parser).callonShortcutParagraph72, expr: &litMatcher{ - pos: position{line: 305, col: 19, offset: 9323}, + pos: position{line: 305, col: 19, offset: 9315}, val: "TIP", ignoreCase: false, want: "\"TIP\"", }, }, &actionExpr{ - pos: position{line: 307, col: 5, offset: 9361}, + pos: position{line: 307, col: 5, offset: 9353}, run: (*parser).callonShortcutParagraph74, expr: &litMatcher{ - pos: position{line: 307, col: 5, offset: 9361}, + pos: position{line: 307, col: 5, offset: 9353}, val: "NOTE", ignoreCase: false, want: "\"NOTE\"", }, }, &actionExpr{ - pos: position{line: 309, col: 5, offset: 9401}, + pos: position{line: 309, col: 5, offset: 9393}, run: (*parser).callonShortcutParagraph76, expr: &litMatcher{ - pos: position{line: 309, col: 5, offset: 9401}, + pos: position{line: 309, col: 5, offset: 9393}, val: "IMPORTANT", ignoreCase: false, want: "\"IMPORTANT\"", }, }, &actionExpr{ - pos: position{line: 311, col: 5, offset: 9451}, + pos: position{line: 311, col: 5, offset: 9443}, run: (*parser).callonShortcutParagraph78, expr: &litMatcher{ - pos: position{line: 311, col: 5, offset: 9451}, + pos: position{line: 311, col: 5, offset: 9443}, val: "WARNING", ignoreCase: false, want: "\"WARNING\"", }, }, &actionExpr{ - pos: position{line: 313, col: 5, offset: 9497}, + pos: position{line: 313, col: 5, offset: 9489}, run: (*parser).callonShortcutParagraph80, expr: &litMatcher{ - pos: position{line: 313, col: 5, offset: 9497}, + pos: position{line: 313, col: 5, offset: 9489}, val: "CAUTION", ignoreCase: false, want: "\"CAUTION\"", @@ -45413,24 +37011,24 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1601, col: 5, offset: 52411}, + pos: position{line: 1608, col: 5, offset: 52470}, label: "firstLine", expr: &actionExpr{ - pos: position{line: 1649, col: 5, offset: 53936}, + pos: position{line: 1656, col: 5, offset: 53995}, run: (*parser).callonShortcutParagraph83, expr: &seqExpr{ - pos: position{line: 1649, col: 5, offset: 53936}, + pos: position{line: 1656, col: 5, offset: 53995}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1649, col: 5, offset: 53936}, + pos: position{line: 1656, col: 5, offset: 53995}, label: "content", expr: &actionExpr{ - pos: position{line: 1649, col: 14, offset: 53945}, + pos: position{line: 1656, col: 14, offset: 54004}, run: (*parser).callonShortcutParagraph86, expr: &oneOrMoreExpr{ - pos: position{line: 1649, col: 14, offset: 53945}, + pos: position{line: 1656, col: 14, offset: 54004}, expr: &charClassMatcher{ - pos: position{line: 1649, col: 14, offset: 53945}, + pos: position{line: 1656, col: 14, offset: 54004}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -45440,32 +37038,32 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1652, col: 5, offset: 54002}, + pos: position{line: 1659, col: 5, offset: 54111}, run: (*parser).callonShortcutParagraph89, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonShortcutParagraph91, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -45474,9 +37072,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -45486,53 +37084,53 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1602, col: 5, offset: 52445}, + pos: position{line: 1609, col: 5, offset: 52504}, run: (*parser).callonShortcutParagraph98, }, &labeledExpr{ - pos: position{line: 1609, col: 5, offset: 52807}, + pos: position{line: 1616, col: 5, offset: 52866}, label: "otherLines", expr: &zeroOrMoreExpr{ - pos: position{line: 1609, col: 16, offset: 52818}, + pos: position{line: 1616, col: 16, offset: 52877}, expr: &actionExpr{ - pos: position{line: 1610, col: 9, offset: 52828}, + pos: position{line: 1617, col: 9, offset: 52887}, run: (*parser).callonShortcutParagraph101, expr: &seqExpr{ - pos: position{line: 1610, col: 9, offset: 52828}, + pos: position{line: 1617, col: 9, offset: 52887}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 1610, col: 9, offset: 52828}, + pos: position{line: 1617, col: 9, offset: 52887}, expr: ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, ¬Expr{ - pos: position{line: 1611, col: 9, offset: 52842}, + pos: position{line: 1618, col: 9, offset: 52901}, expr: &actionExpr{ - pos: position{line: 682, col: 14, offset: 22022}, + pos: position{line: 689, col: 14, offset: 22046}, run: (*parser).callonShortcutParagraph107, expr: &seqExpr{ - pos: position{line: 682, col: 14, offset: 22022}, + pos: position{line: 689, col: 14, offset: 22046}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 682, col: 14, offset: 22022}, + pos: position{line: 689, col: 14, offset: 22046}, expr: ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, &zeroOrMoreExpr{ - pos: position{line: 682, col: 19, offset: 22027}, + pos: position{line: 689, col: 19, offset: 22051}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonShortcutParagraph113, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -45541,28 +37139,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonShortcutParagraph116, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -45571,9 +37169,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -45583,30 +37181,30 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 1612, col: 9, offset: 52861}, + pos: position{line: 1619, col: 9, offset: 52920}, expr: &ruleRefExpr{ - pos: position{line: 1612, col: 10, offset: 52862}, + pos: position{line: 1619, col: 10, offset: 52921}, name: "BlockAttributes", }, }, ¬Expr{ - pos: position{line: 1613, col: 9, offset: 52886}, + pos: position{line: 1620, col: 9, offset: 52945}, expr: &seqExpr{ - pos: position{line: 1377, col: 34, offset: 44957}, + pos: position{line: 1384, col: 34, offset: 44997}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1377, col: 34, offset: 44957}, + pos: position{line: 1384, col: 34, offset: 44997}, val: "+", ignoreCase: false, want: "\"+\"", }, &zeroOrMoreExpr{ - pos: position{line: 1377, col: 38, offset: 44961}, + pos: position{line: 1384, col: 38, offset: 45001}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonShortcutParagraph129, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -45615,25 +37213,25 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonShortcutParagraph131, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -45645,42 +37243,42 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1614, col: 9, offset: 52925}, + pos: position{line: 1621, col: 9, offset: 52984}, label: "line", expr: &choiceExpr{ - pos: position{line: 1614, col: 15, offset: 52931}, + pos: position{line: 1621, col: 15, offset: 52990}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2655, col: 22, offset: 87725}, + pos: position{line: 2556, col: 22, offset: 84484}, run: (*parser).callonShortcutParagraph138, expr: &seqExpr{ - pos: position{line: 2655, col: 22, offset: 87725}, + pos: position{line: 2556, col: 22, offset: 84484}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2660, col: 31, offset: 87946}, + pos: position{line: 2561, col: 31, offset: 84705}, val: "//", ignoreCase: false, want: "\"//\"", }, ¬Expr{ - pos: position{line: 2660, col: 36, offset: 87951}, + pos: position{line: 2561, col: 36, offset: 84710}, expr: &litMatcher{ - pos: position{line: 2660, col: 37, offset: 87952}, + pos: position{line: 2561, col: 37, offset: 84711}, val: "//", ignoreCase: false, want: "\"//\"", }, }, &labeledExpr{ - pos: position{line: 2655, col: 49, offset: 87752}, + pos: position{line: 2556, col: 49, offset: 84511}, label: "content", expr: &actionExpr{ - pos: position{line: 2662, col: 29, offset: 87987}, + pos: position{line: 2563, col: 29, offset: 84746}, run: (*parser).callonShortcutParagraph144, expr: &zeroOrMoreExpr{ - pos: position{line: 2662, col: 29, offset: 87987}, + pos: position{line: 2563, col: 29, offset: 84746}, expr: &charClassMatcher{ - pos: position{line: 2662, col: 29, offset: 87987}, + pos: position{line: 2563, col: 29, offset: 84746}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -45690,28 +37288,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonShortcutParagraph148, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -45720,9 +37318,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -45731,21 +37329,21 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1649, col: 5, offset: 53936}, + pos: position{line: 1656, col: 5, offset: 53995}, run: (*parser).callonShortcutParagraph155, expr: &seqExpr{ - pos: position{line: 1649, col: 5, offset: 53936}, + pos: position{line: 1656, col: 5, offset: 53995}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1649, col: 5, offset: 53936}, + pos: position{line: 1656, col: 5, offset: 53995}, label: "content", expr: &actionExpr{ - pos: position{line: 1649, col: 14, offset: 53945}, + pos: position{line: 1656, col: 14, offset: 54004}, run: (*parser).callonShortcutParagraph158, expr: &oneOrMoreExpr{ - pos: position{line: 1649, col: 14, offset: 53945}, + pos: position{line: 1656, col: 14, offset: 54004}, expr: &charClassMatcher{ - pos: position{line: 1649, col: 14, offset: 53945}, + pos: position{line: 1656, col: 14, offset: 54004}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -45755,32 +37353,32 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1652, col: 5, offset: 54002}, + pos: position{line: 1659, col: 5, offset: 54111}, run: (*parser).callonShortcutParagraph161, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonShortcutParagraph163, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -45789,9 +37387,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -45813,32 +37411,32 @@ var g = &grammar{ }, { name: "Paragraph", - pos: position{line: 1621, col: 1, offset: 53128}, + pos: position{line: 1628, col: 1, offset: 53187}, expr: &actionExpr{ - pos: position{line: 1622, col: 5, offset: 53146}, + pos: position{line: 1629, col: 5, offset: 53205}, run: (*parser).callonParagraph1, expr: &seqExpr{ - pos: position{line: 1622, col: 5, offset: 53146}, + pos: position{line: 1629, col: 5, offset: 53205}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1622, col: 5, offset: 53146}, + pos: position{line: 1629, col: 5, offset: 53205}, label: "firstLine", expr: &actionExpr{ - pos: position{line: 1649, col: 5, offset: 53936}, + pos: position{line: 1656, col: 5, offset: 53995}, run: (*parser).callonParagraph4, expr: &seqExpr{ - pos: position{line: 1649, col: 5, offset: 53936}, + pos: position{line: 1656, col: 5, offset: 53995}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1649, col: 5, offset: 53936}, + pos: position{line: 1656, col: 5, offset: 53995}, label: "content", expr: &actionExpr{ - pos: position{line: 1649, col: 14, offset: 53945}, + pos: position{line: 1656, col: 14, offset: 54004}, run: (*parser).callonParagraph7, expr: &oneOrMoreExpr{ - pos: position{line: 1649, col: 14, offset: 53945}, + pos: position{line: 1656, col: 14, offset: 54004}, expr: &charClassMatcher{ - pos: position{line: 1649, col: 14, offset: 53945}, + pos: position{line: 1656, col: 14, offset: 54004}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -45848,32 +37446,32 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1652, col: 5, offset: 54002}, + pos: position{line: 1659, col: 5, offset: 54111}, run: (*parser).callonParagraph10, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonParagraph12, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -45882,9 +37480,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -45894,49 +37492,49 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1623, col: 5, offset: 53180}, + pos: position{line: 1630, col: 5, offset: 53239}, label: "otherLines", expr: &zeroOrMoreExpr{ - pos: position{line: 1623, col: 16, offset: 53191}, + pos: position{line: 1630, col: 16, offset: 53250}, expr: &actionExpr{ - pos: position{line: 1624, col: 9, offset: 53201}, + pos: position{line: 1631, col: 9, offset: 53260}, run: (*parser).callonParagraph21, expr: &seqExpr{ - pos: position{line: 1624, col: 9, offset: 53201}, + pos: position{line: 1631, col: 9, offset: 53260}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 1624, col: 9, offset: 53201}, + pos: position{line: 1631, col: 9, offset: 53260}, expr: ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, ¬Expr{ - pos: position{line: 1625, col: 9, offset: 53214}, + pos: position{line: 1632, col: 9, offset: 53273}, expr: &actionExpr{ - pos: position{line: 682, col: 14, offset: 22022}, + pos: position{line: 689, col: 14, offset: 22046}, run: (*parser).callonParagraph27, expr: &seqExpr{ - pos: position{line: 682, col: 14, offset: 22022}, + pos: position{line: 689, col: 14, offset: 22046}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 682, col: 14, offset: 22022}, + pos: position{line: 689, col: 14, offset: 22046}, expr: ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, &zeroOrMoreExpr{ - pos: position{line: 682, col: 19, offset: 22027}, + pos: position{line: 689, col: 19, offset: 22051}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonParagraph33, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -45945,28 +37543,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonParagraph36, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -45975,9 +37573,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -45987,30 +37585,30 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 1626, col: 9, offset: 53233}, + pos: position{line: 1633, col: 9, offset: 53292}, expr: &ruleRefExpr{ - pos: position{line: 1626, col: 10, offset: 53234}, + pos: position{line: 1633, col: 10, offset: 53293}, name: "BlockAttributes", }, }, ¬Expr{ - pos: position{line: 1627, col: 9, offset: 53258}, + pos: position{line: 1634, col: 9, offset: 53317}, expr: &seqExpr{ - pos: position{line: 1377, col: 34, offset: 44957}, + pos: position{line: 1384, col: 34, offset: 44997}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1377, col: 34, offset: 44957}, + pos: position{line: 1384, col: 34, offset: 44997}, val: "+", ignoreCase: false, want: "\"+\"", }, &zeroOrMoreExpr{ - pos: position{line: 1377, col: 38, offset: 44961}, + pos: position{line: 1384, col: 38, offset: 45001}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonParagraph49, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -46019,25 +37617,25 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonParagraph51, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -46049,42 +37647,42 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1628, col: 9, offset: 53297}, + pos: position{line: 1635, col: 9, offset: 53356}, label: "line", expr: &choiceExpr{ - pos: position{line: 1628, col: 15, offset: 53303}, + pos: position{line: 1635, col: 15, offset: 53362}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2655, col: 22, offset: 87725}, + pos: position{line: 2556, col: 22, offset: 84484}, run: (*parser).callonParagraph58, expr: &seqExpr{ - pos: position{line: 2655, col: 22, offset: 87725}, + pos: position{line: 2556, col: 22, offset: 84484}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2660, col: 31, offset: 87946}, + pos: position{line: 2561, col: 31, offset: 84705}, val: "//", ignoreCase: false, want: "\"//\"", }, ¬Expr{ - pos: position{line: 2660, col: 36, offset: 87951}, + pos: position{line: 2561, col: 36, offset: 84710}, expr: &litMatcher{ - pos: position{line: 2660, col: 37, offset: 87952}, + pos: position{line: 2561, col: 37, offset: 84711}, val: "//", ignoreCase: false, want: "\"//\"", }, }, &labeledExpr{ - pos: position{line: 2655, col: 49, offset: 87752}, + pos: position{line: 2556, col: 49, offset: 84511}, label: "content", expr: &actionExpr{ - pos: position{line: 2662, col: 29, offset: 87987}, + pos: position{line: 2563, col: 29, offset: 84746}, run: (*parser).callonParagraph64, expr: &zeroOrMoreExpr{ - pos: position{line: 2662, col: 29, offset: 87987}, + pos: position{line: 2563, col: 29, offset: 84746}, expr: &charClassMatcher{ - pos: position{line: 2662, col: 29, offset: 87987}, + pos: position{line: 2563, col: 29, offset: 84746}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -46094,28 +37692,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonParagraph68, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -46124,9 +37722,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -46135,21 +37733,21 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1649, col: 5, offset: 53936}, + pos: position{line: 1656, col: 5, offset: 53995}, run: (*parser).callonParagraph75, expr: &seqExpr{ - pos: position{line: 1649, col: 5, offset: 53936}, + pos: position{line: 1656, col: 5, offset: 53995}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1649, col: 5, offset: 53936}, + pos: position{line: 1656, col: 5, offset: 53995}, label: "content", expr: &actionExpr{ - pos: position{line: 1649, col: 14, offset: 53945}, + pos: position{line: 1656, col: 14, offset: 54004}, run: (*parser).callonParagraph78, expr: &oneOrMoreExpr{ - pos: position{line: 1649, col: 14, offset: 53945}, + pos: position{line: 1656, col: 14, offset: 54004}, expr: &charClassMatcher{ - pos: position{line: 1649, col: 14, offset: 53945}, + pos: position{line: 1656, col: 14, offset: 54004}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -46159,32 +37757,32 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1652, col: 5, offset: 54002}, + pos: position{line: 1659, col: 5, offset: 54111}, run: (*parser).callonParagraph81, }, &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonParagraph83, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -46193,9 +37791,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -46217,39 +37815,39 @@ var g = &grammar{ }, { name: "QuotedText", - pos: position{line: 1680, col: 1, offset: 54986}, + pos: position{line: 1687, col: 1, offset: 55097}, expr: &choiceExpr{ - pos: position{line: 1681, col: 5, offset: 55005}, + pos: position{line: 1688, col: 5, offset: 55116}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1682, col: 9, offset: 55015}, + pos: position{line: 1689, col: 9, offset: 55126}, run: (*parser).callonQuotedText2, expr: &seqExpr{ - pos: position{line: 1682, col: 9, offset: 55015}, + pos: position{line: 1689, col: 9, offset: 55126}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1682, col: 9, offset: 55015}, + pos: position{line: 1689, col: 9, offset: 55126}, label: "attributes", expr: &zeroOrOneExpr{ - pos: position{line: 1682, col: 20, offset: 55026}, + pos: position{line: 1689, col: 20, offset: 55137}, expr: &ruleRefExpr{ - pos: position{line: 1682, col: 21, offset: 55027}, + pos: position{line: 1689, col: 21, offset: 55138}, name: "LongHandAttributes", }, }, }, &labeledExpr{ - pos: position{line: 1683, col: 9, offset: 55153}, + pos: position{line: 1690, col: 9, offset: 55264}, label: "text", expr: &choiceExpr{ - pos: position{line: 1683, col: 15, offset: 55159}, + pos: position{line: 1690, col: 15, offset: 55270}, alternatives: []interface{}{ &ruleRefExpr{ - pos: position{line: 1683, col: 15, offset: 55159}, + pos: position{line: 1690, col: 15, offset: 55270}, name: "UnconstrainedQuotedText", }, &ruleRefExpr{ - pos: position{line: 1683, col: 41, offset: 55185}, + pos: position{line: 1690, col: 41, offset: 55296}, name: "ConstrainedQuotedText", }, }, @@ -46259,7 +37857,7 @@ var g = &grammar{ }, }, &ruleRefExpr{ - pos: position{line: 1687, col: 7, offset: 55304}, + pos: position{line: 1694, col: 7, offset: 55415}, name: "EscapedQuotedText", }, }, @@ -46267,32 +37865,32 @@ var g = &grammar{ }, { name: "ConstrainedQuotedText", - pos: position{line: 1693, col: 1, offset: 55495}, + pos: position{line: 1700, col: 1, offset: 55606}, expr: &choiceExpr{ - pos: position{line: 1694, col: 5, offset: 55525}, + pos: position{line: 1701, col: 5, offset: 55636}, alternatives: []interface{}{ &ruleRefExpr{ - pos: position{line: 1694, col: 5, offset: 55525}, + pos: position{line: 1701, col: 5, offset: 55636}, name: "SingleQuoteBoldText", }, &ruleRefExpr{ - pos: position{line: 1695, col: 7, offset: 55552}, + pos: position{line: 1702, col: 7, offset: 55663}, name: "SingleQuoteItalicText", }, &ruleRefExpr{ - pos: position{line: 1696, col: 7, offset: 55580}, + pos: position{line: 1703, col: 7, offset: 55691}, name: "SingleQuoteMarkedText", }, &ruleRefExpr{ - pos: position{line: 1697, col: 7, offset: 55608}, + pos: position{line: 1704, col: 7, offset: 55719}, name: "SingleQuoteMonospaceText", }, &ruleRefExpr{ - pos: position{line: 1698, col: 7, offset: 55640}, + pos: position{line: 1705, col: 7, offset: 55751}, name: "SubscriptText", }, &ruleRefExpr{ - pos: position{line: 1699, col: 7, offset: 55661}, + pos: position{line: 1706, col: 7, offset: 55772}, name: "SuperscriptText", }, }, @@ -46300,24 +37898,24 @@ var g = &grammar{ }, { name: "UnconstrainedQuotedText", - pos: position{line: 1701, col: 1, offset: 55679}, + pos: position{line: 1708, col: 1, offset: 55790}, expr: &choiceExpr{ - pos: position{line: 1702, col: 5, offset: 55711}, + pos: position{line: 1709, col: 5, offset: 55822}, alternatives: []interface{}{ &ruleRefExpr{ - pos: position{line: 1702, col: 5, offset: 55711}, + pos: position{line: 1709, col: 5, offset: 55822}, name: "DoubleQuoteBoldText", }, &ruleRefExpr{ - pos: position{line: 1703, col: 7, offset: 55737}, + pos: position{line: 1710, col: 7, offset: 55848}, name: "DoubleQuoteItalicText", }, &ruleRefExpr{ - pos: position{line: 1704, col: 7, offset: 55765}, + pos: position{line: 1711, col: 7, offset: 55876}, name: "DoubleQuoteMarkedText", }, &ruleRefExpr{ - pos: position{line: 1705, col: 7, offset: 55793}, + pos: position{line: 1712, col: 7, offset: 55904}, name: "DoubleQuoteMonospaceText", }, }, @@ -46325,50 +37923,50 @@ var g = &grammar{ }, { name: "EscapedQuotedText", - pos: position{line: 1707, col: 1, offset: 55819}, + pos: position{line: 1714, col: 1, offset: 55930}, expr: &actionExpr{ - pos: position{line: 1708, col: 5, offset: 55900}, + pos: position{line: 1715, col: 5, offset: 56011}, run: (*parser).callonEscapedQuotedText1, expr: &seqExpr{ - pos: position{line: 1708, col: 5, offset: 55900}, + pos: position{line: 1715, col: 5, offset: 56011}, exprs: []interface{}{ &andExpr{ - pos: position{line: 1708, col: 5, offset: 55900}, + pos: position{line: 1715, col: 5, offset: 56011}, expr: &litMatcher{ - pos: position{line: 1708, col: 7, offset: 55902}, + pos: position{line: 1715, col: 7, offset: 56013}, val: "\\", ignoreCase: false, want: "\"\\\\\"", }, }, &labeledExpr{ - pos: position{line: 1709, col: 5, offset: 55911}, + pos: position{line: 1716, col: 5, offset: 56022}, label: "element", expr: &choiceExpr{ - pos: position{line: 1710, col: 9, offset: 55929}, + pos: position{line: 1717, col: 9, offset: 56040}, alternatives: []interface{}{ &ruleRefExpr{ - pos: position{line: 1710, col: 9, offset: 55929}, + pos: position{line: 1717, col: 9, offset: 56040}, name: "EscapedBoldText", }, &ruleRefExpr{ - pos: position{line: 1711, col: 11, offset: 55956}, + pos: position{line: 1718, col: 11, offset: 56067}, name: "EscapedItalicText", }, &ruleRefExpr{ - pos: position{line: 1712, col: 11, offset: 55984}, + pos: position{line: 1719, col: 11, offset: 56095}, name: "EscapedMarkedText", }, &ruleRefExpr{ - pos: position{line: 1713, col: 11, offset: 56012}, + pos: position{line: 1720, col: 11, offset: 56123}, name: "EscapedMonospaceText", }, &ruleRefExpr{ - pos: position{line: 1714, col: 11, offset: 56044}, + pos: position{line: 1721, col: 11, offset: 56155}, name: "EscapedSubscriptText", }, &ruleRefExpr{ - pos: position{line: 1715, col: 11, offset: 56076}, + pos: position{line: 1722, col: 11, offset: 56187}, name: "EscapedSuperscriptText", }, }, @@ -46380,16 +37978,16 @@ var g = &grammar{ }, { name: "BoldText", - pos: position{line: 1735, col: 1, offset: 56603}, + pos: position{line: 1742, col: 1, offset: 56714}, expr: &choiceExpr{ - pos: position{line: 1735, col: 13, offset: 56615}, + pos: position{line: 1742, col: 13, offset: 56726}, alternatives: []interface{}{ &ruleRefExpr{ - pos: position{line: 1735, col: 13, offset: 56615}, + pos: position{line: 1742, col: 13, offset: 56726}, name: "DoubleQuoteBoldText", }, &ruleRefExpr{ - pos: position{line: 1735, col: 35, offset: 56637}, + pos: position{line: 1742, col: 35, offset: 56748}, name: "SingleQuoteBoldText", }, }, @@ -46397,29 +37995,29 @@ var g = &grammar{ }, { name: "DoubleQuoteBoldText", - pos: position{line: 1749, col: 1, offset: 56999}, + pos: position{line: 1756, col: 1, offset: 57110}, expr: &actionExpr{ - pos: position{line: 1750, col: 5, offset: 57027}, + pos: position{line: 1757, col: 5, offset: 57138}, run: (*parser).callonDoubleQuoteBoldText1, expr: &seqExpr{ - pos: position{line: 1750, col: 5, offset: 57027}, + pos: position{line: 1757, col: 5, offset: 57138}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1747, col: 33, offset: 56993}, + pos: position{line: 1754, col: 33, offset: 57104}, val: "**", ignoreCase: false, want: "\"**\"", }, &labeledExpr{ - pos: position{line: 1751, col: 5, offset: 57061}, + pos: position{line: 1758, col: 5, offset: 57172}, label: "elements", expr: &ruleRefExpr{ - pos: position{line: 1751, col: 15, offset: 57071}, + pos: position{line: 1758, col: 15, offset: 57182}, name: "DoubleQuoteBoldTextElements", }, }, &litMatcher{ - pos: position{line: 1747, col: 33, offset: 56993}, + pos: position{line: 1754, col: 33, offset: 57104}, val: "**", ignoreCase: false, want: "\"**\"", @@ -46430,49 +38028,49 @@ var g = &grammar{ }, { name: "DoubleQuoteBoldTextElements", - pos: position{line: 1756, col: 1, offset: 57228}, + pos: position{line: 1763, col: 1, offset: 57339}, expr: &oneOrMoreExpr{ - pos: position{line: 1756, col: 32, offset: 57259}, + pos: position{line: 1763, col: 32, offset: 57370}, expr: &ruleRefExpr{ - pos: position{line: 1756, col: 32, offset: 57259}, + pos: position{line: 1763, col: 32, offset: 57370}, name: "DoubleQuoteBoldTextElement", }, }, }, { name: "DoubleQuoteBoldTextElement", - pos: position{line: 1758, col: 1, offset: 57290}, + pos: position{line: 1765, col: 1, offset: 57401}, expr: &actionExpr{ - pos: position{line: 1759, col: 5, offset: 57325}, + pos: position{line: 1766, col: 5, offset: 57436}, run: (*parser).callonDoubleQuoteBoldTextElement1, expr: &seqExpr{ - pos: position{line: 1759, col: 5, offset: 57325}, + pos: position{line: 1766, col: 5, offset: 57436}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 1759, col: 5, offset: 57325}, + pos: position{line: 1766, col: 5, offset: 57436}, expr: &litMatcher{ - pos: position{line: 1747, col: 33, offset: 56993}, + pos: position{line: 1754, col: 33, offset: 57104}, val: "**", ignoreCase: false, want: "\"**\"", }, }, &labeledExpr{ - pos: position{line: 1760, col: 5, offset: 57359}, + pos: position{line: 1767, col: 5, offset: 57470}, label: "element", expr: &choiceExpr{ - pos: position{line: 1761, col: 9, offset: 57377}, + pos: position{line: 1768, col: 9, offset: 57488}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1740, col: 5, offset: 56751}, + pos: position{line: 1747, col: 5, offset: 56862}, run: (*parser).callonDoubleQuoteBoldTextElement7, expr: &seqExpr{ - pos: position{line: 1740, col: 5, offset: 56751}, + pos: position{line: 1747, col: 5, offset: 56862}, exprs: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 1740, col: 5, offset: 56751}, + pos: position{line: 1747, col: 5, offset: 56862}, expr: &charClassMatcher{ - pos: position{line: 1740, col: 5, offset: 56751}, + pos: position{line: 1747, col: 5, offset: 56862}, val: "[,?!;0-9\\pL]", chars: []rune{',', '?', '!', ';'}, ranges: []rune{'0', '9'}, @@ -46482,15 +38080,15 @@ var g = &grammar{ }, }, &andExpr{ - pos: position{line: 1740, col: 19, offset: 56765}, + pos: position{line: 1747, col: 19, offset: 56876}, expr: &choiceExpr{ - pos: position{line: 1740, col: 21, offset: 56767}, + pos: position{line: 1747, col: 21, offset: 56878}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonDoubleQuoteBoldTextElement13, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -46498,7 +38096,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1737, col: 22, offset: 56725}, + pos: position{line: 1744, col: 22, offset: 56836}, val: "*", ignoreCase: false, want: "\"*\"", @@ -46510,12 +38108,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2932, col: 11, offset: 96082}, + pos: position{line: 2842, col: 11, offset: 93236}, run: (*parser).callonDoubleQuoteBoldTextElement16, expr: &oneOrMoreExpr{ - pos: position{line: 2932, col: 11, offset: 96082}, + pos: position{line: 2842, col: 11, offset: 93236}, expr: &charClassMatcher{ - pos: position{line: 2932, col: 12, offset: 96083}, + pos: position{line: 2842, col: 12, offset: 93237}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -46524,28 +38122,28 @@ var g = &grammar{ }, }, &seqExpr{ - pos: position{line: 1763, col: 11, offset: 57450}, + pos: position{line: 1770, col: 11, offset: 57561}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonDoubleQuoteBoldTextElement20, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -46554,27 +38152,27 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 1763, col: 19, offset: 57458}, + pos: position{line: 1770, col: 19, offset: 57569}, expr: &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonDoubleQuoteBoldTextElement26, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -46586,44 +38184,44 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 649, col: 5, offset: 20887}, + pos: position{line: 655, col: 5, offset: 20901}, run: (*parser).callonDoubleQuoteBoldTextElement31, expr: &seqExpr{ - pos: position{line: 649, col: 5, offset: 20887}, + pos: position{line: 655, col: 5, offset: 20901}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 649, col: 5, offset: 20887}, + pos: position{line: 655, col: 5, offset: 20901}, run: (*parser).callonDoubleQuoteBoldTextElement33, }, &labeledExpr{ - pos: position{line: 652, col: 5, offset: 20951}, + pos: position{line: 658, col: 5, offset: 20970}, label: "element", expr: &choiceExpr{ - pos: position{line: 652, col: 14, offset: 20960}, + pos: position{line: 658, col: 14, offset: 20979}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 663, col: 25, offset: 21324}, + pos: position{line: 670, col: 25, offset: 21348}, run: (*parser).callonDoubleQuoteBoldTextElement36, expr: &seqExpr{ - pos: position{line: 663, col: 25, offset: 21324}, + pos: position{line: 670, col: 25, offset: 21348}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 663, col: 25, offset: 21324}, + pos: position{line: 670, col: 25, offset: 21348}, val: "{counter:", ignoreCase: false, want: "\"{counter:\"", }, &labeledExpr{ - pos: position{line: 663, col: 37, offset: 21336}, + pos: position{line: 670, col: 37, offset: 21360}, label: "name", expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, run: (*parser).callonDoubleQuoteBoldTextElement40, expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -46632,9 +38230,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, + pos: position{line: 336, col: 28, offset: 10335}, expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, + pos: position{line: 336, col: 29, offset: 10336}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -46648,33 +38246,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 663, col: 56, offset: 21355}, + pos: position{line: 670, col: 56, offset: 21379}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 663, col: 62, offset: 21361}, + pos: position{line: 670, col: 62, offset: 21385}, expr: &actionExpr{ - pos: position{line: 671, col: 17, offset: 21656}, + pos: position{line: 678, col: 17, offset: 21680}, run: (*parser).callonDoubleQuoteBoldTextElement47, expr: &seqExpr{ - pos: position{line: 671, col: 17, offset: 21656}, + pos: position{line: 678, col: 17, offset: 21680}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 671, col: 17, offset: 21656}, + pos: position{line: 678, col: 17, offset: 21680}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 671, col: 21, offset: 21660}, + pos: position{line: 678, col: 21, offset: 21684}, label: "start", expr: &choiceExpr{ - pos: position{line: 671, col: 28, offset: 21667}, + pos: position{line: 678, col: 28, offset: 21691}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 671, col: 28, offset: 21667}, + pos: position{line: 678, col: 28, offset: 21691}, run: (*parser).callonDoubleQuoteBoldTextElement52, expr: &charClassMatcher{ - pos: position{line: 671, col: 28, offset: 21667}, + pos: position{line: 678, col: 28, offset: 21691}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -46682,12 +38280,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 673, col: 9, offset: 21721}, + pos: position{line: 680, col: 9, offset: 21745}, run: (*parser).callonDoubleQuoteBoldTextElement54, expr: &oneOrMoreExpr{ - pos: position{line: 673, col: 9, offset: 21721}, + pos: position{line: 680, col: 9, offset: 21745}, expr: &charClassMatcher{ - pos: position{line: 673, col: 9, offset: 21721}, + pos: position{line: 680, col: 9, offset: 21745}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -46704,7 +38302,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 663, col: 78, offset: 21377}, + pos: position{line: 670, col: 78, offset: 21401}, val: "}", ignoreCase: false, want: "\"}\"", @@ -46713,28 +38311,28 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 667, col: 25, offset: 21495}, + pos: position{line: 674, col: 25, offset: 21519}, run: (*parser).callonDoubleQuoteBoldTextElement58, expr: &seqExpr{ - pos: position{line: 667, col: 25, offset: 21495}, + pos: position{line: 674, col: 25, offset: 21519}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 667, col: 25, offset: 21495}, + pos: position{line: 674, col: 25, offset: 21519}, val: "{counter2:", ignoreCase: false, want: "\"{counter2:\"", }, &labeledExpr{ - pos: position{line: 667, col: 38, offset: 21508}, + pos: position{line: 674, col: 38, offset: 21532}, label: "name", expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, run: (*parser).callonDoubleQuoteBoldTextElement62, expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -46743,9 +38341,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, + pos: position{line: 336, col: 28, offset: 10335}, expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, + pos: position{line: 336, col: 29, offset: 10336}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -46759,33 +38357,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 667, col: 57, offset: 21527}, + pos: position{line: 674, col: 57, offset: 21551}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 667, col: 63, offset: 21533}, + pos: position{line: 674, col: 63, offset: 21557}, expr: &actionExpr{ - pos: position{line: 671, col: 17, offset: 21656}, + pos: position{line: 678, col: 17, offset: 21680}, run: (*parser).callonDoubleQuoteBoldTextElement69, expr: &seqExpr{ - pos: position{line: 671, col: 17, offset: 21656}, + pos: position{line: 678, col: 17, offset: 21680}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 671, col: 17, offset: 21656}, + pos: position{line: 678, col: 17, offset: 21680}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 671, col: 21, offset: 21660}, + pos: position{line: 678, col: 21, offset: 21684}, label: "start", expr: &choiceExpr{ - pos: position{line: 671, col: 28, offset: 21667}, + pos: position{line: 678, col: 28, offset: 21691}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 671, col: 28, offset: 21667}, + pos: position{line: 678, col: 28, offset: 21691}, run: (*parser).callonDoubleQuoteBoldTextElement74, expr: &charClassMatcher{ - pos: position{line: 671, col: 28, offset: 21667}, + pos: position{line: 678, col: 28, offset: 21691}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -46793,12 +38391,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 673, col: 9, offset: 21721}, + pos: position{line: 680, col: 9, offset: 21745}, run: (*parser).callonDoubleQuoteBoldTextElement76, expr: &oneOrMoreExpr{ - pos: position{line: 673, col: 9, offset: 21721}, + pos: position{line: 680, col: 9, offset: 21745}, expr: &charClassMatcher{ - pos: position{line: 673, col: 9, offset: 21721}, + pos: position{line: 680, col: 9, offset: 21745}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -46815,7 +38413,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 667, col: 79, offset: 21549}, + pos: position{line: 674, col: 79, offset: 21573}, val: "}", ignoreCase: false, want: "\"}\"", @@ -46824,28 +38422,28 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 656, col: 31, offset: 21077}, + pos: position{line: 663, col: 5, offset: 21092}, run: (*parser).callonDoubleQuoteBoldTextElement80, expr: &seqExpr{ - pos: position{line: 656, col: 31, offset: 21077}, + pos: position{line: 663, col: 5, offset: 21092}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 656, col: 31, offset: 21077}, + pos: position{line: 663, col: 5, offset: 21092}, val: "{", ignoreCase: false, want: "\"{\"", }, &labeledExpr{ - pos: position{line: 656, col: 35, offset: 21081}, + pos: position{line: 663, col: 9, offset: 21096}, label: "name", expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, run: (*parser).callonDoubleQuoteBoldTextElement84, expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -46854,9 +38452,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, + pos: position{line: 336, col: 28, offset: 10335}, expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, + pos: position{line: 336, col: 29, offset: 10336}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -46870,7 +38468,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 656, col: 54, offset: 21100}, + pos: position{line: 663, col: 28, offset: 21115}, val: "}", ignoreCase: false, want: "\"}\"", @@ -46885,49 +38483,49 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2638, col: 5, offset: 87092}, + pos: position{line: 2539, col: 5, offset: 83846}, run: (*parser).callonDoubleQuoteBoldTextElement90, expr: &seqExpr{ - pos: position{line: 2638, col: 5, offset: 87092}, + pos: position{line: 2539, col: 5, offset: 83846}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 2638, col: 5, offset: 87092}, + pos: position{line: 2539, col: 5, offset: 83846}, run: (*parser).callonDoubleQuoteBoldTextElement92, }, &labeledExpr{ - pos: position{line: 2641, col: 5, offset: 87163}, + pos: position{line: 2542, col: 5, offset: 83922}, label: "element", expr: &choiceExpr{ - pos: position{line: 2643, col: 9, offset: 87261}, + pos: position{line: 2544, col: 9, offset: 84020}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2643, col: 9, offset: 87261}, + pos: position{line: 2544, col: 9, offset: 84020}, run: (*parser).callonDoubleQuoteBoldTextElement95, expr: &choiceExpr{ - pos: position{line: 691, col: 27, offset: 22375}, + pos: position{line: 698, col: 27, offset: 22399}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 691, col: 27, offset: 22375}, + pos: position{line: 698, col: 27, offset: 22399}, run: (*parser).callonDoubleQuoteBoldTextElement97, expr: &seqExpr{ - pos: position{line: 691, col: 27, offset: 22375}, + pos: position{line: 698, col: 27, offset: 22399}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 691, col: 27, offset: 22375}, + pos: position{line: 698, col: 27, offset: 22399}, val: "<<", ignoreCase: false, want: "\"<<\"", }, &labeledExpr{ - pos: position{line: 691, col: 32, offset: 22380}, + pos: position{line: 698, col: 32, offset: 22404}, label: "id", expr: &actionExpr{ - pos: position{line: 2913, col: 7, offset: 95667}, + pos: position{line: 2823, col: 7, offset: 92821}, run: (*parser).callonDoubleQuoteBoldTextElement101, expr: &oneOrMoreExpr{ - pos: position{line: 2913, col: 7, offset: 95667}, + pos: position{line: 2823, col: 7, offset: 92821}, expr: &charClassMatcher{ - pos: position{line: 2913, col: 7, offset: 95667}, + pos: position{line: 2823, col: 7, offset: 92821}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -46937,12 +38535,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 691, col: 40, offset: 22388}, + pos: position{line: 698, col: 40, offset: 22412}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonDoubleQuoteBoldTextElement105, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -46951,27 +38549,27 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 691, col: 47, offset: 22395}, + pos: position{line: 698, col: 47, offset: 22419}, val: ",", ignoreCase: false, want: "\",\"", }, &labeledExpr{ - pos: position{line: 691, col: 51, offset: 22399}, + pos: position{line: 698, col: 51, offset: 22423}, label: "label", expr: &oneOrMoreExpr{ - pos: position{line: 701, col: 24, offset: 22800}, + pos: position{line: 708, col: 24, offset: 22824}, expr: &choiceExpr{ - pos: position{line: 702, col: 5, offset: 22806}, + pos: position{line: 709, col: 5, offset: 22830}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 702, col: 6, offset: 22807}, + pos: position{line: 709, col: 6, offset: 22831}, run: (*parser).callonDoubleQuoteBoldTextElement111, expr: &seqExpr{ - pos: position{line: 702, col: 6, offset: 22807}, + pos: position{line: 709, col: 6, offset: 22831}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 702, col: 6, offset: 22807}, + pos: position{line: 709, col: 6, offset: 22831}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -46979,9 +38577,9 @@ var g = &grammar{ inverted: false, }, &oneOrMoreExpr{ - pos: position{line: 702, col: 14, offset: 22815}, + pos: position{line: 709, col: 14, offset: 22839}, expr: &charClassMatcher{ - pos: position{line: 702, col: 14, offset: 22815}, + pos: position{line: 709, col: 14, offset: 22839}, val: "[^\\r\\n{<>]", chars: []rune{'\r', '\n', '{', '<', '>'}, ignoreCase: false, @@ -46992,309 +38590,65 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 649, col: 5, offset: 20887}, + pos: position{line: 663, col: 5, offset: 21092}, run: (*parser).callonDoubleQuoteBoldTextElement116, expr: &seqExpr{ - pos: position{line: 649, col: 5, offset: 20887}, + pos: position{line: 663, col: 5, offset: 21092}, exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 649, col: 5, offset: 20887}, - run: (*parser).callonDoubleQuoteBoldTextElement118, + &litMatcher{ + pos: position{line: 663, col: 5, offset: 21092}, + val: "{", + ignoreCase: false, + want: "\"{\"", }, &labeledExpr{ - pos: position{line: 652, col: 5, offset: 20951}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 652, col: 14, offset: 20960}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 663, col: 25, offset: 21324}, - run: (*parser).callonDoubleQuoteBoldTextElement121, - expr: &seqExpr{ - pos: position{line: 663, col: 25, offset: 21324}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 663, col: 25, offset: 21324}, - val: "{counter:", - ignoreCase: false, - want: "\"{counter:\"", - }, - &labeledExpr{ - pos: position{line: 663, col: 37, offset: 21336}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonDoubleQuoteBoldTextElement125, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 663, col: 56, offset: 21355}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 663, col: 62, offset: 21361}, - expr: &actionExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - run: (*parser).callonDoubleQuoteBoldTextElement132, - expr: &seqExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 671, col: 17, offset: 21656}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 671, col: 21, offset: 21660}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - run: (*parser).callonDoubleQuoteBoldTextElement137, - expr: &charClassMatcher{ - pos: position{line: 671, col: 28, offset: 21667}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - run: (*parser).callonDoubleQuoteBoldTextElement139, - expr: &oneOrMoreExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - expr: &charClassMatcher{ - pos: position{line: 673, col: 9, offset: 21721}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 663, col: 78, offset: 21377}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 667, col: 25, offset: 21495}, - run: (*parser).callonDoubleQuoteBoldTextElement143, - expr: &seqExpr{ - pos: position{line: 667, col: 25, offset: 21495}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 667, col: 25, offset: 21495}, - val: "{counter2:", - ignoreCase: false, - want: "\"{counter2:\"", - }, - &labeledExpr{ - pos: position{line: 667, col: 38, offset: 21508}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonDoubleQuoteBoldTextElement147, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 667, col: 57, offset: 21527}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 667, col: 63, offset: 21533}, - expr: &actionExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - run: (*parser).callonDoubleQuoteBoldTextElement154, - expr: &seqExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 671, col: 17, offset: 21656}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 671, col: 21, offset: 21660}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - run: (*parser).callonDoubleQuoteBoldTextElement159, - expr: &charClassMatcher{ - pos: position{line: 671, col: 28, offset: 21667}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - run: (*parser).callonDoubleQuoteBoldTextElement161, - expr: &oneOrMoreExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - expr: &charClassMatcher{ - pos: position{line: 673, col: 9, offset: 21721}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 667, col: 79, offset: 21549}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, + pos: position{line: 663, col: 9, offset: 21096}, + label: "name", + expr: &actionExpr{ + pos: position{line: 336, col: 18, offset: 10325}, + run: (*parser).callonDoubleQuoteBoldTextElement120, + expr: &seqExpr{ + pos: position{line: 336, col: 18, offset: 10325}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 336, col: 18, offset: 10325}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, }, - }, - &actionExpr{ - pos: position{line: 656, col: 31, offset: 21077}, - run: (*parser).callonDoubleQuoteBoldTextElement165, - expr: &seqExpr{ - pos: position{line: 656, col: 31, offset: 21077}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 656, col: 31, offset: 21077}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - &labeledExpr{ - pos: position{line: 656, col: 35, offset: 21081}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonDoubleQuoteBoldTextElement169, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - 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: 54, offset: 21100}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, + &zeroOrMoreExpr{ + pos: position{line: 336, col: 28, offset: 10335}, + expr: &charClassMatcher{ + pos: position{line: 336, col: 29, offset: 10336}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, }, }, }, }, }, }, + &litMatcher{ + pos: position{line: 663, col: 28, offset: 21115}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, }, }, }, &actionExpr{ - pos: position{line: 706, col: 8, offset: 23039}, - run: (*parser).callonDoubleQuoteBoldTextElement175, + pos: position{line: 713, col: 8, offset: 23065}, + run: (*parser).callonDoubleQuoteBoldTextElement126, expr: &litMatcher{ - pos: position{line: 706, col: 8, offset: 23039}, + pos: position{line: 713, col: 8, offset: 23065}, val: "{", ignoreCase: false, want: "\"{\"", @@ -47305,7 +38659,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 691, col: 79, offset: 22427}, + pos: position{line: 698, col: 79, offset: 22451}, val: ">>", ignoreCase: false, want: "\">>\"", @@ -47314,27 +38668,27 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 693, col: 9, offset: 22500}, - run: (*parser).callonDoubleQuoteBoldTextElement178, + pos: position{line: 700, col: 9, offset: 22524}, + run: (*parser).callonDoubleQuoteBoldTextElement129, expr: &seqExpr{ - pos: position{line: 693, col: 9, offset: 22500}, + pos: position{line: 700, col: 9, offset: 22524}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 693, col: 9, offset: 22500}, + pos: position{line: 700, col: 9, offset: 22524}, val: "<<", ignoreCase: false, want: "\"<<\"", }, &labeledExpr{ - pos: position{line: 693, col: 14, offset: 22505}, + pos: position{line: 700, col: 14, offset: 22529}, label: "id", expr: &actionExpr{ - pos: position{line: 2913, col: 7, offset: 95667}, - run: (*parser).callonDoubleQuoteBoldTextElement182, + pos: position{line: 2823, col: 7, offset: 92821}, + run: (*parser).callonDoubleQuoteBoldTextElement133, expr: &oneOrMoreExpr{ - pos: position{line: 2913, col: 7, offset: 95667}, + pos: position{line: 2823, col: 7, offset: 92821}, expr: &charClassMatcher{ - pos: position{line: 2913, col: 7, offset: 95667}, + pos: position{line: 2823, col: 7, offset: 92821}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -47344,7 +38698,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 693, col: 22, offset: 22513}, + pos: position{line: 700, col: 22, offset: 22537}, val: ">>", ignoreCase: false, want: "\">>\"", @@ -47356,10 +38710,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2646, col: 11, offset: 87365}, - run: (*parser).callonDoubleQuoteBoldTextElement186, + pos: position{line: 2547, col: 11, offset: 84124}, + run: (*parser).callonDoubleQuoteBoldTextElement137, expr: &charClassMatcher{ - pos: position{line: 2646, col: 12, offset: 87366}, + pos: position{line: 2547, col: 12, offset: 84125}, val: "[<>&]", chars: []rune{'<', '>', '&'}, ignoreCase: false, @@ -47373,63 +38727,63 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2671, col: 15, offset: 88333}, - run: (*parser).callonDoubleQuoteBoldTextElement188, + pos: position{line: 2572, col: 15, offset: 85092}, + run: (*parser).callonDoubleQuoteBoldTextElement139, expr: &litMatcher{ - pos: position{line: 2671, col: 15, offset: 88333}, + pos: position{line: 2572, col: 15, offset: 85092}, val: "`'", ignoreCase: false, want: "\"`'\"", }, }, &actionExpr{ - pos: position{line: 2677, col: 14, offset: 88448}, - run: (*parser).callonDoubleQuoteBoldTextElement190, + pos: position{line: 2578, col: 14, offset: 85207}, + run: (*parser).callonDoubleQuoteBoldTextElement141, expr: &litMatcher{ - pos: position{line: 2677, col: 14, offset: 88448}, + pos: position{line: 2578, col: 14, offset: 85207}, val: "(C)", ignoreCase: false, want: "\"(C)\"", }, }, &actionExpr{ - pos: position{line: 2681, col: 14, offset: 88524}, - run: (*parser).callonDoubleQuoteBoldTextElement192, + pos: position{line: 2582, col: 14, offset: 85283}, + run: (*parser).callonDoubleQuoteBoldTextElement143, expr: &litMatcher{ - pos: position{line: 2681, col: 14, offset: 88524}, + pos: position{line: 2582, col: 14, offset: 85283}, val: "(TM)", ignoreCase: false, want: "\"(TM)\"", }, }, &actionExpr{ - pos: position{line: 2685, col: 15, offset: 88602}, - run: (*parser).callonDoubleQuoteBoldTextElement194, + pos: position{line: 2586, col: 15, offset: 85361}, + run: (*parser).callonDoubleQuoteBoldTextElement145, expr: &litMatcher{ - pos: position{line: 2685, col: 15, offset: 88602}, + pos: position{line: 2586, col: 15, offset: 85361}, val: "(R)", ignoreCase: false, want: "\"(R)\"", }, }, &actionExpr{ - pos: position{line: 2689, col: 13, offset: 88677}, - run: (*parser).callonDoubleQuoteBoldTextElement196, + pos: position{line: 2590, col: 13, offset: 85436}, + run: (*parser).callonDoubleQuoteBoldTextElement147, expr: &litMatcher{ - pos: position{line: 2689, col: 13, offset: 88677}, + pos: position{line: 2590, col: 13, offset: 85436}, val: "...", ignoreCase: false, want: "\"...\"", }, }, &actionExpr{ - pos: position{line: 2697, col: 22, offset: 88983}, - run: (*parser).callonDoubleQuoteBoldTextElement198, + pos: position{line: 2598, col: 22, offset: 85742}, + run: (*parser).callonDoubleQuoteBoldTextElement149, expr: &seqExpr{ - pos: position{line: 2697, col: 22, offset: 88983}, + pos: position{line: 2598, col: 22, offset: 85742}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 2852, col: 13, offset: 93681}, + pos: position{line: 2753, col: 13, offset: 90440}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -47437,15 +38791,15 @@ var g = &grammar{ inverted: false, }, &litMatcher{ - pos: position{line: 2697, col: 31, offset: 88992}, + pos: position{line: 2598, col: 31, offset: 85751}, val: "'", ignoreCase: false, want: "\"'\"", }, &andExpr{ - pos: position{line: 2697, col: 35, offset: 88996}, + pos: position{line: 2598, col: 35, offset: 85755}, expr: &charClassMatcher{ - pos: position{line: 2697, col: 36, offset: 88997}, + pos: position{line: 2598, col: 36, offset: 85756}, val: "[\\pL]", classes: []*unicode.RangeTable{rangeTable("L")}, ignoreCase: false, @@ -47456,39 +38810,39 @@ var g = &grammar{ }, }, &ruleRefExpr{ - pos: position{line: 1767, col: 11, offset: 57587}, + pos: position{line: 1774, col: 11, offset: 57695}, name: "InlineMacro", }, &ruleRefExpr{ - pos: position{line: 1768, col: 11, offset: 57609}, + pos: position{line: 1775, col: 11, offset: 57717}, name: "QuotedString", }, &ruleRefExpr{ - pos: position{line: 1769, col: 11, offset: 57632}, + pos: position{line: 1776, col: 11, offset: 57740}, name: "QuotedTextInDoubleQuoteBoldText", }, &actionExpr{ - pos: position{line: 1085, col: 23, offset: 33674}, - run: (*parser).callonDoubleQuoteBoldTextElement207, + pos: position{line: 1092, col: 23, offset: 33700}, + run: (*parser).callonDoubleQuoteBoldTextElement158, expr: &seqExpr{ - pos: position{line: 1085, col: 23, offset: 33674}, + pos: position{line: 1092, col: 23, offset: 33700}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1083, col: 32, offset: 33642}, + pos: position{line: 1090, col: 32, offset: 33668}, val: "�", ignoreCase: false, want: "\"�\"", }, &labeledExpr{ - pos: position{line: 1085, col: 51, offset: 33702}, + pos: position{line: 1092, col: 51, offset: 33728}, label: "ref", expr: &actionExpr{ - pos: position{line: 1085, col: 56, offset: 33707}, - run: (*parser).callonDoubleQuoteBoldTextElement211, + pos: position{line: 1092, col: 56, offset: 33733}, + run: (*parser).callonDoubleQuoteBoldTextElement162, expr: &oneOrMoreExpr{ - pos: position{line: 1085, col: 56, offset: 33707}, + pos: position{line: 1092, col: 56, offset: 33733}, expr: &charClassMatcher{ - pos: position{line: 1085, col: 56, offset: 33707}, + pos: position{line: 1092, col: 56, offset: 33733}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -47498,7 +38852,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1083, col: 32, offset: 33642}, + pos: position{line: 1090, col: 32, offset: 33668}, val: "�", ignoreCase: false, want: "\"�\"", @@ -47507,31 +38861,31 @@ var g = &grammar{ }, }, &charClassMatcher{ - pos: position{line: 1788, col: 5, offset: 58144}, + pos: position{line: 1795, col: 5, offset: 58252}, val: "[^\\r\\n*]", chars: []rune{'\r', '\n', '*'}, ignoreCase: false, inverted: true, }, &actionExpr{ - pos: position{line: 1789, col: 7, offset: 58241}, - run: (*parser).callonDoubleQuoteBoldTextElement216, + pos: position{line: 1796, col: 7, offset: 58349}, + run: (*parser).callonDoubleQuoteBoldTextElement167, expr: &seqExpr{ - pos: position{line: 1789, col: 7, offset: 58241}, + pos: position{line: 1796, col: 7, offset: 58349}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1747, col: 33, offset: 56993}, + pos: position{line: 1754, col: 33, offset: 57104}, val: "**", ignoreCase: false, want: "\"**\"", }, &actionExpr{ - pos: position{line: 2856, col: 14, offset: 93755}, - run: (*parser).callonDoubleQuoteBoldTextElement219, + pos: position{line: 2757, col: 14, offset: 90514}, + run: (*parser).callonDoubleQuoteBoldTextElement170, expr: &oneOrMoreExpr{ - pos: position{line: 2856, col: 14, offset: 93755}, + pos: position{line: 2757, col: 14, offset: 90514}, expr: &charClassMatcher{ - pos: position{line: 2856, col: 14, offset: 93755}, + pos: position{line: 2757, col: 14, offset: 90514}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -47552,52 +38906,52 @@ var g = &grammar{ }, { name: "QuotedTextInDoubleQuoteBoldText", - pos: position{line: 1775, col: 1, offset: 57786}, + pos: position{line: 1782, col: 1, offset: 57894}, expr: &actionExpr{ - pos: position{line: 1776, col: 5, offset: 57826}, + pos: position{line: 1783, col: 5, offset: 57934}, run: (*parser).callonQuotedTextInDoubleQuoteBoldText1, expr: &seqExpr{ - pos: position{line: 1776, col: 5, offset: 57826}, + pos: position{line: 1783, col: 5, offset: 57934}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1776, col: 5, offset: 57826}, + pos: position{line: 1783, col: 5, offset: 57934}, label: "attributes", expr: &zeroOrOneExpr{ - pos: position{line: 1776, col: 16, offset: 57837}, + pos: position{line: 1783, col: 16, offset: 57945}, expr: &ruleRefExpr{ - pos: position{line: 1776, col: 17, offset: 57838}, + pos: position{line: 1783, col: 17, offset: 57946}, name: "LongHandAttributes", }, }, }, &labeledExpr{ - pos: position{line: 1777, col: 5, offset: 57864}, + pos: position{line: 1784, col: 5, offset: 57972}, label: "text", expr: &choiceExpr{ - pos: position{line: 1778, col: 9, offset: 57879}, + pos: position{line: 1785, col: 9, offset: 57987}, alternatives: []interface{}{ &ruleRefExpr{ - pos: position{line: 1778, col: 9, offset: 57879}, + pos: position{line: 1785, col: 9, offset: 57987}, name: "SingleQuoteBoldText", }, &ruleRefExpr{ - pos: position{line: 1779, col: 11, offset: 57909}, + pos: position{line: 1786, col: 11, offset: 58017}, name: "ItalicText", }, &ruleRefExpr{ - pos: position{line: 1780, col: 11, offset: 57930}, + pos: position{line: 1787, col: 11, offset: 58038}, name: "MarkedText", }, &ruleRefExpr{ - pos: position{line: 1781, col: 11, offset: 57951}, + pos: position{line: 1788, col: 11, offset: 58059}, name: "MonospaceText", }, &ruleRefExpr{ - pos: position{line: 1782, col: 11, offset: 57975}, + pos: position{line: 1789, col: 11, offset: 58083}, name: "SubscriptText", }, &ruleRefExpr{ - pos: position{line: 1783, col: 11, offset: 57999}, + pos: position{line: 1790, col: 11, offset: 58107}, name: "SuperscriptText", }, }, @@ -47609,29 +38963,29 @@ var g = &grammar{ }, { name: "SingleQuoteBoldText", - pos: position{line: 1800, col: 1, offset: 58628}, + pos: position{line: 1807, col: 1, offset: 58736}, expr: &actionExpr{ - pos: position{line: 1801, col: 5, offset: 58656}, + pos: position{line: 1808, col: 5, offset: 58764}, run: (*parser).callonSingleQuoteBoldText1, expr: &seqExpr{ - pos: position{line: 1801, col: 5, offset: 58656}, + pos: position{line: 1808, col: 5, offset: 58764}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1796, col: 38, offset: 58582}, + pos: position{line: 1803, col: 38, offset: 58690}, val: "*", ignoreCase: false, want: "\"*\"", }, &labeledExpr{ - pos: position{line: 1802, col: 5, offset: 58694}, + pos: position{line: 1809, col: 5, offset: 58802}, label: "elements", expr: &ruleRefExpr{ - pos: position{line: 1802, col: 15, offset: 58704}, + pos: position{line: 1809, col: 15, offset: 58812}, name: "SingleQuoteBoldTextElements", }, }, &litMatcher{ - pos: position{line: 1798, col: 36, offset: 58622}, + pos: position{line: 1805, col: 36, offset: 58730}, val: "*", ignoreCase: false, want: "\"*\"", @@ -47642,29 +38996,29 @@ var g = &grammar{ }, { name: "SingleQuoteBoldTextElements", - pos: position{line: 1807, col: 1, offset: 58864}, + pos: position{line: 1814, col: 1, offset: 58972}, expr: &actionExpr{ - pos: position{line: 1808, col: 5, offset: 58901}, + pos: position{line: 1815, col: 5, offset: 59009}, run: (*parser).callonSingleQuoteBoldTextElements1, expr: &seqExpr{ - pos: position{line: 1808, col: 5, offset: 58901}, + pos: position{line: 1815, col: 5, offset: 59009}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 1808, col: 5, offset: 58901}, + pos: position{line: 1815, col: 5, offset: 59009}, expr: ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, ¬Expr{ - pos: position{line: 1808, col: 10, offset: 58906}, + pos: position{line: 1815, col: 10, offset: 59014}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonSingleQuoteBoldTextElements7, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -47673,18 +39027,18 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1809, col: 5, offset: 58945}, + pos: position{line: 1816, col: 5, offset: 59053}, label: "elements", expr: &oneOrMoreExpr{ - pos: position{line: 1809, col: 14, offset: 58954}, + pos: position{line: 1816, col: 14, offset: 59062}, expr: &ruleRefExpr{ - pos: position{line: 1809, col: 15, offset: 58955}, + pos: position{line: 1816, col: 15, offset: 59063}, name: "SingleQuoteBoldTextElement", }, }, }, &andCodeExpr{ - pos: position{line: 1810, col: 5, offset: 58989}, + pos: position{line: 1817, col: 5, offset: 59097}, run: (*parser).callonSingleQuoteBoldTextElements12, }, }, @@ -47693,20 +39047,20 @@ var g = &grammar{ }, { name: "SingleQuoteBoldTextElement", - pos: position{line: 1816, col: 1, offset: 59130}, + pos: position{line: 1823, col: 1, offset: 59238}, expr: &choiceExpr{ - pos: position{line: 1817, col: 5, offset: 59165}, + pos: position{line: 1824, col: 5, offset: 59273}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1740, col: 5, offset: 56751}, + pos: position{line: 1747, col: 5, offset: 56862}, run: (*parser).callonSingleQuoteBoldTextElement2, expr: &seqExpr{ - pos: position{line: 1740, col: 5, offset: 56751}, + pos: position{line: 1747, col: 5, offset: 56862}, exprs: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 1740, col: 5, offset: 56751}, + pos: position{line: 1747, col: 5, offset: 56862}, expr: &charClassMatcher{ - pos: position{line: 1740, col: 5, offset: 56751}, + pos: position{line: 1747, col: 5, offset: 56862}, val: "[,?!;0-9\\pL]", chars: []rune{',', '?', '!', ';'}, ranges: []rune{'0', '9'}, @@ -47716,15 +39070,15 @@ var g = &grammar{ }, }, &andExpr{ - pos: position{line: 1740, col: 19, offset: 56765}, + pos: position{line: 1747, col: 19, offset: 56876}, expr: &choiceExpr{ - pos: position{line: 1740, col: 21, offset: 56767}, + pos: position{line: 1747, col: 21, offset: 56878}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonSingleQuoteBoldTextElement8, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -47732,7 +39086,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1737, col: 22, offset: 56725}, + pos: position{line: 1744, col: 22, offset: 56836}, val: "*", ignoreCase: false, want: "\"*\"", @@ -47744,12 +39098,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2932, col: 11, offset: 96082}, + pos: position{line: 2842, col: 11, offset: 93236}, run: (*parser).callonSingleQuoteBoldTextElement11, expr: &oneOrMoreExpr{ - pos: position{line: 2932, col: 11, offset: 96082}, + pos: position{line: 2842, col: 11, offset: 93236}, expr: &charClassMatcher{ - pos: position{line: 2932, col: 12, offset: 96083}, + pos: position{line: 2842, col: 12, offset: 93237}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -47758,28 +39112,28 @@ var g = &grammar{ }, }, &seqExpr{ - pos: position{line: 1819, col: 7, offset: 59197}, + pos: position{line: 1826, col: 7, offset: 59305}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonSingleQuoteBoldTextElement15, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -47788,27 +39142,27 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 1819, col: 15, offset: 59205}, + pos: position{line: 1826, col: 15, offset: 59313}, expr: &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonSingleQuoteBoldTextElement21, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -47820,44 +39174,44 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 649, col: 5, offset: 20887}, + pos: position{line: 655, col: 5, offset: 20901}, run: (*parser).callonSingleQuoteBoldTextElement26, expr: &seqExpr{ - pos: position{line: 649, col: 5, offset: 20887}, + pos: position{line: 655, col: 5, offset: 20901}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 649, col: 5, offset: 20887}, + pos: position{line: 655, col: 5, offset: 20901}, run: (*parser).callonSingleQuoteBoldTextElement28, }, &labeledExpr{ - pos: position{line: 652, col: 5, offset: 20951}, + pos: position{line: 658, col: 5, offset: 20970}, label: "element", expr: &choiceExpr{ - pos: position{line: 652, col: 14, offset: 20960}, + pos: position{line: 658, col: 14, offset: 20979}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 663, col: 25, offset: 21324}, + pos: position{line: 670, col: 25, offset: 21348}, run: (*parser).callonSingleQuoteBoldTextElement31, expr: &seqExpr{ - pos: position{line: 663, col: 25, offset: 21324}, + pos: position{line: 670, col: 25, offset: 21348}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 663, col: 25, offset: 21324}, + pos: position{line: 670, col: 25, offset: 21348}, val: "{counter:", ignoreCase: false, want: "\"{counter:\"", }, &labeledExpr{ - pos: position{line: 663, col: 37, offset: 21336}, + pos: position{line: 670, col: 37, offset: 21360}, label: "name", expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, run: (*parser).callonSingleQuoteBoldTextElement35, expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -47866,9 +39220,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, + pos: position{line: 336, col: 28, offset: 10335}, expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, + pos: position{line: 336, col: 29, offset: 10336}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -47882,33 +39236,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 663, col: 56, offset: 21355}, + pos: position{line: 670, col: 56, offset: 21379}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 663, col: 62, offset: 21361}, + pos: position{line: 670, col: 62, offset: 21385}, expr: &actionExpr{ - pos: position{line: 671, col: 17, offset: 21656}, + pos: position{line: 678, col: 17, offset: 21680}, run: (*parser).callonSingleQuoteBoldTextElement42, expr: &seqExpr{ - pos: position{line: 671, col: 17, offset: 21656}, + pos: position{line: 678, col: 17, offset: 21680}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 671, col: 17, offset: 21656}, + pos: position{line: 678, col: 17, offset: 21680}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 671, col: 21, offset: 21660}, + pos: position{line: 678, col: 21, offset: 21684}, label: "start", expr: &choiceExpr{ - pos: position{line: 671, col: 28, offset: 21667}, + pos: position{line: 678, col: 28, offset: 21691}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 671, col: 28, offset: 21667}, + pos: position{line: 678, col: 28, offset: 21691}, run: (*parser).callonSingleQuoteBoldTextElement47, expr: &charClassMatcher{ - pos: position{line: 671, col: 28, offset: 21667}, + pos: position{line: 678, col: 28, offset: 21691}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -47916,12 +39270,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 673, col: 9, offset: 21721}, + pos: position{line: 680, col: 9, offset: 21745}, run: (*parser).callonSingleQuoteBoldTextElement49, expr: &oneOrMoreExpr{ - pos: position{line: 673, col: 9, offset: 21721}, + pos: position{line: 680, col: 9, offset: 21745}, expr: &charClassMatcher{ - pos: position{line: 673, col: 9, offset: 21721}, + pos: position{line: 680, col: 9, offset: 21745}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -47938,7 +39292,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 663, col: 78, offset: 21377}, + pos: position{line: 670, col: 78, offset: 21401}, val: "}", ignoreCase: false, want: "\"}\"", @@ -47947,28 +39301,28 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 667, col: 25, offset: 21495}, + pos: position{line: 674, col: 25, offset: 21519}, run: (*parser).callonSingleQuoteBoldTextElement53, expr: &seqExpr{ - pos: position{line: 667, col: 25, offset: 21495}, + pos: position{line: 674, col: 25, offset: 21519}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 667, col: 25, offset: 21495}, + pos: position{line: 674, col: 25, offset: 21519}, val: "{counter2:", ignoreCase: false, want: "\"{counter2:\"", }, &labeledExpr{ - pos: position{line: 667, col: 38, offset: 21508}, + pos: position{line: 674, col: 38, offset: 21532}, label: "name", expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, run: (*parser).callonSingleQuoteBoldTextElement57, expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -47977,9 +39331,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, + pos: position{line: 336, col: 28, offset: 10335}, expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, + pos: position{line: 336, col: 29, offset: 10336}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -47993,33 +39347,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 667, col: 57, offset: 21527}, + pos: position{line: 674, col: 57, offset: 21551}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 667, col: 63, offset: 21533}, + pos: position{line: 674, col: 63, offset: 21557}, expr: &actionExpr{ - pos: position{line: 671, col: 17, offset: 21656}, + pos: position{line: 678, col: 17, offset: 21680}, run: (*parser).callonSingleQuoteBoldTextElement64, expr: &seqExpr{ - pos: position{line: 671, col: 17, offset: 21656}, + pos: position{line: 678, col: 17, offset: 21680}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 671, col: 17, offset: 21656}, + pos: position{line: 678, col: 17, offset: 21680}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 671, col: 21, offset: 21660}, + pos: position{line: 678, col: 21, offset: 21684}, label: "start", expr: &choiceExpr{ - pos: position{line: 671, col: 28, offset: 21667}, + pos: position{line: 678, col: 28, offset: 21691}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 671, col: 28, offset: 21667}, + pos: position{line: 678, col: 28, offset: 21691}, run: (*parser).callonSingleQuoteBoldTextElement69, expr: &charClassMatcher{ - pos: position{line: 671, col: 28, offset: 21667}, + pos: position{line: 678, col: 28, offset: 21691}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -48027,12 +39381,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 673, col: 9, offset: 21721}, + pos: position{line: 680, col: 9, offset: 21745}, run: (*parser).callonSingleQuoteBoldTextElement71, expr: &oneOrMoreExpr{ - pos: position{line: 673, col: 9, offset: 21721}, + pos: position{line: 680, col: 9, offset: 21745}, expr: &charClassMatcher{ - pos: position{line: 673, col: 9, offset: 21721}, + pos: position{line: 680, col: 9, offset: 21745}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -48049,7 +39403,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 667, col: 79, offset: 21549}, + pos: position{line: 674, col: 79, offset: 21573}, val: "}", ignoreCase: false, want: "\"}\"", @@ -48058,28 +39412,28 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 656, col: 31, offset: 21077}, + pos: position{line: 663, col: 5, offset: 21092}, run: (*parser).callonSingleQuoteBoldTextElement75, expr: &seqExpr{ - pos: position{line: 656, col: 31, offset: 21077}, + pos: position{line: 663, col: 5, offset: 21092}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 656, col: 31, offset: 21077}, + pos: position{line: 663, col: 5, offset: 21092}, val: "{", ignoreCase: false, want: "\"{\"", }, &labeledExpr{ - pos: position{line: 656, col: 35, offset: 21081}, + pos: position{line: 663, col: 9, offset: 21096}, label: "name", expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, run: (*parser).callonSingleQuoteBoldTextElement79, expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -48088,9 +39442,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, + pos: position{line: 336, col: 28, offset: 10335}, expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, + pos: position{line: 336, col: 29, offset: 10336}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -48104,7 +39458,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 656, col: 54, offset: 21100}, + pos: position{line: 663, col: 28, offset: 21115}, val: "}", ignoreCase: false, want: "\"}\"", @@ -48119,49 +39473,49 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2638, col: 5, offset: 87092}, + pos: position{line: 2539, col: 5, offset: 83846}, run: (*parser).callonSingleQuoteBoldTextElement85, expr: &seqExpr{ - pos: position{line: 2638, col: 5, offset: 87092}, + pos: position{line: 2539, col: 5, offset: 83846}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 2638, col: 5, offset: 87092}, + pos: position{line: 2539, col: 5, offset: 83846}, run: (*parser).callonSingleQuoteBoldTextElement87, }, &labeledExpr{ - pos: position{line: 2641, col: 5, offset: 87163}, + pos: position{line: 2542, col: 5, offset: 83922}, label: "element", expr: &choiceExpr{ - pos: position{line: 2643, col: 9, offset: 87261}, + pos: position{line: 2544, col: 9, offset: 84020}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2643, col: 9, offset: 87261}, + pos: position{line: 2544, col: 9, offset: 84020}, run: (*parser).callonSingleQuoteBoldTextElement90, expr: &choiceExpr{ - pos: position{line: 691, col: 27, offset: 22375}, + pos: position{line: 698, col: 27, offset: 22399}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 691, col: 27, offset: 22375}, + pos: position{line: 698, col: 27, offset: 22399}, run: (*parser).callonSingleQuoteBoldTextElement92, expr: &seqExpr{ - pos: position{line: 691, col: 27, offset: 22375}, + pos: position{line: 698, col: 27, offset: 22399}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 691, col: 27, offset: 22375}, + pos: position{line: 698, col: 27, offset: 22399}, val: "<<", ignoreCase: false, want: "\"<<\"", }, &labeledExpr{ - pos: position{line: 691, col: 32, offset: 22380}, + pos: position{line: 698, col: 32, offset: 22404}, label: "id", expr: &actionExpr{ - pos: position{line: 2913, col: 7, offset: 95667}, + pos: position{line: 2823, col: 7, offset: 92821}, run: (*parser).callonSingleQuoteBoldTextElement96, expr: &oneOrMoreExpr{ - pos: position{line: 2913, col: 7, offset: 95667}, + pos: position{line: 2823, col: 7, offset: 92821}, expr: &charClassMatcher{ - pos: position{line: 2913, col: 7, offset: 95667}, + pos: position{line: 2823, col: 7, offset: 92821}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -48171,12 +39525,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 691, col: 40, offset: 22388}, + pos: position{line: 698, col: 40, offset: 22412}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonSingleQuoteBoldTextElement100, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -48185,27 +39539,27 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 691, col: 47, offset: 22395}, + pos: position{line: 698, col: 47, offset: 22419}, val: ",", ignoreCase: false, want: "\",\"", }, &labeledExpr{ - pos: position{line: 691, col: 51, offset: 22399}, + pos: position{line: 698, col: 51, offset: 22423}, label: "label", expr: &oneOrMoreExpr{ - pos: position{line: 701, col: 24, offset: 22800}, + pos: position{line: 708, col: 24, offset: 22824}, expr: &choiceExpr{ - pos: position{line: 702, col: 5, offset: 22806}, + pos: position{line: 709, col: 5, offset: 22830}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 702, col: 6, offset: 22807}, + pos: position{line: 709, col: 6, offset: 22831}, run: (*parser).callonSingleQuoteBoldTextElement106, expr: &seqExpr{ - pos: position{line: 702, col: 6, offset: 22807}, + pos: position{line: 709, col: 6, offset: 22831}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 702, col: 6, offset: 22807}, + pos: position{line: 709, col: 6, offset: 22831}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -48213,9 +39567,9 @@ var g = &grammar{ inverted: false, }, &oneOrMoreExpr{ - pos: position{line: 702, col: 14, offset: 22815}, + pos: position{line: 709, col: 14, offset: 22839}, expr: &charClassMatcher{ - pos: position{line: 702, col: 14, offset: 22815}, + pos: position{line: 709, col: 14, offset: 22839}, val: "[^\\r\\n{<>]", chars: []rune{'\r', '\n', '{', '<', '>'}, ignoreCase: false, @@ -48226,309 +39580,65 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 649, col: 5, offset: 20887}, + pos: position{line: 663, col: 5, offset: 21092}, run: (*parser).callonSingleQuoteBoldTextElement111, expr: &seqExpr{ - pos: position{line: 649, col: 5, offset: 20887}, + pos: position{line: 663, col: 5, offset: 21092}, exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 649, col: 5, offset: 20887}, - run: (*parser).callonSingleQuoteBoldTextElement113, + &litMatcher{ + pos: position{line: 663, col: 5, offset: 21092}, + val: "{", + ignoreCase: false, + want: "\"{\"", }, &labeledExpr{ - pos: position{line: 652, col: 5, offset: 20951}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 652, col: 14, offset: 20960}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 663, col: 25, offset: 21324}, - run: (*parser).callonSingleQuoteBoldTextElement116, - expr: &seqExpr{ - pos: position{line: 663, col: 25, offset: 21324}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 663, col: 25, offset: 21324}, - val: "{counter:", - ignoreCase: false, - want: "\"{counter:\"", - }, - &labeledExpr{ - pos: position{line: 663, col: 37, offset: 21336}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonSingleQuoteBoldTextElement120, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 663, col: 56, offset: 21355}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 663, col: 62, offset: 21361}, - expr: &actionExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - run: (*parser).callonSingleQuoteBoldTextElement127, - expr: &seqExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 671, col: 17, offset: 21656}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 671, col: 21, offset: 21660}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - run: (*parser).callonSingleQuoteBoldTextElement132, - expr: &charClassMatcher{ - pos: position{line: 671, col: 28, offset: 21667}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - run: (*parser).callonSingleQuoteBoldTextElement134, - expr: &oneOrMoreExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - expr: &charClassMatcher{ - pos: position{line: 673, col: 9, offset: 21721}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 663, col: 78, offset: 21377}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 667, col: 25, offset: 21495}, - run: (*parser).callonSingleQuoteBoldTextElement138, - expr: &seqExpr{ - pos: position{line: 667, col: 25, offset: 21495}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 667, col: 25, offset: 21495}, - val: "{counter2:", - ignoreCase: false, - want: "\"{counter2:\"", - }, - &labeledExpr{ - pos: position{line: 667, col: 38, offset: 21508}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonSingleQuoteBoldTextElement142, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 667, col: 57, offset: 21527}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 667, col: 63, offset: 21533}, - expr: &actionExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - run: (*parser).callonSingleQuoteBoldTextElement149, - expr: &seqExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 671, col: 17, offset: 21656}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 671, col: 21, offset: 21660}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - run: (*parser).callonSingleQuoteBoldTextElement154, - expr: &charClassMatcher{ - pos: position{line: 671, col: 28, offset: 21667}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - run: (*parser).callonSingleQuoteBoldTextElement156, - expr: &oneOrMoreExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - expr: &charClassMatcher{ - pos: position{line: 673, col: 9, offset: 21721}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 667, col: 79, offset: 21549}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, + pos: position{line: 663, col: 9, offset: 21096}, + label: "name", + expr: &actionExpr{ + pos: position{line: 336, col: 18, offset: 10325}, + run: (*parser).callonSingleQuoteBoldTextElement115, + expr: &seqExpr{ + pos: position{line: 336, col: 18, offset: 10325}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 336, col: 18, offset: 10325}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, }, - }, - &actionExpr{ - pos: position{line: 656, col: 31, offset: 21077}, - run: (*parser).callonSingleQuoteBoldTextElement160, - expr: &seqExpr{ - pos: position{line: 656, col: 31, offset: 21077}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 656, col: 31, offset: 21077}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - &labeledExpr{ - pos: position{line: 656, col: 35, offset: 21081}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonSingleQuoteBoldTextElement164, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - 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: 54, offset: 21100}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, + &zeroOrMoreExpr{ + pos: position{line: 336, col: 28, offset: 10335}, + expr: &charClassMatcher{ + pos: position{line: 336, col: 29, offset: 10336}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, }, }, }, }, }, }, + &litMatcher{ + pos: position{line: 663, col: 28, offset: 21115}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, }, }, }, &actionExpr{ - pos: position{line: 706, col: 8, offset: 23039}, - run: (*parser).callonSingleQuoteBoldTextElement170, + pos: position{line: 713, col: 8, offset: 23065}, + run: (*parser).callonSingleQuoteBoldTextElement121, expr: &litMatcher{ - pos: position{line: 706, col: 8, offset: 23039}, + pos: position{line: 713, col: 8, offset: 23065}, val: "{", ignoreCase: false, want: "\"{\"", @@ -48539,7 +39649,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 691, col: 79, offset: 22427}, + pos: position{line: 698, col: 79, offset: 22451}, val: ">>", ignoreCase: false, want: "\">>\"", @@ -48548,27 +39658,27 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 693, col: 9, offset: 22500}, - run: (*parser).callonSingleQuoteBoldTextElement173, + pos: position{line: 700, col: 9, offset: 22524}, + run: (*parser).callonSingleQuoteBoldTextElement124, expr: &seqExpr{ - pos: position{line: 693, col: 9, offset: 22500}, + pos: position{line: 700, col: 9, offset: 22524}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 693, col: 9, offset: 22500}, + pos: position{line: 700, col: 9, offset: 22524}, val: "<<", ignoreCase: false, want: "\"<<\"", }, &labeledExpr{ - pos: position{line: 693, col: 14, offset: 22505}, + pos: position{line: 700, col: 14, offset: 22529}, label: "id", expr: &actionExpr{ - pos: position{line: 2913, col: 7, offset: 95667}, - run: (*parser).callonSingleQuoteBoldTextElement177, + pos: position{line: 2823, col: 7, offset: 92821}, + run: (*parser).callonSingleQuoteBoldTextElement128, expr: &oneOrMoreExpr{ - pos: position{line: 2913, col: 7, offset: 95667}, + pos: position{line: 2823, col: 7, offset: 92821}, expr: &charClassMatcher{ - pos: position{line: 2913, col: 7, offset: 95667}, + pos: position{line: 2823, col: 7, offset: 92821}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -48578,7 +39688,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 693, col: 22, offset: 22513}, + pos: position{line: 700, col: 22, offset: 22537}, val: ">>", ignoreCase: false, want: "\">>\"", @@ -48590,10 +39700,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2646, col: 11, offset: 87365}, - run: (*parser).callonSingleQuoteBoldTextElement181, + pos: position{line: 2547, col: 11, offset: 84124}, + run: (*parser).callonSingleQuoteBoldTextElement132, expr: &charClassMatcher{ - pos: position{line: 2646, col: 12, offset: 87366}, + pos: position{line: 2547, col: 12, offset: 84125}, val: "[<>&]", chars: []rune{'<', '>', '&'}, ignoreCase: false, @@ -48607,63 +39717,63 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2671, col: 15, offset: 88333}, - run: (*parser).callonSingleQuoteBoldTextElement183, + pos: position{line: 2572, col: 15, offset: 85092}, + run: (*parser).callonSingleQuoteBoldTextElement134, expr: &litMatcher{ - pos: position{line: 2671, col: 15, offset: 88333}, + pos: position{line: 2572, col: 15, offset: 85092}, val: "`'", ignoreCase: false, want: "\"`'\"", }, }, &actionExpr{ - pos: position{line: 2677, col: 14, offset: 88448}, - run: (*parser).callonSingleQuoteBoldTextElement185, + pos: position{line: 2578, col: 14, offset: 85207}, + run: (*parser).callonSingleQuoteBoldTextElement136, expr: &litMatcher{ - pos: position{line: 2677, col: 14, offset: 88448}, + pos: position{line: 2578, col: 14, offset: 85207}, val: "(C)", ignoreCase: false, want: "\"(C)\"", }, }, &actionExpr{ - pos: position{line: 2681, col: 14, offset: 88524}, - run: (*parser).callonSingleQuoteBoldTextElement187, + pos: position{line: 2582, col: 14, offset: 85283}, + run: (*parser).callonSingleQuoteBoldTextElement138, expr: &litMatcher{ - pos: position{line: 2681, col: 14, offset: 88524}, + pos: position{line: 2582, col: 14, offset: 85283}, val: "(TM)", ignoreCase: false, want: "\"(TM)\"", }, }, &actionExpr{ - pos: position{line: 2685, col: 15, offset: 88602}, - run: (*parser).callonSingleQuoteBoldTextElement189, + pos: position{line: 2586, col: 15, offset: 85361}, + run: (*parser).callonSingleQuoteBoldTextElement140, expr: &litMatcher{ - pos: position{line: 2685, col: 15, offset: 88602}, + pos: position{line: 2586, col: 15, offset: 85361}, val: "(R)", ignoreCase: false, want: "\"(R)\"", }, }, &actionExpr{ - pos: position{line: 2689, col: 13, offset: 88677}, - run: (*parser).callonSingleQuoteBoldTextElement191, + pos: position{line: 2590, col: 13, offset: 85436}, + run: (*parser).callonSingleQuoteBoldTextElement142, expr: &litMatcher{ - pos: position{line: 2689, col: 13, offset: 88677}, + pos: position{line: 2590, col: 13, offset: 85436}, val: "...", ignoreCase: false, want: "\"...\"", }, }, &actionExpr{ - pos: position{line: 2697, col: 22, offset: 88983}, - run: (*parser).callonSingleQuoteBoldTextElement193, + pos: position{line: 2598, col: 22, offset: 85742}, + run: (*parser).callonSingleQuoteBoldTextElement144, expr: &seqExpr{ - pos: position{line: 2697, col: 22, offset: 88983}, + pos: position{line: 2598, col: 22, offset: 85742}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 2852, col: 13, offset: 93681}, + pos: position{line: 2753, col: 13, offset: 90440}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -48671,15 +39781,15 @@ var g = &grammar{ inverted: false, }, &litMatcher{ - pos: position{line: 2697, col: 31, offset: 88992}, + pos: position{line: 2598, col: 31, offset: 85751}, val: "'", ignoreCase: false, want: "\"'\"", }, &andExpr{ - pos: position{line: 2697, col: 35, offset: 88996}, + pos: position{line: 2598, col: 35, offset: 85755}, expr: &charClassMatcher{ - pos: position{line: 2697, col: 36, offset: 88997}, + pos: position{line: 2598, col: 36, offset: 85756}, val: "[\\pL]", classes: []*unicode.RangeTable{rangeTable("L")}, ignoreCase: false, @@ -48690,39 +39800,39 @@ var g = &grammar{ }, }, &ruleRefExpr{ - pos: position{line: 1823, col: 7, offset: 59318}, + pos: position{line: 1830, col: 7, offset: 59423}, name: "InlineMacro", }, &ruleRefExpr{ - pos: position{line: 1824, col: 7, offset: 59336}, + pos: position{line: 1831, col: 7, offset: 59441}, name: "QuotedString", }, &ruleRefExpr{ - pos: position{line: 1825, col: 7, offset: 59355}, + pos: position{line: 1832, col: 7, offset: 59460}, name: "QuotedTextInSingleQuoteBoldText", }, &actionExpr{ - pos: position{line: 1085, col: 23, offset: 33674}, - run: (*parser).callonSingleQuoteBoldTextElement202, + pos: position{line: 1092, col: 23, offset: 33700}, + run: (*parser).callonSingleQuoteBoldTextElement153, expr: &seqExpr{ - pos: position{line: 1085, col: 23, offset: 33674}, + pos: position{line: 1092, col: 23, offset: 33700}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1083, col: 32, offset: 33642}, + pos: position{line: 1090, col: 32, offset: 33668}, val: "�", ignoreCase: false, want: "\"�\"", }, &labeledExpr{ - pos: position{line: 1085, col: 51, offset: 33702}, + pos: position{line: 1092, col: 51, offset: 33728}, label: "ref", expr: &actionExpr{ - pos: position{line: 1085, col: 56, offset: 33707}, - run: (*parser).callonSingleQuoteBoldTextElement206, + pos: position{line: 1092, col: 56, offset: 33733}, + run: (*parser).callonSingleQuoteBoldTextElement157, expr: &oneOrMoreExpr{ - pos: position{line: 1085, col: 56, offset: 33707}, + pos: position{line: 1092, col: 56, offset: 33733}, expr: &charClassMatcher{ - pos: position{line: 1085, col: 56, offset: 33707}, + pos: position{line: 1092, col: 56, offset: 33733}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -48732,7 +39842,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1083, col: 32, offset: 33642}, + pos: position{line: 1090, col: 32, offset: 33668}, val: "�", ignoreCase: false, want: "\"�\"", @@ -48741,31 +39851,31 @@ var g = &grammar{ }, }, &charClassMatcher{ - pos: position{line: 1841, col: 5, offset: 59813}, + pos: position{line: 1848, col: 5, offset: 59918}, val: "[^\\r\\n *]", chars: []rune{'\r', '\n', ' ', '*'}, ignoreCase: false, inverted: true, }, &actionExpr{ - pos: position{line: 1842, col: 7, offset: 59918}, - run: (*parser).callonSingleQuoteBoldTextElement211, + pos: position{line: 1849, col: 7, offset: 60023}, + run: (*parser).callonSingleQuoteBoldTextElement162, expr: &seqExpr{ - pos: position{line: 1842, col: 7, offset: 59918}, + pos: position{line: 1849, col: 7, offset: 60023}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1842, col: 7, offset: 59918}, + pos: position{line: 1849, col: 7, offset: 60023}, val: "*", ignoreCase: false, want: "\"*\"", }, &actionExpr{ - pos: position{line: 2856, col: 14, offset: 93755}, - run: (*parser).callonSingleQuoteBoldTextElement214, + pos: position{line: 2757, col: 14, offset: 90514}, + run: (*parser).callonSingleQuoteBoldTextElement165, expr: &oneOrMoreExpr{ - pos: position{line: 2856, col: 14, offset: 93755}, + pos: position{line: 2757, col: 14, offset: 90514}, expr: &charClassMatcher{ - pos: position{line: 2856, col: 14, offset: 93755}, + pos: position{line: 2757, col: 14, offset: 90514}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -48782,52 +39892,52 @@ var g = &grammar{ }, { name: "QuotedTextInSingleQuoteBoldText", - pos: position{line: 1829, col: 1, offset: 59456}, + pos: position{line: 1836, col: 1, offset: 59561}, expr: &actionExpr{ - pos: position{line: 1830, col: 5, offset: 59496}, + pos: position{line: 1837, col: 5, offset: 59601}, run: (*parser).callonQuotedTextInSingleQuoteBoldText1, expr: &seqExpr{ - pos: position{line: 1830, col: 5, offset: 59496}, + pos: position{line: 1837, col: 5, offset: 59601}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1830, col: 5, offset: 59496}, + pos: position{line: 1837, col: 5, offset: 59601}, label: "attributes", expr: &zeroOrOneExpr{ - pos: position{line: 1830, col: 16, offset: 59507}, + pos: position{line: 1837, col: 16, offset: 59612}, expr: &ruleRefExpr{ - pos: position{line: 1830, col: 17, offset: 59508}, + pos: position{line: 1837, col: 17, offset: 59613}, name: "LongHandAttributes", }, }, }, &labeledExpr{ - pos: position{line: 1831, col: 5, offset: 59534}, + pos: position{line: 1838, col: 5, offset: 59639}, label: "text", expr: &choiceExpr{ - pos: position{line: 1832, col: 9, offset: 59549}, + pos: position{line: 1839, col: 9, offset: 59654}, alternatives: []interface{}{ &ruleRefExpr{ - pos: position{line: 1832, col: 9, offset: 59549}, + pos: position{line: 1839, col: 9, offset: 59654}, name: "DoubleQuoteBoldText", }, &ruleRefExpr{ - pos: position{line: 1833, col: 11, offset: 59579}, + pos: position{line: 1840, col: 11, offset: 59684}, name: "ItalicText", }, &ruleRefExpr{ - pos: position{line: 1834, col: 11, offset: 59600}, + pos: position{line: 1841, col: 11, offset: 59705}, name: "MonospaceText", }, &ruleRefExpr{ - pos: position{line: 1835, col: 11, offset: 59624}, + pos: position{line: 1842, col: 11, offset: 59729}, name: "MarkedText", }, &ruleRefExpr{ - pos: position{line: 1836, col: 11, offset: 59645}, + pos: position{line: 1843, col: 11, offset: 59750}, name: "SubscriptText", }, &ruleRefExpr{ - pos: position{line: 1837, col: 11, offset: 59669}, + pos: position{line: 1844, col: 11, offset: 59774}, name: "SuperscriptText", }, }, @@ -48839,35 +39949,35 @@ var g = &grammar{ }, { name: "EscapedBoldText", - pos: position{line: 1846, col: 1, offset: 60093}, + pos: position{line: 1853, col: 1, offset: 60198}, expr: &choiceExpr{ - pos: position{line: 1847, col: 5, offset: 60117}, + pos: position{line: 1854, col: 5, offset: 60222}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1847, col: 5, offset: 60117}, + pos: position{line: 1854, col: 5, offset: 60222}, run: (*parser).callonEscapedBoldText2, expr: &seqExpr{ - pos: position{line: 1847, col: 5, offset: 60117}, + pos: position{line: 1854, col: 5, offset: 60222}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1847, col: 5, offset: 60117}, + pos: position{line: 1854, col: 5, offset: 60222}, label: "backslashes", expr: &actionExpr{ - pos: position{line: 1728, col: 25, offset: 56419}, + pos: position{line: 1735, col: 25, offset: 56530}, run: (*parser).callonEscapedBoldText5, expr: &seqExpr{ - pos: position{line: 1728, col: 25, offset: 56419}, + pos: position{line: 1735, col: 25, offset: 56530}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1728, col: 25, offset: 56419}, + pos: position{line: 1735, col: 25, offset: 56530}, val: "\\\\", ignoreCase: false, want: "\"\\\\\\\\\"", }, &zeroOrMoreExpr{ - pos: position{line: 1728, col: 30, offset: 56424}, + pos: position{line: 1735, col: 30, offset: 56535}, expr: &litMatcher{ - pos: position{line: 1728, col: 30, offset: 56424}, + pos: position{line: 1735, col: 30, offset: 56535}, val: "\\", ignoreCase: false, want: "\"\\\\\"", @@ -48878,21 +39988,21 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1847, col: 40, offset: 60152}, + pos: position{line: 1854, col: 40, offset: 60257}, val: "**", ignoreCase: false, want: "\"**\"", }, &labeledExpr{ - pos: position{line: 1847, col: 45, offset: 60157}, + pos: position{line: 1854, col: 45, offset: 60262}, label: "elements", expr: &ruleRefExpr{ - pos: position{line: 1847, col: 55, offset: 60167}, + pos: position{line: 1854, col: 55, offset: 60272}, name: "DoubleQuoteBoldTextElements", }, }, &litMatcher{ - pos: position{line: 1847, col: 84, offset: 60196}, + pos: position{line: 1854, col: 84, offset: 60301}, val: "**", ignoreCase: false, want: "\"**\"", @@ -48901,21 +40011,21 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1849, col: 9, offset: 60353}, + pos: position{line: 1856, col: 9, offset: 60458}, run: (*parser).callonEscapedBoldText14, expr: &seqExpr{ - pos: position{line: 1849, col: 9, offset: 60353}, + pos: position{line: 1856, col: 9, offset: 60458}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1849, col: 9, offset: 60353}, + pos: position{line: 1856, col: 9, offset: 60458}, label: "backslashes", expr: &actionExpr{ - pos: position{line: 1724, col: 25, offset: 56346}, + pos: position{line: 1731, col: 25, offset: 56457}, run: (*parser).callonEscapedBoldText17, expr: &oneOrMoreExpr{ - pos: position{line: 1724, col: 25, offset: 56346}, + pos: position{line: 1731, col: 25, offset: 56457}, expr: &litMatcher{ - pos: position{line: 1724, col: 25, offset: 56346}, + pos: position{line: 1731, col: 25, offset: 56457}, val: "\\", ignoreCase: false, want: "\"\\\\\"", @@ -48924,21 +40034,21 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1849, col: 44, offset: 60388}, + pos: position{line: 1856, col: 44, offset: 60493}, val: "**", ignoreCase: false, want: "\"**\"", }, &labeledExpr{ - pos: position{line: 1849, col: 49, offset: 60393}, + pos: position{line: 1856, col: 49, offset: 60498}, label: "elements", expr: &ruleRefExpr{ - pos: position{line: 1849, col: 59, offset: 60403}, + pos: position{line: 1856, col: 59, offset: 60508}, name: "SingleQuoteBoldTextElements", }, }, &litMatcher{ - pos: position{line: 1849, col: 88, offset: 60432}, + pos: position{line: 1856, col: 88, offset: 60537}, val: "*", ignoreCase: false, want: "\"*\"", @@ -48947,21 +40057,21 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1852, col: 9, offset: 60632}, + pos: position{line: 1859, col: 9, offset: 60737}, run: (*parser).callonEscapedBoldText24, expr: &seqExpr{ - pos: position{line: 1852, col: 9, offset: 60632}, + pos: position{line: 1859, col: 9, offset: 60737}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1852, col: 9, offset: 60632}, + pos: position{line: 1859, col: 9, offset: 60737}, label: "backslashes", expr: &actionExpr{ - pos: position{line: 1724, col: 25, offset: 56346}, + pos: position{line: 1731, col: 25, offset: 56457}, run: (*parser).callonEscapedBoldText27, expr: &oneOrMoreExpr{ - pos: position{line: 1724, col: 25, offset: 56346}, + pos: position{line: 1731, col: 25, offset: 56457}, expr: &litMatcher{ - pos: position{line: 1724, col: 25, offset: 56346}, + pos: position{line: 1731, col: 25, offset: 56457}, val: "\\", ignoreCase: false, want: "\"\\\\\"", @@ -48970,21 +40080,21 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1852, col: 44, offset: 60667}, + pos: position{line: 1859, col: 44, offset: 60772}, val: "*", ignoreCase: false, want: "\"*\"", }, &labeledExpr{ - pos: position{line: 1852, col: 48, offset: 60671}, + pos: position{line: 1859, col: 48, offset: 60776}, label: "elements", expr: &ruleRefExpr{ - pos: position{line: 1852, col: 58, offset: 60681}, + pos: position{line: 1859, col: 58, offset: 60786}, name: "SingleQuoteBoldTextElements", }, }, &litMatcher{ - pos: position{line: 1852, col: 87, offset: 60710}, + pos: position{line: 1859, col: 87, offset: 60815}, val: "*", ignoreCase: false, want: "\"*\"", @@ -48997,16 +40107,16 @@ var g = &grammar{ }, { name: "ItalicText", - pos: position{line: 1860, col: 1, offset: 61008}, + pos: position{line: 1867, col: 1, offset: 61113}, expr: &choiceExpr{ - pos: position{line: 1860, col: 15, offset: 61022}, + pos: position{line: 1867, col: 15, offset: 61127}, alternatives: []interface{}{ &ruleRefExpr{ - pos: position{line: 1860, col: 15, offset: 61022}, + pos: position{line: 1867, col: 15, offset: 61127}, name: "DoubleQuoteItalicText", }, &ruleRefExpr{ - pos: position{line: 1860, col: 39, offset: 61046}, + pos: position{line: 1867, col: 39, offset: 61151}, name: "SingleQuoteItalicText", }, }, @@ -49014,29 +40124,29 @@ var g = &grammar{ }, { name: "DoubleQuoteItalicText", - pos: position{line: 1874, col: 1, offset: 61374}, + pos: position{line: 1881, col: 1, offset: 61479}, expr: &actionExpr{ - pos: position{line: 1875, col: 5, offset: 61404}, + pos: position{line: 1882, col: 5, offset: 61509}, run: (*parser).callonDoubleQuoteItalicText1, expr: &seqExpr{ - pos: position{line: 1875, col: 5, offset: 61404}, + pos: position{line: 1882, col: 5, offset: 61509}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1872, col: 35, offset: 61368}, + pos: position{line: 1879, col: 35, offset: 61473}, val: "__", ignoreCase: false, want: "\"__\"", }, &labeledExpr{ - pos: position{line: 1876, col: 5, offset: 61440}, + pos: position{line: 1883, col: 5, offset: 61545}, label: "elements", expr: &ruleRefExpr{ - pos: position{line: 1876, col: 15, offset: 61450}, + pos: position{line: 1883, col: 15, offset: 61555}, name: "DoubleQuoteItalicTextElements", }, }, &litMatcher{ - pos: position{line: 1872, col: 35, offset: 61368}, + pos: position{line: 1879, col: 35, offset: 61473}, val: "__", ignoreCase: false, want: "\"__\"", @@ -49047,49 +40157,49 @@ var g = &grammar{ }, { name: "DoubleQuoteItalicTextElements", - pos: position{line: 1881, col: 1, offset: 61658}, + pos: position{line: 1888, col: 1, offset: 61763}, expr: &oneOrMoreExpr{ - pos: position{line: 1881, col: 34, offset: 61691}, + pos: position{line: 1888, col: 34, offset: 61796}, expr: &ruleRefExpr{ - pos: position{line: 1881, col: 34, offset: 61691}, + pos: position{line: 1888, col: 34, offset: 61796}, name: "DoubleQuoteItalicTextElement", }, }, }, { name: "DoubleQuoteItalicTextElement", - pos: position{line: 1883, col: 1, offset: 61723}, + pos: position{line: 1890, col: 1, offset: 61828}, expr: &actionExpr{ - pos: position{line: 1884, col: 5, offset: 61760}, + pos: position{line: 1891, col: 5, offset: 61865}, run: (*parser).callonDoubleQuoteItalicTextElement1, expr: &seqExpr{ - pos: position{line: 1884, col: 5, offset: 61760}, + pos: position{line: 1891, col: 5, offset: 61865}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 1884, col: 5, offset: 61760}, + pos: position{line: 1891, col: 5, offset: 61865}, expr: &litMatcher{ - pos: position{line: 1872, col: 35, offset: 61368}, + pos: position{line: 1879, col: 35, offset: 61473}, val: "__", ignoreCase: false, want: "\"__\"", }, }, &labeledExpr{ - pos: position{line: 1885, col: 5, offset: 61796}, + pos: position{line: 1892, col: 5, offset: 61901}, label: "element", expr: &choiceExpr{ - pos: position{line: 1886, col: 9, offset: 61814}, + pos: position{line: 1893, col: 9, offset: 61919}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1865, col: 5, offset: 61120}, + pos: position{line: 1872, col: 5, offset: 61225}, run: (*parser).callonDoubleQuoteItalicTextElement7, expr: &seqExpr{ - pos: position{line: 1865, col: 5, offset: 61120}, + pos: position{line: 1872, col: 5, offset: 61225}, exprs: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 1865, col: 5, offset: 61120}, + pos: position{line: 1872, col: 5, offset: 61225}, expr: &charClassMatcher{ - pos: position{line: 1865, col: 5, offset: 61120}, + pos: position{line: 1872, col: 5, offset: 61225}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -49098,15 +40208,15 @@ var g = &grammar{ }, }, &andExpr{ - pos: position{line: 1865, col: 15, offset: 61130}, + pos: position{line: 1872, col: 15, offset: 61235}, expr: &choiceExpr{ - pos: position{line: 1865, col: 17, offset: 61132}, + pos: position{line: 1872, col: 17, offset: 61237}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonDoubleQuoteItalicTextElement13, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -49114,7 +40224,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1862, col: 24, offset: 61092}, + pos: position{line: 1869, col: 24, offset: 61197}, val: "_", ignoreCase: false, want: "\"_\"", @@ -49126,12 +40236,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2932, col: 11, offset: 96082}, + pos: position{line: 2842, col: 11, offset: 93236}, run: (*parser).callonDoubleQuoteItalicTextElement16, expr: &oneOrMoreExpr{ - pos: position{line: 2932, col: 11, offset: 96082}, + pos: position{line: 2842, col: 11, offset: 93236}, expr: &charClassMatcher{ - pos: position{line: 2932, col: 12, offset: 96083}, + pos: position{line: 2842, col: 12, offset: 93237}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -49140,28 +40250,28 @@ var g = &grammar{ }, }, &seqExpr{ - pos: position{line: 1888, col: 11, offset: 61889}, + pos: position{line: 1895, col: 11, offset: 61994}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonDoubleQuoteItalicTextElement20, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -49170,27 +40280,27 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 1888, col: 19, offset: 61897}, + pos: position{line: 1895, col: 19, offset: 62002}, expr: &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonDoubleQuoteItalicTextElement26, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -49202,44 +40312,44 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 649, col: 5, offset: 20887}, + pos: position{line: 655, col: 5, offset: 20901}, run: (*parser).callonDoubleQuoteItalicTextElement31, expr: &seqExpr{ - pos: position{line: 649, col: 5, offset: 20887}, + pos: position{line: 655, col: 5, offset: 20901}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 649, col: 5, offset: 20887}, + pos: position{line: 655, col: 5, offset: 20901}, run: (*parser).callonDoubleQuoteItalicTextElement33, }, &labeledExpr{ - pos: position{line: 652, col: 5, offset: 20951}, + pos: position{line: 658, col: 5, offset: 20970}, label: "element", expr: &choiceExpr{ - pos: position{line: 652, col: 14, offset: 20960}, + pos: position{line: 658, col: 14, offset: 20979}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 663, col: 25, offset: 21324}, + pos: position{line: 670, col: 25, offset: 21348}, run: (*parser).callonDoubleQuoteItalicTextElement36, expr: &seqExpr{ - pos: position{line: 663, col: 25, offset: 21324}, + pos: position{line: 670, col: 25, offset: 21348}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 663, col: 25, offset: 21324}, + pos: position{line: 670, col: 25, offset: 21348}, val: "{counter:", ignoreCase: false, want: "\"{counter:\"", }, &labeledExpr{ - pos: position{line: 663, col: 37, offset: 21336}, + pos: position{line: 670, col: 37, offset: 21360}, label: "name", expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, run: (*parser).callonDoubleQuoteItalicTextElement40, expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -49248,9 +40358,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, + pos: position{line: 336, col: 28, offset: 10335}, expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, + pos: position{line: 336, col: 29, offset: 10336}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -49264,33 +40374,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 663, col: 56, offset: 21355}, + pos: position{line: 670, col: 56, offset: 21379}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 663, col: 62, offset: 21361}, + pos: position{line: 670, col: 62, offset: 21385}, expr: &actionExpr{ - pos: position{line: 671, col: 17, offset: 21656}, + pos: position{line: 678, col: 17, offset: 21680}, run: (*parser).callonDoubleQuoteItalicTextElement47, expr: &seqExpr{ - pos: position{line: 671, col: 17, offset: 21656}, + pos: position{line: 678, col: 17, offset: 21680}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 671, col: 17, offset: 21656}, + pos: position{line: 678, col: 17, offset: 21680}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 671, col: 21, offset: 21660}, + pos: position{line: 678, col: 21, offset: 21684}, label: "start", expr: &choiceExpr{ - pos: position{line: 671, col: 28, offset: 21667}, + pos: position{line: 678, col: 28, offset: 21691}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 671, col: 28, offset: 21667}, + pos: position{line: 678, col: 28, offset: 21691}, run: (*parser).callonDoubleQuoteItalicTextElement52, expr: &charClassMatcher{ - pos: position{line: 671, col: 28, offset: 21667}, + pos: position{line: 678, col: 28, offset: 21691}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -49298,12 +40408,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 673, col: 9, offset: 21721}, + pos: position{line: 680, col: 9, offset: 21745}, run: (*parser).callonDoubleQuoteItalicTextElement54, expr: &oneOrMoreExpr{ - pos: position{line: 673, col: 9, offset: 21721}, + pos: position{line: 680, col: 9, offset: 21745}, expr: &charClassMatcher{ - pos: position{line: 673, col: 9, offset: 21721}, + pos: position{line: 680, col: 9, offset: 21745}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -49320,7 +40430,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 663, col: 78, offset: 21377}, + pos: position{line: 670, col: 78, offset: 21401}, val: "}", ignoreCase: false, want: "\"}\"", @@ -49329,28 +40439,28 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 667, col: 25, offset: 21495}, + pos: position{line: 674, col: 25, offset: 21519}, run: (*parser).callonDoubleQuoteItalicTextElement58, expr: &seqExpr{ - pos: position{line: 667, col: 25, offset: 21495}, + pos: position{line: 674, col: 25, offset: 21519}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 667, col: 25, offset: 21495}, + pos: position{line: 674, col: 25, offset: 21519}, val: "{counter2:", ignoreCase: false, want: "\"{counter2:\"", }, &labeledExpr{ - pos: position{line: 667, col: 38, offset: 21508}, + pos: position{line: 674, col: 38, offset: 21532}, label: "name", expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, run: (*parser).callonDoubleQuoteItalicTextElement62, expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -49359,9 +40469,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, + pos: position{line: 336, col: 28, offset: 10335}, expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, + pos: position{line: 336, col: 29, offset: 10336}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -49375,33 +40485,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 667, col: 57, offset: 21527}, + pos: position{line: 674, col: 57, offset: 21551}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 667, col: 63, offset: 21533}, + pos: position{line: 674, col: 63, offset: 21557}, expr: &actionExpr{ - pos: position{line: 671, col: 17, offset: 21656}, + pos: position{line: 678, col: 17, offset: 21680}, run: (*parser).callonDoubleQuoteItalicTextElement69, expr: &seqExpr{ - pos: position{line: 671, col: 17, offset: 21656}, + pos: position{line: 678, col: 17, offset: 21680}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 671, col: 17, offset: 21656}, + pos: position{line: 678, col: 17, offset: 21680}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 671, col: 21, offset: 21660}, + pos: position{line: 678, col: 21, offset: 21684}, label: "start", expr: &choiceExpr{ - pos: position{line: 671, col: 28, offset: 21667}, + pos: position{line: 678, col: 28, offset: 21691}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 671, col: 28, offset: 21667}, + pos: position{line: 678, col: 28, offset: 21691}, run: (*parser).callonDoubleQuoteItalicTextElement74, expr: &charClassMatcher{ - pos: position{line: 671, col: 28, offset: 21667}, + pos: position{line: 678, col: 28, offset: 21691}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -49409,12 +40519,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 673, col: 9, offset: 21721}, + pos: position{line: 680, col: 9, offset: 21745}, run: (*parser).callonDoubleQuoteItalicTextElement76, expr: &oneOrMoreExpr{ - pos: position{line: 673, col: 9, offset: 21721}, + pos: position{line: 680, col: 9, offset: 21745}, expr: &charClassMatcher{ - pos: position{line: 673, col: 9, offset: 21721}, + pos: position{line: 680, col: 9, offset: 21745}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -49431,7 +40541,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 667, col: 79, offset: 21549}, + pos: position{line: 674, col: 79, offset: 21573}, val: "}", ignoreCase: false, want: "\"}\"", @@ -49440,28 +40550,28 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 656, col: 31, offset: 21077}, + pos: position{line: 663, col: 5, offset: 21092}, run: (*parser).callonDoubleQuoteItalicTextElement80, expr: &seqExpr{ - pos: position{line: 656, col: 31, offset: 21077}, + pos: position{line: 663, col: 5, offset: 21092}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 656, col: 31, offset: 21077}, + pos: position{line: 663, col: 5, offset: 21092}, val: "{", ignoreCase: false, want: "\"{\"", }, &labeledExpr{ - pos: position{line: 656, col: 35, offset: 21081}, + pos: position{line: 663, col: 9, offset: 21096}, label: "name", expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, run: (*parser).callonDoubleQuoteItalicTextElement84, expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -49470,9 +40580,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, + pos: position{line: 336, col: 28, offset: 10335}, expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, + pos: position{line: 336, col: 29, offset: 10336}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -49486,7 +40596,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 656, col: 54, offset: 21100}, + pos: position{line: 663, col: 28, offset: 21115}, val: "}", ignoreCase: false, want: "\"}\"", @@ -49501,49 +40611,49 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2638, col: 5, offset: 87092}, + pos: position{line: 2539, col: 5, offset: 83846}, run: (*parser).callonDoubleQuoteItalicTextElement90, expr: &seqExpr{ - pos: position{line: 2638, col: 5, offset: 87092}, + pos: position{line: 2539, col: 5, offset: 83846}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 2638, col: 5, offset: 87092}, + pos: position{line: 2539, col: 5, offset: 83846}, run: (*parser).callonDoubleQuoteItalicTextElement92, }, &labeledExpr{ - pos: position{line: 2641, col: 5, offset: 87163}, + pos: position{line: 2542, col: 5, offset: 83922}, label: "element", expr: &choiceExpr{ - pos: position{line: 2643, col: 9, offset: 87261}, + pos: position{line: 2544, col: 9, offset: 84020}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2643, col: 9, offset: 87261}, + pos: position{line: 2544, col: 9, offset: 84020}, run: (*parser).callonDoubleQuoteItalicTextElement95, expr: &choiceExpr{ - pos: position{line: 691, col: 27, offset: 22375}, + pos: position{line: 698, col: 27, offset: 22399}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 691, col: 27, offset: 22375}, + pos: position{line: 698, col: 27, offset: 22399}, run: (*parser).callonDoubleQuoteItalicTextElement97, expr: &seqExpr{ - pos: position{line: 691, col: 27, offset: 22375}, + pos: position{line: 698, col: 27, offset: 22399}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 691, col: 27, offset: 22375}, + pos: position{line: 698, col: 27, offset: 22399}, val: "<<", ignoreCase: false, want: "\"<<\"", }, &labeledExpr{ - pos: position{line: 691, col: 32, offset: 22380}, + pos: position{line: 698, col: 32, offset: 22404}, label: "id", expr: &actionExpr{ - pos: position{line: 2913, col: 7, offset: 95667}, + pos: position{line: 2823, col: 7, offset: 92821}, run: (*parser).callonDoubleQuoteItalicTextElement101, expr: &oneOrMoreExpr{ - pos: position{line: 2913, col: 7, offset: 95667}, + pos: position{line: 2823, col: 7, offset: 92821}, expr: &charClassMatcher{ - pos: position{line: 2913, col: 7, offset: 95667}, + pos: position{line: 2823, col: 7, offset: 92821}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -49553,12 +40663,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 691, col: 40, offset: 22388}, + pos: position{line: 698, col: 40, offset: 22412}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonDoubleQuoteItalicTextElement105, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -49567,27 +40677,27 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 691, col: 47, offset: 22395}, + pos: position{line: 698, col: 47, offset: 22419}, val: ",", ignoreCase: false, want: "\",\"", }, &labeledExpr{ - pos: position{line: 691, col: 51, offset: 22399}, + pos: position{line: 698, col: 51, offset: 22423}, label: "label", expr: &oneOrMoreExpr{ - pos: position{line: 701, col: 24, offset: 22800}, + pos: position{line: 708, col: 24, offset: 22824}, expr: &choiceExpr{ - pos: position{line: 702, col: 5, offset: 22806}, + pos: position{line: 709, col: 5, offset: 22830}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 702, col: 6, offset: 22807}, + pos: position{line: 709, col: 6, offset: 22831}, run: (*parser).callonDoubleQuoteItalicTextElement111, expr: &seqExpr{ - pos: position{line: 702, col: 6, offset: 22807}, + pos: position{line: 709, col: 6, offset: 22831}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 702, col: 6, offset: 22807}, + pos: position{line: 709, col: 6, offset: 22831}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -49595,9 +40705,9 @@ var g = &grammar{ inverted: false, }, &oneOrMoreExpr{ - pos: position{line: 702, col: 14, offset: 22815}, + pos: position{line: 709, col: 14, offset: 22839}, expr: &charClassMatcher{ - pos: position{line: 702, col: 14, offset: 22815}, + pos: position{line: 709, col: 14, offset: 22839}, val: "[^\\r\\n{<>]", chars: []rune{'\r', '\n', '{', '<', '>'}, ignoreCase: false, @@ -49608,309 +40718,65 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 649, col: 5, offset: 20887}, + pos: position{line: 663, col: 5, offset: 21092}, run: (*parser).callonDoubleQuoteItalicTextElement116, expr: &seqExpr{ - pos: position{line: 649, col: 5, offset: 20887}, + pos: position{line: 663, col: 5, offset: 21092}, exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 649, col: 5, offset: 20887}, - run: (*parser).callonDoubleQuoteItalicTextElement118, + &litMatcher{ + pos: position{line: 663, col: 5, offset: 21092}, + val: "{", + ignoreCase: false, + want: "\"{\"", }, &labeledExpr{ - pos: position{line: 652, col: 5, offset: 20951}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 652, col: 14, offset: 20960}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 663, col: 25, offset: 21324}, - run: (*parser).callonDoubleQuoteItalicTextElement121, - expr: &seqExpr{ - pos: position{line: 663, col: 25, offset: 21324}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 663, col: 25, offset: 21324}, - val: "{counter:", - ignoreCase: false, - want: "\"{counter:\"", - }, - &labeledExpr{ - pos: position{line: 663, col: 37, offset: 21336}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonDoubleQuoteItalicTextElement125, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 663, col: 56, offset: 21355}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 663, col: 62, offset: 21361}, - expr: &actionExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - run: (*parser).callonDoubleQuoteItalicTextElement132, - expr: &seqExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 671, col: 17, offset: 21656}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 671, col: 21, offset: 21660}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - run: (*parser).callonDoubleQuoteItalicTextElement137, - expr: &charClassMatcher{ - pos: position{line: 671, col: 28, offset: 21667}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - run: (*parser).callonDoubleQuoteItalicTextElement139, - expr: &oneOrMoreExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - expr: &charClassMatcher{ - pos: position{line: 673, col: 9, offset: 21721}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 663, col: 78, offset: 21377}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 667, col: 25, offset: 21495}, - run: (*parser).callonDoubleQuoteItalicTextElement143, - expr: &seqExpr{ - pos: position{line: 667, col: 25, offset: 21495}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 667, col: 25, offset: 21495}, - val: "{counter2:", - ignoreCase: false, - want: "\"{counter2:\"", - }, - &labeledExpr{ - pos: position{line: 667, col: 38, offset: 21508}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonDoubleQuoteItalicTextElement147, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 667, col: 57, offset: 21527}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 667, col: 63, offset: 21533}, - expr: &actionExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - run: (*parser).callonDoubleQuoteItalicTextElement154, - expr: &seqExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 671, col: 17, offset: 21656}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 671, col: 21, offset: 21660}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - run: (*parser).callonDoubleQuoteItalicTextElement159, - expr: &charClassMatcher{ - pos: position{line: 671, col: 28, offset: 21667}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - run: (*parser).callonDoubleQuoteItalicTextElement161, - expr: &oneOrMoreExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - expr: &charClassMatcher{ - pos: position{line: 673, col: 9, offset: 21721}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 667, col: 79, offset: 21549}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, + pos: position{line: 663, col: 9, offset: 21096}, + label: "name", + expr: &actionExpr{ + pos: position{line: 336, col: 18, offset: 10325}, + run: (*parser).callonDoubleQuoteItalicTextElement120, + expr: &seqExpr{ + pos: position{line: 336, col: 18, offset: 10325}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 336, col: 18, offset: 10325}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, }, - }, - &actionExpr{ - pos: position{line: 656, col: 31, offset: 21077}, - run: (*parser).callonDoubleQuoteItalicTextElement165, - expr: &seqExpr{ - pos: position{line: 656, col: 31, offset: 21077}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 656, col: 31, offset: 21077}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - &labeledExpr{ - pos: position{line: 656, col: 35, offset: 21081}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonDoubleQuoteItalicTextElement169, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - 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: 54, offset: 21100}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, + &zeroOrMoreExpr{ + pos: position{line: 336, col: 28, offset: 10335}, + expr: &charClassMatcher{ + pos: position{line: 336, col: 29, offset: 10336}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, }, }, }, }, }, }, + &litMatcher{ + pos: position{line: 663, col: 28, offset: 21115}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, }, }, }, &actionExpr{ - pos: position{line: 706, col: 8, offset: 23039}, - run: (*parser).callonDoubleQuoteItalicTextElement175, + pos: position{line: 713, col: 8, offset: 23065}, + run: (*parser).callonDoubleQuoteItalicTextElement126, expr: &litMatcher{ - pos: position{line: 706, col: 8, offset: 23039}, + pos: position{line: 713, col: 8, offset: 23065}, val: "{", ignoreCase: false, want: "\"{\"", @@ -49921,7 +40787,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 691, col: 79, offset: 22427}, + pos: position{line: 698, col: 79, offset: 22451}, val: ">>", ignoreCase: false, want: "\">>\"", @@ -49930,27 +40796,27 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 693, col: 9, offset: 22500}, - run: (*parser).callonDoubleQuoteItalicTextElement178, + pos: position{line: 700, col: 9, offset: 22524}, + run: (*parser).callonDoubleQuoteItalicTextElement129, expr: &seqExpr{ - pos: position{line: 693, col: 9, offset: 22500}, + pos: position{line: 700, col: 9, offset: 22524}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 693, col: 9, offset: 22500}, + pos: position{line: 700, col: 9, offset: 22524}, val: "<<", ignoreCase: false, want: "\"<<\"", }, &labeledExpr{ - pos: position{line: 693, col: 14, offset: 22505}, + pos: position{line: 700, col: 14, offset: 22529}, label: "id", expr: &actionExpr{ - pos: position{line: 2913, col: 7, offset: 95667}, - run: (*parser).callonDoubleQuoteItalicTextElement182, + pos: position{line: 2823, col: 7, offset: 92821}, + run: (*parser).callonDoubleQuoteItalicTextElement133, expr: &oneOrMoreExpr{ - pos: position{line: 2913, col: 7, offset: 95667}, + pos: position{line: 2823, col: 7, offset: 92821}, expr: &charClassMatcher{ - pos: position{line: 2913, col: 7, offset: 95667}, + pos: position{line: 2823, col: 7, offset: 92821}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -49960,7 +40826,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 693, col: 22, offset: 22513}, + pos: position{line: 700, col: 22, offset: 22537}, val: ">>", ignoreCase: false, want: "\">>\"", @@ -49972,10 +40838,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2646, col: 11, offset: 87365}, - run: (*parser).callonDoubleQuoteItalicTextElement186, + pos: position{line: 2547, col: 11, offset: 84124}, + run: (*parser).callonDoubleQuoteItalicTextElement137, expr: &charClassMatcher{ - pos: position{line: 2646, col: 12, offset: 87366}, + pos: position{line: 2547, col: 12, offset: 84125}, val: "[<>&]", chars: []rune{'<', '>', '&'}, ignoreCase: false, @@ -49989,63 +40855,63 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2671, col: 15, offset: 88333}, - run: (*parser).callonDoubleQuoteItalicTextElement188, + pos: position{line: 2572, col: 15, offset: 85092}, + run: (*parser).callonDoubleQuoteItalicTextElement139, expr: &litMatcher{ - pos: position{line: 2671, col: 15, offset: 88333}, + pos: position{line: 2572, col: 15, offset: 85092}, val: "`'", ignoreCase: false, want: "\"`'\"", }, }, &actionExpr{ - pos: position{line: 2677, col: 14, offset: 88448}, - run: (*parser).callonDoubleQuoteItalicTextElement190, + pos: position{line: 2578, col: 14, offset: 85207}, + run: (*parser).callonDoubleQuoteItalicTextElement141, expr: &litMatcher{ - pos: position{line: 2677, col: 14, offset: 88448}, + pos: position{line: 2578, col: 14, offset: 85207}, val: "(C)", ignoreCase: false, want: "\"(C)\"", }, }, &actionExpr{ - pos: position{line: 2681, col: 14, offset: 88524}, - run: (*parser).callonDoubleQuoteItalicTextElement192, + pos: position{line: 2582, col: 14, offset: 85283}, + run: (*parser).callonDoubleQuoteItalicTextElement143, expr: &litMatcher{ - pos: position{line: 2681, col: 14, offset: 88524}, + pos: position{line: 2582, col: 14, offset: 85283}, val: "(TM)", ignoreCase: false, want: "\"(TM)\"", }, }, &actionExpr{ - pos: position{line: 2685, col: 15, offset: 88602}, - run: (*parser).callonDoubleQuoteItalicTextElement194, + pos: position{line: 2586, col: 15, offset: 85361}, + run: (*parser).callonDoubleQuoteItalicTextElement145, expr: &litMatcher{ - pos: position{line: 2685, col: 15, offset: 88602}, + pos: position{line: 2586, col: 15, offset: 85361}, val: "(R)", ignoreCase: false, want: "\"(R)\"", }, }, &actionExpr{ - pos: position{line: 2689, col: 13, offset: 88677}, - run: (*parser).callonDoubleQuoteItalicTextElement196, + pos: position{line: 2590, col: 13, offset: 85436}, + run: (*parser).callonDoubleQuoteItalicTextElement147, expr: &litMatcher{ - pos: position{line: 2689, col: 13, offset: 88677}, + pos: position{line: 2590, col: 13, offset: 85436}, val: "...", ignoreCase: false, want: "\"...\"", }, }, &actionExpr{ - pos: position{line: 2697, col: 22, offset: 88983}, - run: (*parser).callonDoubleQuoteItalicTextElement198, + pos: position{line: 2598, col: 22, offset: 85742}, + run: (*parser).callonDoubleQuoteItalicTextElement149, expr: &seqExpr{ - pos: position{line: 2697, col: 22, offset: 88983}, + pos: position{line: 2598, col: 22, offset: 85742}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 2852, col: 13, offset: 93681}, + pos: position{line: 2753, col: 13, offset: 90440}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -50053,15 +40919,15 @@ var g = &grammar{ inverted: false, }, &litMatcher{ - pos: position{line: 2697, col: 31, offset: 88992}, + pos: position{line: 2598, col: 31, offset: 85751}, val: "'", ignoreCase: false, want: "\"'\"", }, &andExpr{ - pos: position{line: 2697, col: 35, offset: 88996}, + pos: position{line: 2598, col: 35, offset: 85755}, expr: &charClassMatcher{ - pos: position{line: 2697, col: 36, offset: 88997}, + pos: position{line: 2598, col: 36, offset: 85756}, val: "[\\pL]", classes: []*unicode.RangeTable{rangeTable("L")}, ignoreCase: false, @@ -50072,39 +40938,39 @@ var g = &grammar{ }, }, &ruleRefExpr{ - pos: position{line: 1892, col: 11, offset: 62026}, + pos: position{line: 1899, col: 11, offset: 62128}, name: "InlineMacro", }, &ruleRefExpr{ - pos: position{line: 1893, col: 11, offset: 62048}, + pos: position{line: 1900, col: 11, offset: 62150}, name: "QuotedString", }, &ruleRefExpr{ - pos: position{line: 1894, col: 11, offset: 62071}, + pos: position{line: 1901, col: 11, offset: 62173}, name: "QuotedTextInDoubleQuoteItalicText", }, &actionExpr{ - pos: position{line: 1085, col: 23, offset: 33674}, - run: (*parser).callonDoubleQuoteItalicTextElement207, + pos: position{line: 1092, col: 23, offset: 33700}, + run: (*parser).callonDoubleQuoteItalicTextElement158, expr: &seqExpr{ - pos: position{line: 1085, col: 23, offset: 33674}, + pos: position{line: 1092, col: 23, offset: 33700}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1083, col: 32, offset: 33642}, + pos: position{line: 1090, col: 32, offset: 33668}, val: "�", ignoreCase: false, want: "\"�\"", }, &labeledExpr{ - pos: position{line: 1085, col: 51, offset: 33702}, + pos: position{line: 1092, col: 51, offset: 33728}, label: "ref", expr: &actionExpr{ - pos: position{line: 1085, col: 56, offset: 33707}, - run: (*parser).callonDoubleQuoteItalicTextElement211, + pos: position{line: 1092, col: 56, offset: 33733}, + run: (*parser).callonDoubleQuoteItalicTextElement162, expr: &oneOrMoreExpr{ - pos: position{line: 1085, col: 56, offset: 33707}, + pos: position{line: 1092, col: 56, offset: 33733}, expr: &charClassMatcher{ - pos: position{line: 1085, col: 56, offset: 33707}, + pos: position{line: 1092, col: 56, offset: 33733}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -50114,7 +40980,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1083, col: 32, offset: 33642}, + pos: position{line: 1090, col: 32, offset: 33668}, val: "�", ignoreCase: false, want: "\"�\"", @@ -50123,31 +40989,31 @@ var g = &grammar{ }, }, &charClassMatcher{ - pos: position{line: 1912, col: 5, offset: 62582}, + pos: position{line: 1919, col: 5, offset: 62684}, val: "[^\\r\\n_]", chars: []rune{'\r', '\n', '_'}, ignoreCase: false, inverted: true, }, &actionExpr{ - pos: position{line: 1913, col: 7, offset: 62681}, - run: (*parser).callonDoubleQuoteItalicTextElement216, + pos: position{line: 1920, col: 7, offset: 62783}, + run: (*parser).callonDoubleQuoteItalicTextElement167, expr: &seqExpr{ - pos: position{line: 1913, col: 7, offset: 62681}, + pos: position{line: 1920, col: 7, offset: 62783}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1913, col: 7, offset: 62681}, + pos: position{line: 1920, col: 7, offset: 62783}, val: "__", ignoreCase: false, want: "\"__\"", }, &actionExpr{ - pos: position{line: 2856, col: 14, offset: 93755}, - run: (*parser).callonDoubleQuoteItalicTextElement219, + pos: position{line: 2757, col: 14, offset: 90514}, + run: (*parser).callonDoubleQuoteItalicTextElement170, expr: &oneOrMoreExpr{ - pos: position{line: 2856, col: 14, offset: 93755}, + pos: position{line: 2757, col: 14, offset: 90514}, expr: &charClassMatcher{ - pos: position{line: 2856, col: 14, offset: 93755}, + pos: position{line: 2757, col: 14, offset: 90514}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -50168,52 +41034,52 @@ var g = &grammar{ }, { name: "QuotedTextInDoubleQuoteItalicText", - pos: position{line: 1900, col: 1, offset: 62229}, + pos: position{line: 1907, col: 1, offset: 62331}, expr: &actionExpr{ - pos: position{line: 1901, col: 5, offset: 62271}, + pos: position{line: 1908, col: 5, offset: 62373}, run: (*parser).callonQuotedTextInDoubleQuoteItalicText1, expr: &seqExpr{ - pos: position{line: 1901, col: 5, offset: 62271}, + pos: position{line: 1908, col: 5, offset: 62373}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1901, col: 5, offset: 62271}, + pos: position{line: 1908, col: 5, offset: 62373}, label: "attributes", expr: &zeroOrOneExpr{ - pos: position{line: 1901, col: 16, offset: 62282}, + pos: position{line: 1908, col: 16, offset: 62384}, expr: &ruleRefExpr{ - pos: position{line: 1901, col: 17, offset: 62283}, + pos: position{line: 1908, col: 17, offset: 62385}, name: "LongHandAttributes", }, }, }, &labeledExpr{ - pos: position{line: 1902, col: 5, offset: 62309}, + pos: position{line: 1909, col: 5, offset: 62411}, label: "text", expr: &choiceExpr{ - pos: position{line: 1902, col: 11, offset: 62315}, + pos: position{line: 1909, col: 11, offset: 62417}, alternatives: []interface{}{ &ruleRefExpr{ - pos: position{line: 1902, col: 11, offset: 62315}, + pos: position{line: 1909, col: 11, offset: 62417}, name: "SingleQuoteItalicText", }, &ruleRefExpr{ - pos: position{line: 1903, col: 11, offset: 62347}, + pos: position{line: 1910, col: 11, offset: 62449}, name: "BoldText", }, &ruleRefExpr{ - pos: position{line: 1904, col: 11, offset: 62366}, + pos: position{line: 1911, col: 11, offset: 62468}, name: "MarkedText", }, &ruleRefExpr{ - pos: position{line: 1905, col: 11, offset: 62387}, + pos: position{line: 1912, col: 11, offset: 62489}, name: "MonospaceText", }, &ruleRefExpr{ - pos: position{line: 1906, col: 11, offset: 62411}, + pos: position{line: 1913, col: 11, offset: 62513}, name: "SubscriptText", }, &ruleRefExpr{ - pos: position{line: 1907, col: 11, offset: 62435}, + pos: position{line: 1914, col: 11, offset: 62537}, name: "SuperscriptText", }, }, @@ -50225,29 +41091,29 @@ var g = &grammar{ }, { name: "SingleQuoteItalicText", - pos: position{line: 1924, col: 1, offset: 63057}, + pos: position{line: 1931, col: 1, offset: 63159}, expr: &actionExpr{ - pos: position{line: 1925, col: 5, offset: 63087}, + pos: position{line: 1932, col: 5, offset: 63189}, run: (*parser).callonSingleQuoteItalicText1, expr: &seqExpr{ - pos: position{line: 1925, col: 5, offset: 63087}, + pos: position{line: 1932, col: 5, offset: 63189}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1920, col: 40, offset: 63008}, + pos: position{line: 1927, col: 40, offset: 63110}, val: "_", ignoreCase: false, want: "\"_\"", }, &labeledExpr{ - pos: position{line: 1926, col: 5, offset: 63127}, + pos: position{line: 1933, col: 5, offset: 63229}, label: "elements", expr: &ruleRefExpr{ - pos: position{line: 1926, col: 15, offset: 63137}, + pos: position{line: 1933, col: 15, offset: 63239}, name: "SingleQuoteItalicTextElements", }, }, &litMatcher{ - pos: position{line: 1922, col: 38, offset: 63051}, + pos: position{line: 1929, col: 38, offset: 63153}, val: "_", ignoreCase: false, want: "\"_\"", @@ -50258,29 +41124,29 @@ var g = &grammar{ }, { name: "SingleQuoteItalicTextElements", - pos: position{line: 1931, col: 1, offset: 63304}, + pos: position{line: 1938, col: 1, offset: 63406}, expr: &actionExpr{ - pos: position{line: 1932, col: 5, offset: 63342}, + pos: position{line: 1939, col: 5, offset: 63444}, run: (*parser).callonSingleQuoteItalicTextElements1, expr: &seqExpr{ - pos: position{line: 1932, col: 5, offset: 63342}, + pos: position{line: 1939, col: 5, offset: 63444}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 1932, col: 5, offset: 63342}, + pos: position{line: 1939, col: 5, offset: 63444}, expr: ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, ¬Expr{ - pos: position{line: 1932, col: 10, offset: 63347}, + pos: position{line: 1939, col: 10, offset: 63449}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonSingleQuoteItalicTextElements7, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -50289,18 +41155,18 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1933, col: 5, offset: 63386}, + pos: position{line: 1940, col: 5, offset: 63488}, label: "elements", expr: &oneOrMoreExpr{ - pos: position{line: 1933, col: 14, offset: 63395}, + pos: position{line: 1940, col: 14, offset: 63497}, expr: &ruleRefExpr{ - pos: position{line: 1933, col: 15, offset: 63396}, + pos: position{line: 1940, col: 15, offset: 63498}, name: "SingleQuoteItalicTextElement", }, }, }, &andCodeExpr{ - pos: position{line: 1934, col: 5, offset: 63431}, + pos: position{line: 1941, col: 5, offset: 63533}, run: (*parser).callonSingleQuoteItalicTextElements12, }, }, @@ -50309,20 +41175,20 @@ var g = &grammar{ }, { name: "SingleQuoteItalicTextElement", - pos: position{line: 1940, col: 1, offset: 63572}, + pos: position{line: 1947, col: 1, offset: 63674}, expr: &choiceExpr{ - pos: position{line: 1941, col: 5, offset: 63609}, + pos: position{line: 1948, col: 5, offset: 63711}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1865, col: 5, offset: 61120}, + pos: position{line: 1872, col: 5, offset: 61225}, run: (*parser).callonSingleQuoteItalicTextElement2, expr: &seqExpr{ - pos: position{line: 1865, col: 5, offset: 61120}, + pos: position{line: 1872, col: 5, offset: 61225}, exprs: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 1865, col: 5, offset: 61120}, + pos: position{line: 1872, col: 5, offset: 61225}, expr: &charClassMatcher{ - pos: position{line: 1865, col: 5, offset: 61120}, + pos: position{line: 1872, col: 5, offset: 61225}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -50331,15 +41197,15 @@ var g = &grammar{ }, }, &andExpr{ - pos: position{line: 1865, col: 15, offset: 61130}, + pos: position{line: 1872, col: 15, offset: 61235}, expr: &choiceExpr{ - pos: position{line: 1865, col: 17, offset: 61132}, + pos: position{line: 1872, col: 17, offset: 61237}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonSingleQuoteItalicTextElement8, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -50347,7 +41213,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1862, col: 24, offset: 61092}, + pos: position{line: 1869, col: 24, offset: 61197}, val: "_", ignoreCase: false, want: "\"_\"", @@ -50359,12 +41225,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2932, col: 11, offset: 96082}, + pos: position{line: 2842, col: 11, offset: 93236}, run: (*parser).callonSingleQuoteItalicTextElement11, expr: &oneOrMoreExpr{ - pos: position{line: 2932, col: 11, offset: 96082}, + pos: position{line: 2842, col: 11, offset: 93236}, expr: &charClassMatcher{ - pos: position{line: 2932, col: 12, offset: 96083}, + pos: position{line: 2842, col: 12, offset: 93237}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -50373,28 +41239,28 @@ var g = &grammar{ }, }, &seqExpr{ - pos: position{line: 1943, col: 7, offset: 63643}, + pos: position{line: 1950, col: 7, offset: 63745}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonSingleQuoteItalicTextElement15, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -50403,27 +41269,27 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 1943, col: 15, offset: 63651}, + pos: position{line: 1950, col: 15, offset: 63753}, expr: &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonSingleQuoteItalicTextElement21, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -50435,44 +41301,44 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 649, col: 5, offset: 20887}, + pos: position{line: 655, col: 5, offset: 20901}, run: (*parser).callonSingleQuoteItalicTextElement26, expr: &seqExpr{ - pos: position{line: 649, col: 5, offset: 20887}, + pos: position{line: 655, col: 5, offset: 20901}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 649, col: 5, offset: 20887}, + pos: position{line: 655, col: 5, offset: 20901}, run: (*parser).callonSingleQuoteItalicTextElement28, }, &labeledExpr{ - pos: position{line: 652, col: 5, offset: 20951}, + pos: position{line: 658, col: 5, offset: 20970}, label: "element", expr: &choiceExpr{ - pos: position{line: 652, col: 14, offset: 20960}, + pos: position{line: 658, col: 14, offset: 20979}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 663, col: 25, offset: 21324}, + pos: position{line: 670, col: 25, offset: 21348}, run: (*parser).callonSingleQuoteItalicTextElement31, expr: &seqExpr{ - pos: position{line: 663, col: 25, offset: 21324}, + pos: position{line: 670, col: 25, offset: 21348}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 663, col: 25, offset: 21324}, + pos: position{line: 670, col: 25, offset: 21348}, val: "{counter:", ignoreCase: false, want: "\"{counter:\"", }, &labeledExpr{ - pos: position{line: 663, col: 37, offset: 21336}, + pos: position{line: 670, col: 37, offset: 21360}, label: "name", expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, run: (*parser).callonSingleQuoteItalicTextElement35, expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -50481,9 +41347,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, + pos: position{line: 336, col: 28, offset: 10335}, expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, + pos: position{line: 336, col: 29, offset: 10336}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -50497,33 +41363,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 663, col: 56, offset: 21355}, + pos: position{line: 670, col: 56, offset: 21379}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 663, col: 62, offset: 21361}, + pos: position{line: 670, col: 62, offset: 21385}, expr: &actionExpr{ - pos: position{line: 671, col: 17, offset: 21656}, + pos: position{line: 678, col: 17, offset: 21680}, run: (*parser).callonSingleQuoteItalicTextElement42, expr: &seqExpr{ - pos: position{line: 671, col: 17, offset: 21656}, + pos: position{line: 678, col: 17, offset: 21680}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 671, col: 17, offset: 21656}, + pos: position{line: 678, col: 17, offset: 21680}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 671, col: 21, offset: 21660}, + pos: position{line: 678, col: 21, offset: 21684}, label: "start", expr: &choiceExpr{ - pos: position{line: 671, col: 28, offset: 21667}, + pos: position{line: 678, col: 28, offset: 21691}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 671, col: 28, offset: 21667}, + pos: position{line: 678, col: 28, offset: 21691}, run: (*parser).callonSingleQuoteItalicTextElement47, expr: &charClassMatcher{ - pos: position{line: 671, col: 28, offset: 21667}, + pos: position{line: 678, col: 28, offset: 21691}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -50531,12 +41397,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 673, col: 9, offset: 21721}, + pos: position{line: 680, col: 9, offset: 21745}, run: (*parser).callonSingleQuoteItalicTextElement49, expr: &oneOrMoreExpr{ - pos: position{line: 673, col: 9, offset: 21721}, + pos: position{line: 680, col: 9, offset: 21745}, expr: &charClassMatcher{ - pos: position{line: 673, col: 9, offset: 21721}, + pos: position{line: 680, col: 9, offset: 21745}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -50553,7 +41419,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 663, col: 78, offset: 21377}, + pos: position{line: 670, col: 78, offset: 21401}, val: "}", ignoreCase: false, want: "\"}\"", @@ -50562,28 +41428,28 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 667, col: 25, offset: 21495}, + pos: position{line: 674, col: 25, offset: 21519}, run: (*parser).callonSingleQuoteItalicTextElement53, expr: &seqExpr{ - pos: position{line: 667, col: 25, offset: 21495}, + pos: position{line: 674, col: 25, offset: 21519}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 667, col: 25, offset: 21495}, + pos: position{line: 674, col: 25, offset: 21519}, val: "{counter2:", ignoreCase: false, want: "\"{counter2:\"", }, &labeledExpr{ - pos: position{line: 667, col: 38, offset: 21508}, + pos: position{line: 674, col: 38, offset: 21532}, label: "name", expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, run: (*parser).callonSingleQuoteItalicTextElement57, expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -50592,9 +41458,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, + pos: position{line: 336, col: 28, offset: 10335}, expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, + pos: position{line: 336, col: 29, offset: 10336}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -50608,33 +41474,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 667, col: 57, offset: 21527}, + pos: position{line: 674, col: 57, offset: 21551}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 667, col: 63, offset: 21533}, + pos: position{line: 674, col: 63, offset: 21557}, expr: &actionExpr{ - pos: position{line: 671, col: 17, offset: 21656}, + pos: position{line: 678, col: 17, offset: 21680}, run: (*parser).callonSingleQuoteItalicTextElement64, expr: &seqExpr{ - pos: position{line: 671, col: 17, offset: 21656}, + pos: position{line: 678, col: 17, offset: 21680}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 671, col: 17, offset: 21656}, + pos: position{line: 678, col: 17, offset: 21680}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 671, col: 21, offset: 21660}, + pos: position{line: 678, col: 21, offset: 21684}, label: "start", expr: &choiceExpr{ - pos: position{line: 671, col: 28, offset: 21667}, + pos: position{line: 678, col: 28, offset: 21691}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 671, col: 28, offset: 21667}, + pos: position{line: 678, col: 28, offset: 21691}, run: (*parser).callonSingleQuoteItalicTextElement69, expr: &charClassMatcher{ - pos: position{line: 671, col: 28, offset: 21667}, + pos: position{line: 678, col: 28, offset: 21691}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -50642,12 +41508,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 673, col: 9, offset: 21721}, + pos: position{line: 680, col: 9, offset: 21745}, run: (*parser).callonSingleQuoteItalicTextElement71, expr: &oneOrMoreExpr{ - pos: position{line: 673, col: 9, offset: 21721}, + pos: position{line: 680, col: 9, offset: 21745}, expr: &charClassMatcher{ - pos: position{line: 673, col: 9, offset: 21721}, + pos: position{line: 680, col: 9, offset: 21745}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -50664,7 +41530,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 667, col: 79, offset: 21549}, + pos: position{line: 674, col: 79, offset: 21573}, val: "}", ignoreCase: false, want: "\"}\"", @@ -50673,28 +41539,28 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 656, col: 31, offset: 21077}, + pos: position{line: 663, col: 5, offset: 21092}, run: (*parser).callonSingleQuoteItalicTextElement75, expr: &seqExpr{ - pos: position{line: 656, col: 31, offset: 21077}, + pos: position{line: 663, col: 5, offset: 21092}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 656, col: 31, offset: 21077}, + pos: position{line: 663, col: 5, offset: 21092}, val: "{", ignoreCase: false, want: "\"{\"", }, &labeledExpr{ - pos: position{line: 656, col: 35, offset: 21081}, + pos: position{line: 663, col: 9, offset: 21096}, label: "name", expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, run: (*parser).callonSingleQuoteItalicTextElement79, expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -50703,9 +41569,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, + pos: position{line: 336, col: 28, offset: 10335}, expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, + pos: position{line: 336, col: 29, offset: 10336}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -50719,7 +41585,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 656, col: 54, offset: 21100}, + pos: position{line: 663, col: 28, offset: 21115}, val: "}", ignoreCase: false, want: "\"}\"", @@ -50734,49 +41600,49 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2638, col: 5, offset: 87092}, + pos: position{line: 2539, col: 5, offset: 83846}, run: (*parser).callonSingleQuoteItalicTextElement85, expr: &seqExpr{ - pos: position{line: 2638, col: 5, offset: 87092}, + pos: position{line: 2539, col: 5, offset: 83846}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 2638, col: 5, offset: 87092}, + pos: position{line: 2539, col: 5, offset: 83846}, run: (*parser).callonSingleQuoteItalicTextElement87, }, &labeledExpr{ - pos: position{line: 2641, col: 5, offset: 87163}, + pos: position{line: 2542, col: 5, offset: 83922}, label: "element", expr: &choiceExpr{ - pos: position{line: 2643, col: 9, offset: 87261}, + pos: position{line: 2544, col: 9, offset: 84020}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2643, col: 9, offset: 87261}, + pos: position{line: 2544, col: 9, offset: 84020}, run: (*parser).callonSingleQuoteItalicTextElement90, expr: &choiceExpr{ - pos: position{line: 691, col: 27, offset: 22375}, + pos: position{line: 698, col: 27, offset: 22399}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 691, col: 27, offset: 22375}, + pos: position{line: 698, col: 27, offset: 22399}, run: (*parser).callonSingleQuoteItalicTextElement92, expr: &seqExpr{ - pos: position{line: 691, col: 27, offset: 22375}, + pos: position{line: 698, col: 27, offset: 22399}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 691, col: 27, offset: 22375}, + pos: position{line: 698, col: 27, offset: 22399}, val: "<<", ignoreCase: false, want: "\"<<\"", }, &labeledExpr{ - pos: position{line: 691, col: 32, offset: 22380}, + pos: position{line: 698, col: 32, offset: 22404}, label: "id", expr: &actionExpr{ - pos: position{line: 2913, col: 7, offset: 95667}, + pos: position{line: 2823, col: 7, offset: 92821}, run: (*parser).callonSingleQuoteItalicTextElement96, expr: &oneOrMoreExpr{ - pos: position{line: 2913, col: 7, offset: 95667}, + pos: position{line: 2823, col: 7, offset: 92821}, expr: &charClassMatcher{ - pos: position{line: 2913, col: 7, offset: 95667}, + pos: position{line: 2823, col: 7, offset: 92821}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -50786,12 +41652,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 691, col: 40, offset: 22388}, + pos: position{line: 698, col: 40, offset: 22412}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonSingleQuoteItalicTextElement100, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -50800,27 +41666,27 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 691, col: 47, offset: 22395}, + pos: position{line: 698, col: 47, offset: 22419}, val: ",", ignoreCase: false, want: "\",\"", }, &labeledExpr{ - pos: position{line: 691, col: 51, offset: 22399}, + pos: position{line: 698, col: 51, offset: 22423}, label: "label", expr: &oneOrMoreExpr{ - pos: position{line: 701, col: 24, offset: 22800}, + pos: position{line: 708, col: 24, offset: 22824}, expr: &choiceExpr{ - pos: position{line: 702, col: 5, offset: 22806}, + pos: position{line: 709, col: 5, offset: 22830}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 702, col: 6, offset: 22807}, + pos: position{line: 709, col: 6, offset: 22831}, run: (*parser).callonSingleQuoteItalicTextElement106, expr: &seqExpr{ - pos: position{line: 702, col: 6, offset: 22807}, + pos: position{line: 709, col: 6, offset: 22831}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 702, col: 6, offset: 22807}, + pos: position{line: 709, col: 6, offset: 22831}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -50828,9 +41694,9 @@ var g = &grammar{ inverted: false, }, &oneOrMoreExpr{ - pos: position{line: 702, col: 14, offset: 22815}, + pos: position{line: 709, col: 14, offset: 22839}, expr: &charClassMatcher{ - pos: position{line: 702, col: 14, offset: 22815}, + pos: position{line: 709, col: 14, offset: 22839}, val: "[^\\r\\n{<>]", chars: []rune{'\r', '\n', '{', '<', '>'}, ignoreCase: false, @@ -50841,309 +41707,65 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 649, col: 5, offset: 20887}, + pos: position{line: 663, col: 5, offset: 21092}, run: (*parser).callonSingleQuoteItalicTextElement111, expr: &seqExpr{ - pos: position{line: 649, col: 5, offset: 20887}, + pos: position{line: 663, col: 5, offset: 21092}, exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 649, col: 5, offset: 20887}, - run: (*parser).callonSingleQuoteItalicTextElement113, + &litMatcher{ + pos: position{line: 663, col: 5, offset: 21092}, + val: "{", + ignoreCase: false, + want: "\"{\"", }, &labeledExpr{ - pos: position{line: 652, col: 5, offset: 20951}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 652, col: 14, offset: 20960}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 663, col: 25, offset: 21324}, - run: (*parser).callonSingleQuoteItalicTextElement116, - expr: &seqExpr{ - pos: position{line: 663, col: 25, offset: 21324}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 663, col: 25, offset: 21324}, - val: "{counter:", - ignoreCase: false, - want: "\"{counter:\"", - }, - &labeledExpr{ - pos: position{line: 663, col: 37, offset: 21336}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonSingleQuoteItalicTextElement120, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 663, col: 56, offset: 21355}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 663, col: 62, offset: 21361}, - expr: &actionExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - run: (*parser).callonSingleQuoteItalicTextElement127, - expr: &seqExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 671, col: 17, offset: 21656}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 671, col: 21, offset: 21660}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - run: (*parser).callonSingleQuoteItalicTextElement132, - expr: &charClassMatcher{ - pos: position{line: 671, col: 28, offset: 21667}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - run: (*parser).callonSingleQuoteItalicTextElement134, - expr: &oneOrMoreExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - expr: &charClassMatcher{ - pos: position{line: 673, col: 9, offset: 21721}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 663, col: 78, offset: 21377}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 667, col: 25, offset: 21495}, - run: (*parser).callonSingleQuoteItalicTextElement138, - expr: &seqExpr{ - pos: position{line: 667, col: 25, offset: 21495}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 667, col: 25, offset: 21495}, - val: "{counter2:", - ignoreCase: false, - want: "\"{counter2:\"", - }, - &labeledExpr{ - pos: position{line: 667, col: 38, offset: 21508}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonSingleQuoteItalicTextElement142, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 667, col: 57, offset: 21527}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 667, col: 63, offset: 21533}, - expr: &actionExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - run: (*parser).callonSingleQuoteItalicTextElement149, - expr: &seqExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 671, col: 17, offset: 21656}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 671, col: 21, offset: 21660}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - run: (*parser).callonSingleQuoteItalicTextElement154, - expr: &charClassMatcher{ - pos: position{line: 671, col: 28, offset: 21667}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - run: (*parser).callonSingleQuoteItalicTextElement156, - expr: &oneOrMoreExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - expr: &charClassMatcher{ - pos: position{line: 673, col: 9, offset: 21721}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 667, col: 79, offset: 21549}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, + pos: position{line: 663, col: 9, offset: 21096}, + label: "name", + expr: &actionExpr{ + pos: position{line: 336, col: 18, offset: 10325}, + run: (*parser).callonSingleQuoteItalicTextElement115, + expr: &seqExpr{ + pos: position{line: 336, col: 18, offset: 10325}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 336, col: 18, offset: 10325}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, }, - }, - &actionExpr{ - pos: position{line: 656, col: 31, offset: 21077}, - run: (*parser).callonSingleQuoteItalicTextElement160, - expr: &seqExpr{ - pos: position{line: 656, col: 31, offset: 21077}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 656, col: 31, offset: 21077}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - &labeledExpr{ - pos: position{line: 656, col: 35, offset: 21081}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonSingleQuoteItalicTextElement164, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - 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: 54, offset: 21100}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, + &zeroOrMoreExpr{ + pos: position{line: 336, col: 28, offset: 10335}, + expr: &charClassMatcher{ + pos: position{line: 336, col: 29, offset: 10336}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, }, }, }, }, }, }, + &litMatcher{ + pos: position{line: 663, col: 28, offset: 21115}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, }, }, }, &actionExpr{ - pos: position{line: 706, col: 8, offset: 23039}, - run: (*parser).callonSingleQuoteItalicTextElement170, + pos: position{line: 713, col: 8, offset: 23065}, + run: (*parser).callonSingleQuoteItalicTextElement121, expr: &litMatcher{ - pos: position{line: 706, col: 8, offset: 23039}, + pos: position{line: 713, col: 8, offset: 23065}, val: "{", ignoreCase: false, want: "\"{\"", @@ -51154,7 +41776,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 691, col: 79, offset: 22427}, + pos: position{line: 698, col: 79, offset: 22451}, val: ">>", ignoreCase: false, want: "\">>\"", @@ -51163,27 +41785,27 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 693, col: 9, offset: 22500}, - run: (*parser).callonSingleQuoteItalicTextElement173, + pos: position{line: 700, col: 9, offset: 22524}, + run: (*parser).callonSingleQuoteItalicTextElement124, expr: &seqExpr{ - pos: position{line: 693, col: 9, offset: 22500}, + pos: position{line: 700, col: 9, offset: 22524}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 693, col: 9, offset: 22500}, + pos: position{line: 700, col: 9, offset: 22524}, val: "<<", ignoreCase: false, want: "\"<<\"", }, &labeledExpr{ - pos: position{line: 693, col: 14, offset: 22505}, + pos: position{line: 700, col: 14, offset: 22529}, label: "id", expr: &actionExpr{ - pos: position{line: 2913, col: 7, offset: 95667}, - run: (*parser).callonSingleQuoteItalicTextElement177, + pos: position{line: 2823, col: 7, offset: 92821}, + run: (*parser).callonSingleQuoteItalicTextElement128, expr: &oneOrMoreExpr{ - pos: position{line: 2913, col: 7, offset: 95667}, + pos: position{line: 2823, col: 7, offset: 92821}, expr: &charClassMatcher{ - pos: position{line: 2913, col: 7, offset: 95667}, + pos: position{line: 2823, col: 7, offset: 92821}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -51193,7 +41815,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 693, col: 22, offset: 22513}, + pos: position{line: 700, col: 22, offset: 22537}, val: ">>", ignoreCase: false, want: "\">>\"", @@ -51205,10 +41827,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2646, col: 11, offset: 87365}, - run: (*parser).callonSingleQuoteItalicTextElement181, + pos: position{line: 2547, col: 11, offset: 84124}, + run: (*parser).callonSingleQuoteItalicTextElement132, expr: &charClassMatcher{ - pos: position{line: 2646, col: 12, offset: 87366}, + pos: position{line: 2547, col: 12, offset: 84125}, val: "[<>&]", chars: []rune{'<', '>', '&'}, ignoreCase: false, @@ -51222,63 +41844,63 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2671, col: 15, offset: 88333}, - run: (*parser).callonSingleQuoteItalicTextElement183, + pos: position{line: 2572, col: 15, offset: 85092}, + run: (*parser).callonSingleQuoteItalicTextElement134, expr: &litMatcher{ - pos: position{line: 2671, col: 15, offset: 88333}, + pos: position{line: 2572, col: 15, offset: 85092}, val: "`'", ignoreCase: false, want: "\"`'\"", }, }, &actionExpr{ - pos: position{line: 2677, col: 14, offset: 88448}, - run: (*parser).callonSingleQuoteItalicTextElement185, + pos: position{line: 2578, col: 14, offset: 85207}, + run: (*parser).callonSingleQuoteItalicTextElement136, expr: &litMatcher{ - pos: position{line: 2677, col: 14, offset: 88448}, + pos: position{line: 2578, col: 14, offset: 85207}, val: "(C)", ignoreCase: false, want: "\"(C)\"", }, }, &actionExpr{ - pos: position{line: 2681, col: 14, offset: 88524}, - run: (*parser).callonSingleQuoteItalicTextElement187, + pos: position{line: 2582, col: 14, offset: 85283}, + run: (*parser).callonSingleQuoteItalicTextElement138, expr: &litMatcher{ - pos: position{line: 2681, col: 14, offset: 88524}, + pos: position{line: 2582, col: 14, offset: 85283}, val: "(TM)", ignoreCase: false, want: "\"(TM)\"", }, }, &actionExpr{ - pos: position{line: 2685, col: 15, offset: 88602}, - run: (*parser).callonSingleQuoteItalicTextElement189, + pos: position{line: 2586, col: 15, offset: 85361}, + run: (*parser).callonSingleQuoteItalicTextElement140, expr: &litMatcher{ - pos: position{line: 2685, col: 15, offset: 88602}, + pos: position{line: 2586, col: 15, offset: 85361}, val: "(R)", ignoreCase: false, want: "\"(R)\"", }, }, &actionExpr{ - pos: position{line: 2689, col: 13, offset: 88677}, - run: (*parser).callonSingleQuoteItalicTextElement191, + pos: position{line: 2590, col: 13, offset: 85436}, + run: (*parser).callonSingleQuoteItalicTextElement142, expr: &litMatcher{ - pos: position{line: 2689, col: 13, offset: 88677}, + pos: position{line: 2590, col: 13, offset: 85436}, val: "...", ignoreCase: false, want: "\"...\"", }, }, &actionExpr{ - pos: position{line: 2697, col: 22, offset: 88983}, - run: (*parser).callonSingleQuoteItalicTextElement193, + pos: position{line: 2598, col: 22, offset: 85742}, + run: (*parser).callonSingleQuoteItalicTextElement144, expr: &seqExpr{ - pos: position{line: 2697, col: 22, offset: 88983}, + pos: position{line: 2598, col: 22, offset: 85742}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 2852, col: 13, offset: 93681}, + pos: position{line: 2753, col: 13, offset: 90440}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -51286,15 +41908,15 @@ var g = &grammar{ inverted: false, }, &litMatcher{ - pos: position{line: 2697, col: 31, offset: 88992}, + pos: position{line: 2598, col: 31, offset: 85751}, val: "'", ignoreCase: false, want: "\"'\"", }, &andExpr{ - pos: position{line: 2697, col: 35, offset: 88996}, + pos: position{line: 2598, col: 35, offset: 85755}, expr: &charClassMatcher{ - pos: position{line: 2697, col: 36, offset: 88997}, + pos: position{line: 2598, col: 36, offset: 85756}, val: "[\\pL]", classes: []*unicode.RangeTable{rangeTable("L")}, ignoreCase: false, @@ -51305,39 +41927,39 @@ var g = &grammar{ }, }, &ruleRefExpr{ - pos: position{line: 1947, col: 7, offset: 63764}, + pos: position{line: 1954, col: 7, offset: 63863}, name: "InlineMacro", }, &ruleRefExpr{ - pos: position{line: 1948, col: 7, offset: 63782}, + pos: position{line: 1955, col: 7, offset: 63881}, name: "QuotedString", }, &ruleRefExpr{ - pos: position{line: 1949, col: 7, offset: 63801}, + pos: position{line: 1956, col: 7, offset: 63900}, name: "QuotedTextInSingleQuoteItalicText", }, &actionExpr{ - pos: position{line: 1085, col: 23, offset: 33674}, - run: (*parser).callonSingleQuoteItalicTextElement202, + pos: position{line: 1092, col: 23, offset: 33700}, + run: (*parser).callonSingleQuoteItalicTextElement153, expr: &seqExpr{ - pos: position{line: 1085, col: 23, offset: 33674}, + pos: position{line: 1092, col: 23, offset: 33700}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1083, col: 32, offset: 33642}, + pos: position{line: 1090, col: 32, offset: 33668}, val: "�", ignoreCase: false, want: "\"�\"", }, &labeledExpr{ - pos: position{line: 1085, col: 51, offset: 33702}, + pos: position{line: 1092, col: 51, offset: 33728}, label: "ref", expr: &actionExpr{ - pos: position{line: 1085, col: 56, offset: 33707}, - run: (*parser).callonSingleQuoteItalicTextElement206, + pos: position{line: 1092, col: 56, offset: 33733}, + run: (*parser).callonSingleQuoteItalicTextElement157, expr: &oneOrMoreExpr{ - pos: position{line: 1085, col: 56, offset: 33707}, + pos: position{line: 1092, col: 56, offset: 33733}, expr: &charClassMatcher{ - pos: position{line: 1085, col: 56, offset: 33707}, + pos: position{line: 1092, col: 56, offset: 33733}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -51347,7 +41969,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1083, col: 32, offset: 33642}, + pos: position{line: 1090, col: 32, offset: 33668}, val: "�", ignoreCase: false, want: "\"�\"", @@ -51356,31 +41978,31 @@ var g = &grammar{ }, }, &charClassMatcher{ - pos: position{line: 1965, col: 5, offset: 64258}, + pos: position{line: 1972, col: 5, offset: 64357}, val: "[^\\r\\n _]", chars: []rune{'\r', '\n', ' ', '_'}, ignoreCase: false, inverted: true, }, &actionExpr{ - pos: position{line: 1966, col: 7, offset: 64365}, - run: (*parser).callonSingleQuoteItalicTextElement211, + pos: position{line: 1973, col: 7, offset: 64464}, + run: (*parser).callonSingleQuoteItalicTextElement162, expr: &seqExpr{ - pos: position{line: 1966, col: 7, offset: 64365}, + pos: position{line: 1973, col: 7, offset: 64464}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1966, col: 7, offset: 64365}, + pos: position{line: 1973, col: 7, offset: 64464}, val: "_", ignoreCase: false, want: "\"_\"", }, &actionExpr{ - pos: position{line: 2856, col: 14, offset: 93755}, - run: (*parser).callonSingleQuoteItalicTextElement214, + pos: position{line: 2757, col: 14, offset: 90514}, + run: (*parser).callonSingleQuoteItalicTextElement165, expr: &oneOrMoreExpr{ - pos: position{line: 2856, col: 14, offset: 93755}, + pos: position{line: 2757, col: 14, offset: 90514}, expr: &charClassMatcher{ - pos: position{line: 2856, col: 14, offset: 93755}, + pos: position{line: 2757, col: 14, offset: 90514}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -51397,52 +42019,52 @@ var g = &grammar{ }, { name: "QuotedTextInSingleQuoteItalicText", - pos: position{line: 1953, col: 1, offset: 63906}, + pos: position{line: 1960, col: 1, offset: 64005}, expr: &actionExpr{ - pos: position{line: 1954, col: 5, offset: 63947}, + pos: position{line: 1961, col: 5, offset: 64046}, run: (*parser).callonQuotedTextInSingleQuoteItalicText1, expr: &seqExpr{ - pos: position{line: 1954, col: 5, offset: 63947}, + pos: position{line: 1961, col: 5, offset: 64046}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1954, col: 5, offset: 63947}, + pos: position{line: 1961, col: 5, offset: 64046}, label: "attributes", expr: &zeroOrOneExpr{ - pos: position{line: 1954, col: 16, offset: 63958}, + pos: position{line: 1961, col: 16, offset: 64057}, expr: &ruleRefExpr{ - pos: position{line: 1954, col: 17, offset: 63959}, + pos: position{line: 1961, col: 17, offset: 64058}, name: "LongHandAttributes", }, }, }, &labeledExpr{ - pos: position{line: 1955, col: 5, offset: 63985}, + pos: position{line: 1962, col: 5, offset: 64084}, label: "text", expr: &choiceExpr{ - pos: position{line: 1955, col: 11, offset: 63991}, + pos: position{line: 1962, col: 11, offset: 64090}, alternatives: []interface{}{ &ruleRefExpr{ - pos: position{line: 1955, col: 11, offset: 63991}, + pos: position{line: 1962, col: 11, offset: 64090}, name: "BoldText", }, &ruleRefExpr{ - pos: position{line: 1956, col: 11, offset: 64010}, + pos: position{line: 1963, col: 11, offset: 64109}, name: "DoubleQuoteItalicText", }, &ruleRefExpr{ - pos: position{line: 1957, col: 11, offset: 64042}, + pos: position{line: 1964, col: 11, offset: 64141}, name: "MarkedText", }, &ruleRefExpr{ - pos: position{line: 1958, col: 11, offset: 64063}, + pos: position{line: 1965, col: 11, offset: 64162}, name: "MonospaceText", }, &ruleRefExpr{ - pos: position{line: 1959, col: 11, offset: 64087}, + pos: position{line: 1966, col: 11, offset: 64186}, name: "SubscriptText", }, &ruleRefExpr{ - pos: position{line: 1960, col: 11, offset: 64111}, + pos: position{line: 1967, col: 11, offset: 64210}, name: "SuperscriptText", }, }, @@ -51454,35 +42076,35 @@ var g = &grammar{ }, { name: "EscapedItalicText", - pos: position{line: 1970, col: 1, offset: 64543}, + pos: position{line: 1977, col: 1, offset: 64642}, expr: &choiceExpr{ - pos: position{line: 1971, col: 5, offset: 64569}, + pos: position{line: 1978, col: 5, offset: 64668}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1971, col: 5, offset: 64569}, + pos: position{line: 1978, col: 5, offset: 64668}, run: (*parser).callonEscapedItalicText2, expr: &seqExpr{ - pos: position{line: 1971, col: 5, offset: 64569}, + pos: position{line: 1978, col: 5, offset: 64668}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1971, col: 5, offset: 64569}, + pos: position{line: 1978, col: 5, offset: 64668}, label: "backslashes", expr: &actionExpr{ - pos: position{line: 1728, col: 25, offset: 56419}, + pos: position{line: 1735, col: 25, offset: 56530}, run: (*parser).callonEscapedItalicText5, expr: &seqExpr{ - pos: position{line: 1728, col: 25, offset: 56419}, + pos: position{line: 1735, col: 25, offset: 56530}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1728, col: 25, offset: 56419}, + pos: position{line: 1735, col: 25, offset: 56530}, val: "\\\\", ignoreCase: false, want: "\"\\\\\\\\\"", }, &zeroOrMoreExpr{ - pos: position{line: 1728, col: 30, offset: 56424}, + pos: position{line: 1735, col: 30, offset: 56535}, expr: &litMatcher{ - pos: position{line: 1728, col: 30, offset: 56424}, + pos: position{line: 1735, col: 30, offset: 56535}, val: "\\", ignoreCase: false, want: "\"\\\\\"", @@ -51493,21 +42115,21 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1971, col: 40, offset: 64604}, + pos: position{line: 1978, col: 40, offset: 64703}, val: "__", ignoreCase: false, want: "\"__\"", }, &labeledExpr{ - pos: position{line: 1971, col: 45, offset: 64609}, + pos: position{line: 1978, col: 45, offset: 64708}, label: "elements", expr: &ruleRefExpr{ - pos: position{line: 1971, col: 55, offset: 64619}, + pos: position{line: 1978, col: 55, offset: 64718}, name: "DoubleQuoteItalicTextElements", }, }, &litMatcher{ - pos: position{line: 1971, col: 86, offset: 64650}, + pos: position{line: 1978, col: 86, offset: 64749}, val: "__", ignoreCase: false, want: "\"__\"", @@ -51516,21 +42138,21 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1973, col: 9, offset: 64807}, + pos: position{line: 1980, col: 9, offset: 64906}, run: (*parser).callonEscapedItalicText14, expr: &seqExpr{ - pos: position{line: 1973, col: 9, offset: 64807}, + pos: position{line: 1980, col: 9, offset: 64906}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1973, col: 9, offset: 64807}, + pos: position{line: 1980, col: 9, offset: 64906}, label: "backslashes", expr: &actionExpr{ - pos: position{line: 1724, col: 25, offset: 56346}, + pos: position{line: 1731, col: 25, offset: 56457}, run: (*parser).callonEscapedItalicText17, expr: &oneOrMoreExpr{ - pos: position{line: 1724, col: 25, offset: 56346}, + pos: position{line: 1731, col: 25, offset: 56457}, expr: &litMatcher{ - pos: position{line: 1724, col: 25, offset: 56346}, + pos: position{line: 1731, col: 25, offset: 56457}, val: "\\", ignoreCase: false, want: "\"\\\\\"", @@ -51539,21 +42161,21 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1973, col: 44, offset: 64842}, + pos: position{line: 1980, col: 44, offset: 64941}, val: "__", ignoreCase: false, want: "\"__\"", }, &labeledExpr{ - pos: position{line: 1973, col: 49, offset: 64847}, + pos: position{line: 1980, col: 49, offset: 64946}, label: "elements", expr: &ruleRefExpr{ - pos: position{line: 1973, col: 59, offset: 64857}, + pos: position{line: 1980, col: 59, offset: 64956}, name: "SingleQuoteItalicTextElements", }, }, &litMatcher{ - pos: position{line: 1973, col: 90, offset: 64888}, + pos: position{line: 1980, col: 90, offset: 64987}, val: "_", ignoreCase: false, want: "\"_\"", @@ -51562,21 +42184,21 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1976, col: 9, offset: 65088}, + pos: position{line: 1983, col: 9, offset: 65187}, run: (*parser).callonEscapedItalicText24, expr: &seqExpr{ - pos: position{line: 1976, col: 9, offset: 65088}, + pos: position{line: 1983, col: 9, offset: 65187}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1976, col: 9, offset: 65088}, + pos: position{line: 1983, col: 9, offset: 65187}, label: "backslashes", expr: &actionExpr{ - pos: position{line: 1724, col: 25, offset: 56346}, + pos: position{line: 1731, col: 25, offset: 56457}, run: (*parser).callonEscapedItalicText27, expr: &oneOrMoreExpr{ - pos: position{line: 1724, col: 25, offset: 56346}, + pos: position{line: 1731, col: 25, offset: 56457}, expr: &litMatcher{ - pos: position{line: 1724, col: 25, offset: 56346}, + pos: position{line: 1731, col: 25, offset: 56457}, val: "\\", ignoreCase: false, want: "\"\\\\\"", @@ -51585,21 +42207,21 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1976, col: 44, offset: 65123}, + pos: position{line: 1983, col: 44, offset: 65222}, val: "_", ignoreCase: false, want: "\"_\"", }, &labeledExpr{ - pos: position{line: 1976, col: 48, offset: 65127}, + pos: position{line: 1983, col: 48, offset: 65226}, label: "elements", expr: &ruleRefExpr{ - pos: position{line: 1976, col: 58, offset: 65137}, + pos: position{line: 1983, col: 58, offset: 65236}, name: "SingleQuoteItalicTextElements", }, }, &litMatcher{ - pos: position{line: 1976, col: 89, offset: 65168}, + pos: position{line: 1983, col: 89, offset: 65267}, val: "_", ignoreCase: false, want: "\"_\"", @@ -51612,16 +42234,16 @@ var g = &grammar{ }, { name: "MonospaceText", - pos: position{line: 1983, col: 1, offset: 65487}, + pos: position{line: 1990, col: 1, offset: 65586}, expr: &choiceExpr{ - pos: position{line: 1983, col: 18, offset: 65504}, + pos: position{line: 1990, col: 18, offset: 65603}, alternatives: []interface{}{ &ruleRefExpr{ - pos: position{line: 1983, col: 18, offset: 65504}, + pos: position{line: 1990, col: 18, offset: 65603}, name: "DoubleQuoteMonospaceText", }, &ruleRefExpr{ - pos: position{line: 1983, col: 45, offset: 65531}, + pos: position{line: 1990, col: 45, offset: 65630}, name: "SingleQuoteMonospaceText", }, }, @@ -51629,29 +42251,29 @@ var g = &grammar{ }, { name: "DoubleQuoteMonospaceText", - pos: position{line: 1997, col: 1, offset: 65883}, + pos: position{line: 2004, col: 1, offset: 65982}, expr: &actionExpr{ - pos: position{line: 1998, col: 5, offset: 65916}, + pos: position{line: 2005, col: 5, offset: 66015}, run: (*parser).callonDoubleQuoteMonospaceText1, expr: &seqExpr{ - pos: position{line: 1998, col: 5, offset: 65916}, + pos: position{line: 2005, col: 5, offset: 66015}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1995, col: 38, offset: 65877}, + pos: position{line: 2002, col: 38, offset: 65976}, val: "``", ignoreCase: false, want: "\"``\"", }, &labeledExpr{ - pos: position{line: 1999, col: 5, offset: 65955}, + pos: position{line: 2006, col: 5, offset: 66054}, label: "elements", expr: &ruleRefExpr{ - pos: position{line: 1999, col: 15, offset: 65965}, + pos: position{line: 2006, col: 15, offset: 66064}, name: "DoubleQuoteMonospaceTextElements", }, }, &litMatcher{ - pos: position{line: 1995, col: 38, offset: 65877}, + pos: position{line: 2002, col: 38, offset: 65976}, val: "``", ignoreCase: false, want: "\"``\"", @@ -51662,49 +42284,49 @@ var g = &grammar{ }, { name: "DoubleQuoteMonospaceTextElements", - pos: position{line: 2004, col: 1, offset: 66137}, + pos: position{line: 2011, col: 1, offset: 66236}, expr: &oneOrMoreExpr{ - pos: position{line: 2004, col: 37, offset: 66173}, + pos: position{line: 2011, col: 37, offset: 66272}, expr: &ruleRefExpr{ - pos: position{line: 2004, col: 37, offset: 66173}, + pos: position{line: 2011, col: 37, offset: 66272}, name: "DoubleQuoteMonospaceTextElement", }, }, }, { name: "DoubleQuoteMonospaceTextElement", - pos: position{line: 2006, col: 1, offset: 66240}, + pos: position{line: 2013, col: 1, offset: 66339}, expr: &actionExpr{ - pos: position{line: 2007, col: 5, offset: 66280}, + pos: position{line: 2014, col: 5, offset: 66379}, run: (*parser).callonDoubleQuoteMonospaceTextElement1, expr: &seqExpr{ - pos: position{line: 2007, col: 5, offset: 66280}, + pos: position{line: 2014, col: 5, offset: 66379}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 2007, col: 5, offset: 66280}, + pos: position{line: 2014, col: 5, offset: 66379}, expr: &litMatcher{ - pos: position{line: 1995, col: 38, offset: 65877}, + pos: position{line: 2002, col: 38, offset: 65976}, val: "``", ignoreCase: false, want: "\"``\"", }, }, &labeledExpr{ - pos: position{line: 2008, col: 5, offset: 66319}, + pos: position{line: 2015, col: 5, offset: 66418}, label: "element", expr: &choiceExpr{ - pos: position{line: 2009, col: 9, offset: 66337}, + pos: position{line: 2016, col: 9, offset: 66436}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1988, col: 5, offset: 65614}, + pos: position{line: 1995, col: 5, offset: 65713}, run: (*parser).callonDoubleQuoteMonospaceTextElement7, expr: &seqExpr{ - pos: position{line: 1988, col: 5, offset: 65614}, + pos: position{line: 1995, col: 5, offset: 65713}, exprs: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 1988, col: 5, offset: 65614}, + pos: position{line: 1995, col: 5, offset: 65713}, expr: &charClassMatcher{ - pos: position{line: 1988, col: 5, offset: 65614}, + pos: position{line: 1995, col: 5, offset: 65713}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -51713,15 +42335,15 @@ var g = &grammar{ }, }, &andExpr{ - pos: position{line: 1988, col: 15, offset: 65624}, + pos: position{line: 1995, col: 15, offset: 65723}, expr: &choiceExpr{ - pos: position{line: 1988, col: 17, offset: 65626}, + pos: position{line: 1995, col: 17, offset: 65725}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonDoubleQuoteMonospaceTextElement13, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -51729,7 +42351,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1985, col: 27, offset: 65583}, + pos: position{line: 1992, col: 27, offset: 65682}, val: "`", ignoreCase: false, want: "\"`\"", @@ -51741,12 +42363,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2932, col: 11, offset: 96082}, + pos: position{line: 2842, col: 11, offset: 93236}, run: (*parser).callonDoubleQuoteMonospaceTextElement16, expr: &oneOrMoreExpr{ - pos: position{line: 2932, col: 11, offset: 96082}, + pos: position{line: 2842, col: 11, offset: 93236}, expr: &charClassMatcher{ - pos: position{line: 2932, col: 12, offset: 96083}, + pos: position{line: 2842, col: 12, offset: 93237}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -51755,28 +42377,28 @@ var g = &grammar{ }, }, &seqExpr{ - pos: position{line: 2011, col: 11, offset: 66415}, + pos: position{line: 2018, col: 11, offset: 66514}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonDoubleQuoteMonospaceTextElement20, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -51785,27 +42407,27 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2011, col: 19, offset: 66423}, + pos: position{line: 2018, col: 19, offset: 66522}, expr: &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonDoubleQuoteMonospaceTextElement26, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -51817,44 +42439,44 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 649, col: 5, offset: 20887}, + pos: position{line: 655, col: 5, offset: 20901}, run: (*parser).callonDoubleQuoteMonospaceTextElement31, expr: &seqExpr{ - pos: position{line: 649, col: 5, offset: 20887}, + pos: position{line: 655, col: 5, offset: 20901}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 649, col: 5, offset: 20887}, + pos: position{line: 655, col: 5, offset: 20901}, run: (*parser).callonDoubleQuoteMonospaceTextElement33, }, &labeledExpr{ - pos: position{line: 652, col: 5, offset: 20951}, + pos: position{line: 658, col: 5, offset: 20970}, label: "element", expr: &choiceExpr{ - pos: position{line: 652, col: 14, offset: 20960}, + pos: position{line: 658, col: 14, offset: 20979}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 663, col: 25, offset: 21324}, + pos: position{line: 670, col: 25, offset: 21348}, run: (*parser).callonDoubleQuoteMonospaceTextElement36, expr: &seqExpr{ - pos: position{line: 663, col: 25, offset: 21324}, + pos: position{line: 670, col: 25, offset: 21348}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 663, col: 25, offset: 21324}, + pos: position{line: 670, col: 25, offset: 21348}, val: "{counter:", ignoreCase: false, want: "\"{counter:\"", }, &labeledExpr{ - pos: position{line: 663, col: 37, offset: 21336}, + pos: position{line: 670, col: 37, offset: 21360}, label: "name", expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, run: (*parser).callonDoubleQuoteMonospaceTextElement40, expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -51863,9 +42485,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, + pos: position{line: 336, col: 28, offset: 10335}, expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, + pos: position{line: 336, col: 29, offset: 10336}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -51879,33 +42501,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 663, col: 56, offset: 21355}, + pos: position{line: 670, col: 56, offset: 21379}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 663, col: 62, offset: 21361}, + pos: position{line: 670, col: 62, offset: 21385}, expr: &actionExpr{ - pos: position{line: 671, col: 17, offset: 21656}, + pos: position{line: 678, col: 17, offset: 21680}, run: (*parser).callonDoubleQuoteMonospaceTextElement47, expr: &seqExpr{ - pos: position{line: 671, col: 17, offset: 21656}, + pos: position{line: 678, col: 17, offset: 21680}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 671, col: 17, offset: 21656}, + pos: position{line: 678, col: 17, offset: 21680}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 671, col: 21, offset: 21660}, + pos: position{line: 678, col: 21, offset: 21684}, label: "start", expr: &choiceExpr{ - pos: position{line: 671, col: 28, offset: 21667}, + pos: position{line: 678, col: 28, offset: 21691}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 671, col: 28, offset: 21667}, + pos: position{line: 678, col: 28, offset: 21691}, run: (*parser).callonDoubleQuoteMonospaceTextElement52, expr: &charClassMatcher{ - pos: position{line: 671, col: 28, offset: 21667}, + pos: position{line: 678, col: 28, offset: 21691}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -51913,12 +42535,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 673, col: 9, offset: 21721}, + pos: position{line: 680, col: 9, offset: 21745}, run: (*parser).callonDoubleQuoteMonospaceTextElement54, expr: &oneOrMoreExpr{ - pos: position{line: 673, col: 9, offset: 21721}, + pos: position{line: 680, col: 9, offset: 21745}, expr: &charClassMatcher{ - pos: position{line: 673, col: 9, offset: 21721}, + pos: position{line: 680, col: 9, offset: 21745}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -51935,7 +42557,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 663, col: 78, offset: 21377}, + pos: position{line: 670, col: 78, offset: 21401}, val: "}", ignoreCase: false, want: "\"}\"", @@ -51944,28 +42566,28 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 667, col: 25, offset: 21495}, + pos: position{line: 674, col: 25, offset: 21519}, run: (*parser).callonDoubleQuoteMonospaceTextElement58, expr: &seqExpr{ - pos: position{line: 667, col: 25, offset: 21495}, + pos: position{line: 674, col: 25, offset: 21519}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 667, col: 25, offset: 21495}, + pos: position{line: 674, col: 25, offset: 21519}, val: "{counter2:", ignoreCase: false, want: "\"{counter2:\"", }, &labeledExpr{ - pos: position{line: 667, col: 38, offset: 21508}, + pos: position{line: 674, col: 38, offset: 21532}, label: "name", expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, run: (*parser).callonDoubleQuoteMonospaceTextElement62, expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -51974,9 +42596,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, + pos: position{line: 336, col: 28, offset: 10335}, expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, + pos: position{line: 336, col: 29, offset: 10336}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -51990,33 +42612,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 667, col: 57, offset: 21527}, + pos: position{line: 674, col: 57, offset: 21551}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 667, col: 63, offset: 21533}, + pos: position{line: 674, col: 63, offset: 21557}, expr: &actionExpr{ - pos: position{line: 671, col: 17, offset: 21656}, + pos: position{line: 678, col: 17, offset: 21680}, run: (*parser).callonDoubleQuoteMonospaceTextElement69, expr: &seqExpr{ - pos: position{line: 671, col: 17, offset: 21656}, + pos: position{line: 678, col: 17, offset: 21680}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 671, col: 17, offset: 21656}, + pos: position{line: 678, col: 17, offset: 21680}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 671, col: 21, offset: 21660}, + pos: position{line: 678, col: 21, offset: 21684}, label: "start", expr: &choiceExpr{ - pos: position{line: 671, col: 28, offset: 21667}, + pos: position{line: 678, col: 28, offset: 21691}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 671, col: 28, offset: 21667}, + pos: position{line: 678, col: 28, offset: 21691}, run: (*parser).callonDoubleQuoteMonospaceTextElement74, expr: &charClassMatcher{ - pos: position{line: 671, col: 28, offset: 21667}, + pos: position{line: 678, col: 28, offset: 21691}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -52024,12 +42646,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 673, col: 9, offset: 21721}, + pos: position{line: 680, col: 9, offset: 21745}, run: (*parser).callonDoubleQuoteMonospaceTextElement76, expr: &oneOrMoreExpr{ - pos: position{line: 673, col: 9, offset: 21721}, + pos: position{line: 680, col: 9, offset: 21745}, expr: &charClassMatcher{ - pos: position{line: 673, col: 9, offset: 21721}, + pos: position{line: 680, col: 9, offset: 21745}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -52046,7 +42668,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 667, col: 79, offset: 21549}, + pos: position{line: 674, col: 79, offset: 21573}, val: "}", ignoreCase: false, want: "\"}\"", @@ -52055,28 +42677,28 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 656, col: 31, offset: 21077}, + pos: position{line: 663, col: 5, offset: 21092}, run: (*parser).callonDoubleQuoteMonospaceTextElement80, expr: &seqExpr{ - pos: position{line: 656, col: 31, offset: 21077}, + pos: position{line: 663, col: 5, offset: 21092}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 656, col: 31, offset: 21077}, + pos: position{line: 663, col: 5, offset: 21092}, val: "{", ignoreCase: false, want: "\"{\"", }, &labeledExpr{ - pos: position{line: 656, col: 35, offset: 21081}, + pos: position{line: 663, col: 9, offset: 21096}, label: "name", expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, run: (*parser).callonDoubleQuoteMonospaceTextElement84, expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -52085,9 +42707,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, + pos: position{line: 336, col: 28, offset: 10335}, expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, + pos: position{line: 336, col: 29, offset: 10336}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -52101,7 +42723,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 656, col: 54, offset: 21100}, + pos: position{line: 663, col: 28, offset: 21115}, val: "}", ignoreCase: false, want: "\"}\"", @@ -52116,49 +42738,49 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2638, col: 5, offset: 87092}, + pos: position{line: 2539, col: 5, offset: 83846}, run: (*parser).callonDoubleQuoteMonospaceTextElement90, expr: &seqExpr{ - pos: position{line: 2638, col: 5, offset: 87092}, + pos: position{line: 2539, col: 5, offset: 83846}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 2638, col: 5, offset: 87092}, + pos: position{line: 2539, col: 5, offset: 83846}, run: (*parser).callonDoubleQuoteMonospaceTextElement92, }, &labeledExpr{ - pos: position{line: 2641, col: 5, offset: 87163}, + pos: position{line: 2542, col: 5, offset: 83922}, label: "element", expr: &choiceExpr{ - pos: position{line: 2643, col: 9, offset: 87261}, + pos: position{line: 2544, col: 9, offset: 84020}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2643, col: 9, offset: 87261}, + pos: position{line: 2544, col: 9, offset: 84020}, run: (*parser).callonDoubleQuoteMonospaceTextElement95, expr: &choiceExpr{ - pos: position{line: 691, col: 27, offset: 22375}, + pos: position{line: 698, col: 27, offset: 22399}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 691, col: 27, offset: 22375}, + pos: position{line: 698, col: 27, offset: 22399}, run: (*parser).callonDoubleQuoteMonospaceTextElement97, expr: &seqExpr{ - pos: position{line: 691, col: 27, offset: 22375}, + pos: position{line: 698, col: 27, offset: 22399}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 691, col: 27, offset: 22375}, + pos: position{line: 698, col: 27, offset: 22399}, val: "<<", ignoreCase: false, want: "\"<<\"", }, &labeledExpr{ - pos: position{line: 691, col: 32, offset: 22380}, + pos: position{line: 698, col: 32, offset: 22404}, label: "id", expr: &actionExpr{ - pos: position{line: 2913, col: 7, offset: 95667}, + pos: position{line: 2823, col: 7, offset: 92821}, run: (*parser).callonDoubleQuoteMonospaceTextElement101, expr: &oneOrMoreExpr{ - pos: position{line: 2913, col: 7, offset: 95667}, + pos: position{line: 2823, col: 7, offset: 92821}, expr: &charClassMatcher{ - pos: position{line: 2913, col: 7, offset: 95667}, + pos: position{line: 2823, col: 7, offset: 92821}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -52168,12 +42790,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 691, col: 40, offset: 22388}, + pos: position{line: 698, col: 40, offset: 22412}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonDoubleQuoteMonospaceTextElement105, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -52182,27 +42804,27 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 691, col: 47, offset: 22395}, + pos: position{line: 698, col: 47, offset: 22419}, val: ",", ignoreCase: false, want: "\",\"", }, &labeledExpr{ - pos: position{line: 691, col: 51, offset: 22399}, + pos: position{line: 698, col: 51, offset: 22423}, label: "label", expr: &oneOrMoreExpr{ - pos: position{line: 701, col: 24, offset: 22800}, + pos: position{line: 708, col: 24, offset: 22824}, expr: &choiceExpr{ - pos: position{line: 702, col: 5, offset: 22806}, + pos: position{line: 709, col: 5, offset: 22830}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 702, col: 6, offset: 22807}, + pos: position{line: 709, col: 6, offset: 22831}, run: (*parser).callonDoubleQuoteMonospaceTextElement111, expr: &seqExpr{ - pos: position{line: 702, col: 6, offset: 22807}, + pos: position{line: 709, col: 6, offset: 22831}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 702, col: 6, offset: 22807}, + pos: position{line: 709, col: 6, offset: 22831}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -52210,9 +42832,9 @@ var g = &grammar{ inverted: false, }, &oneOrMoreExpr{ - pos: position{line: 702, col: 14, offset: 22815}, + pos: position{line: 709, col: 14, offset: 22839}, expr: &charClassMatcher{ - pos: position{line: 702, col: 14, offset: 22815}, + pos: position{line: 709, col: 14, offset: 22839}, val: "[^\\r\\n{<>]", chars: []rune{'\r', '\n', '{', '<', '>'}, ignoreCase: false, @@ -52223,309 +42845,65 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 649, col: 5, offset: 20887}, + pos: position{line: 663, col: 5, offset: 21092}, run: (*parser).callonDoubleQuoteMonospaceTextElement116, expr: &seqExpr{ - pos: position{line: 649, col: 5, offset: 20887}, + pos: position{line: 663, col: 5, offset: 21092}, exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 649, col: 5, offset: 20887}, - run: (*parser).callonDoubleQuoteMonospaceTextElement118, + &litMatcher{ + pos: position{line: 663, col: 5, offset: 21092}, + val: "{", + ignoreCase: false, + want: "\"{\"", }, &labeledExpr{ - pos: position{line: 652, col: 5, offset: 20951}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 652, col: 14, offset: 20960}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 663, col: 25, offset: 21324}, - run: (*parser).callonDoubleQuoteMonospaceTextElement121, - expr: &seqExpr{ - pos: position{line: 663, col: 25, offset: 21324}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 663, col: 25, offset: 21324}, - val: "{counter:", - ignoreCase: false, - want: "\"{counter:\"", - }, - &labeledExpr{ - pos: position{line: 663, col: 37, offset: 21336}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonDoubleQuoteMonospaceTextElement125, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 663, col: 56, offset: 21355}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 663, col: 62, offset: 21361}, - expr: &actionExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - run: (*parser).callonDoubleQuoteMonospaceTextElement132, - expr: &seqExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 671, col: 17, offset: 21656}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 671, col: 21, offset: 21660}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - run: (*parser).callonDoubleQuoteMonospaceTextElement137, - expr: &charClassMatcher{ - pos: position{line: 671, col: 28, offset: 21667}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - run: (*parser).callonDoubleQuoteMonospaceTextElement139, - expr: &oneOrMoreExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - expr: &charClassMatcher{ - pos: position{line: 673, col: 9, offset: 21721}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 663, col: 78, offset: 21377}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 667, col: 25, offset: 21495}, - run: (*parser).callonDoubleQuoteMonospaceTextElement143, - expr: &seqExpr{ - pos: position{line: 667, col: 25, offset: 21495}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 667, col: 25, offset: 21495}, - val: "{counter2:", - ignoreCase: false, - want: "\"{counter2:\"", - }, - &labeledExpr{ - pos: position{line: 667, col: 38, offset: 21508}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonDoubleQuoteMonospaceTextElement147, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 667, col: 57, offset: 21527}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 667, col: 63, offset: 21533}, - expr: &actionExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - run: (*parser).callonDoubleQuoteMonospaceTextElement154, - expr: &seqExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 671, col: 17, offset: 21656}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 671, col: 21, offset: 21660}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - run: (*parser).callonDoubleQuoteMonospaceTextElement159, - expr: &charClassMatcher{ - pos: position{line: 671, col: 28, offset: 21667}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - run: (*parser).callonDoubleQuoteMonospaceTextElement161, - expr: &oneOrMoreExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - expr: &charClassMatcher{ - pos: position{line: 673, col: 9, offset: 21721}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 667, col: 79, offset: 21549}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, + pos: position{line: 663, col: 9, offset: 21096}, + label: "name", + expr: &actionExpr{ + pos: position{line: 336, col: 18, offset: 10325}, + run: (*parser).callonDoubleQuoteMonospaceTextElement120, + expr: &seqExpr{ + pos: position{line: 336, col: 18, offset: 10325}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 336, col: 18, offset: 10325}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, }, - }, - &actionExpr{ - pos: position{line: 656, col: 31, offset: 21077}, - run: (*parser).callonDoubleQuoteMonospaceTextElement165, - expr: &seqExpr{ - pos: position{line: 656, col: 31, offset: 21077}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 656, col: 31, offset: 21077}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - &labeledExpr{ - pos: position{line: 656, col: 35, offset: 21081}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonDoubleQuoteMonospaceTextElement169, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - 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: 54, offset: 21100}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, + &zeroOrMoreExpr{ + pos: position{line: 336, col: 28, offset: 10335}, + expr: &charClassMatcher{ + pos: position{line: 336, col: 29, offset: 10336}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, }, }, }, }, }, }, + &litMatcher{ + pos: position{line: 663, col: 28, offset: 21115}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, }, }, }, &actionExpr{ - pos: position{line: 706, col: 8, offset: 23039}, - run: (*parser).callonDoubleQuoteMonospaceTextElement175, + pos: position{line: 713, col: 8, offset: 23065}, + run: (*parser).callonDoubleQuoteMonospaceTextElement126, expr: &litMatcher{ - pos: position{line: 706, col: 8, offset: 23039}, + pos: position{line: 713, col: 8, offset: 23065}, val: "{", ignoreCase: false, want: "\"{\"", @@ -52536,7 +42914,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 691, col: 79, offset: 22427}, + pos: position{line: 698, col: 79, offset: 22451}, val: ">>", ignoreCase: false, want: "\">>\"", @@ -52545,27 +42923,27 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 693, col: 9, offset: 22500}, - run: (*parser).callonDoubleQuoteMonospaceTextElement178, + pos: position{line: 700, col: 9, offset: 22524}, + run: (*parser).callonDoubleQuoteMonospaceTextElement129, expr: &seqExpr{ - pos: position{line: 693, col: 9, offset: 22500}, + pos: position{line: 700, col: 9, offset: 22524}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 693, col: 9, offset: 22500}, + pos: position{line: 700, col: 9, offset: 22524}, val: "<<", ignoreCase: false, want: "\"<<\"", }, &labeledExpr{ - pos: position{line: 693, col: 14, offset: 22505}, + pos: position{line: 700, col: 14, offset: 22529}, label: "id", expr: &actionExpr{ - pos: position{line: 2913, col: 7, offset: 95667}, - run: (*parser).callonDoubleQuoteMonospaceTextElement182, + pos: position{line: 2823, col: 7, offset: 92821}, + run: (*parser).callonDoubleQuoteMonospaceTextElement133, expr: &oneOrMoreExpr{ - pos: position{line: 2913, col: 7, offset: 95667}, + pos: position{line: 2823, col: 7, offset: 92821}, expr: &charClassMatcher{ - pos: position{line: 2913, col: 7, offset: 95667}, + pos: position{line: 2823, col: 7, offset: 92821}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -52575,7 +42953,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 693, col: 22, offset: 22513}, + pos: position{line: 700, col: 22, offset: 22537}, val: ">>", ignoreCase: false, want: "\">>\"", @@ -52587,10 +42965,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2646, col: 11, offset: 87365}, - run: (*parser).callonDoubleQuoteMonospaceTextElement186, + pos: position{line: 2547, col: 11, offset: 84124}, + run: (*parser).callonDoubleQuoteMonospaceTextElement137, expr: &charClassMatcher{ - pos: position{line: 2646, col: 12, offset: 87366}, + pos: position{line: 2547, col: 12, offset: 84125}, val: "[<>&]", chars: []rune{'<', '>', '&'}, ignoreCase: false, @@ -52604,63 +42982,63 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2671, col: 15, offset: 88333}, - run: (*parser).callonDoubleQuoteMonospaceTextElement188, + pos: position{line: 2572, col: 15, offset: 85092}, + run: (*parser).callonDoubleQuoteMonospaceTextElement139, expr: &litMatcher{ - pos: position{line: 2671, col: 15, offset: 88333}, + pos: position{line: 2572, col: 15, offset: 85092}, val: "`'", ignoreCase: false, want: "\"`'\"", }, }, &actionExpr{ - pos: position{line: 2677, col: 14, offset: 88448}, - run: (*parser).callonDoubleQuoteMonospaceTextElement190, + pos: position{line: 2578, col: 14, offset: 85207}, + run: (*parser).callonDoubleQuoteMonospaceTextElement141, expr: &litMatcher{ - pos: position{line: 2677, col: 14, offset: 88448}, + pos: position{line: 2578, col: 14, offset: 85207}, val: "(C)", ignoreCase: false, want: "\"(C)\"", }, }, &actionExpr{ - pos: position{line: 2681, col: 14, offset: 88524}, - run: (*parser).callonDoubleQuoteMonospaceTextElement192, + pos: position{line: 2582, col: 14, offset: 85283}, + run: (*parser).callonDoubleQuoteMonospaceTextElement143, expr: &litMatcher{ - pos: position{line: 2681, col: 14, offset: 88524}, + pos: position{line: 2582, col: 14, offset: 85283}, val: "(TM)", ignoreCase: false, want: "\"(TM)\"", }, }, &actionExpr{ - pos: position{line: 2685, col: 15, offset: 88602}, - run: (*parser).callonDoubleQuoteMonospaceTextElement194, + pos: position{line: 2586, col: 15, offset: 85361}, + run: (*parser).callonDoubleQuoteMonospaceTextElement145, expr: &litMatcher{ - pos: position{line: 2685, col: 15, offset: 88602}, + pos: position{line: 2586, col: 15, offset: 85361}, val: "(R)", ignoreCase: false, want: "\"(R)\"", }, }, &actionExpr{ - pos: position{line: 2689, col: 13, offset: 88677}, - run: (*parser).callonDoubleQuoteMonospaceTextElement196, + pos: position{line: 2590, col: 13, offset: 85436}, + run: (*parser).callonDoubleQuoteMonospaceTextElement147, expr: &litMatcher{ - pos: position{line: 2689, col: 13, offset: 88677}, + pos: position{line: 2590, col: 13, offset: 85436}, val: "...", ignoreCase: false, want: "\"...\"", }, }, &actionExpr{ - pos: position{line: 2697, col: 22, offset: 88983}, - run: (*parser).callonDoubleQuoteMonospaceTextElement198, + pos: position{line: 2598, col: 22, offset: 85742}, + run: (*parser).callonDoubleQuoteMonospaceTextElement149, expr: &seqExpr{ - pos: position{line: 2697, col: 22, offset: 88983}, + pos: position{line: 2598, col: 22, offset: 85742}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 2852, col: 13, offset: 93681}, + pos: position{line: 2753, col: 13, offset: 90440}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -52668,15 +43046,15 @@ var g = &grammar{ inverted: false, }, &litMatcher{ - pos: position{line: 2697, col: 31, offset: 88992}, + pos: position{line: 2598, col: 31, offset: 85751}, val: "'", ignoreCase: false, want: "\"'\"", }, &andExpr{ - pos: position{line: 2697, col: 35, offset: 88996}, + pos: position{line: 2598, col: 35, offset: 85755}, expr: &charClassMatcher{ - pos: position{line: 2697, col: 36, offset: 88997}, + pos: position{line: 2598, col: 36, offset: 85756}, val: "[\\pL]", classes: []*unicode.RangeTable{rangeTable("L")}, ignoreCase: false, @@ -52687,45 +43065,45 @@ var g = &grammar{ }, }, &ruleRefExpr{ - pos: position{line: 2015, col: 11, offset: 66552}, + pos: position{line: 2022, col: 11, offset: 66648}, name: "InlineMacro", }, &ruleRefExpr{ - pos: position{line: 2016, col: 11, offset: 66574}, + pos: position{line: 2023, col: 11, offset: 66670}, name: "QuotedString", }, &litMatcher{ - pos: position{line: 2675, col: 18, offset: 88412}, + pos: position{line: 2576, col: 18, offset: 85171}, val: "`'", ignoreCase: false, want: "\"`'\"", }, &ruleRefExpr{ - pos: position{line: 2018, col: 11, offset: 66664}, + pos: position{line: 2025, col: 11, offset: 66760}, name: "QuotedTextInDoubleQuoteMonospaceText", }, &actionExpr{ - pos: position{line: 1085, col: 23, offset: 33674}, - run: (*parser).callonDoubleQuoteMonospaceTextElement208, + pos: position{line: 1092, col: 23, offset: 33700}, + run: (*parser).callonDoubleQuoteMonospaceTextElement159, expr: &seqExpr{ - pos: position{line: 1085, col: 23, offset: 33674}, + pos: position{line: 1092, col: 23, offset: 33700}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1083, col: 32, offset: 33642}, + pos: position{line: 1090, col: 32, offset: 33668}, val: "�", ignoreCase: false, want: "\"�\"", }, &labeledExpr{ - pos: position{line: 1085, col: 51, offset: 33702}, + pos: position{line: 1092, col: 51, offset: 33728}, label: "ref", expr: &actionExpr{ - pos: position{line: 1085, col: 56, offset: 33707}, - run: (*parser).callonDoubleQuoteMonospaceTextElement212, + pos: position{line: 1092, col: 56, offset: 33733}, + run: (*parser).callonDoubleQuoteMonospaceTextElement163, expr: &oneOrMoreExpr{ - pos: position{line: 1085, col: 56, offset: 33707}, + pos: position{line: 1092, col: 56, offset: 33733}, expr: &charClassMatcher{ - pos: position{line: 1085, col: 56, offset: 33707}, + pos: position{line: 1092, col: 56, offset: 33733}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -52735,7 +43113,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1083, col: 32, offset: 33642}, + pos: position{line: 1090, col: 32, offset: 33668}, val: "�", ignoreCase: false, want: "\"�\"", @@ -52744,31 +43122,31 @@ var g = &grammar{ }, }, &charClassMatcher{ - pos: position{line: 2037, col: 5, offset: 67196}, + pos: position{line: 2044, col: 5, offset: 67292}, val: "[^\\r\\n`]", chars: []rune{'\r', '\n', '`'}, ignoreCase: false, inverted: true, }, &actionExpr{ - pos: position{line: 2038, col: 7, offset: 67298}, - run: (*parser).callonDoubleQuoteMonospaceTextElement217, + pos: position{line: 2045, col: 7, offset: 67394}, + run: (*parser).callonDoubleQuoteMonospaceTextElement168, expr: &seqExpr{ - pos: position{line: 2038, col: 7, offset: 67298}, + pos: position{line: 2045, col: 7, offset: 67394}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2038, col: 7, offset: 67298}, + pos: position{line: 2045, col: 7, offset: 67394}, val: "``", ignoreCase: false, want: "\"``\"", }, &actionExpr{ - pos: position{line: 2856, col: 14, offset: 93755}, - run: (*parser).callonDoubleQuoteMonospaceTextElement220, + pos: position{line: 2757, col: 14, offset: 90514}, + run: (*parser).callonDoubleQuoteMonospaceTextElement171, expr: &oneOrMoreExpr{ - pos: position{line: 2856, col: 14, offset: 93755}, + pos: position{line: 2757, col: 14, offset: 90514}, expr: &charClassMatcher{ - pos: position{line: 2856, col: 14, offset: 93755}, + pos: position{line: 2757, col: 14, offset: 90514}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -52789,52 +43167,52 @@ var g = &grammar{ }, { name: "QuotedTextInDoubleQuoteMonospaceText", - pos: position{line: 2024, col: 1, offset: 66828}, + pos: position{line: 2031, col: 1, offset: 66924}, expr: &actionExpr{ - pos: position{line: 2025, col: 5, offset: 66872}, + pos: position{line: 2032, col: 5, offset: 66968}, run: (*parser).callonQuotedTextInDoubleQuoteMonospaceText1, expr: &seqExpr{ - pos: position{line: 2025, col: 5, offset: 66872}, + pos: position{line: 2032, col: 5, offset: 66968}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 2025, col: 5, offset: 66872}, + pos: position{line: 2032, col: 5, offset: 66968}, label: "attributes", expr: &zeroOrOneExpr{ - pos: position{line: 2025, col: 16, offset: 66883}, + pos: position{line: 2032, col: 16, offset: 66979}, expr: &ruleRefExpr{ - pos: position{line: 2025, col: 17, offset: 66884}, + pos: position{line: 2032, col: 17, offset: 66980}, name: "LongHandAttributes", }, }, }, &labeledExpr{ - pos: position{line: 2026, col: 5, offset: 66910}, + pos: position{line: 2033, col: 5, offset: 67006}, label: "text", expr: &choiceExpr{ - pos: position{line: 2027, col: 9, offset: 66925}, + pos: position{line: 2034, col: 9, offset: 67021}, alternatives: []interface{}{ &ruleRefExpr{ - pos: position{line: 2027, col: 9, offset: 66925}, + pos: position{line: 2034, col: 9, offset: 67021}, name: "SingleQuoteMonospaceText", }, &ruleRefExpr{ - pos: position{line: 2028, col: 11, offset: 66960}, + pos: position{line: 2035, col: 11, offset: 67056}, name: "BoldText", }, &ruleRefExpr{ - pos: position{line: 2029, col: 11, offset: 66979}, + pos: position{line: 2036, col: 11, offset: 67075}, name: "ItalicText", }, &ruleRefExpr{ - pos: position{line: 2030, col: 11, offset: 67000}, + pos: position{line: 2037, col: 11, offset: 67096}, name: "MarkedText", }, &ruleRefExpr{ - pos: position{line: 2031, col: 11, offset: 67021}, + pos: position{line: 2038, col: 11, offset: 67117}, name: "SubscriptText", }, &ruleRefExpr{ - pos: position{line: 2032, col: 11, offset: 67045}, + pos: position{line: 2039, col: 11, offset: 67141}, name: "SuperscriptText", }, }, @@ -52846,29 +43224,29 @@ var g = &grammar{ }, { name: "SingleQuoteMonospaceText", - pos: position{line: 2051, col: 1, offset: 67784}, + pos: position{line: 2058, col: 1, offset: 67880}, expr: &actionExpr{ - pos: position{line: 2052, col: 5, offset: 67817}, + pos: position{line: 2059, col: 5, offset: 67913}, run: (*parser).callonSingleQuoteMonospaceText1, expr: &seqExpr{ - pos: position{line: 2052, col: 5, offset: 67817}, + pos: position{line: 2059, col: 5, offset: 67913}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2047, col: 43, offset: 67732}, + pos: position{line: 2054, col: 43, offset: 67828}, val: "`", ignoreCase: false, want: "\"`\"", }, &labeledExpr{ - pos: position{line: 2053, col: 5, offset: 67861}, + pos: position{line: 2060, col: 5, offset: 67957}, label: "elements", expr: &ruleRefExpr{ - pos: position{line: 2053, col: 15, offset: 67871}, + pos: position{line: 2060, col: 15, offset: 67967}, name: "SingleQuoteMonospaceTextElements", }, }, &litMatcher{ - pos: position{line: 2049, col: 41, offset: 67778}, + pos: position{line: 2056, col: 41, offset: 67874}, val: "`", ignoreCase: false, want: "\"`\"", @@ -52879,29 +43257,29 @@ var g = &grammar{ }, { name: "SingleQuoteMonospaceTextElements", - pos: position{line: 2058, col: 1, offset: 68047}, + pos: position{line: 2065, col: 1, offset: 68143}, expr: &actionExpr{ - pos: position{line: 2059, col: 5, offset: 68088}, + pos: position{line: 2066, col: 5, offset: 68184}, run: (*parser).callonSingleQuoteMonospaceTextElements1, expr: &seqExpr{ - pos: position{line: 2059, col: 5, offset: 68088}, + pos: position{line: 2066, col: 5, offset: 68184}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 2059, col: 5, offset: 68088}, + pos: position{line: 2066, col: 5, offset: 68184}, expr: ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, ¬Expr{ - pos: position{line: 2059, col: 10, offset: 68093}, + pos: position{line: 2066, col: 10, offset: 68189}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonSingleQuoteMonospaceTextElements7, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -52910,18 +43288,18 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 2060, col: 5, offset: 68132}, + pos: position{line: 2067, col: 5, offset: 68228}, label: "elements", expr: &oneOrMoreExpr{ - pos: position{line: 2060, col: 14, offset: 68141}, + pos: position{line: 2067, col: 14, offset: 68237}, expr: &ruleRefExpr{ - pos: position{line: 2060, col: 15, offset: 68142}, + pos: position{line: 2067, col: 15, offset: 68238}, name: "SingleQuoteMonospaceTextElement", }, }, }, &andCodeExpr{ - pos: position{line: 2061, col: 5, offset: 68180}, + pos: position{line: 2068, col: 5, offset: 68276}, run: (*parser).callonSingleQuoteMonospaceTextElements12, }, }, @@ -52930,20 +43308,20 @@ var g = &grammar{ }, { name: "SingleQuoteMonospaceTextElement", - pos: position{line: 2067, col: 1, offset: 68321}, + pos: position{line: 2074, col: 1, offset: 68417}, expr: &choiceExpr{ - pos: position{line: 2068, col: 5, offset: 68362}, + pos: position{line: 2075, col: 5, offset: 68458}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2864, col: 5, offset: 94136}, + pos: position{line: 2765, col: 5, offset: 90895}, run: (*parser).callonSingleQuoteMonospaceTextElement2, expr: &seqExpr{ - pos: position{line: 2864, col: 5, offset: 94136}, + pos: position{line: 2765, col: 5, offset: 90895}, exprs: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 2864, col: 5, offset: 94136}, + pos: position{line: 2765, col: 5, offset: 90895}, expr: &charClassMatcher{ - pos: position{line: 2864, col: 5, offset: 94136}, + pos: position{line: 2765, col: 5, offset: 90895}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -52952,21 +43330,21 @@ var g = &grammar{ }, }, &andExpr{ - pos: position{line: 2864, col: 15, offset: 94146}, + pos: position{line: 2765, col: 15, offset: 90905}, expr: &choiceExpr{ - pos: position{line: 2864, col: 17, offset: 94148}, + pos: position{line: 2765, col: 17, offset: 90907}, alternatives: []interface{}{ &charClassMatcher{ - pos: position{line: 2864, col: 17, offset: 94148}, + pos: position{line: 2765, col: 17, offset: 90907}, val: "[\\r\\n ,]]", chars: []rune{'\r', '\n', ' ', ',', ']'}, ignoreCase: false, inverted: false, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -52976,15 +43354,15 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2866, col: 9, offset: 94230}, + pos: position{line: 2767, col: 9, offset: 90989}, run: (*parser).callonSingleQuoteMonospaceTextElement11, expr: &seqExpr{ - pos: position{line: 2866, col: 9, offset: 94230}, + pos: position{line: 2767, col: 9, offset: 90989}, exprs: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 2866, col: 9, offset: 94230}, + pos: position{line: 2767, col: 9, offset: 90989}, expr: &charClassMatcher{ - pos: position{line: 2866, col: 9, offset: 94230}, + pos: position{line: 2767, col: 9, offset: 90989}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -52993,21 +43371,21 @@ var g = &grammar{ }, }, &oneOrMoreExpr{ - pos: position{line: 2866, col: 19, offset: 94240}, + pos: position{line: 2767, col: 19, offset: 90999}, expr: &seqExpr{ - pos: position{line: 2866, col: 20, offset: 94241}, + pos: position{line: 2767, col: 20, offset: 91000}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 2866, col: 20, offset: 94241}, + pos: position{line: 2767, col: 20, offset: 91000}, val: "[=*_`]", chars: []rune{'=', '*', '_', '`'}, ignoreCase: false, inverted: false, }, &oneOrMoreExpr{ - pos: position{line: 2866, col: 27, offset: 94248}, + pos: position{line: 2767, col: 27, offset: 91007}, expr: &charClassMatcher{ - pos: position{line: 2866, col: 27, offset: 94248}, + pos: position{line: 2767, col: 27, offset: 91007}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -53022,12 +43400,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2932, col: 11, offset: 96082}, + pos: position{line: 2842, col: 11, offset: 93236}, run: (*parser).callonSingleQuoteMonospaceTextElement20, expr: &oneOrMoreExpr{ - pos: position{line: 2932, col: 11, offset: 96082}, + pos: position{line: 2842, col: 11, offset: 93236}, expr: &charClassMatcher{ - pos: position{line: 2932, col: 12, offset: 96083}, + pos: position{line: 2842, col: 12, offset: 93237}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -53036,28 +43414,28 @@ var g = &grammar{ }, }, &seqExpr{ - pos: position{line: 2070, col: 7, offset: 68387}, + pos: position{line: 2077, col: 7, offset: 68483}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonSingleQuoteMonospaceTextElement24, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -53066,27 +43444,27 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2070, col: 15, offset: 68395}, + pos: position{line: 2077, col: 15, offset: 68491}, expr: &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonSingleQuoteMonospaceTextElement30, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -53098,44 +43476,44 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 649, col: 5, offset: 20887}, + pos: position{line: 655, col: 5, offset: 20901}, run: (*parser).callonSingleQuoteMonospaceTextElement35, expr: &seqExpr{ - pos: position{line: 649, col: 5, offset: 20887}, + pos: position{line: 655, col: 5, offset: 20901}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 649, col: 5, offset: 20887}, + pos: position{line: 655, col: 5, offset: 20901}, run: (*parser).callonSingleQuoteMonospaceTextElement37, }, &labeledExpr{ - pos: position{line: 652, col: 5, offset: 20951}, + pos: position{line: 658, col: 5, offset: 20970}, label: "element", expr: &choiceExpr{ - pos: position{line: 652, col: 14, offset: 20960}, + pos: position{line: 658, col: 14, offset: 20979}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 663, col: 25, offset: 21324}, + pos: position{line: 670, col: 25, offset: 21348}, run: (*parser).callonSingleQuoteMonospaceTextElement40, expr: &seqExpr{ - pos: position{line: 663, col: 25, offset: 21324}, + pos: position{line: 670, col: 25, offset: 21348}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 663, col: 25, offset: 21324}, + pos: position{line: 670, col: 25, offset: 21348}, val: "{counter:", ignoreCase: false, want: "\"{counter:\"", }, &labeledExpr{ - pos: position{line: 663, col: 37, offset: 21336}, + pos: position{line: 670, col: 37, offset: 21360}, label: "name", expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, run: (*parser).callonSingleQuoteMonospaceTextElement44, expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -53144,9 +43522,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, + pos: position{line: 336, col: 28, offset: 10335}, expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, + pos: position{line: 336, col: 29, offset: 10336}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -53160,33 +43538,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 663, col: 56, offset: 21355}, + pos: position{line: 670, col: 56, offset: 21379}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 663, col: 62, offset: 21361}, + pos: position{line: 670, col: 62, offset: 21385}, expr: &actionExpr{ - pos: position{line: 671, col: 17, offset: 21656}, + pos: position{line: 678, col: 17, offset: 21680}, run: (*parser).callonSingleQuoteMonospaceTextElement51, expr: &seqExpr{ - pos: position{line: 671, col: 17, offset: 21656}, + pos: position{line: 678, col: 17, offset: 21680}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 671, col: 17, offset: 21656}, + pos: position{line: 678, col: 17, offset: 21680}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 671, col: 21, offset: 21660}, + pos: position{line: 678, col: 21, offset: 21684}, label: "start", expr: &choiceExpr{ - pos: position{line: 671, col: 28, offset: 21667}, + pos: position{line: 678, col: 28, offset: 21691}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 671, col: 28, offset: 21667}, + pos: position{line: 678, col: 28, offset: 21691}, run: (*parser).callonSingleQuoteMonospaceTextElement56, expr: &charClassMatcher{ - pos: position{line: 671, col: 28, offset: 21667}, + pos: position{line: 678, col: 28, offset: 21691}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -53194,12 +43572,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 673, col: 9, offset: 21721}, + pos: position{line: 680, col: 9, offset: 21745}, run: (*parser).callonSingleQuoteMonospaceTextElement58, expr: &oneOrMoreExpr{ - pos: position{line: 673, col: 9, offset: 21721}, + pos: position{line: 680, col: 9, offset: 21745}, expr: &charClassMatcher{ - pos: position{line: 673, col: 9, offset: 21721}, + pos: position{line: 680, col: 9, offset: 21745}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -53216,7 +43594,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 663, col: 78, offset: 21377}, + pos: position{line: 670, col: 78, offset: 21401}, val: "}", ignoreCase: false, want: "\"}\"", @@ -53225,28 +43603,28 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 667, col: 25, offset: 21495}, + pos: position{line: 674, col: 25, offset: 21519}, run: (*parser).callonSingleQuoteMonospaceTextElement62, expr: &seqExpr{ - pos: position{line: 667, col: 25, offset: 21495}, + pos: position{line: 674, col: 25, offset: 21519}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 667, col: 25, offset: 21495}, + pos: position{line: 674, col: 25, offset: 21519}, val: "{counter2:", ignoreCase: false, want: "\"{counter2:\"", }, &labeledExpr{ - pos: position{line: 667, col: 38, offset: 21508}, + pos: position{line: 674, col: 38, offset: 21532}, label: "name", expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, run: (*parser).callonSingleQuoteMonospaceTextElement66, expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -53255,9 +43633,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, + pos: position{line: 336, col: 28, offset: 10335}, expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, + pos: position{line: 336, col: 29, offset: 10336}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -53271,33 +43649,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 667, col: 57, offset: 21527}, + pos: position{line: 674, col: 57, offset: 21551}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 667, col: 63, offset: 21533}, + pos: position{line: 674, col: 63, offset: 21557}, expr: &actionExpr{ - pos: position{line: 671, col: 17, offset: 21656}, + pos: position{line: 678, col: 17, offset: 21680}, run: (*parser).callonSingleQuoteMonospaceTextElement73, expr: &seqExpr{ - pos: position{line: 671, col: 17, offset: 21656}, + pos: position{line: 678, col: 17, offset: 21680}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 671, col: 17, offset: 21656}, + pos: position{line: 678, col: 17, offset: 21680}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 671, col: 21, offset: 21660}, + pos: position{line: 678, col: 21, offset: 21684}, label: "start", expr: &choiceExpr{ - pos: position{line: 671, col: 28, offset: 21667}, + pos: position{line: 678, col: 28, offset: 21691}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 671, col: 28, offset: 21667}, + pos: position{line: 678, col: 28, offset: 21691}, run: (*parser).callonSingleQuoteMonospaceTextElement78, expr: &charClassMatcher{ - pos: position{line: 671, col: 28, offset: 21667}, + pos: position{line: 678, col: 28, offset: 21691}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -53305,12 +43683,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 673, col: 9, offset: 21721}, + pos: position{line: 680, col: 9, offset: 21745}, run: (*parser).callonSingleQuoteMonospaceTextElement80, expr: &oneOrMoreExpr{ - pos: position{line: 673, col: 9, offset: 21721}, + pos: position{line: 680, col: 9, offset: 21745}, expr: &charClassMatcher{ - pos: position{line: 673, col: 9, offset: 21721}, + pos: position{line: 680, col: 9, offset: 21745}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -53327,7 +43705,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 667, col: 79, offset: 21549}, + pos: position{line: 674, col: 79, offset: 21573}, val: "}", ignoreCase: false, want: "\"}\"", @@ -53336,28 +43714,28 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 656, col: 31, offset: 21077}, + pos: position{line: 663, col: 5, offset: 21092}, run: (*parser).callonSingleQuoteMonospaceTextElement84, expr: &seqExpr{ - pos: position{line: 656, col: 31, offset: 21077}, + pos: position{line: 663, col: 5, offset: 21092}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 656, col: 31, offset: 21077}, + pos: position{line: 663, col: 5, offset: 21092}, val: "{", ignoreCase: false, want: "\"{\"", }, &labeledExpr{ - pos: position{line: 656, col: 35, offset: 21081}, + pos: position{line: 663, col: 9, offset: 21096}, label: "name", expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, run: (*parser).callonSingleQuoteMonospaceTextElement88, expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -53366,9 +43744,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, + pos: position{line: 336, col: 28, offset: 10335}, expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, + pos: position{line: 336, col: 29, offset: 10336}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -53382,7 +43760,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 656, col: 54, offset: 21100}, + pos: position{line: 663, col: 28, offset: 21115}, val: "}", ignoreCase: false, want: "\"}\"", @@ -53397,49 +43775,49 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2638, col: 5, offset: 87092}, + pos: position{line: 2539, col: 5, offset: 83846}, run: (*parser).callonSingleQuoteMonospaceTextElement94, expr: &seqExpr{ - pos: position{line: 2638, col: 5, offset: 87092}, + pos: position{line: 2539, col: 5, offset: 83846}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 2638, col: 5, offset: 87092}, + pos: position{line: 2539, col: 5, offset: 83846}, run: (*parser).callonSingleQuoteMonospaceTextElement96, }, &labeledExpr{ - pos: position{line: 2641, col: 5, offset: 87163}, + pos: position{line: 2542, col: 5, offset: 83922}, label: "element", expr: &choiceExpr{ - pos: position{line: 2643, col: 9, offset: 87261}, + pos: position{line: 2544, col: 9, offset: 84020}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2643, col: 9, offset: 87261}, + pos: position{line: 2544, col: 9, offset: 84020}, run: (*parser).callonSingleQuoteMonospaceTextElement99, expr: &choiceExpr{ - pos: position{line: 691, col: 27, offset: 22375}, + pos: position{line: 698, col: 27, offset: 22399}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 691, col: 27, offset: 22375}, + pos: position{line: 698, col: 27, offset: 22399}, run: (*parser).callonSingleQuoteMonospaceTextElement101, expr: &seqExpr{ - pos: position{line: 691, col: 27, offset: 22375}, + pos: position{line: 698, col: 27, offset: 22399}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 691, col: 27, offset: 22375}, + pos: position{line: 698, col: 27, offset: 22399}, val: "<<", ignoreCase: false, want: "\"<<\"", }, &labeledExpr{ - pos: position{line: 691, col: 32, offset: 22380}, + pos: position{line: 698, col: 32, offset: 22404}, label: "id", expr: &actionExpr{ - pos: position{line: 2913, col: 7, offset: 95667}, + pos: position{line: 2823, col: 7, offset: 92821}, run: (*parser).callonSingleQuoteMonospaceTextElement105, expr: &oneOrMoreExpr{ - pos: position{line: 2913, col: 7, offset: 95667}, + pos: position{line: 2823, col: 7, offset: 92821}, expr: &charClassMatcher{ - pos: position{line: 2913, col: 7, offset: 95667}, + pos: position{line: 2823, col: 7, offset: 92821}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -53449,12 +43827,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 691, col: 40, offset: 22388}, + pos: position{line: 698, col: 40, offset: 22412}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonSingleQuoteMonospaceTextElement109, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -53463,27 +43841,27 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 691, col: 47, offset: 22395}, + pos: position{line: 698, col: 47, offset: 22419}, val: ",", ignoreCase: false, want: "\",\"", }, &labeledExpr{ - pos: position{line: 691, col: 51, offset: 22399}, + pos: position{line: 698, col: 51, offset: 22423}, label: "label", expr: &oneOrMoreExpr{ - pos: position{line: 701, col: 24, offset: 22800}, + pos: position{line: 708, col: 24, offset: 22824}, expr: &choiceExpr{ - pos: position{line: 702, col: 5, offset: 22806}, + pos: position{line: 709, col: 5, offset: 22830}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 702, col: 6, offset: 22807}, + pos: position{line: 709, col: 6, offset: 22831}, run: (*parser).callonSingleQuoteMonospaceTextElement115, expr: &seqExpr{ - pos: position{line: 702, col: 6, offset: 22807}, + pos: position{line: 709, col: 6, offset: 22831}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 702, col: 6, offset: 22807}, + pos: position{line: 709, col: 6, offset: 22831}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -53491,9 +43869,9 @@ var g = &grammar{ inverted: false, }, &oneOrMoreExpr{ - pos: position{line: 702, col: 14, offset: 22815}, + pos: position{line: 709, col: 14, offset: 22839}, expr: &charClassMatcher{ - pos: position{line: 702, col: 14, offset: 22815}, + pos: position{line: 709, col: 14, offset: 22839}, val: "[^\\r\\n{<>]", chars: []rune{'\r', '\n', '{', '<', '>'}, ignoreCase: false, @@ -53504,309 +43882,65 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 649, col: 5, offset: 20887}, + pos: position{line: 663, col: 5, offset: 21092}, run: (*parser).callonSingleQuoteMonospaceTextElement120, expr: &seqExpr{ - pos: position{line: 649, col: 5, offset: 20887}, + pos: position{line: 663, col: 5, offset: 21092}, exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 649, col: 5, offset: 20887}, - run: (*parser).callonSingleQuoteMonospaceTextElement122, + &litMatcher{ + pos: position{line: 663, col: 5, offset: 21092}, + val: "{", + ignoreCase: false, + want: "\"{\"", }, &labeledExpr{ - pos: position{line: 652, col: 5, offset: 20951}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 652, col: 14, offset: 20960}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 663, col: 25, offset: 21324}, - run: (*parser).callonSingleQuoteMonospaceTextElement125, - expr: &seqExpr{ - pos: position{line: 663, col: 25, offset: 21324}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 663, col: 25, offset: 21324}, - val: "{counter:", - ignoreCase: false, - want: "\"{counter:\"", - }, - &labeledExpr{ - pos: position{line: 663, col: 37, offset: 21336}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonSingleQuoteMonospaceTextElement129, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 663, col: 56, offset: 21355}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 663, col: 62, offset: 21361}, - expr: &actionExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - run: (*parser).callonSingleQuoteMonospaceTextElement136, - expr: &seqExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 671, col: 17, offset: 21656}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 671, col: 21, offset: 21660}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - run: (*parser).callonSingleQuoteMonospaceTextElement141, - expr: &charClassMatcher{ - pos: position{line: 671, col: 28, offset: 21667}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - run: (*parser).callonSingleQuoteMonospaceTextElement143, - expr: &oneOrMoreExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - expr: &charClassMatcher{ - pos: position{line: 673, col: 9, offset: 21721}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 663, col: 78, offset: 21377}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 667, col: 25, offset: 21495}, - run: (*parser).callonSingleQuoteMonospaceTextElement147, - expr: &seqExpr{ - pos: position{line: 667, col: 25, offset: 21495}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 667, col: 25, offset: 21495}, - val: "{counter2:", - ignoreCase: false, - want: "\"{counter2:\"", - }, - &labeledExpr{ - pos: position{line: 667, col: 38, offset: 21508}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonSingleQuoteMonospaceTextElement151, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 667, col: 57, offset: 21527}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 667, col: 63, offset: 21533}, - expr: &actionExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - run: (*parser).callonSingleQuoteMonospaceTextElement158, - expr: &seqExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 671, col: 17, offset: 21656}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 671, col: 21, offset: 21660}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - run: (*parser).callonSingleQuoteMonospaceTextElement163, - expr: &charClassMatcher{ - pos: position{line: 671, col: 28, offset: 21667}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - run: (*parser).callonSingleQuoteMonospaceTextElement165, - expr: &oneOrMoreExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - expr: &charClassMatcher{ - pos: position{line: 673, col: 9, offset: 21721}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 667, col: 79, offset: 21549}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, + pos: position{line: 663, col: 9, offset: 21096}, + label: "name", + expr: &actionExpr{ + pos: position{line: 336, col: 18, offset: 10325}, + run: (*parser).callonSingleQuoteMonospaceTextElement124, + expr: &seqExpr{ + pos: position{line: 336, col: 18, offset: 10325}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 336, col: 18, offset: 10325}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, }, - }, - &actionExpr{ - pos: position{line: 656, col: 31, offset: 21077}, - run: (*parser).callonSingleQuoteMonospaceTextElement169, - expr: &seqExpr{ - pos: position{line: 656, col: 31, offset: 21077}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 656, col: 31, offset: 21077}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - &labeledExpr{ - pos: position{line: 656, col: 35, offset: 21081}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonSingleQuoteMonospaceTextElement173, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - 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: 54, offset: 21100}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, + &zeroOrMoreExpr{ + pos: position{line: 336, col: 28, offset: 10335}, + expr: &charClassMatcher{ + pos: position{line: 336, col: 29, offset: 10336}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, }, }, }, }, }, }, + &litMatcher{ + pos: position{line: 663, col: 28, offset: 21115}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, }, }, }, &actionExpr{ - pos: position{line: 706, col: 8, offset: 23039}, - run: (*parser).callonSingleQuoteMonospaceTextElement179, + pos: position{line: 713, col: 8, offset: 23065}, + run: (*parser).callonSingleQuoteMonospaceTextElement130, expr: &litMatcher{ - pos: position{line: 706, col: 8, offset: 23039}, + pos: position{line: 713, col: 8, offset: 23065}, val: "{", ignoreCase: false, want: "\"{\"", @@ -53817,7 +43951,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 691, col: 79, offset: 22427}, + pos: position{line: 698, col: 79, offset: 22451}, val: ">>", ignoreCase: false, want: "\">>\"", @@ -53826,27 +43960,27 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 693, col: 9, offset: 22500}, - run: (*parser).callonSingleQuoteMonospaceTextElement182, + pos: position{line: 700, col: 9, offset: 22524}, + run: (*parser).callonSingleQuoteMonospaceTextElement133, expr: &seqExpr{ - pos: position{line: 693, col: 9, offset: 22500}, + pos: position{line: 700, col: 9, offset: 22524}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 693, col: 9, offset: 22500}, + pos: position{line: 700, col: 9, offset: 22524}, val: "<<", ignoreCase: false, want: "\"<<\"", }, &labeledExpr{ - pos: position{line: 693, col: 14, offset: 22505}, + pos: position{line: 700, col: 14, offset: 22529}, label: "id", expr: &actionExpr{ - pos: position{line: 2913, col: 7, offset: 95667}, - run: (*parser).callonSingleQuoteMonospaceTextElement186, + pos: position{line: 2823, col: 7, offset: 92821}, + run: (*parser).callonSingleQuoteMonospaceTextElement137, expr: &oneOrMoreExpr{ - pos: position{line: 2913, col: 7, offset: 95667}, + pos: position{line: 2823, col: 7, offset: 92821}, expr: &charClassMatcher{ - pos: position{line: 2913, col: 7, offset: 95667}, + pos: position{line: 2823, col: 7, offset: 92821}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -53856,7 +43990,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 693, col: 22, offset: 22513}, + pos: position{line: 700, col: 22, offset: 22537}, val: ">>", ignoreCase: false, want: "\">>\"", @@ -53868,10 +44002,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2646, col: 11, offset: 87365}, - run: (*parser).callonSingleQuoteMonospaceTextElement190, + pos: position{line: 2547, col: 11, offset: 84124}, + run: (*parser).callonSingleQuoteMonospaceTextElement141, expr: &charClassMatcher{ - pos: position{line: 2646, col: 12, offset: 87366}, + pos: position{line: 2547, col: 12, offset: 84125}, val: "[<>&]", chars: []rune{'<', '>', '&'}, ignoreCase: false, @@ -53885,63 +44019,63 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2671, col: 15, offset: 88333}, - run: (*parser).callonSingleQuoteMonospaceTextElement192, + pos: position{line: 2572, col: 15, offset: 85092}, + run: (*parser).callonSingleQuoteMonospaceTextElement143, expr: &litMatcher{ - pos: position{line: 2671, col: 15, offset: 88333}, + pos: position{line: 2572, col: 15, offset: 85092}, val: "`'", ignoreCase: false, want: "\"`'\"", }, }, &actionExpr{ - pos: position{line: 2677, col: 14, offset: 88448}, - run: (*parser).callonSingleQuoteMonospaceTextElement194, + pos: position{line: 2578, col: 14, offset: 85207}, + run: (*parser).callonSingleQuoteMonospaceTextElement145, expr: &litMatcher{ - pos: position{line: 2677, col: 14, offset: 88448}, + pos: position{line: 2578, col: 14, offset: 85207}, val: "(C)", ignoreCase: false, want: "\"(C)\"", }, }, &actionExpr{ - pos: position{line: 2681, col: 14, offset: 88524}, - run: (*parser).callonSingleQuoteMonospaceTextElement196, + pos: position{line: 2582, col: 14, offset: 85283}, + run: (*parser).callonSingleQuoteMonospaceTextElement147, expr: &litMatcher{ - pos: position{line: 2681, col: 14, offset: 88524}, + pos: position{line: 2582, col: 14, offset: 85283}, val: "(TM)", ignoreCase: false, want: "\"(TM)\"", }, }, &actionExpr{ - pos: position{line: 2685, col: 15, offset: 88602}, - run: (*parser).callonSingleQuoteMonospaceTextElement198, + pos: position{line: 2586, col: 15, offset: 85361}, + run: (*parser).callonSingleQuoteMonospaceTextElement149, expr: &litMatcher{ - pos: position{line: 2685, col: 15, offset: 88602}, + pos: position{line: 2586, col: 15, offset: 85361}, val: "(R)", ignoreCase: false, want: "\"(R)\"", }, }, &actionExpr{ - pos: position{line: 2689, col: 13, offset: 88677}, - run: (*parser).callonSingleQuoteMonospaceTextElement200, + pos: position{line: 2590, col: 13, offset: 85436}, + run: (*parser).callonSingleQuoteMonospaceTextElement151, expr: &litMatcher{ - pos: position{line: 2689, col: 13, offset: 88677}, + pos: position{line: 2590, col: 13, offset: 85436}, val: "...", ignoreCase: false, want: "\"...\"", }, }, &actionExpr{ - pos: position{line: 2697, col: 22, offset: 88983}, - run: (*parser).callonSingleQuoteMonospaceTextElement202, + pos: position{line: 2598, col: 22, offset: 85742}, + run: (*parser).callonSingleQuoteMonospaceTextElement153, expr: &seqExpr{ - pos: position{line: 2697, col: 22, offset: 88983}, + pos: position{line: 2598, col: 22, offset: 85742}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 2852, col: 13, offset: 93681}, + pos: position{line: 2753, col: 13, offset: 90440}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -53949,15 +44083,15 @@ var g = &grammar{ inverted: false, }, &litMatcher{ - pos: position{line: 2697, col: 31, offset: 88992}, + pos: position{line: 2598, col: 31, offset: 85751}, val: "'", ignoreCase: false, want: "\"'\"", }, &andExpr{ - pos: position{line: 2697, col: 35, offset: 88996}, + pos: position{line: 2598, col: 35, offset: 85755}, expr: &charClassMatcher{ - pos: position{line: 2697, col: 36, offset: 88997}, + pos: position{line: 2598, col: 36, offset: 85756}, val: "[\\pL]", classes: []*unicode.RangeTable{rangeTable("L")}, ignoreCase: false, @@ -53968,45 +44102,45 @@ var g = &grammar{ }, }, &ruleRefExpr{ - pos: position{line: 2074, col: 7, offset: 68508}, + pos: position{line: 2081, col: 7, offset: 68601}, name: "InlineMacro", }, &ruleRefExpr{ - pos: position{line: 2075, col: 7, offset: 68526}, + pos: position{line: 2082, col: 7, offset: 68619}, name: "QuotedString", }, &ruleRefExpr{ - pos: position{line: 2076, col: 7, offset: 68545}, + pos: position{line: 2083, col: 7, offset: 68638}, name: "QuotedTextInSingleQuoteMonospaceText", }, &litMatcher{ - pos: position{line: 2675, col: 18, offset: 88412}, + pos: position{line: 2576, col: 18, offset: 85171}, val: "`'", ignoreCase: false, want: "\"`'\"", }, &actionExpr{ - pos: position{line: 1085, col: 23, offset: 33674}, - run: (*parser).callonSingleQuoteMonospaceTextElement212, + pos: position{line: 1092, col: 23, offset: 33700}, + run: (*parser).callonSingleQuoteMonospaceTextElement163, expr: &seqExpr{ - pos: position{line: 1085, col: 23, offset: 33674}, + pos: position{line: 1092, col: 23, offset: 33700}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1083, col: 32, offset: 33642}, + pos: position{line: 1090, col: 32, offset: 33668}, val: "�", ignoreCase: false, want: "\"�\"", }, &labeledExpr{ - pos: position{line: 1085, col: 51, offset: 33702}, + pos: position{line: 1092, col: 51, offset: 33728}, label: "ref", expr: &actionExpr{ - pos: position{line: 1085, col: 56, offset: 33707}, - run: (*parser).callonSingleQuoteMonospaceTextElement216, + pos: position{line: 1092, col: 56, offset: 33733}, + run: (*parser).callonSingleQuoteMonospaceTextElement167, expr: &oneOrMoreExpr{ - pos: position{line: 1085, col: 56, offset: 33707}, + pos: position{line: 1092, col: 56, offset: 33733}, expr: &charClassMatcher{ - pos: position{line: 1085, col: 56, offset: 33707}, + pos: position{line: 1092, col: 56, offset: 33733}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -54016,7 +44150,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1083, col: 32, offset: 33642}, + pos: position{line: 1090, col: 32, offset: 33668}, val: "�", ignoreCase: false, want: "\"�\"", @@ -54025,34 +44159,34 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2094, col: 5, offset: 69044}, - run: (*parser).callonSingleQuoteMonospaceTextElement220, + pos: position{line: 2101, col: 5, offset: 69137}, + run: (*parser).callonSingleQuoteMonospaceTextElement171, expr: &choiceExpr{ - pos: position{line: 2094, col: 6, offset: 69045}, + pos: position{line: 2101, col: 6, offset: 69138}, alternatives: []interface{}{ &charClassMatcher{ - pos: position{line: 2094, col: 6, offset: 69045}, + pos: position{line: 2101, col: 6, offset: 69138}, val: "[^\\r\\n` ]", chars: []rune{'\r', '\n', '`', ' '}, ignoreCase: false, inverted: true, }, &seqExpr{ - pos: position{line: 2095, col: 7, offset: 69157}, + pos: position{line: 2102, col: 7, offset: 69250}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1985, col: 27, offset: 65583}, + pos: position{line: 1992, col: 27, offset: 65682}, val: "`", ignoreCase: false, want: "\"`\"", }, &actionExpr{ - pos: position{line: 2856, col: 14, offset: 93755}, - run: (*parser).callonSingleQuoteMonospaceTextElement225, + pos: position{line: 2757, col: 14, offset: 90514}, + run: (*parser).callonSingleQuoteMonospaceTextElement176, expr: &oneOrMoreExpr{ - pos: position{line: 2856, col: 14, offset: 93755}, + pos: position{line: 2757, col: 14, offset: 90514}, expr: &charClassMatcher{ - pos: position{line: 2856, col: 14, offset: 93755}, + pos: position{line: 2757, col: 14, offset: 90514}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -54071,52 +44205,52 @@ var g = &grammar{ }, { name: "QuotedTextInSingleQuoteMonospaceText", - pos: position{line: 2081, col: 1, offset: 68676}, + pos: position{line: 2088, col: 1, offset: 68769}, expr: &actionExpr{ - pos: position{line: 2082, col: 5, offset: 68720}, + pos: position{line: 2089, col: 5, offset: 68813}, run: (*parser).callonQuotedTextInSingleQuoteMonospaceText1, expr: &seqExpr{ - pos: position{line: 2082, col: 5, offset: 68720}, + pos: position{line: 2089, col: 5, offset: 68813}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 2082, col: 5, offset: 68720}, + pos: position{line: 2089, col: 5, offset: 68813}, label: "attributes", expr: &zeroOrOneExpr{ - pos: position{line: 2082, col: 16, offset: 68731}, + pos: position{line: 2089, col: 16, offset: 68824}, expr: &ruleRefExpr{ - pos: position{line: 2082, col: 17, offset: 68732}, + pos: position{line: 2089, col: 17, offset: 68825}, name: "LongHandAttributes", }, }, }, &labeledExpr{ - pos: position{line: 2083, col: 5, offset: 68758}, + pos: position{line: 2090, col: 5, offset: 68851}, label: "text", expr: &choiceExpr{ - pos: position{line: 2084, col: 9, offset: 68773}, + pos: position{line: 2091, col: 9, offset: 68866}, alternatives: []interface{}{ &ruleRefExpr{ - pos: position{line: 2084, col: 9, offset: 68773}, + pos: position{line: 2091, col: 9, offset: 68866}, name: "DoubleQuoteMonospaceText", }, &ruleRefExpr{ - pos: position{line: 2085, col: 11, offset: 68808}, + pos: position{line: 2092, col: 11, offset: 68901}, name: "BoldText", }, &ruleRefExpr{ - pos: position{line: 2086, col: 11, offset: 68827}, + pos: position{line: 2093, col: 11, offset: 68920}, name: "ItalicText", }, &ruleRefExpr{ - pos: position{line: 2087, col: 11, offset: 68848}, + pos: position{line: 2094, col: 11, offset: 68941}, name: "MarkedText", }, &ruleRefExpr{ - pos: position{line: 2088, col: 11, offset: 68869}, + pos: position{line: 2095, col: 11, offset: 68962}, name: "SubscriptText", }, &ruleRefExpr{ - pos: position{line: 2089, col: 11, offset: 68893}, + pos: position{line: 2096, col: 11, offset: 68986}, name: "SuperscriptText", }, }, @@ -54128,35 +44262,35 @@ var g = &grammar{ }, { name: "EscapedMonospaceText", - pos: position{line: 2099, col: 1, offset: 69358}, + pos: position{line: 2106, col: 1, offset: 69451}, expr: &choiceExpr{ - pos: position{line: 2100, col: 5, offset: 69387}, + pos: position{line: 2107, col: 5, offset: 69480}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2100, col: 5, offset: 69387}, + pos: position{line: 2107, col: 5, offset: 69480}, run: (*parser).callonEscapedMonospaceText2, expr: &seqExpr{ - pos: position{line: 2100, col: 5, offset: 69387}, + pos: position{line: 2107, col: 5, offset: 69480}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 2100, col: 5, offset: 69387}, + pos: position{line: 2107, col: 5, offset: 69480}, label: "backslashes", expr: &actionExpr{ - pos: position{line: 1728, col: 25, offset: 56419}, + pos: position{line: 1735, col: 25, offset: 56530}, run: (*parser).callonEscapedMonospaceText5, expr: &seqExpr{ - pos: position{line: 1728, col: 25, offset: 56419}, + pos: position{line: 1735, col: 25, offset: 56530}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1728, col: 25, offset: 56419}, + pos: position{line: 1735, col: 25, offset: 56530}, val: "\\\\", ignoreCase: false, want: "\"\\\\\\\\\"", }, &zeroOrMoreExpr{ - pos: position{line: 1728, col: 30, offset: 56424}, + pos: position{line: 1735, col: 30, offset: 56535}, expr: &litMatcher{ - pos: position{line: 1728, col: 30, offset: 56424}, + pos: position{line: 1735, col: 30, offset: 56535}, val: "\\", ignoreCase: false, want: "\"\\\\\"", @@ -54167,21 +44301,21 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 2100, col: 40, offset: 69422}, + pos: position{line: 2107, col: 40, offset: 69515}, val: "``", ignoreCase: false, want: "\"``\"", }, &labeledExpr{ - pos: position{line: 2100, col: 45, offset: 69427}, + pos: position{line: 2107, col: 45, offset: 69520}, label: "elements", expr: &ruleRefExpr{ - pos: position{line: 2100, col: 55, offset: 69437}, + pos: position{line: 2107, col: 55, offset: 69530}, name: "DoubleQuoteMonospaceTextElements", }, }, &litMatcher{ - pos: position{line: 2100, col: 89, offset: 69471}, + pos: position{line: 2107, col: 89, offset: 69564}, val: "``", ignoreCase: false, want: "\"``\"", @@ -54190,21 +44324,21 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2102, col: 9, offset: 69628}, + pos: position{line: 2109, col: 9, offset: 69721}, run: (*parser).callonEscapedMonospaceText14, expr: &seqExpr{ - pos: position{line: 2102, col: 9, offset: 69628}, + pos: position{line: 2109, col: 9, offset: 69721}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 2102, col: 9, offset: 69628}, + pos: position{line: 2109, col: 9, offset: 69721}, label: "backslashes", expr: &actionExpr{ - pos: position{line: 1724, col: 25, offset: 56346}, + pos: position{line: 1731, col: 25, offset: 56457}, run: (*parser).callonEscapedMonospaceText17, expr: &oneOrMoreExpr{ - pos: position{line: 1724, col: 25, offset: 56346}, + pos: position{line: 1731, col: 25, offset: 56457}, expr: &litMatcher{ - pos: position{line: 1724, col: 25, offset: 56346}, + pos: position{line: 1731, col: 25, offset: 56457}, val: "\\", ignoreCase: false, want: "\"\\\\\"", @@ -54213,21 +44347,21 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 2102, col: 44, offset: 69663}, + pos: position{line: 2109, col: 44, offset: 69756}, val: "``", ignoreCase: false, want: "\"``\"", }, &labeledExpr{ - pos: position{line: 2102, col: 49, offset: 69668}, + pos: position{line: 2109, col: 49, offset: 69761}, label: "elements", expr: &ruleRefExpr{ - pos: position{line: 2102, col: 59, offset: 69678}, + pos: position{line: 2109, col: 59, offset: 69771}, name: "SingleQuoteMonospaceTextElements", }, }, &litMatcher{ - pos: position{line: 2102, col: 93, offset: 69712}, + pos: position{line: 2109, col: 93, offset: 69805}, val: "`", ignoreCase: false, want: "\"`\"", @@ -54236,21 +44370,21 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2105, col: 9, offset: 69912}, + pos: position{line: 2112, col: 9, offset: 70005}, run: (*parser).callonEscapedMonospaceText24, expr: &seqExpr{ - pos: position{line: 2105, col: 9, offset: 69912}, + pos: position{line: 2112, col: 9, offset: 70005}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 2105, col: 9, offset: 69912}, + pos: position{line: 2112, col: 9, offset: 70005}, label: "backslashes", expr: &actionExpr{ - pos: position{line: 1724, col: 25, offset: 56346}, + pos: position{line: 1731, col: 25, offset: 56457}, run: (*parser).callonEscapedMonospaceText27, expr: &oneOrMoreExpr{ - pos: position{line: 1724, col: 25, offset: 56346}, + pos: position{line: 1731, col: 25, offset: 56457}, expr: &litMatcher{ - pos: position{line: 1724, col: 25, offset: 56346}, + pos: position{line: 1731, col: 25, offset: 56457}, val: "\\", ignoreCase: false, want: "\"\\\\\"", @@ -54259,21 +44393,21 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 2105, col: 44, offset: 69947}, + pos: position{line: 2112, col: 44, offset: 70040}, val: "`", ignoreCase: false, want: "\"`\"", }, &labeledExpr{ - pos: position{line: 2105, col: 48, offset: 69951}, + pos: position{line: 2112, col: 48, offset: 70044}, label: "elements", expr: &ruleRefExpr{ - pos: position{line: 2105, col: 58, offset: 69961}, + pos: position{line: 2112, col: 58, offset: 70054}, name: "SingleQuoteMonospaceTextElements", }, }, &litMatcher{ - pos: position{line: 2105, col: 92, offset: 69995}, + pos: position{line: 2112, col: 92, offset: 70088}, val: "`", ignoreCase: false, want: "\"`\"", @@ -54286,16 +44420,16 @@ var g = &grammar{ }, { name: "MarkedText", - pos: position{line: 2112, col: 1, offset: 70292}, + pos: position{line: 2119, col: 1, offset: 70385}, expr: &choiceExpr{ - pos: position{line: 2112, col: 15, offset: 70306}, + pos: position{line: 2119, col: 15, offset: 70399}, alternatives: []interface{}{ &ruleRefExpr{ - pos: position{line: 2112, col: 15, offset: 70306}, + pos: position{line: 2119, col: 15, offset: 70399}, name: "DoubleQuoteMarkedText", }, &ruleRefExpr{ - pos: position{line: 2112, col: 39, offset: 70330}, + pos: position{line: 2119, col: 39, offset: 70423}, name: "SingleQuoteMarkedText", }, }, @@ -54303,29 +44437,29 @@ var g = &grammar{ }, { name: "DoubleQuoteMarkedText", - pos: position{line: 2126, col: 1, offset: 70668}, + pos: position{line: 2133, col: 1, offset: 70761}, expr: &actionExpr{ - pos: position{line: 2127, col: 5, offset: 70698}, + pos: position{line: 2134, col: 5, offset: 70791}, run: (*parser).callonDoubleQuoteMarkedText1, expr: &seqExpr{ - pos: position{line: 2127, col: 5, offset: 70698}, + pos: position{line: 2134, col: 5, offset: 70791}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2124, col: 35, offset: 70662}, + pos: position{line: 2131, col: 35, offset: 70755}, val: "##", ignoreCase: false, want: "\"##\"", }, &labeledExpr{ - pos: position{line: 2128, col: 5, offset: 70734}, + pos: position{line: 2135, col: 5, offset: 70827}, label: "elements", expr: &ruleRefExpr{ - pos: position{line: 2128, col: 15, offset: 70744}, + pos: position{line: 2135, col: 15, offset: 70837}, name: "DoubleQuoteMarkedTextElements", }, }, &litMatcher{ - pos: position{line: 2124, col: 35, offset: 70662}, + pos: position{line: 2131, col: 35, offset: 70755}, val: "##", ignoreCase: false, want: "\"##\"", @@ -54336,49 +44470,49 @@ var g = &grammar{ }, { name: "DoubleQuoteMarkedTextElements", - pos: position{line: 2133, col: 1, offset: 70907}, + pos: position{line: 2140, col: 1, offset: 71000}, expr: &zeroOrMoreExpr{ - pos: position{line: 2133, col: 34, offset: 70940}, + pos: position{line: 2140, col: 34, offset: 71033}, expr: &ruleRefExpr{ - pos: position{line: 2133, col: 34, offset: 70940}, + pos: position{line: 2140, col: 34, offset: 71033}, name: "DoubleQuoteMarkedTextElement", }, }, }, { name: "DoubleQuoteMarkedTextElement", - pos: position{line: 2135, col: 1, offset: 70971}, + pos: position{line: 2142, col: 1, offset: 71064}, expr: &actionExpr{ - pos: position{line: 2136, col: 5, offset: 71040}, + pos: position{line: 2143, col: 5, offset: 71133}, run: (*parser).callonDoubleQuoteMarkedTextElement1, expr: &seqExpr{ - pos: position{line: 2136, col: 5, offset: 71040}, + pos: position{line: 2143, col: 5, offset: 71133}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 2136, col: 5, offset: 71040}, + pos: position{line: 2143, col: 5, offset: 71133}, expr: &litMatcher{ - pos: position{line: 2124, col: 35, offset: 70662}, + pos: position{line: 2131, col: 35, offset: 70755}, val: "##", ignoreCase: false, want: "\"##\"", }, }, &labeledExpr{ - pos: position{line: 2137, col: 5, offset: 71076}, + pos: position{line: 2144, col: 5, offset: 71169}, label: "element", expr: &choiceExpr{ - pos: position{line: 2138, col: 9, offset: 71094}, + pos: position{line: 2145, col: 9, offset: 71187}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2117, col: 5, offset: 70404}, + pos: position{line: 2124, col: 5, offset: 70497}, run: (*parser).callonDoubleQuoteMarkedTextElement7, expr: &seqExpr{ - pos: position{line: 2117, col: 5, offset: 70404}, + pos: position{line: 2124, col: 5, offset: 70497}, exprs: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 2117, col: 5, offset: 70404}, + pos: position{line: 2124, col: 5, offset: 70497}, expr: &charClassMatcher{ - pos: position{line: 2117, col: 5, offset: 70404}, + pos: position{line: 2124, col: 5, offset: 70497}, val: "[,?!;0-9\\pL]", chars: []rune{',', '?', '!', ';'}, ranges: []rune{'0', '9'}, @@ -54388,15 +44522,15 @@ var g = &grammar{ }, }, &andExpr{ - pos: position{line: 2117, col: 19, offset: 70418}, + pos: position{line: 2124, col: 19, offset: 70511}, expr: &choiceExpr{ - pos: position{line: 2117, col: 21, offset: 70420}, + pos: position{line: 2124, col: 21, offset: 70513}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonDoubleQuoteMarkedTextElement13, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -54404,7 +44538,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 2114, col: 24, offset: 70376}, + pos: position{line: 2121, col: 24, offset: 70469}, val: "#", ignoreCase: false, want: "\"#\"", @@ -54416,12 +44550,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2932, col: 11, offset: 96082}, + pos: position{line: 2842, col: 11, offset: 93236}, run: (*parser).callonDoubleQuoteMarkedTextElement16, expr: &oneOrMoreExpr{ - pos: position{line: 2932, col: 11, offset: 96082}, + pos: position{line: 2842, col: 11, offset: 93236}, expr: &charClassMatcher{ - pos: position{line: 2932, col: 12, offset: 96083}, + pos: position{line: 2842, col: 12, offset: 93237}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -54430,28 +44564,28 @@ var g = &grammar{ }, }, &seqExpr{ - pos: position{line: 2140, col: 11, offset: 71169}, + pos: position{line: 2147, col: 11, offset: 71262}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonDoubleQuoteMarkedTextElement20, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -54460,27 +44594,27 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2140, col: 19, offset: 71177}, + pos: position{line: 2147, col: 19, offset: 71270}, expr: &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonDoubleQuoteMarkedTextElement26, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -54492,44 +44626,44 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 649, col: 5, offset: 20887}, + pos: position{line: 655, col: 5, offset: 20901}, run: (*parser).callonDoubleQuoteMarkedTextElement31, expr: &seqExpr{ - pos: position{line: 649, col: 5, offset: 20887}, + pos: position{line: 655, col: 5, offset: 20901}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 649, col: 5, offset: 20887}, + pos: position{line: 655, col: 5, offset: 20901}, run: (*parser).callonDoubleQuoteMarkedTextElement33, }, &labeledExpr{ - pos: position{line: 652, col: 5, offset: 20951}, + pos: position{line: 658, col: 5, offset: 20970}, label: "element", expr: &choiceExpr{ - pos: position{line: 652, col: 14, offset: 20960}, + pos: position{line: 658, col: 14, offset: 20979}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 663, col: 25, offset: 21324}, + pos: position{line: 670, col: 25, offset: 21348}, run: (*parser).callonDoubleQuoteMarkedTextElement36, expr: &seqExpr{ - pos: position{line: 663, col: 25, offset: 21324}, + pos: position{line: 670, col: 25, offset: 21348}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 663, col: 25, offset: 21324}, + pos: position{line: 670, col: 25, offset: 21348}, val: "{counter:", ignoreCase: false, want: "\"{counter:\"", }, &labeledExpr{ - pos: position{line: 663, col: 37, offset: 21336}, + pos: position{line: 670, col: 37, offset: 21360}, label: "name", expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, run: (*parser).callonDoubleQuoteMarkedTextElement40, expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -54538,9 +44672,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, + pos: position{line: 336, col: 28, offset: 10335}, expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, + pos: position{line: 336, col: 29, offset: 10336}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -54554,33 +44688,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 663, col: 56, offset: 21355}, + pos: position{line: 670, col: 56, offset: 21379}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 663, col: 62, offset: 21361}, + pos: position{line: 670, col: 62, offset: 21385}, expr: &actionExpr{ - pos: position{line: 671, col: 17, offset: 21656}, + pos: position{line: 678, col: 17, offset: 21680}, run: (*parser).callonDoubleQuoteMarkedTextElement47, expr: &seqExpr{ - pos: position{line: 671, col: 17, offset: 21656}, + pos: position{line: 678, col: 17, offset: 21680}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 671, col: 17, offset: 21656}, + pos: position{line: 678, col: 17, offset: 21680}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 671, col: 21, offset: 21660}, + pos: position{line: 678, col: 21, offset: 21684}, label: "start", expr: &choiceExpr{ - pos: position{line: 671, col: 28, offset: 21667}, + pos: position{line: 678, col: 28, offset: 21691}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 671, col: 28, offset: 21667}, + pos: position{line: 678, col: 28, offset: 21691}, run: (*parser).callonDoubleQuoteMarkedTextElement52, expr: &charClassMatcher{ - pos: position{line: 671, col: 28, offset: 21667}, + pos: position{line: 678, col: 28, offset: 21691}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -54588,12 +44722,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 673, col: 9, offset: 21721}, + pos: position{line: 680, col: 9, offset: 21745}, run: (*parser).callonDoubleQuoteMarkedTextElement54, expr: &oneOrMoreExpr{ - pos: position{line: 673, col: 9, offset: 21721}, + pos: position{line: 680, col: 9, offset: 21745}, expr: &charClassMatcher{ - pos: position{line: 673, col: 9, offset: 21721}, + pos: position{line: 680, col: 9, offset: 21745}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -54610,7 +44744,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 663, col: 78, offset: 21377}, + pos: position{line: 670, col: 78, offset: 21401}, val: "}", ignoreCase: false, want: "\"}\"", @@ -54619,28 +44753,28 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 667, col: 25, offset: 21495}, + pos: position{line: 674, col: 25, offset: 21519}, run: (*parser).callonDoubleQuoteMarkedTextElement58, expr: &seqExpr{ - pos: position{line: 667, col: 25, offset: 21495}, + pos: position{line: 674, col: 25, offset: 21519}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 667, col: 25, offset: 21495}, + pos: position{line: 674, col: 25, offset: 21519}, val: "{counter2:", ignoreCase: false, want: "\"{counter2:\"", }, &labeledExpr{ - pos: position{line: 667, col: 38, offset: 21508}, + pos: position{line: 674, col: 38, offset: 21532}, label: "name", expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, run: (*parser).callonDoubleQuoteMarkedTextElement62, expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -54649,9 +44783,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, + pos: position{line: 336, col: 28, offset: 10335}, expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, + pos: position{line: 336, col: 29, offset: 10336}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -54665,33 +44799,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 667, col: 57, offset: 21527}, + pos: position{line: 674, col: 57, offset: 21551}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 667, col: 63, offset: 21533}, + pos: position{line: 674, col: 63, offset: 21557}, expr: &actionExpr{ - pos: position{line: 671, col: 17, offset: 21656}, + pos: position{line: 678, col: 17, offset: 21680}, run: (*parser).callonDoubleQuoteMarkedTextElement69, expr: &seqExpr{ - pos: position{line: 671, col: 17, offset: 21656}, + pos: position{line: 678, col: 17, offset: 21680}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 671, col: 17, offset: 21656}, + pos: position{line: 678, col: 17, offset: 21680}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 671, col: 21, offset: 21660}, + pos: position{line: 678, col: 21, offset: 21684}, label: "start", expr: &choiceExpr{ - pos: position{line: 671, col: 28, offset: 21667}, + pos: position{line: 678, col: 28, offset: 21691}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 671, col: 28, offset: 21667}, + pos: position{line: 678, col: 28, offset: 21691}, run: (*parser).callonDoubleQuoteMarkedTextElement74, expr: &charClassMatcher{ - pos: position{line: 671, col: 28, offset: 21667}, + pos: position{line: 678, col: 28, offset: 21691}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -54699,12 +44833,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 673, col: 9, offset: 21721}, + pos: position{line: 680, col: 9, offset: 21745}, run: (*parser).callonDoubleQuoteMarkedTextElement76, expr: &oneOrMoreExpr{ - pos: position{line: 673, col: 9, offset: 21721}, + pos: position{line: 680, col: 9, offset: 21745}, expr: &charClassMatcher{ - pos: position{line: 673, col: 9, offset: 21721}, + pos: position{line: 680, col: 9, offset: 21745}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -54721,7 +44855,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 667, col: 79, offset: 21549}, + pos: position{line: 674, col: 79, offset: 21573}, val: "}", ignoreCase: false, want: "\"}\"", @@ -54730,28 +44864,28 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 656, col: 31, offset: 21077}, + pos: position{line: 663, col: 5, offset: 21092}, run: (*parser).callonDoubleQuoteMarkedTextElement80, expr: &seqExpr{ - pos: position{line: 656, col: 31, offset: 21077}, + pos: position{line: 663, col: 5, offset: 21092}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 656, col: 31, offset: 21077}, + pos: position{line: 663, col: 5, offset: 21092}, val: "{", ignoreCase: false, want: "\"{\"", }, &labeledExpr{ - pos: position{line: 656, col: 35, offset: 21081}, + pos: position{line: 663, col: 9, offset: 21096}, label: "name", expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, run: (*parser).callonDoubleQuoteMarkedTextElement84, expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -54760,9 +44894,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, + pos: position{line: 336, col: 28, offset: 10335}, expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, + pos: position{line: 336, col: 29, offset: 10336}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -54776,7 +44910,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 656, col: 54, offset: 21100}, + pos: position{line: 663, col: 28, offset: 21115}, val: "}", ignoreCase: false, want: "\"}\"", @@ -54791,49 +44925,49 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2638, col: 5, offset: 87092}, + pos: position{line: 2539, col: 5, offset: 83846}, run: (*parser).callonDoubleQuoteMarkedTextElement90, expr: &seqExpr{ - pos: position{line: 2638, col: 5, offset: 87092}, + pos: position{line: 2539, col: 5, offset: 83846}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 2638, col: 5, offset: 87092}, + pos: position{line: 2539, col: 5, offset: 83846}, run: (*parser).callonDoubleQuoteMarkedTextElement92, }, &labeledExpr{ - pos: position{line: 2641, col: 5, offset: 87163}, + pos: position{line: 2542, col: 5, offset: 83922}, label: "element", expr: &choiceExpr{ - pos: position{line: 2643, col: 9, offset: 87261}, + pos: position{line: 2544, col: 9, offset: 84020}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2643, col: 9, offset: 87261}, + pos: position{line: 2544, col: 9, offset: 84020}, run: (*parser).callonDoubleQuoteMarkedTextElement95, expr: &choiceExpr{ - pos: position{line: 691, col: 27, offset: 22375}, + pos: position{line: 698, col: 27, offset: 22399}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 691, col: 27, offset: 22375}, + pos: position{line: 698, col: 27, offset: 22399}, run: (*parser).callonDoubleQuoteMarkedTextElement97, expr: &seqExpr{ - pos: position{line: 691, col: 27, offset: 22375}, + pos: position{line: 698, col: 27, offset: 22399}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 691, col: 27, offset: 22375}, + pos: position{line: 698, col: 27, offset: 22399}, val: "<<", ignoreCase: false, want: "\"<<\"", }, &labeledExpr{ - pos: position{line: 691, col: 32, offset: 22380}, + pos: position{line: 698, col: 32, offset: 22404}, label: "id", expr: &actionExpr{ - pos: position{line: 2913, col: 7, offset: 95667}, + pos: position{line: 2823, col: 7, offset: 92821}, run: (*parser).callonDoubleQuoteMarkedTextElement101, expr: &oneOrMoreExpr{ - pos: position{line: 2913, col: 7, offset: 95667}, + pos: position{line: 2823, col: 7, offset: 92821}, expr: &charClassMatcher{ - pos: position{line: 2913, col: 7, offset: 95667}, + pos: position{line: 2823, col: 7, offset: 92821}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -54843,12 +44977,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 691, col: 40, offset: 22388}, + pos: position{line: 698, col: 40, offset: 22412}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonDoubleQuoteMarkedTextElement105, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -54857,27 +44991,27 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 691, col: 47, offset: 22395}, + pos: position{line: 698, col: 47, offset: 22419}, val: ",", ignoreCase: false, want: "\",\"", }, &labeledExpr{ - pos: position{line: 691, col: 51, offset: 22399}, + pos: position{line: 698, col: 51, offset: 22423}, label: "label", expr: &oneOrMoreExpr{ - pos: position{line: 701, col: 24, offset: 22800}, + pos: position{line: 708, col: 24, offset: 22824}, expr: &choiceExpr{ - pos: position{line: 702, col: 5, offset: 22806}, + pos: position{line: 709, col: 5, offset: 22830}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 702, col: 6, offset: 22807}, + pos: position{line: 709, col: 6, offset: 22831}, run: (*parser).callonDoubleQuoteMarkedTextElement111, expr: &seqExpr{ - pos: position{line: 702, col: 6, offset: 22807}, + pos: position{line: 709, col: 6, offset: 22831}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 702, col: 6, offset: 22807}, + pos: position{line: 709, col: 6, offset: 22831}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -54885,9 +45019,9 @@ var g = &grammar{ inverted: false, }, &oneOrMoreExpr{ - pos: position{line: 702, col: 14, offset: 22815}, + pos: position{line: 709, col: 14, offset: 22839}, expr: &charClassMatcher{ - pos: position{line: 702, col: 14, offset: 22815}, + pos: position{line: 709, col: 14, offset: 22839}, val: "[^\\r\\n{<>]", chars: []rune{'\r', '\n', '{', '<', '>'}, ignoreCase: false, @@ -54898,309 +45032,65 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 649, col: 5, offset: 20887}, + pos: position{line: 663, col: 5, offset: 21092}, run: (*parser).callonDoubleQuoteMarkedTextElement116, expr: &seqExpr{ - pos: position{line: 649, col: 5, offset: 20887}, + pos: position{line: 663, col: 5, offset: 21092}, exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 649, col: 5, offset: 20887}, - run: (*parser).callonDoubleQuoteMarkedTextElement118, + &litMatcher{ + pos: position{line: 663, col: 5, offset: 21092}, + val: "{", + ignoreCase: false, + want: "\"{\"", }, &labeledExpr{ - pos: position{line: 652, col: 5, offset: 20951}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 652, col: 14, offset: 20960}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 663, col: 25, offset: 21324}, - run: (*parser).callonDoubleQuoteMarkedTextElement121, - expr: &seqExpr{ - pos: position{line: 663, col: 25, offset: 21324}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 663, col: 25, offset: 21324}, - val: "{counter:", - ignoreCase: false, - want: "\"{counter:\"", - }, - &labeledExpr{ - pos: position{line: 663, col: 37, offset: 21336}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonDoubleQuoteMarkedTextElement125, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 663, col: 56, offset: 21355}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 663, col: 62, offset: 21361}, - expr: &actionExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - run: (*parser).callonDoubleQuoteMarkedTextElement132, - expr: &seqExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 671, col: 17, offset: 21656}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 671, col: 21, offset: 21660}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - run: (*parser).callonDoubleQuoteMarkedTextElement137, - expr: &charClassMatcher{ - pos: position{line: 671, col: 28, offset: 21667}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - run: (*parser).callonDoubleQuoteMarkedTextElement139, - expr: &oneOrMoreExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - expr: &charClassMatcher{ - pos: position{line: 673, col: 9, offset: 21721}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 663, col: 78, offset: 21377}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 667, col: 25, offset: 21495}, - run: (*parser).callonDoubleQuoteMarkedTextElement143, - expr: &seqExpr{ - pos: position{line: 667, col: 25, offset: 21495}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 667, col: 25, offset: 21495}, - val: "{counter2:", - ignoreCase: false, - want: "\"{counter2:\"", - }, - &labeledExpr{ - pos: position{line: 667, col: 38, offset: 21508}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonDoubleQuoteMarkedTextElement147, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 667, col: 57, offset: 21527}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 667, col: 63, offset: 21533}, - expr: &actionExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - run: (*parser).callonDoubleQuoteMarkedTextElement154, - expr: &seqExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 671, col: 17, offset: 21656}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 671, col: 21, offset: 21660}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - run: (*parser).callonDoubleQuoteMarkedTextElement159, - expr: &charClassMatcher{ - pos: position{line: 671, col: 28, offset: 21667}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - run: (*parser).callonDoubleQuoteMarkedTextElement161, - expr: &oneOrMoreExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - expr: &charClassMatcher{ - pos: position{line: 673, col: 9, offset: 21721}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 667, col: 79, offset: 21549}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, + pos: position{line: 663, col: 9, offset: 21096}, + label: "name", + expr: &actionExpr{ + pos: position{line: 336, col: 18, offset: 10325}, + run: (*parser).callonDoubleQuoteMarkedTextElement120, + expr: &seqExpr{ + pos: position{line: 336, col: 18, offset: 10325}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 336, col: 18, offset: 10325}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, }, - }, - &actionExpr{ - pos: position{line: 656, col: 31, offset: 21077}, - run: (*parser).callonDoubleQuoteMarkedTextElement165, - expr: &seqExpr{ - pos: position{line: 656, col: 31, offset: 21077}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 656, col: 31, offset: 21077}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - &labeledExpr{ - pos: position{line: 656, col: 35, offset: 21081}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonDoubleQuoteMarkedTextElement169, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - 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: 54, offset: 21100}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, + &zeroOrMoreExpr{ + pos: position{line: 336, col: 28, offset: 10335}, + expr: &charClassMatcher{ + pos: position{line: 336, col: 29, offset: 10336}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, }, }, }, }, }, }, + &litMatcher{ + pos: position{line: 663, col: 28, offset: 21115}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, }, }, }, &actionExpr{ - pos: position{line: 706, col: 8, offset: 23039}, - run: (*parser).callonDoubleQuoteMarkedTextElement175, + pos: position{line: 713, col: 8, offset: 23065}, + run: (*parser).callonDoubleQuoteMarkedTextElement126, expr: &litMatcher{ - pos: position{line: 706, col: 8, offset: 23039}, + pos: position{line: 713, col: 8, offset: 23065}, val: "{", ignoreCase: false, want: "\"{\"", @@ -55211,7 +45101,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 691, col: 79, offset: 22427}, + pos: position{line: 698, col: 79, offset: 22451}, val: ">>", ignoreCase: false, want: "\">>\"", @@ -55220,27 +45110,27 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 693, col: 9, offset: 22500}, - run: (*parser).callonDoubleQuoteMarkedTextElement178, + pos: position{line: 700, col: 9, offset: 22524}, + run: (*parser).callonDoubleQuoteMarkedTextElement129, expr: &seqExpr{ - pos: position{line: 693, col: 9, offset: 22500}, + pos: position{line: 700, col: 9, offset: 22524}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 693, col: 9, offset: 22500}, + pos: position{line: 700, col: 9, offset: 22524}, val: "<<", ignoreCase: false, want: "\"<<\"", }, &labeledExpr{ - pos: position{line: 693, col: 14, offset: 22505}, + pos: position{line: 700, col: 14, offset: 22529}, label: "id", expr: &actionExpr{ - pos: position{line: 2913, col: 7, offset: 95667}, - run: (*parser).callonDoubleQuoteMarkedTextElement182, + pos: position{line: 2823, col: 7, offset: 92821}, + run: (*parser).callonDoubleQuoteMarkedTextElement133, expr: &oneOrMoreExpr{ - pos: position{line: 2913, col: 7, offset: 95667}, + pos: position{line: 2823, col: 7, offset: 92821}, expr: &charClassMatcher{ - pos: position{line: 2913, col: 7, offset: 95667}, + pos: position{line: 2823, col: 7, offset: 92821}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -55250,7 +45140,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 693, col: 22, offset: 22513}, + pos: position{line: 700, col: 22, offset: 22537}, val: ">>", ignoreCase: false, want: "\">>\"", @@ -55262,10 +45152,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2646, col: 11, offset: 87365}, - run: (*parser).callonDoubleQuoteMarkedTextElement186, + pos: position{line: 2547, col: 11, offset: 84124}, + run: (*parser).callonDoubleQuoteMarkedTextElement137, expr: &charClassMatcher{ - pos: position{line: 2646, col: 12, offset: 87366}, + pos: position{line: 2547, col: 12, offset: 84125}, val: "[<>&]", chars: []rune{'<', '>', '&'}, ignoreCase: false, @@ -55279,63 +45169,63 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2671, col: 15, offset: 88333}, - run: (*parser).callonDoubleQuoteMarkedTextElement188, + pos: position{line: 2572, col: 15, offset: 85092}, + run: (*parser).callonDoubleQuoteMarkedTextElement139, expr: &litMatcher{ - pos: position{line: 2671, col: 15, offset: 88333}, + pos: position{line: 2572, col: 15, offset: 85092}, val: "`'", ignoreCase: false, want: "\"`'\"", }, }, &actionExpr{ - pos: position{line: 2677, col: 14, offset: 88448}, - run: (*parser).callonDoubleQuoteMarkedTextElement190, + pos: position{line: 2578, col: 14, offset: 85207}, + run: (*parser).callonDoubleQuoteMarkedTextElement141, expr: &litMatcher{ - pos: position{line: 2677, col: 14, offset: 88448}, + pos: position{line: 2578, col: 14, offset: 85207}, val: "(C)", ignoreCase: false, want: "\"(C)\"", }, }, &actionExpr{ - pos: position{line: 2681, col: 14, offset: 88524}, - run: (*parser).callonDoubleQuoteMarkedTextElement192, + pos: position{line: 2582, col: 14, offset: 85283}, + run: (*parser).callonDoubleQuoteMarkedTextElement143, expr: &litMatcher{ - pos: position{line: 2681, col: 14, offset: 88524}, + pos: position{line: 2582, col: 14, offset: 85283}, val: "(TM)", ignoreCase: false, want: "\"(TM)\"", }, }, &actionExpr{ - pos: position{line: 2685, col: 15, offset: 88602}, - run: (*parser).callonDoubleQuoteMarkedTextElement194, + pos: position{line: 2586, col: 15, offset: 85361}, + run: (*parser).callonDoubleQuoteMarkedTextElement145, expr: &litMatcher{ - pos: position{line: 2685, col: 15, offset: 88602}, + pos: position{line: 2586, col: 15, offset: 85361}, val: "(R)", ignoreCase: false, want: "\"(R)\"", }, }, &actionExpr{ - pos: position{line: 2689, col: 13, offset: 88677}, - run: (*parser).callonDoubleQuoteMarkedTextElement196, + pos: position{line: 2590, col: 13, offset: 85436}, + run: (*parser).callonDoubleQuoteMarkedTextElement147, expr: &litMatcher{ - pos: position{line: 2689, col: 13, offset: 88677}, + pos: position{line: 2590, col: 13, offset: 85436}, val: "...", ignoreCase: false, want: "\"...\"", }, }, &actionExpr{ - pos: position{line: 2697, col: 22, offset: 88983}, - run: (*parser).callonDoubleQuoteMarkedTextElement198, + pos: position{line: 2598, col: 22, offset: 85742}, + run: (*parser).callonDoubleQuoteMarkedTextElement149, expr: &seqExpr{ - pos: position{line: 2697, col: 22, offset: 88983}, + pos: position{line: 2598, col: 22, offset: 85742}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 2852, col: 13, offset: 93681}, + pos: position{line: 2753, col: 13, offset: 90440}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -55343,15 +45233,15 @@ var g = &grammar{ inverted: false, }, &litMatcher{ - pos: position{line: 2697, col: 31, offset: 88992}, + pos: position{line: 2598, col: 31, offset: 85751}, val: "'", ignoreCase: false, want: "\"'\"", }, &andExpr{ - pos: position{line: 2697, col: 35, offset: 88996}, + pos: position{line: 2598, col: 35, offset: 85755}, expr: &charClassMatcher{ - pos: position{line: 2697, col: 36, offset: 88997}, + pos: position{line: 2598, col: 36, offset: 85756}, val: "[\\pL]", classes: []*unicode.RangeTable{rangeTable("L")}, ignoreCase: false, @@ -55362,39 +45252,39 @@ var g = &grammar{ }, }, &ruleRefExpr{ - pos: position{line: 2144, col: 11, offset: 71306}, + pos: position{line: 2151, col: 11, offset: 71396}, name: "InlineMacro", }, &ruleRefExpr{ - pos: position{line: 2145, col: 11, offset: 71328}, + pos: position{line: 2152, col: 11, offset: 71418}, name: "QuotedString", }, &ruleRefExpr{ - pos: position{line: 2146, col: 11, offset: 71351}, + pos: position{line: 2153, col: 11, offset: 71441}, name: "QuotedTextInDoubleMarkedBoldText", }, &actionExpr{ - pos: position{line: 1085, col: 23, offset: 33674}, - run: (*parser).callonDoubleQuoteMarkedTextElement207, + pos: position{line: 1092, col: 23, offset: 33700}, + run: (*parser).callonDoubleQuoteMarkedTextElement158, expr: &seqExpr{ - pos: position{line: 1085, col: 23, offset: 33674}, + pos: position{line: 1092, col: 23, offset: 33700}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1083, col: 32, offset: 33642}, + pos: position{line: 1090, col: 32, offset: 33668}, val: "�", ignoreCase: false, want: "\"�\"", }, &labeledExpr{ - pos: position{line: 1085, col: 51, offset: 33702}, + pos: position{line: 1092, col: 51, offset: 33728}, label: "ref", expr: &actionExpr{ - pos: position{line: 1085, col: 56, offset: 33707}, - run: (*parser).callonDoubleQuoteMarkedTextElement211, + pos: position{line: 1092, col: 56, offset: 33733}, + run: (*parser).callonDoubleQuoteMarkedTextElement162, expr: &oneOrMoreExpr{ - pos: position{line: 1085, col: 56, offset: 33707}, + pos: position{line: 1092, col: 56, offset: 33733}, expr: &charClassMatcher{ - pos: position{line: 1085, col: 56, offset: 33707}, + pos: position{line: 1092, col: 56, offset: 33733}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -55404,7 +45294,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1083, col: 32, offset: 33642}, + pos: position{line: 1090, col: 32, offset: 33668}, val: "�", ignoreCase: false, want: "\"�\"", @@ -55413,31 +45303,31 @@ var g = &grammar{ }, }, &charClassMatcher{ - pos: position{line: 2166, col: 5, offset: 71866}, + pos: position{line: 2173, col: 5, offset: 71956}, val: "[^\\r\\n#]", chars: []rune{'\r', '\n', '#'}, ignoreCase: false, inverted: true, }, &actionExpr{ - pos: position{line: 2167, col: 7, offset: 71965}, - run: (*parser).callonDoubleQuoteMarkedTextElement216, + pos: position{line: 2174, col: 7, offset: 72055}, + run: (*parser).callonDoubleQuoteMarkedTextElement167, expr: &seqExpr{ - pos: position{line: 2167, col: 7, offset: 71965}, + pos: position{line: 2174, col: 7, offset: 72055}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2124, col: 35, offset: 70662}, + pos: position{line: 2131, col: 35, offset: 70755}, val: "##", ignoreCase: false, want: "\"##\"", }, &actionExpr{ - pos: position{line: 2856, col: 14, offset: 93755}, - run: (*parser).callonDoubleQuoteMarkedTextElement219, + pos: position{line: 2757, col: 14, offset: 90514}, + run: (*parser).callonDoubleQuoteMarkedTextElement170, expr: &oneOrMoreExpr{ - pos: position{line: 2856, col: 14, offset: 93755}, + pos: position{line: 2757, col: 14, offset: 90514}, expr: &charClassMatcher{ - pos: position{line: 2856, col: 14, offset: 93755}, + pos: position{line: 2757, col: 14, offset: 90514}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -55458,52 +45348,52 @@ var g = &grammar{ }, { name: "QuotedTextInDoubleMarkedBoldText", - pos: position{line: 2153, col: 1, offset: 71505}, + pos: position{line: 2160, col: 1, offset: 71595}, expr: &actionExpr{ - pos: position{line: 2154, col: 5, offset: 71545}, + pos: position{line: 2161, col: 5, offset: 71635}, run: (*parser).callonQuotedTextInDoubleMarkedBoldText1, expr: &seqExpr{ - pos: position{line: 2154, col: 5, offset: 71545}, + pos: position{line: 2161, col: 5, offset: 71635}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 2154, col: 5, offset: 71545}, + pos: position{line: 2161, col: 5, offset: 71635}, label: "attributes", expr: &zeroOrOneExpr{ - pos: position{line: 2154, col: 16, offset: 71556}, + pos: position{line: 2161, col: 16, offset: 71646}, expr: &ruleRefExpr{ - pos: position{line: 2154, col: 17, offset: 71557}, + pos: position{line: 2161, col: 17, offset: 71647}, name: "LongHandAttributes", }, }, }, &labeledExpr{ - pos: position{line: 2155, col: 5, offset: 71583}, + pos: position{line: 2162, col: 5, offset: 71673}, label: "text", expr: &choiceExpr{ - pos: position{line: 2156, col: 9, offset: 71598}, + pos: position{line: 2163, col: 9, offset: 71688}, alternatives: []interface{}{ &ruleRefExpr{ - pos: position{line: 2156, col: 9, offset: 71598}, + pos: position{line: 2163, col: 9, offset: 71688}, name: "SingleQuoteMarkedText", }, &ruleRefExpr{ - pos: position{line: 2157, col: 11, offset: 71630}, + pos: position{line: 2164, col: 11, offset: 71720}, name: "BoldText", }, &ruleRefExpr{ - pos: position{line: 2158, col: 11, offset: 71649}, + pos: position{line: 2165, col: 11, offset: 71739}, name: "ItalicText", }, &ruleRefExpr{ - pos: position{line: 2159, col: 11, offset: 71670}, + pos: position{line: 2166, col: 11, offset: 71760}, name: "MonospaceText", }, &ruleRefExpr{ - pos: position{line: 2160, col: 11, offset: 71694}, + pos: position{line: 2167, col: 11, offset: 71784}, name: "SubscriptText", }, &ruleRefExpr{ - pos: position{line: 2161, col: 11, offset: 71718}, + pos: position{line: 2168, col: 11, offset: 71808}, name: "SuperscriptText", }, }, @@ -55515,29 +45405,29 @@ var g = &grammar{ }, { name: "SingleQuoteMarkedText", - pos: position{line: 2178, col: 1, offset: 72372}, + pos: position{line: 2185, col: 1, offset: 72462}, expr: &actionExpr{ - pos: position{line: 2179, col: 5, offset: 72402}, + pos: position{line: 2186, col: 5, offset: 72492}, run: (*parser).callonSingleQuoteMarkedText1, expr: &seqExpr{ - pos: position{line: 2179, col: 5, offset: 72402}, + pos: position{line: 2186, col: 5, offset: 72492}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2174, col: 40, offset: 72324}, + pos: position{line: 2181, col: 40, offset: 72414}, val: "#", ignoreCase: false, want: "\"#\"", }, &labeledExpr{ - pos: position{line: 2180, col: 5, offset: 72442}, + pos: position{line: 2187, col: 5, offset: 72532}, label: "elements", expr: &ruleRefExpr{ - pos: position{line: 2180, col: 15, offset: 72452}, + pos: position{line: 2187, col: 15, offset: 72542}, name: "SingleQuoteMarkedTextElements", }, }, &litMatcher{ - pos: position{line: 2176, col: 38, offset: 72366}, + pos: position{line: 2183, col: 38, offset: 72456}, val: "#", ignoreCase: false, want: "\"#\"", @@ -55548,29 +45438,29 @@ var g = &grammar{ }, { name: "SingleQuoteMarkedTextElements", - pos: position{line: 2185, col: 1, offset: 72619}, + pos: position{line: 2192, col: 1, offset: 72709}, expr: &actionExpr{ - pos: position{line: 2186, col: 5, offset: 72657}, + pos: position{line: 2193, col: 5, offset: 72747}, run: (*parser).callonSingleQuoteMarkedTextElements1, expr: &seqExpr{ - pos: position{line: 2186, col: 5, offset: 72657}, + pos: position{line: 2193, col: 5, offset: 72747}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 2186, col: 5, offset: 72657}, + pos: position{line: 2193, col: 5, offset: 72747}, expr: ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, ¬Expr{ - pos: position{line: 2186, col: 10, offset: 72662}, + pos: position{line: 2193, col: 10, offset: 72752}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonSingleQuoteMarkedTextElements7, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -55579,18 +45469,18 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 2187, col: 5, offset: 72701}, + pos: position{line: 2194, col: 5, offset: 72791}, label: "elements", expr: &oneOrMoreExpr{ - pos: position{line: 2187, col: 14, offset: 72710}, + pos: position{line: 2194, col: 14, offset: 72800}, expr: &ruleRefExpr{ - pos: position{line: 2187, col: 15, offset: 72711}, + pos: position{line: 2194, col: 15, offset: 72801}, name: "SingleQuoteMarkedTextElement", }, }, }, &andCodeExpr{ - pos: position{line: 2188, col: 5, offset: 72747}, + pos: position{line: 2195, col: 5, offset: 72837}, run: (*parser).callonSingleQuoteMarkedTextElements12, }, }, @@ -55599,20 +45489,20 @@ var g = &grammar{ }, { name: "SingleQuoteMarkedTextElement", - pos: position{line: 2194, col: 1, offset: 72888}, + pos: position{line: 2201, col: 1, offset: 72978}, expr: &choiceExpr{ - pos: position{line: 2195, col: 5, offset: 72925}, + pos: position{line: 2202, col: 5, offset: 73015}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2117, col: 5, offset: 70404}, + pos: position{line: 2124, col: 5, offset: 70497}, run: (*parser).callonSingleQuoteMarkedTextElement2, expr: &seqExpr{ - pos: position{line: 2117, col: 5, offset: 70404}, + pos: position{line: 2124, col: 5, offset: 70497}, exprs: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 2117, col: 5, offset: 70404}, + pos: position{line: 2124, col: 5, offset: 70497}, expr: &charClassMatcher{ - pos: position{line: 2117, col: 5, offset: 70404}, + pos: position{line: 2124, col: 5, offset: 70497}, val: "[,?!;0-9\\pL]", chars: []rune{',', '?', '!', ';'}, ranges: []rune{'0', '9'}, @@ -55622,15 +45512,15 @@ var g = &grammar{ }, }, &andExpr{ - pos: position{line: 2117, col: 19, offset: 70418}, + pos: position{line: 2124, col: 19, offset: 70511}, expr: &choiceExpr{ - pos: position{line: 2117, col: 21, offset: 70420}, + pos: position{line: 2124, col: 21, offset: 70513}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonSingleQuoteMarkedTextElement8, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -55638,7 +45528,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 2114, col: 24, offset: 70376}, + pos: position{line: 2121, col: 24, offset: 70469}, val: "#", ignoreCase: false, want: "\"#\"", @@ -55650,12 +45540,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2932, col: 11, offset: 96082}, + pos: position{line: 2842, col: 11, offset: 93236}, run: (*parser).callonSingleQuoteMarkedTextElement11, expr: &oneOrMoreExpr{ - pos: position{line: 2932, col: 11, offset: 96082}, + pos: position{line: 2842, col: 11, offset: 93236}, expr: &charClassMatcher{ - pos: position{line: 2932, col: 12, offset: 96083}, + pos: position{line: 2842, col: 12, offset: 93237}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -55664,28 +45554,28 @@ var g = &grammar{ }, }, &seqExpr{ - pos: position{line: 2197, col: 7, offset: 72959}, + pos: position{line: 2204, col: 7, offset: 73049}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonSingleQuoteMarkedTextElement15, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -55694,27 +45584,27 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2197, col: 15, offset: 72967}, + pos: position{line: 2204, col: 15, offset: 73057}, expr: &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonSingleQuoteMarkedTextElement21, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -55726,44 +45616,44 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 649, col: 5, offset: 20887}, + pos: position{line: 655, col: 5, offset: 20901}, run: (*parser).callonSingleQuoteMarkedTextElement26, expr: &seqExpr{ - pos: position{line: 649, col: 5, offset: 20887}, + pos: position{line: 655, col: 5, offset: 20901}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 649, col: 5, offset: 20887}, + pos: position{line: 655, col: 5, offset: 20901}, run: (*parser).callonSingleQuoteMarkedTextElement28, }, &labeledExpr{ - pos: position{line: 652, col: 5, offset: 20951}, + pos: position{line: 658, col: 5, offset: 20970}, label: "element", expr: &choiceExpr{ - pos: position{line: 652, col: 14, offset: 20960}, + pos: position{line: 658, col: 14, offset: 20979}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 663, col: 25, offset: 21324}, + pos: position{line: 670, col: 25, offset: 21348}, run: (*parser).callonSingleQuoteMarkedTextElement31, expr: &seqExpr{ - pos: position{line: 663, col: 25, offset: 21324}, + pos: position{line: 670, col: 25, offset: 21348}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 663, col: 25, offset: 21324}, + pos: position{line: 670, col: 25, offset: 21348}, val: "{counter:", ignoreCase: false, want: "\"{counter:\"", }, &labeledExpr{ - pos: position{line: 663, col: 37, offset: 21336}, + pos: position{line: 670, col: 37, offset: 21360}, label: "name", expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, run: (*parser).callonSingleQuoteMarkedTextElement35, expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -55772,9 +45662,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, + pos: position{line: 336, col: 28, offset: 10335}, expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, + pos: position{line: 336, col: 29, offset: 10336}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -55788,33 +45678,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 663, col: 56, offset: 21355}, + pos: position{line: 670, col: 56, offset: 21379}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 663, col: 62, offset: 21361}, + pos: position{line: 670, col: 62, offset: 21385}, expr: &actionExpr{ - pos: position{line: 671, col: 17, offset: 21656}, + pos: position{line: 678, col: 17, offset: 21680}, run: (*parser).callonSingleQuoteMarkedTextElement42, expr: &seqExpr{ - pos: position{line: 671, col: 17, offset: 21656}, + pos: position{line: 678, col: 17, offset: 21680}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 671, col: 17, offset: 21656}, + pos: position{line: 678, col: 17, offset: 21680}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 671, col: 21, offset: 21660}, + pos: position{line: 678, col: 21, offset: 21684}, label: "start", expr: &choiceExpr{ - pos: position{line: 671, col: 28, offset: 21667}, + pos: position{line: 678, col: 28, offset: 21691}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 671, col: 28, offset: 21667}, + pos: position{line: 678, col: 28, offset: 21691}, run: (*parser).callonSingleQuoteMarkedTextElement47, expr: &charClassMatcher{ - pos: position{line: 671, col: 28, offset: 21667}, + pos: position{line: 678, col: 28, offset: 21691}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -55822,12 +45712,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 673, col: 9, offset: 21721}, + pos: position{line: 680, col: 9, offset: 21745}, run: (*parser).callonSingleQuoteMarkedTextElement49, expr: &oneOrMoreExpr{ - pos: position{line: 673, col: 9, offset: 21721}, + pos: position{line: 680, col: 9, offset: 21745}, expr: &charClassMatcher{ - pos: position{line: 673, col: 9, offset: 21721}, + pos: position{line: 680, col: 9, offset: 21745}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -55844,7 +45734,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 663, col: 78, offset: 21377}, + pos: position{line: 670, col: 78, offset: 21401}, val: "}", ignoreCase: false, want: "\"}\"", @@ -55853,28 +45743,28 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 667, col: 25, offset: 21495}, + pos: position{line: 674, col: 25, offset: 21519}, run: (*parser).callonSingleQuoteMarkedTextElement53, expr: &seqExpr{ - pos: position{line: 667, col: 25, offset: 21495}, + pos: position{line: 674, col: 25, offset: 21519}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 667, col: 25, offset: 21495}, + pos: position{line: 674, col: 25, offset: 21519}, val: "{counter2:", ignoreCase: false, want: "\"{counter2:\"", }, &labeledExpr{ - pos: position{line: 667, col: 38, offset: 21508}, + pos: position{line: 674, col: 38, offset: 21532}, label: "name", expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, run: (*parser).callonSingleQuoteMarkedTextElement57, expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -55883,9 +45773,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, + pos: position{line: 336, col: 28, offset: 10335}, expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, + pos: position{line: 336, col: 29, offset: 10336}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -55899,33 +45789,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 667, col: 57, offset: 21527}, + pos: position{line: 674, col: 57, offset: 21551}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 667, col: 63, offset: 21533}, + pos: position{line: 674, col: 63, offset: 21557}, expr: &actionExpr{ - pos: position{line: 671, col: 17, offset: 21656}, + pos: position{line: 678, col: 17, offset: 21680}, run: (*parser).callonSingleQuoteMarkedTextElement64, expr: &seqExpr{ - pos: position{line: 671, col: 17, offset: 21656}, + pos: position{line: 678, col: 17, offset: 21680}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 671, col: 17, offset: 21656}, + pos: position{line: 678, col: 17, offset: 21680}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 671, col: 21, offset: 21660}, + pos: position{line: 678, col: 21, offset: 21684}, label: "start", expr: &choiceExpr{ - pos: position{line: 671, col: 28, offset: 21667}, + pos: position{line: 678, col: 28, offset: 21691}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 671, col: 28, offset: 21667}, + pos: position{line: 678, col: 28, offset: 21691}, run: (*parser).callonSingleQuoteMarkedTextElement69, expr: &charClassMatcher{ - pos: position{line: 671, col: 28, offset: 21667}, + pos: position{line: 678, col: 28, offset: 21691}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -55933,12 +45823,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 673, col: 9, offset: 21721}, + pos: position{line: 680, col: 9, offset: 21745}, run: (*parser).callonSingleQuoteMarkedTextElement71, expr: &oneOrMoreExpr{ - pos: position{line: 673, col: 9, offset: 21721}, + pos: position{line: 680, col: 9, offset: 21745}, expr: &charClassMatcher{ - pos: position{line: 673, col: 9, offset: 21721}, + pos: position{line: 680, col: 9, offset: 21745}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -55955,7 +45845,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 667, col: 79, offset: 21549}, + pos: position{line: 674, col: 79, offset: 21573}, val: "}", ignoreCase: false, want: "\"}\"", @@ -55964,28 +45854,28 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 656, col: 31, offset: 21077}, + pos: position{line: 663, col: 5, offset: 21092}, run: (*parser).callonSingleQuoteMarkedTextElement75, expr: &seqExpr{ - pos: position{line: 656, col: 31, offset: 21077}, + pos: position{line: 663, col: 5, offset: 21092}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 656, col: 31, offset: 21077}, + pos: position{line: 663, col: 5, offset: 21092}, val: "{", ignoreCase: false, want: "\"{\"", }, &labeledExpr{ - pos: position{line: 656, col: 35, offset: 21081}, + pos: position{line: 663, col: 9, offset: 21096}, label: "name", expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, run: (*parser).callonSingleQuoteMarkedTextElement79, expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -55994,9 +45884,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, + pos: position{line: 336, col: 28, offset: 10335}, expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, + pos: position{line: 336, col: 29, offset: 10336}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -56010,7 +45900,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 656, col: 54, offset: 21100}, + pos: position{line: 663, col: 28, offset: 21115}, val: "}", ignoreCase: false, want: "\"}\"", @@ -56025,49 +45915,49 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2638, col: 5, offset: 87092}, + pos: position{line: 2539, col: 5, offset: 83846}, run: (*parser).callonSingleQuoteMarkedTextElement85, expr: &seqExpr{ - pos: position{line: 2638, col: 5, offset: 87092}, + pos: position{line: 2539, col: 5, offset: 83846}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 2638, col: 5, offset: 87092}, + pos: position{line: 2539, col: 5, offset: 83846}, run: (*parser).callonSingleQuoteMarkedTextElement87, }, &labeledExpr{ - pos: position{line: 2641, col: 5, offset: 87163}, + pos: position{line: 2542, col: 5, offset: 83922}, label: "element", expr: &choiceExpr{ - pos: position{line: 2643, col: 9, offset: 87261}, + pos: position{line: 2544, col: 9, offset: 84020}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2643, col: 9, offset: 87261}, + pos: position{line: 2544, col: 9, offset: 84020}, run: (*parser).callonSingleQuoteMarkedTextElement90, expr: &choiceExpr{ - pos: position{line: 691, col: 27, offset: 22375}, + pos: position{line: 698, col: 27, offset: 22399}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 691, col: 27, offset: 22375}, + pos: position{line: 698, col: 27, offset: 22399}, run: (*parser).callonSingleQuoteMarkedTextElement92, expr: &seqExpr{ - pos: position{line: 691, col: 27, offset: 22375}, + pos: position{line: 698, col: 27, offset: 22399}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 691, col: 27, offset: 22375}, + pos: position{line: 698, col: 27, offset: 22399}, val: "<<", ignoreCase: false, want: "\"<<\"", }, &labeledExpr{ - pos: position{line: 691, col: 32, offset: 22380}, + pos: position{line: 698, col: 32, offset: 22404}, label: "id", expr: &actionExpr{ - pos: position{line: 2913, col: 7, offset: 95667}, + pos: position{line: 2823, col: 7, offset: 92821}, run: (*parser).callonSingleQuoteMarkedTextElement96, expr: &oneOrMoreExpr{ - pos: position{line: 2913, col: 7, offset: 95667}, + pos: position{line: 2823, col: 7, offset: 92821}, expr: &charClassMatcher{ - pos: position{line: 2913, col: 7, offset: 95667}, + pos: position{line: 2823, col: 7, offset: 92821}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -56077,12 +45967,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 691, col: 40, offset: 22388}, + pos: position{line: 698, col: 40, offset: 22412}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonSingleQuoteMarkedTextElement100, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -56091,27 +45981,27 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 691, col: 47, offset: 22395}, + pos: position{line: 698, col: 47, offset: 22419}, val: ",", ignoreCase: false, want: "\",\"", }, &labeledExpr{ - pos: position{line: 691, col: 51, offset: 22399}, + pos: position{line: 698, col: 51, offset: 22423}, label: "label", expr: &oneOrMoreExpr{ - pos: position{line: 701, col: 24, offset: 22800}, + pos: position{line: 708, col: 24, offset: 22824}, expr: &choiceExpr{ - pos: position{line: 702, col: 5, offset: 22806}, + pos: position{line: 709, col: 5, offset: 22830}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 702, col: 6, offset: 22807}, + pos: position{line: 709, col: 6, offset: 22831}, run: (*parser).callonSingleQuoteMarkedTextElement106, expr: &seqExpr{ - pos: position{line: 702, col: 6, offset: 22807}, + pos: position{line: 709, col: 6, offset: 22831}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 702, col: 6, offset: 22807}, + pos: position{line: 709, col: 6, offset: 22831}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -56119,9 +46009,9 @@ var g = &grammar{ inverted: false, }, &oneOrMoreExpr{ - pos: position{line: 702, col: 14, offset: 22815}, + pos: position{line: 709, col: 14, offset: 22839}, expr: &charClassMatcher{ - pos: position{line: 702, col: 14, offset: 22815}, + pos: position{line: 709, col: 14, offset: 22839}, val: "[^\\r\\n{<>]", chars: []rune{'\r', '\n', '{', '<', '>'}, ignoreCase: false, @@ -56132,309 +46022,65 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 649, col: 5, offset: 20887}, + pos: position{line: 663, col: 5, offset: 21092}, run: (*parser).callonSingleQuoteMarkedTextElement111, expr: &seqExpr{ - pos: position{line: 649, col: 5, offset: 20887}, + pos: position{line: 663, col: 5, offset: 21092}, exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 649, col: 5, offset: 20887}, - run: (*parser).callonSingleQuoteMarkedTextElement113, + &litMatcher{ + pos: position{line: 663, col: 5, offset: 21092}, + val: "{", + ignoreCase: false, + want: "\"{\"", }, &labeledExpr{ - pos: position{line: 652, col: 5, offset: 20951}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 652, col: 14, offset: 20960}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 663, col: 25, offset: 21324}, - run: (*parser).callonSingleQuoteMarkedTextElement116, - expr: &seqExpr{ - pos: position{line: 663, col: 25, offset: 21324}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 663, col: 25, offset: 21324}, - val: "{counter:", - ignoreCase: false, - want: "\"{counter:\"", - }, - &labeledExpr{ - pos: position{line: 663, col: 37, offset: 21336}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonSingleQuoteMarkedTextElement120, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 663, col: 56, offset: 21355}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 663, col: 62, offset: 21361}, - expr: &actionExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - run: (*parser).callonSingleQuoteMarkedTextElement127, - expr: &seqExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 671, col: 17, offset: 21656}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 671, col: 21, offset: 21660}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - run: (*parser).callonSingleQuoteMarkedTextElement132, - expr: &charClassMatcher{ - pos: position{line: 671, col: 28, offset: 21667}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - run: (*parser).callonSingleQuoteMarkedTextElement134, - expr: &oneOrMoreExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - expr: &charClassMatcher{ - pos: position{line: 673, col: 9, offset: 21721}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 663, col: 78, offset: 21377}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 667, col: 25, offset: 21495}, - run: (*parser).callonSingleQuoteMarkedTextElement138, - expr: &seqExpr{ - pos: position{line: 667, col: 25, offset: 21495}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 667, col: 25, offset: 21495}, - val: "{counter2:", - ignoreCase: false, - want: "\"{counter2:\"", - }, - &labeledExpr{ - pos: position{line: 667, col: 38, offset: 21508}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonSingleQuoteMarkedTextElement142, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 667, col: 57, offset: 21527}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 667, col: 63, offset: 21533}, - expr: &actionExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - run: (*parser).callonSingleQuoteMarkedTextElement149, - expr: &seqExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 671, col: 17, offset: 21656}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 671, col: 21, offset: 21660}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - run: (*parser).callonSingleQuoteMarkedTextElement154, - expr: &charClassMatcher{ - pos: position{line: 671, col: 28, offset: 21667}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - run: (*parser).callonSingleQuoteMarkedTextElement156, - expr: &oneOrMoreExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - expr: &charClassMatcher{ - pos: position{line: 673, col: 9, offset: 21721}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 667, col: 79, offset: 21549}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, + pos: position{line: 663, col: 9, offset: 21096}, + label: "name", + expr: &actionExpr{ + pos: position{line: 336, col: 18, offset: 10325}, + run: (*parser).callonSingleQuoteMarkedTextElement115, + expr: &seqExpr{ + pos: position{line: 336, col: 18, offset: 10325}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 336, col: 18, offset: 10325}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, }, - }, - &actionExpr{ - pos: position{line: 656, col: 31, offset: 21077}, - run: (*parser).callonSingleQuoteMarkedTextElement160, - expr: &seqExpr{ - pos: position{line: 656, col: 31, offset: 21077}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 656, col: 31, offset: 21077}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - &labeledExpr{ - pos: position{line: 656, col: 35, offset: 21081}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonSingleQuoteMarkedTextElement164, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - 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: 54, offset: 21100}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, + &zeroOrMoreExpr{ + pos: position{line: 336, col: 28, offset: 10335}, + expr: &charClassMatcher{ + pos: position{line: 336, col: 29, offset: 10336}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, }, }, }, }, }, }, + &litMatcher{ + pos: position{line: 663, col: 28, offset: 21115}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, }, }, }, &actionExpr{ - pos: position{line: 706, col: 8, offset: 23039}, - run: (*parser).callonSingleQuoteMarkedTextElement170, + pos: position{line: 713, col: 8, offset: 23065}, + run: (*parser).callonSingleQuoteMarkedTextElement121, expr: &litMatcher{ - pos: position{line: 706, col: 8, offset: 23039}, + pos: position{line: 713, col: 8, offset: 23065}, val: "{", ignoreCase: false, want: "\"{\"", @@ -56445,7 +46091,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 691, col: 79, offset: 22427}, + pos: position{line: 698, col: 79, offset: 22451}, val: ">>", ignoreCase: false, want: "\">>\"", @@ -56454,27 +46100,27 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 693, col: 9, offset: 22500}, - run: (*parser).callonSingleQuoteMarkedTextElement173, + pos: position{line: 700, col: 9, offset: 22524}, + run: (*parser).callonSingleQuoteMarkedTextElement124, expr: &seqExpr{ - pos: position{line: 693, col: 9, offset: 22500}, + pos: position{line: 700, col: 9, offset: 22524}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 693, col: 9, offset: 22500}, + pos: position{line: 700, col: 9, offset: 22524}, val: "<<", ignoreCase: false, want: "\"<<\"", }, &labeledExpr{ - pos: position{line: 693, col: 14, offset: 22505}, + pos: position{line: 700, col: 14, offset: 22529}, label: "id", expr: &actionExpr{ - pos: position{line: 2913, col: 7, offset: 95667}, - run: (*parser).callonSingleQuoteMarkedTextElement177, + pos: position{line: 2823, col: 7, offset: 92821}, + run: (*parser).callonSingleQuoteMarkedTextElement128, expr: &oneOrMoreExpr{ - pos: position{line: 2913, col: 7, offset: 95667}, + pos: position{line: 2823, col: 7, offset: 92821}, expr: &charClassMatcher{ - pos: position{line: 2913, col: 7, offset: 95667}, + pos: position{line: 2823, col: 7, offset: 92821}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -56484,7 +46130,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 693, col: 22, offset: 22513}, + pos: position{line: 700, col: 22, offset: 22537}, val: ">>", ignoreCase: false, want: "\">>\"", @@ -56496,10 +46142,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2646, col: 11, offset: 87365}, - run: (*parser).callonSingleQuoteMarkedTextElement181, + pos: position{line: 2547, col: 11, offset: 84124}, + run: (*parser).callonSingleQuoteMarkedTextElement132, expr: &charClassMatcher{ - pos: position{line: 2646, col: 12, offset: 87366}, + pos: position{line: 2547, col: 12, offset: 84125}, val: "[<>&]", chars: []rune{'<', '>', '&'}, ignoreCase: false, @@ -56513,63 +46159,63 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2671, col: 15, offset: 88333}, - run: (*parser).callonSingleQuoteMarkedTextElement183, + pos: position{line: 2572, col: 15, offset: 85092}, + run: (*parser).callonSingleQuoteMarkedTextElement134, expr: &litMatcher{ - pos: position{line: 2671, col: 15, offset: 88333}, + pos: position{line: 2572, col: 15, offset: 85092}, val: "`'", ignoreCase: false, want: "\"`'\"", }, }, &actionExpr{ - pos: position{line: 2677, col: 14, offset: 88448}, - run: (*parser).callonSingleQuoteMarkedTextElement185, + pos: position{line: 2578, col: 14, offset: 85207}, + run: (*parser).callonSingleQuoteMarkedTextElement136, expr: &litMatcher{ - pos: position{line: 2677, col: 14, offset: 88448}, + pos: position{line: 2578, col: 14, offset: 85207}, val: "(C)", ignoreCase: false, want: "\"(C)\"", }, }, &actionExpr{ - pos: position{line: 2681, col: 14, offset: 88524}, - run: (*parser).callonSingleQuoteMarkedTextElement187, + pos: position{line: 2582, col: 14, offset: 85283}, + run: (*parser).callonSingleQuoteMarkedTextElement138, expr: &litMatcher{ - pos: position{line: 2681, col: 14, offset: 88524}, + pos: position{line: 2582, col: 14, offset: 85283}, val: "(TM)", ignoreCase: false, want: "\"(TM)\"", }, }, &actionExpr{ - pos: position{line: 2685, col: 15, offset: 88602}, - run: (*parser).callonSingleQuoteMarkedTextElement189, + pos: position{line: 2586, col: 15, offset: 85361}, + run: (*parser).callonSingleQuoteMarkedTextElement140, expr: &litMatcher{ - pos: position{line: 2685, col: 15, offset: 88602}, + pos: position{line: 2586, col: 15, offset: 85361}, val: "(R)", ignoreCase: false, want: "\"(R)\"", }, }, &actionExpr{ - pos: position{line: 2689, col: 13, offset: 88677}, - run: (*parser).callonSingleQuoteMarkedTextElement191, + pos: position{line: 2590, col: 13, offset: 85436}, + run: (*parser).callonSingleQuoteMarkedTextElement142, expr: &litMatcher{ - pos: position{line: 2689, col: 13, offset: 88677}, + pos: position{line: 2590, col: 13, offset: 85436}, val: "...", ignoreCase: false, want: "\"...\"", }, }, &actionExpr{ - pos: position{line: 2697, col: 22, offset: 88983}, - run: (*parser).callonSingleQuoteMarkedTextElement193, + pos: position{line: 2598, col: 22, offset: 85742}, + run: (*parser).callonSingleQuoteMarkedTextElement144, expr: &seqExpr{ - pos: position{line: 2697, col: 22, offset: 88983}, + pos: position{line: 2598, col: 22, offset: 85742}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 2852, col: 13, offset: 93681}, + pos: position{line: 2753, col: 13, offset: 90440}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -56577,15 +46223,15 @@ var g = &grammar{ inverted: false, }, &litMatcher{ - pos: position{line: 2697, col: 31, offset: 88992}, + pos: position{line: 2598, col: 31, offset: 85751}, val: "'", ignoreCase: false, want: "\"'\"", }, &andExpr{ - pos: position{line: 2697, col: 35, offset: 88996}, + pos: position{line: 2598, col: 35, offset: 85755}, expr: &charClassMatcher{ - pos: position{line: 2697, col: 36, offset: 88997}, + pos: position{line: 2598, col: 36, offset: 85756}, val: "[\\pL]", classes: []*unicode.RangeTable{rangeTable("L")}, ignoreCase: false, @@ -56596,39 +46242,39 @@ var g = &grammar{ }, }, &ruleRefExpr{ - pos: position{line: 2201, col: 7, offset: 73080}, + pos: position{line: 2208, col: 7, offset: 73167}, name: "InlineMacro", }, &ruleRefExpr{ - pos: position{line: 2202, col: 7, offset: 73098}, + pos: position{line: 2209, col: 7, offset: 73185}, name: "QuotedString", }, &ruleRefExpr{ - pos: position{line: 2203, col: 7, offset: 73117}, + pos: position{line: 2210, col: 7, offset: 73204}, name: "QuotedTextInSingleQuoteMarkedText", }, &actionExpr{ - pos: position{line: 1085, col: 23, offset: 33674}, - run: (*parser).callonSingleQuoteMarkedTextElement202, + pos: position{line: 1092, col: 23, offset: 33700}, + run: (*parser).callonSingleQuoteMarkedTextElement153, expr: &seqExpr{ - pos: position{line: 1085, col: 23, offset: 33674}, + pos: position{line: 1092, col: 23, offset: 33700}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1083, col: 32, offset: 33642}, + pos: position{line: 1090, col: 32, offset: 33668}, val: "�", ignoreCase: false, want: "\"�\"", }, &labeledExpr{ - pos: position{line: 1085, col: 51, offset: 33702}, + pos: position{line: 1092, col: 51, offset: 33728}, label: "ref", expr: &actionExpr{ - pos: position{line: 1085, col: 56, offset: 33707}, - run: (*parser).callonSingleQuoteMarkedTextElement206, + pos: position{line: 1092, col: 56, offset: 33733}, + run: (*parser).callonSingleQuoteMarkedTextElement157, expr: &oneOrMoreExpr{ - pos: position{line: 1085, col: 56, offset: 33707}, + pos: position{line: 1092, col: 56, offset: 33733}, expr: &charClassMatcher{ - pos: position{line: 1085, col: 56, offset: 33707}, + pos: position{line: 1092, col: 56, offset: 33733}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -56638,7 +46284,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1083, col: 32, offset: 33642}, + pos: position{line: 1090, col: 32, offset: 33668}, val: "�", ignoreCase: false, want: "\"�\"", @@ -56647,31 +46293,31 @@ var g = &grammar{ }, }, &charClassMatcher{ - pos: position{line: 2220, col: 5, offset: 73584}, + pos: position{line: 2227, col: 5, offset: 73671}, val: "[^\\r\\n #]", chars: []rune{'\r', '\n', ' ', '#'}, ignoreCase: false, inverted: true, }, &actionExpr{ - pos: position{line: 2221, col: 7, offset: 73689}, - run: (*parser).callonSingleQuoteMarkedTextElement211, + pos: position{line: 2228, col: 7, offset: 73776}, + run: (*parser).callonSingleQuoteMarkedTextElement162, expr: &seqExpr{ - pos: position{line: 2221, col: 7, offset: 73689}, + pos: position{line: 2228, col: 7, offset: 73776}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2221, col: 7, offset: 73689}, + pos: position{line: 2228, col: 7, offset: 73776}, val: "#", ignoreCase: false, want: "\"#\"", }, &actionExpr{ - pos: position{line: 2856, col: 14, offset: 93755}, - run: (*parser).callonSingleQuoteMarkedTextElement214, + pos: position{line: 2757, col: 14, offset: 90514}, + run: (*parser).callonSingleQuoteMarkedTextElement165, expr: &oneOrMoreExpr{ - pos: position{line: 2856, col: 14, offset: 93755}, + pos: position{line: 2757, col: 14, offset: 90514}, expr: &charClassMatcher{ - pos: position{line: 2856, col: 14, offset: 93755}, + pos: position{line: 2757, col: 14, offset: 90514}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -56688,52 +46334,52 @@ var g = &grammar{ }, { name: "QuotedTextInSingleQuoteMarkedText", - pos: position{line: 2207, col: 1, offset: 73222}, + pos: position{line: 2214, col: 1, offset: 73309}, expr: &actionExpr{ - pos: position{line: 2208, col: 5, offset: 73263}, + pos: position{line: 2215, col: 5, offset: 73350}, run: (*parser).callonQuotedTextInSingleQuoteMarkedText1, expr: &seqExpr{ - pos: position{line: 2208, col: 5, offset: 73263}, + pos: position{line: 2215, col: 5, offset: 73350}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 2208, col: 5, offset: 73263}, + pos: position{line: 2215, col: 5, offset: 73350}, label: "attributes", expr: &zeroOrOneExpr{ - pos: position{line: 2208, col: 16, offset: 73274}, + pos: position{line: 2215, col: 16, offset: 73361}, expr: &ruleRefExpr{ - pos: position{line: 2208, col: 17, offset: 73275}, + pos: position{line: 2215, col: 17, offset: 73362}, name: "LongHandAttributes", }, }, }, &labeledExpr{ - pos: position{line: 2209, col: 5, offset: 73301}, + pos: position{line: 2216, col: 5, offset: 73388}, label: "text", expr: &choiceExpr{ - pos: position{line: 2210, col: 9, offset: 73316}, + pos: position{line: 2217, col: 9, offset: 73403}, alternatives: []interface{}{ &ruleRefExpr{ - pos: position{line: 2210, col: 9, offset: 73316}, + pos: position{line: 2217, col: 9, offset: 73403}, name: "DoubleQuoteMarkedText", }, &ruleRefExpr{ - pos: position{line: 2211, col: 11, offset: 73348}, + pos: position{line: 2218, col: 11, offset: 73435}, name: "BoldText", }, &ruleRefExpr{ - pos: position{line: 2212, col: 11, offset: 73367}, + pos: position{line: 2219, col: 11, offset: 73454}, name: "ItalicText", }, &ruleRefExpr{ - pos: position{line: 2213, col: 11, offset: 73388}, + pos: position{line: 2220, col: 11, offset: 73475}, name: "MonospaceText", }, &ruleRefExpr{ - pos: position{line: 2214, col: 11, offset: 73412}, + pos: position{line: 2221, col: 11, offset: 73499}, name: "SubscriptText", }, &ruleRefExpr{ - pos: position{line: 2215, col: 11, offset: 73436}, + pos: position{line: 2222, col: 11, offset: 73523}, name: "SuperscriptText", }, }, @@ -56745,35 +46391,35 @@ var g = &grammar{ }, { name: "EscapedMarkedText", - pos: position{line: 2225, col: 1, offset: 73864}, + pos: position{line: 2232, col: 1, offset: 73951}, expr: &choiceExpr{ - pos: position{line: 2226, col: 5, offset: 73889}, + pos: position{line: 2233, col: 5, offset: 73976}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2226, col: 5, offset: 73889}, + pos: position{line: 2233, col: 5, offset: 73976}, run: (*parser).callonEscapedMarkedText2, expr: &seqExpr{ - pos: position{line: 2226, col: 5, offset: 73889}, + pos: position{line: 2233, col: 5, offset: 73976}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 2226, col: 5, offset: 73889}, + pos: position{line: 2233, col: 5, offset: 73976}, label: "backslashes", expr: &actionExpr{ - pos: position{line: 1728, col: 25, offset: 56419}, + pos: position{line: 1735, col: 25, offset: 56530}, run: (*parser).callonEscapedMarkedText5, expr: &seqExpr{ - pos: position{line: 1728, col: 25, offset: 56419}, + pos: position{line: 1735, col: 25, offset: 56530}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1728, col: 25, offset: 56419}, + pos: position{line: 1735, col: 25, offset: 56530}, val: "\\\\", ignoreCase: false, want: "\"\\\\\\\\\"", }, &zeroOrMoreExpr{ - pos: position{line: 1728, col: 30, offset: 56424}, + pos: position{line: 1735, col: 30, offset: 56535}, expr: &litMatcher{ - pos: position{line: 1728, col: 30, offset: 56424}, + pos: position{line: 1735, col: 30, offset: 56535}, val: "\\", ignoreCase: false, want: "\"\\\\\"", @@ -56784,21 +46430,21 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 2226, col: 40, offset: 73924}, + pos: position{line: 2233, col: 40, offset: 74011}, val: "##", ignoreCase: false, want: "\"##\"", }, &labeledExpr{ - pos: position{line: 2226, col: 45, offset: 73929}, + pos: position{line: 2233, col: 45, offset: 74016}, label: "elements", expr: &ruleRefExpr{ - pos: position{line: 2226, col: 55, offset: 73939}, + pos: position{line: 2233, col: 55, offset: 74026}, name: "DoubleQuoteMarkedTextElements", }, }, &litMatcher{ - pos: position{line: 2226, col: 86, offset: 73970}, + pos: position{line: 2233, col: 86, offset: 74057}, val: "##", ignoreCase: false, want: "\"##\"", @@ -56807,21 +46453,21 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2228, col: 9, offset: 74127}, + pos: position{line: 2235, col: 9, offset: 74214}, run: (*parser).callonEscapedMarkedText14, expr: &seqExpr{ - pos: position{line: 2228, col: 9, offset: 74127}, + pos: position{line: 2235, col: 9, offset: 74214}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 2228, col: 9, offset: 74127}, + pos: position{line: 2235, col: 9, offset: 74214}, label: "backslashes", expr: &actionExpr{ - pos: position{line: 1724, col: 25, offset: 56346}, + pos: position{line: 1731, col: 25, offset: 56457}, run: (*parser).callonEscapedMarkedText17, expr: &oneOrMoreExpr{ - pos: position{line: 1724, col: 25, offset: 56346}, + pos: position{line: 1731, col: 25, offset: 56457}, expr: &litMatcher{ - pos: position{line: 1724, col: 25, offset: 56346}, + pos: position{line: 1731, col: 25, offset: 56457}, val: "\\", ignoreCase: false, want: "\"\\\\\"", @@ -56830,21 +46476,21 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 2228, col: 44, offset: 74162}, + pos: position{line: 2235, col: 44, offset: 74249}, val: "##", ignoreCase: false, want: "\"##\"", }, &labeledExpr{ - pos: position{line: 2228, col: 49, offset: 74167}, + pos: position{line: 2235, col: 49, offset: 74254}, label: "elements", expr: &ruleRefExpr{ - pos: position{line: 2228, col: 59, offset: 74177}, + pos: position{line: 2235, col: 59, offset: 74264}, name: "SingleQuoteMarkedTextElements", }, }, &litMatcher{ - pos: position{line: 2228, col: 90, offset: 74208}, + pos: position{line: 2235, col: 90, offset: 74295}, val: "#", ignoreCase: false, want: "\"#\"", @@ -56853,21 +46499,21 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2231, col: 9, offset: 74408}, + pos: position{line: 2238, col: 9, offset: 74495}, run: (*parser).callonEscapedMarkedText24, expr: &seqExpr{ - pos: position{line: 2231, col: 9, offset: 74408}, + pos: position{line: 2238, col: 9, offset: 74495}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 2231, col: 9, offset: 74408}, + pos: position{line: 2238, col: 9, offset: 74495}, label: "backslashes", expr: &actionExpr{ - pos: position{line: 1724, col: 25, offset: 56346}, + pos: position{line: 1731, col: 25, offset: 56457}, run: (*parser).callonEscapedMarkedText27, expr: &oneOrMoreExpr{ - pos: position{line: 1724, col: 25, offset: 56346}, + pos: position{line: 1731, col: 25, offset: 56457}, expr: &litMatcher{ - pos: position{line: 1724, col: 25, offset: 56346}, + pos: position{line: 1731, col: 25, offset: 56457}, val: "\\", ignoreCase: false, want: "\"\\\\\"", @@ -56876,21 +46522,21 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 2231, col: 44, offset: 74443}, + pos: position{line: 2238, col: 44, offset: 74530}, val: "#", ignoreCase: false, want: "\"#\"", }, &labeledExpr{ - pos: position{line: 2231, col: 48, offset: 74447}, + pos: position{line: 2238, col: 48, offset: 74534}, label: "elements", expr: &ruleRefExpr{ - pos: position{line: 2231, col: 58, offset: 74457}, + pos: position{line: 2238, col: 58, offset: 74544}, name: "SingleQuoteMarkedTextElements", }, }, &litMatcher{ - pos: position{line: 2231, col: 89, offset: 74488}, + pos: position{line: 2238, col: 89, offset: 74575}, val: "#", ignoreCase: false, want: "\"#\"", @@ -56903,29 +46549,29 @@ var g = &grammar{ }, { name: "SubscriptText", - pos: position{line: 2238, col: 1, offset: 74800}, + pos: position{line: 2245, col: 1, offset: 74887}, expr: &actionExpr{ - pos: position{line: 2239, col: 5, offset: 74822}, + pos: position{line: 2246, col: 5, offset: 74909}, run: (*parser).callonSubscriptText1, expr: &seqExpr{ - pos: position{line: 2239, col: 5, offset: 74822}, + pos: position{line: 2246, col: 5, offset: 74909}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2245, col: 27, offset: 75037}, + pos: position{line: 2252, col: 27, offset: 75124}, val: "~", ignoreCase: false, want: "\"~\"", }, &labeledExpr{ - pos: position{line: 2240, col: 5, offset: 74849}, + pos: position{line: 2247, col: 5, offset: 74936}, label: "element", expr: &ruleRefExpr{ - pos: position{line: 2240, col: 14, offset: 74858}, + pos: position{line: 2247, col: 14, offset: 74945}, name: "SubscriptTextElement", }, }, &litMatcher{ - pos: position{line: 2245, col: 27, offset: 75037}, + pos: position{line: 2252, col: 27, offset: 75124}, val: "~", ignoreCase: false, want: "\"~\"", @@ -56936,21 +46582,21 @@ var g = &grammar{ }, { name: "SubscriptTextElement", - pos: position{line: 2247, col: 1, offset: 75042}, + pos: position{line: 2254, col: 1, offset: 75129}, expr: &choiceExpr{ - pos: position{line: 2247, col: 25, offset: 75066}, + pos: position{line: 2254, col: 25, offset: 75153}, alternatives: []interface{}{ &ruleRefExpr{ - pos: position{line: 2247, col: 25, offset: 75066}, + pos: position{line: 2254, col: 25, offset: 75153}, name: "QuotedText", }, &actionExpr{ - pos: position{line: 2249, col: 21, offset: 75118}, + pos: position{line: 2256, col: 21, offset: 75205}, run: (*parser).callonSubscriptTextElement3, expr: &oneOrMoreExpr{ - pos: position{line: 2249, col: 21, offset: 75118}, + pos: position{line: 2256, col: 21, offset: 75205}, expr: &charClassMatcher{ - pos: position{line: 2249, col: 21, offset: 75118}, + pos: position{line: 2256, col: 21, offset: 75205}, val: "[^\\r\\n ~]", chars: []rune{'\r', '\n', ' ', '~'}, ignoreCase: false, @@ -56963,23 +46609,23 @@ var g = &grammar{ }, { name: "EscapedSubscriptText", - pos: position{line: 2253, col: 1, offset: 75203}, + pos: position{line: 2260, col: 1, offset: 75290}, expr: &actionExpr{ - pos: position{line: 2254, col: 5, offset: 75232}, + pos: position{line: 2261, col: 5, offset: 75319}, run: (*parser).callonEscapedSubscriptText1, expr: &seqExpr{ - pos: position{line: 2254, col: 5, offset: 75232}, + pos: position{line: 2261, col: 5, offset: 75319}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 2254, col: 5, offset: 75232}, + pos: position{line: 2261, col: 5, offset: 75319}, label: "backslashes", expr: &actionExpr{ - pos: position{line: 1724, col: 25, offset: 56346}, + pos: position{line: 1731, col: 25, offset: 56457}, run: (*parser).callonEscapedSubscriptText4, expr: &oneOrMoreExpr{ - pos: position{line: 1724, col: 25, offset: 56346}, + pos: position{line: 1731, col: 25, offset: 56457}, expr: &litMatcher{ - pos: position{line: 1724, col: 25, offset: 56346}, + pos: position{line: 1731, col: 25, offset: 56457}, val: "\\", ignoreCase: false, want: "\"\\\\\"", @@ -56988,21 +46634,21 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 2245, col: 27, offset: 75037}, + pos: position{line: 2252, col: 27, offset: 75124}, val: "~", ignoreCase: false, want: "\"~\"", }, &labeledExpr{ - pos: position{line: 2256, col: 5, offset: 75300}, + pos: position{line: 2263, col: 5, offset: 75387}, label: "element", expr: &ruleRefExpr{ - pos: position{line: 2256, col: 14, offset: 75309}, + pos: position{line: 2263, col: 14, offset: 75396}, name: "SubscriptTextElement", }, }, &litMatcher{ - pos: position{line: 2245, col: 27, offset: 75037}, + pos: position{line: 2252, col: 27, offset: 75124}, val: "~", ignoreCase: false, want: "\"~\"", @@ -57013,29 +46659,29 @@ var g = &grammar{ }, { name: "SuperscriptText", - pos: position{line: 2264, col: 1, offset: 75572}, + pos: position{line: 2271, col: 1, offset: 75659}, expr: &actionExpr{ - pos: position{line: 2265, col: 5, offset: 75596}, + pos: position{line: 2272, col: 5, offset: 75683}, run: (*parser).callonSuperscriptText1, expr: &seqExpr{ - pos: position{line: 2265, col: 5, offset: 75596}, + pos: position{line: 2272, col: 5, offset: 75683}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2271, col: 29, offset: 75823}, + pos: position{line: 2278, col: 29, offset: 75910}, val: "^", ignoreCase: false, want: "\"^\"", }, &labeledExpr{ - pos: position{line: 2266, col: 5, offset: 75626}, + pos: position{line: 2273, col: 5, offset: 75713}, label: "element", expr: &ruleRefExpr{ - pos: position{line: 2266, col: 14, offset: 75635}, + pos: position{line: 2273, col: 14, offset: 75722}, name: "SuperscriptTextElement", }, }, &litMatcher{ - pos: position{line: 2271, col: 29, offset: 75823}, + pos: position{line: 2278, col: 29, offset: 75910}, val: "^", ignoreCase: false, want: "\"^\"", @@ -57046,21 +46692,21 @@ var g = &grammar{ }, { name: "SuperscriptTextElement", - pos: position{line: 2273, col: 1, offset: 75828}, + pos: position{line: 2280, col: 1, offset: 75915}, expr: &choiceExpr{ - pos: position{line: 2273, col: 27, offset: 75854}, + pos: position{line: 2280, col: 27, offset: 75941}, alternatives: []interface{}{ &ruleRefExpr{ - pos: position{line: 2273, col: 27, offset: 75854}, + pos: position{line: 2280, col: 27, offset: 75941}, name: "QuotedText", }, &actionExpr{ - pos: position{line: 2275, col: 23, offset: 75910}, + pos: position{line: 2282, col: 23, offset: 75997}, run: (*parser).callonSuperscriptTextElement3, expr: &oneOrMoreExpr{ - pos: position{line: 2275, col: 23, offset: 75910}, + pos: position{line: 2282, col: 23, offset: 75997}, expr: &charClassMatcher{ - pos: position{line: 2275, col: 23, offset: 75910}, + pos: position{line: 2282, col: 23, offset: 75997}, val: "[^\\r\\n ^]", chars: []rune{'\r', '\n', ' ', '^'}, ignoreCase: false, @@ -57073,23 +46719,23 @@ var g = &grammar{ }, { name: "EscapedSuperscriptText", - pos: position{line: 2279, col: 1, offset: 75995}, + pos: position{line: 2286, col: 1, offset: 76082}, expr: &actionExpr{ - pos: position{line: 2280, col: 5, offset: 76026}, + pos: position{line: 2287, col: 5, offset: 76113}, run: (*parser).callonEscapedSuperscriptText1, expr: &seqExpr{ - pos: position{line: 2280, col: 5, offset: 76026}, + pos: position{line: 2287, col: 5, offset: 76113}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 2280, col: 5, offset: 76026}, + pos: position{line: 2287, col: 5, offset: 76113}, label: "backslashes", expr: &actionExpr{ - pos: position{line: 1724, col: 25, offset: 56346}, + pos: position{line: 1731, col: 25, offset: 56457}, run: (*parser).callonEscapedSuperscriptText4, expr: &oneOrMoreExpr{ - pos: position{line: 1724, col: 25, offset: 56346}, + pos: position{line: 1731, col: 25, offset: 56457}, expr: &litMatcher{ - pos: position{line: 1724, col: 25, offset: 56346}, + pos: position{line: 1731, col: 25, offset: 56457}, val: "\\", ignoreCase: false, want: "\"\\\\\"", @@ -57098,21 +46744,21 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 2271, col: 29, offset: 75823}, + pos: position{line: 2278, col: 29, offset: 75910}, val: "^", ignoreCase: false, want: "\"^\"", }, &labeledExpr{ - pos: position{line: 2282, col: 5, offset: 76096}, + pos: position{line: 2289, col: 5, offset: 76183}, label: "element", expr: &ruleRefExpr{ - pos: position{line: 2282, col: 14, offset: 76105}, + pos: position{line: 2289, col: 14, offset: 76192}, name: "SuperscriptTextElement", }, }, &litMatcher{ - pos: position{line: 2271, col: 29, offset: 75823}, + pos: position{line: 2278, col: 29, offset: 75910}, val: "^", ignoreCase: false, want: "\"^\"", @@ -57123,16 +46769,16 @@ var g = &grammar{ }, { name: "QuotedString", - pos: position{line: 2291, col: 1, offset: 76553}, + pos: position{line: 2298, col: 1, offset: 76640}, expr: &choiceExpr{ - pos: position{line: 2291, col: 17, offset: 76569}, + pos: position{line: 2298, col: 17, offset: 76656}, alternatives: []interface{}{ &ruleRefExpr{ - pos: position{line: 2291, col: 17, offset: 76569}, + pos: position{line: 2298, col: 17, offset: 76656}, name: "SingleQuotedString", }, &ruleRefExpr{ - pos: position{line: 2291, col: 38, offset: 76590}, + pos: position{line: 2298, col: 38, offset: 76677}, name: "DoubleQuotedString", }, }, @@ -57140,23 +46786,23 @@ var g = &grammar{ }, { name: "SingleQuotedString", - pos: position{line: 2293, col: 1, offset: 76610}, + pos: position{line: 2300, col: 1, offset: 76697}, expr: &actionExpr{ - pos: position{line: 2294, col: 5, offset: 76637}, + pos: position{line: 2301, col: 5, offset: 76724}, run: (*parser).callonSingleQuotedString1, expr: &seqExpr{ - pos: position{line: 2294, col: 5, offset: 76637}, + pos: position{line: 2301, col: 5, offset: 76724}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2306, col: 27, offset: 77012}, + pos: position{line: 2313, col: 27, offset: 77099}, val: "'`", ignoreCase: false, want: "\"'`\"", }, ¬Expr{ - pos: position{line: 2306, col: 32, offset: 77017}, + pos: position{line: 2313, col: 32, offset: 77104}, expr: &charClassMatcher{ - pos: position{line: 2306, col: 33, offset: 77018}, + pos: position{line: 2313, col: 33, offset: 77105}, val: "[ \\t\\r\\n]", chars: []rune{' ', '\t', '\r', '\n'}, ignoreCase: false, @@ -57164,15 +46810,15 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 2295, col: 5, offset: 76665}, + pos: position{line: 2302, col: 5, offset: 76752}, label: "elements", expr: &ruleRefExpr{ - pos: position{line: 2295, col: 14, offset: 76674}, + pos: position{line: 2302, col: 14, offset: 76761}, name: "SingleQuotedStringElements", }, }, &litMatcher{ - pos: position{line: 2308, col: 25, offset: 77053}, + pos: position{line: 2315, col: 25, offset: 77140}, val: "`'", ignoreCase: false, want: "\"`'\"", @@ -57183,17 +46829,17 @@ var g = &grammar{ }, { name: "SingleQuotedStringElements", - pos: position{line: 2300, col: 1, offset: 76818}, + pos: position{line: 2307, col: 1, offset: 76905}, expr: &actionExpr{ - pos: position{line: 2301, col: 5, offset: 76853}, + pos: position{line: 2308, col: 5, offset: 76940}, run: (*parser).callonSingleQuotedStringElements1, expr: &labeledExpr{ - pos: position{line: 2301, col: 5, offset: 76853}, + pos: position{line: 2308, col: 5, offset: 76940}, label: "elements", expr: &oneOrMoreExpr{ - pos: position{line: 2301, col: 14, offset: 76862}, + pos: position{line: 2308, col: 14, offset: 76949}, expr: &ruleRefExpr{ - pos: position{line: 2301, col: 15, offset: 76863}, + pos: position{line: 2308, col: 15, offset: 76950}, name: "SingleQuotedStringElement", }, }, @@ -57202,38 +46848,38 @@ var g = &grammar{ }, { name: "SingleQuotedStringElement", - pos: position{line: 2315, col: 1, offset: 77266}, + pos: position{line: 2322, col: 1, offset: 77353}, expr: &actionExpr{ - pos: position{line: 2316, col: 5, offset: 77300}, + pos: position{line: 2323, col: 5, offset: 77387}, run: (*parser).callonSingleQuotedStringElement1, expr: &seqExpr{ - pos: position{line: 2316, col: 5, offset: 77300}, + pos: position{line: 2323, col: 5, offset: 77387}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 2316, col: 5, offset: 77300}, + pos: position{line: 2323, col: 5, offset: 77387}, expr: &litMatcher{ - pos: position{line: 2308, col: 25, offset: 77053}, + pos: position{line: 2315, col: 25, offset: 77140}, val: "`'", ignoreCase: false, want: "\"`'\"", }, }, &labeledExpr{ - pos: position{line: 2317, col: 5, offset: 77326}, + pos: position{line: 2324, col: 5, offset: 77413}, label: "element", expr: &choiceExpr{ - pos: position{line: 2318, col: 9, offset: 77344}, + pos: position{line: 2325, col: 9, offset: 77431}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2310, col: 21, offset: 77079}, + pos: position{line: 2317, col: 21, offset: 77166}, run: (*parser).callonSingleQuotedStringElement7, expr: &seqExpr{ - pos: position{line: 2310, col: 21, offset: 77079}, + pos: position{line: 2317, col: 21, offset: 77166}, exprs: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 2310, col: 21, offset: 77079}, + pos: position{line: 2317, col: 21, offset: 77166}, expr: &charClassMatcher{ - pos: position{line: 2310, col: 21, offset: 77079}, + pos: position{line: 2317, col: 21, offset: 77166}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -57242,15 +46888,15 @@ var g = &grammar{ }, }, &andExpr{ - pos: position{line: 2310, col: 31, offset: 77089}, + pos: position{line: 2317, col: 31, offset: 77176}, expr: &choiceExpr{ - pos: position{line: 2310, col: 33, offset: 77091}, + pos: position{line: 2317, col: 33, offset: 77178}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonSingleQuotedStringElement13, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -57258,7 +46904,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 2308, col: 25, offset: 77053}, + pos: position{line: 2315, col: 25, offset: 77140}, val: "`'", ignoreCase: false, want: "\"`'\"", @@ -57270,13 +46916,13 @@ var g = &grammar{ }, }, &seqExpr{ - pos: position{line: 2319, col: 11, offset: 77371}, + pos: position{line: 2326, col: 11, offset: 77458}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonSingleQuotedStringElement17, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -57284,9 +46930,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2319, col: 17, offset: 77377}, + pos: position{line: 2326, col: 17, offset: 77464}, expr: &litMatcher{ - pos: position{line: 2308, col: 25, offset: 77053}, + pos: position{line: 2315, col: 25, offset: 77140}, val: "`'", ignoreCase: false, want: "\"`'\"", @@ -57295,28 +46941,28 @@ var g = &grammar{ }, }, &seqExpr{ - pos: position{line: 2320, col: 11, offset: 77409}, + pos: position{line: 2327, col: 11, offset: 77496}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonSingleQuotedStringElement22, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -57325,27 +46971,27 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2320, col: 19, offset: 77417}, + pos: position{line: 2327, col: 19, offset: 77504}, expr: &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonSingleQuotedStringElement28, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -57357,44 +47003,44 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 649, col: 5, offset: 20887}, + pos: position{line: 655, col: 5, offset: 20901}, run: (*parser).callonSingleQuotedStringElement33, expr: &seqExpr{ - pos: position{line: 649, col: 5, offset: 20887}, + pos: position{line: 655, col: 5, offset: 20901}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 649, col: 5, offset: 20887}, + pos: position{line: 655, col: 5, offset: 20901}, run: (*parser).callonSingleQuotedStringElement35, }, &labeledExpr{ - pos: position{line: 652, col: 5, offset: 20951}, + pos: position{line: 658, col: 5, offset: 20970}, label: "element", expr: &choiceExpr{ - pos: position{line: 652, col: 14, offset: 20960}, + pos: position{line: 658, col: 14, offset: 20979}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 663, col: 25, offset: 21324}, + pos: position{line: 670, col: 25, offset: 21348}, run: (*parser).callonSingleQuotedStringElement38, expr: &seqExpr{ - pos: position{line: 663, col: 25, offset: 21324}, + pos: position{line: 670, col: 25, offset: 21348}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 663, col: 25, offset: 21324}, + pos: position{line: 670, col: 25, offset: 21348}, val: "{counter:", ignoreCase: false, want: "\"{counter:\"", }, &labeledExpr{ - pos: position{line: 663, col: 37, offset: 21336}, + pos: position{line: 670, col: 37, offset: 21360}, label: "name", expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, run: (*parser).callonSingleQuotedStringElement42, expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -57403,9 +47049,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, + pos: position{line: 336, col: 28, offset: 10335}, expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, + pos: position{line: 336, col: 29, offset: 10336}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -57419,33 +47065,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 663, col: 56, offset: 21355}, + pos: position{line: 670, col: 56, offset: 21379}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 663, col: 62, offset: 21361}, + pos: position{line: 670, col: 62, offset: 21385}, expr: &actionExpr{ - pos: position{line: 671, col: 17, offset: 21656}, + pos: position{line: 678, col: 17, offset: 21680}, run: (*parser).callonSingleQuotedStringElement49, expr: &seqExpr{ - pos: position{line: 671, col: 17, offset: 21656}, + pos: position{line: 678, col: 17, offset: 21680}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 671, col: 17, offset: 21656}, + pos: position{line: 678, col: 17, offset: 21680}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 671, col: 21, offset: 21660}, + pos: position{line: 678, col: 21, offset: 21684}, label: "start", expr: &choiceExpr{ - pos: position{line: 671, col: 28, offset: 21667}, + pos: position{line: 678, col: 28, offset: 21691}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 671, col: 28, offset: 21667}, + pos: position{line: 678, col: 28, offset: 21691}, run: (*parser).callonSingleQuotedStringElement54, expr: &charClassMatcher{ - pos: position{line: 671, col: 28, offset: 21667}, + pos: position{line: 678, col: 28, offset: 21691}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -57453,12 +47099,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 673, col: 9, offset: 21721}, + pos: position{line: 680, col: 9, offset: 21745}, run: (*parser).callonSingleQuotedStringElement56, expr: &oneOrMoreExpr{ - pos: position{line: 673, col: 9, offset: 21721}, + pos: position{line: 680, col: 9, offset: 21745}, expr: &charClassMatcher{ - pos: position{line: 673, col: 9, offset: 21721}, + pos: position{line: 680, col: 9, offset: 21745}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -57475,7 +47121,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 663, col: 78, offset: 21377}, + pos: position{line: 670, col: 78, offset: 21401}, val: "}", ignoreCase: false, want: "\"}\"", @@ -57484,28 +47130,28 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 667, col: 25, offset: 21495}, + pos: position{line: 674, col: 25, offset: 21519}, run: (*parser).callonSingleQuotedStringElement60, expr: &seqExpr{ - pos: position{line: 667, col: 25, offset: 21495}, + pos: position{line: 674, col: 25, offset: 21519}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 667, col: 25, offset: 21495}, + pos: position{line: 674, col: 25, offset: 21519}, val: "{counter2:", ignoreCase: false, want: "\"{counter2:\"", }, &labeledExpr{ - pos: position{line: 667, col: 38, offset: 21508}, + pos: position{line: 674, col: 38, offset: 21532}, label: "name", expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, run: (*parser).callonSingleQuotedStringElement64, expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -57514,9 +47160,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, + pos: position{line: 336, col: 28, offset: 10335}, expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, + pos: position{line: 336, col: 29, offset: 10336}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -57530,33 +47176,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 667, col: 57, offset: 21527}, + pos: position{line: 674, col: 57, offset: 21551}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 667, col: 63, offset: 21533}, + pos: position{line: 674, col: 63, offset: 21557}, expr: &actionExpr{ - pos: position{line: 671, col: 17, offset: 21656}, + pos: position{line: 678, col: 17, offset: 21680}, run: (*parser).callonSingleQuotedStringElement71, expr: &seqExpr{ - pos: position{line: 671, col: 17, offset: 21656}, + pos: position{line: 678, col: 17, offset: 21680}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 671, col: 17, offset: 21656}, + pos: position{line: 678, col: 17, offset: 21680}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 671, col: 21, offset: 21660}, + pos: position{line: 678, col: 21, offset: 21684}, label: "start", expr: &choiceExpr{ - pos: position{line: 671, col: 28, offset: 21667}, + pos: position{line: 678, col: 28, offset: 21691}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 671, col: 28, offset: 21667}, + pos: position{line: 678, col: 28, offset: 21691}, run: (*parser).callonSingleQuotedStringElement76, expr: &charClassMatcher{ - pos: position{line: 671, col: 28, offset: 21667}, + pos: position{line: 678, col: 28, offset: 21691}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -57564,12 +47210,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 673, col: 9, offset: 21721}, + pos: position{line: 680, col: 9, offset: 21745}, run: (*parser).callonSingleQuotedStringElement78, expr: &oneOrMoreExpr{ - pos: position{line: 673, col: 9, offset: 21721}, + pos: position{line: 680, col: 9, offset: 21745}, expr: &charClassMatcher{ - pos: position{line: 673, col: 9, offset: 21721}, + pos: position{line: 680, col: 9, offset: 21745}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -57586,7 +47232,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 667, col: 79, offset: 21549}, + pos: position{line: 674, col: 79, offset: 21573}, val: "}", ignoreCase: false, want: "\"}\"", @@ -57595,28 +47241,28 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 656, col: 31, offset: 21077}, + pos: position{line: 663, col: 5, offset: 21092}, run: (*parser).callonSingleQuotedStringElement82, expr: &seqExpr{ - pos: position{line: 656, col: 31, offset: 21077}, + pos: position{line: 663, col: 5, offset: 21092}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 656, col: 31, offset: 21077}, + pos: position{line: 663, col: 5, offset: 21092}, val: "{", ignoreCase: false, want: "\"{\"", }, &labeledExpr{ - pos: position{line: 656, col: 35, offset: 21081}, + pos: position{line: 663, col: 9, offset: 21096}, label: "name", expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, run: (*parser).callonSingleQuotedStringElement86, expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -57625,9 +47271,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, + pos: position{line: 336, col: 28, offset: 10335}, expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, + pos: position{line: 336, col: 29, offset: 10336}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -57641,7 +47287,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 656, col: 54, offset: 21100}, + pos: position{line: 663, col: 28, offset: 21115}, val: "}", ignoreCase: false, want: "\"}\"", @@ -57656,49 +47302,49 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2638, col: 5, offset: 87092}, + pos: position{line: 2539, col: 5, offset: 83846}, run: (*parser).callonSingleQuotedStringElement92, expr: &seqExpr{ - pos: position{line: 2638, col: 5, offset: 87092}, + pos: position{line: 2539, col: 5, offset: 83846}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 2638, col: 5, offset: 87092}, + pos: position{line: 2539, col: 5, offset: 83846}, run: (*parser).callonSingleQuotedStringElement94, }, &labeledExpr{ - pos: position{line: 2641, col: 5, offset: 87163}, + pos: position{line: 2542, col: 5, offset: 83922}, label: "element", expr: &choiceExpr{ - pos: position{line: 2643, col: 9, offset: 87261}, + pos: position{line: 2544, col: 9, offset: 84020}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2643, col: 9, offset: 87261}, + pos: position{line: 2544, col: 9, offset: 84020}, run: (*parser).callonSingleQuotedStringElement97, expr: &choiceExpr{ - pos: position{line: 691, col: 27, offset: 22375}, + pos: position{line: 698, col: 27, offset: 22399}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 691, col: 27, offset: 22375}, + pos: position{line: 698, col: 27, offset: 22399}, run: (*parser).callonSingleQuotedStringElement99, expr: &seqExpr{ - pos: position{line: 691, col: 27, offset: 22375}, + pos: position{line: 698, col: 27, offset: 22399}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 691, col: 27, offset: 22375}, + pos: position{line: 698, col: 27, offset: 22399}, val: "<<", ignoreCase: false, want: "\"<<\"", }, &labeledExpr{ - pos: position{line: 691, col: 32, offset: 22380}, + pos: position{line: 698, col: 32, offset: 22404}, label: "id", expr: &actionExpr{ - pos: position{line: 2913, col: 7, offset: 95667}, + pos: position{line: 2823, col: 7, offset: 92821}, run: (*parser).callonSingleQuotedStringElement103, expr: &oneOrMoreExpr{ - pos: position{line: 2913, col: 7, offset: 95667}, + pos: position{line: 2823, col: 7, offset: 92821}, expr: &charClassMatcher{ - pos: position{line: 2913, col: 7, offset: 95667}, + pos: position{line: 2823, col: 7, offset: 92821}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -57708,12 +47354,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 691, col: 40, offset: 22388}, + pos: position{line: 698, col: 40, offset: 22412}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonSingleQuotedStringElement107, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -57722,27 +47368,27 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 691, col: 47, offset: 22395}, + pos: position{line: 698, col: 47, offset: 22419}, val: ",", ignoreCase: false, want: "\",\"", }, &labeledExpr{ - pos: position{line: 691, col: 51, offset: 22399}, + pos: position{line: 698, col: 51, offset: 22423}, label: "label", expr: &oneOrMoreExpr{ - pos: position{line: 701, col: 24, offset: 22800}, + pos: position{line: 708, col: 24, offset: 22824}, expr: &choiceExpr{ - pos: position{line: 702, col: 5, offset: 22806}, + pos: position{line: 709, col: 5, offset: 22830}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 702, col: 6, offset: 22807}, + pos: position{line: 709, col: 6, offset: 22831}, run: (*parser).callonSingleQuotedStringElement113, expr: &seqExpr{ - pos: position{line: 702, col: 6, offset: 22807}, + pos: position{line: 709, col: 6, offset: 22831}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 702, col: 6, offset: 22807}, + pos: position{line: 709, col: 6, offset: 22831}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -57750,9 +47396,9 @@ var g = &grammar{ inverted: false, }, &oneOrMoreExpr{ - pos: position{line: 702, col: 14, offset: 22815}, + pos: position{line: 709, col: 14, offset: 22839}, expr: &charClassMatcher{ - pos: position{line: 702, col: 14, offset: 22815}, + pos: position{line: 709, col: 14, offset: 22839}, val: "[^\\r\\n{<>]", chars: []rune{'\r', '\n', '{', '<', '>'}, ignoreCase: false, @@ -57763,309 +47409,65 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 649, col: 5, offset: 20887}, + pos: position{line: 663, col: 5, offset: 21092}, run: (*parser).callonSingleQuotedStringElement118, expr: &seqExpr{ - pos: position{line: 649, col: 5, offset: 20887}, + pos: position{line: 663, col: 5, offset: 21092}, exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 649, col: 5, offset: 20887}, - run: (*parser).callonSingleQuotedStringElement120, + &litMatcher{ + pos: position{line: 663, col: 5, offset: 21092}, + val: "{", + ignoreCase: false, + want: "\"{\"", }, &labeledExpr{ - pos: position{line: 652, col: 5, offset: 20951}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 652, col: 14, offset: 20960}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 663, col: 25, offset: 21324}, - run: (*parser).callonSingleQuotedStringElement123, - expr: &seqExpr{ - pos: position{line: 663, col: 25, offset: 21324}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 663, col: 25, offset: 21324}, - val: "{counter:", - ignoreCase: false, - want: "\"{counter:\"", - }, - &labeledExpr{ - pos: position{line: 663, col: 37, offset: 21336}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonSingleQuotedStringElement127, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 663, col: 56, offset: 21355}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 663, col: 62, offset: 21361}, - expr: &actionExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - run: (*parser).callonSingleQuotedStringElement134, - expr: &seqExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 671, col: 17, offset: 21656}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 671, col: 21, offset: 21660}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - run: (*parser).callonSingleQuotedStringElement139, - expr: &charClassMatcher{ - pos: position{line: 671, col: 28, offset: 21667}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - run: (*parser).callonSingleQuotedStringElement141, - expr: &oneOrMoreExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - expr: &charClassMatcher{ - pos: position{line: 673, col: 9, offset: 21721}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 663, col: 78, offset: 21377}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 667, col: 25, offset: 21495}, - run: (*parser).callonSingleQuotedStringElement145, - expr: &seqExpr{ - pos: position{line: 667, col: 25, offset: 21495}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 667, col: 25, offset: 21495}, - val: "{counter2:", - ignoreCase: false, - want: "\"{counter2:\"", - }, - &labeledExpr{ - pos: position{line: 667, col: 38, offset: 21508}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonSingleQuotedStringElement149, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 667, col: 57, offset: 21527}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 667, col: 63, offset: 21533}, - expr: &actionExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - run: (*parser).callonSingleQuotedStringElement156, - expr: &seqExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 671, col: 17, offset: 21656}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 671, col: 21, offset: 21660}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - run: (*parser).callonSingleQuotedStringElement161, - expr: &charClassMatcher{ - pos: position{line: 671, col: 28, offset: 21667}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - run: (*parser).callonSingleQuotedStringElement163, - expr: &oneOrMoreExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - expr: &charClassMatcher{ - pos: position{line: 673, col: 9, offset: 21721}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 667, col: 79, offset: 21549}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, + pos: position{line: 663, col: 9, offset: 21096}, + label: "name", + expr: &actionExpr{ + pos: position{line: 336, col: 18, offset: 10325}, + run: (*parser).callonSingleQuotedStringElement122, + expr: &seqExpr{ + pos: position{line: 336, col: 18, offset: 10325}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 336, col: 18, offset: 10325}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, }, - }, - &actionExpr{ - pos: position{line: 656, col: 31, offset: 21077}, - run: (*parser).callonSingleQuotedStringElement167, - expr: &seqExpr{ - pos: position{line: 656, col: 31, offset: 21077}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 656, col: 31, offset: 21077}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - &labeledExpr{ - pos: position{line: 656, col: 35, offset: 21081}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonSingleQuotedStringElement171, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - 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: 54, offset: 21100}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, + &zeroOrMoreExpr{ + pos: position{line: 336, col: 28, offset: 10335}, + expr: &charClassMatcher{ + pos: position{line: 336, col: 29, offset: 10336}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, }, }, }, }, }, }, + &litMatcher{ + pos: position{line: 663, col: 28, offset: 21115}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, }, }, }, &actionExpr{ - pos: position{line: 706, col: 8, offset: 23039}, - run: (*parser).callonSingleQuotedStringElement177, + pos: position{line: 713, col: 8, offset: 23065}, + run: (*parser).callonSingleQuotedStringElement128, expr: &litMatcher{ - pos: position{line: 706, col: 8, offset: 23039}, + pos: position{line: 713, col: 8, offset: 23065}, val: "{", ignoreCase: false, want: "\"{\"", @@ -58076,7 +47478,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 691, col: 79, offset: 22427}, + pos: position{line: 698, col: 79, offset: 22451}, val: ">>", ignoreCase: false, want: "\">>\"", @@ -58085,27 +47487,27 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 693, col: 9, offset: 22500}, - run: (*parser).callonSingleQuotedStringElement180, + pos: position{line: 700, col: 9, offset: 22524}, + run: (*parser).callonSingleQuotedStringElement131, expr: &seqExpr{ - pos: position{line: 693, col: 9, offset: 22500}, + pos: position{line: 700, col: 9, offset: 22524}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 693, col: 9, offset: 22500}, + pos: position{line: 700, col: 9, offset: 22524}, val: "<<", ignoreCase: false, want: "\"<<\"", }, &labeledExpr{ - pos: position{line: 693, col: 14, offset: 22505}, + pos: position{line: 700, col: 14, offset: 22529}, label: "id", expr: &actionExpr{ - pos: position{line: 2913, col: 7, offset: 95667}, - run: (*parser).callonSingleQuotedStringElement184, + pos: position{line: 2823, col: 7, offset: 92821}, + run: (*parser).callonSingleQuotedStringElement135, expr: &oneOrMoreExpr{ - pos: position{line: 2913, col: 7, offset: 95667}, + pos: position{line: 2823, col: 7, offset: 92821}, expr: &charClassMatcher{ - pos: position{line: 2913, col: 7, offset: 95667}, + pos: position{line: 2823, col: 7, offset: 92821}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -58115,7 +47517,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 693, col: 22, offset: 22513}, + pos: position{line: 700, col: 22, offset: 22537}, val: ">>", ignoreCase: false, want: "\">>\"", @@ -58127,10 +47529,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2646, col: 11, offset: 87365}, - run: (*parser).callonSingleQuotedStringElement188, + pos: position{line: 2547, col: 11, offset: 84124}, + run: (*parser).callonSingleQuotedStringElement139, expr: &charClassMatcher{ - pos: position{line: 2646, col: 12, offset: 87366}, + pos: position{line: 2547, col: 12, offset: 84125}, val: "[<>&]", chars: []rune{'<', '>', '&'}, ignoreCase: false, @@ -58144,35 +47546,35 @@ var g = &grammar{ }, }, &ruleRefExpr{ - pos: position{line: 2323, col: 11, offset: 77529}, + pos: position{line: 2330, col: 11, offset: 77613}, name: "InlineMacro", }, &seqExpr{ - pos: position{line: 2324, col: 11, offset: 77551}, + pos: position{line: 2331, col: 11, offset: 77635}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 1093, col: 5, offset: 34120}, - run: (*parser).callonSingleQuotedStringElement192, + pos: position{line: 1100, col: 5, offset: 34146}, + run: (*parser).callonSingleQuotedStringElement143, expr: &seqExpr{ - pos: position{line: 1093, col: 5, offset: 34120}, + pos: position{line: 1100, col: 5, offset: 34146}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 1093, col: 5, offset: 34120}, - run: (*parser).callonSingleQuotedStringElement194, + pos: position{line: 1100, col: 5, offset: 34146}, + run: (*parser).callonSingleQuotedStringElement145, }, &litMatcher{ - pos: position{line: 1096, col: 5, offset: 34177}, + pos: position{line: 1103, col: 5, offset: 34248}, val: "+", ignoreCase: false, want: "\"+\"", }, &zeroOrMoreExpr{ - pos: position{line: 1096, col: 9, offset: 34181}, + pos: position{line: 1103, col: 9, offset: 34252}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, - run: (*parser).callonSingleQuotedStringElement197, + pos: position{line: 2838, col: 10, offset: 93169}, + run: (*parser).callonSingleQuotedStringElement148, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -58181,30 +47583,30 @@ var g = &grammar{ }, }, &andExpr{ - pos: position{line: 1096, col: 16, offset: 34188}, + pos: position{line: 1103, col: 16, offset: 34259}, expr: &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, - run: (*parser).callonSingleQuotedStringElement201, + pos: position{line: 2847, col: 12, offset: 93353}, + run: (*parser).callonSingleQuotedStringElement152, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -58213,9 +47615,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -58225,9 +47627,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2324, col: 21, offset: 77561}, + pos: position{line: 2331, col: 21, offset: 77645}, expr: &litMatcher{ - pos: position{line: 2308, col: 25, offset: 77053}, + pos: position{line: 2315, col: 25, offset: 77140}, val: "`'", ignoreCase: false, want: "\"`'\"", @@ -58236,63 +47638,63 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2671, col: 15, offset: 88333}, - run: (*parser).callonSingleQuotedStringElement210, + pos: position{line: 2572, col: 15, offset: 85092}, + run: (*parser).callonSingleQuotedStringElement161, expr: &litMatcher{ - pos: position{line: 2671, col: 15, offset: 88333}, + pos: position{line: 2572, col: 15, offset: 85092}, val: "`'", ignoreCase: false, want: "\"`'\"", }, }, &actionExpr{ - pos: position{line: 2677, col: 14, offset: 88448}, - run: (*parser).callonSingleQuotedStringElement212, + pos: position{line: 2578, col: 14, offset: 85207}, + run: (*parser).callonSingleQuotedStringElement163, expr: &litMatcher{ - pos: position{line: 2677, col: 14, offset: 88448}, + pos: position{line: 2578, col: 14, offset: 85207}, val: "(C)", ignoreCase: false, want: "\"(C)\"", }, }, &actionExpr{ - pos: position{line: 2681, col: 14, offset: 88524}, - run: (*parser).callonSingleQuotedStringElement214, + pos: position{line: 2582, col: 14, offset: 85283}, + run: (*parser).callonSingleQuotedStringElement165, expr: &litMatcher{ - pos: position{line: 2681, col: 14, offset: 88524}, + pos: position{line: 2582, col: 14, offset: 85283}, val: "(TM)", ignoreCase: false, want: "\"(TM)\"", }, }, &actionExpr{ - pos: position{line: 2685, col: 15, offset: 88602}, - run: (*parser).callonSingleQuotedStringElement216, + pos: position{line: 2586, col: 15, offset: 85361}, + run: (*parser).callonSingleQuotedStringElement167, expr: &litMatcher{ - pos: position{line: 2685, col: 15, offset: 88602}, + pos: position{line: 2586, col: 15, offset: 85361}, val: "(R)", ignoreCase: false, want: "\"(R)\"", }, }, &actionExpr{ - pos: position{line: 2689, col: 13, offset: 88677}, - run: (*parser).callonSingleQuotedStringElement218, + pos: position{line: 2590, col: 13, offset: 85436}, + run: (*parser).callonSingleQuotedStringElement169, expr: &litMatcher{ - pos: position{line: 2689, col: 13, offset: 88677}, + pos: position{line: 2590, col: 13, offset: 85436}, val: "...", ignoreCase: false, want: "\"...\"", }, }, &actionExpr{ - pos: position{line: 2697, col: 22, offset: 88983}, - run: (*parser).callonSingleQuotedStringElement220, + pos: position{line: 2598, col: 22, offset: 85742}, + run: (*parser).callonSingleQuotedStringElement171, expr: &seqExpr{ - pos: position{line: 2697, col: 22, offset: 88983}, + pos: position{line: 2598, col: 22, offset: 85742}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 2852, col: 13, offset: 93681}, + pos: position{line: 2753, col: 13, offset: 90440}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -58300,15 +47702,15 @@ var g = &grammar{ inverted: false, }, &litMatcher{ - pos: position{line: 2697, col: 31, offset: 88992}, + pos: position{line: 2598, col: 31, offset: 85751}, val: "'", ignoreCase: false, want: "\"'\"", }, &andExpr{ - pos: position{line: 2697, col: 35, offset: 88996}, + pos: position{line: 2598, col: 35, offset: 85755}, expr: &charClassMatcher{ - pos: position{line: 2697, col: 36, offset: 88997}, + pos: position{line: 2598, col: 36, offset: 85756}, val: "[\\pL]", classes: []*unicode.RangeTable{rangeTable("L")}, ignoreCase: false, @@ -58319,36 +47721,36 @@ var g = &grammar{ }, }, &ruleRefExpr{ - pos: position{line: 2326, col: 11, offset: 77610}, + pos: position{line: 2333, col: 11, offset: 77694}, name: "QuotedTextInSingleQuotedString", }, &ruleRefExpr{ - pos: position{line: 2327, col: 11, offset: 77651}, + pos: position{line: 2334, col: 11, offset: 77735}, name: "DoubleQuotedString", }, &charClassMatcher{ - pos: position{line: 2345, col: 41, offset: 78169}, + pos: position{line: 2352, col: 41, offset: 78253}, val: "[^\\r\\n\\t `]", chars: []rune{'\r', '\n', '\t', ' ', '`'}, ignoreCase: false, inverted: true, }, &actionExpr{ - pos: position{line: 2345, col: 55, offset: 78183}, - run: (*parser).callonSingleQuotedStringElement229, + pos: position{line: 2352, col: 55, offset: 78267}, + run: (*parser).callonSingleQuotedStringElement180, expr: &seqExpr{ - pos: position{line: 2345, col: 55, offset: 78183}, + pos: position{line: 2352, col: 55, offset: 78267}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2345, col: 55, offset: 78183}, + pos: position{line: 2352, col: 55, offset: 78267}, val: "`", ignoreCase: false, want: "\"`\"", }, ¬Expr{ - pos: position{line: 2345, col: 59, offset: 78187}, + pos: position{line: 2352, col: 59, offset: 78271}, expr: &litMatcher{ - pos: position{line: 2345, col: 60, offset: 78188}, + pos: position{line: 2352, col: 60, offset: 78272}, val: "'", ignoreCase: false, want: "\"'\"", @@ -58366,58 +47768,58 @@ var g = &grammar{ }, { name: "QuotedTextInSingleQuotedString", - pos: position{line: 2334, col: 1, offset: 77795}, + pos: position{line: 2341, col: 1, offset: 77879}, expr: &actionExpr{ - pos: position{line: 2335, col: 5, offset: 77833}, + pos: position{line: 2342, col: 5, offset: 77917}, run: (*parser).callonQuotedTextInSingleQuotedString1, expr: &seqExpr{ - pos: position{line: 2335, col: 5, offset: 77833}, + pos: position{line: 2342, col: 5, offset: 77917}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 2335, col: 5, offset: 77833}, + pos: position{line: 2342, col: 5, offset: 77917}, label: "attributes", expr: &zeroOrOneExpr{ - pos: position{line: 2335, col: 16, offset: 77844}, + pos: position{line: 2342, col: 16, offset: 77928}, expr: &ruleRefExpr{ - pos: position{line: 2335, col: 17, offset: 77845}, + pos: position{line: 2342, col: 17, offset: 77929}, name: "LongHandAttributes", }, }, }, &labeledExpr{ - pos: position{line: 2336, col: 5, offset: 77871}, + pos: position{line: 2343, col: 5, offset: 77955}, label: "text", expr: &choiceExpr{ - pos: position{line: 2336, col: 11, offset: 77877}, + pos: position{line: 2343, col: 11, offset: 77961}, alternatives: []interface{}{ &ruleRefExpr{ - pos: position{line: 2336, col: 11, offset: 77877}, + pos: position{line: 2343, col: 11, offset: 77961}, name: "BoldText", }, &ruleRefExpr{ - pos: position{line: 2337, col: 11, offset: 77896}, + pos: position{line: 2344, col: 11, offset: 77980}, name: "ItalicText", }, &actionExpr{ - pos: position{line: 2338, col: 12, offset: 77918}, + pos: position{line: 2345, col: 12, offset: 78002}, run: (*parser).callonQuotedTextInSingleQuotedString10, expr: &seqExpr{ - pos: position{line: 2338, col: 12, offset: 77918}, + pos: position{line: 2345, col: 12, offset: 78002}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 2338, col: 12, offset: 77918}, + pos: position{line: 2345, col: 12, offset: 78002}, expr: &litMatcher{ - pos: position{line: 2338, col: 13, offset: 77919}, + pos: position{line: 2345, col: 13, offset: 78003}, val: "`'", ignoreCase: false, want: "\"`'\"", }, }, &labeledExpr{ - pos: position{line: 2338, col: 18, offset: 77924}, + pos: position{line: 2345, col: 18, offset: 78008}, label: "element", expr: &ruleRefExpr{ - pos: position{line: 2338, col: 27, offset: 77933}, + pos: position{line: 2345, col: 27, offset: 78017}, name: "MonospaceText", }, }, @@ -58425,15 +47827,15 @@ var g = &grammar{ }, }, &ruleRefExpr{ - pos: position{line: 2339, col: 11, offset: 77982}, + pos: position{line: 2346, col: 11, offset: 78066}, name: "SubscriptText", }, &ruleRefExpr{ - pos: position{line: 2340, col: 11, offset: 78006}, + pos: position{line: 2347, col: 11, offset: 78090}, name: "SuperscriptText", }, &ruleRefExpr{ - pos: position{line: 2341, col: 11, offset: 78032}, + pos: position{line: 2348, col: 11, offset: 78116}, name: "MarkedText", }, }, @@ -58445,23 +47847,23 @@ var g = &grammar{ }, { name: "DoubleQuotedString", - pos: position{line: 2349, col: 1, offset: 78260}, + pos: position{line: 2356, col: 1, offset: 78344}, expr: &actionExpr{ - pos: position{line: 2349, col: 23, offset: 78282}, + pos: position{line: 2356, col: 23, offset: 78366}, run: (*parser).callonDoubleQuotedString1, expr: &seqExpr{ - pos: position{line: 2349, col: 23, offset: 78282}, + pos: position{line: 2356, col: 23, offset: 78366}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2388, col: 27, offset: 79588}, + pos: position{line: 2395, col: 27, offset: 79669}, val: "\"`", ignoreCase: false, want: "\"\\\"`\"", }, ¬Expr{ - pos: position{line: 2388, col: 33, offset: 79594}, + pos: position{line: 2395, col: 33, offset: 79675}, expr: &charClassMatcher{ - pos: position{line: 2388, col: 34, offset: 79595}, + pos: position{line: 2395, col: 34, offset: 79676}, val: "[ \\t\\r\\n]", chars: []rune{' ', '\t', '\r', '\n'}, ignoreCase: false, @@ -58469,15 +47871,15 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 2349, col: 46, offset: 78305}, + pos: position{line: 2356, col: 46, offset: 78389}, label: "elements", expr: &ruleRefExpr{ - pos: position{line: 2349, col: 55, offset: 78314}, + pos: position{line: 2356, col: 55, offset: 78398}, name: "DoubleQuotedStringElements", }, }, &litMatcher{ - pos: position{line: 2390, col: 25, offset: 79630}, + pos: position{line: 2397, col: 25, offset: 79711}, val: "`\"", ignoreCase: false, want: "\"`\\\"\"", @@ -58488,17 +47890,17 @@ var g = &grammar{ }, { name: "DoubleQuotedStringElements", - pos: position{line: 2353, col: 1, offset: 78453}, + pos: position{line: 2360, col: 1, offset: 78537}, expr: &actionExpr{ - pos: position{line: 2353, col: 31, offset: 78483}, + pos: position{line: 2360, col: 31, offset: 78567}, run: (*parser).callonDoubleQuotedStringElements1, expr: &labeledExpr{ - pos: position{line: 2353, col: 31, offset: 78483}, + pos: position{line: 2360, col: 31, offset: 78567}, label: "elements", expr: &oneOrMoreExpr{ - pos: position{line: 2353, col: 41, offset: 78493}, + pos: position{line: 2360, col: 41, offset: 78577}, expr: &ruleRefExpr{ - pos: position{line: 2353, col: 41, offset: 78493}, + pos: position{line: 2360, col: 41, offset: 78577}, name: "DoubleQuotedStringElement", }, }, @@ -58507,38 +47909,38 @@ var g = &grammar{ }, { name: "DoubleQuotedStringElement", - pos: position{line: 2359, col: 1, offset: 78698}, + pos: position{line: 2366, col: 1, offset: 78782}, expr: &actionExpr{ - pos: position{line: 2360, col: 5, offset: 78732}, + pos: position{line: 2367, col: 5, offset: 78816}, run: (*parser).callonDoubleQuotedStringElement1, expr: &seqExpr{ - pos: position{line: 2360, col: 5, offset: 78732}, + pos: position{line: 2367, col: 5, offset: 78816}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 2360, col: 5, offset: 78732}, + pos: position{line: 2367, col: 5, offset: 78816}, expr: &litMatcher{ - pos: position{line: 2390, col: 25, offset: 79630}, + pos: position{line: 2397, col: 25, offset: 79711}, val: "`\"", ignoreCase: false, want: "\"`\\\"\"", }, }, &labeledExpr{ - pos: position{line: 2361, col: 5, offset: 78758}, + pos: position{line: 2368, col: 5, offset: 78842}, label: "element", expr: &choiceExpr{ - pos: position{line: 2362, col: 9, offset: 78776}, + pos: position{line: 2369, col: 9, offset: 78860}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2310, col: 21, offset: 77079}, + pos: position{line: 2317, col: 21, offset: 77166}, run: (*parser).callonDoubleQuotedStringElement7, expr: &seqExpr{ - pos: position{line: 2310, col: 21, offset: 77079}, + pos: position{line: 2317, col: 21, offset: 77166}, exprs: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 2310, col: 21, offset: 77079}, + pos: position{line: 2317, col: 21, offset: 77166}, expr: &charClassMatcher{ - pos: position{line: 2310, col: 21, offset: 77079}, + pos: position{line: 2317, col: 21, offset: 77166}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -58547,15 +47949,15 @@ var g = &grammar{ }, }, &andExpr{ - pos: position{line: 2310, col: 31, offset: 77089}, + pos: position{line: 2317, col: 31, offset: 77176}, expr: &choiceExpr{ - pos: position{line: 2310, col: 33, offset: 77091}, + pos: position{line: 2317, col: 33, offset: 77178}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonDoubleQuotedStringElement13, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -58563,7 +47965,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 2308, col: 25, offset: 77053}, + pos: position{line: 2315, col: 25, offset: 77140}, val: "`'", ignoreCase: false, want: "\"`'\"", @@ -58575,13 +47977,13 @@ var g = &grammar{ }, }, &seqExpr{ - pos: position{line: 2363, col: 11, offset: 78803}, + pos: position{line: 2370, col: 11, offset: 78887}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonDoubleQuotedStringElement17, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -58589,9 +47991,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2363, col: 17, offset: 78809}, + pos: position{line: 2370, col: 17, offset: 78893}, expr: &litMatcher{ - pos: position{line: 2390, col: 25, offset: 79630}, + pos: position{line: 2397, col: 25, offset: 79711}, val: "`\"", ignoreCase: false, want: "\"`\\\"\"", @@ -58600,28 +48002,28 @@ var g = &grammar{ }, }, &seqExpr{ - pos: position{line: 2364, col: 11, offset: 78841}, + pos: position{line: 2371, col: 11, offset: 78925}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonDoubleQuotedStringElement22, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -58630,27 +48032,27 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2364, col: 19, offset: 78849}, + pos: position{line: 2371, col: 19, offset: 78933}, expr: &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonDoubleQuotedStringElement28, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -58662,31 +48064,31 @@ var g = &grammar{ }, }, &seqExpr{ - pos: position{line: 2365, col: 11, offset: 78902}, + pos: position{line: 2372, col: 11, offset: 78986}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 1093, col: 5, offset: 34120}, + pos: position{line: 1100, col: 5, offset: 34146}, run: (*parser).callonDoubleQuotedStringElement34, expr: &seqExpr{ - pos: position{line: 1093, col: 5, offset: 34120}, + pos: position{line: 1100, col: 5, offset: 34146}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 1093, col: 5, offset: 34120}, + pos: position{line: 1100, col: 5, offset: 34146}, run: (*parser).callonDoubleQuotedStringElement36, }, &litMatcher{ - pos: position{line: 1096, col: 5, offset: 34177}, + pos: position{line: 1103, col: 5, offset: 34248}, val: "+", ignoreCase: false, want: "\"+\"", }, &zeroOrMoreExpr{ - pos: position{line: 1096, col: 9, offset: 34181}, + pos: position{line: 1103, col: 9, offset: 34252}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonDoubleQuotedStringElement39, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -58695,30 +48097,30 @@ var g = &grammar{ }, }, &andExpr{ - pos: position{line: 1096, col: 16, offset: 34188}, + pos: position{line: 1103, col: 16, offset: 34259}, expr: &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2854, col: 8, offset: 93493}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, + pos: position{line: 2847, col: 12, offset: 93353}, run: (*parser).callonDoubleQuotedStringElement43, expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, + pos: position{line: 2847, col: 13, offset: 93354}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, + pos: position{line: 2847, col: 20, offset: 93361}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, + pos: position{line: 2847, col: 29, offset: 93370}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -58727,9 +48129,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -58739,9 +48141,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2365, col: 21, offset: 78912}, + pos: position{line: 2372, col: 21, offset: 78996}, expr: &litMatcher{ - pos: position{line: 2308, col: 25, offset: 77053}, + pos: position{line: 2315, col: 25, offset: 77140}, val: "`'", ignoreCase: false, want: "\"`'\"", @@ -58750,44 +48152,44 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 649, col: 5, offset: 20887}, + pos: position{line: 655, col: 5, offset: 20901}, run: (*parser).callonDoubleQuotedStringElement52, expr: &seqExpr{ - pos: position{line: 649, col: 5, offset: 20887}, + pos: position{line: 655, col: 5, offset: 20901}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 649, col: 5, offset: 20887}, + pos: position{line: 655, col: 5, offset: 20901}, run: (*parser).callonDoubleQuotedStringElement54, }, &labeledExpr{ - pos: position{line: 652, col: 5, offset: 20951}, + pos: position{line: 658, col: 5, offset: 20970}, label: "element", expr: &choiceExpr{ - pos: position{line: 652, col: 14, offset: 20960}, + pos: position{line: 658, col: 14, offset: 20979}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 663, col: 25, offset: 21324}, + pos: position{line: 670, col: 25, offset: 21348}, run: (*parser).callonDoubleQuotedStringElement57, expr: &seqExpr{ - pos: position{line: 663, col: 25, offset: 21324}, + pos: position{line: 670, col: 25, offset: 21348}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 663, col: 25, offset: 21324}, + pos: position{line: 670, col: 25, offset: 21348}, val: "{counter:", ignoreCase: false, want: "\"{counter:\"", }, &labeledExpr{ - pos: position{line: 663, col: 37, offset: 21336}, + pos: position{line: 670, col: 37, offset: 21360}, label: "name", expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, run: (*parser).callonDoubleQuotedStringElement61, expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -58796,9 +48198,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, + pos: position{line: 336, col: 28, offset: 10335}, expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, + pos: position{line: 336, col: 29, offset: 10336}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -58812,33 +48214,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 663, col: 56, offset: 21355}, + pos: position{line: 670, col: 56, offset: 21379}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 663, col: 62, offset: 21361}, + pos: position{line: 670, col: 62, offset: 21385}, expr: &actionExpr{ - pos: position{line: 671, col: 17, offset: 21656}, + pos: position{line: 678, col: 17, offset: 21680}, run: (*parser).callonDoubleQuotedStringElement68, expr: &seqExpr{ - pos: position{line: 671, col: 17, offset: 21656}, + pos: position{line: 678, col: 17, offset: 21680}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 671, col: 17, offset: 21656}, + pos: position{line: 678, col: 17, offset: 21680}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 671, col: 21, offset: 21660}, + pos: position{line: 678, col: 21, offset: 21684}, label: "start", expr: &choiceExpr{ - pos: position{line: 671, col: 28, offset: 21667}, + pos: position{line: 678, col: 28, offset: 21691}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 671, col: 28, offset: 21667}, + pos: position{line: 678, col: 28, offset: 21691}, run: (*parser).callonDoubleQuotedStringElement73, expr: &charClassMatcher{ - pos: position{line: 671, col: 28, offset: 21667}, + pos: position{line: 678, col: 28, offset: 21691}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -58846,12 +48248,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 673, col: 9, offset: 21721}, + pos: position{line: 680, col: 9, offset: 21745}, run: (*parser).callonDoubleQuotedStringElement75, expr: &oneOrMoreExpr{ - pos: position{line: 673, col: 9, offset: 21721}, + pos: position{line: 680, col: 9, offset: 21745}, expr: &charClassMatcher{ - pos: position{line: 673, col: 9, offset: 21721}, + pos: position{line: 680, col: 9, offset: 21745}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -58868,7 +48270,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 663, col: 78, offset: 21377}, + pos: position{line: 670, col: 78, offset: 21401}, val: "}", ignoreCase: false, want: "\"}\"", @@ -58877,28 +48279,28 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 667, col: 25, offset: 21495}, + pos: position{line: 674, col: 25, offset: 21519}, run: (*parser).callonDoubleQuotedStringElement79, expr: &seqExpr{ - pos: position{line: 667, col: 25, offset: 21495}, + pos: position{line: 674, col: 25, offset: 21519}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 667, col: 25, offset: 21495}, + pos: position{line: 674, col: 25, offset: 21519}, val: "{counter2:", ignoreCase: false, want: "\"{counter2:\"", }, &labeledExpr{ - pos: position{line: 667, col: 38, offset: 21508}, + pos: position{line: 674, col: 38, offset: 21532}, label: "name", expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, run: (*parser).callonDoubleQuotedStringElement83, expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -58907,9 +48309,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, + pos: position{line: 336, col: 28, offset: 10335}, expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, + pos: position{line: 336, col: 29, offset: 10336}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -58923,33 +48325,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 667, col: 57, offset: 21527}, + pos: position{line: 674, col: 57, offset: 21551}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 667, col: 63, offset: 21533}, + pos: position{line: 674, col: 63, offset: 21557}, expr: &actionExpr{ - pos: position{line: 671, col: 17, offset: 21656}, + pos: position{line: 678, col: 17, offset: 21680}, run: (*parser).callonDoubleQuotedStringElement90, expr: &seqExpr{ - pos: position{line: 671, col: 17, offset: 21656}, + pos: position{line: 678, col: 17, offset: 21680}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 671, col: 17, offset: 21656}, + pos: position{line: 678, col: 17, offset: 21680}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 671, col: 21, offset: 21660}, + pos: position{line: 678, col: 21, offset: 21684}, label: "start", expr: &choiceExpr{ - pos: position{line: 671, col: 28, offset: 21667}, + pos: position{line: 678, col: 28, offset: 21691}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 671, col: 28, offset: 21667}, + pos: position{line: 678, col: 28, offset: 21691}, run: (*parser).callonDoubleQuotedStringElement95, expr: &charClassMatcher{ - pos: position{line: 671, col: 28, offset: 21667}, + pos: position{line: 678, col: 28, offset: 21691}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -58957,12 +48359,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 673, col: 9, offset: 21721}, + pos: position{line: 680, col: 9, offset: 21745}, run: (*parser).callonDoubleQuotedStringElement97, expr: &oneOrMoreExpr{ - pos: position{line: 673, col: 9, offset: 21721}, + pos: position{line: 680, col: 9, offset: 21745}, expr: &charClassMatcher{ - pos: position{line: 673, col: 9, offset: 21721}, + pos: position{line: 680, col: 9, offset: 21745}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -58979,7 +48381,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 667, col: 79, offset: 21549}, + pos: position{line: 674, col: 79, offset: 21573}, val: "}", ignoreCase: false, want: "\"}\"", @@ -58988,28 +48390,28 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 656, col: 31, offset: 21077}, + pos: position{line: 663, col: 5, offset: 21092}, run: (*parser).callonDoubleQuotedStringElement101, expr: &seqExpr{ - pos: position{line: 656, col: 31, offset: 21077}, + pos: position{line: 663, col: 5, offset: 21092}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 656, col: 31, offset: 21077}, + pos: position{line: 663, col: 5, offset: 21092}, val: "{", ignoreCase: false, want: "\"{\"", }, &labeledExpr{ - pos: position{line: 656, col: 35, offset: 21081}, + pos: position{line: 663, col: 9, offset: 21096}, label: "name", expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, run: (*parser).callonDoubleQuotedStringElement105, expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -59018,9 +48420,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, + pos: position{line: 336, col: 28, offset: 10335}, expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, + pos: position{line: 336, col: 29, offset: 10336}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -59034,7 +48436,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 656, col: 54, offset: 21100}, + pos: position{line: 663, col: 28, offset: 21115}, val: "}", ignoreCase: false, want: "\"}\"", @@ -59049,49 +48451,49 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2638, col: 5, offset: 87092}, + pos: position{line: 2539, col: 5, offset: 83846}, run: (*parser).callonDoubleQuotedStringElement111, expr: &seqExpr{ - pos: position{line: 2638, col: 5, offset: 87092}, + pos: position{line: 2539, col: 5, offset: 83846}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 2638, col: 5, offset: 87092}, + pos: position{line: 2539, col: 5, offset: 83846}, run: (*parser).callonDoubleQuotedStringElement113, }, &labeledExpr{ - pos: position{line: 2641, col: 5, offset: 87163}, + pos: position{line: 2542, col: 5, offset: 83922}, label: "element", expr: &choiceExpr{ - pos: position{line: 2643, col: 9, offset: 87261}, + pos: position{line: 2544, col: 9, offset: 84020}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2643, col: 9, offset: 87261}, + pos: position{line: 2544, col: 9, offset: 84020}, run: (*parser).callonDoubleQuotedStringElement116, expr: &choiceExpr{ - pos: position{line: 691, col: 27, offset: 22375}, + pos: position{line: 698, col: 27, offset: 22399}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 691, col: 27, offset: 22375}, + pos: position{line: 698, col: 27, offset: 22399}, run: (*parser).callonDoubleQuotedStringElement118, expr: &seqExpr{ - pos: position{line: 691, col: 27, offset: 22375}, + pos: position{line: 698, col: 27, offset: 22399}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 691, col: 27, offset: 22375}, + pos: position{line: 698, col: 27, offset: 22399}, val: "<<", ignoreCase: false, want: "\"<<\"", }, &labeledExpr{ - pos: position{line: 691, col: 32, offset: 22380}, + pos: position{line: 698, col: 32, offset: 22404}, label: "id", expr: &actionExpr{ - pos: position{line: 2913, col: 7, offset: 95667}, + pos: position{line: 2823, col: 7, offset: 92821}, run: (*parser).callonDoubleQuotedStringElement122, expr: &oneOrMoreExpr{ - pos: position{line: 2913, col: 7, offset: 95667}, + pos: position{line: 2823, col: 7, offset: 92821}, expr: &charClassMatcher{ - pos: position{line: 2913, col: 7, offset: 95667}, + pos: position{line: 2823, col: 7, offset: 92821}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -59101,12 +48503,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 691, col: 40, offset: 22388}, + pos: position{line: 698, col: 40, offset: 22412}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonDoubleQuotedStringElement126, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -59115,27 +48517,27 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 691, col: 47, offset: 22395}, + pos: position{line: 698, col: 47, offset: 22419}, val: ",", ignoreCase: false, want: "\",\"", }, &labeledExpr{ - pos: position{line: 691, col: 51, offset: 22399}, + pos: position{line: 698, col: 51, offset: 22423}, label: "label", expr: &oneOrMoreExpr{ - pos: position{line: 701, col: 24, offset: 22800}, + pos: position{line: 708, col: 24, offset: 22824}, expr: &choiceExpr{ - pos: position{line: 702, col: 5, offset: 22806}, + pos: position{line: 709, col: 5, offset: 22830}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 702, col: 6, offset: 22807}, + pos: position{line: 709, col: 6, offset: 22831}, run: (*parser).callonDoubleQuotedStringElement132, expr: &seqExpr{ - pos: position{line: 702, col: 6, offset: 22807}, + pos: position{line: 709, col: 6, offset: 22831}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 702, col: 6, offset: 22807}, + pos: position{line: 709, col: 6, offset: 22831}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -59143,9 +48545,9 @@ var g = &grammar{ inverted: false, }, &oneOrMoreExpr{ - pos: position{line: 702, col: 14, offset: 22815}, + pos: position{line: 709, col: 14, offset: 22839}, expr: &charClassMatcher{ - pos: position{line: 702, col: 14, offset: 22815}, + pos: position{line: 709, col: 14, offset: 22839}, val: "[^\\r\\n{<>]", chars: []rune{'\r', '\n', '{', '<', '>'}, ignoreCase: false, @@ -59156,309 +48558,65 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 649, col: 5, offset: 20887}, + pos: position{line: 663, col: 5, offset: 21092}, run: (*parser).callonDoubleQuotedStringElement137, expr: &seqExpr{ - pos: position{line: 649, col: 5, offset: 20887}, + pos: position{line: 663, col: 5, offset: 21092}, exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 649, col: 5, offset: 20887}, - run: (*parser).callonDoubleQuotedStringElement139, + &litMatcher{ + pos: position{line: 663, col: 5, offset: 21092}, + val: "{", + ignoreCase: false, + want: "\"{\"", }, &labeledExpr{ - pos: position{line: 652, col: 5, offset: 20951}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 652, col: 14, offset: 20960}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 663, col: 25, offset: 21324}, - run: (*parser).callonDoubleQuotedStringElement142, - expr: &seqExpr{ - pos: position{line: 663, col: 25, offset: 21324}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 663, col: 25, offset: 21324}, - val: "{counter:", - ignoreCase: false, - want: "\"{counter:\"", - }, - &labeledExpr{ - pos: position{line: 663, col: 37, offset: 21336}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonDoubleQuotedStringElement146, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 663, col: 56, offset: 21355}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 663, col: 62, offset: 21361}, - expr: &actionExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - run: (*parser).callonDoubleQuotedStringElement153, - expr: &seqExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 671, col: 17, offset: 21656}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 671, col: 21, offset: 21660}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - run: (*parser).callonDoubleQuotedStringElement158, - expr: &charClassMatcher{ - pos: position{line: 671, col: 28, offset: 21667}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - run: (*parser).callonDoubleQuotedStringElement160, - expr: &oneOrMoreExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - expr: &charClassMatcher{ - pos: position{line: 673, col: 9, offset: 21721}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 663, col: 78, offset: 21377}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 667, col: 25, offset: 21495}, - run: (*parser).callonDoubleQuotedStringElement164, - expr: &seqExpr{ - pos: position{line: 667, col: 25, offset: 21495}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 667, col: 25, offset: 21495}, - val: "{counter2:", - ignoreCase: false, - want: "\"{counter2:\"", - }, - &labeledExpr{ - pos: position{line: 667, col: 38, offset: 21508}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonDoubleQuotedStringElement168, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 667, col: 57, offset: 21527}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 667, col: 63, offset: 21533}, - expr: &actionExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - run: (*parser).callonDoubleQuotedStringElement175, - expr: &seqExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 671, col: 17, offset: 21656}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 671, col: 21, offset: 21660}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - run: (*parser).callonDoubleQuotedStringElement180, - expr: &charClassMatcher{ - pos: position{line: 671, col: 28, offset: 21667}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - run: (*parser).callonDoubleQuotedStringElement182, - expr: &oneOrMoreExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - expr: &charClassMatcher{ - pos: position{line: 673, col: 9, offset: 21721}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 667, col: 79, offset: 21549}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, + pos: position{line: 663, col: 9, offset: 21096}, + label: "name", + expr: &actionExpr{ + pos: position{line: 336, col: 18, offset: 10325}, + run: (*parser).callonDoubleQuotedStringElement141, + expr: &seqExpr{ + pos: position{line: 336, col: 18, offset: 10325}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 336, col: 18, offset: 10325}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, }, - }, - &actionExpr{ - pos: position{line: 656, col: 31, offset: 21077}, - run: (*parser).callonDoubleQuotedStringElement186, - expr: &seqExpr{ - pos: position{line: 656, col: 31, offset: 21077}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 656, col: 31, offset: 21077}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - &labeledExpr{ - pos: position{line: 656, col: 35, offset: 21081}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonDoubleQuotedStringElement190, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - 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: 54, offset: 21100}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, + &zeroOrMoreExpr{ + pos: position{line: 336, col: 28, offset: 10335}, + expr: &charClassMatcher{ + pos: position{line: 336, col: 29, offset: 10336}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, }, }, }, }, }, }, + &litMatcher{ + pos: position{line: 663, col: 28, offset: 21115}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, }, }, }, &actionExpr{ - pos: position{line: 706, col: 8, offset: 23039}, - run: (*parser).callonDoubleQuotedStringElement196, + pos: position{line: 713, col: 8, offset: 23065}, + run: (*parser).callonDoubleQuotedStringElement147, expr: &litMatcher{ - pos: position{line: 706, col: 8, offset: 23039}, + pos: position{line: 713, col: 8, offset: 23065}, val: "{", ignoreCase: false, want: "\"{\"", @@ -59469,7 +48627,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 691, col: 79, offset: 22427}, + pos: position{line: 698, col: 79, offset: 22451}, val: ">>", ignoreCase: false, want: "\">>\"", @@ -59478,27 +48636,27 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 693, col: 9, offset: 22500}, - run: (*parser).callonDoubleQuotedStringElement199, + pos: position{line: 700, col: 9, offset: 22524}, + run: (*parser).callonDoubleQuotedStringElement150, expr: &seqExpr{ - pos: position{line: 693, col: 9, offset: 22500}, + pos: position{line: 700, col: 9, offset: 22524}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 693, col: 9, offset: 22500}, + pos: position{line: 700, col: 9, offset: 22524}, val: "<<", ignoreCase: false, want: "\"<<\"", }, &labeledExpr{ - pos: position{line: 693, col: 14, offset: 22505}, + pos: position{line: 700, col: 14, offset: 22529}, label: "id", expr: &actionExpr{ - pos: position{line: 2913, col: 7, offset: 95667}, - run: (*parser).callonDoubleQuotedStringElement203, + pos: position{line: 2823, col: 7, offset: 92821}, + run: (*parser).callonDoubleQuotedStringElement154, expr: &oneOrMoreExpr{ - pos: position{line: 2913, col: 7, offset: 95667}, + pos: position{line: 2823, col: 7, offset: 92821}, expr: &charClassMatcher{ - pos: position{line: 2913, col: 7, offset: 95667}, + pos: position{line: 2823, col: 7, offset: 92821}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -59508,7 +48666,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 693, col: 22, offset: 22513}, + pos: position{line: 700, col: 22, offset: 22537}, val: ">>", ignoreCase: false, want: "\">>\"", @@ -59520,10 +48678,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2646, col: 11, offset: 87365}, - run: (*parser).callonDoubleQuotedStringElement207, + pos: position{line: 2547, col: 11, offset: 84124}, + run: (*parser).callonDoubleQuotedStringElement158, expr: &charClassMatcher{ - pos: position{line: 2646, col: 12, offset: 87366}, + pos: position{line: 2547, col: 12, offset: 84125}, val: "[<>&]", chars: []rune{'<', '>', '&'}, ignoreCase: false, @@ -59537,43 +48695,43 @@ var g = &grammar{ }, }, &ruleRefExpr{ - pos: position{line: 2368, col: 11, offset: 79004}, + pos: position{line: 2375, col: 11, offset: 79085}, name: "InlineMacro", }, &ruleRefExpr{ - pos: position{line: 2369, col: 11, offset: 79026}, + pos: position{line: 2376, col: 11, offset: 79107}, name: "QuotedTextInDoubleQuotedString", }, &ruleRefExpr{ - pos: position{line: 2370, col: 11, offset: 79067}, + pos: position{line: 2377, col: 11, offset: 79148}, name: "SingleQuotedString", }, &actionExpr{ - pos: position{line: 2392, col: 41, offset: 79677}, - run: (*parser).callonDoubleQuotedStringElement212, + pos: position{line: 2399, col: 41, offset: 79758}, + run: (*parser).callonDoubleQuotedStringElement163, expr: &choiceExpr{ - pos: position{line: 2392, col: 42, offset: 79678}, + pos: position{line: 2399, col: 42, offset: 79759}, alternatives: []interface{}{ &charClassMatcher{ - pos: position{line: 2392, col: 42, offset: 79678}, + pos: position{line: 2399, col: 42, offset: 79759}, val: "[^\\r\\n\\t `]", chars: []rune{'\r', '\n', '\t', ' ', '`'}, ignoreCase: false, inverted: true, }, &seqExpr{ - pos: position{line: 2392, col: 56, offset: 79692}, + pos: position{line: 2399, col: 56, offset: 79773}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2392, col: 56, offset: 79692}, + pos: position{line: 2399, col: 56, offset: 79773}, val: "`", ignoreCase: false, want: "\"`\"", }, ¬Expr{ - pos: position{line: 2392, col: 60, offset: 79696}, + pos: position{line: 2399, col: 60, offset: 79777}, expr: &litMatcher{ - pos: position{line: 2392, col: 61, offset: 79697}, + pos: position{line: 2399, col: 61, offset: 79778}, val: "\"", ignoreCase: false, want: "\"\\\"\"", @@ -59593,58 +48751,58 @@ var g = &grammar{ }, { name: "QuotedTextInDoubleQuotedString", - pos: position{line: 2376, col: 1, offset: 79218}, + pos: position{line: 2383, col: 1, offset: 79299}, expr: &actionExpr{ - pos: position{line: 2377, col: 5, offset: 79256}, + pos: position{line: 2384, col: 5, offset: 79337}, run: (*parser).callonQuotedTextInDoubleQuotedString1, expr: &seqExpr{ - pos: position{line: 2377, col: 5, offset: 79256}, + pos: position{line: 2384, col: 5, offset: 79337}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 2377, col: 5, offset: 79256}, + pos: position{line: 2384, col: 5, offset: 79337}, label: "attributes", expr: &zeroOrOneExpr{ - pos: position{line: 2377, col: 16, offset: 79267}, + pos: position{line: 2384, col: 16, offset: 79348}, expr: &ruleRefExpr{ - pos: position{line: 2377, col: 17, offset: 79268}, + pos: position{line: 2384, col: 17, offset: 79349}, name: "LongHandAttributes", }, }, }, &labeledExpr{ - pos: position{line: 2378, col: 5, offset: 79294}, + pos: position{line: 2385, col: 5, offset: 79375}, label: "text", expr: &choiceExpr{ - pos: position{line: 2379, col: 9, offset: 79309}, + pos: position{line: 2386, col: 9, offset: 79390}, alternatives: []interface{}{ &ruleRefExpr{ - pos: position{line: 2379, col: 9, offset: 79309}, + pos: position{line: 2386, col: 9, offset: 79390}, name: "BoldText", }, &ruleRefExpr{ - pos: position{line: 2380, col: 11, offset: 79328}, + pos: position{line: 2387, col: 11, offset: 79409}, name: "ItalicText", }, &actionExpr{ - pos: position{line: 2381, col: 12, offset: 79350}, + pos: position{line: 2388, col: 12, offset: 79431}, run: (*parser).callonQuotedTextInDoubleQuotedString10, expr: &seqExpr{ - pos: position{line: 2381, col: 12, offset: 79350}, + pos: position{line: 2388, col: 12, offset: 79431}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 2381, col: 12, offset: 79350}, + pos: position{line: 2388, col: 12, offset: 79431}, expr: &litMatcher{ - pos: position{line: 2381, col: 13, offset: 79351}, + pos: position{line: 2388, col: 13, offset: 79432}, val: "`\"", ignoreCase: false, want: "\"`\\\"\"", }, }, &labeledExpr{ - pos: position{line: 2381, col: 19, offset: 79357}, + pos: position{line: 2388, col: 19, offset: 79438}, label: "element", expr: &ruleRefExpr{ - pos: position{line: 2381, col: 28, offset: 79366}, + pos: position{line: 2388, col: 28, offset: 79447}, name: "MonospaceText", }, }, @@ -59652,15 +48810,15 @@ var g = &grammar{ }, }, &ruleRefExpr{ - pos: position{line: 2382, col: 11, offset: 79415}, + pos: position{line: 2389, col: 11, offset: 79496}, name: "SubscriptText", }, &ruleRefExpr{ - pos: position{line: 2383, col: 11, offset: 79439}, + pos: position{line: 2390, col: 11, offset: 79520}, name: "SuperscriptText", }, &ruleRefExpr{ - pos: position{line: 2384, col: 11, offset: 79465}, + pos: position{line: 2391, col: 11, offset: 79546}, name: "MarkedText", }, }, @@ -59671,512 +48829,116 @@ var g = &grammar{ }, }, { - name: "AttributesGroup", - pos: position{line: 2427, col: 1, offset: 80926}, + name: "Substitutions", + pos: position{line: 2433, col: 1, offset: 80963}, expr: &actionExpr{ - pos: position{line: 2427, col: 20, offset: 80945}, - run: (*parser).callonAttributesGroup1, + pos: position{line: 2434, col: 5, offset: 81017}, + run: (*parser).callonSubstitutions1, expr: &seqExpr{ - pos: position{line: 2427, col: 20, offset: 80945}, + pos: position{line: 2434, col: 5, offset: 81017}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 2427, col: 20, offset: 80945}, + pos: position{line: 2434, col: 5, offset: 81017}, label: "elements", expr: &oneOrMoreExpr{ - pos: position{line: 2427, col: 29, offset: 80954}, - expr: &choiceExpr{ - pos: position{line: 2428, col: 5, offset: 80960}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2856, col: 14, offset: 93755}, - run: (*parser).callonAttributesGroup6, - expr: &oneOrMoreExpr{ - pos: position{line: 2856, col: 14, offset: 93755}, - expr: &charClassMatcher{ - pos: position{line: 2856, col: 14, offset: 93755}, - val: "[0-9\\pL]", - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, + pos: position{line: 2434, col: 14, offset: 81026}, + expr: &actionExpr{ + pos: position{line: 2435, col: 9, offset: 81036}, + run: (*parser).callonSubstitutions5, + expr: &seqExpr{ + pos: position{line: 2435, col: 9, offset: 81036}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 2435, col: 9, offset: 81036}, + expr: ¬Expr{ + pos: position{line: 2851, col: 8, offset: 93443}, + expr: &anyMatcher{ + line: 2851, col: 9, offset: 93444, + }, }, }, - }, - &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, - run: (*parser).callonAttributesGroup9, - expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 2638, col: 5, offset: 87092}, - run: (*parser).callonAttributesGroup11, - expr: &seqExpr{ - pos: position{line: 2638, col: 5, offset: 87092}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 2638, col: 5, offset: 87092}, - run: (*parser).callonAttributesGroup13, - }, - &labeledExpr{ - pos: position{line: 2641, col: 5, offset: 87163}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 2643, col: 9, offset: 87261}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2643, col: 9, offset: 87261}, - run: (*parser).callonAttributesGroup16, - expr: &choiceExpr{ - pos: position{line: 691, col: 27, offset: 22375}, + &labeledExpr{ + pos: position{line: 2436, col: 9, offset: 81049}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 2437, col: 13, offset: 81071}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2772, col: 5, offset: 91113}, + run: (*parser).callonSubstitutions12, + expr: &seqExpr{ + pos: position{line: 2772, col: 5, offset: 91113}, + exprs: []interface{}{ + &oneOrMoreExpr{ + pos: position{line: 2772, col: 5, offset: 91113}, + expr: &charClassMatcher{ + pos: position{line: 2772, col: 5, offset: 91113}, + val: "[,;!?0-9\\pL]", + chars: []rune{',', ';', '!', '?'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + &choiceExpr{ + pos: position{line: 2773, col: 6, offset: 91163}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 691, col: 27, offset: 22375}, - run: (*parser).callonAttributesGroup18, - expr: &seqExpr{ - pos: position{line: 691, col: 27, offset: 22375}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 691, col: 27, offset: 22375}, - val: "<<", + pos: position{line: 2838, col: 10, offset: 93169}, + run: (*parser).callonSubstitutions17, + expr: &charClassMatcher{ + pos: position{line: 2838, col: 11, offset: 93170}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + &andExpr{ + pos: position{line: 2773, col: 14, offset: 91171}, + expr: &choiceExpr{ + pos: position{line: 2773, col: 16, offset: 91173}, + alternatives: []interface{}{ + &charClassMatcher{ + pos: position{line: 2773, col: 16, offset: 91173}, + val: "[.�]", + chars: []rune{'.', '�'}, ignoreCase: false, - want: "\"<<\"", + inverted: false, }, - &labeledExpr{ - pos: position{line: 691, col: 32, offset: 22380}, - label: "id", - expr: &actionExpr{ - pos: position{line: 2913, col: 7, offset: 95667}, - run: (*parser).callonAttributesGroup22, - expr: &oneOrMoreExpr{ - pos: position{line: 2913, col: 7, offset: 95667}, - expr: &charClassMatcher{ - pos: position{line: 2913, col: 7, offset: 95667}, - val: "[^[]<>,]", - chars: []rune{'[', ']', '<', '>', ','}, + &actionExpr{ + pos: position{line: 2847, col: 12, offset: 93353}, + run: (*parser).callonSubstitutions22, + expr: &choiceExpr{ + pos: position{line: 2847, col: 13, offset: 93354}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2847, col: 13, offset: 93354}, + val: "\n", ignoreCase: false, - inverted: true, + want: "\"\\n\"", }, - }, - }, - }, - &zeroOrMoreExpr{ - pos: position{line: 691, col: 40, offset: 22388}, - expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, - run: (*parser).callonAttributesGroup26, - expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &litMatcher{ - pos: position{line: 691, col: 47, offset: 22395}, - val: ",", - ignoreCase: false, - want: "\",\"", - }, - &labeledExpr{ - pos: position{line: 691, col: 51, offset: 22399}, - label: "label", - expr: &oneOrMoreExpr{ - pos: position{line: 701, col: 24, offset: 22800}, - expr: &choiceExpr{ - pos: position{line: 702, col: 5, offset: 22806}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 702, col: 6, offset: 22807}, - run: (*parser).callonAttributesGroup32, - expr: &seqExpr{ - pos: position{line: 702, col: 6, offset: 22807}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 702, col: 6, offset: 22807}, - val: "[0-9\\pL]", - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &oneOrMoreExpr{ - pos: position{line: 702, col: 14, offset: 22815}, - expr: &charClassMatcher{ - pos: position{line: 702, col: 14, offset: 22815}, - val: "[^\\r\\n{<>]", - chars: []rune{'\r', '\n', '{', '<', '>'}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 649, col: 5, offset: 20887}, - run: (*parser).callonAttributesGroup37, - expr: &seqExpr{ - pos: position{line: 649, col: 5, offset: 20887}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 649, col: 5, offset: 20887}, - run: (*parser).callonAttributesGroup39, - }, - &labeledExpr{ - pos: position{line: 652, col: 5, offset: 20951}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 652, col: 14, offset: 20960}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 663, col: 25, offset: 21324}, - run: (*parser).callonAttributesGroup42, - expr: &seqExpr{ - pos: position{line: 663, col: 25, offset: 21324}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 663, col: 25, offset: 21324}, - val: "{counter:", - ignoreCase: false, - want: "\"{counter:\"", - }, - &labeledExpr{ - pos: position{line: 663, col: 37, offset: 21336}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonAttributesGroup46, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 663, col: 56, offset: 21355}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 663, col: 62, offset: 21361}, - expr: &actionExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - run: (*parser).callonAttributesGroup53, - expr: &seqExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 671, col: 17, offset: 21656}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 671, col: 21, offset: 21660}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - run: (*parser).callonAttributesGroup58, - expr: &charClassMatcher{ - pos: position{line: 671, col: 28, offset: 21667}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - run: (*parser).callonAttributesGroup60, - expr: &oneOrMoreExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - expr: &charClassMatcher{ - pos: position{line: 673, col: 9, offset: 21721}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 663, col: 78, offset: 21377}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 667, col: 25, offset: 21495}, - run: (*parser).callonAttributesGroup64, - expr: &seqExpr{ - pos: position{line: 667, col: 25, offset: 21495}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 667, col: 25, offset: 21495}, - val: "{counter2:", - ignoreCase: false, - want: "\"{counter2:\"", - }, - &labeledExpr{ - pos: position{line: 667, col: 38, offset: 21508}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonAttributesGroup68, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 667, col: 57, offset: 21527}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 667, col: 63, offset: 21533}, - expr: &actionExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - run: (*parser).callonAttributesGroup75, - expr: &seqExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 671, col: 17, offset: 21656}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 671, col: 21, offset: 21660}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - run: (*parser).callonAttributesGroup80, - expr: &charClassMatcher{ - pos: position{line: 671, col: 28, offset: 21667}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - run: (*parser).callonAttributesGroup82, - expr: &oneOrMoreExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - expr: &charClassMatcher{ - pos: position{line: 673, col: 9, offset: 21721}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 667, col: 79, offset: 21549}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 656, col: 31, offset: 21077}, - run: (*parser).callonAttributesGroup86, - expr: &seqExpr{ - pos: position{line: 656, col: 31, offset: 21077}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 656, col: 31, offset: 21077}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - &labeledExpr{ - pos: position{line: 656, col: 35, offset: 21081}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonAttributesGroup90, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - 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: 54, offset: 21100}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 706, col: 8, offset: 23039}, - run: (*parser).callonAttributesGroup96, - expr: &litMatcher{ - pos: position{line: 706, col: 8, offset: 23039}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - }, + &litMatcher{ + pos: position{line: 2847, col: 20, offset: 93361}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", }, - }, - }, - }, - &litMatcher{ - pos: position{line: 691, col: 79, offset: 22427}, - val: ">>", - ignoreCase: false, - want: "\">>\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 693, col: 9, offset: 22500}, - run: (*parser).callonAttributesGroup99, - expr: &seqExpr{ - pos: position{line: 693, col: 9, offset: 22500}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 693, col: 9, offset: 22500}, - val: "<<", - ignoreCase: false, - want: "\"<<\"", - }, - &labeledExpr{ - pos: position{line: 693, col: 14, offset: 22505}, - label: "id", - expr: &actionExpr{ - pos: position{line: 2913, col: 7, offset: 95667}, - run: (*parser).callonAttributesGroup103, - expr: &oneOrMoreExpr{ - pos: position{line: 2913, col: 7, offset: 95667}, - expr: &charClassMatcher{ - pos: position{line: 2913, col: 7, offset: 95667}, - val: "[^[]<>,]", - chars: []rune{'[', ']', '<', '>', ','}, + &litMatcher{ + pos: position{line: 2847, col: 29, offset: 93370}, + val: "\r", ignoreCase: false, - inverted: true, + want: "\"\\r\"", }, }, }, }, - &litMatcher{ - pos: position{line: 693, col: 22, offset: 22513}, - val: ">>", - ignoreCase: false, - want: "\">>\"", + ¬Expr{ + pos: position{line: 2851, col: 8, offset: 93443}, + expr: &anyMatcher{ + line: 2851, col: 9, offset: 93444, + }, }, }, }, @@ -60184,249 +48946,709 @@ var g = &grammar{ }, }, }, - &actionExpr{ - pos: position{line: 2646, col: 11, offset: 87365}, - run: (*parser).callonAttributesGroup107, - expr: &charClassMatcher{ - pos: position{line: 2646, col: 12, offset: 87366}, - val: "[<>&]", - chars: []rune{'<', '>', '&'}, + }, + }, + &actionExpr{ + pos: position{line: 2838, col: 10, offset: 93169}, + run: (*parser).callonSubstitutions29, + expr: &charClassMatcher{ + pos: position{line: 2838, col: 11, offset: 93170}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 2847, col: 12, offset: 93353}, + run: (*parser).callonSubstitutions31, + expr: &choiceExpr{ + pos: position{line: 2847, col: 13, offset: 93354}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2847, col: 13, offset: 93354}, + val: "\n", ignoreCase: false, - inverted: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 2847, col: 20, offset: 93361}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 2847, col: 29, offset: 93370}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", }, }, }, }, - }, - }, - }, - }, - &ruleRefExpr{ - pos: position{line: 2431, col: 7, offset: 81011}, - name: "Quote", - }, - &ruleRefExpr{ - pos: position{line: 2432, col: 7, offset: 81023}, - name: "InlinePassthrough", - }, - &actionExpr{ - pos: position{line: 649, col: 5, offset: 20887}, - run: (*parser).callonAttributesGroup111, - expr: &seqExpr{ - pos: position{line: 649, col: 5, offset: 20887}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 649, col: 5, offset: 20887}, - run: (*parser).callonAttributesGroup113, - }, - &labeledExpr{ - pos: position{line: 652, col: 5, offset: 20951}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 652, col: 14, offset: 20960}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 663, col: 25, offset: 21324}, - run: (*parser).callonAttributesGroup116, - expr: &seqExpr{ - pos: position{line: 663, col: 25, offset: 21324}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 663, col: 25, offset: 21324}, - val: "{counter:", + &actionExpr{ + pos: position{line: 1092, col: 23, offset: 33700}, + run: (*parser).callonSubstitutions36, + expr: &seqExpr{ + pos: position{line: 1092, col: 23, offset: 33700}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1090, col: 32, offset: 33668}, + val: "�", + ignoreCase: false, + want: "\"�\"", + }, + &labeledExpr{ + pos: position{line: 1092, col: 51, offset: 33728}, + label: "ref", + expr: &actionExpr{ + pos: position{line: 1092, col: 56, offset: 33733}, + run: (*parser).callonSubstitutions40, + expr: &oneOrMoreExpr{ + pos: position{line: 1092, col: 56, offset: 33733}, + expr: &charClassMatcher{ + pos: position{line: 1092, col: 56, offset: 33733}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 1090, col: 32, offset: 33668}, + val: "�", + ignoreCase: false, + want: "\"�\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1100, col: 5, offset: 34146}, + run: (*parser).callonSubstitutions44, + expr: &seqExpr{ + pos: position{line: 1100, col: 5, offset: 34146}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 1100, col: 5, offset: 34146}, + run: (*parser).callonSubstitutions46, + }, + &litMatcher{ + pos: position{line: 1103, col: 5, offset: 34248}, + val: "+", + ignoreCase: false, + want: "\"+\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 1103, col: 9, offset: 34252}, + expr: &actionExpr{ + pos: position{line: 2838, col: 10, offset: 93169}, + run: (*parser).callonSubstitutions49, + expr: &charClassMatcher{ + pos: position{line: 2838, col: 11, offset: 93170}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, ignoreCase: false, - want: "\"{counter:\"", + inverted: false, }, - &labeledExpr{ - pos: position{line: 663, col: 37, offset: 21336}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonAttributesGroup120, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, + }, + }, + &andExpr{ + pos: position{line: 1103, col: 16, offset: 34259}, + expr: &choiceExpr{ + pos: position{line: 2854, col: 8, offset: 93493}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2847, col: 12, offset: 93353}, + run: (*parser).callonSubstitutions53, + expr: &choiceExpr{ + pos: position{line: 2847, col: 13, offset: 93354}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2847, col: 13, offset: 93354}, + val: "\n", ignoreCase: false, - inverted: false, + want: "\"\\n\"", }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, + &litMatcher{ + pos: position{line: 2847, col: 20, offset: 93361}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 2847, col: 29, offset: 93370}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", }, }, }, }, + ¬Expr{ + pos: position{line: 2851, col: 8, offset: 93443}, + expr: &anyMatcher{ + line: 2851, col: 9, offset: 93444, + }, + }, }, - &labeledExpr{ - pos: position{line: 663, col: 56, offset: 21355}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 663, col: 62, offset: 21361}, - expr: &actionExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - run: (*parser).callonAttributesGroup127, - expr: &seqExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 671, col: 17, offset: 21656}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 671, col: 21, offset: 21660}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - run: (*parser).callonAttributesGroup132, - expr: &charClassMatcher{ - pos: position{line: 671, col: 28, offset: 21667}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - run: (*parser).callonAttributesGroup134, - expr: &oneOrMoreExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - expr: &charClassMatcher{ - pos: position{line: 673, col: 9, offset: 21721}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2778, col: 16, offset: 91294}, + run: (*parser).callonSubstitutions60, + expr: &seqExpr{ + pos: position{line: 2778, col: 16, offset: 91294}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 2778, col: 17, offset: 91295}, + val: "[.,;!?]", + chars: []rune{'.', ',', ';', '!', '?'}, + ignoreCase: false, + inverted: false, + }, + &andExpr{ + pos: position{line: 2778, col: 46, offset: 91324}, + expr: &choiceExpr{ + pos: position{line: 2778, col: 48, offset: 91326}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2838, col: 10, offset: 93169}, + run: (*parser).callonSubstitutions65, + expr: &charClassMatcher{ + pos: position{line: 2838, col: 11, offset: 93170}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 2847, col: 12, offset: 93353}, + run: (*parser).callonSubstitutions67, + expr: &choiceExpr{ + pos: position{line: 2847, col: 13, offset: 93354}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2847, col: 13, offset: 93354}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 2847, col: 20, offset: 93361}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 2847, col: 29, offset: 93370}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", }, }, }, }, - }, - &litMatcher{ - pos: position{line: 663, col: 78, offset: 21377}, - val: "}", - ignoreCase: false, - want: "\"}\"", + ¬Expr{ + pos: position{line: 2851, col: 8, offset: 93443}, + expr: &anyMatcher{ + line: 2851, col: 9, offset: 93444, + }, + }, }, }, }, }, - &actionExpr{ - pos: position{line: 667, col: 25, offset: 21495}, - run: (*parser).callonAttributesGroup138, - expr: &seqExpr{ - pos: position{line: 667, col: 25, offset: 21495}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 667, col: 25, offset: 21495}, - val: "{counter2:", - ignoreCase: false, - want: "\"{counter2:\"", - }, - &labeledExpr{ - pos: position{line: 667, col: 38, offset: 21508}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonAttributesGroup142, + }, + }, + &ruleRefExpr{ + pos: position{line: 2443, col: 15, offset: 81310}, + name: "Quote", + }, + &ruleRefExpr{ + pos: position{line: 2444, col: 15, offset: 81330}, + name: "InlinePassthrough", + }, + &ruleRefExpr{ + pos: position{line: 2445, col: 15, offset: 81362}, + name: "InlineMacro", + }, + &ruleRefExpr{ + pos: position{line: 2446, col: 15, offset: 81455}, + name: "Callout", + }, + &actionExpr{ + pos: position{line: 2539, col: 5, offset: 83846}, + run: (*parser).callonSubstitutions78, + expr: &seqExpr{ + pos: position{line: 2539, col: 5, offset: 83846}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2539, col: 5, offset: 83846}, + run: (*parser).callonSubstitutions80, + }, + &labeledExpr{ + pos: position{line: 2542, col: 5, offset: 83922}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 2544, col: 9, offset: 84020}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2544, col: 9, offset: 84020}, + run: (*parser).callonSubstitutions83, + expr: &choiceExpr{ + pos: position{line: 698, col: 27, offset: 22399}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 698, col: 27, offset: 22399}, + run: (*parser).callonSubstitutions85, + expr: &seqExpr{ + pos: position{line: 698, col: 27, offset: 22399}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 698, col: 27, offset: 22399}, + val: "<<", + ignoreCase: false, + want: "\"<<\"", + }, + &labeledExpr{ + pos: position{line: 698, col: 32, offset: 22404}, + label: "id", + expr: &actionExpr{ + pos: position{line: 2823, col: 7, offset: 92821}, + run: (*parser).callonSubstitutions89, + expr: &oneOrMoreExpr{ + pos: position{line: 2823, col: 7, offset: 92821}, + expr: &charClassMatcher{ + pos: position{line: 2823, col: 7, offset: 92821}, + val: "[^[]<>,]", + chars: []rune{'[', ']', '<', '>', ','}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 698, col: 40, offset: 22412}, + expr: &actionExpr{ + pos: position{line: 2838, col: 10, offset: 93169}, + run: (*parser).callonSubstitutions93, + expr: &charClassMatcher{ + pos: position{line: 2838, col: 11, offset: 93170}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &litMatcher{ + pos: position{line: 698, col: 47, offset: 22419}, + val: ",", + ignoreCase: false, + want: "\",\"", + }, + &labeledExpr{ + pos: position{line: 698, col: 51, offset: 22423}, + label: "label", + expr: &oneOrMoreExpr{ + pos: position{line: 708, col: 24, offset: 22824}, + expr: &choiceExpr{ + pos: position{line: 709, col: 5, offset: 22830}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 709, col: 6, offset: 22831}, + run: (*parser).callonSubstitutions99, + expr: &seqExpr{ + pos: position{line: 709, col: 6, offset: 22831}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 709, col: 6, offset: 22831}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &oneOrMoreExpr{ + pos: position{line: 709, col: 14, offset: 22839}, + expr: &charClassMatcher{ + pos: position{line: 709, col: 14, offset: 22839}, + val: "[^\\r\\n{<>]", + chars: []rune{'\r', '\n', '{', '<', '>'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 663, col: 5, offset: 21092}, + run: (*parser).callonSubstitutions104, + expr: &seqExpr{ + pos: position{line: 663, col: 5, offset: 21092}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 663, col: 5, offset: 21092}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + &labeledExpr{ + pos: position{line: 663, col: 9, offset: 21096}, + label: "name", + expr: &actionExpr{ + pos: position{line: 336, col: 18, offset: 10325}, + run: (*parser).callonSubstitutions108, + expr: &seqExpr{ + pos: position{line: 336, col: 18, offset: 10325}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 336, col: 18, offset: 10325}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 336, col: 28, offset: 10335}, + expr: &charClassMatcher{ + pos: position{line: 336, col: 29, offset: 10336}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 663, col: 28, offset: 21115}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 713, col: 8, offset: 23065}, + run: (*parser).callonSubstitutions114, + expr: &litMatcher{ + pos: position{line: 713, col: 8, offset: 23065}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 698, col: 79, offset: 22451}, + val: ">>", + ignoreCase: false, + want: "\">>\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 700, col: 9, offset: 22524}, + run: (*parser).callonSubstitutions117, + expr: &seqExpr{ + pos: position{line: 700, col: 9, offset: 22524}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 700, col: 9, offset: 22524}, + val: "<<", + ignoreCase: false, + want: "\"<<\"", + }, + &labeledExpr{ + pos: position{line: 700, col: 14, offset: 22529}, + label: "id", + expr: &actionExpr{ + pos: position{line: 2823, col: 7, offset: 92821}, + run: (*parser).callonSubstitutions121, + expr: &oneOrMoreExpr{ + pos: position{line: 2823, col: 7, offset: 92821}, + expr: &charClassMatcher{ + pos: position{line: 2823, col: 7, offset: 92821}, + val: "[^[]<>,]", + chars: []rune{'[', ']', '<', '>', ','}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 700, col: 22, offset: 22537}, + val: ">>", + ignoreCase: false, + want: "\">>\"", + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2547, col: 11, offset: 84124}, + run: (*parser).callonSubstitutions125, + expr: &charClassMatcher{ + pos: position{line: 2547, col: 12, offset: 84125}, + val: "[<>&]", + chars: []rune{'<', '>', '&'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 655, col: 5, offset: 20901}, + run: (*parser).callonSubstitutions127, + expr: &seqExpr{ + pos: position{line: 655, col: 5, offset: 20901}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 655, col: 5, offset: 20901}, + run: (*parser).callonSubstitutions129, + }, + &labeledExpr{ + pos: position{line: 658, col: 5, offset: 20970}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 658, col: 14, offset: 20979}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 670, col: 25, offset: 21348}, + run: (*parser).callonSubstitutions132, expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 670, col: 25, offset: 21348}, exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, + &litMatcher{ + pos: position{line: 670, col: 25, offset: 21348}, + val: "{counter:", ignoreCase: false, - inverted: false, + want: "\"{counter:\"", }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, + &labeledExpr{ + pos: position{line: 670, col: 37, offset: 21360}, + label: "name", + expr: &actionExpr{ + pos: position{line: 336, col: 18, offset: 10325}, + run: (*parser).callonSubstitutions136, + expr: &seqExpr{ + pos: position{line: 336, col: 18, offset: 10325}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 336, col: 18, offset: 10325}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 336, col: 28, offset: 10335}, + expr: &charClassMatcher{ + pos: position{line: 336, col: 29, offset: 10336}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 670, col: 56, offset: 21379}, + label: "start", + expr: &zeroOrOneExpr{ + pos: position{line: 670, col: 62, offset: 21385}, + expr: &actionExpr{ + pos: position{line: 678, col: 17, offset: 21680}, + run: (*parser).callonSubstitutions143, + expr: &seqExpr{ + pos: position{line: 678, col: 17, offset: 21680}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 678, col: 17, offset: 21680}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &labeledExpr{ + pos: position{line: 678, col: 21, offset: 21684}, + label: "start", + expr: &choiceExpr{ + pos: position{line: 678, col: 28, offset: 21691}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 678, col: 28, offset: 21691}, + run: (*parser).callonSubstitutions148, + expr: &charClassMatcher{ + pos: position{line: 678, col: 28, offset: 21691}, + val: "[A-Za-z]", + ranges: []rune{'A', 'Z', 'a', 'z'}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 680, col: 9, offset: 21745}, + run: (*parser).callonSubstitutions150, + expr: &oneOrMoreExpr{ + pos: position{line: 680, col: 9, offset: 21745}, + expr: &charClassMatcher{ + pos: position{line: 680, col: 9, offset: 21745}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + }, }, }, + &litMatcher{ + pos: position{line: 670, col: 78, offset: 21401}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, }, }, }, - }, - &labeledExpr{ - pos: position{line: 667, col: 57, offset: 21527}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 667, col: 63, offset: 21533}, - expr: &actionExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - run: (*parser).callonAttributesGroup149, - expr: &seqExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 671, col: 17, offset: 21656}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 671, col: 21, offset: 21660}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - run: (*parser).callonAttributesGroup154, + &actionExpr{ + pos: position{line: 674, col: 25, offset: 21519}, + run: (*parser).callonSubstitutions154, + expr: &seqExpr{ + pos: position{line: 674, col: 25, offset: 21519}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 674, col: 25, offset: 21519}, + val: "{counter2:", + ignoreCase: false, + want: "\"{counter2:\"", + }, + &labeledExpr{ + pos: position{line: 674, col: 38, offset: 21532}, + label: "name", + expr: &actionExpr{ + pos: position{line: 336, col: 18, offset: 10325}, + run: (*parser).callonSubstitutions158, + expr: &seqExpr{ + pos: position{line: 336, col: 18, offset: 10325}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 336, col: 18, offset: 10325}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 336, col: 28, offset: 10335}, expr: &charClassMatcher{ - pos: position{line: 671, col: 28, offset: 21667}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, + pos: position{line: 336, col: 29, offset: 10336}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, ignoreCase: false, inverted: false, }, }, - &actionExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - run: (*parser).callonAttributesGroup156, - expr: &oneOrMoreExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - expr: &charClassMatcher{ - pos: position{line: 673, col: 9, offset: 21721}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 674, col: 57, offset: 21551}, + label: "start", + expr: &zeroOrOneExpr{ + pos: position{line: 674, col: 63, offset: 21557}, + expr: &actionExpr{ + pos: position{line: 678, col: 17, offset: 21680}, + run: (*parser).callonSubstitutions165, + expr: &seqExpr{ + pos: position{line: 678, col: 17, offset: 21680}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 678, col: 17, offset: 21680}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &labeledExpr{ + pos: position{line: 678, col: 21, offset: 21684}, + label: "start", + expr: &choiceExpr{ + pos: position{line: 678, col: 28, offset: 21691}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 678, col: 28, offset: 21691}, + run: (*parser).callonSubstitutions170, + expr: &charClassMatcher{ + pos: position{line: 678, col: 28, offset: 21691}, + val: "[A-Za-z]", + ranges: []rune{'A', 'Z', 'a', 'z'}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 680, col: 9, offset: 21745}, + run: (*parser).callonSubstitutions172, + expr: &oneOrMoreExpr{ + pos: position{line: 680, col: 9, offset: 21745}, + expr: &charClassMatcher{ + pos: position{line: 680, col: 9, offset: 21745}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, }, }, }, @@ -60434,56 +49656,167 @@ var g = &grammar{ }, }, }, + &litMatcher{ + pos: position{line: 674, col: 79, offset: 21573}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 663, col: 5, offset: 21092}, + run: (*parser).callonSubstitutions176, + expr: &seqExpr{ + pos: position{line: 663, col: 5, offset: 21092}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 663, col: 5, offset: 21092}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + &labeledExpr{ + pos: position{line: 663, col: 9, offset: 21096}, + label: "name", + expr: &actionExpr{ + pos: position{line: 336, col: 18, offset: 10325}, + run: (*parser).callonSubstitutions180, + expr: &seqExpr{ + pos: position{line: 336, col: 18, offset: 10325}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 336, col: 18, offset: 10325}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 336, col: 28, offset: 10335}, + expr: &charClassMatcher{ + pos: position{line: 336, col: 29, offset: 10336}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 663, col: 28, offset: 21115}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, }, }, }, - }, - &litMatcher{ - pos: position{line: 667, col: 79, offset: 21549}, - val: "}", - ignoreCase: false, - want: "\"}\"", }, }, }, }, - &actionExpr{ - pos: position{line: 656, col: 31, offset: 21077}, - run: (*parser).callonAttributesGroup160, - expr: &seqExpr{ - pos: position{line: 656, col: 31, offset: 21077}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 656, col: 31, offset: 21077}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - &labeledExpr{ - pos: position{line: 656, col: 35, offset: 21081}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonAttributesGroup164, + }, + }, + &actionExpr{ + pos: position{line: 2528, col: 5, offset: 83620}, + run: (*parser).callonSubstitutions186, + expr: &seqExpr{ + pos: position{line: 2528, col: 5, offset: 83620}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2528, col: 5, offset: 83620}, + run: (*parser).callonSubstitutions188, + }, + &labeledExpr{ + pos: position{line: 2531, col: 5, offset: 83691}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 2570, col: 11, offset: 84998}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2572, col: 15, offset: 85092}, + run: (*parser).callonSubstitutions191, + expr: &litMatcher{ + pos: position{line: 2572, col: 15, offset: 85092}, + val: "`'", + ignoreCase: false, + want: "\"`'\"", + }, + }, + &actionExpr{ + pos: position{line: 2578, col: 14, offset: 85207}, + run: (*parser).callonSubstitutions193, + expr: &litMatcher{ + pos: position{line: 2578, col: 14, offset: 85207}, + val: "(C)", + ignoreCase: false, + want: "\"(C)\"", + }, + }, + &actionExpr{ + pos: position{line: 2582, col: 14, offset: 85283}, + run: (*parser).callonSubstitutions195, + expr: &litMatcher{ + pos: position{line: 2582, col: 14, offset: 85283}, + val: "(TM)", + ignoreCase: false, + want: "\"(TM)\"", + }, + }, + &actionExpr{ + pos: position{line: 2586, col: 15, offset: 85361}, + run: (*parser).callonSubstitutions197, + expr: &litMatcher{ + pos: position{line: 2586, col: 15, offset: 85361}, + val: "(R)", + ignoreCase: false, + want: "\"(R)\"", + }, + }, + &actionExpr{ + pos: position{line: 2590, col: 13, offset: 85436}, + run: (*parser).callonSubstitutions199, + expr: &litMatcher{ + pos: position{line: 2590, col: 13, offset: 85436}, + val: "...", + ignoreCase: false, + want: "\"...\"", + }, + }, + &actionExpr{ + pos: position{line: 2598, col: 22, offset: 85742}, + run: (*parser).callonSubstitutions201, expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 2598, col: 22, offset: 85742}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, + pos: position{line: 2753, col: 13, offset: 90440}, + val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, ignoreCase: false, inverted: false, }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, + &litMatcher{ + pos: position{line: 2598, col: 31, offset: 85751}, + val: "'", + ignoreCase: false, + want: "\"'\"", + }, + &andExpr{ + pos: position{line: 2598, col: 35, offset: 85755}, expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, + pos: position{line: 2598, col: 36, offset: 85756}, + val: "[\\pL]", classes: []*unicode.RangeTable{rangeTable("L")}, ignoreCase: false, inverted: false, @@ -60493,75 +49826,30 @@ var g = &grammar{ }, }, }, - &litMatcher{ - pos: position{line: 656, col: 54, offset: 21100}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, }, }, }, }, }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 1085, col: 23, offset: 33674}, - run: (*parser).callonAttributesGroup170, - expr: &seqExpr{ - pos: position{line: 1085, col: 23, offset: 33674}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 1083, col: 32, offset: 33642}, - val: "�", - ignoreCase: false, - want: "\"�\"", - }, - &labeledExpr{ - pos: position{line: 1085, col: 51, offset: 33702}, - label: "ref", - expr: &actionExpr{ - pos: position{line: 1085, col: 56, offset: 33707}, - run: (*parser).callonAttributesGroup174, - expr: &oneOrMoreExpr{ - pos: position{line: 1085, col: 56, offset: 33707}, - expr: &charClassMatcher{ - pos: position{line: 1085, col: 56, offset: 33707}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, + &actionExpr{ + pos: position{line: 2784, col: 12, offset: 91505}, + run: (*parser).callonSubstitutions207, + expr: &anyMatcher{ + line: 2784, col: 12, offset: 91505, }, }, }, - &litMatcher{ - pos: position{line: 1083, col: 32, offset: 33642}, - val: "�", - ignoreCase: false, - want: "\"�\"", - }, }, }, }, - &actionExpr{ - pos: position{line: 2883, col: 12, offset: 94746}, - run: (*parser).callonAttributesGroup178, - expr: &anyMatcher{ - line: 2883, col: 12, offset: 94746, - }, - }, }, }, }, }, ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -60569,100 +49857,92 @@ var g = &grammar{ }, }, { - name: "ElementAttributesGroup", - pos: position{line: 2440, col: 1, offset: 81302}, + name: "HeaderGroup", + pos: position{line: 2459, col: 1, offset: 81839}, expr: &actionExpr{ - pos: position{line: 2440, col: 27, offset: 81328}, - run: (*parser).callonElementAttributesGroup1, + pos: position{line: 2460, col: 5, offset: 81859}, + run: (*parser).callonHeaderGroup1, expr: &seqExpr{ - pos: position{line: 2440, col: 27, offset: 81328}, + pos: position{line: 2460, col: 5, offset: 81859}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 2440, col: 27, offset: 81328}, + pos: position{line: 2460, col: 5, offset: 81859}, label: "elements", expr: &oneOrMoreExpr{ - pos: position{line: 2440, col: 36, offset: 81337}, - expr: &choiceExpr{ - pos: position{line: 2441, col: 5, offset: 81343}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2871, col: 5, offset: 94354}, - run: (*parser).callonElementAttributesGroup6, - expr: &seqExpr{ - pos: position{line: 2871, col: 5, offset: 94354}, - exprs: []interface{}{ - &oneOrMoreExpr{ - pos: position{line: 2871, col: 5, offset: 94354}, - expr: &charClassMatcher{ - pos: position{line: 2871, col: 5, offset: 94354}, - val: "[,;!?0-9\\pL]", - chars: []rune{',', ';', '!', '?'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - &choiceExpr{ - pos: position{line: 2872, col: 6, offset: 94404}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, - run: (*parser).callonElementAttributesGroup11, - expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - &andExpr{ - pos: position{line: 2872, col: 14, offset: 94412}, - expr: &choiceExpr{ - pos: position{line: 2872, col: 16, offset: 94414}, - alternatives: []interface{}{ - &charClassMatcher{ - pos: position{line: 2872, col: 16, offset: 94414}, - val: "[.�]", - chars: []rune{'.', '�'}, - ignoreCase: false, - inverted: false, - }, - &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, - run: (*parser).callonElementAttributesGroup16, - expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, - expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, - }, - }, - }, + pos: position{line: 2460, col: 14, offset: 81868}, + expr: &ruleRefExpr{ + pos: position{line: 2460, col: 15, offset: 81869}, + name: "HeaderGroupElement", + }, + }, + }, + ¬Expr{ + pos: position{line: 2851, col: 8, offset: 93443}, + expr: &anyMatcher{ + line: 2851, col: 9, offset: 93444, + }, + }, + }, + }, + }, + }, + { + name: "HeaderGroupElement", + pos: position{line: 2464, col: 1, offset: 81953}, + expr: &actionExpr{ + pos: position{line: 2465, col: 5, offset: 81979}, + run: (*parser).callonHeaderGroupElement1, + expr: &seqExpr{ + pos: position{line: 2465, col: 5, offset: 81979}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 2465, col: 5, offset: 81979}, + expr: ¬Expr{ + pos: position{line: 2851, col: 8, offset: 93443}, + expr: &anyMatcher{ + line: 2851, col: 9, offset: 93444, + }, + }, + }, + &labeledExpr{ + pos: position{line: 2466, col: 5, offset: 81988}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 2467, col: 9, offset: 82006}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2765, col: 5, offset: 90895}, + run: (*parser).callonHeaderGroupElement8, + expr: &seqExpr{ + pos: position{line: 2765, col: 5, offset: 90895}, + exprs: []interface{}{ + &oneOrMoreExpr{ + pos: position{line: 2765, col: 5, offset: 90895}, + expr: &charClassMatcher{ + pos: position{line: 2765, col: 5, offset: 90895}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + &andExpr{ + pos: position{line: 2765, col: 15, offset: 90905}, + expr: &choiceExpr{ + pos: position{line: 2765, col: 17, offset: 90907}, + alternatives: []interface{}{ + &charClassMatcher{ + pos: position{line: 2765, col: 17, offset: 90907}, + val: "[\\r\\n ,]]", + chars: []rune{'\r', '\n', ' ', ',', ']'}, + ignoreCase: false, + inverted: false, + }, + ¬Expr{ + pos: position{line: 2851, col: 8, offset: 93443}, + expr: &anyMatcher{ + line: 2851, col: 9, offset: 93444, }, }, }, @@ -60670,1167 +49950,211 @@ var g = &grammar{ }, }, }, - &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, - run: (*parser).callonElementAttributesGroup23, - expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, + }, + &actionExpr{ + pos: position{line: 2767, col: 9, offset: 90989}, + run: (*parser).callonHeaderGroupElement17, + expr: &seqExpr{ + pos: position{line: 2767, col: 9, offset: 90989}, + exprs: []interface{}{ + &oneOrMoreExpr{ + pos: position{line: 2767, col: 9, offset: 90989}, + expr: &charClassMatcher{ + pos: position{line: 2767, col: 9, offset: 90989}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + &oneOrMoreExpr{ + pos: position{line: 2767, col: 19, offset: 90999}, + expr: &seqExpr{ + pos: position{line: 2767, col: 20, offset: 91000}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 2767, col: 20, offset: 91000}, + val: "[=*_`]", + chars: []rune{'=', '*', '_', '`'}, + ignoreCase: false, + inverted: false, + }, + &oneOrMoreExpr{ + pos: position{line: 2767, col: 27, offset: 91007}, + expr: &charClassMatcher{ + pos: position{line: 2767, col: 27, offset: 91007}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, }, }, - &actionExpr{ - pos: position{line: 649, col: 5, offset: 20887}, - run: (*parser).callonElementAttributesGroup25, - expr: &seqExpr{ - pos: position{line: 649, col: 5, offset: 20887}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 649, col: 5, offset: 20887}, - run: (*parser).callonElementAttributesGroup27, + }, + &actionExpr{ + pos: position{line: 2468, col: 12, offset: 82022}, + run: (*parser).callonHeaderGroupElement26, + expr: &seqExpr{ + pos: position{line: 2468, col: 12, offset: 82022}, + exprs: []interface{}{ + &oneOrMoreExpr{ + pos: position{line: 2468, col: 12, offset: 82022}, + expr: &actionExpr{ + pos: position{line: 2838, col: 10, offset: 93169}, + run: (*parser).callonHeaderGroupElement29, + expr: &charClassMatcher{ + pos: position{line: 2838, col: 11, offset: 93170}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, }, - &labeledExpr{ - pos: position{line: 652, col: 5, offset: 20951}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 652, col: 14, offset: 20960}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 663, col: 25, offset: 21324}, - run: (*parser).callonElementAttributesGroup30, - expr: &seqExpr{ - pos: position{line: 663, col: 25, offset: 21324}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 663, col: 25, offset: 21324}, - val: "{counter:", - ignoreCase: false, - want: "\"{counter:\"", - }, - &labeledExpr{ - pos: position{line: 663, col: 37, offset: 21336}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonElementAttributesGroup34, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 663, col: 56, offset: 21355}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 663, col: 62, offset: 21361}, - expr: &actionExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - run: (*parser).callonElementAttributesGroup41, - expr: &seqExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 671, col: 17, offset: 21656}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 671, col: 21, offset: 21660}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - run: (*parser).callonElementAttributesGroup46, - expr: &charClassMatcher{ - pos: position{line: 671, col: 28, offset: 21667}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - run: (*parser).callonElementAttributesGroup48, - expr: &oneOrMoreExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - expr: &charClassMatcher{ - pos: position{line: 673, col: 9, offset: 21721}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 663, col: 78, offset: 21377}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, + }, + &labeledExpr{ + pos: position{line: 2468, col: 19, offset: 82029}, + label: "id", + expr: &actionExpr{ + pos: position{line: 420, col: 4, offset: 12803}, + run: (*parser).callonHeaderGroupElement32, + expr: &seqExpr{ + pos: position{line: 420, col: 4, offset: 12803}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 420, col: 4, offset: 12803}, + val: "[[", + ignoreCase: false, + want: "\"[[\"", }, - &actionExpr{ - pos: position{line: 667, col: 25, offset: 21495}, - run: (*parser).callonElementAttributesGroup52, - expr: &seqExpr{ - pos: position{line: 667, col: 25, offset: 21495}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 667, col: 25, offset: 21495}, - val: "{counter2:", - ignoreCase: false, - want: "\"{counter2:\"", - }, - &labeledExpr{ - pos: position{line: 667, col: 38, offset: 21508}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonElementAttributesGroup56, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, + &labeledExpr{ + pos: position{line: 421, col: 5, offset: 12813}, + label: "id", + expr: &actionExpr{ + pos: position{line: 422, col: 9, offset: 12826}, + run: (*parser).callonHeaderGroupElement36, + expr: &labeledExpr{ + pos: position{line: 422, col: 9, offset: 12826}, + label: "elements", + expr: &oneOrMoreExpr{ + pos: position{line: 422, col: 18, offset: 12835}, + expr: &choiceExpr{ + pos: position{line: 423, col: 13, offset: 12849}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 423, col: 14, offset: 12850}, + run: (*parser).callonHeaderGroupElement40, + expr: &oneOrMoreExpr{ + pos: position{line: 423, col: 14, offset: 12850}, expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, + pos: position{line: 423, col: 14, offset: 12850}, + val: "[^=\\r\\n�{]]", + chars: []rune{'=', '\r', '\n', '�', '{', ']'}, ignoreCase: false, - inverted: false, + inverted: true, }, }, }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 667, col: 57, offset: 21527}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 667, col: 63, offset: 21533}, - expr: &actionExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - run: (*parser).callonElementAttributesGroup63, - expr: &seqExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 671, col: 17, offset: 21656}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 671, col: 21, offset: 21660}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - run: (*parser).callonElementAttributesGroup68, + &actionExpr{ + pos: position{line: 1092, col: 23, offset: 33700}, + run: (*parser).callonHeaderGroupElement43, + expr: &seqExpr{ + pos: position{line: 1092, col: 23, offset: 33700}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1090, col: 32, offset: 33668}, + val: "�", + ignoreCase: false, + want: "\"�\"", + }, + &labeledExpr{ + pos: position{line: 1092, col: 51, offset: 33728}, + label: "ref", + expr: &actionExpr{ + pos: position{line: 1092, col: 56, offset: 33733}, + run: (*parser).callonHeaderGroupElement47, + expr: &oneOrMoreExpr{ + pos: position{line: 1092, col: 56, offset: 33733}, expr: &charClassMatcher{ - pos: position{line: 671, col: 28, offset: 21667}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, + pos: position{line: 1092, col: 56, offset: 33733}, + val: "[0-9]", + ranges: []rune{'0', '9'}, ignoreCase: false, inverted: false, }, }, - &actionExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - run: (*parser).callonElementAttributesGroup70, - expr: &oneOrMoreExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - expr: &charClassMatcher{ - pos: position{line: 673, col: 9, offset: 21721}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, }, }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 667, col: 79, offset: 21549}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 656, col: 31, offset: 21077}, - run: (*parser).callonElementAttributesGroup74, - expr: &seqExpr{ - pos: position{line: 656, col: 31, offset: 21077}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 656, col: 31, offset: 21077}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - &labeledExpr{ - pos: position{line: 656, col: 35, offset: 21081}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonElementAttributesGroup78, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - 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: 54, offset: 21100}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &ruleRefExpr{ - pos: position{line: 2444, col: 7, offset: 81400}, - name: "Quote", - }, - &actionExpr{ - pos: position{line: 2638, col: 5, offset: 87092}, - run: (*parser).callonElementAttributesGroup85, - expr: &seqExpr{ - pos: position{line: 2638, col: 5, offset: 87092}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 2638, col: 5, offset: 87092}, - run: (*parser).callonElementAttributesGroup87, - }, - &labeledExpr{ - pos: position{line: 2641, col: 5, offset: 87163}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 2643, col: 9, offset: 87261}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2643, col: 9, offset: 87261}, - run: (*parser).callonElementAttributesGroup90, - expr: &choiceExpr{ - pos: position{line: 691, col: 27, offset: 22375}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 691, col: 27, offset: 22375}, - run: (*parser).callonElementAttributesGroup92, - expr: &seqExpr{ - pos: position{line: 691, col: 27, offset: 22375}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 691, col: 27, offset: 22375}, - val: "<<", - ignoreCase: false, - want: "\"<<\"", - }, - &labeledExpr{ - pos: position{line: 691, col: 32, offset: 22380}, - label: "id", - expr: &actionExpr{ - pos: position{line: 2913, col: 7, offset: 95667}, - run: (*parser).callonElementAttributesGroup96, - expr: &oneOrMoreExpr{ - pos: position{line: 2913, col: 7, offset: 95667}, - expr: &charClassMatcher{ - pos: position{line: 2913, col: 7, offset: 95667}, - val: "[^[]<>,]", - chars: []rune{'[', ']', '<', '>', ','}, + &litMatcher{ + pos: position{line: 1090, col: 32, offset: 33668}, + val: "�", ignoreCase: false, - inverted: true, + want: "\"�\"", }, }, }, }, - &zeroOrMoreExpr{ - pos: position{line: 691, col: 40, offset: 22388}, - expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, - run: (*parser).callonElementAttributesGroup100, - expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &litMatcher{ - pos: position{line: 691, col: 47, offset: 22395}, - val: ",", - ignoreCase: false, - want: "\",\"", - }, - &labeledExpr{ - pos: position{line: 691, col: 51, offset: 22399}, - label: "label", - expr: &oneOrMoreExpr{ - pos: position{line: 701, col: 24, offset: 22800}, - expr: &choiceExpr{ - pos: position{line: 702, col: 5, offset: 22806}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 702, col: 6, offset: 22807}, - run: (*parser).callonElementAttributesGroup106, - expr: &seqExpr{ - pos: position{line: 702, col: 6, offset: 22807}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 702, col: 6, offset: 22807}, - val: "[0-9\\pL]", - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &oneOrMoreExpr{ - pos: position{line: 702, col: 14, offset: 22815}, - expr: &charClassMatcher{ - pos: position{line: 702, col: 14, offset: 22815}, - val: "[^\\r\\n{<>]", - chars: []rune{'\r', '\n', '{', '<', '>'}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 649, col: 5, offset: 20887}, - run: (*parser).callonElementAttributesGroup111, - expr: &seqExpr{ - pos: position{line: 649, col: 5, offset: 20887}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 649, col: 5, offset: 20887}, - run: (*parser).callonElementAttributesGroup113, - }, - &labeledExpr{ - pos: position{line: 652, col: 5, offset: 20951}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 652, col: 14, offset: 20960}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 663, col: 25, offset: 21324}, - run: (*parser).callonElementAttributesGroup116, + &actionExpr{ + pos: position{line: 655, col: 5, offset: 20901}, + run: (*parser).callonHeaderGroupElement51, + expr: &seqExpr{ + pos: position{line: 655, col: 5, offset: 20901}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 655, col: 5, offset: 20901}, + run: (*parser).callonHeaderGroupElement53, + }, + &labeledExpr{ + pos: position{line: 658, col: 5, offset: 20970}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 658, col: 14, offset: 20979}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 670, col: 25, offset: 21348}, + run: (*parser).callonHeaderGroupElement56, + expr: &seqExpr{ + pos: position{line: 670, col: 25, offset: 21348}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 670, col: 25, offset: 21348}, + val: "{counter:", + ignoreCase: false, + want: "\"{counter:\"", + }, + &labeledExpr{ + pos: position{line: 670, col: 37, offset: 21360}, + label: "name", + expr: &actionExpr{ + pos: position{line: 336, col: 18, offset: 10325}, + run: (*parser).callonHeaderGroupElement60, expr: &seqExpr{ - pos: position{line: 663, col: 25, offset: 21324}, + pos: position{line: 336, col: 18, offset: 10325}, exprs: []interface{}{ - &litMatcher{ - pos: position{line: 663, col: 25, offset: 21324}, - val: "{counter:", + &charClassMatcher{ + pos: position{line: 336, col: 18, offset: 10325}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, ignoreCase: false, - want: "\"{counter:\"", + inverted: false, }, - &labeledExpr{ - pos: position{line: 663, col: 37, offset: 21336}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonElementAttributesGroup120, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 663, col: 56, offset: 21355}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 663, col: 62, offset: 21361}, - expr: &actionExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - run: (*parser).callonElementAttributesGroup127, - expr: &seqExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 671, col: 17, offset: 21656}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 671, col: 21, offset: 21660}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - run: (*parser).callonElementAttributesGroup132, - expr: &charClassMatcher{ - pos: position{line: 671, col: 28, offset: 21667}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - run: (*parser).callonElementAttributesGroup134, - expr: &oneOrMoreExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - expr: &charClassMatcher{ - pos: position{line: 673, col: 9, offset: 21721}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 663, col: 78, offset: 21377}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 667, col: 25, offset: 21495}, - run: (*parser).callonElementAttributesGroup138, - expr: &seqExpr{ - pos: position{line: 667, col: 25, offset: 21495}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 667, col: 25, offset: 21495}, - val: "{counter2:", - ignoreCase: false, - want: "\"{counter2:\"", - }, - &labeledExpr{ - pos: position{line: 667, col: 38, offset: 21508}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonElementAttributesGroup142, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 667, col: 57, offset: 21527}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 667, col: 63, offset: 21533}, - expr: &actionExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - run: (*parser).callonElementAttributesGroup149, - expr: &seqExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 671, col: 17, offset: 21656}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 671, col: 21, offset: 21660}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - run: (*parser).callonElementAttributesGroup154, - expr: &charClassMatcher{ - pos: position{line: 671, col: 28, offset: 21667}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - run: (*parser).callonElementAttributesGroup156, - expr: &oneOrMoreExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - expr: &charClassMatcher{ - pos: position{line: 673, col: 9, offset: 21721}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 667, col: 79, offset: 21549}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 656, col: 31, offset: 21077}, - run: (*parser).callonElementAttributesGroup160, - expr: &seqExpr{ - pos: position{line: 656, col: 31, offset: 21077}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 656, col: 31, offset: 21077}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - &labeledExpr{ - pos: position{line: 656, col: 35, offset: 21081}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonElementAttributesGroup164, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - 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: 54, offset: 21100}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 706, col: 8, offset: 23039}, - run: (*parser).callonElementAttributesGroup170, - expr: &litMatcher{ - pos: position{line: 706, col: 8, offset: 23039}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 691, col: 79, offset: 22427}, - val: ">>", - ignoreCase: false, - want: "\">>\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 693, col: 9, offset: 22500}, - run: (*parser).callonElementAttributesGroup173, - expr: &seqExpr{ - pos: position{line: 693, col: 9, offset: 22500}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 693, col: 9, offset: 22500}, - val: "<<", - ignoreCase: false, - want: "\"<<\"", - }, - &labeledExpr{ - pos: position{line: 693, col: 14, offset: 22505}, - label: "id", - expr: &actionExpr{ - pos: position{line: 2913, col: 7, offset: 95667}, - run: (*parser).callonElementAttributesGroup177, - expr: &oneOrMoreExpr{ - pos: position{line: 2913, col: 7, offset: 95667}, - expr: &charClassMatcher{ - pos: position{line: 2913, col: 7, offset: 95667}, - val: "[^[]<>,]", - chars: []rune{'[', ']', '<', '>', ','}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 693, col: 22, offset: 22513}, - val: ">>", - ignoreCase: false, - want: "\">>\"", - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2646, col: 11, offset: 87365}, - run: (*parser).callonElementAttributesGroup181, - expr: &charClassMatcher{ - pos: position{line: 2646, col: 12, offset: 87366}, - val: "[<>&]", - chars: []rune{'<', '>', '&'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 1085, col: 23, offset: 33674}, - run: (*parser).callonElementAttributesGroup183, - expr: &seqExpr{ - pos: position{line: 1085, col: 23, offset: 33674}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 1083, col: 32, offset: 33642}, - val: "�", - ignoreCase: false, - want: "\"�\"", - }, - &labeledExpr{ - pos: position{line: 1085, col: 51, offset: 33702}, - label: "ref", - expr: &actionExpr{ - pos: position{line: 1085, col: 56, offset: 33707}, - run: (*parser).callonElementAttributesGroup187, - expr: &oneOrMoreExpr{ - pos: position{line: 1085, col: 56, offset: 33707}, - expr: &charClassMatcher{ - pos: position{line: 1085, col: 56, offset: 33707}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 1083, col: 32, offset: 33642}, - val: "�", - ignoreCase: false, - want: "\"�\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2883, col: 12, offset: 94746}, - run: (*parser).callonElementAttributesGroup191, - expr: &anyMatcher{ - line: 2883, col: 12, offset: 94746, - }, - }, - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, - expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, - }, - }, - }, - }, - }, - }, - { - name: "HeaderGroup", - pos: position{line: 2452, col: 1, offset: 81665}, - expr: &actionExpr{ - pos: position{line: 2453, col: 5, offset: 81685}, - run: (*parser).callonHeaderGroup1, - expr: &seqExpr{ - pos: position{line: 2453, col: 5, offset: 81685}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 2453, col: 5, offset: 81685}, - label: "elements", - expr: &oneOrMoreExpr{ - pos: position{line: 2453, col: 14, offset: 81694}, - expr: &ruleRefExpr{ - pos: position{line: 2453, col: 15, offset: 81695}, - name: "HeaderGroupElement", - }, - }, - }, - ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, - expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, - }, - }, - }, - }, - }, - }, - { - name: "HeaderGroupElement", - pos: position{line: 2457, col: 1, offset: 81779}, - expr: &actionExpr{ - pos: position{line: 2458, col: 5, offset: 81805}, - run: (*parser).callonHeaderGroupElement1, - expr: &seqExpr{ - pos: position{line: 2458, col: 5, offset: 81805}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 2458, col: 5, offset: 81805}, - expr: ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, - expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, - }, - }, - }, - &labeledExpr{ - pos: position{line: 2459, col: 5, offset: 81814}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 2460, col: 9, offset: 81832}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2864, col: 5, offset: 94136}, - run: (*parser).callonHeaderGroupElement8, - expr: &seqExpr{ - pos: position{line: 2864, col: 5, offset: 94136}, - exprs: []interface{}{ - &oneOrMoreExpr{ - pos: position{line: 2864, col: 5, offset: 94136}, - expr: &charClassMatcher{ - pos: position{line: 2864, col: 5, offset: 94136}, - val: "[0-9\\pL]", - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - &andExpr{ - pos: position{line: 2864, col: 15, offset: 94146}, - expr: &choiceExpr{ - pos: position{line: 2864, col: 17, offset: 94148}, - alternatives: []interface{}{ - &charClassMatcher{ - pos: position{line: 2864, col: 17, offset: 94148}, - val: "[\\r\\n ,]]", - chars: []rune{'\r', '\n', ' ', ',', ']'}, - ignoreCase: false, - inverted: false, - }, - ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, - expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2866, col: 9, offset: 94230}, - run: (*parser).callonHeaderGroupElement17, - expr: &seqExpr{ - pos: position{line: 2866, col: 9, offset: 94230}, - exprs: []interface{}{ - &oneOrMoreExpr{ - pos: position{line: 2866, col: 9, offset: 94230}, - expr: &charClassMatcher{ - pos: position{line: 2866, col: 9, offset: 94230}, - val: "[0-9\\pL]", - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - &oneOrMoreExpr{ - pos: position{line: 2866, col: 19, offset: 94240}, - expr: &seqExpr{ - pos: position{line: 2866, col: 20, offset: 94241}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 2866, col: 20, offset: 94241}, - val: "[=*_`]", - chars: []rune{'=', '*', '_', '`'}, - ignoreCase: false, - inverted: false, - }, - &oneOrMoreExpr{ - pos: position{line: 2866, col: 27, offset: 94248}, - expr: &charClassMatcher{ - pos: position{line: 2866, col: 27, offset: 94248}, - val: "[0-9\\pL]", - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2461, col: 12, offset: 81848}, - run: (*parser).callonHeaderGroupElement26, - expr: &seqExpr{ - pos: position{line: 2461, col: 12, offset: 81848}, - exprs: []interface{}{ - &oneOrMoreExpr{ - pos: position{line: 2461, col: 12, offset: 81848}, - expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, - run: (*parser).callonHeaderGroupElement29, - expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &labeledExpr{ - pos: position{line: 2461, col: 19, offset: 81855}, - label: "id", - expr: &actionExpr{ - pos: position{line: 420, col: 4, offset: 12814}, - run: (*parser).callonHeaderGroupElement32, - expr: &seqExpr{ - pos: position{line: 420, col: 4, offset: 12814}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 420, col: 4, offset: 12814}, - val: "[[", - ignoreCase: false, - want: "\"[[\"", - }, - &labeledExpr{ - pos: position{line: 421, col: 5, offset: 12824}, - label: "id", - expr: &actionExpr{ - pos: position{line: 422, col: 9, offset: 12837}, - run: (*parser).callonHeaderGroupElement36, - expr: &labeledExpr{ - pos: position{line: 422, col: 9, offset: 12837}, - label: "elements", - expr: &oneOrMoreExpr{ - pos: position{line: 422, col: 18, offset: 12846}, - expr: &choiceExpr{ - pos: position{line: 423, col: 13, offset: 12860}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 423, col: 14, offset: 12861}, - run: (*parser).callonHeaderGroupElement40, - expr: &oneOrMoreExpr{ - pos: position{line: 423, col: 14, offset: 12861}, - expr: &charClassMatcher{ - pos: position{line: 423, col: 14, offset: 12861}, - val: "[^=\\r\\n�{]]", - chars: []rune{'=', '\r', '\n', '�', '{', ']'}, - ignoreCase: false, - inverted: true, - }, - }, - }, - &actionExpr{ - pos: position{line: 1085, col: 23, offset: 33674}, - run: (*parser).callonHeaderGroupElement43, - expr: &seqExpr{ - pos: position{line: 1085, col: 23, offset: 33674}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 1083, col: 32, offset: 33642}, - val: "�", - ignoreCase: false, - want: "\"�\"", - }, - &labeledExpr{ - pos: position{line: 1085, col: 51, offset: 33702}, - label: "ref", - expr: &actionExpr{ - pos: position{line: 1085, col: 56, offset: 33707}, - run: (*parser).callonHeaderGroupElement47, - expr: &oneOrMoreExpr{ - pos: position{line: 1085, col: 56, offset: 33707}, - expr: &charClassMatcher{ - pos: position{line: 1085, col: 56, offset: 33707}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 1083, col: 32, offset: 33642}, - val: "�", - ignoreCase: false, - want: "\"�\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 649, col: 5, offset: 20887}, - run: (*parser).callonHeaderGroupElement51, - expr: &seqExpr{ - pos: position{line: 649, col: 5, offset: 20887}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 649, col: 5, offset: 20887}, - run: (*parser).callonHeaderGroupElement53, - }, - &labeledExpr{ - pos: position{line: 652, col: 5, offset: 20951}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 652, col: 14, offset: 20960}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 663, col: 25, offset: 21324}, - run: (*parser).callonHeaderGroupElement56, - expr: &seqExpr{ - pos: position{line: 663, col: 25, offset: 21324}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 663, col: 25, offset: 21324}, - val: "{counter:", - ignoreCase: false, - want: "\"{counter:\"", - }, - &labeledExpr{ - pos: position{line: 663, col: 37, offset: 21336}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonHeaderGroupElement60, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, + &zeroOrMoreExpr{ + pos: position{line: 336, col: 28, offset: 10335}, + expr: &charClassMatcher{ + pos: position{line: 336, col: 29, offset: 10336}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, }, }, }, @@ -61838,33 +50162,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 663, col: 56, offset: 21355}, + pos: position{line: 670, col: 56, offset: 21379}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 663, col: 62, offset: 21361}, + pos: position{line: 670, col: 62, offset: 21385}, expr: &actionExpr{ - pos: position{line: 671, col: 17, offset: 21656}, + pos: position{line: 678, col: 17, offset: 21680}, run: (*parser).callonHeaderGroupElement67, expr: &seqExpr{ - pos: position{line: 671, col: 17, offset: 21656}, + pos: position{line: 678, col: 17, offset: 21680}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 671, col: 17, offset: 21656}, + pos: position{line: 678, col: 17, offset: 21680}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 671, col: 21, offset: 21660}, + pos: position{line: 678, col: 21, offset: 21684}, label: "start", expr: &choiceExpr{ - pos: position{line: 671, col: 28, offset: 21667}, + pos: position{line: 678, col: 28, offset: 21691}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 671, col: 28, offset: 21667}, + pos: position{line: 678, col: 28, offset: 21691}, run: (*parser).callonHeaderGroupElement72, expr: &charClassMatcher{ - pos: position{line: 671, col: 28, offset: 21667}, + pos: position{line: 678, col: 28, offset: 21691}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -61872,12 +50196,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 673, col: 9, offset: 21721}, + pos: position{line: 680, col: 9, offset: 21745}, run: (*parser).callonHeaderGroupElement74, expr: &oneOrMoreExpr{ - pos: position{line: 673, col: 9, offset: 21721}, + pos: position{line: 680, col: 9, offset: 21745}, expr: &charClassMatcher{ - pos: position{line: 673, col: 9, offset: 21721}, + pos: position{line: 680, col: 9, offset: 21745}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -61894,7 +50218,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 663, col: 78, offset: 21377}, + pos: position{line: 670, col: 78, offset: 21401}, val: "}", ignoreCase: false, want: "\"}\"", @@ -61903,28 +50227,28 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 667, col: 25, offset: 21495}, + pos: position{line: 674, col: 25, offset: 21519}, run: (*parser).callonHeaderGroupElement78, expr: &seqExpr{ - pos: position{line: 667, col: 25, offset: 21495}, + pos: position{line: 674, col: 25, offset: 21519}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 667, col: 25, offset: 21495}, + pos: position{line: 674, col: 25, offset: 21519}, val: "{counter2:", ignoreCase: false, want: "\"{counter2:\"", }, &labeledExpr{ - pos: position{line: 667, col: 38, offset: 21508}, + pos: position{line: 674, col: 38, offset: 21532}, label: "name", expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, run: (*parser).callonHeaderGroupElement82, expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -61933,9 +50257,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, + pos: position{line: 336, col: 28, offset: 10335}, expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, + pos: position{line: 336, col: 29, offset: 10336}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -61949,33 +50273,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 667, col: 57, offset: 21527}, + pos: position{line: 674, col: 57, offset: 21551}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 667, col: 63, offset: 21533}, + pos: position{line: 674, col: 63, offset: 21557}, expr: &actionExpr{ - pos: position{line: 671, col: 17, offset: 21656}, + pos: position{line: 678, col: 17, offset: 21680}, run: (*parser).callonHeaderGroupElement89, expr: &seqExpr{ - pos: position{line: 671, col: 17, offset: 21656}, + pos: position{line: 678, col: 17, offset: 21680}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 671, col: 17, offset: 21656}, + pos: position{line: 678, col: 17, offset: 21680}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 671, col: 21, offset: 21660}, + pos: position{line: 678, col: 21, offset: 21684}, label: "start", expr: &choiceExpr{ - pos: position{line: 671, col: 28, offset: 21667}, + pos: position{line: 678, col: 28, offset: 21691}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 671, col: 28, offset: 21667}, + pos: position{line: 678, col: 28, offset: 21691}, run: (*parser).callonHeaderGroupElement94, expr: &charClassMatcher{ - pos: position{line: 671, col: 28, offset: 21667}, + pos: position{line: 678, col: 28, offset: 21691}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -61983,12 +50307,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 673, col: 9, offset: 21721}, + pos: position{line: 680, col: 9, offset: 21745}, run: (*parser).callonHeaderGroupElement96, expr: &oneOrMoreExpr{ - pos: position{line: 673, col: 9, offset: 21721}, + pos: position{line: 680, col: 9, offset: 21745}, expr: &charClassMatcher{ - pos: position{line: 673, col: 9, offset: 21721}, + pos: position{line: 680, col: 9, offset: 21745}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -62005,7 +50329,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 667, col: 79, offset: 21549}, + pos: position{line: 674, col: 79, offset: 21573}, val: "}", ignoreCase: false, want: "\"}\"", @@ -62014,28 +50338,28 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 656, col: 31, offset: 21077}, + pos: position{line: 663, col: 5, offset: 21092}, run: (*parser).callonHeaderGroupElement100, expr: &seqExpr{ - pos: position{line: 656, col: 31, offset: 21077}, + pos: position{line: 663, col: 5, offset: 21092}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 656, col: 31, offset: 21077}, + pos: position{line: 663, col: 5, offset: 21092}, val: "{", ignoreCase: false, want: "\"{\"", }, &labeledExpr{ - pos: position{line: 656, col: 35, offset: 21081}, + pos: position{line: 663, col: 9, offset: 21096}, label: "name", expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, run: (*parser).callonHeaderGroupElement104, expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -62044,9 +50368,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, + pos: position{line: 336, col: 28, offset: 10335}, expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, + pos: position{line: 336, col: 29, offset: 10336}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -62060,7 +50384,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 656, col: 54, offset: 21100}, + pos: position{line: 663, col: 28, offset: 21115}, val: "}", ignoreCase: false, want: "\"}\"", @@ -62075,10 +50399,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 428, col: 16, offset: 13097}, + pos: position{line: 428, col: 16, offset: 13083}, run: (*parser).callonHeaderGroupElement110, expr: &litMatcher{ - pos: position{line: 428, col: 16, offset: 13097}, + pos: position{line: 428, col: 16, offset: 13083}, val: "{", ignoreCase: false, want: "\"{\"", @@ -62091,7 +50415,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 434, col: 5, offset: 13283}, + pos: position{line: 434, col: 5, offset: 13269}, val: "]]", ignoreCase: false, want: "\"]]\"", @@ -62101,12 +50425,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 2461, col: 40, offset: 81876}, + pos: position{line: 2468, col: 40, offset: 82050}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonHeaderGroupElement114, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -62115,11 +50439,11 @@ var g = &grammar{ }, }, &andExpr{ - pos: position{line: 2461, col: 47, offset: 81883}, + pos: position{line: 2468, col: 47, offset: 82057}, expr: ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, + pos: position{line: 2851, col: 8, offset: 93443}, expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + line: 2851, col: 9, offset: 93444, }, }, }, @@ -62127,10 +50451,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonHeaderGroupElement119, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -62138,53 +50462,53 @@ var g = &grammar{ }, }, &ruleRefExpr{ - pos: position{line: 2463, col: 11, offset: 81956}, + pos: position{line: 2470, col: 11, offset: 82130}, name: "InlinePassthrough", }, &actionExpr{ - pos: position{line: 2638, col: 5, offset: 87092}, + pos: position{line: 2539, col: 5, offset: 83846}, run: (*parser).callonHeaderGroupElement122, expr: &seqExpr{ - pos: position{line: 2638, col: 5, offset: 87092}, + pos: position{line: 2539, col: 5, offset: 83846}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 2638, col: 5, offset: 87092}, + pos: position{line: 2539, col: 5, offset: 83846}, run: (*parser).callonHeaderGroupElement124, }, &labeledExpr{ - pos: position{line: 2641, col: 5, offset: 87163}, + pos: position{line: 2542, col: 5, offset: 83922}, label: "element", expr: &choiceExpr{ - pos: position{line: 2643, col: 9, offset: 87261}, + pos: position{line: 2544, col: 9, offset: 84020}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2643, col: 9, offset: 87261}, + pos: position{line: 2544, col: 9, offset: 84020}, run: (*parser).callonHeaderGroupElement127, expr: &choiceExpr{ - pos: position{line: 691, col: 27, offset: 22375}, + pos: position{line: 698, col: 27, offset: 22399}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 691, col: 27, offset: 22375}, + pos: position{line: 698, col: 27, offset: 22399}, run: (*parser).callonHeaderGroupElement129, expr: &seqExpr{ - pos: position{line: 691, col: 27, offset: 22375}, + pos: position{line: 698, col: 27, offset: 22399}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 691, col: 27, offset: 22375}, + pos: position{line: 698, col: 27, offset: 22399}, val: "<<", ignoreCase: false, want: "\"<<\"", }, &labeledExpr{ - pos: position{line: 691, col: 32, offset: 22380}, + pos: position{line: 698, col: 32, offset: 22404}, label: "id", expr: &actionExpr{ - pos: position{line: 2913, col: 7, offset: 95667}, + pos: position{line: 2823, col: 7, offset: 92821}, run: (*parser).callonHeaderGroupElement133, expr: &oneOrMoreExpr{ - pos: position{line: 2913, col: 7, offset: 95667}, + pos: position{line: 2823, col: 7, offset: 92821}, expr: &charClassMatcher{ - pos: position{line: 2913, col: 7, offset: 95667}, + pos: position{line: 2823, col: 7, offset: 92821}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -62194,12 +50518,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 691, col: 40, offset: 22388}, + pos: position{line: 698, col: 40, offset: 22412}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, + pos: position{line: 2838, col: 10, offset: 93169}, run: (*parser).callonHeaderGroupElement137, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -62208,27 +50532,27 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 691, col: 47, offset: 22395}, + pos: position{line: 698, col: 47, offset: 22419}, val: ",", ignoreCase: false, want: "\",\"", }, &labeledExpr{ - pos: position{line: 691, col: 51, offset: 22399}, + pos: position{line: 698, col: 51, offset: 22423}, label: "label", expr: &oneOrMoreExpr{ - pos: position{line: 701, col: 24, offset: 22800}, + pos: position{line: 708, col: 24, offset: 22824}, expr: &choiceExpr{ - pos: position{line: 702, col: 5, offset: 22806}, + pos: position{line: 709, col: 5, offset: 22830}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 702, col: 6, offset: 22807}, + pos: position{line: 709, col: 6, offset: 22831}, run: (*parser).callonHeaderGroupElement143, expr: &seqExpr{ - pos: position{line: 702, col: 6, offset: 22807}, + pos: position{line: 709, col: 6, offset: 22831}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 702, col: 6, offset: 22807}, + pos: position{line: 709, col: 6, offset: 22831}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -62236,9 +50560,9 @@ var g = &grammar{ inverted: false, }, &oneOrMoreExpr{ - pos: position{line: 702, col: 14, offset: 22815}, + pos: position{line: 709, col: 14, offset: 22839}, expr: &charClassMatcher{ - pos: position{line: 702, col: 14, offset: 22815}, + pos: position{line: 709, col: 14, offset: 22839}, val: "[^\\r\\n{<>]", chars: []rune{'\r', '\n', '{', '<', '>'}, ignoreCase: false, @@ -62249,309 +50573,65 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 649, col: 5, offset: 20887}, + pos: position{line: 663, col: 5, offset: 21092}, run: (*parser).callonHeaderGroupElement148, expr: &seqExpr{ - pos: position{line: 649, col: 5, offset: 20887}, + pos: position{line: 663, col: 5, offset: 21092}, exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 649, col: 5, offset: 20887}, - run: (*parser).callonHeaderGroupElement150, + &litMatcher{ + pos: position{line: 663, col: 5, offset: 21092}, + val: "{", + ignoreCase: false, + want: "\"{\"", }, &labeledExpr{ - pos: position{line: 652, col: 5, offset: 20951}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 652, col: 14, offset: 20960}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 663, col: 25, offset: 21324}, - run: (*parser).callonHeaderGroupElement153, - expr: &seqExpr{ - pos: position{line: 663, col: 25, offset: 21324}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 663, col: 25, offset: 21324}, - val: "{counter:", - ignoreCase: false, - want: "\"{counter:\"", - }, - &labeledExpr{ - pos: position{line: 663, col: 37, offset: 21336}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonHeaderGroupElement157, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 663, col: 56, offset: 21355}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 663, col: 62, offset: 21361}, - expr: &actionExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - run: (*parser).callonHeaderGroupElement164, - expr: &seqExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 671, col: 17, offset: 21656}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 671, col: 21, offset: 21660}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - run: (*parser).callonHeaderGroupElement169, - expr: &charClassMatcher{ - pos: position{line: 671, col: 28, offset: 21667}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - run: (*parser).callonHeaderGroupElement171, - expr: &oneOrMoreExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - expr: &charClassMatcher{ - pos: position{line: 673, col: 9, offset: 21721}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 663, col: 78, offset: 21377}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 667, col: 25, offset: 21495}, - run: (*parser).callonHeaderGroupElement175, - expr: &seqExpr{ - pos: position{line: 667, col: 25, offset: 21495}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 667, col: 25, offset: 21495}, - val: "{counter2:", - ignoreCase: false, - want: "\"{counter2:\"", - }, - &labeledExpr{ - pos: position{line: 667, col: 38, offset: 21508}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonHeaderGroupElement179, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 667, col: 57, offset: 21527}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 667, col: 63, offset: 21533}, - expr: &actionExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - run: (*parser).callonHeaderGroupElement186, - expr: &seqExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 671, col: 17, offset: 21656}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 671, col: 21, offset: 21660}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - run: (*parser).callonHeaderGroupElement191, - expr: &charClassMatcher{ - pos: position{line: 671, col: 28, offset: 21667}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - run: (*parser).callonHeaderGroupElement193, - expr: &oneOrMoreExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - expr: &charClassMatcher{ - pos: position{line: 673, col: 9, offset: 21721}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 667, col: 79, offset: 21549}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 656, col: 31, offset: 21077}, - run: (*parser).callonHeaderGroupElement197, - expr: &seqExpr{ - pos: position{line: 656, col: 31, offset: 21077}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 656, col: 31, offset: 21077}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - &labeledExpr{ - pos: position{line: 656, col: 35, offset: 21081}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonHeaderGroupElement201, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - 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: 54, offset: 21100}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, + pos: position{line: 663, col: 9, offset: 21096}, + label: "name", + expr: &actionExpr{ + pos: position{line: 336, col: 18, offset: 10325}, + run: (*parser).callonHeaderGroupElement152, + expr: &seqExpr{ + pos: position{line: 336, col: 18, offset: 10325}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 336, col: 18, offset: 10325}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 336, col: 28, offset: 10335}, + expr: &charClassMatcher{ + pos: position{line: 336, col: 29, offset: 10336}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, }, }, }, }, }, }, + &litMatcher{ + pos: position{line: 663, col: 28, offset: 21115}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, }, }, }, &actionExpr{ - pos: position{line: 706, col: 8, offset: 23039}, - run: (*parser).callonHeaderGroupElement207, + pos: position{line: 713, col: 8, offset: 23065}, + run: (*parser).callonHeaderGroupElement158, expr: &litMatcher{ - pos: position{line: 706, col: 8, offset: 23039}, + pos: position{line: 713, col: 8, offset: 23065}, val: "{", ignoreCase: false, want: "\"{\"", @@ -62562,7 +50642,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 691, col: 79, offset: 22427}, + pos: position{line: 698, col: 79, offset: 22451}, val: ">>", ignoreCase: false, want: "\">>\"", @@ -62571,27 +50651,27 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 693, col: 9, offset: 22500}, - run: (*parser).callonHeaderGroupElement210, + pos: position{line: 700, col: 9, offset: 22524}, + run: (*parser).callonHeaderGroupElement161, expr: &seqExpr{ - pos: position{line: 693, col: 9, offset: 22500}, + pos: position{line: 700, col: 9, offset: 22524}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 693, col: 9, offset: 22500}, + pos: position{line: 700, col: 9, offset: 22524}, val: "<<", ignoreCase: false, want: "\"<<\"", }, &labeledExpr{ - pos: position{line: 693, col: 14, offset: 22505}, + pos: position{line: 700, col: 14, offset: 22529}, label: "id", expr: &actionExpr{ - pos: position{line: 2913, col: 7, offset: 95667}, - run: (*parser).callonHeaderGroupElement214, + pos: position{line: 2823, col: 7, offset: 92821}, + run: (*parser).callonHeaderGroupElement165, expr: &oneOrMoreExpr{ - pos: position{line: 2913, col: 7, offset: 95667}, + pos: position{line: 2823, col: 7, offset: 92821}, expr: &charClassMatcher{ - pos: position{line: 2913, col: 7, offset: 95667}, + pos: position{line: 2823, col: 7, offset: 92821}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -62601,7 +50681,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 693, col: 22, offset: 22513}, + pos: position{line: 700, col: 22, offset: 22537}, val: ">>", ignoreCase: false, want: "\">>\"", @@ -62613,10 +50693,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2646, col: 11, offset: 87365}, - run: (*parser).callonHeaderGroupElement218, + pos: position{line: 2547, col: 11, offset: 84124}, + run: (*parser).callonHeaderGroupElement169, expr: &charClassMatcher{ - pos: position{line: 2646, col: 12, offset: 87366}, + pos: position{line: 2547, col: 12, offset: 84125}, val: "[<>&]", chars: []rune{'<', '>', '&'}, ignoreCase: false, @@ -62630,56 +50710,56 @@ var g = &grammar{ }, }, &ruleRefExpr{ - pos: position{line: 2465, col: 11, offset: 82011}, + pos: position{line: 2472, col: 11, offset: 82185}, name: "Quote", }, &ruleRefExpr{ - pos: position{line: 2466, col: 11, offset: 82027}, + pos: position{line: 2473, col: 11, offset: 82201}, name: "Link", }, &ruleRefExpr{ - pos: position{line: 2467, col: 11, offset: 82042}, + pos: position{line: 2474, col: 11, offset: 82216}, name: "InlineIcon", }, &actionExpr{ - pos: position{line: 649, col: 5, offset: 20887}, - run: (*parser).callonHeaderGroupElement223, + pos: position{line: 655, col: 5, offset: 20901}, + run: (*parser).callonHeaderGroupElement174, expr: &seqExpr{ - pos: position{line: 649, col: 5, offset: 20887}, + pos: position{line: 655, col: 5, offset: 20901}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 649, col: 5, offset: 20887}, - run: (*parser).callonHeaderGroupElement225, + pos: position{line: 655, col: 5, offset: 20901}, + run: (*parser).callonHeaderGroupElement176, }, &labeledExpr{ - pos: position{line: 652, col: 5, offset: 20951}, + pos: position{line: 658, col: 5, offset: 20970}, label: "element", expr: &choiceExpr{ - pos: position{line: 652, col: 14, offset: 20960}, + pos: position{line: 658, col: 14, offset: 20979}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 663, col: 25, offset: 21324}, - run: (*parser).callonHeaderGroupElement228, + pos: position{line: 670, col: 25, offset: 21348}, + run: (*parser).callonHeaderGroupElement179, expr: &seqExpr{ - pos: position{line: 663, col: 25, offset: 21324}, + pos: position{line: 670, col: 25, offset: 21348}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 663, col: 25, offset: 21324}, + pos: position{line: 670, col: 25, offset: 21348}, val: "{counter:", ignoreCase: false, want: "\"{counter:\"", }, &labeledExpr{ - pos: position{line: 663, col: 37, offset: 21336}, + pos: position{line: 670, col: 37, offset: 21360}, label: "name", expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonHeaderGroupElement232, + pos: position{line: 336, col: 18, offset: 10325}, + run: (*parser).callonHeaderGroupElement183, expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -62688,9 +50768,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, + pos: position{line: 336, col: 28, offset: 10335}, expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, + pos: position{line: 336, col: 29, offset: 10336}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -62704,33 +50784,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 663, col: 56, offset: 21355}, + pos: position{line: 670, col: 56, offset: 21379}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 663, col: 62, offset: 21361}, + pos: position{line: 670, col: 62, offset: 21385}, expr: &actionExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - run: (*parser).callonHeaderGroupElement239, + pos: position{line: 678, col: 17, offset: 21680}, + run: (*parser).callonHeaderGroupElement190, expr: &seqExpr{ - pos: position{line: 671, col: 17, offset: 21656}, + pos: position{line: 678, col: 17, offset: 21680}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 671, col: 17, offset: 21656}, + pos: position{line: 678, col: 17, offset: 21680}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 671, col: 21, offset: 21660}, + pos: position{line: 678, col: 21, offset: 21684}, label: "start", expr: &choiceExpr{ - pos: position{line: 671, col: 28, offset: 21667}, + pos: position{line: 678, col: 28, offset: 21691}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - run: (*parser).callonHeaderGroupElement244, + pos: position{line: 678, col: 28, offset: 21691}, + run: (*parser).callonHeaderGroupElement195, expr: &charClassMatcher{ - pos: position{line: 671, col: 28, offset: 21667}, + pos: position{line: 678, col: 28, offset: 21691}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -62738,12 +50818,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - run: (*parser).callonHeaderGroupElement246, + pos: position{line: 680, col: 9, offset: 21745}, + run: (*parser).callonHeaderGroupElement197, expr: &oneOrMoreExpr{ - pos: position{line: 673, col: 9, offset: 21721}, + pos: position{line: 680, col: 9, offset: 21745}, expr: &charClassMatcher{ - pos: position{line: 673, col: 9, offset: 21721}, + pos: position{line: 680, col: 9, offset: 21745}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -62760,7 +50840,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 663, col: 78, offset: 21377}, + pos: position{line: 670, col: 78, offset: 21401}, val: "}", ignoreCase: false, want: "\"}\"", @@ -62769,28 +50849,28 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 667, col: 25, offset: 21495}, - run: (*parser).callonHeaderGroupElement250, + pos: position{line: 674, col: 25, offset: 21519}, + run: (*parser).callonHeaderGroupElement201, expr: &seqExpr{ - pos: position{line: 667, col: 25, offset: 21495}, + pos: position{line: 674, col: 25, offset: 21519}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 667, col: 25, offset: 21495}, + pos: position{line: 674, col: 25, offset: 21519}, val: "{counter2:", ignoreCase: false, want: "\"{counter2:\"", }, &labeledExpr{ - pos: position{line: 667, col: 38, offset: 21508}, + pos: position{line: 674, col: 38, offset: 21532}, label: "name", expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonHeaderGroupElement254, + pos: position{line: 336, col: 18, offset: 10325}, + run: (*parser).callonHeaderGroupElement205, expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -62799,9 +50879,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, + pos: position{line: 336, col: 28, offset: 10335}, expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, + pos: position{line: 336, col: 29, offset: 10336}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -62815,33 +50895,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 667, col: 57, offset: 21527}, + pos: position{line: 674, col: 57, offset: 21551}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 667, col: 63, offset: 21533}, + pos: position{line: 674, col: 63, offset: 21557}, expr: &actionExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - run: (*parser).callonHeaderGroupElement261, + pos: position{line: 678, col: 17, offset: 21680}, + run: (*parser).callonHeaderGroupElement212, expr: &seqExpr{ - pos: position{line: 671, col: 17, offset: 21656}, + pos: position{line: 678, col: 17, offset: 21680}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 671, col: 17, offset: 21656}, + pos: position{line: 678, col: 17, offset: 21680}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 671, col: 21, offset: 21660}, + pos: position{line: 678, col: 21, offset: 21684}, label: "start", expr: &choiceExpr{ - pos: position{line: 671, col: 28, offset: 21667}, + pos: position{line: 678, col: 28, offset: 21691}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - run: (*parser).callonHeaderGroupElement266, + pos: position{line: 678, col: 28, offset: 21691}, + run: (*parser).callonHeaderGroupElement217, expr: &charClassMatcher{ - pos: position{line: 671, col: 28, offset: 21667}, + pos: position{line: 678, col: 28, offset: 21691}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -62849,12 +50929,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - run: (*parser).callonHeaderGroupElement268, + pos: position{line: 680, col: 9, offset: 21745}, + run: (*parser).callonHeaderGroupElement219, expr: &oneOrMoreExpr{ - pos: position{line: 673, col: 9, offset: 21721}, + pos: position{line: 680, col: 9, offset: 21745}, expr: &charClassMatcher{ - pos: position{line: 673, col: 9, offset: 21721}, + pos: position{line: 680, col: 9, offset: 21745}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -62871,7 +50951,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 667, col: 79, offset: 21549}, + pos: position{line: 674, col: 79, offset: 21573}, val: "}", ignoreCase: false, want: "\"}\"", @@ -62880,28 +50960,28 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 656, col: 31, offset: 21077}, - run: (*parser).callonHeaderGroupElement272, + pos: position{line: 663, col: 5, offset: 21092}, + run: (*parser).callonHeaderGroupElement223, expr: &seqExpr{ - pos: position{line: 656, col: 31, offset: 21077}, + pos: position{line: 663, col: 5, offset: 21092}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 656, col: 31, offset: 21077}, + pos: position{line: 663, col: 5, offset: 21092}, val: "{", ignoreCase: false, want: "\"{\"", }, &labeledExpr{ - pos: position{line: 656, col: 35, offset: 21081}, + pos: position{line: 663, col: 9, offset: 21096}, label: "name", expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonHeaderGroupElement276, + pos: position{line: 336, col: 18, offset: 10325}, + run: (*parser).callonHeaderGroupElement227, expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, + pos: position{line: 336, col: 18, offset: 10325}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -62910,9 +50990,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, + pos: position{line: 336, col: 28, offset: 10335}, expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, + pos: position{line: 336, col: 29, offset: 10336}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -62926,7 +51006,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 656, col: 54, offset: 21100}, + pos: position{line: 663, col: 28, offset: 21115}, val: "}", ignoreCase: false, want: "\"}\"", @@ -62941,27 +51021,27 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1085, col: 23, offset: 33674}, - run: (*parser).callonHeaderGroupElement282, + pos: position{line: 1092, col: 23, offset: 33700}, + run: (*parser).callonHeaderGroupElement233, expr: &seqExpr{ - pos: position{line: 1085, col: 23, offset: 33674}, + pos: position{line: 1092, col: 23, offset: 33700}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1083, col: 32, offset: 33642}, + pos: position{line: 1090, col: 32, offset: 33668}, val: "�", ignoreCase: false, want: "\"�\"", }, &labeledExpr{ - pos: position{line: 1085, col: 51, offset: 33702}, + pos: position{line: 1092, col: 51, offset: 33728}, label: "ref", expr: &actionExpr{ - pos: position{line: 1085, col: 56, offset: 33707}, - run: (*parser).callonHeaderGroupElement286, + pos: position{line: 1092, col: 56, offset: 33733}, + run: (*parser).callonHeaderGroupElement237, expr: &oneOrMoreExpr{ - pos: position{line: 1085, col: 56, offset: 33707}, + pos: position{line: 1092, col: 56, offset: 33733}, expr: &charClassMatcher{ - pos: position{line: 1085, col: 56, offset: 33707}, + pos: position{line: 1092, col: 56, offset: 33733}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -62971,7 +51051,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1083, col: 32, offset: 33642}, + pos: position{line: 1090, col: 32, offset: 33668}, val: "�", ignoreCase: false, want: "\"�\"", @@ -62980,79 +51060,79 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2627, col: 5, offset: 86871}, - run: (*parser).callonHeaderGroupElement290, + pos: position{line: 2528, col: 5, offset: 83620}, + run: (*parser).callonHeaderGroupElement241, expr: &seqExpr{ - pos: position{line: 2627, col: 5, offset: 86871}, + pos: position{line: 2528, col: 5, offset: 83620}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 2627, col: 5, offset: 86871}, - run: (*parser).callonHeaderGroupElement292, + pos: position{line: 2528, col: 5, offset: 83620}, + run: (*parser).callonHeaderGroupElement243, }, &labeledExpr{ - pos: position{line: 2630, col: 5, offset: 86937}, + pos: position{line: 2531, col: 5, offset: 83691}, label: "element", expr: &choiceExpr{ - pos: position{line: 2669, col: 11, offset: 88239}, + pos: position{line: 2570, col: 11, offset: 84998}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2671, col: 15, offset: 88333}, - run: (*parser).callonHeaderGroupElement295, + pos: position{line: 2572, col: 15, offset: 85092}, + run: (*parser).callonHeaderGroupElement246, expr: &litMatcher{ - pos: position{line: 2671, col: 15, offset: 88333}, + pos: position{line: 2572, col: 15, offset: 85092}, val: "`'", ignoreCase: false, want: "\"`'\"", }, }, &actionExpr{ - pos: position{line: 2677, col: 14, offset: 88448}, - run: (*parser).callonHeaderGroupElement297, + pos: position{line: 2578, col: 14, offset: 85207}, + run: (*parser).callonHeaderGroupElement248, expr: &litMatcher{ - pos: position{line: 2677, col: 14, offset: 88448}, + pos: position{line: 2578, col: 14, offset: 85207}, val: "(C)", ignoreCase: false, want: "\"(C)\"", }, }, &actionExpr{ - pos: position{line: 2681, col: 14, offset: 88524}, - run: (*parser).callonHeaderGroupElement299, + pos: position{line: 2582, col: 14, offset: 85283}, + run: (*parser).callonHeaderGroupElement250, expr: &litMatcher{ - pos: position{line: 2681, col: 14, offset: 88524}, + pos: position{line: 2582, col: 14, offset: 85283}, val: "(TM)", ignoreCase: false, want: "\"(TM)\"", }, }, &actionExpr{ - pos: position{line: 2685, col: 15, offset: 88602}, - run: (*parser).callonHeaderGroupElement301, + pos: position{line: 2586, col: 15, offset: 85361}, + run: (*parser).callonHeaderGroupElement252, expr: &litMatcher{ - pos: position{line: 2685, col: 15, offset: 88602}, + pos: position{line: 2586, col: 15, offset: 85361}, val: "(R)", ignoreCase: false, want: "\"(R)\"", }, }, &actionExpr{ - pos: position{line: 2689, col: 13, offset: 88677}, - run: (*parser).callonHeaderGroupElement303, + pos: position{line: 2590, col: 13, offset: 85436}, + run: (*parser).callonHeaderGroupElement254, expr: &litMatcher{ - pos: position{line: 2689, col: 13, offset: 88677}, + pos: position{line: 2590, col: 13, offset: 85436}, val: "...", ignoreCase: false, want: "\"...\"", }, }, &actionExpr{ - pos: position{line: 2697, col: 22, offset: 88983}, - run: (*parser).callonHeaderGroupElement305, + pos: position{line: 2598, col: 22, offset: 85742}, + run: (*parser).callonHeaderGroupElement256, expr: &seqExpr{ - pos: position{line: 2697, col: 22, offset: 88983}, + pos: position{line: 2598, col: 22, offset: 85742}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 2852, col: 13, offset: 93681}, + pos: position{line: 2753, col: 13, offset: 90440}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -63060,15 +51140,15 @@ var g = &grammar{ inverted: false, }, &litMatcher{ - pos: position{line: 2697, col: 31, offset: 88992}, + pos: position{line: 2598, col: 31, offset: 85751}, val: "'", ignoreCase: false, want: "\"'\"", }, &andExpr{ - pos: position{line: 2697, col: 35, offset: 88996}, + pos: position{line: 2598, col: 35, offset: 85755}, expr: &charClassMatcher{ - pos: position{line: 2697, col: 36, offset: 88997}, + pos: position{line: 2598, col: 36, offset: 85756}, val: "[\\pL]", classes: []*unicode.RangeTable{rangeTable("L")}, ignoreCase: false, @@ -63085,27 +51165,27 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1164, col: 17, offset: 36165}, - run: (*parser).callonHeaderGroupElement311, + pos: position{line: 1171, col: 17, offset: 36233}, + run: (*parser).callonHeaderGroupElement262, expr: &seqExpr{ - pos: position{line: 1164, col: 17, offset: 36165}, + pos: position{line: 1171, col: 17, offset: 36233}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1164, col: 17, offset: 36165}, + pos: position{line: 1171, col: 17, offset: 36233}, val: "[[", ignoreCase: false, want: "\"[[\"", }, &labeledExpr{ - pos: position{line: 1164, col: 22, offset: 36170}, + pos: position{line: 1171, col: 22, offset: 36238}, label: "id", expr: &actionExpr{ - pos: position{line: 2913, col: 7, offset: 95667}, - run: (*parser).callonHeaderGroupElement315, + pos: position{line: 2823, col: 7, offset: 92821}, + run: (*parser).callonHeaderGroupElement266, expr: &oneOrMoreExpr{ - pos: position{line: 2913, col: 7, offset: 95667}, + pos: position{line: 2823, col: 7, offset: 92821}, expr: &charClassMatcher{ - pos: position{line: 2913, col: 7, offset: 95667}, + pos: position{line: 2823, col: 7, offset: 92821}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -63115,7 +51195,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1164, col: 30, offset: 36178}, + pos: position{line: 1171, col: 30, offset: 36246}, val: "]]", ignoreCase: false, want: "\"]]\"", @@ -63124,14 +51204,14 @@ var g = &grammar{ }, }, &ruleRefExpr{ - pos: position{line: 2472, col: 11, offset: 82290}, + pos: position{line: 2479, col: 11, offset: 82461}, name: "InlineFootnote", }, &actionExpr{ - pos: position{line: 2883, col: 12, offset: 94746}, - run: (*parser).callonHeaderGroupElement320, + pos: position{line: 2784, col: 12, offset: 91505}, + run: (*parser).callonHeaderGroupElement271, expr: &anyMatcher{ - line: 2883, col: 12, offset: 94746, + line: 2784, col: 12, offset: 91505, }, }, }, @@ -63142,97 +51222,215 @@ var g = &grammar{ }, }, { - name: "MacrosGroup", - pos: position{line: 2478, col: 1, offset: 82409}, + name: "InlineMacro", + pos: position{line: 2484, col: 1, offset: 82540}, expr: &actionExpr{ - pos: position{line: 2478, col: 16, offset: 82424}, - run: (*parser).callonMacrosGroup1, + pos: position{line: 2486, col: 5, offset: 82622}, + run: (*parser).callonInlineMacro1, expr: &seqExpr{ - pos: position{line: 2478, col: 16, offset: 82424}, + pos: position{line: 2486, col: 5, offset: 82622}, exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2486, col: 5, offset: 82622}, + run: (*parser).callonInlineMacro3, + }, &labeledExpr{ - pos: position{line: 2478, col: 16, offset: 82424}, - label: "elements", - expr: &oneOrMoreExpr{ - pos: position{line: 2478, col: 25, offset: 82433}, - expr: &choiceExpr{ - pos: position{line: 2479, col: 5, offset: 82439}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2871, col: 5, offset: 94354}, - run: (*parser).callonMacrosGroup6, - expr: &seqExpr{ - pos: position{line: 2871, col: 5, offset: 94354}, - exprs: []interface{}{ - &oneOrMoreExpr{ - pos: position{line: 2871, col: 5, offset: 94354}, - expr: &charClassMatcher{ - pos: position{line: 2871, col: 5, offset: 94354}, - val: "[,;!?0-9\\pL]", - chars: []rune{',', ';', '!', '?'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, + pos: position{line: 2489, col: 5, offset: 82687}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 2490, col: 9, offset: 82705}, + alternatives: []interface{}{ + &ruleRefExpr{ + pos: position{line: 2490, col: 9, offset: 82705}, + name: "InlineIcon", + }, + &ruleRefExpr{ + pos: position{line: 2491, col: 11, offset: 82726}, + name: "InlineImage", + }, + &ruleRefExpr{ + pos: position{line: 2492, col: 11, offset: 82749}, + name: "Link", + }, + &ruleRefExpr{ + pos: position{line: 2493, col: 11, offset: 82765}, + name: "InlinePassthrough", + }, + &ruleRefExpr{ + pos: position{line: 2494, col: 11, offset: 82794}, + name: "InlineFootnote", + }, + &ruleRefExpr{ + pos: position{line: 2495, col: 11, offset: 82820}, + name: "CrossReference", + }, + &ruleRefExpr{ + pos: position{line: 2496, col: 11, offset: 82846}, + name: "InlineUserMacro", + }, + &actionExpr{ + pos: position{line: 1171, col: 17, offset: 36233}, + run: (*parser).callonInlineMacro13, + expr: &seqExpr{ + pos: position{line: 1171, col: 17, offset: 36233}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1171, col: 17, offset: 36233}, + val: "[[", + ignoreCase: false, + want: "\"[[\"", + }, + &labeledExpr{ + pos: position{line: 1171, col: 22, offset: 36238}, + label: "id", + expr: &actionExpr{ + pos: position{line: 2823, col: 7, offset: 92821}, + run: (*parser).callonInlineMacro17, + expr: &oneOrMoreExpr{ + pos: position{line: 2823, col: 7, offset: 92821}, + expr: &charClassMatcher{ + pos: position{line: 2823, col: 7, offset: 92821}, + val: "[^[]<>,]", + chars: []rune{'[', ']', '<', '>', ','}, + ignoreCase: false, + inverted: true, + }, }, }, - &choiceExpr{ - pos: position{line: 2872, col: 6, offset: 94404}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, - run: (*parser).callonMacrosGroup11, - expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - &andExpr{ - pos: position{line: 2872, col: 14, offset: 94412}, - expr: &choiceExpr{ - pos: position{line: 2872, col: 16, offset: 94414}, - alternatives: []interface{}{ - &charClassMatcher{ - pos: position{line: 2872, col: 16, offset: 94414}, - val: "[.�]", - chars: []rune{'.', '�'}, + }, + &litMatcher{ + pos: position{line: 1171, col: 30, offset: 36246}, + val: "]]", + ignoreCase: false, + want: "\"]]\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1188, col: 23, offset: 36930}, + run: (*parser).callonInlineMacro21, + expr: &seqExpr{ + pos: position{line: 1188, col: 23, offset: 36930}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1188, col: 23, offset: 36930}, + val: "(((", + ignoreCase: false, + want: "\"(((\"", + }, + &labeledExpr{ + pos: position{line: 1188, col: 29, offset: 36936}, + label: "term1", + expr: &actionExpr{ + pos: position{line: 1195, col: 30, offset: 37267}, + run: (*parser).callonInlineMacro25, + expr: &oneOrMoreExpr{ + pos: position{line: 1195, col: 30, offset: 37267}, + expr: &choiceExpr{ + pos: position{line: 1195, col: 31, offset: 37268}, + alternatives: []interface{}{ + &charClassMatcher{ + pos: position{line: 2753, col: 13, offset: 90440}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &actionExpr{ + pos: position{line: 2838, col: 10, offset: 93169}, + run: (*parser).callonInlineMacro29, + expr: &charClassMatcher{ + pos: position{line: 2838, col: 11, offset: 93170}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, ignoreCase: false, inverted: false, }, - &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, - run: (*parser).callonMacrosGroup16, - expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1189, col: 5, offset: 36975}, + label: "term2", + expr: &zeroOrOneExpr{ + pos: position{line: 1189, col: 11, offset: 36981}, + expr: &actionExpr{ + pos: position{line: 1189, col: 12, offset: 36982}, + run: (*parser).callonInlineMacro33, + expr: &seqExpr{ + pos: position{line: 1189, col: 12, offset: 36982}, + exprs: []interface{}{ + &zeroOrMoreExpr{ + pos: position{line: 1189, col: 12, offset: 36982}, + expr: &actionExpr{ + pos: position{line: 2838, col: 10, offset: 93169}, + run: (*parser).callonInlineMacro36, + expr: &charClassMatcher{ + pos: position{line: 2838, col: 11, offset: 93170}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, }, }, - ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, - expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + }, + &litMatcher{ + pos: position{line: 1189, col: 19, offset: 36989}, + val: ",", + ignoreCase: false, + want: "\",\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 1189, col: 23, offset: 36993}, + expr: &actionExpr{ + pos: position{line: 2838, col: 10, offset: 93169}, + run: (*parser).callonInlineMacro40, + expr: &charClassMatcher{ + pos: position{line: 2838, col: 11, offset: 93170}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1189, col: 30, offset: 37000}, + label: "content", + expr: &actionExpr{ + pos: position{line: 1195, col: 30, offset: 37267}, + run: (*parser).callonInlineMacro43, + expr: &oneOrMoreExpr{ + pos: position{line: 1195, col: 30, offset: 37267}, + expr: &choiceExpr{ + pos: position{line: 1195, col: 31, offset: 37268}, + alternatives: []interface{}{ + &charClassMatcher{ + pos: position{line: 2753, col: 13, offset: 90440}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &actionExpr{ + pos: position{line: 2838, col: 10, offset: 93169}, + run: (*parser).callonInlineMacro47, + expr: &charClassMatcher{ + pos: position{line: 2838, col: 11, offset: 93170}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, }, }, }, @@ -63241,394 +51439,489 @@ var g = &grammar{ }, }, }, - }, - }, - &ruleRefExpr{ - pos: position{line: 2480, col: 7, offset: 82456}, - name: "InlineMacro", - }, - &actionExpr{ - pos: position{line: 1085, col: 23, offset: 33674}, - run: (*parser).callonMacrosGroup24, - expr: &seqExpr{ - pos: position{line: 1085, col: 23, offset: 33674}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 1083, col: 32, offset: 33642}, - val: "�", - ignoreCase: false, - want: "\"�\"", - }, - &labeledExpr{ - pos: position{line: 1085, col: 51, offset: 33702}, - label: "ref", + &labeledExpr{ + pos: position{line: 1190, col: 5, offset: 37067}, + label: "term3", + expr: &zeroOrOneExpr{ + pos: position{line: 1190, col: 11, offset: 37073}, expr: &actionExpr{ - pos: position{line: 1085, col: 56, offset: 33707}, - run: (*parser).callonMacrosGroup28, - expr: &oneOrMoreExpr{ - pos: position{line: 1085, col: 56, offset: 33707}, - expr: &charClassMatcher{ - pos: position{line: 1085, col: 56, offset: 33707}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, + pos: position{line: 1190, col: 12, offset: 37074}, + run: (*parser).callonInlineMacro51, + expr: &seqExpr{ + pos: position{line: 1190, col: 12, offset: 37074}, + exprs: []interface{}{ + &zeroOrMoreExpr{ + pos: position{line: 1190, col: 12, offset: 37074}, + expr: &actionExpr{ + pos: position{line: 2838, col: 10, offset: 93169}, + run: (*parser).callonInlineMacro54, + expr: &charClassMatcher{ + pos: position{line: 2838, col: 11, offset: 93170}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &litMatcher{ + pos: position{line: 1190, col: 19, offset: 37081}, + val: ",", + ignoreCase: false, + want: "\",\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 1190, col: 23, offset: 37085}, + expr: &actionExpr{ + pos: position{line: 2838, col: 10, offset: 93169}, + run: (*parser).callonInlineMacro58, + expr: &charClassMatcher{ + pos: position{line: 2838, col: 11, offset: 93170}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1190, col: 30, offset: 37092}, + label: "content", + expr: &actionExpr{ + pos: position{line: 1195, col: 30, offset: 37267}, + run: (*parser).callonInlineMacro61, + expr: &oneOrMoreExpr{ + pos: position{line: 1195, col: 30, offset: 37267}, + expr: &choiceExpr{ + pos: position{line: 1195, col: 31, offset: 37268}, + alternatives: []interface{}{ + &charClassMatcher{ + pos: position{line: 2753, col: 13, offset: 90440}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &actionExpr{ + pos: position{line: 2838, col: 10, offset: 93169}, + run: (*parser).callonInlineMacro65, + expr: &charClassMatcher{ + pos: position{line: 2838, col: 11, offset: 93170}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, }, }, }, }, - &litMatcher{ - pos: position{line: 1083, col: 32, offset: 33642}, - val: "�", - ignoreCase: false, - want: "\"�\"", - }, + }, + &litMatcher{ + pos: position{line: 1191, col: 5, offset: 37159}, + val: ")))", + ignoreCase: false, + want: "\")))\"", }, }, }, - &actionExpr{ - pos: position{line: 2883, col: 12, offset: 94746}, - run: (*parser).callonMacrosGroup32, - expr: &anyMatcher{ - line: 2883, col: 12, offset: 94746, - }, - }, + }, + &ruleRefExpr{ + pos: position{line: 2499, col: 11, offset: 82925}, + name: "IndexTerm", + }, + &ruleRefExpr{ + pos: position{line: 2500, col: 11, offset: 82945}, + name: "InlineUserMacro", }, }, }, }, - ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, - expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, - }, - }, }, }, }, }, { - name: "NoneGroup", - pos: position{line: 2488, col: 1, offset: 82764}, + name: "InlinePassthrough", + pos: position{line: 2504, col: 1, offset: 83007}, expr: &actionExpr{ - pos: position{line: 2488, col: 14, offset: 82777}, - run: (*parser).callonNoneGroup1, + pos: position{line: 2506, col: 5, offset: 83095}, + run: (*parser).callonInlinePassthrough1, expr: &seqExpr{ - pos: position{line: 2488, col: 14, offset: 82777}, + pos: position{line: 2506, col: 5, offset: 83095}, exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2506, col: 5, offset: 83095}, + run: (*parser).callonInlinePassthrough3, + }, &labeledExpr{ - pos: position{line: 2488, col: 14, offset: 82777}, - label: "elements", - expr: &oneOrMoreExpr{ - pos: position{line: 2488, col: 23, offset: 82786}, - expr: &actionExpr{ - pos: position{line: 2493, col: 5, offset: 82894}, - run: (*parser).callonNoneGroup5, - expr: &seqExpr{ - pos: position{line: 2493, col: 5, offset: 82894}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 2493, col: 5, offset: 82894}, - expr: ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, - expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, - }, + pos: position{line: 2509, col: 5, offset: 83172}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 2510, col: 9, offset: 83190}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 1252, col: 26, offset: 40174}, + run: (*parser).callonInlinePassthrough6, + expr: &seqExpr{ + pos: position{line: 1252, col: 26, offset: 40174}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1250, col: 32, offset: 40142}, + val: "+++", + ignoreCase: false, + want: "\"+++\"", }, - }, - &labeledExpr{ - pos: position{line: 2494, col: 5, offset: 82903}, - label: "element", - expr: &oneOrMoreExpr{ - pos: position{line: 2494, col: 13, offset: 82911}, + &labeledExpr{ + pos: position{line: 1252, col: 54, offset: 40202}, + label: "content", expr: &choiceExpr{ - pos: position{line: 2495, col: 9, offset: 82921}, + pos: position{line: 1256, col: 33, offset: 40415}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2871, col: 5, offset: 94354}, - run: (*parser).callonNoneGroup13, - expr: &seqExpr{ - pos: position{line: 2871, col: 5, offset: 94354}, - exprs: []interface{}{ - &oneOrMoreExpr{ - pos: position{line: 2871, col: 5, offset: 94354}, - expr: &charClassMatcher{ - pos: position{line: 2871, col: 5, offset: 94354}, - val: "[,;!?0-9\\pL]", - chars: []rune{',', ';', '!', '?'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, + pos: position{line: 1256, col: 34, offset: 40416}, + run: (*parser).callonInlinePassthrough11, + expr: &zeroOrMoreExpr{ + pos: position{line: 1256, col: 34, offset: 40416}, + expr: &seqExpr{ + pos: position{line: 1256, col: 35, offset: 40417}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 1256, col: 35, offset: 40417}, + expr: &litMatcher{ + pos: position{line: 1250, col: 32, offset: 40142}, + val: "+++", + ignoreCase: false, + want: "\"+++\"", + }, + }, + &anyMatcher{ + line: 1256, col: 64, offset: 40446, }, }, - &choiceExpr{ - pos: position{line: 2872, col: 6, offset: 94404}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, - run: (*parser).callonNoneGroup18, + }, + }, + }, + &actionExpr{ + pos: position{line: 1258, col: 11, offset: 40619}, + run: (*parser).callonInlinePassthrough17, + expr: &zeroOrOneExpr{ + pos: position{line: 1258, col: 11, offset: 40619}, + expr: &seqExpr{ + pos: position{line: 1258, col: 12, offset: 40620}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 1258, col: 12, offset: 40620}, + expr: &actionExpr{ + pos: position{line: 2838, col: 10, offset: 93169}, + run: (*parser).callonInlinePassthrough21, expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, + pos: position{line: 2838, col: 11, offset: 93170}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, inverted: false, }, }, - &andExpr{ - pos: position{line: 2872, col: 14, offset: 94412}, + }, + ¬Expr{ + pos: position{line: 1258, col: 19, offset: 40627}, + expr: &actionExpr{ + pos: position{line: 2847, col: 12, offset: 93353}, + run: (*parser).callonInlinePassthrough24, expr: &choiceExpr{ - pos: position{line: 2872, col: 16, offset: 94414}, + pos: position{line: 2847, col: 13, offset: 93354}, alternatives: []interface{}{ - &charClassMatcher{ - pos: position{line: 2872, col: 16, offset: 94414}, - val: "[.�]", - chars: []rune{'.', '�'}, + &litMatcher{ + pos: position{line: 2847, col: 13, offset: 93354}, + val: "\n", ignoreCase: false, - inverted: false, + want: "\"\\n\"", }, - &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, - run: (*parser).callonNoneGroup23, - expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, + &litMatcher{ + pos: position{line: 2847, col: 20, offset: 93361}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", }, - ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, - expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, - }, + &litMatcher{ + pos: position{line: 2847, col: 29, offset: 93370}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", }, }, }, }, }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 1085, col: 23, offset: 33674}, - run: (*parser).callonNoneGroup30, - expr: &seqExpr{ - pos: position{line: 1085, col: 23, offset: 33674}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 1083, col: 32, offset: 33642}, - val: "�", - ignoreCase: false, - want: "\"�\"", - }, - &labeledExpr{ - pos: position{line: 1085, col: 51, offset: 33702}, - label: "ref", - expr: &actionExpr{ - pos: position{line: 1085, col: 56, offset: 33707}, - run: (*parser).callonNoneGroup34, - expr: &oneOrMoreExpr{ - pos: position{line: 1085, col: 56, offset: 33707}, - expr: &charClassMatcher{ - pos: position{line: 1085, col: 56, offset: 33707}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, + ¬Expr{ + pos: position{line: 1258, col: 28, offset: 40636}, + expr: &litMatcher{ + pos: position{line: 1250, col: 32, offset: 40142}, + val: "+++", + ignoreCase: false, + want: "\"+++\"", }, }, - }, - &litMatcher{ - pos: position{line: 1083, col: 32, offset: 33642}, - val: "�", - ignoreCase: false, - want: "\"�\"", + &anyMatcher{ + line: 1258, col: 57, offset: 40665, + }, }, }, }, }, - &actionExpr{ - pos: position{line: 2883, col: 12, offset: 94746}, - run: (*parser).callonNoneGroup38, - expr: &anyMatcher{ - line: 2883, col: 12, offset: 94746, - }, - }, }, }, }, - }, - ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, - expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + &litMatcher{ + pos: position{line: 1250, col: 32, offset: 40142}, + val: "+++", + ignoreCase: false, + want: "\"+++\"", + }, + ¬Expr{ + pos: position{line: 1252, col: 121, offset: 40269}, + expr: &charClassMatcher{ + pos: position{line: 2753, col: 13, offset: 90440}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, }, }, }, }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, - expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, - }, - }, - }, - }, - }, - }, - { - name: "NormalGroup", - pos: position{line: 2503, col: 1, offset: 83319}, - expr: &actionExpr{ - pos: position{line: 2504, col: 5, offset: 83339}, - run: (*parser).callonNormalGroup1, - expr: &seqExpr{ - pos: position{line: 2504, col: 5, offset: 83339}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 2504, col: 5, offset: 83339}, - label: "elements", - expr: &oneOrMoreExpr{ - pos: position{line: 2504, col: 14, offset: 83348}, - expr: &ruleRefExpr{ - pos: position{line: 2504, col: 15, offset: 83349}, - name: "NormalGroupElement", - }, - }, - }, - ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, - expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, - }, - }, - }, - }, - }, - }, - { - name: "NormalGroupElement", - pos: position{line: 2509, col: 1, offset: 83470}, - expr: &actionExpr{ - pos: position{line: 2510, col: 5, offset: 83497}, - run: (*parser).callonNormalGroupElement1, - expr: &seqExpr{ - pos: position{line: 2510, col: 5, offset: 83497}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 2510, col: 5, offset: 83497}, - expr: ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, - expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, - }, - }, - }, - &labeledExpr{ - pos: position{line: 2511, col: 5, offset: 83506}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 2512, col: 9, offset: 83524}, - alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2871, col: 5, offset: 94354}, - run: (*parser).callonNormalGroupElement8, + pos: position{line: 1240, col: 26, offset: 39457}, + run: (*parser).callonInlinePassthrough35, expr: &seqExpr{ - pos: position{line: 2871, col: 5, offset: 94354}, + pos: position{line: 1240, col: 26, offset: 39457}, exprs: []interface{}{ - &oneOrMoreExpr{ - pos: position{line: 2871, col: 5, offset: 94354}, - expr: &charClassMatcher{ - pos: position{line: 2871, col: 5, offset: 94354}, - val: "[,;!?0-9\\pL]", - chars: []rune{',', ';', '!', '?'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, + &litMatcher{ + pos: position{line: 1238, col: 32, offset: 39427}, + val: "+", + ignoreCase: false, + want: "\"+\"", }, - &choiceExpr{ - pos: position{line: 2872, col: 6, offset: 94404}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, - run: (*parser).callonNormalGroupElement13, - expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - &andExpr{ - pos: position{line: 2872, col: 14, offset: 94412}, - expr: &choiceExpr{ - pos: position{line: 2872, col: 16, offset: 94414}, - alternatives: []interface{}{ - &charClassMatcher{ - pos: position{line: 2872, col: 16, offset: 94414}, - val: "[.�]", - chars: []rune{'.', '�'}, - ignoreCase: false, - inverted: false, - }, - &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, - run: (*parser).callonNormalGroupElement18, - expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, - val: "\n", + &labeledExpr{ + pos: position{line: 1240, col: 54, offset: 39485}, + label: "content", + expr: &choiceExpr{ + pos: position{line: 1244, col: 33, offset: 39698}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 1244, col: 34, offset: 39699}, + run: (*parser).callonInlinePassthrough40, + expr: &seqExpr{ + pos: position{line: 1244, col: 34, offset: 39699}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 1244, col: 35, offset: 39700}, + expr: &litMatcher{ + pos: position{line: 1238, col: 32, offset: 39427}, + val: "+", + ignoreCase: false, + want: "\"+\"", + }, + }, + ¬Expr{ + pos: position{line: 1244, col: 64, offset: 39729}, + expr: &actionExpr{ + pos: position{line: 2838, col: 10, offset: 93169}, + run: (*parser).callonInlinePassthrough45, + expr: &charClassMatcher{ + pos: position{line: 2838, col: 11, offset: 93170}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, ignoreCase: false, - want: "\"\\n\"", + inverted: false, }, - &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", + }, + }, + ¬Expr{ + pos: position{line: 1244, col: 71, offset: 39736}, + expr: &actionExpr{ + pos: position{line: 2847, col: 12, offset: 93353}, + run: (*parser).callonInlinePassthrough48, + expr: &choiceExpr{ + pos: position{line: 2847, col: 13, offset: 93354}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2847, col: 13, offset: 93354}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 2847, col: 20, offset: 93361}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 2847, col: 29, offset: 93370}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, }, - &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", + }, + }, + &anyMatcher{ + line: 1244, col: 80, offset: 39745, + }, + &zeroOrMoreExpr{ + pos: position{line: 1244, col: 83, offset: 39748}, + expr: &seqExpr{ + pos: position{line: 1244, col: 84, offset: 39749}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 1244, col: 84, offset: 39749}, + expr: &seqExpr{ + pos: position{line: 1244, col: 86, offset: 39751}, + exprs: []interface{}{ + &actionExpr{ + pos: position{line: 2842, col: 11, offset: 93236}, + run: (*parser).callonInlinePassthrough58, + expr: &oneOrMoreExpr{ + pos: position{line: 2842, col: 11, offset: 93236}, + expr: &charClassMatcher{ + pos: position{line: 2842, col: 12, offset: 93237}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &litMatcher{ + pos: position{line: 1238, col: 32, offset: 39427}, + val: "+", + ignoreCase: false, + want: "\"+\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 1244, col: 122, offset: 39787}, + expr: &litMatcher{ + pos: position{line: 1238, col: 32, offset: 39427}, + val: "+", + ignoreCase: false, + want: "\"+\"", + }, + }, + ¬Expr{ + pos: position{line: 1244, col: 151, offset: 39816}, + expr: &actionExpr{ + pos: position{line: 2847, col: 12, offset: 93353}, + run: (*parser).callonInlinePassthrough65, + expr: &choiceExpr{ + pos: position{line: 2847, col: 13, offset: 93354}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2847, col: 13, offset: 93354}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 2847, col: 20, offset: 93361}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 2847, col: 29, offset: 93370}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + }, + &anyMatcher{ + line: 1244, col: 160, offset: 39825, + }, }, }, }, }, - ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, - expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + }, + }, + &actionExpr{ + pos: position{line: 1246, col: 11, offset: 39975}, + run: (*parser).callonInlinePassthrough71, + expr: &seqExpr{ + pos: position{line: 1246, col: 12, offset: 39976}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 1246, col: 12, offset: 39976}, + expr: &actionExpr{ + pos: position{line: 2838, col: 10, offset: 93169}, + run: (*parser).callonInlinePassthrough74, + expr: &charClassMatcher{ + pos: position{line: 2838, col: 11, offset: 93170}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + ¬Expr{ + pos: position{line: 1246, col: 19, offset: 39983}, + expr: &actionExpr{ + pos: position{line: 2847, col: 12, offset: 93353}, + run: (*parser).callonInlinePassthrough77, + expr: &choiceExpr{ + pos: position{line: 2847, col: 13, offset: 93354}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2847, col: 13, offset: 93354}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 2847, col: 20, offset: 93361}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 2847, col: 29, offset: 93370}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 1246, col: 28, offset: 39992}, + expr: &litMatcher{ + pos: position{line: 1238, col: 32, offset: 39427}, + val: "+", + ignoreCase: false, + want: "\"+\"", + }, + }, + &anyMatcher{ + line: 1246, col: 57, offset: 40021, }, }, }, @@ -63636,636 +51929,711 @@ var g = &grammar{ }, }, }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, - run: (*parser).callonNormalGroupElement25, - expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, - run: (*parser).callonNormalGroupElement27, - expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, - val: "\r\n", + pos: position{line: 1238, col: 32, offset: 39427}, + val: "+", ignoreCase: false, - want: "\"\\r\\n\"", + want: "\"+\"", }, - &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", + ¬Expr{ + pos: position{line: 1240, col: 121, offset: 39552}, + expr: &charClassMatcher{ + pos: position{line: 2753, col: 13, offset: 90440}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, }, }, }, }, - &actionExpr{ - pos: position{line: 1085, col: 23, offset: 33674}, - run: (*parser).callonNormalGroupElement32, - expr: &seqExpr{ - pos: position{line: 1085, col: 23, offset: 33674}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 1083, col: 32, offset: 33642}, - val: "�", - ignoreCase: false, - want: "\"�\"", - }, - &labeledExpr{ - pos: position{line: 1085, col: 51, offset: 33702}, - label: "ref", - expr: &actionExpr{ - pos: position{line: 1085, col: 56, offset: 33707}, - run: (*parser).callonNormalGroupElement36, - expr: &oneOrMoreExpr{ - pos: position{line: 1085, col: 56, offset: 33707}, - expr: &charClassMatcher{ - pos: position{line: 1085, col: 56, offset: 33707}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, + &ruleRefExpr{ + pos: position{line: 2510, col: 57, offset: 83238}, + name: "PassthroughMacro", + }, + }, + }, + }, + }, + }, + }, + }, + { + name: "Quote", + pos: position{line: 2515, col: 1, offset: 83298}, + expr: &actionExpr{ + pos: position{line: 2517, col: 5, offset: 83374}, + run: (*parser).callonQuote1, + expr: &seqExpr{ + pos: position{line: 2517, col: 5, offset: 83374}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2517, col: 5, offset: 83374}, + run: (*parser).callonQuote3, + }, + &labeledExpr{ + pos: position{line: 2520, col: 5, offset: 83439}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 2521, col: 9, offset: 83457}, + alternatives: []interface{}{ + &ruleRefExpr{ + pos: position{line: 2521, col: 9, offset: 83457}, + name: "QuotedText", + }, + &ruleRefExpr{ + pos: position{line: 2522, col: 11, offset: 83479}, + name: "QuotedString", + }, + }, + }, + }, + }, + }, + }, + }, + { + name: "TableColumnsAttribute", + pos: position{line: 2668, col: 1, offset: 87498}, + expr: &actionExpr{ + pos: position{line: 2668, col: 26, offset: 87523}, + run: (*parser).callonTableColumnsAttribute1, + expr: &seqExpr{ + pos: position{line: 2668, col: 26, offset: 87523}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 2668, col: 26, offset: 87523}, + label: "cols", + expr: &zeroOrMoreExpr{ + pos: position{line: 2668, col: 31, offset: 87528}, + expr: &actionExpr{ + pos: position{line: 2673, col: 5, offset: 87591}, + run: (*parser).callonTableColumnsAttribute5, + expr: &seqExpr{ + pos: position{line: 2673, col: 5, offset: 87591}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 2673, col: 5, offset: 87591}, + expr: ¬Expr{ + pos: position{line: 2851, col: 8, offset: 93443}, + expr: &anyMatcher{ + line: 2851, col: 9, offset: 93444, }, }, - &litMatcher{ - pos: position{line: 1083, col: 32, offset: 33642}, - val: "�", - ignoreCase: false, - want: "\"�\"", - }, }, - }, - }, - &actionExpr{ - pos: position{line: 1093, col: 5, offset: 34120}, - run: (*parser).callonNormalGroupElement40, - expr: &seqExpr{ - pos: position{line: 1093, col: 5, offset: 34120}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 1093, col: 5, offset: 34120}, - run: (*parser).callonNormalGroupElement42, - }, - &litMatcher{ - pos: position{line: 1096, col: 5, offset: 34177}, - val: "+", - ignoreCase: false, - want: "\"+\"", - }, - &zeroOrMoreExpr{ - pos: position{line: 1096, col: 9, offset: 34181}, + &labeledExpr{ + pos: position{line: 2676, col: 5, offset: 87715}, + label: "multiplier", + expr: &zeroOrOneExpr{ + pos: position{line: 2676, col: 16, offset: 87726}, expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, - run: (*parser).callonNormalGroupElement45, - expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, + pos: position{line: 2676, col: 17, offset: 87727}, + run: (*parser).callonTableColumnsAttribute12, + expr: &seqExpr{ + pos: position{line: 2676, col: 17, offset: 87727}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 2676, col: 17, offset: 87727}, + label: "n", + expr: &actionExpr{ + pos: position{line: 2830, col: 12, offset: 92996}, + run: (*parser).callonTableColumnsAttribute15, + expr: &seqExpr{ + pos: position{line: 2830, col: 13, offset: 92997}, + exprs: []interface{}{ + &zeroOrOneExpr{ + pos: position{line: 2830, col: 13, offset: 92997}, + expr: &litMatcher{ + pos: position{line: 2830, col: 13, offset: 92997}, + val: "-", + ignoreCase: false, + want: "\"-\"", + }, + }, + &oneOrMoreExpr{ + pos: position{line: 2830, col: 18, offset: 93002}, + expr: &charClassMatcher{ + pos: position{line: 2830, col: 18, offset: 93002}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 2676, col: 27, offset: 87737}, + val: "*", + ignoreCase: false, + want: "\"*\"", + }, + }, }, }, }, - &andExpr{ - pos: position{line: 1096, col: 16, offset: 34188}, + }, + &labeledExpr{ + pos: position{line: 2677, col: 5, offset: 87765}, + label: "halign", + expr: &zeroOrOneExpr{ + pos: position{line: 2677, col: 12, offset: 87772}, expr: &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, + pos: position{line: 2678, col: 9, offset: 87782}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, - run: (*parser).callonNormalGroupElement49, - expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, + pos: position{line: 2678, col: 9, offset: 87782}, + run: (*parser).callonTableColumnsAttribute25, + expr: &litMatcher{ + pos: position{line: 2678, col: 9, offset: 87782}, + val: "<", + ignoreCase: false, + want: "\"<\"", }, }, - ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, - expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + &actionExpr{ + pos: position{line: 2679, col: 11, offset: 87829}, + run: (*parser).callonTableColumnsAttribute27, + expr: &litMatcher{ + pos: position{line: 2679, col: 11, offset: 87829}, + val: ">", + ignoreCase: false, + want: "\">\"", + }, + }, + &actionExpr{ + pos: position{line: 2680, col: 11, offset: 87877}, + run: (*parser).callonTableColumnsAttribute29, + expr: &litMatcher{ + pos: position{line: 2680, col: 11, offset: 87877}, + val: "^", + ignoreCase: false, + want: "\"^\"", }, }, }, }, }, }, - }, - }, - &actionExpr{ - pos: position{line: 2877, col: 16, offset: 94535}, - run: (*parser).callonNormalGroupElement56, - expr: &seqExpr{ - pos: position{line: 2877, col: 16, offset: 94535}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 2877, col: 17, offset: 94536}, - val: "[.,;!?]", - chars: []rune{'.', ',', ';', '!', '?'}, - ignoreCase: false, - inverted: false, - }, - &andExpr{ - pos: position{line: 2877, col: 46, offset: 94565}, + &labeledExpr{ + pos: position{line: 2682, col: 5, offset: 87927}, + label: "valign", + expr: &zeroOrOneExpr{ + pos: position{line: 2682, col: 12, offset: 87934}, expr: &choiceExpr{ - pos: position{line: 2877, col: 48, offset: 94567}, + pos: position{line: 2683, col: 9, offset: 87944}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, - run: (*parser).callonNormalGroupElement61, - expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2683, col: 9, offset: 87944}, + run: (*parser).callonTableColumnsAttribute34, + expr: &litMatcher{ + pos: position{line: 2683, col: 9, offset: 87944}, + val: ".<", ignoreCase: false, - inverted: false, + want: "\".<\"", }, }, &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, - run: (*parser).callonNormalGroupElement63, - expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, + pos: position{line: 2684, col: 11, offset: 87991}, + run: (*parser).callonTableColumnsAttribute36, + expr: &litMatcher{ + pos: position{line: 2684, col: 11, offset: 87991}, + val: ".>", + ignoreCase: false, + want: "\".>\"", }, }, - ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, - expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, + &actionExpr{ + pos: position{line: 2685, col: 11, offset: 88041}, + run: (*parser).callonTableColumnsAttribute38, + expr: &litMatcher{ + pos: position{line: 2685, col: 11, offset: 88041}, + val: ".^", + ignoreCase: false, + want: "\".^\"", }, }, }, }, }, }, - }, - }, - &ruleRefExpr{ - pos: position{line: 2518, col: 11, offset: 83739}, - name: "Quote", - }, - &ruleRefExpr{ - pos: position{line: 2519, col: 11, offset: 83755}, - name: "InlinePassthrough", - }, - &ruleRefExpr{ - pos: position{line: 2520, col: 11, offset: 83783}, - name: "InlineMacro", - }, - &actionExpr{ - pos: position{line: 2638, col: 5, offset: 87092}, - run: (*parser).callonNormalGroupElement73, - expr: &seqExpr{ - pos: position{line: 2638, col: 5, offset: 87092}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 2638, col: 5, offset: 87092}, - run: (*parser).callonNormalGroupElement75, + &labeledExpr{ + pos: position{line: 2687, col: 5, offset: 88092}, + label: "weight", + expr: &zeroOrOneExpr{ + pos: position{line: 2687, col: 12, offset: 88099}, + expr: &choiceExpr{ + pos: position{line: 2687, col: 13, offset: 88100}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2830, col: 12, offset: 92996}, + run: (*parser).callonTableColumnsAttribute43, + expr: &seqExpr{ + pos: position{line: 2830, col: 13, offset: 92997}, + exprs: []interface{}{ + &zeroOrOneExpr{ + pos: position{line: 2830, col: 13, offset: 92997}, + expr: &litMatcher{ + pos: position{line: 2830, col: 13, offset: 92997}, + val: "-", + ignoreCase: false, + want: "\"-\"", + }, + }, + &oneOrMoreExpr{ + pos: position{line: 2830, col: 18, offset: 93002}, + expr: &charClassMatcher{ + pos: position{line: 2830, col: 18, offset: 93002}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2687, col: 24, offset: 88111}, + run: (*parser).callonTableColumnsAttribute49, + expr: &litMatcher{ + pos: position{line: 2687, col: 24, offset: 88111}, + val: "~", + ignoreCase: false, + want: "\"~\"", + }, + }, + }, + }, }, - &labeledExpr{ - pos: position{line: 2641, col: 5, offset: 87163}, - label: "element", + }, + &labeledExpr{ + pos: position{line: 2688, col: 5, offset: 88153}, + label: "style", + expr: &zeroOrOneExpr{ + pos: position{line: 2688, col: 11, offset: 88159}, + expr: &actionExpr{ + pos: position{line: 2688, col: 12, offset: 88160}, + run: (*parser).callonTableColumnsAttribute53, + expr: &charClassMatcher{ + pos: position{line: 2688, col: 12, offset: 88160}, + val: "[adehlms]", + chars: []rune{'a', 'd', 'e', 'h', 'l', 'm', 's'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 2690, col: 5, offset: 88290}, + label: "comma", + expr: &zeroOrOneExpr{ + pos: position{line: 2690, col: 11, offset: 88296}, + expr: &litMatcher{ + pos: position{line: 2690, col: 12, offset: 88297}, + val: ",", + ignoreCase: false, + want: "\",\"", + }, + }, + }, + &andCodeExpr{ + pos: position{line: 2691, col: 5, offset: 88307}, + run: (*parser).callonTableColumnsAttribute58, + }, + }, + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 2851, col: 8, offset: 93443}, + expr: &anyMatcher{ + line: 2851, col: 9, offset: 93444, + }, + }, + }, + }, + }, + }, + { + name: "UserMacroBlock", + pos: position{line: 2718, col: 1, offset: 89316}, + expr: &actionExpr{ + pos: position{line: 2719, col: 5, offset: 89339}, + run: (*parser).callonUserMacroBlock1, + expr: &seqExpr{ + pos: position{line: 2719, col: 5, offset: 89339}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 2719, col: 5, offset: 89339}, + label: "name", + expr: &actionExpr{ + pos: position{line: 2742, col: 18, offset: 90104}, + run: (*parser).callonUserMacroBlock4, + expr: &oneOrMoreExpr{ + pos: position{line: 2742, col: 19, offset: 90105}, + expr: &charClassMatcher{ + pos: position{line: 2742, col: 19, offset: 90105}, + val: "[_-0-9\\pL]", + chars: []rune{'_', '-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 2720, col: 5, offset: 89365}, + run: (*parser).callonUserMacroBlock7, + }, + &litMatcher{ + pos: position{line: 2724, col: 5, offset: 89505}, + val: "::", + ignoreCase: false, + want: "\"::\"", + }, + &labeledExpr{ + pos: position{line: 2725, col: 5, offset: 89515}, + label: "value", + expr: &actionExpr{ + pos: position{line: 2746, col: 19, offset: 90180}, + run: (*parser).callonUserMacroBlock10, + expr: &zeroOrMoreExpr{ + pos: position{line: 2746, col: 19, offset: 90180}, + expr: &charClassMatcher{ + pos: position{line: 2746, col: 19, offset: 90180}, + val: "[^:[ \\r\\n]", + chars: []rune{':', '[', ' ', '\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 2726, col: 5, offset: 89543}, + label: "attributes", + expr: &ruleRefExpr{ + pos: position{line: 2726, col: 17, offset: 89555}, + name: "InlineAttributes", + }, + }, + &choiceExpr{ + pos: position{line: 2854, col: 8, offset: 93493}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2847, col: 12, offset: 93353}, + run: (*parser).callonUserMacroBlock16, + expr: &choiceExpr{ + pos: position{line: 2847, col: 13, offset: 93354}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2847, col: 13, offset: 93354}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 2847, col: 20, offset: 93361}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 2847, col: 29, offset: 93370}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 2851, col: 8, offset: 93443}, + expr: &anyMatcher{ + line: 2851, col: 9, offset: 93444, + }, + }, + }, + }, + }, + }, + }, + }, + { + name: "InlineUserMacro", + pos: position{line: 2730, col: 1, offset: 89703}, + expr: &actionExpr{ + pos: position{line: 2731, col: 5, offset: 89727}, + run: (*parser).callonInlineUserMacro1, + expr: &seqExpr{ + pos: position{line: 2731, col: 5, offset: 89727}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 2731, col: 5, offset: 89727}, + label: "name", + expr: &actionExpr{ + pos: position{line: 2742, col: 18, offset: 90104}, + run: (*parser).callonInlineUserMacro4, + expr: &oneOrMoreExpr{ + pos: position{line: 2742, col: 19, offset: 90105}, + expr: &charClassMatcher{ + pos: position{line: 2742, col: 19, offset: 90105}, + val: "[_-0-9\\pL]", + chars: []rune{'_', '-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 2732, col: 5, offset: 89753}, + run: (*parser).callonInlineUserMacro7, + }, + &litMatcher{ + pos: position{line: 2736, col: 5, offset: 89893}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &labeledExpr{ + pos: position{line: 2737, col: 5, offset: 89902}, + label: "value", + expr: &actionExpr{ + pos: position{line: 2746, col: 19, offset: 90180}, + run: (*parser).callonInlineUserMacro10, + expr: &zeroOrMoreExpr{ + pos: position{line: 2746, col: 19, offset: 90180}, + expr: &charClassMatcher{ + pos: position{line: 2746, col: 19, offset: 90180}, + val: "[^:[ \\r\\n]", + chars: []rune{':', '[', ' ', '\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 2738, col: 5, offset: 89930}, + label: "attributes", + expr: &ruleRefExpr{ + pos: position{line: 2738, col: 17, offset: 89942}, + name: "InlineAttributes", + }, + }, + }, + }, + }, + }, + { + name: "FileLocation", + pos: position{line: 2788, col: 1, offset: 91572}, + expr: &actionExpr{ + pos: position{line: 2788, col: 17, offset: 91588}, + run: (*parser).callonFileLocation1, + expr: &labeledExpr{ + pos: position{line: 2788, col: 17, offset: 91588}, + label: "path", + expr: &oneOrMoreExpr{ + pos: position{line: 2788, col: 22, offset: 91593}, + expr: &choiceExpr{ + pos: position{line: 2788, col: 23, offset: 91594}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2806, col: 5, offset: 92211}, + run: (*parser).callonFileLocation5, + expr: &seqExpr{ + pos: position{line: 2806, col: 5, offset: 92211}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 2806, col: 5, offset: 92211}, + expr: &litMatcher{ + pos: position{line: 2806, col: 6, offset: 92212}, + val: "[", + ignoreCase: false, + want: "\"[\"", + }, + }, + &labeledExpr{ + pos: position{line: 2807, col: 5, offset: 92236}, + label: "elements", + expr: &oneOrMoreExpr{ + pos: position{line: 2807, col: 14, offset: 92245}, expr: &choiceExpr{ - pos: position{line: 2643, col: 9, offset: 87261}, + pos: position{line: 2811, col: 9, offset: 92419}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2643, col: 9, offset: 87261}, - run: (*parser).callonNormalGroupElement78, - expr: &choiceExpr{ - pos: position{line: 691, col: 27, offset: 22375}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 691, col: 27, offset: 22375}, - run: (*parser).callonNormalGroupElement80, - expr: &seqExpr{ - pos: position{line: 691, col: 27, offset: 22375}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 691, col: 27, offset: 22375}, - val: "<<", - ignoreCase: false, - want: "\"<<\"", - }, - &labeledExpr{ - pos: position{line: 691, col: 32, offset: 22380}, - label: "id", - expr: &actionExpr{ - pos: position{line: 2913, col: 7, offset: 95667}, - run: (*parser).callonNormalGroupElement84, - expr: &oneOrMoreExpr{ - pos: position{line: 2913, col: 7, offset: 95667}, - expr: &charClassMatcher{ - pos: position{line: 2913, col: 7, offset: 95667}, - val: "[^[]<>,]", - chars: []rune{'[', ']', '<', '>', ','}, - ignoreCase: false, - inverted: true, - }, - }, + pos: position{line: 2811, col: 9, offset: 92419}, + run: (*parser).callonFileLocation12, + expr: &oneOrMoreExpr{ + pos: position{line: 2811, col: 9, offset: 92419}, + expr: &charClassMatcher{ + pos: position{line: 2811, col: 10, offset: 92420}, + val: "[^\\r\\n[]�{ ]", + chars: []rune{'\r', '\n', '[', ']', '�', '{', ' '}, + ignoreCase: false, + inverted: true, + }, + }, + }, + &seqExpr{ + pos: position{line: 2814, col: 11, offset: 92573}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2814, col: 11, offset: 92573}, + val: ".", + ignoreCase: false, + want: "\".\"", + }, + &andExpr{ + pos: position{line: 2814, col: 15, offset: 92577}, + expr: ¬Expr{ + pos: position{line: 2814, col: 17, offset: 92579}, + expr: &choiceExpr{ + pos: position{line: 2814, col: 19, offset: 92581}, + alternatives: []interface{}{ + ¬Expr{ + pos: position{line: 2851, col: 8, offset: 93443}, + expr: &anyMatcher{ + line: 2851, col: 9, offset: 93444, }, }, - &zeroOrMoreExpr{ - pos: position{line: 691, col: 40, offset: 22388}, - expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, - run: (*parser).callonNormalGroupElement88, - expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, + &actionExpr{ + pos: position{line: 2838, col: 10, offset: 93169}, + run: (*parser).callonFileLocation22, + expr: &charClassMatcher{ + pos: position{line: 2838, col: 11, offset: 93170}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, }, }, - &litMatcher{ - pos: position{line: 691, col: 47, offset: 22395}, - val: ",", - ignoreCase: false, - want: "\",\"", - }, - &labeledExpr{ - pos: position{line: 691, col: 51, offset: 22399}, - label: "label", - expr: &oneOrMoreExpr{ - pos: position{line: 701, col: 24, offset: 22800}, - expr: &choiceExpr{ - pos: position{line: 702, col: 5, offset: 22806}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 702, col: 6, offset: 22807}, - run: (*parser).callonNormalGroupElement94, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 655, col: 5, offset: 20901}, + run: (*parser).callonFileLocation24, + expr: &seqExpr{ + pos: position{line: 655, col: 5, offset: 20901}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 655, col: 5, offset: 20901}, + run: (*parser).callonFileLocation26, + }, + &labeledExpr{ + pos: position{line: 658, col: 5, offset: 20970}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 658, col: 14, offset: 20979}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 670, col: 25, offset: 21348}, + run: (*parser).callonFileLocation29, + expr: &seqExpr{ + pos: position{line: 670, col: 25, offset: 21348}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 670, col: 25, offset: 21348}, + val: "{counter:", + ignoreCase: false, + want: "\"{counter:\"", + }, + &labeledExpr{ + pos: position{line: 670, col: 37, offset: 21360}, + label: "name", + expr: &actionExpr{ + pos: position{line: 336, col: 18, offset: 10325}, + run: (*parser).callonFileLocation33, expr: &seqExpr{ - pos: position{line: 702, col: 6, offset: 22807}, + pos: position{line: 336, col: 18, offset: 10325}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 702, col: 6, offset: 22807}, - val: "[0-9\\pL]", + pos: position{line: 336, col: 18, offset: 10325}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, ignoreCase: false, inverted: false, }, - &oneOrMoreExpr{ - pos: position{line: 702, col: 14, offset: 22815}, + &zeroOrMoreExpr{ + pos: position{line: 336, col: 28, offset: 10335}, expr: &charClassMatcher{ - pos: position{line: 702, col: 14, offset: 22815}, - val: "[^\\r\\n{<>]", - chars: []rune{'\r', '\n', '{', '<', '>'}, + pos: position{line: 336, col: 29, offset: 10336}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, ignoreCase: false, - inverted: true, + inverted: false, }, }, }, }, }, - &actionExpr{ - pos: position{line: 649, col: 5, offset: 20887}, - run: (*parser).callonNormalGroupElement99, - expr: &seqExpr{ - pos: position{line: 649, col: 5, offset: 20887}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 649, col: 5, offset: 20887}, - run: (*parser).callonNormalGroupElement101, - }, - &labeledExpr{ - pos: position{line: 652, col: 5, offset: 20951}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 652, col: 14, offset: 20960}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 663, col: 25, offset: 21324}, - run: (*parser).callonNormalGroupElement104, - expr: &seqExpr{ - pos: position{line: 663, col: 25, offset: 21324}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 663, col: 25, offset: 21324}, - val: "{counter:", - ignoreCase: false, - want: "\"{counter:\"", - }, - &labeledExpr{ - pos: position{line: 663, col: 37, offset: 21336}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonNormalGroupElement108, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 663, col: 56, offset: 21355}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 663, col: 62, offset: 21361}, - expr: &actionExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - run: (*parser).callonNormalGroupElement115, - expr: &seqExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 671, col: 17, offset: 21656}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 671, col: 21, offset: 21660}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - run: (*parser).callonNormalGroupElement120, - expr: &charClassMatcher{ - pos: position{line: 671, col: 28, offset: 21667}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - run: (*parser).callonNormalGroupElement122, - expr: &oneOrMoreExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - expr: &charClassMatcher{ - pos: position{line: 673, col: 9, offset: 21721}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 663, col: 78, offset: 21377}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 667, col: 25, offset: 21495}, - run: (*parser).callonNormalGroupElement126, - expr: &seqExpr{ - pos: position{line: 667, col: 25, offset: 21495}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 667, col: 25, offset: 21495}, - val: "{counter2:", - ignoreCase: false, - want: "\"{counter2:\"", - }, - &labeledExpr{ - pos: position{line: 667, col: 38, offset: 21508}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonNormalGroupElement130, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 667, col: 57, offset: 21527}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 667, col: 63, offset: 21533}, - expr: &actionExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - run: (*parser).callonNormalGroupElement137, - expr: &seqExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 671, col: 17, offset: 21656}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 671, col: 21, offset: 21660}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - run: (*parser).callonNormalGroupElement142, - expr: &charClassMatcher{ - pos: position{line: 671, col: 28, offset: 21667}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - run: (*parser).callonNormalGroupElement144, - expr: &oneOrMoreExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - expr: &charClassMatcher{ - pos: position{line: 673, col: 9, offset: 21721}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 667, col: 79, offset: 21549}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, + }, + &labeledExpr{ + pos: position{line: 670, col: 56, offset: 21379}, + label: "start", + expr: &zeroOrOneExpr{ + pos: position{line: 670, col: 62, offset: 21385}, + expr: &actionExpr{ + pos: position{line: 678, col: 17, offset: 21680}, + run: (*parser).callonFileLocation40, + expr: &seqExpr{ + pos: position{line: 678, col: 17, offset: 21680}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 678, col: 17, offset: 21680}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &labeledExpr{ + pos: position{line: 678, col: 21, offset: 21684}, + label: "start", + expr: &choiceExpr{ + pos: position{line: 678, col: 28, offset: 21691}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 678, col: 28, offset: 21691}, + run: (*parser).callonFileLocation45, + expr: &charClassMatcher{ + pos: position{line: 678, col: 28, offset: 21691}, + val: "[A-Za-z]", + ranges: []rune{'A', 'Z', 'a', 'z'}, + ignoreCase: false, + inverted: false, }, }, - }, - &actionExpr{ - pos: position{line: 656, col: 31, offset: 21077}, - run: (*parser).callonNormalGroupElement148, - expr: &seqExpr{ - pos: position{line: 656, col: 31, offset: 21077}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 656, col: 31, offset: 21077}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - &labeledExpr{ - pos: position{line: 656, col: 35, offset: 21081}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonNormalGroupElement152, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - 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: 54, offset: 21100}, - val: "}", + &actionExpr{ + pos: position{line: 680, col: 9, offset: 21745}, + run: (*parser).callonFileLocation47, + expr: &oneOrMoreExpr{ + pos: position{line: 680, col: 9, offset: 21745}, + expr: &charClassMatcher{ + pos: position{line: 680, col: 9, offset: 21745}, + val: "[0-9]", + ranges: []rune{'0', '9'}, ignoreCase: false, - want: "\"}\"", + inverted: false, }, }, }, @@ -64276,379 +52644,196 @@ var g = &grammar{ }, }, }, - &actionExpr{ - pos: position{line: 706, col: 8, offset: 23039}, - run: (*parser).callonNormalGroupElement158, - expr: &litMatcher{ - pos: position{line: 706, col: 8, offset: 23039}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - }, + }, + &litMatcher{ + pos: position{line: 670, col: 78, offset: 21401}, + val: "}", + ignoreCase: false, + want: "\"}\"", }, }, }, }, - &litMatcher{ - pos: position{line: 691, col: 79, offset: 22427}, - val: ">>", - ignoreCase: false, - want: "\">>\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 693, col: 9, offset: 22500}, - run: (*parser).callonNormalGroupElement161, - expr: &seqExpr{ - pos: position{line: 693, col: 9, offset: 22500}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 693, col: 9, offset: 22500}, - val: "<<", - ignoreCase: false, - want: "\"<<\"", - }, - &labeledExpr{ - pos: position{line: 693, col: 14, offset: 22505}, - label: "id", - expr: &actionExpr{ - pos: position{line: 2913, col: 7, offset: 95667}, - run: (*parser).callonNormalGroupElement165, - expr: &oneOrMoreExpr{ - pos: position{line: 2913, col: 7, offset: 95667}, - expr: &charClassMatcher{ - pos: position{line: 2913, col: 7, offset: 95667}, - val: "[^[]<>,]", - chars: []rune{'[', ']', '<', '>', ','}, + &actionExpr{ + pos: position{line: 674, col: 25, offset: 21519}, + run: (*parser).callonFileLocation51, + expr: &seqExpr{ + pos: position{line: 674, col: 25, offset: 21519}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 674, col: 25, offset: 21519}, + val: "{counter2:", ignoreCase: false, - inverted: true, + want: "\"{counter2:\"", }, - }, - }, - }, - &litMatcher{ - pos: position{line: 693, col: 22, offset: 22513}, - val: ">>", - ignoreCase: false, - want: "\">>\"", - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2646, col: 11, offset: 87365}, - run: (*parser).callonNormalGroupElement169, - expr: &charClassMatcher{ - pos: position{line: 2646, col: 12, offset: 87366}, - val: "[<>&]", - chars: []rune{'<', '>', '&'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 649, col: 5, offset: 20887}, - run: (*parser).callonNormalGroupElement171, - expr: &seqExpr{ - pos: position{line: 649, col: 5, offset: 20887}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 649, col: 5, offset: 20887}, - run: (*parser).callonNormalGroupElement173, - }, - &labeledExpr{ - pos: position{line: 652, col: 5, offset: 20951}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 652, col: 14, offset: 20960}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 663, col: 25, offset: 21324}, - run: (*parser).callonNormalGroupElement176, - expr: &seqExpr{ - pos: position{line: 663, col: 25, offset: 21324}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 663, col: 25, offset: 21324}, - val: "{counter:", - ignoreCase: false, - want: "\"{counter:\"", - }, - &labeledExpr{ - pos: position{line: 663, col: 37, offset: 21336}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonNormalGroupElement180, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 663, col: 56, offset: 21355}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 663, col: 62, offset: 21361}, - expr: &actionExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - run: (*parser).callonNormalGroupElement187, - expr: &seqExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 671, col: 17, offset: 21656}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 671, col: 21, offset: 21660}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - run: (*parser).callonNormalGroupElement192, - expr: &charClassMatcher{ - pos: position{line: 671, col: 28, offset: 21667}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - run: (*parser).callonNormalGroupElement194, - expr: &oneOrMoreExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - expr: &charClassMatcher{ - pos: position{line: 673, col: 9, offset: 21721}, - val: "[0-9]", + &labeledExpr{ + pos: position{line: 674, col: 38, offset: 21532}, + label: "name", + expr: &actionExpr{ + pos: position{line: 336, col: 18, offset: 10325}, + run: (*parser).callonFileLocation55, + expr: &seqExpr{ + pos: position{line: 336, col: 18, offset: 10325}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 336, col: 18, offset: 10325}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, ignoreCase: false, inverted: false, }, + &zeroOrMoreExpr{ + pos: position{line: 336, col: 28, offset: 10335}, + expr: &charClassMatcher{ + pos: position{line: 336, col: 29, offset: 10336}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, }, }, }, }, + &labeledExpr{ + pos: position{line: 674, col: 57, offset: 21551}, + label: "start", + expr: &zeroOrOneExpr{ + pos: position{line: 674, col: 63, offset: 21557}, + expr: &actionExpr{ + pos: position{line: 678, col: 17, offset: 21680}, + run: (*parser).callonFileLocation62, + expr: &seqExpr{ + pos: position{line: 678, col: 17, offset: 21680}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 678, col: 17, offset: 21680}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &labeledExpr{ + pos: position{line: 678, col: 21, offset: 21684}, + label: "start", + expr: &choiceExpr{ + pos: position{line: 678, col: 28, offset: 21691}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 678, col: 28, offset: 21691}, + run: (*parser).callonFileLocation67, + expr: &charClassMatcher{ + pos: position{line: 678, col: 28, offset: 21691}, + val: "[A-Za-z]", + ranges: []rune{'A', 'Z', 'a', 'z'}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 680, col: 9, offset: 21745}, + run: (*parser).callonFileLocation69, + expr: &oneOrMoreExpr{ + pos: position{line: 680, col: 9, offset: 21745}, + expr: &charClassMatcher{ + pos: position{line: 680, col: 9, offset: 21745}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 674, col: 79, offset: 21573}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, }, }, }, - }, - }, - }, - &litMatcher{ - pos: position{line: 663, col: 78, offset: 21377}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 667, col: 25, offset: 21495}, - run: (*parser).callonNormalGroupElement198, - expr: &seqExpr{ - pos: position{line: 667, col: 25, offset: 21495}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 667, col: 25, offset: 21495}, - val: "{counter2:", - ignoreCase: false, - want: "\"{counter2:\"", - }, - &labeledExpr{ - pos: position{line: 667, col: 38, offset: 21508}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonNormalGroupElement202, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 667, col: 57, offset: 21527}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 667, col: 63, offset: 21533}, - expr: &actionExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - run: (*parser).callonNormalGroupElement209, - expr: &seqExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 671, col: 17, offset: 21656}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 671, col: 21, offset: 21660}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - run: (*parser).callonNormalGroupElement214, - expr: &charClassMatcher{ - pos: position{line: 671, col: 28, offset: 21667}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - run: (*parser).callonNormalGroupElement216, - expr: &oneOrMoreExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - expr: &charClassMatcher{ - pos: position{line: 673, col: 9, offset: 21721}, - val: "[0-9]", + &actionExpr{ + pos: position{line: 663, col: 5, offset: 21092}, + run: (*parser).callonFileLocation73, + expr: &seqExpr{ + pos: position{line: 663, col: 5, offset: 21092}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 663, col: 5, offset: 21092}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + &labeledExpr{ + pos: position{line: 663, col: 9, offset: 21096}, + label: "name", + expr: &actionExpr{ + pos: position{line: 336, col: 18, offset: 10325}, + run: (*parser).callonFileLocation77, + expr: &seqExpr{ + pos: position{line: 336, col: 18, offset: 10325}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 336, col: 18, offset: 10325}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, ignoreCase: false, inverted: false, }, + &zeroOrMoreExpr{ + pos: position{line: 336, col: 28, offset: 10335}, + expr: &charClassMatcher{ + pos: position{line: 336, col: 29, offset: 10336}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, }, }, }, }, + &litMatcher{ + pos: position{line: 663, col: 28, offset: 21115}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, }, }, }, }, }, }, - &litMatcher{ - pos: position{line: 667, col: 79, offset: 21549}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, }, }, }, &actionExpr{ - pos: position{line: 656, col: 31, offset: 21077}, - run: (*parser).callonNormalGroupElement220, - expr: &seqExpr{ - pos: position{line: 656, col: 31, offset: 21077}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 656, col: 31, offset: 21077}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - &labeledExpr{ - pos: position{line: 656, col: 35, offset: 21081}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonNormalGroupElement224, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - 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: 54, offset: 21100}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, + pos: position{line: 2817, col: 11, offset: 92665}, + run: (*parser).callonFileLocation83, + expr: &litMatcher{ + pos: position{line: 2817, col: 11, offset: 92665}, + val: "{", + ignoreCase: false, + want: "\"{\"", }, }, }, @@ -64657,23337 +52842,9898 @@ var g = &grammar{ }, }, }, - &actionExpr{ - pos: position{line: 2671, col: 15, offset: 88333}, - run: (*parser).callonNormalGroupElement230, - expr: &litMatcher{ - pos: position{line: 2671, col: 15, offset: 88333}, - val: "`'", - ignoreCase: false, - want: "\"`'\"", - }, - }, - &actionExpr{ - pos: position{line: 2677, col: 14, offset: 88448}, - run: (*parser).callonNormalGroupElement232, - expr: &litMatcher{ - pos: position{line: 2677, col: 14, offset: 88448}, - val: "(C)", - ignoreCase: false, - want: "\"(C)\"", - }, - }, - &actionExpr{ - pos: position{line: 2681, col: 14, offset: 88524}, - run: (*parser).callonNormalGroupElement234, - expr: &litMatcher{ - pos: position{line: 2681, col: 14, offset: 88524}, - val: "(TM)", - ignoreCase: false, - want: "\"(TM)\"", - }, - }, - &actionExpr{ - pos: position{line: 2685, col: 15, offset: 88602}, - run: (*parser).callonNormalGroupElement236, - expr: &litMatcher{ - pos: position{line: 2685, col: 15, offset: 88602}, - val: "(R)", - ignoreCase: false, - want: "\"(R)\"", - }, - }, - &actionExpr{ - pos: position{line: 2689, col: 13, offset: 88677}, - run: (*parser).callonNormalGroupElement238, - expr: &litMatcher{ - pos: position{line: 2689, col: 13, offset: 88677}, - val: "...", - ignoreCase: false, - want: "\"...\"", - }, - }, - &actionExpr{ - pos: position{line: 2697, col: 22, offset: 88983}, - run: (*parser).callonNormalGroupElement240, - expr: &seqExpr{ - pos: position{line: 2697, col: 22, offset: 88983}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 2852, col: 13, offset: 93681}, - val: "[0-9\\pL]", - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &litMatcher{ - pos: position{line: 2697, col: 31, offset: 88992}, - val: "'", - ignoreCase: false, - want: "\"'\"", - }, - &andExpr{ - pos: position{line: 2697, col: 35, offset: 88996}, - expr: &charClassMatcher{ - pos: position{line: 2697, col: 36, offset: 88997}, - val: "[\\pL]", - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2883, col: 12, offset: 94746}, - run: (*parser).callonNormalGroupElement246, - expr: &anyMatcher{ - line: 2883, col: 12, offset: 94746, - }, - }, }, - }, - }, - }, - }, - }, - }, - { - name: "PostReplacementsGroup", - pos: position{line: 2528, col: 1, offset: 84041}, - expr: &actionExpr{ - pos: position{line: 2529, col: 5, offset: 84072}, - run: (*parser).callonPostReplacementsGroup1, - expr: &seqExpr{ - pos: position{line: 2529, col: 5, offset: 84072}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 2529, col: 5, offset: 84072}, - label: "elements", - expr: &oneOrMoreExpr{ - pos: position{line: 2529, col: 14, offset: 84081}, - expr: &actionExpr{ - pos: position{line: 2535, col: 5, offset: 84249}, - run: (*parser).callonPostReplacementsGroup5, + &actionExpr{ + pos: position{line: 1092, col: 23, offset: 33700}, + run: (*parser).callonFileLocation85, expr: &seqExpr{ - pos: position{line: 2535, col: 5, offset: 84249}, + pos: position{line: 1092, col: 23, offset: 33700}, exprs: []interface{}{ - ¬Expr{ - pos: position{line: 2535, col: 5, offset: 84249}, - expr: ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, - expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, - }, - }, - }, - &labeledExpr{ - pos: position{line: 2536, col: 5, offset: 84258}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 2537, col: 9, offset: 84276}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2871, col: 5, offset: 94354}, - run: (*parser).callonPostReplacementsGroup12, - expr: &seqExpr{ - pos: position{line: 2871, col: 5, offset: 94354}, - exprs: []interface{}{ - &oneOrMoreExpr{ - pos: position{line: 2871, col: 5, offset: 94354}, - expr: &charClassMatcher{ - pos: position{line: 2871, col: 5, offset: 94354}, - val: "[,;!?0-9\\pL]", - chars: []rune{',', ';', '!', '?'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - &choiceExpr{ - pos: position{line: 2872, col: 6, offset: 94404}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, - run: (*parser).callonPostReplacementsGroup17, - expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - &andExpr{ - pos: position{line: 2872, col: 14, offset: 94412}, - expr: &choiceExpr{ - pos: position{line: 2872, col: 16, offset: 94414}, - alternatives: []interface{}{ - &charClassMatcher{ - pos: position{line: 2872, col: 16, offset: 94414}, - val: "[.�]", - chars: []rune{'.', '�'}, - ignoreCase: false, - inverted: false, - }, - &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, - run: (*parser).callonPostReplacementsGroup22, - expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, - expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, - run: (*parser).callonPostReplacementsGroup29, - expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 1093, col: 5, offset: 34120}, - run: (*parser).callonPostReplacementsGroup31, - expr: &seqExpr{ - pos: position{line: 1093, col: 5, offset: 34120}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 1093, col: 5, offset: 34120}, - run: (*parser).callonPostReplacementsGroup33, - }, - &litMatcher{ - pos: position{line: 1096, col: 5, offset: 34177}, - val: "+", - ignoreCase: false, - want: "\"+\"", - }, - &zeroOrMoreExpr{ - pos: position{line: 1096, col: 9, offset: 34181}, - expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, - run: (*parser).callonPostReplacementsGroup36, - expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &andExpr{ - pos: position{line: 1096, col: 16, offset: 34188}, - expr: &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, - run: (*parser).callonPostReplacementsGroup40, - expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, - expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, - run: (*parser).callonPostReplacementsGroup47, - expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 1085, col: 23, offset: 33674}, - run: (*parser).callonPostReplacementsGroup52, - expr: &seqExpr{ - pos: position{line: 1085, col: 23, offset: 33674}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 1083, col: 32, offset: 33642}, - val: "�", - ignoreCase: false, - want: "\"�\"", - }, - &labeledExpr{ - pos: position{line: 1085, col: 51, offset: 33702}, - label: "ref", - expr: &actionExpr{ - pos: position{line: 1085, col: 56, offset: 33707}, - run: (*parser).callonPostReplacementsGroup56, - expr: &oneOrMoreExpr{ - pos: position{line: 1085, col: 56, offset: 33707}, - expr: &charClassMatcher{ - pos: position{line: 1085, col: 56, offset: 33707}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 1083, col: 32, offset: 33642}, - val: "�", - ignoreCase: false, - want: "\"�\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2883, col: 12, offset: 94746}, - run: (*parser).callonPostReplacementsGroup60, - expr: &anyMatcher{ - line: 2883, col: 12, offset: 94746, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, - expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, - }, - }, - }, - }, - }, - }, - { - name: "QuotesGroup", - pos: position{line: 2548, col: 1, offset: 84602}, - expr: &actionExpr{ - pos: position{line: 2548, col: 16, offset: 84617}, - run: (*parser).callonQuotesGroup1, - expr: &seqExpr{ - pos: position{line: 2548, col: 16, offset: 84617}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 2548, col: 16, offset: 84617}, - label: "elements", - expr: &oneOrMoreExpr{ - pos: position{line: 2548, col: 25, offset: 84626}, - expr: &choiceExpr{ - pos: position{line: 2549, col: 5, offset: 84632}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2871, col: 5, offset: 94354}, - run: (*parser).callonQuotesGroup6, - expr: &seqExpr{ - pos: position{line: 2871, col: 5, offset: 94354}, - exprs: []interface{}{ - &oneOrMoreExpr{ - pos: position{line: 2871, col: 5, offset: 94354}, - expr: &charClassMatcher{ - pos: position{line: 2871, col: 5, offset: 94354}, - val: "[,;!?0-9\\pL]", - chars: []rune{',', ';', '!', '?'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - &choiceExpr{ - pos: position{line: 2872, col: 6, offset: 94404}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, - run: (*parser).callonQuotesGroup11, - expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - &andExpr{ - pos: position{line: 2872, col: 14, offset: 94412}, - expr: &choiceExpr{ - pos: position{line: 2872, col: 16, offset: 94414}, - alternatives: []interface{}{ - &charClassMatcher{ - pos: position{line: 2872, col: 16, offset: 94414}, - val: "[.�]", - chars: []rune{'.', '�'}, - ignoreCase: false, - inverted: false, - }, - &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, - run: (*parser).callonQuotesGroup16, - expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, - expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &ruleRefExpr{ - pos: position{line: 2550, col: 7, offset: 84649}, - name: "Quote", - }, - &actionExpr{ - pos: position{line: 1085, col: 23, offset: 33674}, - run: (*parser).callonQuotesGroup24, - expr: &seqExpr{ - pos: position{line: 1085, col: 23, offset: 33674}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 1083, col: 32, offset: 33642}, - val: "�", - ignoreCase: false, - want: "\"�\"", - }, - &labeledExpr{ - pos: position{line: 1085, col: 51, offset: 33702}, - label: "ref", - expr: &actionExpr{ - pos: position{line: 1085, col: 56, offset: 33707}, - run: (*parser).callonQuotesGroup28, - expr: &oneOrMoreExpr{ - pos: position{line: 1085, col: 56, offset: 33707}, - expr: &charClassMatcher{ - pos: position{line: 1085, col: 56, offset: 33707}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 1083, col: 32, offset: 33642}, - val: "�", - ignoreCase: false, - want: "\"�\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2883, col: 12, offset: 94746}, - run: (*parser).callonQuotesGroup32, - expr: &anyMatcher{ - line: 2883, col: 12, offset: 94746, - }, - }, - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, - expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, - }, - }, - }, - }, - }, - }, - { - name: "ReplacementsGroup", - pos: position{line: 2557, col: 1, offset: 84893}, - expr: &actionExpr{ - pos: position{line: 2557, col: 22, offset: 84914}, - run: (*parser).callonReplacementsGroup1, - expr: &seqExpr{ - pos: position{line: 2557, col: 22, offset: 84914}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 2557, col: 22, offset: 84914}, - label: "elements", - expr: &oneOrMoreExpr{ - pos: position{line: 2557, col: 31, offset: 84923}, - expr: &choiceExpr{ - pos: position{line: 2558, col: 5, offset: 84929}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2871, col: 5, offset: 94354}, - run: (*parser).callonReplacementsGroup6, - expr: &seqExpr{ - pos: position{line: 2871, col: 5, offset: 94354}, - exprs: []interface{}{ - &oneOrMoreExpr{ - pos: position{line: 2871, col: 5, offset: 94354}, - expr: &charClassMatcher{ - pos: position{line: 2871, col: 5, offset: 94354}, - val: "[,;!?0-9\\pL]", - chars: []rune{',', ';', '!', '?'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - &choiceExpr{ - pos: position{line: 2872, col: 6, offset: 94404}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, - run: (*parser).callonReplacementsGroup11, - expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - &andExpr{ - pos: position{line: 2872, col: 14, offset: 94412}, - expr: &choiceExpr{ - pos: position{line: 2872, col: 16, offset: 94414}, - alternatives: []interface{}{ - &charClassMatcher{ - pos: position{line: 2872, col: 16, offset: 94414}, - val: "[.�]", - chars: []rune{'.', '�'}, - ignoreCase: false, - inverted: false, - }, - &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, - run: (*parser).callonReplacementsGroup16, - expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, - expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2627, col: 5, offset: 86871}, - run: (*parser).callonReplacementsGroup23, - expr: &seqExpr{ - pos: position{line: 2627, col: 5, offset: 86871}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 2627, col: 5, offset: 86871}, - run: (*parser).callonReplacementsGroup25, - }, - &labeledExpr{ - pos: position{line: 2630, col: 5, offset: 86937}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 2669, col: 11, offset: 88239}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2671, col: 15, offset: 88333}, - run: (*parser).callonReplacementsGroup28, - expr: &litMatcher{ - pos: position{line: 2671, col: 15, offset: 88333}, - val: "`'", - ignoreCase: false, - want: "\"`'\"", - }, - }, - &actionExpr{ - pos: position{line: 2677, col: 14, offset: 88448}, - run: (*parser).callonReplacementsGroup30, - expr: &litMatcher{ - pos: position{line: 2677, col: 14, offset: 88448}, - val: "(C)", - ignoreCase: false, - want: "\"(C)\"", - }, - }, - &actionExpr{ - pos: position{line: 2681, col: 14, offset: 88524}, - run: (*parser).callonReplacementsGroup32, - expr: &litMatcher{ - pos: position{line: 2681, col: 14, offset: 88524}, - val: "(TM)", - ignoreCase: false, - want: "\"(TM)\"", - }, - }, - &actionExpr{ - pos: position{line: 2685, col: 15, offset: 88602}, - run: (*parser).callonReplacementsGroup34, - expr: &litMatcher{ - pos: position{line: 2685, col: 15, offset: 88602}, - val: "(R)", - ignoreCase: false, - want: "\"(R)\"", - }, - }, - &actionExpr{ - pos: position{line: 2689, col: 13, offset: 88677}, - run: (*parser).callonReplacementsGroup36, - expr: &litMatcher{ - pos: position{line: 2689, col: 13, offset: 88677}, - val: "...", - ignoreCase: false, - want: "\"...\"", - }, - }, - &actionExpr{ - pos: position{line: 2697, col: 22, offset: 88983}, - run: (*parser).callonReplacementsGroup38, - expr: &seqExpr{ - pos: position{line: 2697, col: 22, offset: 88983}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 2852, col: 13, offset: 93681}, - val: "[0-9\\pL]", - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &litMatcher{ - pos: position{line: 2697, col: 31, offset: 88992}, - val: "'", - ignoreCase: false, - want: "\"'\"", - }, - &andExpr{ - pos: position{line: 2697, col: 35, offset: 88996}, - expr: &charClassMatcher{ - pos: position{line: 2697, col: 36, offset: 88997}, - val: "[\\pL]", - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 1085, col: 23, offset: 33674}, - run: (*parser).callonReplacementsGroup44, - expr: &seqExpr{ - pos: position{line: 1085, col: 23, offset: 33674}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 1083, col: 32, offset: 33642}, - val: "�", - ignoreCase: false, - want: "\"�\"", - }, - &labeledExpr{ - pos: position{line: 1085, col: 51, offset: 33702}, - label: "ref", - expr: &actionExpr{ - pos: position{line: 1085, col: 56, offset: 33707}, - run: (*parser).callonReplacementsGroup48, - expr: &oneOrMoreExpr{ - pos: position{line: 1085, col: 56, offset: 33707}, - expr: &charClassMatcher{ - pos: position{line: 1085, col: 56, offset: 33707}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 1083, col: 32, offset: 33642}, - val: "�", - ignoreCase: false, - want: "\"�\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2883, col: 12, offset: 94746}, - run: (*parser).callonReplacementsGroup52, - expr: &anyMatcher{ - line: 2883, col: 12, offset: 94746, - }, - }, - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, - expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, - }, - }, - }, - }, - }, - }, - { - name: "SpecialCharactersGroup", - pos: position{line: 2566, col: 1, offset: 85221}, - expr: &actionExpr{ - pos: position{line: 2566, col: 27, offset: 85247}, - run: (*parser).callonSpecialCharactersGroup1, - expr: &seqExpr{ - pos: position{line: 2566, col: 27, offset: 85247}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 2566, col: 27, offset: 85247}, - label: "elements", - expr: &oneOrMoreExpr{ - pos: position{line: 2566, col: 36, offset: 85256}, - expr: &choiceExpr{ - pos: position{line: 2567, col: 5, offset: 85262}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2871, col: 5, offset: 94354}, - run: (*parser).callonSpecialCharactersGroup6, - expr: &seqExpr{ - pos: position{line: 2871, col: 5, offset: 94354}, - exprs: []interface{}{ - &oneOrMoreExpr{ - pos: position{line: 2871, col: 5, offset: 94354}, - expr: &charClassMatcher{ - pos: position{line: 2871, col: 5, offset: 94354}, - val: "[,;!?0-9\\pL]", - chars: []rune{',', ';', '!', '?'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - &choiceExpr{ - pos: position{line: 2872, col: 6, offset: 94404}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, - run: (*parser).callonSpecialCharactersGroup11, - expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - &andExpr{ - pos: position{line: 2872, col: 14, offset: 94412}, - expr: &choiceExpr{ - pos: position{line: 2872, col: 16, offset: 94414}, - alternatives: []interface{}{ - &charClassMatcher{ - pos: position{line: 2872, col: 16, offset: 94414}, - val: "[.�]", - chars: []rune{'.', '�'}, - ignoreCase: false, - inverted: false, - }, - &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, - run: (*parser).callonSpecialCharactersGroup16, - expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, - expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2638, col: 5, offset: 87092}, - run: (*parser).callonSpecialCharactersGroup23, - expr: &seqExpr{ - pos: position{line: 2638, col: 5, offset: 87092}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 2638, col: 5, offset: 87092}, - run: (*parser).callonSpecialCharactersGroup25, - }, - &labeledExpr{ - pos: position{line: 2641, col: 5, offset: 87163}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 2643, col: 9, offset: 87261}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2643, col: 9, offset: 87261}, - run: (*parser).callonSpecialCharactersGroup28, - expr: &choiceExpr{ - pos: position{line: 691, col: 27, offset: 22375}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 691, col: 27, offset: 22375}, - run: (*parser).callonSpecialCharactersGroup30, - expr: &seqExpr{ - pos: position{line: 691, col: 27, offset: 22375}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 691, col: 27, offset: 22375}, - val: "<<", - ignoreCase: false, - want: "\"<<\"", - }, - &labeledExpr{ - pos: position{line: 691, col: 32, offset: 22380}, - label: "id", - expr: &actionExpr{ - pos: position{line: 2913, col: 7, offset: 95667}, - run: (*parser).callonSpecialCharactersGroup34, - expr: &oneOrMoreExpr{ - pos: position{line: 2913, col: 7, offset: 95667}, - expr: &charClassMatcher{ - pos: position{line: 2913, col: 7, offset: 95667}, - val: "[^[]<>,]", - chars: []rune{'[', ']', '<', '>', ','}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - &zeroOrMoreExpr{ - pos: position{line: 691, col: 40, offset: 22388}, - expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, - run: (*parser).callonSpecialCharactersGroup38, - expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &litMatcher{ - pos: position{line: 691, col: 47, offset: 22395}, - val: ",", - ignoreCase: false, - want: "\",\"", - }, - &labeledExpr{ - pos: position{line: 691, col: 51, offset: 22399}, - label: "label", - expr: &oneOrMoreExpr{ - pos: position{line: 701, col: 24, offset: 22800}, - expr: &choiceExpr{ - pos: position{line: 702, col: 5, offset: 22806}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 702, col: 6, offset: 22807}, - run: (*parser).callonSpecialCharactersGroup44, - expr: &seqExpr{ - pos: position{line: 702, col: 6, offset: 22807}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 702, col: 6, offset: 22807}, - val: "[0-9\\pL]", - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &oneOrMoreExpr{ - pos: position{line: 702, col: 14, offset: 22815}, - expr: &charClassMatcher{ - pos: position{line: 702, col: 14, offset: 22815}, - val: "[^\\r\\n{<>]", - chars: []rune{'\r', '\n', '{', '<', '>'}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 649, col: 5, offset: 20887}, - run: (*parser).callonSpecialCharactersGroup49, - expr: &seqExpr{ - pos: position{line: 649, col: 5, offset: 20887}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 649, col: 5, offset: 20887}, - run: (*parser).callonSpecialCharactersGroup51, - }, - &labeledExpr{ - pos: position{line: 652, col: 5, offset: 20951}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 652, col: 14, offset: 20960}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 663, col: 25, offset: 21324}, - run: (*parser).callonSpecialCharactersGroup54, - expr: &seqExpr{ - pos: position{line: 663, col: 25, offset: 21324}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 663, col: 25, offset: 21324}, - val: "{counter:", - ignoreCase: false, - want: "\"{counter:\"", - }, - &labeledExpr{ - pos: position{line: 663, col: 37, offset: 21336}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonSpecialCharactersGroup58, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 663, col: 56, offset: 21355}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 663, col: 62, offset: 21361}, - expr: &actionExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - run: (*parser).callonSpecialCharactersGroup65, - expr: &seqExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 671, col: 17, offset: 21656}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 671, col: 21, offset: 21660}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - run: (*parser).callonSpecialCharactersGroup70, - expr: &charClassMatcher{ - pos: position{line: 671, col: 28, offset: 21667}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - run: (*parser).callonSpecialCharactersGroup72, - expr: &oneOrMoreExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - expr: &charClassMatcher{ - pos: position{line: 673, col: 9, offset: 21721}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 663, col: 78, offset: 21377}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 667, col: 25, offset: 21495}, - run: (*parser).callonSpecialCharactersGroup76, - expr: &seqExpr{ - pos: position{line: 667, col: 25, offset: 21495}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 667, col: 25, offset: 21495}, - val: "{counter2:", - ignoreCase: false, - want: "\"{counter2:\"", - }, - &labeledExpr{ - pos: position{line: 667, col: 38, offset: 21508}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonSpecialCharactersGroup80, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 667, col: 57, offset: 21527}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 667, col: 63, offset: 21533}, - expr: &actionExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - run: (*parser).callonSpecialCharactersGroup87, - expr: &seqExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 671, col: 17, offset: 21656}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 671, col: 21, offset: 21660}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - run: (*parser).callonSpecialCharactersGroup92, - expr: &charClassMatcher{ - pos: position{line: 671, col: 28, offset: 21667}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - run: (*parser).callonSpecialCharactersGroup94, - expr: &oneOrMoreExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - expr: &charClassMatcher{ - pos: position{line: 673, col: 9, offset: 21721}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 667, col: 79, offset: 21549}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 656, col: 31, offset: 21077}, - run: (*parser).callonSpecialCharactersGroup98, - expr: &seqExpr{ - pos: position{line: 656, col: 31, offset: 21077}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 656, col: 31, offset: 21077}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - &labeledExpr{ - pos: position{line: 656, col: 35, offset: 21081}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonSpecialCharactersGroup102, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - 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: 54, offset: 21100}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 706, col: 8, offset: 23039}, - run: (*parser).callonSpecialCharactersGroup108, - expr: &litMatcher{ - pos: position{line: 706, col: 8, offset: 23039}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 691, col: 79, offset: 22427}, - val: ">>", - ignoreCase: false, - want: "\">>\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 693, col: 9, offset: 22500}, - run: (*parser).callonSpecialCharactersGroup111, - expr: &seqExpr{ - pos: position{line: 693, col: 9, offset: 22500}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 693, col: 9, offset: 22500}, - val: "<<", - ignoreCase: false, - want: "\"<<\"", - }, - &labeledExpr{ - pos: position{line: 693, col: 14, offset: 22505}, - label: "id", - expr: &actionExpr{ - pos: position{line: 2913, col: 7, offset: 95667}, - run: (*parser).callonSpecialCharactersGroup115, - expr: &oneOrMoreExpr{ - pos: position{line: 2913, col: 7, offset: 95667}, - expr: &charClassMatcher{ - pos: position{line: 2913, col: 7, offset: 95667}, - val: "[^[]<>,]", - chars: []rune{'[', ']', '<', '>', ','}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 693, col: 22, offset: 22513}, - val: ">>", - ignoreCase: false, - want: "\">>\"", - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2646, col: 11, offset: 87365}, - run: (*parser).callonSpecialCharactersGroup119, - expr: &charClassMatcher{ - pos: position{line: 2646, col: 12, offset: 87366}, - val: "[<>&]", - chars: []rune{'<', '>', '&'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 1085, col: 23, offset: 33674}, - run: (*parser).callonSpecialCharactersGroup121, - expr: &seqExpr{ - pos: position{line: 1085, col: 23, offset: 33674}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 1083, col: 32, offset: 33642}, - val: "�", - ignoreCase: false, - want: "\"�\"", - }, - &labeledExpr{ - pos: position{line: 1085, col: 51, offset: 33702}, - label: "ref", - expr: &actionExpr{ - pos: position{line: 1085, col: 56, offset: 33707}, - run: (*parser).callonSpecialCharactersGroup125, - expr: &oneOrMoreExpr{ - pos: position{line: 1085, col: 56, offset: 33707}, - expr: &charClassMatcher{ - pos: position{line: 1085, col: 56, offset: 33707}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 1083, col: 32, offset: 33642}, - val: "�", - ignoreCase: false, - want: "\"�\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2883, col: 12, offset: 94746}, - run: (*parser).callonSpecialCharactersGroup129, - expr: &anyMatcher{ - line: 2883, col: 12, offset: 94746, - }, - }, - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, - expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, - }, - }, - }, - }, - }, - }, - { - name: "VerbatimGroup", - pos: position{line: 2574, col: 1, offset: 85488}, - expr: &actionExpr{ - pos: position{line: 2574, col: 18, offset: 85505}, - run: (*parser).callonVerbatimGroup1, - expr: &seqExpr{ - pos: position{line: 2574, col: 18, offset: 85505}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 2574, col: 18, offset: 85505}, - label: "elements", - expr: &oneOrMoreExpr{ - pos: position{line: 2574, col: 27, offset: 85514}, - expr: &choiceExpr{ - pos: position{line: 2575, col: 5, offset: 85520}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2871, col: 5, offset: 94354}, - run: (*parser).callonVerbatimGroup6, - expr: &seqExpr{ - pos: position{line: 2871, col: 5, offset: 94354}, - exprs: []interface{}{ - &oneOrMoreExpr{ - pos: position{line: 2871, col: 5, offset: 94354}, - expr: &charClassMatcher{ - pos: position{line: 2871, col: 5, offset: 94354}, - val: "[,;!?0-9\\pL]", - chars: []rune{',', ';', '!', '?'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - &choiceExpr{ - pos: position{line: 2872, col: 6, offset: 94404}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, - run: (*parser).callonVerbatimGroup11, - expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - &andExpr{ - pos: position{line: 2872, col: 14, offset: 94412}, - expr: &choiceExpr{ - pos: position{line: 2872, col: 16, offset: 94414}, - alternatives: []interface{}{ - &charClassMatcher{ - pos: position{line: 2872, col: 16, offset: 94414}, - val: "[.�]", - chars: []rune{'.', '�'}, - ignoreCase: false, - inverted: false, - }, - &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, - run: (*parser).callonVerbatimGroup16, - expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, - expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &ruleRefExpr{ - pos: position{line: 2576, col: 7, offset: 85537}, - name: "Callout", - }, - &actionExpr{ - pos: position{line: 2638, col: 5, offset: 87092}, - run: (*parser).callonVerbatimGroup24, - expr: &seqExpr{ - pos: position{line: 2638, col: 5, offset: 87092}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 2638, col: 5, offset: 87092}, - run: (*parser).callonVerbatimGroup26, - }, - &labeledExpr{ - pos: position{line: 2641, col: 5, offset: 87163}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 2643, col: 9, offset: 87261}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2643, col: 9, offset: 87261}, - run: (*parser).callonVerbatimGroup29, - expr: &choiceExpr{ - pos: position{line: 691, col: 27, offset: 22375}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 691, col: 27, offset: 22375}, - run: (*parser).callonVerbatimGroup31, - expr: &seqExpr{ - pos: position{line: 691, col: 27, offset: 22375}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 691, col: 27, offset: 22375}, - val: "<<", - ignoreCase: false, - want: "\"<<\"", - }, - &labeledExpr{ - pos: position{line: 691, col: 32, offset: 22380}, - label: "id", - expr: &actionExpr{ - pos: position{line: 2913, col: 7, offset: 95667}, - run: (*parser).callonVerbatimGroup35, - expr: &oneOrMoreExpr{ - pos: position{line: 2913, col: 7, offset: 95667}, - expr: &charClassMatcher{ - pos: position{line: 2913, col: 7, offset: 95667}, - val: "[^[]<>,]", - chars: []rune{'[', ']', '<', '>', ','}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - &zeroOrMoreExpr{ - pos: position{line: 691, col: 40, offset: 22388}, - expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, - run: (*parser).callonVerbatimGroup39, - expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &litMatcher{ - pos: position{line: 691, col: 47, offset: 22395}, - val: ",", - ignoreCase: false, - want: "\",\"", - }, - &labeledExpr{ - pos: position{line: 691, col: 51, offset: 22399}, - label: "label", - expr: &oneOrMoreExpr{ - pos: position{line: 701, col: 24, offset: 22800}, - expr: &choiceExpr{ - pos: position{line: 702, col: 5, offset: 22806}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 702, col: 6, offset: 22807}, - run: (*parser).callonVerbatimGroup45, - expr: &seqExpr{ - pos: position{line: 702, col: 6, offset: 22807}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 702, col: 6, offset: 22807}, - val: "[0-9\\pL]", - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &oneOrMoreExpr{ - pos: position{line: 702, col: 14, offset: 22815}, - expr: &charClassMatcher{ - pos: position{line: 702, col: 14, offset: 22815}, - val: "[^\\r\\n{<>]", - chars: []rune{'\r', '\n', '{', '<', '>'}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 649, col: 5, offset: 20887}, - run: (*parser).callonVerbatimGroup50, - expr: &seqExpr{ - pos: position{line: 649, col: 5, offset: 20887}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 649, col: 5, offset: 20887}, - run: (*parser).callonVerbatimGroup52, - }, - &labeledExpr{ - pos: position{line: 652, col: 5, offset: 20951}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 652, col: 14, offset: 20960}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 663, col: 25, offset: 21324}, - run: (*parser).callonVerbatimGroup55, - expr: &seqExpr{ - pos: position{line: 663, col: 25, offset: 21324}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 663, col: 25, offset: 21324}, - val: "{counter:", - ignoreCase: false, - want: "\"{counter:\"", - }, - &labeledExpr{ - pos: position{line: 663, col: 37, offset: 21336}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonVerbatimGroup59, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 663, col: 56, offset: 21355}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 663, col: 62, offset: 21361}, - expr: &actionExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - run: (*parser).callonVerbatimGroup66, - expr: &seqExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 671, col: 17, offset: 21656}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 671, col: 21, offset: 21660}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - run: (*parser).callonVerbatimGroup71, - expr: &charClassMatcher{ - pos: position{line: 671, col: 28, offset: 21667}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - run: (*parser).callonVerbatimGroup73, - expr: &oneOrMoreExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - expr: &charClassMatcher{ - pos: position{line: 673, col: 9, offset: 21721}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 663, col: 78, offset: 21377}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 667, col: 25, offset: 21495}, - run: (*parser).callonVerbatimGroup77, - expr: &seqExpr{ - pos: position{line: 667, col: 25, offset: 21495}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 667, col: 25, offset: 21495}, - val: "{counter2:", - ignoreCase: false, - want: "\"{counter2:\"", - }, - &labeledExpr{ - pos: position{line: 667, col: 38, offset: 21508}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonVerbatimGroup81, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 667, col: 57, offset: 21527}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 667, col: 63, offset: 21533}, - expr: &actionExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - run: (*parser).callonVerbatimGroup88, - expr: &seqExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 671, col: 17, offset: 21656}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 671, col: 21, offset: 21660}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - run: (*parser).callonVerbatimGroup93, - expr: &charClassMatcher{ - pos: position{line: 671, col: 28, offset: 21667}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - run: (*parser).callonVerbatimGroup95, - expr: &oneOrMoreExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - expr: &charClassMatcher{ - pos: position{line: 673, col: 9, offset: 21721}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 667, col: 79, offset: 21549}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 656, col: 31, offset: 21077}, - run: (*parser).callonVerbatimGroup99, - expr: &seqExpr{ - pos: position{line: 656, col: 31, offset: 21077}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 656, col: 31, offset: 21077}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - &labeledExpr{ - pos: position{line: 656, col: 35, offset: 21081}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonVerbatimGroup103, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - 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: 54, offset: 21100}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 706, col: 8, offset: 23039}, - run: (*parser).callonVerbatimGroup109, - expr: &litMatcher{ - pos: position{line: 706, col: 8, offset: 23039}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 691, col: 79, offset: 22427}, - val: ">>", - ignoreCase: false, - want: "\">>\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 693, col: 9, offset: 22500}, - run: (*parser).callonVerbatimGroup112, - expr: &seqExpr{ - pos: position{line: 693, col: 9, offset: 22500}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 693, col: 9, offset: 22500}, - val: "<<", - ignoreCase: false, - want: "\"<<\"", - }, - &labeledExpr{ - pos: position{line: 693, col: 14, offset: 22505}, - label: "id", - expr: &actionExpr{ - pos: position{line: 2913, col: 7, offset: 95667}, - run: (*parser).callonVerbatimGroup116, - expr: &oneOrMoreExpr{ - pos: position{line: 2913, col: 7, offset: 95667}, - expr: &charClassMatcher{ - pos: position{line: 2913, col: 7, offset: 95667}, - val: "[^[]<>,]", - chars: []rune{'[', ']', '<', '>', ','}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 693, col: 22, offset: 22513}, - val: ">>", - ignoreCase: false, - want: "\">>\"", - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2646, col: 11, offset: 87365}, - run: (*parser).callonVerbatimGroup120, - expr: &charClassMatcher{ - pos: position{line: 2646, col: 12, offset: 87366}, - val: "[<>&]", - chars: []rune{'<', '>', '&'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 1085, col: 23, offset: 33674}, - run: (*parser).callonVerbatimGroup122, - expr: &seqExpr{ - pos: position{line: 1085, col: 23, offset: 33674}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 1083, col: 32, offset: 33642}, - val: "�", - ignoreCase: false, - want: "\"�\"", - }, - &labeledExpr{ - pos: position{line: 1085, col: 51, offset: 33702}, - label: "ref", - expr: &actionExpr{ - pos: position{line: 1085, col: 56, offset: 33707}, - run: (*parser).callonVerbatimGroup126, - expr: &oneOrMoreExpr{ - pos: position{line: 1085, col: 56, offset: 33707}, - expr: &charClassMatcher{ - pos: position{line: 1085, col: 56, offset: 33707}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 1083, col: 32, offset: 33642}, - val: "�", - ignoreCase: false, - want: "\"�\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2883, col: 12, offset: 94746}, - run: (*parser).callonVerbatimGroup130, - expr: &anyMatcher{ - line: 2883, col: 12, offset: 94746, - }, - }, - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, - expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, - }, - }, - }, - }, - }, - }, - { - name: "InlineMacro", - pos: position{line: 2583, col: 1, offset: 85806}, - expr: &actionExpr{ - pos: position{line: 2585, col: 5, offset: 85888}, - run: (*parser).callonInlineMacro1, - expr: &seqExpr{ - pos: position{line: 2585, col: 5, offset: 85888}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 2585, col: 5, offset: 85888}, - run: (*parser).callonInlineMacro3, - }, - &labeledExpr{ - pos: position{line: 2588, col: 5, offset: 85948}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 2589, col: 9, offset: 85966}, - alternatives: []interface{}{ - &ruleRefExpr{ - pos: position{line: 2589, col: 9, offset: 85966}, - name: "InlineIcon", - }, - &ruleRefExpr{ - pos: position{line: 2590, col: 11, offset: 85987}, - name: "InlineImage", - }, - &ruleRefExpr{ - pos: position{line: 2591, col: 11, offset: 86010}, - name: "Link", - }, - &ruleRefExpr{ - pos: position{line: 2592, col: 11, offset: 86026}, - name: "InlinePassthrough", - }, - &ruleRefExpr{ - pos: position{line: 2593, col: 11, offset: 86055}, - name: "InlineFootnote", - }, - &ruleRefExpr{ - pos: position{line: 2594, col: 11, offset: 86081}, - name: "CrossReference", - }, - &ruleRefExpr{ - pos: position{line: 2595, col: 11, offset: 86107}, - name: "InlineUserMacro", - }, - &actionExpr{ - pos: position{line: 1164, col: 17, offset: 36165}, - run: (*parser).callonInlineMacro13, - expr: &seqExpr{ - pos: position{line: 1164, col: 17, offset: 36165}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 1164, col: 17, offset: 36165}, - val: "[[", - ignoreCase: false, - want: "\"[[\"", - }, - &labeledExpr{ - pos: position{line: 1164, col: 22, offset: 36170}, - label: "id", - expr: &actionExpr{ - pos: position{line: 2913, col: 7, offset: 95667}, - run: (*parser).callonInlineMacro17, - expr: &oneOrMoreExpr{ - pos: position{line: 2913, col: 7, offset: 95667}, - expr: &charClassMatcher{ - pos: position{line: 2913, col: 7, offset: 95667}, - val: "[^[]<>,]", - chars: []rune{'[', ']', '<', '>', ','}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 1164, col: 30, offset: 36178}, - val: "]]", - ignoreCase: false, - want: "\"]]\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 1181, col: 23, offset: 36862}, - run: (*parser).callonInlineMacro21, - expr: &seqExpr{ - pos: position{line: 1181, col: 23, offset: 36862}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 1181, col: 23, offset: 36862}, - val: "(((", - ignoreCase: false, - want: "\"(((\"", - }, - &labeledExpr{ - pos: position{line: 1181, col: 29, offset: 36868}, - label: "term1", - expr: &actionExpr{ - pos: position{line: 1188, col: 30, offset: 37199}, - run: (*parser).callonInlineMacro25, - expr: &oneOrMoreExpr{ - pos: position{line: 1188, col: 30, offset: 37199}, - expr: &choiceExpr{ - pos: position{line: 1188, col: 31, offset: 37200}, - alternatives: []interface{}{ - &charClassMatcher{ - pos: position{line: 2852, col: 13, offset: 93681}, - val: "[0-9\\pL]", - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, - run: (*parser).callonInlineMacro29, - expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 1182, col: 5, offset: 36907}, - label: "term2", - expr: &zeroOrOneExpr{ - pos: position{line: 1182, col: 11, offset: 36913}, - expr: &actionExpr{ - pos: position{line: 1182, col: 12, offset: 36914}, - run: (*parser).callonInlineMacro33, - expr: &seqExpr{ - pos: position{line: 1182, col: 12, offset: 36914}, - exprs: []interface{}{ - &zeroOrMoreExpr{ - pos: position{line: 1182, col: 12, offset: 36914}, - expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, - run: (*parser).callonInlineMacro36, - expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &litMatcher{ - pos: position{line: 1182, col: 19, offset: 36921}, - val: ",", - ignoreCase: false, - want: "\",\"", - }, - &zeroOrMoreExpr{ - pos: position{line: 1182, col: 23, offset: 36925}, - expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, - run: (*parser).callonInlineMacro40, - expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &labeledExpr{ - pos: position{line: 1182, col: 30, offset: 36932}, - label: "content", - expr: &actionExpr{ - pos: position{line: 1188, col: 30, offset: 37199}, - run: (*parser).callonInlineMacro43, - expr: &oneOrMoreExpr{ - pos: position{line: 1188, col: 30, offset: 37199}, - expr: &choiceExpr{ - pos: position{line: 1188, col: 31, offset: 37200}, - alternatives: []interface{}{ - &charClassMatcher{ - pos: position{line: 2852, col: 13, offset: 93681}, - val: "[0-9\\pL]", - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, - run: (*parser).callonInlineMacro47, - expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 1183, col: 5, offset: 36999}, - label: "term3", - expr: &zeroOrOneExpr{ - pos: position{line: 1183, col: 11, offset: 37005}, - expr: &actionExpr{ - pos: position{line: 1183, col: 12, offset: 37006}, - run: (*parser).callonInlineMacro51, - expr: &seqExpr{ - pos: position{line: 1183, col: 12, offset: 37006}, - exprs: []interface{}{ - &zeroOrMoreExpr{ - pos: position{line: 1183, col: 12, offset: 37006}, - expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, - run: (*parser).callonInlineMacro54, - expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &litMatcher{ - pos: position{line: 1183, col: 19, offset: 37013}, - val: ",", - ignoreCase: false, - want: "\",\"", - }, - &zeroOrMoreExpr{ - pos: position{line: 1183, col: 23, offset: 37017}, - expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, - run: (*parser).callonInlineMacro58, - expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &labeledExpr{ - pos: position{line: 1183, col: 30, offset: 37024}, - label: "content", - expr: &actionExpr{ - pos: position{line: 1188, col: 30, offset: 37199}, - run: (*parser).callonInlineMacro61, - expr: &oneOrMoreExpr{ - pos: position{line: 1188, col: 30, offset: 37199}, - expr: &choiceExpr{ - pos: position{line: 1188, col: 31, offset: 37200}, - alternatives: []interface{}{ - &charClassMatcher{ - pos: position{line: 2852, col: 13, offset: 93681}, - val: "[0-9\\pL]", - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, - run: (*parser).callonInlineMacro65, - expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 1184, col: 5, offset: 37091}, - val: ")))", - ignoreCase: false, - want: "\")))\"", - }, - }, - }, - }, - &ruleRefExpr{ - pos: position{line: 2598, col: 11, offset: 86186}, - name: "IndexTerm", - }, - &ruleRefExpr{ - pos: position{line: 2599, col: 11, offset: 86206}, - name: "InlineUserMacro", - }, - }, - }, - }, - }, - }, - }, - }, - { - name: "InlinePassthrough", - pos: position{line: 2603, col: 1, offset: 86268}, - expr: &actionExpr{ - pos: position{line: 2605, col: 5, offset: 86356}, - run: (*parser).callonInlinePassthrough1, - expr: &seqExpr{ - pos: position{line: 2605, col: 5, offset: 86356}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 2605, col: 5, offset: 86356}, - run: (*parser).callonInlinePassthrough3, - }, - &labeledExpr{ - pos: position{line: 2608, col: 5, offset: 86428}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 2609, col: 9, offset: 86446}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 1245, col: 26, offset: 40134}, - run: (*parser).callonInlinePassthrough6, - expr: &seqExpr{ - pos: position{line: 1245, col: 26, offset: 40134}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 1243, col: 32, offset: 40102}, - val: "+++", - ignoreCase: false, - want: "\"+++\"", - }, - &labeledExpr{ - pos: position{line: 1245, col: 54, offset: 40162}, - label: "content", - expr: &choiceExpr{ - pos: position{line: 1249, col: 33, offset: 40375}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 1249, col: 34, offset: 40376}, - run: (*parser).callonInlinePassthrough11, - expr: &zeroOrMoreExpr{ - pos: position{line: 1249, col: 34, offset: 40376}, - expr: &seqExpr{ - pos: position{line: 1249, col: 35, offset: 40377}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 1249, col: 35, offset: 40377}, - expr: &litMatcher{ - pos: position{line: 1243, col: 32, offset: 40102}, - val: "+++", - ignoreCase: false, - want: "\"+++\"", - }, - }, - &anyMatcher{ - line: 1249, col: 64, offset: 40406, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 1251, col: 11, offset: 40579}, - run: (*parser).callonInlinePassthrough17, - expr: &zeroOrOneExpr{ - pos: position{line: 1251, col: 11, offset: 40579}, - expr: &seqExpr{ - pos: position{line: 1251, col: 12, offset: 40580}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 1251, col: 12, offset: 40580}, - expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, - run: (*parser).callonInlinePassthrough21, - expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - ¬Expr{ - pos: position{line: 1251, col: 19, offset: 40587}, - expr: &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, - run: (*parser).callonInlinePassthrough24, - expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 1251, col: 28, offset: 40596}, - expr: &litMatcher{ - pos: position{line: 1243, col: 32, offset: 40102}, - val: "+++", - ignoreCase: false, - want: "\"+++\"", - }, - }, - &anyMatcher{ - line: 1251, col: 57, offset: 40625, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 1243, col: 32, offset: 40102}, - val: "+++", - ignoreCase: false, - want: "\"+++\"", - }, - ¬Expr{ - pos: position{line: 1245, col: 121, offset: 40229}, - expr: &charClassMatcher{ - pos: position{line: 2852, col: 13, offset: 93681}, - val: "[0-9\\pL]", - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 1233, col: 26, offset: 39417}, - run: (*parser).callonInlinePassthrough35, - expr: &seqExpr{ - pos: position{line: 1233, col: 26, offset: 39417}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 1231, col: 32, offset: 39387}, - val: "+", - ignoreCase: false, - want: "\"+\"", - }, - &labeledExpr{ - pos: position{line: 1233, col: 54, offset: 39445}, - label: "content", - expr: &choiceExpr{ - pos: position{line: 1237, col: 33, offset: 39658}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 1237, col: 34, offset: 39659}, - run: (*parser).callonInlinePassthrough40, - expr: &seqExpr{ - pos: position{line: 1237, col: 34, offset: 39659}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 1237, col: 35, offset: 39660}, - expr: &litMatcher{ - pos: position{line: 1231, col: 32, offset: 39387}, - val: "+", - ignoreCase: false, - want: "\"+\"", - }, - }, - ¬Expr{ - pos: position{line: 1237, col: 64, offset: 39689}, - expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, - run: (*parser).callonInlinePassthrough45, - expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - ¬Expr{ - pos: position{line: 1237, col: 71, offset: 39696}, - expr: &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, - run: (*parser).callonInlinePassthrough48, - expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - }, - &anyMatcher{ - line: 1237, col: 80, offset: 39705, - }, - &zeroOrMoreExpr{ - pos: position{line: 1237, col: 83, offset: 39708}, - expr: &seqExpr{ - pos: position{line: 1237, col: 84, offset: 39709}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 1237, col: 84, offset: 39709}, - expr: &seqExpr{ - pos: position{line: 1237, col: 86, offset: 39711}, - exprs: []interface{}{ - &actionExpr{ - pos: position{line: 2932, col: 11, offset: 96082}, - run: (*parser).callonInlinePassthrough58, - expr: &oneOrMoreExpr{ - pos: position{line: 2932, col: 11, offset: 96082}, - expr: &charClassMatcher{ - pos: position{line: 2932, col: 12, offset: 96083}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &litMatcher{ - pos: position{line: 1231, col: 32, offset: 39387}, - val: "+", - ignoreCase: false, - want: "\"+\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 1237, col: 122, offset: 39747}, - expr: &litMatcher{ - pos: position{line: 1231, col: 32, offset: 39387}, - val: "+", - ignoreCase: false, - want: "\"+\"", - }, - }, - ¬Expr{ - pos: position{line: 1237, col: 151, offset: 39776}, - expr: &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, - run: (*parser).callonInlinePassthrough65, - expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - }, - &anyMatcher{ - line: 1237, col: 160, offset: 39785, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 1239, col: 11, offset: 39935}, - run: (*parser).callonInlinePassthrough71, - expr: &seqExpr{ - pos: position{line: 1239, col: 12, offset: 39936}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 1239, col: 12, offset: 39936}, - expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, - run: (*parser).callonInlinePassthrough74, - expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - ¬Expr{ - pos: position{line: 1239, col: 19, offset: 39943}, - expr: &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, - run: (*parser).callonInlinePassthrough77, - expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 1239, col: 28, offset: 39952}, - expr: &litMatcher{ - pos: position{line: 1231, col: 32, offset: 39387}, - val: "+", - ignoreCase: false, - want: "\"+\"", - }, - }, - &anyMatcher{ - line: 1239, col: 57, offset: 39981, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 1231, col: 32, offset: 39387}, - val: "+", - ignoreCase: false, - want: "\"+\"", - }, - ¬Expr{ - pos: position{line: 1233, col: 121, offset: 39512}, - expr: &charClassMatcher{ - pos: position{line: 2852, col: 13, offset: 93681}, - val: "[0-9\\pL]", - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - &ruleRefExpr{ - pos: position{line: 2609, col: 57, offset: 86494}, - name: "PassthroughMacro", - }, - }, - }, - }, - }, - }, - }, - }, - { - name: "Quote", - pos: position{line: 2614, col: 1, offset: 86554}, - expr: &actionExpr{ - pos: position{line: 2616, col: 5, offset: 86630}, - run: (*parser).callonQuote1, - expr: &seqExpr{ - pos: position{line: 2616, col: 5, offset: 86630}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 2616, col: 5, offset: 86630}, - run: (*parser).callonQuote3, - }, - &labeledExpr{ - pos: position{line: 2619, col: 5, offset: 86690}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 2620, col: 9, offset: 86708}, - alternatives: []interface{}{ - &ruleRefExpr{ - pos: position{line: 2620, col: 9, offset: 86708}, - name: "QuotedText", - }, - &ruleRefExpr{ - pos: position{line: 2621, col: 11, offset: 86730}, - name: "QuotedString", - }, - }, - }, - }, - }, - }, - }, - }, - { - name: "TableColumnsAttribute", - pos: position{line: 2767, col: 1, offset: 90739}, - expr: &actionExpr{ - pos: position{line: 2767, col: 26, offset: 90764}, - run: (*parser).callonTableColumnsAttribute1, - expr: &seqExpr{ - pos: position{line: 2767, col: 26, offset: 90764}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 2767, col: 26, offset: 90764}, - label: "cols", - expr: &zeroOrMoreExpr{ - pos: position{line: 2767, col: 31, offset: 90769}, - expr: &actionExpr{ - pos: position{line: 2772, col: 5, offset: 90832}, - run: (*parser).callonTableColumnsAttribute5, - expr: &seqExpr{ - pos: position{line: 2772, col: 5, offset: 90832}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 2772, col: 5, offset: 90832}, - expr: ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, - expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, - }, - }, - }, - &labeledExpr{ - pos: position{line: 2775, col: 5, offset: 90956}, - label: "multiplier", - expr: &zeroOrOneExpr{ - pos: position{line: 2775, col: 16, offset: 90967}, - expr: &actionExpr{ - pos: position{line: 2775, col: 17, offset: 90968}, - run: (*parser).callonTableColumnsAttribute12, - expr: &seqExpr{ - pos: position{line: 2775, col: 17, offset: 90968}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 2775, col: 17, offset: 90968}, - label: "n", - expr: &actionExpr{ - pos: position{line: 2920, col: 12, offset: 95842}, - run: (*parser).callonTableColumnsAttribute15, - expr: &seqExpr{ - pos: position{line: 2920, col: 13, offset: 95843}, - exprs: []interface{}{ - &zeroOrOneExpr{ - pos: position{line: 2920, col: 13, offset: 95843}, - expr: &litMatcher{ - pos: position{line: 2920, col: 13, offset: 95843}, - val: "-", - ignoreCase: false, - want: "\"-\"", - }, - }, - &oneOrMoreExpr{ - pos: position{line: 2920, col: 18, offset: 95848}, - expr: &charClassMatcher{ - pos: position{line: 2920, col: 18, offset: 95848}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 2775, col: 27, offset: 90978}, - val: "*", - ignoreCase: false, - want: "\"*\"", - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 2776, col: 5, offset: 91006}, - label: "halign", - expr: &zeroOrOneExpr{ - pos: position{line: 2776, col: 12, offset: 91013}, - expr: &choiceExpr{ - pos: position{line: 2777, col: 9, offset: 91023}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2777, col: 9, offset: 91023}, - run: (*parser).callonTableColumnsAttribute25, - expr: &litMatcher{ - pos: position{line: 2777, col: 9, offset: 91023}, - val: "<", - ignoreCase: false, - want: "\"<\"", - }, - }, - &actionExpr{ - pos: position{line: 2778, col: 11, offset: 91070}, - run: (*parser).callonTableColumnsAttribute27, - expr: &litMatcher{ - pos: position{line: 2778, col: 11, offset: 91070}, - val: ">", - ignoreCase: false, - want: "\">\"", - }, - }, - &actionExpr{ - pos: position{line: 2779, col: 11, offset: 91118}, - run: (*parser).callonTableColumnsAttribute29, - expr: &litMatcher{ - pos: position{line: 2779, col: 11, offset: 91118}, - val: "^", - ignoreCase: false, - want: "\"^\"", - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 2781, col: 5, offset: 91168}, - label: "valign", - expr: &zeroOrOneExpr{ - pos: position{line: 2781, col: 12, offset: 91175}, - expr: &choiceExpr{ - pos: position{line: 2782, col: 9, offset: 91185}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2782, col: 9, offset: 91185}, - run: (*parser).callonTableColumnsAttribute34, - expr: &litMatcher{ - pos: position{line: 2782, col: 9, offset: 91185}, - val: ".<", - ignoreCase: false, - want: "\".<\"", - }, - }, - &actionExpr{ - pos: position{line: 2783, col: 11, offset: 91232}, - run: (*parser).callonTableColumnsAttribute36, - expr: &litMatcher{ - pos: position{line: 2783, col: 11, offset: 91232}, - val: ".>", - ignoreCase: false, - want: "\".>\"", - }, - }, - &actionExpr{ - pos: position{line: 2784, col: 11, offset: 91282}, - run: (*parser).callonTableColumnsAttribute38, - expr: &litMatcher{ - pos: position{line: 2784, col: 11, offset: 91282}, - val: ".^", - ignoreCase: false, - want: "\".^\"", - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 2786, col: 5, offset: 91333}, - label: "weight", - expr: &zeroOrOneExpr{ - pos: position{line: 2786, col: 12, offset: 91340}, - expr: &choiceExpr{ - pos: position{line: 2786, col: 13, offset: 91341}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2920, col: 12, offset: 95842}, - run: (*parser).callonTableColumnsAttribute43, - expr: &seqExpr{ - pos: position{line: 2920, col: 13, offset: 95843}, - exprs: []interface{}{ - &zeroOrOneExpr{ - pos: position{line: 2920, col: 13, offset: 95843}, - expr: &litMatcher{ - pos: position{line: 2920, col: 13, offset: 95843}, - val: "-", - ignoreCase: false, - want: "\"-\"", - }, - }, - &oneOrMoreExpr{ - pos: position{line: 2920, col: 18, offset: 95848}, - expr: &charClassMatcher{ - pos: position{line: 2920, col: 18, offset: 95848}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2786, col: 24, offset: 91352}, - run: (*parser).callonTableColumnsAttribute49, - expr: &litMatcher{ - pos: position{line: 2786, col: 24, offset: 91352}, - val: "~", - ignoreCase: false, - want: "\"~\"", - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 2787, col: 5, offset: 91394}, - label: "style", - expr: &zeroOrOneExpr{ - pos: position{line: 2787, col: 11, offset: 91400}, - expr: &actionExpr{ - pos: position{line: 2787, col: 12, offset: 91401}, - run: (*parser).callonTableColumnsAttribute53, - expr: &charClassMatcher{ - pos: position{line: 2787, col: 12, offset: 91401}, - val: "[adehlms]", - chars: []rune{'a', 'd', 'e', 'h', 'l', 'm', 's'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 2789, col: 5, offset: 91531}, - label: "comma", - expr: &zeroOrOneExpr{ - pos: position{line: 2789, col: 11, offset: 91537}, - expr: &litMatcher{ - pos: position{line: 2789, col: 12, offset: 91538}, - val: ",", - ignoreCase: false, - want: "\",\"", - }, - }, - }, - &andCodeExpr{ - pos: position{line: 2790, col: 5, offset: 91548}, - run: (*parser).callonTableColumnsAttribute58, - }, - }, - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, - expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, - }, - }, - }, - }, - }, - }, - { - name: "UserMacroBlock", - pos: position{line: 2817, col: 1, offset: 92557}, - expr: &actionExpr{ - pos: position{line: 2818, col: 5, offset: 92580}, - run: (*parser).callonUserMacroBlock1, - expr: &seqExpr{ - pos: position{line: 2818, col: 5, offset: 92580}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 2818, col: 5, offset: 92580}, - label: "name", - expr: &actionExpr{ - pos: position{line: 2841, col: 18, offset: 93345}, - run: (*parser).callonUserMacroBlock4, - expr: &oneOrMoreExpr{ - pos: position{line: 2841, col: 19, offset: 93346}, - expr: &charClassMatcher{ - pos: position{line: 2841, col: 19, offset: 93346}, - val: "[_-0-9\\pL]", - chars: []rune{'_', '-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - &andCodeExpr{ - pos: position{line: 2819, col: 5, offset: 92606}, - run: (*parser).callonUserMacroBlock7, - }, - &litMatcher{ - pos: position{line: 2823, col: 5, offset: 92746}, - val: "::", - ignoreCase: false, - want: "\"::\"", - }, - &labeledExpr{ - pos: position{line: 2824, col: 5, offset: 92756}, - label: "value", - expr: &actionExpr{ - pos: position{line: 2845, col: 19, offset: 93421}, - run: (*parser).callonUserMacroBlock10, - expr: &zeroOrMoreExpr{ - pos: position{line: 2845, col: 19, offset: 93421}, - expr: &charClassMatcher{ - pos: position{line: 2845, col: 19, offset: 93421}, - val: "[^:[ \\r\\n]", - chars: []rune{':', '[', ' ', '\r', '\n'}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 2825, col: 5, offset: 92784}, - label: "attributes", - expr: &ruleRefExpr{ - pos: position{line: 2825, col: 17, offset: 92796}, - name: "InlineAttributes", - }, - }, - &choiceExpr{ - pos: position{line: 2944, col: 8, offset: 96339}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2937, col: 12, offset: 96199}, - run: (*parser).callonUserMacroBlock16, - expr: &choiceExpr{ - pos: position{line: 2937, col: 13, offset: 96200}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2937, col: 13, offset: 96200}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2937, col: 20, offset: 96207}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2937, col: 29, offset: 96216}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2941, col: 8, offset: 96289}, - expr: &anyMatcher{ - line: 2941, col: 9, offset: 96290, - }, - }, - }, - }, - }, - }, - }, - }, - { - name: "InlineUserMacro", - pos: position{line: 2829, col: 1, offset: 92944}, - expr: &actionExpr{ - pos: position{line: 2830, col: 5, offset: 92968}, - run: (*parser).callonInlineUserMacro1, - expr: &seqExpr{ - pos: position{line: 2830, col: 5, offset: 92968}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 2830, col: 5, offset: 92968}, - label: "name", - expr: &actionExpr{ - pos: position{line: 2841, col: 18, offset: 93345}, - run: (*parser).callonInlineUserMacro4, - expr: &oneOrMoreExpr{ - pos: position{line: 2841, col: 19, offset: 93346}, - expr: &charClassMatcher{ - pos: position{line: 2841, col: 19, offset: 93346}, - val: "[_-0-9\\pL]", - chars: []rune{'_', '-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - &andCodeExpr{ - pos: position{line: 2831, col: 5, offset: 92994}, - run: (*parser).callonInlineUserMacro7, - }, - &litMatcher{ - pos: position{line: 2835, col: 5, offset: 93134}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 2836, col: 5, offset: 93143}, - label: "value", - expr: &actionExpr{ - pos: position{line: 2845, col: 19, offset: 93421}, - run: (*parser).callonInlineUserMacro10, - expr: &zeroOrMoreExpr{ - pos: position{line: 2845, col: 19, offset: 93421}, - expr: &charClassMatcher{ - pos: position{line: 2845, col: 19, offset: 93421}, - val: "[^:[ \\r\\n]", - chars: []rune{':', '[', ' ', '\r', '\n'}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 2837, col: 5, offset: 93171}, - label: "attributes", - expr: &ruleRefExpr{ - pos: position{line: 2837, col: 17, offset: 93183}, - name: "InlineAttributes", - }, - }, - }, - }, - }, - }, - { - name: "FileLocation", - pos: position{line: 2887, col: 1, offset: 94813}, - expr: &actionExpr{ - pos: position{line: 2887, col: 17, offset: 94829}, - run: (*parser).callonFileLocation1, - expr: &labeledExpr{ - pos: position{line: 2887, col: 17, offset: 94829}, - label: "path", - expr: &oneOrMoreExpr{ - pos: position{line: 2887, col: 22, offset: 94834}, - expr: &choiceExpr{ - pos: position{line: 2887, col: 23, offset: 94835}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2899, col: 13, offset: 95239}, - run: (*parser).callonFileLocation5, - expr: &labeledExpr{ - pos: position{line: 2899, col: 13, offset: 95239}, - label: "elements", - expr: &oneOrMoreExpr{ - pos: position{line: 2899, col: 22, offset: 95248}, - expr: &choiceExpr{ - pos: position{line: 2900, col: 5, offset: 95254}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2900, col: 5, offset: 95254}, - run: (*parser).callonFileLocation9, - expr: &oneOrMoreExpr{ - pos: position{line: 2900, col: 5, offset: 95254}, - expr: &charClassMatcher{ - pos: position{line: 2900, col: 6, offset: 95255}, - val: "[^\\r\\n[]�&<>{ ]", - chars: []rune{'\r', '\n', '[', ']', '�', '&', '<', '>', '{', ' '}, - ignoreCase: false, - inverted: true, - }, - }, - }, - &actionExpr{ - pos: position{line: 649, col: 5, offset: 20887}, - run: (*parser).callonFileLocation12, - expr: &seqExpr{ - pos: position{line: 649, col: 5, offset: 20887}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 649, col: 5, offset: 20887}, - run: (*parser).callonFileLocation14, - }, - &labeledExpr{ - pos: position{line: 652, col: 5, offset: 20951}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 652, col: 14, offset: 20960}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 663, col: 25, offset: 21324}, - run: (*parser).callonFileLocation17, - expr: &seqExpr{ - pos: position{line: 663, col: 25, offset: 21324}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 663, col: 25, offset: 21324}, - val: "{counter:", - ignoreCase: false, - want: "\"{counter:\"", - }, - &labeledExpr{ - pos: position{line: 663, col: 37, offset: 21336}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonFileLocation21, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 663, col: 56, offset: 21355}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 663, col: 62, offset: 21361}, - expr: &actionExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - run: (*parser).callonFileLocation28, - expr: &seqExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 671, col: 17, offset: 21656}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 671, col: 21, offset: 21660}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - run: (*parser).callonFileLocation33, - expr: &charClassMatcher{ - pos: position{line: 671, col: 28, offset: 21667}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - run: (*parser).callonFileLocation35, - expr: &oneOrMoreExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - expr: &charClassMatcher{ - pos: position{line: 673, col: 9, offset: 21721}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 663, col: 78, offset: 21377}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 667, col: 25, offset: 21495}, - run: (*parser).callonFileLocation39, - expr: &seqExpr{ - pos: position{line: 667, col: 25, offset: 21495}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 667, col: 25, offset: 21495}, - val: "{counter2:", - ignoreCase: false, - want: "\"{counter2:\"", - }, - &labeledExpr{ - pos: position{line: 667, col: 38, offset: 21508}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonFileLocation43, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 667, col: 57, offset: 21527}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 667, col: 63, offset: 21533}, - expr: &actionExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - run: (*parser).callonFileLocation50, - expr: &seqExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 671, col: 17, offset: 21656}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 671, col: 21, offset: 21660}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - run: (*parser).callonFileLocation55, - expr: &charClassMatcher{ - pos: position{line: 671, col: 28, offset: 21667}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - run: (*parser).callonFileLocation57, - expr: &oneOrMoreExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - expr: &charClassMatcher{ - pos: position{line: 673, col: 9, offset: 21721}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 667, col: 79, offset: 21549}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 656, col: 31, offset: 21077}, - run: (*parser).callonFileLocation61, - expr: &seqExpr{ - pos: position{line: 656, col: 31, offset: 21077}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 656, col: 31, offset: 21077}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - &labeledExpr{ - pos: position{line: 656, col: 35, offset: 21081}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonFileLocation65, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - 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: 54, offset: 21100}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2638, col: 5, offset: 87092}, - run: (*parser).callonFileLocation71, - expr: &seqExpr{ - pos: position{line: 2638, col: 5, offset: 87092}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 2638, col: 5, offset: 87092}, - run: (*parser).callonFileLocation73, - }, - &labeledExpr{ - pos: position{line: 2641, col: 5, offset: 87163}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 2643, col: 9, offset: 87261}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2643, col: 9, offset: 87261}, - run: (*parser).callonFileLocation76, - expr: &choiceExpr{ - pos: position{line: 691, col: 27, offset: 22375}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 691, col: 27, offset: 22375}, - run: (*parser).callonFileLocation78, - expr: &seqExpr{ - pos: position{line: 691, col: 27, offset: 22375}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 691, col: 27, offset: 22375}, - val: "<<", - ignoreCase: false, - want: "\"<<\"", - }, - &labeledExpr{ - pos: position{line: 691, col: 32, offset: 22380}, - label: "id", - expr: &actionExpr{ - pos: position{line: 2913, col: 7, offset: 95667}, - run: (*parser).callonFileLocation82, - expr: &oneOrMoreExpr{ - pos: position{line: 2913, col: 7, offset: 95667}, - expr: &charClassMatcher{ - pos: position{line: 2913, col: 7, offset: 95667}, - val: "[^[]<>,]", - chars: []rune{'[', ']', '<', '>', ','}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - &zeroOrMoreExpr{ - pos: position{line: 691, col: 40, offset: 22388}, - expr: &actionExpr{ - pos: position{line: 2928, col: 10, offset: 96015}, - run: (*parser).callonFileLocation86, - expr: &charClassMatcher{ - pos: position{line: 2928, col: 11, offset: 96016}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &litMatcher{ - pos: position{line: 691, col: 47, offset: 22395}, - val: ",", - ignoreCase: false, - want: "\",\"", - }, - &labeledExpr{ - pos: position{line: 691, col: 51, offset: 22399}, - label: "label", - expr: &oneOrMoreExpr{ - pos: position{line: 701, col: 24, offset: 22800}, - expr: &choiceExpr{ - pos: position{line: 702, col: 5, offset: 22806}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 702, col: 6, offset: 22807}, - run: (*parser).callonFileLocation92, - expr: &seqExpr{ - pos: position{line: 702, col: 6, offset: 22807}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 702, col: 6, offset: 22807}, - val: "[0-9\\pL]", - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &oneOrMoreExpr{ - pos: position{line: 702, col: 14, offset: 22815}, - expr: &charClassMatcher{ - pos: position{line: 702, col: 14, offset: 22815}, - val: "[^\\r\\n{<>]", - chars: []rune{'\r', '\n', '{', '<', '>'}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 649, col: 5, offset: 20887}, - run: (*parser).callonFileLocation97, - expr: &seqExpr{ - pos: position{line: 649, col: 5, offset: 20887}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 649, col: 5, offset: 20887}, - run: (*parser).callonFileLocation99, - }, - &labeledExpr{ - pos: position{line: 652, col: 5, offset: 20951}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 652, col: 14, offset: 20960}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 663, col: 25, offset: 21324}, - run: (*parser).callonFileLocation102, - expr: &seqExpr{ - pos: position{line: 663, col: 25, offset: 21324}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 663, col: 25, offset: 21324}, - val: "{counter:", - ignoreCase: false, - want: "\"{counter:\"", - }, - &labeledExpr{ - pos: position{line: 663, col: 37, offset: 21336}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonFileLocation106, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 663, col: 56, offset: 21355}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 663, col: 62, offset: 21361}, - expr: &actionExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - run: (*parser).callonFileLocation113, - expr: &seqExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 671, col: 17, offset: 21656}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 671, col: 21, offset: 21660}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - run: (*parser).callonFileLocation118, - expr: &charClassMatcher{ - pos: position{line: 671, col: 28, offset: 21667}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - run: (*parser).callonFileLocation120, - expr: &oneOrMoreExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - expr: &charClassMatcher{ - pos: position{line: 673, col: 9, offset: 21721}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 663, col: 78, offset: 21377}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 667, col: 25, offset: 21495}, - run: (*parser).callonFileLocation124, - expr: &seqExpr{ - pos: position{line: 667, col: 25, offset: 21495}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 667, col: 25, offset: 21495}, - val: "{counter2:", - ignoreCase: false, - want: "\"{counter2:\"", - }, - &labeledExpr{ - pos: position{line: 667, col: 38, offset: 21508}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonFileLocation128, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 667, col: 57, offset: 21527}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 667, col: 63, offset: 21533}, - expr: &actionExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - run: (*parser).callonFileLocation135, - expr: &seqExpr{ - pos: position{line: 671, col: 17, offset: 21656}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 671, col: 17, offset: 21656}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 671, col: 21, offset: 21660}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 671, col: 28, offset: 21667}, - run: (*parser).callonFileLocation140, - expr: &charClassMatcher{ - pos: position{line: 671, col: 28, offset: 21667}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - run: (*parser).callonFileLocation142, - expr: &oneOrMoreExpr{ - pos: position{line: 673, col: 9, offset: 21721}, - expr: &charClassMatcher{ - pos: position{line: 673, col: 9, offset: 21721}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 667, col: 79, offset: 21549}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 656, col: 31, offset: 21077}, - run: (*parser).callonFileLocation146, - expr: &seqExpr{ - pos: position{line: 656, col: 31, offset: 21077}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 656, col: 31, offset: 21077}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - &labeledExpr{ - pos: position{line: 656, col: 35, offset: 21081}, - label: "name", - expr: &actionExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - run: (*parser).callonFileLocation150, - expr: &seqExpr{ - pos: position{line: 336, col: 18, offset: 10333}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 336, col: 18, offset: 10333}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 336, col: 28, offset: 10343}, - expr: &charClassMatcher{ - pos: position{line: 336, col: 29, offset: 10344}, - 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: 54, offset: 21100}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 706, col: 8, offset: 23039}, - run: (*parser).callonFileLocation156, - expr: &litMatcher{ - pos: position{line: 706, col: 8, offset: 23039}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 691, col: 79, offset: 22427}, - val: ">>", - ignoreCase: false, - want: "\">>\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 693, col: 9, offset: 22500}, - run: (*parser).callonFileLocation159, - expr: &seqExpr{ - pos: position{line: 693, col: 9, offset: 22500}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 693, col: 9, offset: 22500}, - val: "<<", - ignoreCase: false, - want: "\"<<\"", - }, - &labeledExpr{ - pos: position{line: 693, col: 14, offset: 22505}, - label: "id", - expr: &actionExpr{ - pos: position{line: 2913, col: 7, offset: 95667}, - run: (*parser).callonFileLocation163, - expr: &oneOrMoreExpr{ - pos: position{line: 2913, col: 7, offset: 95667}, - expr: &charClassMatcher{ - pos: position{line: 2913, col: 7, offset: 95667}, - val: "[^[]<>,]", - chars: []rune{'[', ']', '<', '>', ','}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 693, col: 22, offset: 22513}, - val: ">>", - ignoreCase: false, - want: "\">>\"", - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2646, col: 11, offset: 87365}, - run: (*parser).callonFileLocation167, - expr: &charClassMatcher{ - pos: position{line: 2646, col: 12, offset: 87366}, - val: "[<>&]", - chars: []rune{'<', '>', '&'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2905, col: 7, offset: 95451}, - run: (*parser).callonFileLocation169, - expr: &litMatcher{ - pos: position{line: 2905, col: 7, offset: 95451}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 1085, col: 23, offset: 33674}, - run: (*parser).callonFileLocation171, - expr: &seqExpr{ - pos: position{line: 1085, col: 23, offset: 33674}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 1083, col: 32, offset: 33642}, - val: "�", - ignoreCase: false, - want: "\"�\"", - }, - &labeledExpr{ - pos: position{line: 1085, col: 51, offset: 33702}, - label: "ref", - expr: &actionExpr{ - pos: position{line: 1085, col: 56, offset: 33707}, - run: (*parser).callonFileLocation175, - expr: &oneOrMoreExpr{ - pos: position{line: 1085, col: 56, offset: 33707}, - expr: &charClassMatcher{ - pos: position{line: 1085, col: 56, offset: 33707}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 1083, col: 32, offset: 33642}, - 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) onDocumentRawLine100() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonDocumentRawLine100() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentRawLine100() -} - -func (c *current) onDocumentRawLine96(name interface{}) (interface{}, error) { - - return types.NewAttributeSubstitution(name.(string), string(c.text)) -} - -func (p *parser) callonDocumentRawLine96() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentRawLine96(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) onDocumentRawLine115() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonDocumentRawLine115() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentRawLine115() -} - -func (c *current) onDocumentRawLine111(name interface{}) (interface{}, error) { - - return types.NewAttributeSubstitution(name.(string), string(c.text)) -} - -func (p *parser) callonDocumentRawLine111() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentRawLine111(stack["name"]) -} - -func (c *current) onDocumentRawLine107(s interface{}) (interface{}, error) { - return s, nil -} - -func (p *parser) callonDocumentRawLine107() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentRawLine107(stack["s"]) -} - -func (c *current) onDocumentRawLine128() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonDocumentRawLine128() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentRawLine128() -} - -func (c *current) onDocumentRawLine124(name interface{}) (interface{}, error) { - - return types.NewAttributeSubstitution(name.(string), string(c.text)) -} - -func (p *parser) callonDocumentRawLine124() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentRawLine124(stack["name"]) -} - -func (c *current) onDocumentRawLine122(s interface{}) (interface{}, error) { - return s, nil -} - -func (p *parser) callonDocumentRawLine122() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentRawLine122(stack["s"]) -} - -func (c *current) onDocumentRawLine138() (interface{}, error) { - return string(c.text), nil -} - -func (p *parser) callonDocumentRawLine138() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentRawLine138() -} - -func (c *current) onDocumentRawLine134(w interface{}) (interface{}, error) { - return w, nil -} - -func (p *parser) callonDocumentRawLine134() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentRawLine134(stack["w"]) -} - -func (c *current) onDocumentRawLine146() (interface{}, error) { - return string(c.text), nil -} - -func (p *parser) callonDocumentRawLine146() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentRawLine146() -} - -func (c *current) onDocumentRawLine142(w interface{}) (interface{}, error) { - return w, nil -} - -func (p *parser) callonDocumentRawLine142() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentRawLine142(stack["w"]) -} - -func (c *current) onDocumentRawLine150() (interface{}, error) { - return strconv.Atoi(string(c.text)) - -} - -func (p *parser) callonDocumentRawLine150() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentRawLine150() -} - -func (c *current) onDocumentRawLine157() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonDocumentRawLine157() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentRawLine157() -} - -func (c *current) onDocumentRawLine161() (interface{}, error) { - return types.NewEqualOperand() - -} - -func (p *parser) callonDocumentRawLine161() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentRawLine161() -} - -func (c *current) onDocumentRawLine163() (interface{}, error) { - return types.NewNotEqualOperand() - -} - -func (p *parser) callonDocumentRawLine163() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentRawLine163() -} - -func (c *current) onDocumentRawLine165() (interface{}, error) { - return types.NewLessThanOperand() - -} - -func (p *parser) callonDocumentRawLine165() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentRawLine165() -} - -func (c *current) onDocumentRawLine167() (interface{}, error) { - return types.NewLessOrEqualOperand() - -} - -func (p *parser) callonDocumentRawLine167() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentRawLine167() -} - -func (c *current) onDocumentRawLine169() (interface{}, error) { - return types.NewGreaterThanOperand() - -} - -func (p *parser) callonDocumentRawLine169() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentRawLine169() -} - -func (c *current) onDocumentRawLine171() (interface{}, error) { - return types.NewGreaterOrEqualOperand() - -} - -func (p *parser) callonDocumentRawLine171() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentRawLine171() -} - -func (c *current) onDocumentRawLine174() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonDocumentRawLine174() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentRawLine174() -} - -func (c *current) onDocumentRawLine186() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonDocumentRawLine186() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentRawLine186() -} - -func (c *current) onDocumentRawLine182(name interface{}) (interface{}, error) { - - return types.NewAttributeSubstitution(name.(string), string(c.text)) -} - -func (p *parser) callonDocumentRawLine182() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentRawLine182(stack["name"]) -} - -func (c *current) onDocumentRawLine178(s interface{}) (interface{}, error) { - return s, nil -} - -func (p *parser) callonDocumentRawLine178() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentRawLine178(stack["s"]) -} - -func (c *current) onDocumentRawLine201() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonDocumentRawLine201() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentRawLine201() -} - -func (c *current) onDocumentRawLine197(name interface{}) (interface{}, error) { - - return types.NewAttributeSubstitution(name.(string), string(c.text)) -} - -func (p *parser) callonDocumentRawLine197() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentRawLine197(stack["name"]) -} - -func (c *current) onDocumentRawLine193(s interface{}) (interface{}, error) { - return s, nil -} - -func (p *parser) callonDocumentRawLine193() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentRawLine193(stack["s"]) -} - -func (c *current) onDocumentRawLine214() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonDocumentRawLine214() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentRawLine214() -} - -func (c *current) onDocumentRawLine210(name interface{}) (interface{}, error) { - - return types.NewAttributeSubstitution(name.(string), string(c.text)) -} - -func (p *parser) callonDocumentRawLine210() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentRawLine210(stack["name"]) -} - -func (c *current) onDocumentRawLine208(s interface{}) (interface{}, error) { - return s, nil -} - -func (p *parser) callonDocumentRawLine208() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentRawLine208(stack["s"]) -} - -func (c *current) onDocumentRawLine224() (interface{}, error) { - return string(c.text), nil -} - -func (p *parser) callonDocumentRawLine224() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentRawLine224() -} - -func (c *current) onDocumentRawLine220(w interface{}) (interface{}, error) { - return w, nil -} - -func (p *parser) callonDocumentRawLine220() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentRawLine220(stack["w"]) -} - -func (c *current) onDocumentRawLine232() (interface{}, error) { - return string(c.text), nil -} - -func (p *parser) callonDocumentRawLine232() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentRawLine232() -} - -func (c *current) onDocumentRawLine228(w interface{}) (interface{}, error) { - return w, nil -} - -func (p *parser) callonDocumentRawLine228() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentRawLine228(stack["w"]) -} - -func (c *current) onDocumentRawLine236() (interface{}, error) { - return strconv.Atoi(string(c.text)) - -} - -func (p *parser) callonDocumentRawLine236() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentRawLine236() -} - -func (c *current) onDocumentRawLine244() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonDocumentRawLine244() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentRawLine244() -} - -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) onDocumentRawLine253() (interface{}, error) { - - return string(c.text), nil - -} - -func (p *parser) callonDocumentRawLine253() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentRawLine253() -} - -func (c *current) onDocumentRawLine259() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonDocumentRawLine259() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentRawLine259() -} - -func (c *current) onDocumentRawLine264() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonDocumentRawLine264() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentRawLine264() -} - -func (c *current) onDocumentRawLine248(name, attr interface{}) (interface{}, error) { - return types.NewEndOfCondition() // name and attributes are parsed but ignored - -} - -func (p *parser) callonDocumentRawLine248() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentRawLine248(stack["name"], stack["attr"]) -} - -func (c *current) onDocumentRawLine278() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonDocumentRawLine278() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentRawLine278() -} - -func (c *current) onDocumentRawLine281() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonDocumentRawLine281() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentRawLine281() -} - -func (c *current) onDocumentRawLine274() (interface{}, error) { - return types.NewBlockDelimiter(types.Comment, string(c.text)) -} - -func (p *parser) callonDocumentRawLine274() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentRawLine274() -} - -func (c *current) onDocumentRawLine292() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonDocumentRawLine292() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentRawLine292() -} - -func (c *current) onDocumentRawLine295() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonDocumentRawLine295() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentRawLine295() -} - -func (c *current) onDocumentRawLine288() (interface{}, error) { - return types.NewBlockDelimiter(types.Example, string(c.text)) -} - -func (p *parser) callonDocumentRawLine288() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentRawLine288() -} - -func (c *current) onDocumentRawLine306() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonDocumentRawLine306() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentRawLine306() -} - -func (c *current) onDocumentRawLine309() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonDocumentRawLine309() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentRawLine309() -} - -func (c *current) onDocumentRawLine302() (interface{}, error) { - return types.NewBlockDelimiter(types.Fenced, string(c.text)) -} - -func (p *parser) callonDocumentRawLine302() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentRawLine302() -} - -func (c *current) onDocumentRawLine320() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonDocumentRawLine320() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentRawLine320() -} - -func (c *current) onDocumentRawLine323() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonDocumentRawLine323() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentRawLine323() -} - -func (c *current) onDocumentRawLine316() (interface{}, error) { - return types.NewBlockDelimiter(types.Listing, string(c.text)) -} - -func (p *parser) callonDocumentRawLine316() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentRawLine316() -} - -func (c *current) onDocumentRawLine334() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonDocumentRawLine334() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentRawLine334() -} - -func (c *current) onDocumentRawLine337() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonDocumentRawLine337() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentRawLine337() -} - -func (c *current) onDocumentRawLine330() (interface{}, error) { - return types.NewBlockDelimiter(types.Literal, string(c.text)) -} - -func (p *parser) callonDocumentRawLine330() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentRawLine330() -} - -func (c *current) onDocumentRawLine348() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonDocumentRawLine348() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentRawLine348() -} - -func (c *current) onDocumentRawLine351() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonDocumentRawLine351() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentRawLine351() -} - -func (c *current) onDocumentRawLine344() (interface{}, error) { - return types.NewBlockDelimiter(types.Passthrough, string(c.text)) -} - -func (p *parser) callonDocumentRawLine344() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentRawLine344() -} - -func (c *current) onDocumentRawLine362() (interface{}, error) { - 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) onDocumentRawLine365() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonDocumentRawLine365() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentRawLine365() -} - -func (c *current) onDocumentRawLine358() (interface{}, error) { - return types.NewBlockDelimiter(types.Quote, string(c.text)) -} - -func (p *parser) callonDocumentRawLine358() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentRawLine358() -} - -func (c *current) onDocumentRawLine376() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonDocumentRawLine376() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentRawLine376() -} - -func (c *current) onDocumentRawLine379() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonDocumentRawLine379() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentRawLine379() -} - -func (c *current) onDocumentRawLine372() (interface{}, error) { - return types.NewBlockDelimiter(types.Sidebar, string(c.text)) -} - -func (p *parser) callonDocumentRawLine372() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentRawLine372() -} - -func (c *current) onDocumentRawLine268(delimiter interface{}) (interface{}, error) { - return delimiter, nil - -} - -func (p *parser) callonDocumentRawLine268() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentRawLine268(stack["delimiter"]) -} - -func (c *current) onDocumentRawLine388() (bool, error) { - // should only be enabled when reading files to include, not the main (root) file - return c.isSectionEnabled(), nil - -} - -func (p *parser) callonDocumentRawLine388() (bool, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentRawLine388() -} - -func (c *current) onDocumentRawLine389() (bool, error) { - - return !c.isWithinDelimitedBlock(), nil - -} - -func (p *parser) callonDocumentRawLine389() (bool, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentRawLine389() -} - -func (c *current) onDocumentRawLine391() (interface{}, error) { - - // `=` is level 0, `==` is level 1, etc. - return (len(c.text) - 1), nil - -} - -func (p *parser) callonDocumentRawLine391() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentRawLine391() -} - -func (c *current) onDocumentRawLine394(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) callonDocumentRawLine394() (bool, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentRawLine394(stack["level"]) -} - -func (c *current) onDocumentRawLine395(level interface{}) (interface{}, error) { - // log.Debug("matched multiple spaces") - return string(c.text), nil - -} - -func (p *parser) callonDocumentRawLine395() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentRawLine395(stack["level"]) -} - -func (c *current) onDocumentRawLine386(level interface{}) (interface{}, error) { - return types.NewRawSection(level.(int), string(c.text)) // just retain the raw content - -} - -func (p *parser) callonDocumentRawLine386() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentRawLine386(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) onFileInclusion16() (interface{}, error) { - // not supported for now: EOL, space, "{", "[", "]" - return types.NewStringElement(string(c.text)) - -} - -func (p *parser) callonFileInclusion16() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onFileInclusion16() -} - -func (c *current) onFileInclusion21() (bool, error) { - return c.isSubstitutionEnabled(Attributes) - -} - -func (p *parser) callonFileInclusion21() (bool, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onFileInclusion21() -} - -func (c *current) onFileInclusion28() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonFileInclusion28() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onFileInclusion28() -} - -func (c *current) onFileInclusion40() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonFileInclusion40() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onFileInclusion40() -} - -func (c *current) onFileInclusion42() (interface{}, error) { - - return strconv.Atoi(string(c.text)) - -} - -func (p *parser) callonFileInclusion42() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onFileInclusion42() -} - -func (c *current) onFileInclusion35(start interface{}) (interface{}, error) { - return start, nil - -} - -func (p *parser) callonFileInclusion35() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onFileInclusion35(stack["start"]) -} - -func (c *current) onFileInclusion24(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) -} - -func (p *parser) callonFileInclusion24() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onFileInclusion24(stack["name"], stack["start"]) -} - -func (c *current) onFileInclusion50() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonFileInclusion50() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onFileInclusion50() -} - -func (c *current) onFileInclusion62() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonFileInclusion62() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onFileInclusion62() -} - -func (c *current) onFileInclusion64() (interface{}, error) { - - return strconv.Atoi(string(c.text)) - -} - -func (p *parser) callonFileInclusion64() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onFileInclusion64() -} - -func (c *current) onFileInclusion57(start interface{}) (interface{}, error) { - return start, nil - -} - -func (p *parser) callonFileInclusion57() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onFileInclusion57(stack["start"]) -} - -func (c *current) onFileInclusion46(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) -} - -func (p *parser) callonFileInclusion46() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onFileInclusion46(stack["name"], stack["start"]) -} - -func (c *current) onFileInclusion72() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonFileInclusion72() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onFileInclusion72() -} - -func (c *current) onFileInclusion68(name interface{}) (interface{}, error) { - - return types.NewAttributeSubstitution(name.(string), string(c.text)) -} - -func (p *parser) callonFileInclusion68() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onFileInclusion68(stack["name"]) -} - -func (c *current) onFileInclusion19(element interface{}) (interface{}, error) { - return element, nil - -} - -func (p *parser) callonFileInclusion19() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onFileInclusion19(stack["element"]) -} - -func (c *current) onFileInclusion80() (bool, error) { - return c.isSubstitutionEnabled(SpecialCharacters) - -} - -func (p *parser) callonFileInclusion80() (bool, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onFileInclusion80() -} - -func (c *current) onFileInclusion89() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ - return string(c.text), nil - -} - -func (p *parser) callonFileInclusion89() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onFileInclusion89() -} - -func (c *current) onFileInclusion93() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonFileInclusion93() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onFileInclusion93() -} - -func (c *current) onFileInclusion99() (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) callonFileInclusion99() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onFileInclusion99() -} - -func (c *current) onFileInclusion106() (bool, error) { - return c.isSubstitutionEnabled(Attributes) - -} - -func (p *parser) callonFileInclusion106() (bool, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onFileInclusion106() -} - -func (c *current) onFileInclusion113() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonFileInclusion113() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onFileInclusion113() -} - -func (c *current) onFileInclusion125() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonFileInclusion125() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onFileInclusion125() -} - -func (c *current) onFileInclusion127() (interface{}, error) { - - return strconv.Atoi(string(c.text)) - -} - -func (p *parser) callonFileInclusion127() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onFileInclusion127() -} - -func (c *current) onFileInclusion120(start interface{}) (interface{}, error) { - return start, nil - -} - -func (p *parser) callonFileInclusion120() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onFileInclusion120(stack["start"]) -} - -func (c *current) onFileInclusion109(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) -} - -func (p *parser) callonFileInclusion109() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onFileInclusion109(stack["name"], stack["start"]) -} - -func (c *current) onFileInclusion135() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonFileInclusion135() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onFileInclusion135() -} - -func (c *current) onFileInclusion147() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonFileInclusion147() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onFileInclusion147() -} - -func (c *current) onFileInclusion149() (interface{}, error) { - - return strconv.Atoi(string(c.text)) - -} - -func (p *parser) callonFileInclusion149() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onFileInclusion149() -} - -func (c *current) onFileInclusion142(start interface{}) (interface{}, error) { - return start, nil - -} - -func (p *parser) callonFileInclusion142() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onFileInclusion142(stack["start"]) -} - -func (c *current) onFileInclusion131(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) -} - -func (p *parser) callonFileInclusion131() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onFileInclusion131(stack["name"], stack["start"]) -} - -func (c *current) onFileInclusion157() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonFileInclusion157() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onFileInclusion157() -} - -func (c *current) onFileInclusion153(name interface{}) (interface{}, error) { - - return types.NewAttributeSubstitution(name.(string), string(c.text)) -} - -func (p *parser) callonFileInclusion153() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onFileInclusion153(stack["name"]) -} - -func (c *current) onFileInclusion104(element interface{}) (interface{}, error) { - return element, nil - -} - -func (p *parser) callonFileInclusion104() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onFileInclusion104(stack["element"]) -} - -func (c *current) onFileInclusion163() (interface{}, error) { - - return types.NewStringElement(string(c.text)) - -} - -func (p *parser) callonFileInclusion163() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onFileInclusion163() -} - -func (c *current) onFileInclusion85(id, label interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, label) - -} - -func (p *parser) callonFileInclusion85() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onFileInclusion85(stack["id"], stack["label"]) -} - -func (c *current) onFileInclusion170() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ - return string(c.text), nil - -} - -func (p *parser) callonFileInclusion170() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onFileInclusion170() -} - -func (c *current) onFileInclusion166(id interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, nil) - -} - -func (p *parser) callonFileInclusion166() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onFileInclusion166(stack["id"]) -} - -func (c *current) onFileInclusion83() (interface{}, error) { - return types.NewStringElement(string(c.text)) - -} - -func (p *parser) callonFileInclusion83() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onFileInclusion83() -} - -func (c *current) onFileInclusion174() (interface{}, error) { - return types.NewSpecialCharacter(string(c.text)) - -} - -func (p *parser) callonFileInclusion174() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onFileInclusion174() -} - -func (c *current) onFileInclusion78(element interface{}) (interface{}, error) { - return element, nil - -} - -func (p *parser) callonFileInclusion78() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onFileInclusion78(stack["element"]) -} - -func (c *current) onFileInclusion176() (interface{}, error) { - return types.NewStringElement(string(c.text)) - -} - -func (p *parser) callonFileInclusion176() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onFileInclusion176() -} - -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) onFileInclusion182() (interface{}, error) { - return string(c.text), nil -} - -func (p *parser) callonFileInclusion182() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onFileInclusion182() -} - -func (c *current) onFileInclusion178(ref interface{}) (interface{}, error) { - return types.NewElementPlaceHolder(ref.(string)) -} - -func (p *parser) callonFileInclusion178() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onFileInclusion178(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) onFileInclusion189() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonFileInclusion189() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onFileInclusion189() -} - -func (c *current) onFileInclusion192() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonFileInclusion192() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onFileInclusion192() -} - -func (c *current) onFileInclusion1(incl interface{}) (interface{}, error) { - return incl.(*types.FileInclusion), nil - -} - -func (p *parser) callonFileInclusion1() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onFileInclusion1(stack["incl"]) -} - -func (c *current) onLineRanges12() (interface{}, error) { - return strconv.Atoi(string(c.text)) - -} - -func (p *parser) callonLineRanges12() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLineRanges12() -} - -func (c *current) onLineRanges20() (interface{}, error) { - return strconv.Atoi(string(c.text)) - -} - -func (p *parser) callonLineRanges20() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLineRanges20() -} - -func (c *current) onLineRanges9(start, end interface{}) (interface{}, error) { - // eg: lines=12..14 - return types.NewLineRange(start.(int), end.(int)) - -} - -func (p *parser) callonLineRanges9() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLineRanges9(stack["start"], stack["end"]) -} - -func (c *current) onLineRanges28() (interface{}, error) { - return strconv.Atoi(string(c.text)) - -} - -func (p *parser) callonLineRanges28() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLineRanges28() -} - -func (c *current) onLineRanges26(singleline interface{}) (interface{}, error) { - // eg: lines=12 - return types.NewLineRange(singleline.(int), singleline.(int)) - -} - -func (p *parser) callonLineRanges26() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLineRanges26(stack["singleline"]) -} - -func (c *current) onLineRanges44() (interface{}, error) { - return strconv.Atoi(string(c.text)) - -} - -func (p *parser) callonLineRanges44() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLineRanges44() -} - -func (c *current) onLineRanges52() (interface{}, error) { - return strconv.Atoi(string(c.text)) - -} - -func (p *parser) callonLineRanges52() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLineRanges52() -} - -func (c *current) onLineRanges41(start, end interface{}) (interface{}, error) { - // eg: lines=12..14 - return types.NewLineRange(start.(int), end.(int)) - -} - -func (p *parser) callonLineRanges41() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLineRanges41(stack["start"], stack["end"]) -} - -func (c *current) onLineRanges60() (interface{}, error) { - return strconv.Atoi(string(c.text)) - -} - -func (p *parser) callonLineRanges60() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLineRanges60() -} - -func (c *current) onLineRanges58(singleline interface{}) (interface{}, error) { - // eg: lines=12 - return types.NewLineRange(singleline.(int), singleline.(int)) - -} - -func (p *parser) callonLineRanges58() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLineRanges58(stack["singleline"]) -} - -func (c *current) onLineRanges36(other interface{}) (interface{}, error) { - return other, nil - -} - -func (p *parser) callonLineRanges36() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLineRanges36(stack["other"]) -} - -func (c *current) onLineRanges5(first, others interface{}) (interface{}, error) { - return append([]interface{}{first}, others.([]interface{})...), nil - -} - -func (p *parser) callonLineRanges5() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLineRanges5(stack["first"], stack["others"]) -} - -func (c *current) onLineRanges69() (interface{}, error) { - return strconv.Atoi(string(c.text)) - -} - -func (p *parser) callonLineRanges69() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLineRanges69() -} - -func (c *current) onLineRanges77() (interface{}, error) { - return strconv.Atoi(string(c.text)) - -} - -func (p *parser) callonLineRanges77() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLineRanges77() -} - -func (c *current) onLineRanges66(start, end interface{}) (interface{}, error) { - // eg: lines=12..14 - return types.NewLineRange(start.(int), end.(int)) - -} - -func (p *parser) callonLineRanges66() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLineRanges66(stack["start"], stack["end"]) -} - -func (c *current) onLineRanges85() (interface{}, error) { - return strconv.Atoi(string(c.text)) - -} - -func (p *parser) callonLineRanges85() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLineRanges85() -} - -func (c *current) onLineRanges83(singleline interface{}) (interface{}, error) { - // eg: lines=12 - return types.NewLineRange(singleline.(int), singleline.(int)) - -} - -func (p *parser) callonLineRanges83() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLineRanges83(stack["singleline"]) -} - -func (c *current) onLineRanges1(value interface{}) (interface{}, error) { - // must make sure that the whole content is parsed - return value, nil - -} - -func (p *parser) callonLineRanges1() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLineRanges1(stack["value"]) -} - -func (c *current) onTagRanges11() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonTagRanges11() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onTagRanges11() -} - -func (c *current) onTagRanges17() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonTagRanges17() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onTagRanges17() -} - -func (c *current) onTagRanges20(stars interface{}) (bool, error) { - - // use a predicate to make sure that only `*` and `**` are allowed - return len(stars.(string)) <= 2, nil - -} - -func (p *parser) callonTagRanges20() (bool, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onTagRanges20(stack["stars"]) -} - -func (c *current) onTagRanges14(stars interface{}) (interface{}, error) { - return stars, nil - -} - -func (p *parser) callonTagRanges14() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onTagRanges14(stack["stars"]) -} - -func (c *current) onTagRanges8(tag interface{}) (interface{}, error) { - return types.NewTagRange(tag.(string), true) - -} - -func (p *parser) callonTagRanges8() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onTagRanges8(stack["tag"]) -} - -func (c *current) onTagRanges26() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonTagRanges26() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onTagRanges26() -} - -func (c *current) onTagRanges32() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonTagRanges32() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onTagRanges32() -} - -func (c *current) onTagRanges35(stars interface{}) (bool, error) { - - // use a predicate to make sure that only `*` and `**` are allowed - return len(stars.(string)) <= 2, nil - -} - -func (p *parser) callonTagRanges35() (bool, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onTagRanges35(stack["stars"]) -} - -func (c *current) onTagRanges29(stars interface{}) (interface{}, error) { - return stars, nil - -} - -func (p *parser) callonTagRanges29() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onTagRanges29(stack["stars"]) -} - -func (c *current) onTagRanges21(tag interface{}) (interface{}, error) { - return types.NewTagRange(tag.(string), false) - -} - -func (p *parser) callonTagRanges21() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onTagRanges21(stack["tag"]) -} - -func (c *current) onTagRanges46() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonTagRanges46() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onTagRanges46() -} - -func (c *current) onTagRanges52() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonTagRanges52() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onTagRanges52() -} - -func (c *current) onTagRanges55(stars interface{}) (bool, error) { - - // use a predicate to make sure that only `*` and `**` are allowed - return len(stars.(string)) <= 2, nil - -} - -func (p *parser) callonTagRanges55() (bool, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onTagRanges55(stack["stars"]) -} - -func (c *current) onTagRanges49(stars interface{}) (interface{}, error) { - return stars, nil - -} - -func (p *parser) callonTagRanges49() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onTagRanges49(stack["stars"]) -} - -func (c *current) onTagRanges43(tag interface{}) (interface{}, error) { - return types.NewTagRange(tag.(string), true) - -} - -func (p *parser) callonTagRanges43() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onTagRanges43(stack["tag"]) -} - -func (c *current) onTagRanges61() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonTagRanges61() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onTagRanges61() -} - -func (c *current) onTagRanges67() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonTagRanges67() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onTagRanges67() -} - -func (c *current) onTagRanges70(stars interface{}) (bool, error) { - - // use a predicate to make sure that only `*` and `**` are allowed - return len(stars.(string)) <= 2, nil - -} - -func (p *parser) callonTagRanges70() (bool, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onTagRanges70(stack["stars"]) -} - -func (c *current) onTagRanges64(stars interface{}) (interface{}, error) { - return stars, nil - -} - -func (p *parser) callonTagRanges64() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onTagRanges64(stack["stars"]) -} - -func (c *current) onTagRanges56(tag interface{}) (interface{}, error) { - return types.NewTagRange(tag.(string), false) - -} - -func (p *parser) callonTagRanges56() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onTagRanges56(stack["tag"]) -} - -func (c *current) onTagRanges38(other interface{}) (interface{}, error) { - return other, nil - -} - -func (p *parser) callonTagRanges38() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onTagRanges38(stack["other"]) -} - -func (c *current) onTagRanges4(first, others interface{}) (interface{}, error) { - return append([]interface{}{first}, others.([]interface{})...), nil - -} - -func (p *parser) callonTagRanges4() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onTagRanges4(stack["first"], stack["others"]) -} - -func (c *current) onTagRanges1(value interface{}) (interface{}, error) { - // must make sure that the whole content is parsed - return value, nil - -} - -func (p *parser) callonTagRanges1() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onTagRanges1(stack["value"]) -} - -func (c *current) onIncludedFileLine11() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonIncludedFileLine11() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onIncludedFileLine11() -} - -func (c *current) onIncludedFileLine10() (interface{}, error) { - return string(c.text), nil -} - -func (p *parser) callonIncludedFileLine10() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onIncludedFileLine10() -} - -func (c *current) onIncludedFileLine6(tag interface{}) (interface{}, error) { - return types.NewIncludedFileStartTag(tag.(string)) - -} - -func (p *parser) callonIncludedFileLine6() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onIncludedFileLine6(stack["tag"]) -} - -func (c *current) onIncludedFileLine20() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonIncludedFileLine20() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onIncludedFileLine20() -} - -func (c *current) onIncludedFileLine19() (interface{}, error) { - return string(c.text), nil -} - -func (p *parser) callonIncludedFileLine19() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onIncludedFileLine19() -} - -func (c *current) onIncludedFileLine15(tag interface{}) (interface{}, error) { - return types.NewIncludedFileEndTag(tag.(string)) - -} - -func (p *parser) callonIncludedFileLine15() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onIncludedFileLine15(stack["tag"]) -} - -func (c *current) onIncludedFileLine24() (interface{}, error) { - return string(c.text), nil -} - -func (p *parser) callonIncludedFileLine24() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onIncludedFileLine24() -} - -func (c *current) onIncludedFileLine27() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonIncludedFileLine27() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onIncludedFileLine27() -} - -func (c *current) onIncludedFileLine1(content interface{}) (interface{}, error) { - return types.NewIncludedFileLine(content.([]interface{})) - -} - -func (p *parser) callonIncludedFileLine1() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onIncludedFileLine1(stack["content"]) -} - -func (c *current) onDocumentFragment20() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment20() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment20() -} - -func (c *current) onDocumentFragment27() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment27() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment27() -} - -func (c *current) onDocumentFragment30() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonDocumentFragment30() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment30() -} - -func (c *current) onDocumentFragment16(name interface{}) (interface{}, error) { - return types.NewAttributeReset(name.(string), string(c.text)) -} - -func (p *parser) callonDocumentFragment16() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment16(stack["name"]) -} - -func (c *current) onDocumentFragment41() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment41() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment41() -} - -func (c *current) onDocumentFragment48() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment48() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment48() -} - -func (c *current) onDocumentFragment51() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonDocumentFragment51() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment51() -} - -func (c *current) onDocumentFragment37(name interface{}) (interface{}, error) { - return types.NewAttributeReset(name.(string), string(c.text)) -} - -func (p *parser) callonDocumentFragment37() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment37(stack["name"]) -} - -func (c *current) onDocumentFragment65() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment65() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment65() -} - -func (c *current) onDocumentFragment68() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonDocumentFragment68() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment68() -} - -func (c *current) onDocumentFragment59() (interface{}, error) { - return types.NewBlankLine() - -} - -func (p *parser) callonDocumentFragment59() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment59() -} - -func (c *current) onDocumentFragment77() (bool, error) { - - return !c.isWithinDelimitedBlock(), nil - -} - -func (p *parser) callonDocumentFragment77() (bool, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment77() -} - -func (c *current) onDocumentFragment79() (interface{}, error) { - - // `=` is level 0, `==` is level 1, etc. - return (len(c.text) - 1), nil - -} - -func (p *parser) callonDocumentFragment79() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment79() -} - -func (c *current) onDocumentFragment82(level interface{}) (bool, error) { - - // use a predicate to make sure that only `=` (level 0) to `======` (level 5) are allowed - return level.(int) <= 5, nil - -} - -func (p *parser) callonDocumentFragment82() (bool, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment82(stack["level"]) -} - -func (c *current) onDocumentFragment83(level interface{}) (interface{}, error) { - // log.Debug("matched multiple spaces") - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment83() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment83(stack["level"]) -} - -func (c *current) onDocumentFragment87() (interface{}, error) { - // can't have empty title, that may collide with example block delimiter (`====`) - return []interface{}{ - types.RawLine(c.text), - }, nil -} - -func (p *parser) callonDocumentFragment87() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment87() -} - -func (c *current) onDocumentFragment91() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonDocumentFragment91() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment91() -} - -func (c *current) onDocumentFragment75(level, title interface{}) (interface{}, error) { - return types.NewSection(level.(int), title.([]interface{})) - -} - -func (p *parser) callonDocumentFragment75() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment75(stack["level"], stack["title"]) -} - -func (c *current) onDocumentFragment104() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment104() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment104() -} - -func (c *current) onDocumentFragment107() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonDocumentFragment107() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment107() -} - -func (c *current) onDocumentFragment100() (interface{}, error) { - return types.NewBlockDelimiter(types.Comment, string(c.text)) -} - -func (p *parser) callonDocumentFragment100() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment100() -} - -func (c *current) onDocumentFragment124() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment124() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment124() -} - -func (c *current) onDocumentFragment127() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonDocumentFragment127() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment127() -} - -func (c *current) onDocumentFragment120() (interface{}, error) { - return types.NewBlockDelimiter(types.Comment, string(c.text)) -} - -func (p *parser) callonDocumentFragment120() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment120() -} - -func (c *current) onDocumentFragment143() (interface{}, error) { - // content is NOT mandatory - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment143() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment143() -} - -func (c *current) onDocumentFragment147() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonDocumentFragment147() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment147() -} - -func (c *current) onDocumentFragment137(content interface{}) (interface{}, error) { - - return types.NewRawLine(content.(string)) - -} - -func (p *parser) callonDocumentFragment137() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment137(stack["content"]) -} - -func (c *current) onDocumentFragment116(line interface{}) (interface{}, error) { - return line, nil - -} - -func (p *parser) callonDocumentFragment116() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment116(stack["line"]) -} - -func (c *current) onDocumentFragment160() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment160() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment160() -} - -func (c *current) onDocumentFragment163() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonDocumentFragment163() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment163() -} - -func (c *current) onDocumentFragment156() (interface{}, error) { - return types.NewBlockDelimiter(types.Comment, string(c.text)) -} - -func (p *parser) callonDocumentFragment156() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment156() -} - -func (c *current) onDocumentFragment98(content interface{}) (interface{}, error) { - c.unsetWithinDelimitedBlock() - return types.NewDelimitedBlock(types.Comment, content.([]interface{})) - -} - -func (p *parser) callonDocumentFragment98() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment98(stack["content"]) -} - -func (c *current) onDocumentFragment178() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment178() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment178() -} - -func (c *current) onDocumentFragment181() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonDocumentFragment181() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment181() -} - -func (c *current) onDocumentFragment174() (interface{}, error) { - return types.NewBlockDelimiter(types.Example, string(c.text)) -} - -func (p *parser) callonDocumentFragment174() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment174() -} - -func (c *current) onDocumentFragment198() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment198() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment198() -} - -func (c *current) onDocumentFragment201() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonDocumentFragment201() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment201() -} - -func (c *current) onDocumentFragment194() (interface{}, error) { - return types.NewBlockDelimiter(types.Example, string(c.text)) -} - -func (p *parser) callonDocumentFragment194() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment194() -} - -func (c *current) onDocumentFragment217() (interface{}, error) { - // content is NOT mandatory - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment217() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment217() -} - -func (c *current) onDocumentFragment221() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonDocumentFragment221() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment221() -} - -func (c *current) onDocumentFragment211(content interface{}) (interface{}, error) { - - return types.NewRawLine(content.(string)) - -} - -func (p *parser) callonDocumentFragment211() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment211(stack["content"]) -} - -func (c *current) onDocumentFragment190(line interface{}) (interface{}, error) { - return line, nil - -} - -func (p *parser) callonDocumentFragment190() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment190(stack["line"]) -} - -func (c *current) onDocumentFragment234() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment234() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment234() -} - -func (c *current) onDocumentFragment237() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonDocumentFragment237() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment237() -} - -func (c *current) onDocumentFragment230() (interface{}, error) { - return types.NewBlockDelimiter(types.Example, string(c.text)) -} - -func (p *parser) callonDocumentFragment230() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment230() -} - -func (c *current) onDocumentFragment172(content interface{}) (interface{}, error) { - c.unsetWithinDelimitedBlock() - return types.NewDelimitedBlock(types.Example, content.([]interface{})) - -} - -func (p *parser) callonDocumentFragment172() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment172(stack["content"]) -} - -func (c *current) onDocumentFragment252() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment252() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment252() -} - -func (c *current) onDocumentFragment255() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonDocumentFragment255() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment255() -} - -func (c *current) onDocumentFragment248() (interface{}, error) { - return types.NewBlockDelimiter(types.Fenced, string(c.text)) -} - -func (p *parser) callonDocumentFragment248() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment248() -} - -func (c *current) onDocumentFragment272() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment272() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment272() -} - -func (c *current) onDocumentFragment275() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonDocumentFragment275() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment275() -} - -func (c *current) onDocumentFragment268() (interface{}, error) { - return types.NewBlockDelimiter(types.Fenced, string(c.text)) -} - -func (p *parser) callonDocumentFragment268() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment268() -} - -func (c *current) onDocumentFragment291() (interface{}, error) { - // content is NOT mandatory - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment291() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment291() -} - -func (c *current) onDocumentFragment295() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonDocumentFragment295() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment295() -} - -func (c *current) onDocumentFragment285(content interface{}) (interface{}, error) { - - return types.NewRawLine(content.(string)) - -} - -func (p *parser) callonDocumentFragment285() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment285(stack["content"]) -} - -func (c *current) onDocumentFragment264(line interface{}) (interface{}, error) { - return line, nil - -} - -func (p *parser) callonDocumentFragment264() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment264(stack["line"]) -} - -func (c *current) onDocumentFragment308() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment308() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment308() -} - -func (c *current) onDocumentFragment311() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonDocumentFragment311() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment311() -} - -func (c *current) onDocumentFragment304() (interface{}, error) { - return types.NewBlockDelimiter(types.Fenced, string(c.text)) -} - -func (p *parser) callonDocumentFragment304() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment304() -} - -func (c *current) onDocumentFragment246(content interface{}) (interface{}, error) { - c.unsetWithinDelimitedBlock() - return types.NewDelimitedBlock(types.Fenced, content.([]interface{})) - -} - -func (p *parser) callonDocumentFragment246() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment246(stack["content"]) -} - -func (c *current) onDocumentFragment326() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment326() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment326() -} - -func (c *current) onDocumentFragment329() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonDocumentFragment329() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment329() -} - -func (c *current) onDocumentFragment322() (interface{}, error) { - return types.NewBlockDelimiter(types.Listing, string(c.text)) -} - -func (p *parser) callonDocumentFragment322() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment322() -} - -func (c *current) onDocumentFragment346() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment346() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment346() -} - -func (c *current) onDocumentFragment349() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonDocumentFragment349() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment349() -} - -func (c *current) onDocumentFragment342() (interface{}, error) { - return types.NewBlockDelimiter(types.Listing, string(c.text)) -} - -func (p *parser) callonDocumentFragment342() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment342() -} - -func (c *current) onDocumentFragment365() (interface{}, error) { - // content is NOT mandatory - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment365() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment365() -} - -func (c *current) onDocumentFragment369() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonDocumentFragment369() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment369() -} - -func (c *current) onDocumentFragment359(content interface{}) (interface{}, error) { - - return types.NewRawLine(content.(string)) - -} - -func (p *parser) callonDocumentFragment359() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment359(stack["content"]) -} - -func (c *current) onDocumentFragment338(line interface{}) (interface{}, error) { - return line, nil - -} - -func (p *parser) callonDocumentFragment338() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment338(stack["line"]) -} - -func (c *current) onDocumentFragment382() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment382() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment382() -} - -func (c *current) onDocumentFragment385() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonDocumentFragment385() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment385() -} - -func (c *current) onDocumentFragment378() (interface{}, error) { - return types.NewBlockDelimiter(types.Listing, string(c.text)) -} - -func (p *parser) callonDocumentFragment378() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment378() -} - -func (c *current) onDocumentFragment320(content interface{}) (interface{}, error) { - c.unsetWithinDelimitedBlock() - return types.NewDelimitedBlock(types.Listing, content.([]interface{})) - -} - -func (p *parser) callonDocumentFragment320() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment320(stack["content"]) -} - -func (c *current) onDocumentFragment400() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment400() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment400() -} - -func (c *current) onDocumentFragment403() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonDocumentFragment403() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment403() -} - -func (c *current) onDocumentFragment396() (interface{}, error) { - return types.NewBlockDelimiter(types.Literal, string(c.text)) -} - -func (p *parser) callonDocumentFragment396() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment396() -} - -func (c *current) onDocumentFragment420() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment420() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment420() -} - -func (c *current) onDocumentFragment423() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonDocumentFragment423() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment423() -} - -func (c *current) onDocumentFragment416() (interface{}, error) { - return types.NewBlockDelimiter(types.Literal, string(c.text)) -} - -func (p *parser) callonDocumentFragment416() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment416() -} - -func (c *current) onDocumentFragment439() (interface{}, error) { - // content is NOT mandatory - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment439() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment439() -} - -func (c *current) onDocumentFragment443() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonDocumentFragment443() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment443() -} - -func (c *current) onDocumentFragment433(content interface{}) (interface{}, error) { - - return types.NewRawLine(content.(string)) - -} - -func (p *parser) callonDocumentFragment433() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment433(stack["content"]) -} - -func (c *current) onDocumentFragment412(line interface{}) (interface{}, error) { - return line, nil - -} - -func (p *parser) callonDocumentFragment412() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment412(stack["line"]) -} - -func (c *current) onDocumentFragment456() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment456() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment456() -} - -func (c *current) onDocumentFragment459() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonDocumentFragment459() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment459() -} - -func (c *current) onDocumentFragment452() (interface{}, error) { - return types.NewBlockDelimiter(types.Literal, string(c.text)) -} - -func (p *parser) callonDocumentFragment452() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment452() -} - -func (c *current) onDocumentFragment394(content interface{}) (interface{}, error) { - c.unsetWithinDelimitedBlock() - return types.NewDelimitedBlock(types.Literal, content.([]interface{})) - -} - -func (p *parser) callonDocumentFragment394() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment394(stack["content"]) -} - -func (c *current) onDocumentFragment480() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment480() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment480() -} - -func (c *current) onDocumentFragment483() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonDocumentFragment483() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment483() -} - -func (c *current) onDocumentFragment474() (interface{}, error) { - return types.NewBlankLine() - -} - -func (p *parser) callonDocumentFragment474() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment474() -} - -func (c *current) onDocumentFragment492() (interface{}, error) { - - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment492() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment492() -} - -func (c *current) onDocumentFragment496() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonDocumentFragment496() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment496() -} - -func (c *current) onDocumentFragment471(content interface{}) (interface{}, error) { - return types.NewRawLine(content.(string)) - -} - -func (p *parser) callonDocumentFragment471() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment471(stack["content"]) -} - -func (c *current) onDocumentFragment515() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment515() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment515() -} - -func (c *current) onDocumentFragment518() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonDocumentFragment518() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment518() -} - -func (c *current) onDocumentFragment509() (interface{}, error) { - return types.NewBlankLine() - -} - -func (p *parser) callonDocumentFragment509() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment509() -} - -func (c *current) onDocumentFragment527() (interface{}, error) { - - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment527() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment527() -} - -func (c *current) onDocumentFragment531() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonDocumentFragment531() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment531() -} - -func (c *current) onDocumentFragment506(content interface{}) (interface{}, error) { - return types.NewRawLine(content.(string)) - -} - -func (p *parser) callonDocumentFragment506() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment506(stack["content"]) -} - -func (c *current) onDocumentFragment541() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment541() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment541() -} - -func (c *current) onDocumentFragment544(content interface{}) (bool, error) { - return len(strings.TrimSpace(string(c.text))) > 0, nil - -} - -func (p *parser) callonDocumentFragment544() (bool, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment544(stack["content"]) -} - -func (c *current) onDocumentFragment546() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonDocumentFragment546() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment546() -} - -func (c *current) onDocumentFragment538(content interface{}) (interface{}, error) { - return types.NewRawLine(content.(string)) - -} - -func (p *parser) callonDocumentFragment538() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment538(stack["content"]) -} - -func (c *current) onDocumentFragment468(firstLine, otherLines interface{}) (interface{}, error) { - return types.NewDelimitedBlock(types.MarkdownQuote, append([]interface{}{firstLine}, otherLines.([]interface{})...)) - -} - -func (p *parser) callonDocumentFragment468() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment468(stack["firstLine"], stack["otherLines"]) -} - -func (c *current) onDocumentFragment559() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment559() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment559() -} - -func (c *current) onDocumentFragment562() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonDocumentFragment562() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment562() -} - -func (c *current) onDocumentFragment555() (interface{}, error) { - return types.NewBlockDelimiter(types.Passthrough, string(c.text)) -} - -func (p *parser) callonDocumentFragment555() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment555() -} - -func (c *current) onDocumentFragment579() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment579() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment579() -} - -func (c *current) onDocumentFragment582() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonDocumentFragment582() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment582() -} - -func (c *current) onDocumentFragment575() (interface{}, error) { - return types.NewBlockDelimiter(types.Passthrough, string(c.text)) -} - -func (p *parser) callonDocumentFragment575() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment575() -} - -func (c *current) onDocumentFragment598() (interface{}, error) { - // content is NOT mandatory - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment598() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment598() -} - -func (c *current) onDocumentFragment602() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonDocumentFragment602() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment602() -} - -func (c *current) onDocumentFragment592(content interface{}) (interface{}, error) { - - return types.NewRawLine(content.(string)) - -} - -func (p *parser) callonDocumentFragment592() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment592(stack["content"]) -} - -func (c *current) onDocumentFragment571(line interface{}) (interface{}, error) { - return line, nil - -} - -func (p *parser) callonDocumentFragment571() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment571(stack["line"]) -} - -func (c *current) onDocumentFragment615() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment615() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment615() -} - -func (c *current) onDocumentFragment618() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonDocumentFragment618() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment618() -} - -func (c *current) onDocumentFragment611() (interface{}, error) { - return types.NewBlockDelimiter(types.Passthrough, string(c.text)) -} - -func (p *parser) callonDocumentFragment611() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment611() -} - -func (c *current) onDocumentFragment553(content interface{}) (interface{}, error) { - c.unsetWithinDelimitedBlock() - return types.NewDelimitedBlock(types.Passthrough, content.([]interface{})) - -} - -func (p *parser) callonDocumentFragment553() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment553(stack["content"]) -} - -func (c *current) onDocumentFragment633() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment633() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment633() -} - -func (c *current) onDocumentFragment636() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonDocumentFragment636() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment636() -} - -func (c *current) onDocumentFragment629() (interface{}, error) { - return types.NewBlockDelimiter(types.Quote, string(c.text)) -} - -func (p *parser) callonDocumentFragment629() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment629() -} - -func (c *current) onDocumentFragment653() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment653() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment653() -} - -func (c *current) onDocumentFragment656() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonDocumentFragment656() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment656() -} - -func (c *current) onDocumentFragment649() (interface{}, error) { - return types.NewBlockDelimiter(types.Quote, string(c.text)) -} - -func (p *parser) callonDocumentFragment649() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment649() -} - -func (c *current) onDocumentFragment672() (interface{}, error) { - // content is NOT mandatory - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment672() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment672() -} - -func (c *current) onDocumentFragment676() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonDocumentFragment676() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment676() -} - -func (c *current) onDocumentFragment666(content interface{}) (interface{}, error) { - - return types.NewRawLine(content.(string)) - -} - -func (p *parser) callonDocumentFragment666() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment666(stack["content"]) -} - -func (c *current) onDocumentFragment645(line interface{}) (interface{}, error) { - return line, nil - -} - -func (p *parser) callonDocumentFragment645() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment645(stack["line"]) -} - -func (c *current) onDocumentFragment689() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment689() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment689() -} - -func (c *current) onDocumentFragment692() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonDocumentFragment692() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment692() -} - -func (c *current) onDocumentFragment685() (interface{}, error) { - return types.NewBlockDelimiter(types.Quote, string(c.text)) -} - -func (p *parser) callonDocumentFragment685() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment685() -} - -func (c *current) onDocumentFragment627(content interface{}) (interface{}, error) { - c.unsetWithinDelimitedBlock() - return types.NewDelimitedBlock(types.Quote, content.([]interface{})) - -} - -func (p *parser) callonDocumentFragment627() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment627(stack["content"]) -} - -func (c *current) onDocumentFragment707() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment707() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment707() -} - -func (c *current) onDocumentFragment710() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonDocumentFragment710() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment710() -} - -func (c *current) onDocumentFragment703() (interface{}, error) { - return types.NewBlockDelimiter(types.Sidebar, string(c.text)) -} - -func (p *parser) callonDocumentFragment703() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment703() -} - -func (c *current) onDocumentFragment727() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment727() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment727() -} - -func (c *current) onDocumentFragment730() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonDocumentFragment730() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment730() -} - -func (c *current) onDocumentFragment723() (interface{}, error) { - return types.NewBlockDelimiter(types.Sidebar, string(c.text)) -} - -func (p *parser) callonDocumentFragment723() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment723() -} - -func (c *current) onDocumentFragment746() (interface{}, error) { - // content is NOT mandatory - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment746() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment746() -} - -func (c *current) onDocumentFragment750() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonDocumentFragment750() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment750() -} - -func (c *current) onDocumentFragment740(content interface{}) (interface{}, error) { - - return types.NewRawLine(content.(string)) - -} - -func (p *parser) callonDocumentFragment740() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment740(stack["content"]) -} - -func (c *current) onDocumentFragment719(line interface{}) (interface{}, error) { - return line, nil - -} - -func (p *parser) callonDocumentFragment719() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment719(stack["line"]) -} - -func (c *current) onDocumentFragment763() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment763() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment763() -} - -func (c *current) onDocumentFragment766() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonDocumentFragment766() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment766() -} - -func (c *current) onDocumentFragment759() (interface{}, error) { - return types.NewBlockDelimiter(types.Sidebar, string(c.text)) -} - -func (p *parser) callonDocumentFragment759() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment759() -} - -func (c *current) onDocumentFragment701(content interface{}) (interface{}, error) { - c.unsetWithinDelimitedBlock() - return types.NewDelimitedBlock(types.Sidebar, content.([]interface{})) - -} - -func (p *parser) callonDocumentFragment701() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment701(stack["content"]) -} - -func (c *current) onDocumentFragment786() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment786() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment786() -} - -func (c *current) onDocumentFragment789() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonDocumentFragment789() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment789() -} - -func (c *current) onDocumentFragment797() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonDocumentFragment797() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment797() -} - -func (c *current) onDocumentFragment775() (interface{}, error) { - - return types.NewThematicBreak() - -} - -func (p *parser) callonDocumentFragment775() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment775() -} - -func (c *current) onDocumentFragment809() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment809() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment809() -} - -func (c *current) onDocumentFragment812() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonDocumentFragment812() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment812() -} - -func (c *current) onDocumentFragment829() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment829() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment829() -} - -func (c *current) onDocumentFragment835() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment835() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment835() -} - -func (c *current) onDocumentFragment833(content interface{}) (interface{}, error) { - return types.NewRawContent(content.(string)) - -} - -func (p *parser) callonDocumentFragment833() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment833(stack["content"]) -} - -func (c *current) onDocumentFragment825(content interface{}) (interface{}, error) { - return types.NewTableCell(content.(types.RawContent)) - -} - -func (p *parser) callonDocumentFragment825() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment825(stack["content"]) -} - -func (c *current) onDocumentFragment839() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonDocumentFragment839() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment839() -} - -func (c *current) onDocumentFragment853() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment853() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment853() -} - -func (c *current) onDocumentFragment856() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonDocumentFragment856() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment856() -} - -func (c *current) onDocumentFragment847() (interface{}, error) { - return types.NewBlankLine() - -} - -func (p *parser) callonDocumentFragment847() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment847() -} - -func (c *current) onDocumentFragment821(cells interface{}) (interface{}, error) { - return types.NewTableRow(cells.([]interface{})) - -} - -func (p *parser) callonDocumentFragment821() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment821(stack["cells"]) -} - -func (c *current) onDocumentFragment873() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment873() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment873() -} - -func (c *current) onDocumentFragment876() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonDocumentFragment876() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment876() -} - -func (c *current) onDocumentFragment897() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment897() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment897() -} - -func (c *current) onDocumentFragment900() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonDocumentFragment900() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment900() -} - -func (c *current) onDocumentFragment916() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment916() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment916() -} - -func (c *current) onDocumentFragment919() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonDocumentFragment919() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment919() -} - -func (c *current) onDocumentFragment910() (interface{}, error) { - return types.NewBlankLine() - -} - -func (p *parser) callonDocumentFragment910() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment910() -} - -func (c *current) onDocumentFragment928() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment928() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment928() -} - -func (c *current) onDocumentFragment934() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment934() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment934() -} - -func (c *current) onDocumentFragment932(content interface{}) (interface{}, error) { - return types.NewRawContent(content.(string)) - -} - -func (p *parser) callonDocumentFragment932() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment932(stack["content"]) -} - -func (c *current) onDocumentFragment890(content interface{}) (interface{}, error) { - return types.NewTableCell(content.(types.RawContent)) - -} - -func (p *parser) callonDocumentFragment890() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment890(stack["content"]) -} - -func (c *current) onDocumentFragment938() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonDocumentFragment938() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment938() -} - -func (c *current) onDocumentFragment887(cell interface{}) (interface{}, error) { - return cell, nil - -} - -func (p *parser) callonDocumentFragment887() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment887(stack["cell"]) -} - -func (c *current) onDocumentFragment953() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment953() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment953() -} - -func (c *current) onDocumentFragment956() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonDocumentFragment956() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment956() -} - -func (c *current) onDocumentFragment947() (interface{}, error) { - return types.NewBlankLine() - -} - -func (p *parser) callonDocumentFragment947() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment947() -} - -func (c *current) onDocumentFragment968() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment968() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment968() -} - -func (c *current) onDocumentFragment971() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonDocumentFragment971() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment971() -} - -func (c *current) onDocumentFragment866(cells interface{}) (interface{}, error) { - return types.NewTableRow(cells.([]interface{})) - -} - -func (p *parser) callonDocumentFragment866() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment866(stack["cells"]) -} - -func (c *current) onDocumentFragment987() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment987() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment987() -} - -func (c *current) onDocumentFragment990() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonDocumentFragment990() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment990() -} - -func (c *current) onDocumentFragment1008() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment1008() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1008() -} - -func (c *current) onDocumentFragment1011() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonDocumentFragment1011() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1011() -} - -func (c *current) onDocumentFragment1027() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment1027() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1027() -} - -func (c *current) onDocumentFragment1030() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonDocumentFragment1030() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1030() -} - -func (c *current) onDocumentFragment1021() (interface{}, error) { - return types.NewBlankLine() - -} - -func (p *parser) callonDocumentFragment1021() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1021() -} - -func (c *current) onDocumentFragment1039() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment1039() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1039() -} - -func (c *current) onDocumentFragment1045() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment1045() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1045() -} - -func (c *current) onDocumentFragment1043(content interface{}) (interface{}, error) { - return types.NewRawContent(content.(string)) - -} - -func (p *parser) callonDocumentFragment1043() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1043(stack["content"]) -} - -func (c *current) onDocumentFragment1001(content interface{}) (interface{}, error) { - return types.NewTableCell(content.(types.RawContent)) - -} - -func (p *parser) callonDocumentFragment1001() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1001(stack["content"]) -} - -func (c *current) onDocumentFragment1049() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonDocumentFragment1049() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1049() -} - -func (c *current) onDocumentFragment1063() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment1063() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1063() -} - -func (c *current) onDocumentFragment1066() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonDocumentFragment1066() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1066() -} - -func (c *current) onDocumentFragment1057() (interface{}, error) { - return types.NewBlankLine() - -} - -func (p *parser) callonDocumentFragment1057() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1057() -} - -func (c *current) onDocumentFragment980(cells interface{}) (interface{}, error) { - return types.NewTableRow(cells.([]interface{})) - -} - -func (p *parser) callonDocumentFragment980() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment980(stack["cells"]) -} - -func (c *current) onDocumentFragment1077() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment1077() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1077() -} - -func (c *current) onDocumentFragment1080() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonDocumentFragment1080() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1080() -} - -func (c *current) onDocumentFragment805(header, rows interface{}) (interface{}, error) { - return types.NewTable(header, rows.([]interface{})) - -} - -func (p *parser) callonDocumentFragment805() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment805(stack["header"], stack["rows"]) -} - -func (c *current) onDocumentFragment1095() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment1095() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1095() -} - -func (c *current) onDocumentFragment1099() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonDocumentFragment1099() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1099() -} - -func (c *current) onDocumentFragment1089(content interface{}) (interface{}, error) { - return types.NewSingleLineComment(content.(string)) - -} - -func (p *parser) callonDocumentFragment1089() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1089(stack["content"]) -} - -func (c *current) onDocumentFragment1110() (interface{}, error) { - return types.Tip, nil -} - -func (p *parser) callonDocumentFragment1110() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1110() -} - -func (c *current) onDocumentFragment1112() (interface{}, error) { - return types.Note, nil -} - -func (p *parser) callonDocumentFragment1112() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1112() -} - -func (c *current) onDocumentFragment1114() (interface{}, error) { - return types.Important, nil -} - -func (p *parser) callonDocumentFragment1114() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1114() -} - -func (c *current) onDocumentFragment1116() (interface{}, error) { - return types.Warning, nil -} - -func (p *parser) callonDocumentFragment1116() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1116() -} - -func (c *current) onDocumentFragment1118() (interface{}, error) { - return types.Caution, nil -} - -func (p *parser) callonDocumentFragment1118() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1118() -} - -func (c *current) onDocumentFragment1125() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment1125() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1125() -} - -func (c *current) onDocumentFragment1128(content interface{}) (bool, error) { - return len(strings.TrimSpace(string(c.text))) > 0, nil - -} - -func (p *parser) callonDocumentFragment1128() (bool, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1128(stack["content"]) -} - -func (c *current) onDocumentFragment1130() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonDocumentFragment1130() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1130() -} - -func (c *current) onDocumentFragment1122(content interface{}) (interface{}, error) { - return types.NewRawLine(content.(string)) - -} - -func (p *parser) callonDocumentFragment1122() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1122(stack["content"]) -} - -func (c *current) onDocumentFragment1145() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment1145() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1145() -} - -func (c *current) onDocumentFragment1147() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonDocumentFragment1147() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1147() -} - -func (c *current) onDocumentFragment1160() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment1160() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1160() -} - -func (c *current) onDocumentFragment1164() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonDocumentFragment1164() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1164() -} - -func (c *current) onDocumentFragment1154(content interface{}) (interface{}, error) { - return types.NewSingleLineComment(content.(string)) - -} - -func (p *parser) callonDocumentFragment1154() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1154(stack["content"]) -} - -func (c *current) onDocumentFragment1174() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment1174() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1174() -} - -func (c *current) onDocumentFragment1177(content interface{}) (bool, error) { - return len(strings.TrimSpace(string(c.text))) > 0, nil - -} - -func (p *parser) callonDocumentFragment1177() (bool, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1177(stack["content"]) -} - -func (c *current) onDocumentFragment1179() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonDocumentFragment1179() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1179() -} - -func (c *current) onDocumentFragment1171(content interface{}) (interface{}, error) { - return types.NewRawLine(content.(string)) - -} - -func (p *parser) callonDocumentFragment1171() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1171(stack["content"]) -} - -func (c *current) onDocumentFragment1139(line interface{}) (interface{}, error) { - return line, nil - -} - -func (p *parser) callonDocumentFragment1139() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1139(stack["line"]) -} - -func (c *current) onDocumentFragment1106(kind, firstLine, otherLines interface{}) (interface{}, error) { - - return types.NewAdmonitionParagraph(kind.(string), append([]interface{}{firstLine}, otherLines.([]interface{})...)) - -} - -func (p *parser) callonDocumentFragment1106() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1106(stack["kind"], stack["firstLine"], stack["otherLines"]) -} - -func (c *current) onDocumentFragment1194() (interface{}, error) { - // log.Debug("matched multiple spaces") - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment1194() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1194() -} - -func (c *current) onDocumentFragment1192() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment1192() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1192() -} - -func (c *current) onDocumentFragment1199(content interface{}) (bool, error) { - return len(strings.TrimSpace(string(c.text))) > 0, nil - -} - -func (p *parser) callonDocumentFragment1199() (bool, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1199(stack["content"]) -} - -func (c *current) onDocumentFragment1201() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonDocumentFragment1201() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1201() -} - -func (c *current) onDocumentFragment1189(content interface{}) (interface{}, error) { - return types.NewRawLine(content.(string)) - -} - -func (p *parser) callonDocumentFragment1189() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1189(stack["content"]) -} - -func (c *current) onDocumentFragment1217() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment1217() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1217() -} - -func (c *current) onDocumentFragment1221() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonDocumentFragment1221() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1221() -} - -func (c *current) onDocumentFragment1211(content interface{}) (interface{}, error) { - return types.NewSingleLineComment(content.(string)) - -} - -func (p *parser) callonDocumentFragment1211() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1211(stack["content"]) -} - -func (c *current) onDocumentFragment1231() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment1231() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1231() -} - -func (c *current) onDocumentFragment1234(content interface{}) (bool, error) { - return len(strings.TrimSpace(string(c.text))) > 0, nil - -} - -func (p *parser) callonDocumentFragment1234() (bool, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1234(stack["content"]) -} - -func (c *current) onDocumentFragment1236() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonDocumentFragment1236() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1236() -} - -func (c *current) onDocumentFragment1228(content interface{}) (interface{}, error) { - return types.NewRawLine(content.(string)) - -} - -func (p *parser) callonDocumentFragment1228() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1228(stack["content"]) -} - -func (c *current) onDocumentFragment1186(firstLine, otherLines interface{}) (interface{}, error) { - - return types.NewLiteralParagraph(types.LiteralBlockWithSpacesOnFirstLine, append([]interface{}{firstLine}, otherLines.([]interface{})...)) - -} - -func (p *parser) callonDocumentFragment1186() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1186(stack["firstLine"], stack["otherLines"]) -} - -func (c *current) onDocumentFragment1245() (bool, error) { - return c.isFrontMatterAllowed(), nil - -} - -func (p *parser) callonDocumentFragment1245() (bool, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1245() -} - -func (c *current) onDocumentFragment1251() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment1251() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1251() -} - -func (c *current) onDocumentFragment1254() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonDocumentFragment1254() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1254() -} - -func (c *current) onDocumentFragment1271() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment1271() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1271() -} - -func (c *current) onDocumentFragment1274() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonDocumentFragment1274() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1274() -} - -func (c *current) onDocumentFragment1263() (interface{}, error) { - return string(c.text), nil -} - -func (p *parser) callonDocumentFragment1263() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1263() -} - -func (c *current) onDocumentFragment1284() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment1284() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1284() -} - -func (c *current) onDocumentFragment1287() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonDocumentFragment1287() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1287() -} - -func (c *current) onDocumentFragment1247(content interface{}) (interface{}, error) { - return types.NewYamlFrontMatter(content.(string)) -} - -func (p *parser) callonDocumentFragment1247() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1247(stack["content"]) -} - -func (c *current) onDocumentFragment1243(frontmatter interface{}) (interface{}, error) { - return frontmatter, nil - -} - -func (p *parser) callonDocumentFragment1243() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1243(stack["frontmatter"]) -} - -func (c *current) onDocumentFragment1295(attributes, element interface{}) (bool, error) { - if attributes != nil && element == nil { - // do not return an error, but do not accept such a kind of content (standalone attributes) - return false, fmt.Errorf("standalone attribute") - } - return true, nil - -} - -func (p *parser) callonDocumentFragment1295() (bool, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1295(stack["attributes"], stack["element"]) -} - -func (c *current) onDocumentFragment1(attributes, element interface{}) (interface{}, error) { - c.disableFrontMatterRule() // not allowed as soon as a single element is found - c.disableDocumentHeaderRule(element) // not allowed anymore, based on element that was found - - if element, ok := element.(types.BlockWithAttributes); ok && attributes != nil { - element.AddAttributes(attributes.(types.Attributes)) - } - return element, nil - -} - -func (p *parser) callonDocumentFragment1() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1(stack["attributes"], stack["element"]) -} - -func (c *current) onDelimitedBlockElements10() (interface{}, error) { - return string(c.text), nil -} - -func (p *parser) callonDelimitedBlockElements10() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDelimitedBlockElements10() -} - -func (c *current) onDelimitedBlockElements6(ref interface{}) (interface{}, error) { - return types.NewElementPlaceHolder(ref.(string)) -} - -func (p *parser) callonDelimitedBlockElements6() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDelimitedBlockElements6(stack["ref"]) -} - -func (c *current) onDelimitedBlockElements1(elements interface{}) (interface{}, error) { - return elements, nil - -} - -func (p *parser) callonDelimitedBlockElements1() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDelimitedBlockElements1(stack["elements"]) -} - -func (c *current) onAttributeDeclaration5() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonAttributeDeclaration5() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeDeclaration5() -} - -func (c *current) onAttributeDeclaration15() (interface{}, error) { - // log.Debug("matched multiple spaces") - return string(c.text), nil - -} - -func (p *parser) callonAttributeDeclaration15() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeDeclaration15() -} - -func (c *current) onAttributeDeclaration13(value interface{}) (interface{}, error) { - return value, nil - -} - -func (p *parser) callonAttributeDeclaration13() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeDeclaration13(stack["value"]) -} - -func (c *current) onAttributeDeclaration21() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonAttributeDeclaration21() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeDeclaration21() -} - -func (c *current) onAttributeDeclaration1(name, value interface{}) (interface{}, error) { - return types.NewAttributeDeclaration(name.(string), types.Reduce(value, strings.TrimSpace), string(c.text)) - -} - -func (p *parser) callonAttributeDeclaration1() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeDeclaration1(stack["name"], stack["value"]) -} - -func (c *current) onAttributeDeclarationValue14() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonAttributeDeclarationValue14() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeDeclarationValue14() -} - -func (c *current) onAttributeDeclarationValue17() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonAttributeDeclarationValue17() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeDeclarationValue17() -} - -func (c *current) onAttributeDeclarationValue26() (interface{}, error) { - return types.NewStringElement(string(c.text)) - -} - -func (p *parser) callonAttributeDeclarationValue26() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeDeclarationValue26() -} - -func (c *current) onAttributeDeclarationValue29() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonAttributeDeclarationValue29() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeDeclarationValue29() -} - -func (c *current) onAttributeDeclarationValue33() (bool, error) { - return c.isSubstitutionEnabled(Attributes) - -} - -func (p *parser) callonAttributeDeclarationValue33() (bool, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeDeclarationValue33() -} - -func (c *current) onAttributeDeclarationValue40() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonAttributeDeclarationValue40() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeDeclarationValue40() -} - -func (c *current) onAttributeDeclarationValue52() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonAttributeDeclarationValue52() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeDeclarationValue52() -} - -func (c *current) onAttributeDeclarationValue54() (interface{}, error) { - - return strconv.Atoi(string(c.text)) - -} - -func (p *parser) callonAttributeDeclarationValue54() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeDeclarationValue54() -} - -func (c *current) onAttributeDeclarationValue47(start interface{}) (interface{}, error) { - return start, nil - -} - -func (p *parser) callonAttributeDeclarationValue47() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeDeclarationValue47(stack["start"]) -} - -func (c *current) onAttributeDeclarationValue36(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) -} - -func (p *parser) callonAttributeDeclarationValue36() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeDeclarationValue36(stack["name"], stack["start"]) -} - -func (c *current) onAttributeDeclarationValue62() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonAttributeDeclarationValue62() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeDeclarationValue62() -} - -func (c *current) onAttributeDeclarationValue74() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonAttributeDeclarationValue74() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeDeclarationValue74() -} - -func (c *current) onAttributeDeclarationValue76() (interface{}, error) { - - return strconv.Atoi(string(c.text)) - -} - -func (p *parser) callonAttributeDeclarationValue76() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeDeclarationValue76() -} - -func (c *current) onAttributeDeclarationValue69(start interface{}) (interface{}, error) { - return start, nil - -} - -func (p *parser) callonAttributeDeclarationValue69() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeDeclarationValue69(stack["start"]) -} - -func (c *current) onAttributeDeclarationValue58(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) -} - -func (p *parser) callonAttributeDeclarationValue58() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeDeclarationValue58(stack["name"], stack["start"]) -} - -func (c *current) onAttributeDeclarationValue84() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonAttributeDeclarationValue84() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeDeclarationValue84() -} - -func (c *current) onAttributeDeclarationValue80(name interface{}) (interface{}, error) { - - return types.NewAttributeSubstitution(name.(string), string(c.text)) -} - -func (p *parser) callonAttributeDeclarationValue80() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeDeclarationValue80(stack["name"]) -} - -func (c *current) onAttributeDeclarationValue31(element interface{}) (interface{}, error) { - return element, nil - -} - -func (p *parser) callonAttributeDeclarationValue31() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeDeclarationValue31(stack["element"]) -} - -func (c *current) onAttributeDeclarationValue90() (interface{}, error) { - // standalone '{' - return types.NewStringElement(string(c.text)) - -} - -func (p *parser) callonAttributeDeclarationValue90() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeDeclarationValue90() -} - -func (c *current) onAttributeDeclarationValue7(element interface{}) (interface{}, error) { - - return element, nil - -} - -func (p *parser) callonAttributeDeclarationValue7() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeDeclarationValue7(stack["element"]) -} - -func (c *current) onAttributeDeclarationValue4(elements interface{}) (interface{}, error) { - return elements.([]interface{}), nil - -} - -func (p *parser) callonAttributeDeclarationValue4() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeDeclarationValue4(stack["elements"]) -} - -func (c *current) onAttributeDeclarationValue97() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonAttributeDeclarationValue97() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeDeclarationValue97() -} - -func (c *current) onAttributeDeclarationValue103() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonAttributeDeclarationValue103() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeDeclarationValue103() -} - -func (c *current) onAttributeDeclarationValue94(elements interface{}) (interface{}, error) { - return elements, nil - -} - -func (p *parser) callonAttributeDeclarationValue94() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeDeclarationValue94(stack["elements"]) -} - -func (c *current) onAttributeDeclarationValue1(elements, otherElements interface{}) (interface{}, error) { - if otherElements, ok := otherElements.([]interface{}); ok { - return types.Reduce(append(elements.([]interface{}), otherElements...), strings.TrimSpace), nil - } - return types.Reduce(elements.([]interface{}), strings.TrimSpace), nil - -} - -func (p *parser) callonAttributeDeclarationValue1() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeDeclarationValue1(stack["elements"], stack["otherElements"]) -} - -func (c *current) onBlockAttributes16() (interface{}, error) { - // spaces, commas and dots are allowed in this syntax - return types.NewStringElement(string(c.text)) - -} - -func (p *parser) callonBlockAttributes16() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onBlockAttributes16() -} - -func (c *current) onBlockAttributes23() (interface{}, error) { - return string(c.text), nil -} - -func (p *parser) callonBlockAttributes23() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onBlockAttributes23() -} - -func (c *current) onBlockAttributes19(ref interface{}) (interface{}, error) { - return types.NewElementPlaceHolder(ref.(string)) -} - -func (p *parser) callonBlockAttributes19() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onBlockAttributes19(stack["ref"]) -} - -func (c *current) onBlockAttributes29() (bool, error) { - return c.isSubstitutionEnabled(Attributes) - -} - -func (p *parser) callonBlockAttributes29() (bool, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onBlockAttributes29() -} - -func (c *current) onBlockAttributes36() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonBlockAttributes36() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onBlockAttributes36() -} - -func (c *current) onBlockAttributes48() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonBlockAttributes48() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onBlockAttributes48() -} - -func (c *current) onBlockAttributes50() (interface{}, error) { - - return strconv.Atoi(string(c.text)) - -} - -func (p *parser) callonBlockAttributes50() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onBlockAttributes50() -} - -func (c *current) onBlockAttributes43(start interface{}) (interface{}, error) { - return start, nil - -} - -func (p *parser) callonBlockAttributes43() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onBlockAttributes43(stack["start"]) -} - -func (c *current) onBlockAttributes32(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) -} - -func (p *parser) callonBlockAttributes32() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onBlockAttributes32(stack["name"], stack["start"]) -} - -func (c *current) onBlockAttributes58() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonBlockAttributes58() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onBlockAttributes58() -} - -func (c *current) onBlockAttributes70() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonBlockAttributes70() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onBlockAttributes70() -} - -func (c *current) onBlockAttributes72() (interface{}, error) { - - return strconv.Atoi(string(c.text)) - -} - -func (p *parser) callonBlockAttributes72() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onBlockAttributes72() -} - -func (c *current) onBlockAttributes65(start interface{}) (interface{}, error) { - return start, nil - -} - -func (p *parser) callonBlockAttributes65() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onBlockAttributes65(stack["start"]) -} - -func (c *current) onBlockAttributes54(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) -} - -func (p *parser) callonBlockAttributes54() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onBlockAttributes54(stack["name"], stack["start"]) -} - -func (c *current) onBlockAttributes80() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonBlockAttributes80() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onBlockAttributes80() -} - -func (c *current) onBlockAttributes76(name interface{}) (interface{}, error) { - - return types.NewAttributeSubstitution(name.(string), string(c.text)) -} - -func (p *parser) callonBlockAttributes76() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onBlockAttributes76(stack["name"]) -} - -func (c *current) onBlockAttributes27(element interface{}) (interface{}, error) { - return element, nil - -} - -func (p *parser) callonBlockAttributes27() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onBlockAttributes27(stack["element"]) -} - -func (c *current) onBlockAttributes86() (interface{}, error) { - - return types.NewStringElement(string(c.text)) - -} - -func (p *parser) callonBlockAttributes86() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onBlockAttributes86() -} - -func (c *current) onBlockAttributes12(elements interface{}) (interface{}, error) { - return types.Reduce(elements, strings.TrimSpace), nil - -} - -func (p *parser) callonBlockAttributes12() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onBlockAttributes12(stack["elements"]) -} - -func (c *current) onBlockAttributes8(id interface{}) (interface{}, error) { - return types.NewIDAttribute(id) - -} - -func (p *parser) callonBlockAttributes8() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onBlockAttributes8(stack["id"]) -} - -func (c *current) onBlockAttributes90() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonBlockAttributes90() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onBlockAttributes90() -} - -func (c *current) onBlockAttributes93() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonBlockAttributes93() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onBlockAttributes93() -} - -func (c *current) onBlockAttributes5(anchor interface{}) (interface{}, error) { - return anchor, nil - -} - -func (p *parser) callonBlockAttributes5() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onBlockAttributes5(stack["anchor"]) -} - -func (c *current) onBlockAttributes114() (interface{}, error) { - return types.NewStringElement(string(c.text)) - -} - -func (p *parser) callonBlockAttributes114() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onBlockAttributes114() -} - -func (c *current) onBlockAttributes121() (interface{}, error) { - return string(c.text), nil -} - -func (p *parser) callonBlockAttributes121() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onBlockAttributes121() -} - -func (c *current) onBlockAttributes117(ref interface{}) (interface{}, error) { - return types.NewElementPlaceHolder(ref.(string)) -} - -func (p *parser) callonBlockAttributes117() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onBlockAttributes117(stack["ref"]) -} - -func (c *current) onBlockAttributes127() (bool, error) { - return c.isSubstitutionEnabled(Attributes) - -} - -func (p *parser) callonBlockAttributes127() (bool, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onBlockAttributes127() -} - -func (c *current) onBlockAttributes134() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonBlockAttributes134() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onBlockAttributes134() -} - -func (c *current) onBlockAttributes146() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonBlockAttributes146() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onBlockAttributes146() -} - -func (c *current) onBlockAttributes148() (interface{}, error) { - - return strconv.Atoi(string(c.text)) - -} - -func (p *parser) callonBlockAttributes148() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onBlockAttributes148() -} - -func (c *current) onBlockAttributes141(start interface{}) (interface{}, error) { - return start, nil - -} - -func (p *parser) callonBlockAttributes141() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onBlockAttributes141(stack["start"]) -} - -func (c *current) onBlockAttributes130(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) -} - -func (p *parser) callonBlockAttributes130() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onBlockAttributes130(stack["name"], stack["start"]) -} - -func (c *current) onBlockAttributes156() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonBlockAttributes156() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onBlockAttributes156() -} - -func (c *current) onBlockAttributes168() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonBlockAttributes168() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onBlockAttributes168() -} - -func (c *current) onBlockAttributes170() (interface{}, error) { - - return strconv.Atoi(string(c.text)) - -} - -func (p *parser) callonBlockAttributes170() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onBlockAttributes170() -} - -func (c *current) onBlockAttributes163(start interface{}) (interface{}, error) { - return start, nil - -} - -func (p *parser) callonBlockAttributes163() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onBlockAttributes163(stack["start"]) -} - -func (c *current) onBlockAttributes152(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) -} - -func (p *parser) callonBlockAttributes152() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onBlockAttributes152(stack["name"], stack["start"]) -} - -func (c *current) onBlockAttributes178() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonBlockAttributes178() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onBlockAttributes178() -} - -func (c *current) onBlockAttributes174(name interface{}) (interface{}, error) { - - return types.NewAttributeSubstitution(name.(string), string(c.text)) -} - -func (p *parser) callonBlockAttributes174() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onBlockAttributes174(stack["name"]) -} - -func (c *current) onBlockAttributes125(element interface{}) (interface{}, error) { - return element, nil - -} - -func (p *parser) callonBlockAttributes125() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onBlockAttributes125(stack["element"]) -} - -func (c *current) onBlockAttributes184() (interface{}, error) { - - return types.NewStringElement(string(c.text)) - -} - -func (p *parser) callonBlockAttributes184() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onBlockAttributes184() -} - -func (c *current) onBlockAttributes107(elements interface{}) (interface{}, error) { - return types.Reduce(elements, strings.TrimSpace), nil - -} - -func (p *parser) callonBlockAttributes107() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onBlockAttributes107(stack["elements"]) -} - -func (c *current) onBlockAttributes103(title interface{}) (interface{}, error) { - return types.NewTitleAttribute(title) - -} - -func (p *parser) callonBlockAttributes103() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onBlockAttributes103(stack["title"]) -} - -func (c *current) onBlockAttributes187() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonBlockAttributes187() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onBlockAttributes187() -} - -func (c *current) onBlockAttributes190() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonBlockAttributes190() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onBlockAttributes190() -} - -func (c *current) onBlockAttributes100(title interface{}) (interface{}, error) { - return title, nil - -} - -func (p *parser) callonBlockAttributes100() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onBlockAttributes100(stack["title"]) -} - -func (c *current) onBlockAttributes202() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonBlockAttributes202() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onBlockAttributes202() -} - -func (c *current) onBlockAttributes205() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonBlockAttributes205() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onBlockAttributes205() -} - -func (c *current) onBlockAttributes197(attributes interface{}) (interface{}, error) { - return attributes, nil - -} - -func (p *parser) callonBlockAttributes197() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onBlockAttributes197(stack["attributes"]) -} - -func (c *current) onBlockAttributes1(attributes interface{}) (interface{}, error) { - // c.unsetCurrentSubstitution() - return types.MergeAttributes(attributes.([]interface{})...) - -} - -func (p *parser) callonBlockAttributes1() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onBlockAttributes1(stack["attributes"]) -} - -func (c *current) onInlineAttributes6(attribute interface{}) (interface{}, error) { - return attribute, nil - -} - -func (p *parser) callonInlineAttributes6() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onInlineAttributes6(stack["attribute"]) -} - -func (c *current) onInlineAttributes1(attributes interface{}) (interface{}, error) { - return types.NewAttributes(attributes.([]interface{})...) - -} - -func (p *parser) callonInlineAttributes1() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onInlineAttributes1(stack["attributes"]) -} - -func (c *current) onLongHandAttributes25() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes25() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes25() -} - -func (c *current) onLongHandAttributes28() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes28() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes28() -} - -func (c *current) onLongHandAttributes32() (bool, error) { - return c.isSubstitutionEnabled(Attributes) - -} - -func (p *parser) callonLongHandAttributes32() (bool, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes32() -} - -func (c *current) onLongHandAttributes39() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes39() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes39() -} - -func (c *current) onLongHandAttributes51() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes51() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes51() -} - -func (c *current) onLongHandAttributes53() (interface{}, error) { - - return strconv.Atoi(string(c.text)) - -} - -func (p *parser) callonLongHandAttributes53() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes53() -} - -func (c *current) onLongHandAttributes46(start interface{}) (interface{}, error) { - return start, nil - -} - -func (p *parser) callonLongHandAttributes46() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes46(stack["start"]) -} - -func (c *current) onLongHandAttributes35(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) -} - -func (p *parser) callonLongHandAttributes35() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes35(stack["name"], stack["start"]) -} - -func (c *current) onLongHandAttributes61() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes61() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes61() -} - -func (c *current) onLongHandAttributes73() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes73() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes73() -} - -func (c *current) onLongHandAttributes75() (interface{}, error) { - - return strconv.Atoi(string(c.text)) - -} - -func (p *parser) callonLongHandAttributes75() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes75() -} - -func (c *current) onLongHandAttributes68(start interface{}) (interface{}, error) { - return start, nil - -} - -func (p *parser) callonLongHandAttributes68() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes68(stack["start"]) -} - -func (c *current) onLongHandAttributes57(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) -} - -func (p *parser) callonLongHandAttributes57() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes57(stack["name"], stack["start"]) -} - -func (c *current) onLongHandAttributes83() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes83() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes83() -} - -func (c *current) onLongHandAttributes79(name interface{}) (interface{}, error) { - - return types.NewAttributeSubstitution(name.(string), string(c.text)) -} - -func (p *parser) callonLongHandAttributes79() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes79(stack["name"]) -} - -func (c *current) onLongHandAttributes30(element interface{}) (interface{}, error) { - return element, nil - -} - -func (p *parser) callonLongHandAttributes30() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes30(stack["element"]) -} - -func (c *current) onLongHandAttributes89() (interface{}, error) { - - return types.NewStringElement(`'`) // escaped single quote - -} - -func (p *parser) callonLongHandAttributes89() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes89() -} - -func (c *current) onLongHandAttributes93() (interface{}, error) { - // quoted string delimiters or standalone backslash - return types.NewStringElement(string(c.text)) // keep as-is for now - -} - -func (p *parser) callonLongHandAttributes93() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes93() -} - -func (c *current) onLongHandAttributes95() (interface{}, error) { - // = and , signs are allowed within '' quoted values - return types.NewStringElement(string(c.text)) - -} - -func (p *parser) callonLongHandAttributes95() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes95() -} - -func (c *current) onLongHandAttributes21(elements interface{}) (interface{}, error) { - return types.Reduce(elements), nil - -} - -func (p *parser) callonLongHandAttributes21() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes21(stack["elements"]) -} - -func (c *current) onLongHandAttributes15(content interface{}) (interface{}, error) { - return content, nil - -} - -func (p *parser) callonLongHandAttributes15() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes15(stack["content"]) -} - -func (c *current) onLongHandAttributes109() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes109() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes109() -} - -func (c *current) onLongHandAttributes112() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes112() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes112() -} - -func (c *current) onLongHandAttributes116() (bool, error) { - return c.isSubstitutionEnabled(Attributes) - -} - -func (p *parser) callonLongHandAttributes116() (bool, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes116() -} - -func (c *current) onLongHandAttributes123() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes123() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes123() -} - -func (c *current) onLongHandAttributes135() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes135() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes135() -} - -func (c *current) onLongHandAttributes137() (interface{}, error) { - - return strconv.Atoi(string(c.text)) - -} - -func (p *parser) callonLongHandAttributes137() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes137() -} - -func (c *current) onLongHandAttributes130(start interface{}) (interface{}, error) { - return start, nil - -} - -func (p *parser) callonLongHandAttributes130() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes130(stack["start"]) -} - -func (c *current) onLongHandAttributes119(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) -} - -func (p *parser) callonLongHandAttributes119() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes119(stack["name"], stack["start"]) -} - -func (c *current) onLongHandAttributes145() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes145() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes145() -} - -func (c *current) onLongHandAttributes157() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes157() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes157() -} - -func (c *current) onLongHandAttributes159() (interface{}, error) { - - return strconv.Atoi(string(c.text)) - -} - -func (p *parser) callonLongHandAttributes159() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes159() -} - -func (c *current) onLongHandAttributes152(start interface{}) (interface{}, error) { - return start, nil - -} - -func (p *parser) callonLongHandAttributes152() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes152(stack["start"]) -} - -func (c *current) onLongHandAttributes141(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) -} - -func (p *parser) callonLongHandAttributes141() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes141(stack["name"], stack["start"]) -} - -func (c *current) onLongHandAttributes167() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes167() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes167() -} - -func (c *current) onLongHandAttributes163(name interface{}) (interface{}, error) { - - return types.NewAttributeSubstitution(name.(string), string(c.text)) -} - -func (p *parser) callonLongHandAttributes163() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes163(stack["name"]) -} - -func (c *current) onLongHandAttributes114(element interface{}) (interface{}, error) { - return element, nil - -} - -func (p *parser) callonLongHandAttributes114() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes114(stack["element"]) -} - -func (c *current) onLongHandAttributes173() (interface{}, error) { - - return types.NewStringElement(`"`) // escaped double quote - -} - -func (p *parser) callonLongHandAttributes173() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes173() -} - -func (c *current) onLongHandAttributes178() (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) callonLongHandAttributes178() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes178() -} - -func (c *current) onLongHandAttributes180() (interface{}, error) { - // = and , signs are allowed within " quoted values - return types.NewStringElement(string(c.text)) - -} - -func (p *parser) callonLongHandAttributes180() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes180() -} - -func (c *current) onLongHandAttributes105(elements interface{}) (interface{}, error) { - return types.Reduce(elements), nil - -} - -func (p *parser) callonLongHandAttributes105() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes105(stack["elements"]) -} - -func (c *current) onLongHandAttributes188() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes188() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes188() -} - -func (c *current) onLongHandAttributes99(content interface{}) (interface{}, error) { - return content, nil - -} - -func (p *parser) callonLongHandAttributes99() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes99(stack["content"]) -} - -func (c *current) onLongHandAttributes196() (interface{}, error) { - return types.NewStringElement(string(c.text)) - -} - -func (p *parser) callonLongHandAttributes196() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes196() -} - -func (c *current) onLongHandAttributes203() (interface{}, error) { - return string(c.text), nil -} - -func (p *parser) callonLongHandAttributes203() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes203() -} - -func (c *current) onLongHandAttributes199(ref interface{}) (interface{}, error) { - return types.NewElementPlaceHolder(ref.(string)) -} - -func (p *parser) callonLongHandAttributes199() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes199(stack["ref"]) -} - -func (c *current) onLongHandAttributes209() (bool, error) { - return c.isSubstitutionEnabled(Attributes) - -} - -func (p *parser) callonLongHandAttributes209() (bool, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes209() -} - -func (c *current) onLongHandAttributes216() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes216() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes216() -} - -func (c *current) onLongHandAttributes228() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes228() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes228() -} - -func (c *current) onLongHandAttributes230() (interface{}, error) { - - return strconv.Atoi(string(c.text)) - -} - -func (p *parser) callonLongHandAttributes230() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes230() -} - -func (c *current) onLongHandAttributes223(start interface{}) (interface{}, error) { - return start, nil - -} - -func (p *parser) callonLongHandAttributes223() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes223(stack["start"]) -} - -func (c *current) onLongHandAttributes212(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) -} - -func (p *parser) callonLongHandAttributes212() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes212(stack["name"], stack["start"]) -} - -func (c *current) onLongHandAttributes238() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes238() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes238() -} - -func (c *current) onLongHandAttributes250() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes250() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes250() -} - -func (c *current) onLongHandAttributes252() (interface{}, error) { - - return strconv.Atoi(string(c.text)) - -} - -func (p *parser) callonLongHandAttributes252() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes252() -} - -func (c *current) onLongHandAttributes245(start interface{}) (interface{}, error) { - return start, nil - -} - -func (p *parser) callonLongHandAttributes245() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes245(stack["start"]) -} - -func (c *current) onLongHandAttributes234(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) -} - -func (p *parser) callonLongHandAttributes234() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes234(stack["name"], stack["start"]) -} - -func (c *current) onLongHandAttributes260() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes260() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes260() -} - -func (c *current) onLongHandAttributes256(name interface{}) (interface{}, error) { - - return types.NewAttributeSubstitution(name.(string), string(c.text)) -} - -func (p *parser) callonLongHandAttributes256() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes256(stack["name"]) -} - -func (c *current) onLongHandAttributes207(element interface{}) (interface{}, error) { - return element, nil - -} - -func (p *parser) callonLongHandAttributes207() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes207(stack["element"]) -} - -func (c *current) onLongHandAttributes266() (interface{}, error) { - - return types.NewStringElement(string(c.text)) - -} - -func (p *parser) callonLongHandAttributes266() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes266() -} - -func (c *current) onLongHandAttributes272() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes272() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes272() -} - -func (c *current) onLongHandAttributes191(elements interface{}) (interface{}, error) { - return types.Reduce(elements, strings.TrimSpace), nil - -} - -func (p *parser) callonLongHandAttributes191() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes191(stack["elements"]) -} - -func (c *current) onLongHandAttributes12(value interface{}) (interface{}, error) { - return types.NewPositionalAttribute(value) - -} - -func (p *parser) callonLongHandAttributes12() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes12(stack["value"]) -} - -func (c *current) onLongHandAttributes300() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes300() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes300() -} - -func (c *current) onLongHandAttributes303() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes303() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes303() -} - -func (c *current) onLongHandAttributes307() (bool, error) { - return c.isSubstitutionEnabled(Attributes) - -} - -func (p *parser) callonLongHandAttributes307() (bool, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes307() -} - -func (c *current) onLongHandAttributes314() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes314() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes314() -} - -func (c *current) onLongHandAttributes326() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes326() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes326() -} - -func (c *current) onLongHandAttributes328() (interface{}, error) { - - return strconv.Atoi(string(c.text)) - -} - -func (p *parser) callonLongHandAttributes328() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes328() -} - -func (c *current) onLongHandAttributes321(start interface{}) (interface{}, error) { - return start, nil - -} - -func (p *parser) callonLongHandAttributes321() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes321(stack["start"]) -} - -func (c *current) onLongHandAttributes310(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) -} - -func (p *parser) callonLongHandAttributes310() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes310(stack["name"], stack["start"]) -} - -func (c *current) onLongHandAttributes336() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes336() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes336() -} - -func (c *current) onLongHandAttributes348() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes348() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes348() -} - -func (c *current) onLongHandAttributes350() (interface{}, error) { - - return strconv.Atoi(string(c.text)) - -} - -func (p *parser) callonLongHandAttributes350() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes350() -} - -func (c *current) onLongHandAttributes343(start interface{}) (interface{}, error) { - return start, nil - -} - -func (p *parser) callonLongHandAttributes343() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes343(stack["start"]) -} - -func (c *current) onLongHandAttributes332(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) -} - -func (p *parser) callonLongHandAttributes332() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes332(stack["name"], stack["start"]) -} - -func (c *current) onLongHandAttributes358() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes358() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes358() -} - -func (c *current) onLongHandAttributes354(name interface{}) (interface{}, error) { - - return types.NewAttributeSubstitution(name.(string), string(c.text)) -} - -func (p *parser) callonLongHandAttributes354() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes354(stack["name"]) -} - -func (c *current) onLongHandAttributes305(element interface{}) (interface{}, error) { - return element, nil - -} - -func (p *parser) callonLongHandAttributes305() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes305(stack["element"]) -} - -func (c *current) onLongHandAttributes364() (interface{}, error) { - - return types.NewStringElement(`'`) // escaped single quote - -} - -func (p *parser) callonLongHandAttributes364() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes364() -} - -func (c *current) onLongHandAttributes368() (interface{}, error) { - // quoted string delimiters or standalone backslash - return types.NewStringElement(string(c.text)) // keep as-is for now - -} - -func (p *parser) callonLongHandAttributes368() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes368() -} - -func (c *current) onLongHandAttributes370() (interface{}, error) { - // = and , signs are allowed within '' quoted values - return types.NewStringElement(string(c.text)) - -} - -func (p *parser) callonLongHandAttributes370() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes370() -} - -func (c *current) onLongHandAttributes296(elements interface{}) (interface{}, error) { - return types.Reduce(elements), nil - -} - -func (p *parser) callonLongHandAttributes296() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes296(stack["elements"]) -} - -func (c *current) onLongHandAttributes290(content interface{}) (interface{}, error) { - return content, nil - -} - -func (p *parser) callonLongHandAttributes290() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes290(stack["content"]) -} - -func (c *current) onLongHandAttributes384() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes384() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes384() -} - -func (c *current) onLongHandAttributes387() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes387() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes387() -} - -func (c *current) onLongHandAttributes391() (bool, error) { - return c.isSubstitutionEnabled(Attributes) - -} - -func (p *parser) callonLongHandAttributes391() (bool, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes391() -} - -func (c *current) onLongHandAttributes398() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes398() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes398() -} - -func (c *current) onLongHandAttributes410() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes410() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes410() -} - -func (c *current) onLongHandAttributes412() (interface{}, error) { - - return strconv.Atoi(string(c.text)) - -} - -func (p *parser) callonLongHandAttributes412() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes412() -} - -func (c *current) onLongHandAttributes405(start interface{}) (interface{}, error) { - return start, nil - -} - -func (p *parser) callonLongHandAttributes405() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes405(stack["start"]) -} - -func (c *current) onLongHandAttributes394(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) -} - -func (p *parser) callonLongHandAttributes394() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes394(stack["name"], stack["start"]) -} - -func (c *current) onLongHandAttributes420() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes420() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes420() -} - -func (c *current) onLongHandAttributes432() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes432() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes432() -} - -func (c *current) onLongHandAttributes434() (interface{}, error) { - - return strconv.Atoi(string(c.text)) - -} - -func (p *parser) callonLongHandAttributes434() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes434() -} - -func (c *current) onLongHandAttributes427(start interface{}) (interface{}, error) { - return start, nil - -} - -func (p *parser) callonLongHandAttributes427() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes427(stack["start"]) -} - -func (c *current) onLongHandAttributes416(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) -} - -func (p *parser) callonLongHandAttributes416() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes416(stack["name"], stack["start"]) -} - -func (c *current) onLongHandAttributes442() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes442() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes442() -} - -func (c *current) onLongHandAttributes438(name interface{}) (interface{}, error) { - - return types.NewAttributeSubstitution(name.(string), string(c.text)) -} - -func (p *parser) callonLongHandAttributes438() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes438(stack["name"]) -} - -func (c *current) onLongHandAttributes389(element interface{}) (interface{}, error) { - return element, nil - -} - -func (p *parser) callonLongHandAttributes389() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes389(stack["element"]) -} - -func (c *current) onLongHandAttributes448() (interface{}, error) { - - return types.NewStringElement(`"`) // escaped double quote - -} - -func (p *parser) callonLongHandAttributes448() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes448() -} - -func (c *current) onLongHandAttributes453() (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) callonLongHandAttributes453() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes453() -} - -func (c *current) onLongHandAttributes455() (interface{}, error) { - // = and , signs are allowed within " quoted values - return types.NewStringElement(string(c.text)) - -} - -func (p *parser) callonLongHandAttributes455() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes455() -} - -func (c *current) onLongHandAttributes380(elements interface{}) (interface{}, error) { - return types.Reduce(elements), nil - -} - -func (p *parser) callonLongHandAttributes380() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes380(stack["elements"]) -} - -func (c *current) onLongHandAttributes463() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes463() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes463() -} - -func (c *current) onLongHandAttributes374(content interface{}) (interface{}, error) { - return content, nil - -} - -func (p *parser) callonLongHandAttributes374() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes374(stack["content"]) -} - -func (c *current) onLongHandAttributes471() (interface{}, error) { - return types.NewStringElement(string(c.text)) - -} - -func (p *parser) callonLongHandAttributes471() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes471() -} - -func (c *current) onLongHandAttributes478() (interface{}, error) { - return string(c.text), nil -} - -func (p *parser) callonLongHandAttributes478() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes478() -} - -func (c *current) onLongHandAttributes474(ref interface{}) (interface{}, error) { - return types.NewElementPlaceHolder(ref.(string)) -} - -func (p *parser) callonLongHandAttributes474() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes474(stack["ref"]) -} - -func (c *current) onLongHandAttributes484() (bool, error) { - return c.isSubstitutionEnabled(Attributes) - -} - -func (p *parser) callonLongHandAttributes484() (bool, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes484() -} - -func (c *current) onLongHandAttributes491() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes491() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes491() -} - -func (c *current) onLongHandAttributes503() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes503() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes503() -} - -func (c *current) onLongHandAttributes505() (interface{}, error) { - - return strconv.Atoi(string(c.text)) - -} - -func (p *parser) callonLongHandAttributes505() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes505() -} - -func (c *current) onLongHandAttributes498(start interface{}) (interface{}, error) { - return start, nil - -} - -func (p *parser) callonLongHandAttributes498() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes498(stack["start"]) -} - -func (c *current) onLongHandAttributes487(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) -} - -func (p *parser) callonLongHandAttributes487() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes487(stack["name"], stack["start"]) -} - -func (c *current) onLongHandAttributes513() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes513() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes513() -} - -func (c *current) onLongHandAttributes525() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes525() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes525() -} - -func (c *current) onLongHandAttributes527() (interface{}, error) { - - return strconv.Atoi(string(c.text)) - -} - -func (p *parser) callonLongHandAttributes527() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes527() -} - -func (c *current) onLongHandAttributes520(start interface{}) (interface{}, error) { - return start, nil - -} - -func (p *parser) callonLongHandAttributes520() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes520(stack["start"]) -} - -func (c *current) onLongHandAttributes509(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) -} - -func (p *parser) callonLongHandAttributes509() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes509(stack["name"], stack["start"]) -} - -func (c *current) onLongHandAttributes535() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes535() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes535() -} - -func (c *current) onLongHandAttributes531(name interface{}) (interface{}, error) { - - return types.NewAttributeSubstitution(name.(string), string(c.text)) -} - -func (p *parser) callonLongHandAttributes531() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes531(stack["name"]) -} - -func (c *current) onLongHandAttributes482(element interface{}) (interface{}, error) { - return element, nil - -} - -func (p *parser) callonLongHandAttributes482() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes482(stack["element"]) -} - -func (c *current) onLongHandAttributes541() (interface{}, error) { - - return types.NewStringElement(string(c.text)) - -} - -func (p *parser) callonLongHandAttributes541() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes541() -} - -func (c *current) onLongHandAttributes547() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes547() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes547() -} - -func (c *current) onLongHandAttributes466(elements interface{}) (interface{}, error) { - return types.Reduce(elements, strings.TrimSpace), nil - -} - -func (p *parser) callonLongHandAttributes466() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes466(stack["elements"]) -} - -func (c *current) onLongHandAttributes285(id interface{}) (interface{}, error) { - return types.NewIDAttribute(id) - -} - -func (p *parser) callonLongHandAttributes285() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes285(stack["id"]) -} - -func (c *current) onLongHandAttributes565() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes565() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes565() -} - -func (c *current) onLongHandAttributes568() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes568() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes568() -} - -func (c *current) onLongHandAttributes572() (bool, error) { - return c.isSubstitutionEnabled(Attributes) - -} - -func (p *parser) callonLongHandAttributes572() (bool, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes572() -} - -func (c *current) onLongHandAttributes579() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes579() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes579() -} - -func (c *current) onLongHandAttributes591() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes591() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes591() -} - -func (c *current) onLongHandAttributes593() (interface{}, error) { - - return strconv.Atoi(string(c.text)) - -} - -func (p *parser) callonLongHandAttributes593() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes593() -} - -func (c *current) onLongHandAttributes586(start interface{}) (interface{}, error) { - return start, nil - -} - -func (p *parser) callonLongHandAttributes586() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes586(stack["start"]) -} - -func (c *current) onLongHandAttributes575(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) -} - -func (p *parser) callonLongHandAttributes575() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes575(stack["name"], stack["start"]) -} - -func (c *current) onLongHandAttributes601() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes601() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes601() -} - -func (c *current) onLongHandAttributes613() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes613() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes613() -} - -func (c *current) onLongHandAttributes615() (interface{}, error) { - - return strconv.Atoi(string(c.text)) - -} - -func (p *parser) callonLongHandAttributes615() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes615() -} - -func (c *current) onLongHandAttributes608(start interface{}) (interface{}, error) { - return start, nil - -} - -func (p *parser) callonLongHandAttributes608() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes608(stack["start"]) -} - -func (c *current) onLongHandAttributes597(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) -} - -func (p *parser) callonLongHandAttributes597() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes597(stack["name"], stack["start"]) -} - -func (c *current) onLongHandAttributes623() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes623() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes623() -} - -func (c *current) onLongHandAttributes619(name interface{}) (interface{}, error) { - - return types.NewAttributeSubstitution(name.(string), string(c.text)) -} - -func (p *parser) callonLongHandAttributes619() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes619(stack["name"]) -} - -func (c *current) onLongHandAttributes570(element interface{}) (interface{}, error) { - return element, nil - -} - -func (p *parser) callonLongHandAttributes570() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes570(stack["element"]) -} - -func (c *current) onLongHandAttributes629() (interface{}, error) { - - return types.NewStringElement(`'`) // escaped single quote - -} - -func (p *parser) callonLongHandAttributes629() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes629() -} - -func (c *current) onLongHandAttributes633() (interface{}, error) { - // quoted string delimiters or standalone backslash - return types.NewStringElement(string(c.text)) // keep as-is for now - -} - -func (p *parser) callonLongHandAttributes633() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes633() -} - -func (c *current) onLongHandAttributes635() (interface{}, error) { - // = and , signs are allowed within '' quoted values - return types.NewStringElement(string(c.text)) - -} - -func (p *parser) callonLongHandAttributes635() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes635() -} - -func (c *current) onLongHandAttributes561(elements interface{}) (interface{}, error) { - return types.Reduce(elements), nil - -} - -func (p *parser) callonLongHandAttributes561() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes561(stack["elements"]) -} - -func (c *current) onLongHandAttributes555(content interface{}) (interface{}, error) { - return content, nil - -} - -func (p *parser) callonLongHandAttributes555() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes555(stack["content"]) -} - -func (c *current) onLongHandAttributes649() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes649() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes649() -} - -func (c *current) onLongHandAttributes652() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes652() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes652() -} - -func (c *current) onLongHandAttributes656() (bool, error) { - return c.isSubstitutionEnabled(Attributes) - -} - -func (p *parser) callonLongHandAttributes656() (bool, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes656() -} - -func (c *current) onLongHandAttributes663() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes663() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes663() -} - -func (c *current) onLongHandAttributes675() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes675() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes675() -} - -func (c *current) onLongHandAttributes677() (interface{}, error) { - - return strconv.Atoi(string(c.text)) - -} - -func (p *parser) callonLongHandAttributes677() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes677() -} - -func (c *current) onLongHandAttributes670(start interface{}) (interface{}, error) { - return start, nil - -} - -func (p *parser) callonLongHandAttributes670() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes670(stack["start"]) -} - -func (c *current) onLongHandAttributes659(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) -} - -func (p *parser) callonLongHandAttributes659() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes659(stack["name"], stack["start"]) -} - -func (c *current) onLongHandAttributes685() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes685() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes685() -} - -func (c *current) onLongHandAttributes697() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes697() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes697() -} - -func (c *current) onLongHandAttributes699() (interface{}, error) { - - return strconv.Atoi(string(c.text)) - -} - -func (p *parser) callonLongHandAttributes699() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes699() -} - -func (c *current) onLongHandAttributes692(start interface{}) (interface{}, error) { - return start, nil - -} - -func (p *parser) callonLongHandAttributes692() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes692(stack["start"]) -} - -func (c *current) onLongHandAttributes681(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) -} - -func (p *parser) callonLongHandAttributes681() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes681(stack["name"], stack["start"]) -} - -func (c *current) onLongHandAttributes707() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes707() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes707() -} - -func (c *current) onLongHandAttributes703(name interface{}) (interface{}, error) { - - return types.NewAttributeSubstitution(name.(string), string(c.text)) -} - -func (p *parser) callonLongHandAttributes703() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes703(stack["name"]) -} - -func (c *current) onLongHandAttributes654(element interface{}) (interface{}, error) { - return element, nil - -} - -func (p *parser) callonLongHandAttributes654() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes654(stack["element"]) -} - -func (c *current) onLongHandAttributes713() (interface{}, error) { - - return types.NewStringElement(`"`) // escaped double quote - -} - -func (p *parser) callonLongHandAttributes713() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes713() -} - -func (c *current) onLongHandAttributes718() (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) callonLongHandAttributes718() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes718() -} - -func (c *current) onLongHandAttributes720() (interface{}, error) { - // = and , signs are allowed within " quoted values - return types.NewStringElement(string(c.text)) - -} - -func (p *parser) callonLongHandAttributes720() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes720() -} - -func (c *current) onLongHandAttributes645(elements interface{}) (interface{}, error) { - return types.Reduce(elements), nil - -} - -func (p *parser) callonLongHandAttributes645() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes645(stack["elements"]) -} - -func (c *current) onLongHandAttributes728() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes728() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes728() -} - -func (c *current) onLongHandAttributes639(content interface{}) (interface{}, error) { - return content, nil - -} - -func (p *parser) callonLongHandAttributes639() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes639(stack["content"]) -} - -func (c *current) onLongHandAttributes736() (interface{}, error) { - return types.NewStringElement(string(c.text)) - -} - -func (p *parser) callonLongHandAttributes736() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes736() -} - -func (c *current) onLongHandAttributes743() (interface{}, error) { - return string(c.text), nil -} - -func (p *parser) callonLongHandAttributes743() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes743() -} - -func (c *current) onLongHandAttributes739(ref interface{}) (interface{}, error) { - return types.NewElementPlaceHolder(ref.(string)) -} - -func (p *parser) callonLongHandAttributes739() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes739(stack["ref"]) -} - -func (c *current) onLongHandAttributes749() (bool, error) { - return c.isSubstitutionEnabled(Attributes) - -} - -func (p *parser) callonLongHandAttributes749() (bool, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes749() -} - -func (c *current) onLongHandAttributes756() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes756() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes756() -} - -func (c *current) onLongHandAttributes768() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes768() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes768() -} - -func (c *current) onLongHandAttributes770() (interface{}, error) { - - return strconv.Atoi(string(c.text)) - -} - -func (p *parser) callonLongHandAttributes770() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes770() -} - -func (c *current) onLongHandAttributes763(start interface{}) (interface{}, error) { - return start, nil - -} - -func (p *parser) callonLongHandAttributes763() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes763(stack["start"]) -} - -func (c *current) onLongHandAttributes752(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) -} - -func (p *parser) callonLongHandAttributes752() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes752(stack["name"], stack["start"]) -} - -func (c *current) onLongHandAttributes778() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes778() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes778() -} - -func (c *current) onLongHandAttributes790() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes790() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes790() -} - -func (c *current) onLongHandAttributes792() (interface{}, error) { - - return strconv.Atoi(string(c.text)) - -} - -func (p *parser) callonLongHandAttributes792() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes792() -} - -func (c *current) onLongHandAttributes785(start interface{}) (interface{}, error) { - return start, nil - -} - -func (p *parser) callonLongHandAttributes785() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes785(stack["start"]) -} - -func (c *current) onLongHandAttributes774(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) -} - -func (p *parser) callonLongHandAttributes774() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes774(stack["name"], stack["start"]) -} - -func (c *current) onLongHandAttributes800() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes800() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes800() -} - -func (c *current) onLongHandAttributes796(name interface{}) (interface{}, error) { - - return types.NewAttributeSubstitution(name.(string), string(c.text)) -} - -func (p *parser) callonLongHandAttributes796() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes796(stack["name"]) -} - -func (c *current) onLongHandAttributes747(element interface{}) (interface{}, error) { - return element, nil - -} - -func (p *parser) callonLongHandAttributes747() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes747(stack["element"]) -} - -func (c *current) onLongHandAttributes806() (interface{}, error) { - - return types.NewStringElement(string(c.text)) - -} - -func (p *parser) callonLongHandAttributes806() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes806() -} - -func (c *current) onLongHandAttributes812() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes812() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes812() -} - -func (c *current) onLongHandAttributes731(elements interface{}) (interface{}, error) { - return types.Reduce(elements, strings.TrimSpace), nil - -} - -func (p *parser) callonLongHandAttributes731() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes731(stack["elements"]) -} - -func (c *current) onLongHandAttributes550(option interface{}) (interface{}, error) { - return types.NewOptionAttribute(option) - -} - -func (p *parser) callonLongHandAttributes550() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes550(stack["option"]) -} - -func (c *current) onLongHandAttributes830() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes830() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes830() -} - -func (c *current) onLongHandAttributes833() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes833() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes833() -} - -func (c *current) onLongHandAttributes837() (bool, error) { - return c.isSubstitutionEnabled(Attributes) - -} - -func (p *parser) callonLongHandAttributes837() (bool, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes837() -} - -func (c *current) onLongHandAttributes844() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes844() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes844() -} - -func (c *current) onLongHandAttributes856() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes856() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes856() -} - -func (c *current) onLongHandAttributes858() (interface{}, error) { - - return strconv.Atoi(string(c.text)) - -} - -func (p *parser) callonLongHandAttributes858() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes858() -} - -func (c *current) onLongHandAttributes851(start interface{}) (interface{}, error) { - return start, nil - -} - -func (p *parser) callonLongHandAttributes851() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes851(stack["start"]) -} - -func (c *current) onLongHandAttributes840(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) -} - -func (p *parser) callonLongHandAttributes840() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes840(stack["name"], stack["start"]) -} - -func (c *current) onLongHandAttributes866() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes866() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes866() -} - -func (c *current) onLongHandAttributes878() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes878() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes878() -} - -func (c *current) onLongHandAttributes880() (interface{}, error) { - - return strconv.Atoi(string(c.text)) - -} - -func (p *parser) callonLongHandAttributes880() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes880() -} - -func (c *current) onLongHandAttributes873(start interface{}) (interface{}, error) { - return start, nil - -} - -func (p *parser) callonLongHandAttributes873() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes873(stack["start"]) -} - -func (c *current) onLongHandAttributes862(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) -} - -func (p *parser) callonLongHandAttributes862() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes862(stack["name"], stack["start"]) -} - -func (c *current) onLongHandAttributes888() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes888() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes888() -} - -func (c *current) onLongHandAttributes884(name interface{}) (interface{}, error) { - - return types.NewAttributeSubstitution(name.(string), string(c.text)) -} - -func (p *parser) callonLongHandAttributes884() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes884(stack["name"]) -} - -func (c *current) onLongHandAttributes835(element interface{}) (interface{}, error) { - return element, nil - -} - -func (p *parser) callonLongHandAttributes835() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes835(stack["element"]) -} - -func (c *current) onLongHandAttributes894() (interface{}, error) { - - return types.NewStringElement(`'`) // escaped single quote - -} - -func (p *parser) callonLongHandAttributes894() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes894() -} - -func (c *current) onLongHandAttributes898() (interface{}, error) { - // quoted string delimiters or standalone backslash - return types.NewStringElement(string(c.text)) // keep as-is for now - -} - -func (p *parser) callonLongHandAttributes898() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes898() -} - -func (c *current) onLongHandAttributes900() (interface{}, error) { - // = and , signs are allowed within '' quoted values - return types.NewStringElement(string(c.text)) - -} - -func (p *parser) callonLongHandAttributes900() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes900() -} - -func (c *current) onLongHandAttributes826(elements interface{}) (interface{}, error) { - return types.Reduce(elements), nil - -} - -func (p *parser) callonLongHandAttributes826() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes826(stack["elements"]) -} - -func (c *current) onLongHandAttributes820(content interface{}) (interface{}, error) { - return content, nil - -} - -func (p *parser) callonLongHandAttributes820() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes820(stack["content"]) -} - -func (c *current) onLongHandAttributes914() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes914() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes914() -} - -func (c *current) onLongHandAttributes917() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes917() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes917() -} - -func (c *current) onLongHandAttributes921() (bool, error) { - return c.isSubstitutionEnabled(Attributes) - -} - -func (p *parser) callonLongHandAttributes921() (bool, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes921() -} - -func (c *current) onLongHandAttributes928() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes928() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes928() -} - -func (c *current) onLongHandAttributes940() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes940() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes940() -} - -func (c *current) onLongHandAttributes942() (interface{}, error) { - - return strconv.Atoi(string(c.text)) - -} - -func (p *parser) callonLongHandAttributes942() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes942() -} - -func (c *current) onLongHandAttributes935(start interface{}) (interface{}, error) { - return start, nil - -} - -func (p *parser) callonLongHandAttributes935() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes935(stack["start"]) -} - -func (c *current) onLongHandAttributes924(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) -} - -func (p *parser) callonLongHandAttributes924() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes924(stack["name"], stack["start"]) -} - -func (c *current) onLongHandAttributes950() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes950() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes950() -} - -func (c *current) onLongHandAttributes962() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes962() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes962() -} - -func (c *current) onLongHandAttributes964() (interface{}, error) { - - return strconv.Atoi(string(c.text)) - -} - -func (p *parser) callonLongHandAttributes964() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes964() -} - -func (c *current) onLongHandAttributes957(start interface{}) (interface{}, error) { - return start, nil - -} - -func (p *parser) callonLongHandAttributes957() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes957(stack["start"]) -} - -func (c *current) onLongHandAttributes946(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) -} - -func (p *parser) callonLongHandAttributes946() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes946(stack["name"], stack["start"]) -} - -func (c *current) onLongHandAttributes972() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes972() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes972() -} - -func (c *current) onLongHandAttributes968(name interface{}) (interface{}, error) { - - return types.NewAttributeSubstitution(name.(string), string(c.text)) -} - -func (p *parser) callonLongHandAttributes968() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes968(stack["name"]) -} - -func (c *current) onLongHandAttributes919(element interface{}) (interface{}, error) { - return element, nil - -} - -func (p *parser) callonLongHandAttributes919() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes919(stack["element"]) -} - -func (c *current) onLongHandAttributes978() (interface{}, error) { - - return types.NewStringElement(`"`) // escaped double quote - -} - -func (p *parser) callonLongHandAttributes978() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes978() -} - -func (c *current) onLongHandAttributes983() (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) callonLongHandAttributes983() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes983() -} - -func (c *current) onLongHandAttributes985() (interface{}, error) { - // = and , signs are allowed within " quoted values - return types.NewStringElement(string(c.text)) - -} - -func (p *parser) callonLongHandAttributes985() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes985() -} - -func (c *current) onLongHandAttributes910(elements interface{}) (interface{}, error) { - return types.Reduce(elements), nil - -} - -func (p *parser) callonLongHandAttributes910() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes910(stack["elements"]) -} - -func (c *current) onLongHandAttributes993() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes993() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes993() -} - -func (c *current) onLongHandAttributes904(content interface{}) (interface{}, error) { - return content, nil - -} - -func (p *parser) callonLongHandAttributes904() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes904(stack["content"]) -} - -func (c *current) onLongHandAttributes1001() (interface{}, error) { - return types.NewStringElement(string(c.text)) - -} - -func (p *parser) callonLongHandAttributes1001() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes1001() -} - -func (c *current) onLongHandAttributes1008() (interface{}, error) { - return string(c.text), nil -} - -func (p *parser) callonLongHandAttributes1008() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes1008() -} - -func (c *current) onLongHandAttributes1004(ref interface{}) (interface{}, error) { - return types.NewElementPlaceHolder(ref.(string)) -} - -func (p *parser) callonLongHandAttributes1004() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes1004(stack["ref"]) -} - -func (c *current) onLongHandAttributes1014() (bool, error) { - return c.isSubstitutionEnabled(Attributes) - -} - -func (p *parser) callonLongHandAttributes1014() (bool, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes1014() -} - -func (c *current) onLongHandAttributes1021() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes1021() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes1021() -} - -func (c *current) onLongHandAttributes1033() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes1033() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes1033() -} - -func (c *current) onLongHandAttributes1035() (interface{}, error) { - - return strconv.Atoi(string(c.text)) - -} - -func (p *parser) callonLongHandAttributes1035() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes1035() -} - -func (c *current) onLongHandAttributes1028(start interface{}) (interface{}, error) { - return start, nil - -} - -func (p *parser) callonLongHandAttributes1028() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes1028(stack["start"]) -} - -func (c *current) onLongHandAttributes1017(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) -} - -func (p *parser) callonLongHandAttributes1017() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes1017(stack["name"], stack["start"]) -} - -func (c *current) onLongHandAttributes1043() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes1043() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes1043() -} - -func (c *current) onLongHandAttributes1055() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes1055() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes1055() -} - -func (c *current) onLongHandAttributes1057() (interface{}, error) { - - return strconv.Atoi(string(c.text)) - -} - -func (p *parser) callonLongHandAttributes1057() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes1057() -} - -func (c *current) onLongHandAttributes1050(start interface{}) (interface{}, error) { - return start, nil - -} - -func (p *parser) callonLongHandAttributes1050() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes1050(stack["start"]) -} - -func (c *current) onLongHandAttributes1039(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) -} - -func (p *parser) callonLongHandAttributes1039() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes1039(stack["name"], stack["start"]) + &litMatcher{ + pos: position{line: 1090, col: 32, offset: 33668}, + val: "�", + ignoreCase: false, + want: "\"�\"", + }, + &labeledExpr{ + pos: position{line: 1092, col: 51, offset: 33728}, + label: "ref", + expr: &actionExpr{ + pos: position{line: 1092, col: 56, offset: 33733}, + run: (*parser).callonFileLocation89, + expr: &oneOrMoreExpr{ + pos: position{line: 1092, col: 56, offset: 33733}, + expr: &charClassMatcher{ + pos: position{line: 1092, col: 56, offset: 33733}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 1090, col: 32, offset: 33668}, + val: "�", + ignoreCase: false, + want: "\"�\"", + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, } -func (c *current) onLongHandAttributes1065() (interface{}, error) { +func (c *current) onDocumentRawLine10() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonLongHandAttributes1065() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes1065() -} - -func (c *current) onLongHandAttributes1061(name interface{}) (interface{}, error) { - - return types.NewAttributeSubstitution(name.(string), string(c.text)) -} - -func (p *parser) callonLongHandAttributes1061() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes1061(stack["name"]) -} - -func (c *current) onLongHandAttributes1012(element interface{}) (interface{}, error) { - return element, nil - -} - -func (p *parser) callonLongHandAttributes1012() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes1012(stack["element"]) -} - -func (c *current) onLongHandAttributes1071() (interface{}, error) { - - return types.NewStringElement(string(c.text)) - -} - -func (p *parser) callonLongHandAttributes1071() (interface{}, error) { +func (p *parser) callonDocumentRawLine10() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes1071() + return p.cur.onDocumentRawLine10() } -func (c *current) onLongHandAttributes1077() (interface{}, error) { +func (c *current) onDocumentRawLine17() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonLongHandAttributes1077() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes1077() -} - -func (c *current) onLongHandAttributes996(elements interface{}) (interface{}, error) { - return types.Reduce(elements, strings.TrimSpace), nil - -} - -func (p *parser) callonLongHandAttributes996() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes996(stack["elements"]) -} - -func (c *current) onLongHandAttributes815(role interface{}) (interface{}, error) { - return types.NewRoleAttribute(role) - -} - -func (p *parser) callonLongHandAttributes815() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes815(stack["role"]) -} - -func (c *current) onLongHandAttributes277(extra interface{}) (interface{}, error) { - return extra, nil - -} - -func (p *parser) callonLongHandAttributes277() (interface{}, error) { +func (p *parser) callonDocumentRawLine17() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes277(stack["extra"]) + return p.cur.onDocumentRawLine17() } -func (c *current) onLongHandAttributes1084() (interface{}, error) { +func (c *current) onDocumentRawLine20() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes1084() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes1084() -} - -func (c *current) onLongHandAttributes1086(main, extras interface{}) (bool, error) { - // make sure there was a match - return main != nil || len(extras.([]interface{})) > 0, nil - -} - -func (p *parser) callonLongHandAttributes1086() (bool, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes1086(stack["main"], stack["extras"]) -} - -func (c *current) onLongHandAttributes8(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) callonLongHandAttributes8() (interface{}, error) { +func (p *parser) callonDocumentRawLine20() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes8(stack["main"], stack["extras"]) + return p.cur.onDocumentRawLine20() } -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) onDocumentRawLine6(name interface{}) (interface{}, error) { + return types.NewAttributeReset(name.(string), string(c.text)) } -func (p *parser) callonLongHandAttributes1() (interface{}, error) { +func (p *parser) callonDocumentRawLine6() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes1(stack["firstPositionalAttributes"], stack["otherAttributes"]) + return p.cur.onDocumentRawLine6(stack["name"]) } -func (c *current) onPositionalAttribute11() (interface{}, error) { +func (c *current) onDocumentRawLine31() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonPositionalAttribute11() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onPositionalAttribute11() -} - -func (c *current) onPositionalAttribute2(value interface{}) (interface{}, error) { - // TODO: see if we can just use `((",")? / &"]")` instead (ie, no need to check for Space*) - return types.NewPositionalAttribute(value) - -} - -func (p *parser) callonPositionalAttribute2() (interface{}, error) { +func (p *parser) callonDocumentRawLine31() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onPositionalAttribute2(stack["value"]) + return p.cur.onDocumentRawLine31() } -func (c *current) onPositionalAttribute20() (interface{}, error) { +func (c *current) onDocumentRawLine38() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonPositionalAttribute20() (interface{}, error) { +func (p *parser) callonDocumentRawLine38() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onPositionalAttribute20() + return p.cur.onDocumentRawLine38() } -func (c *current) onPositionalAttribute26() (interface{}, error) { +func (c *current) onDocumentRawLine41() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - -} - -func (p *parser) callonPositionalAttribute26() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onPositionalAttribute26() -} - -func (c *current) onPositionalAttribute30(value interface{}) (bool, error) { - // here we can't rely on `c.text` if the content is empty - // (in such a case, `c.text` contains the char sequence of the previous - // rule that matched) - return !types.AllNilEntries(value.([]interface{})), nil - } -func (p *parser) callonPositionalAttribute30() (bool, error) { +func (p *parser) callonDocumentRawLine41() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onPositionalAttribute30(stack["value"]) + return p.cur.onDocumentRawLine41() } -func (c *current) onPositionalAttribute15(value interface{}) (interface{}, error) { - - return types.NewPositionalAttribute(nil) - +func (c *current) onDocumentRawLine27(name interface{}) (interface{}, error) { + return types.NewAttributeReset(name.(string), string(c.text)) } -func (p *parser) callonPositionalAttribute15() (interface{}, error) { +func (p *parser) callonDocumentRawLine27() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onPositionalAttribute15(stack["value"]) -} - -func (c *current) onNamedAttribute7() (interface{}, error) { - return string(c.text), nil - + return p.cur.onDocumentRawLine27(stack["name"]) } -func (p *parser) callonNamedAttribute7() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onNamedAttribute7() -} +func (c *current) onDocumentRawLine53() (interface{}, error) { -func (c *current) onNamedAttribute12() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonNamedAttribute12() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onNamedAttribute12() -} - -func (c *current) onNamedAttribute4() (interface{}, error) { - return strings.TrimSpace(string(c.text)), nil - -} - -func (p *parser) callonNamedAttribute4() (interface{}, error) { +func (p *parser) callonDocumentRawLine53() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNamedAttribute4() + return p.cur.onDocumentRawLine53() } -func (c *current) onNamedAttribute16() (interface{}, error) { +func (c *current) onDocumentRawLine59() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonNamedAttribute16() (interface{}, error) { +func (p *parser) callonDocumentRawLine59() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNamedAttribute16() + return p.cur.onDocumentRawLine59() } -func (c *current) onNamedAttribute24() (interface{}, error) { +func (c *current) onDocumentRawLine64() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonNamedAttribute24() (interface{}, error) { +func (p *parser) callonDocumentRawLine64() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNamedAttribute24() + return p.cur.onDocumentRawLine64() } -func (c *current) onNamedAttribute1(key, value interface{}) (interface{}, error) { - // TODO: include `,` or expect `]` - return types.NewNamedAttribute(key.(string), value) +func (c *current) onDocumentRawLine49(name, attr interface{}) (interface{}, error) { + return types.NewIfdefCondition(name.(string), attr) } -func (p *parser) callonNamedAttribute1() (interface{}, error) { +func (p *parser) callonDocumentRawLine49() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNamedAttribute1(stack["key"], stack["value"]) -} - -func (c *current) onAttributeRawValue15() (interface{}, error) { - return string(c.text), nil - + return p.cur.onDocumentRawLine49(stack["name"], stack["attr"]) } -func (p *parser) callonAttributeRawValue15() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeRawValue15() -} +func (c *current) onDocumentRawLine72() (interface{}, error) { -func (c *current) onAttributeRawValue18() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonAttributeRawValue18() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeRawValue18() -} - -func (c *current) onAttributeRawValue22() (bool, error) { - return c.isSubstitutionEnabled(Attributes) - -} - -func (p *parser) callonAttributeRawValue22() (bool, error) { +func (p *parser) callonDocumentRawLine72() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeRawValue22() + return p.cur.onDocumentRawLine72() } -func (c *current) onAttributeRawValue29() (interface{}, error) { +func (c *current) onDocumentRawLine78() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonAttributeRawValue29() (interface{}, error) { +func (p *parser) callonDocumentRawLine78() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeRawValue29() + return p.cur.onDocumentRawLine78() } -func (c *current) onAttributeRawValue41() (interface{}, error) { +func (c *current) onDocumentRawLine83() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonAttributeRawValue41() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeRawValue41() -} - -func (c *current) onAttributeRawValue43() (interface{}, error) { - - return strconv.Atoi(string(c.text)) - -} - -func (p *parser) callonAttributeRawValue43() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeRawValue43() -} - -func (c *current) onAttributeRawValue36(start interface{}) (interface{}, error) { - return start, nil - -} - -func (p *parser) callonAttributeRawValue36() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeRawValue36(stack["start"]) -} - -func (c *current) onAttributeRawValue25(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) -} - -func (p *parser) callonAttributeRawValue25() (interface{}, error) { +func (p *parser) callonDocumentRawLine83() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeRawValue25(stack["name"], stack["start"]) + return p.cur.onDocumentRawLine83() } -func (c *current) onAttributeRawValue51() (interface{}, error) { - return string(c.text), nil +func (c *current) onDocumentRawLine68(name, attr interface{}) (interface{}, error) { + return types.NewIfndefCondition(name.(string), attr) } -func (p *parser) callonAttributeRawValue51() (interface{}, error) { +func (p *parser) callonDocumentRawLine68() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeRawValue51() + return p.cur.onDocumentRawLine68(stack["name"], stack["attr"]) } -func (c *current) onAttributeRawValue63() (interface{}, error) { +func (c *current) onDocumentRawLine100() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonAttributeRawValue63() (interface{}, error) { +func (p *parser) callonDocumentRawLine100() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeRawValue63() -} - -func (c *current) onAttributeRawValue65() (interface{}, error) { - - return strconv.Atoi(string(c.text)) - + return p.cur.onDocumentRawLine100() } -func (p *parser) callonAttributeRawValue65() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeRawValue65() -} +func (c *current) onDocumentRawLine96(name interface{}) (interface{}, error) { -func (c *current) onAttributeRawValue58(start interface{}) (interface{}, error) { - return start, nil + return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonAttributeRawValue58() (interface{}, error) { +func (p *parser) callonDocumentRawLine96() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeRawValue58(stack["start"]) + return p.cur.onDocumentRawLine96(stack["name"]) } -func (c *current) onAttributeRawValue47(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) +func (c *current) onDocumentRawLine92(s interface{}) (interface{}, error) { + return s, nil } -func (p *parser) callonAttributeRawValue47() (interface{}, error) { +func (p *parser) callonDocumentRawLine92() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeRawValue47(stack["name"], stack["start"]) + return p.cur.onDocumentRawLine92(stack["s"]) } -func (c *current) onAttributeRawValue73() (interface{}, error) { +func (c *current) onDocumentRawLine115() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonAttributeRawValue73() (interface{}, error) { +func (p *parser) callonDocumentRawLine115() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeRawValue73() + return p.cur.onDocumentRawLine115() } -func (c *current) onAttributeRawValue69(name interface{}) (interface{}, error) { +func (c *current) onDocumentRawLine111(name interface{}) (interface{}, error) { return types.NewAttributeSubstitution(name.(string), string(c.text)) -} - -func (p *parser) callonAttributeRawValue69() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeRawValue69(stack["name"]) -} - -func (c *current) onAttributeRawValue20(element interface{}) (interface{}, error) { - return element, nil - -} - -func (p *parser) callonAttributeRawValue20() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeRawValue20(stack["element"]) -} - -func (c *current) onAttributeRawValue79() (interface{}, error) { - - return types.NewStringElement(`'`) // escaped single quote - -} - -func (p *parser) callonAttributeRawValue79() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeRawValue79() -} - -func (c *current) onAttributeRawValue83() (interface{}, error) { - // quoted string delimiters or standalone backslash - return types.NewStringElement(string(c.text)) // keep as-is for now - -} - -func (p *parser) callonAttributeRawValue83() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeRawValue83() -} - -func (c *current) onAttributeRawValue85() (interface{}, error) { - // = and , signs are allowed within '' quoted values - return types.NewStringElement(string(c.text)) - -} - -func (p *parser) callonAttributeRawValue85() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeRawValue85() -} - -func (c *current) onAttributeRawValue11(elements interface{}) (interface{}, error) { - return types.Reduce(elements), nil } -func (p *parser) callonAttributeRawValue11() (interface{}, error) { +func (p *parser) callonDocumentRawLine111() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeRawValue11(stack["elements"]) + return p.cur.onDocumentRawLine111(stack["name"]) } -func (c *current) onAttributeRawValue5(content interface{}) (interface{}, error) { - return content, nil - +func (c *current) onDocumentRawLine107(s interface{}) (interface{}, error) { + return s, nil } -func (p *parser) callonAttributeRawValue5() (interface{}, error) { +func (p *parser) callonDocumentRawLine107() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeRawValue5(stack["content"]) + return p.cur.onDocumentRawLine107(stack["s"]) } -func (c *current) onAttributeRawValue99() (interface{}, error) { +func (c *current) onDocumentRawLine128() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonAttributeRawValue99() (interface{}, error) { +func (p *parser) callonDocumentRawLine128() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeRawValue99() -} - -func (c *current) onAttributeRawValue102() (interface{}, error) { - return string(c.text), nil - + return p.cur.onDocumentRawLine128() } -func (p *parser) callonAttributeRawValue102() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeRawValue102() -} +func (c *current) onDocumentRawLine124(name interface{}) (interface{}, error) { -func (c *current) onAttributeRawValue106() (bool, error) { - return c.isSubstitutionEnabled(Attributes) + return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonAttributeRawValue106() (bool, error) { +func (p *parser) callonDocumentRawLine124() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeRawValue106() + return p.cur.onDocumentRawLine124(stack["name"]) } -func (c *current) onAttributeRawValue113() (interface{}, error) { - return string(c.text), nil - +func (c *current) onDocumentRawLine122(s interface{}) (interface{}, error) { + return s, nil } -func (p *parser) callonAttributeRawValue113() (interface{}, error) { +func (p *parser) callonDocumentRawLine122() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeRawValue113() + return p.cur.onDocumentRawLine122(stack["s"]) } -func (c *current) onAttributeRawValue125() (interface{}, error) { +func (c *current) onDocumentRawLine138() (interface{}, error) { return string(c.text), nil - } -func (p *parser) callonAttributeRawValue125() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeRawValue125() -} - -func (c *current) onAttributeRawValue127() (interface{}, error) { - - return strconv.Atoi(string(c.text)) - -} - -func (p *parser) callonAttributeRawValue127() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeRawValue127() -} - -func (c *current) onAttributeRawValue120(start interface{}) (interface{}, error) { - return start, nil - -} - -func (p *parser) callonAttributeRawValue120() (interface{}, error) { +func (p *parser) callonDocumentRawLine138() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeRawValue120(stack["start"]) + return p.cur.onDocumentRawLine138() } -func (c *current) onAttributeRawValue109(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) +func (c *current) onDocumentRawLine134(w interface{}) (interface{}, error) { + return w, nil } -func (p *parser) callonAttributeRawValue109() (interface{}, error) { +func (p *parser) callonDocumentRawLine134() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeRawValue109(stack["name"], stack["start"]) + return p.cur.onDocumentRawLine134(stack["w"]) } -func (c *current) onAttributeRawValue135() (interface{}, error) { +func (c *current) onDocumentRawLine146() (interface{}, error) { return string(c.text), nil - } -func (p *parser) callonAttributeRawValue135() (interface{}, error) { +func (p *parser) callonDocumentRawLine146() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeRawValue135() + return p.cur.onDocumentRawLine146() } -func (c *current) onAttributeRawValue147() (interface{}, error) { - return string(c.text), nil - +func (c *current) onDocumentRawLine142(w interface{}) (interface{}, error) { + return w, nil } -func (p *parser) callonAttributeRawValue147() (interface{}, error) { +func (p *parser) callonDocumentRawLine142() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeRawValue147() + return p.cur.onDocumentRawLine142(stack["w"]) } -func (c *current) onAttributeRawValue149() (interface{}, error) { - +func (c *current) onDocumentRawLine150() (interface{}, error) { return strconv.Atoi(string(c.text)) } -func (p *parser) callonAttributeRawValue149() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeRawValue149() -} - -func (c *current) onAttributeRawValue142(start interface{}) (interface{}, error) { - return start, nil - -} - -func (p *parser) callonAttributeRawValue142() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeRawValue142(stack["start"]) -} - -func (c *current) onAttributeRawValue131(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) -} - -func (p *parser) callonAttributeRawValue131() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeRawValue131(stack["name"], stack["start"]) -} - -func (c *current) onAttributeRawValue157() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonAttributeRawValue157() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeRawValue157() -} - -func (c *current) onAttributeRawValue153(name interface{}) (interface{}, error) { - - return types.NewAttributeSubstitution(name.(string), string(c.text)) -} - -func (p *parser) callonAttributeRawValue153() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeRawValue153(stack["name"]) -} - -func (c *current) onAttributeRawValue104(element interface{}) (interface{}, error) { - return element, nil - -} - -func (p *parser) callonAttributeRawValue104() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeRawValue104(stack["element"]) -} - -func (c *current) onAttributeRawValue163() (interface{}, error) { - - return types.NewStringElement(`"`) // escaped double quote - -} - -func (p *parser) callonAttributeRawValue163() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeRawValue163() -} - -func (c *current) onAttributeRawValue168() (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) callonAttributeRawValue168() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeRawValue168() -} - -func (c *current) onAttributeRawValue170() (interface{}, error) { - // = and , signs are allowed within " quoted values - return types.NewStringElement(string(c.text)) - -} - -func (p *parser) callonAttributeRawValue170() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeRawValue170() -} - -func (c *current) onAttributeRawValue95(elements interface{}) (interface{}, error) { - return types.Reduce(elements), nil - -} - -func (p *parser) callonAttributeRawValue95() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeRawValue95(stack["elements"]) -} - -func (c *current) onAttributeRawValue178() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonAttributeRawValue178() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeRawValue178() -} - -func (c *current) onAttributeRawValue89(content interface{}) (interface{}, error) { - return content, nil - -} - -func (p *parser) callonAttributeRawValue89() (interface{}, error) { +func (p *parser) callonDocumentRawLine150() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeRawValue89(stack["content"]) + return p.cur.onDocumentRawLine150() } -func (c *current) onAttributeRawValue186() (interface{}, error) { +func (c *current) onDocumentRawLine157() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonAttributeRawValue186() (interface{}, error) { +func (p *parser) callonDocumentRawLine157() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeRawValue186() + return p.cur.onDocumentRawLine157() } -func (c *current) onAttributeRawValue1(value interface{}) (interface{}, error) { - return value, nil +func (c *current) onDocumentRawLine161() (interface{}, error) { + return types.NewEqualOperand() } -func (p *parser) callonAttributeRawValue1() (interface{}, error) { +func (p *parser) callonDocumentRawLine161() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeRawValue1(stack["value"]) + return p.cur.onDocumentRawLine161() } -func (c *current) onUnquotedAttributeRawValue4() (interface{}, error) { - return string(c.text), nil +func (c *current) onDocumentRawLine163() (interface{}, error) { + return types.NewNotEqualOperand() } -func (p *parser) callonUnquotedAttributeRawValue4() (interface{}, error) { +func (p *parser) callonDocumentRawLine163() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onUnquotedAttributeRawValue4() + return p.cur.onDocumentRawLine163() } -func (c *current) onUnquotedAttributeRawValue17() (interface{}, error) { - return string(c.text), nil +func (c *current) onDocumentRawLine165() (interface{}, error) { + return types.NewLessThanOperand() + } -func (p *parser) callonUnquotedAttributeRawValue17() (interface{}, error) { +func (p *parser) callonDocumentRawLine165() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onUnquotedAttributeRawValue17() + return p.cur.onDocumentRawLine165() } -func (c *current) onUnquotedAttributeRawValue13(ref interface{}) (interface{}, error) { - return types.NewElementPlaceHolder(ref.(string)) +func (c *current) onDocumentRawLine167() (interface{}, error) { + return types.NewLessOrEqualOperand() + } -func (p *parser) callonUnquotedAttributeRawValue13() (interface{}, error) { +func (p *parser) callonDocumentRawLine167() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onUnquotedAttributeRawValue13(stack["ref"]) + return p.cur.onDocumentRawLine167() } -func (c *current) onUnquotedAttributeRawValue23() (bool, error) { - return c.isSubstitutionEnabled(Attributes) +func (c *current) onDocumentRawLine169() (interface{}, error) { + return types.NewGreaterThanOperand() } -func (p *parser) callonUnquotedAttributeRawValue23() (bool, error) { +func (p *parser) callonDocumentRawLine169() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onUnquotedAttributeRawValue23() + return p.cur.onDocumentRawLine169() } -func (c *current) onUnquotedAttributeRawValue30() (interface{}, error) { - return string(c.text), nil +func (c *current) onDocumentRawLine171() (interface{}, error) { + return types.NewGreaterOrEqualOperand() } -func (p *parser) callonUnquotedAttributeRawValue30() (interface{}, error) { +func (p *parser) callonDocumentRawLine171() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onUnquotedAttributeRawValue30() + return p.cur.onDocumentRawLine171() } -func (c *current) onUnquotedAttributeRawValue42() (interface{}, error) { +func (c *current) onDocumentRawLine174() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonUnquotedAttributeRawValue42() (interface{}, error) { +func (p *parser) callonDocumentRawLine174() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onUnquotedAttributeRawValue42() + return p.cur.onDocumentRawLine174() } -func (c *current) onUnquotedAttributeRawValue44() (interface{}, error) { - - return strconv.Atoi(string(c.text)) +func (c *current) onDocumentRawLine186() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonUnquotedAttributeRawValue44() (interface{}, error) { +func (p *parser) callonDocumentRawLine186() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onUnquotedAttributeRawValue44() + return p.cur.onDocumentRawLine186() } -func (c *current) onUnquotedAttributeRawValue37(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onDocumentRawLine182(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonUnquotedAttributeRawValue37() (interface{}, error) { +func (p *parser) callonDocumentRawLine182() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onUnquotedAttributeRawValue37(stack["start"]) + return p.cur.onDocumentRawLine182(stack["name"]) } -func (c *current) onUnquotedAttributeRawValue26(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) +func (c *current) onDocumentRawLine178(s interface{}) (interface{}, error) { + return s, nil } -func (p *parser) callonUnquotedAttributeRawValue26() (interface{}, error) { +func (p *parser) callonDocumentRawLine178() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onUnquotedAttributeRawValue26(stack["name"], stack["start"]) + return p.cur.onDocumentRawLine178(stack["s"]) } -func (c *current) onUnquotedAttributeRawValue52() (interface{}, error) { +func (c *current) onDocumentRawLine201() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonUnquotedAttributeRawValue52() (interface{}, error) { +func (p *parser) callonDocumentRawLine201() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onUnquotedAttributeRawValue52() + return p.cur.onDocumentRawLine201() } -func (c *current) onUnquotedAttributeRawValue64() (interface{}, error) { - return string(c.text), nil +func (c *current) onDocumentRawLine197(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonUnquotedAttributeRawValue64() (interface{}, error) { +func (p *parser) callonDocumentRawLine197() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onUnquotedAttributeRawValue64() + return p.cur.onDocumentRawLine197(stack["name"]) } -func (c *current) onUnquotedAttributeRawValue66() (interface{}, error) { - - return strconv.Atoi(string(c.text)) - +func (c *current) onDocumentRawLine193(s interface{}) (interface{}, error) { + return s, nil } -func (p *parser) callonUnquotedAttributeRawValue66() (interface{}, error) { +func (p *parser) callonDocumentRawLine193() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onUnquotedAttributeRawValue66() + return p.cur.onDocumentRawLine193(stack["s"]) } -func (c *current) onUnquotedAttributeRawValue59(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onDocumentRawLine214() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonUnquotedAttributeRawValue59() (interface{}, error) { +func (p *parser) callonDocumentRawLine214() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onUnquotedAttributeRawValue59(stack["start"]) + return p.cur.onDocumentRawLine214() } -func (c *current) onUnquotedAttributeRawValue48(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) +func (c *current) onDocumentRawLine210(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) + } -func (p *parser) callonUnquotedAttributeRawValue48() (interface{}, error) { +func (p *parser) callonDocumentRawLine210() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onUnquotedAttributeRawValue48(stack["name"], stack["start"]) + return p.cur.onDocumentRawLine210(stack["name"]) } -func (c *current) onUnquotedAttributeRawValue74() (interface{}, error) { - return string(c.text), nil - +func (c *current) onDocumentRawLine208(s interface{}) (interface{}, error) { + return s, nil } -func (p *parser) callonUnquotedAttributeRawValue74() (interface{}, error) { +func (p *parser) callonDocumentRawLine208() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onUnquotedAttributeRawValue74() + return p.cur.onDocumentRawLine208(stack["s"]) } -func (c *current) onUnquotedAttributeRawValue70(name interface{}) (interface{}, error) { - - return types.NewAttributeSubstitution(name.(string), string(c.text)) +func (c *current) onDocumentRawLine224() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonUnquotedAttributeRawValue70() (interface{}, error) { +func (p *parser) callonDocumentRawLine224() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onUnquotedAttributeRawValue70(stack["name"]) + return p.cur.onDocumentRawLine224() } -func (c *current) onUnquotedAttributeRawValue21(element interface{}) (interface{}, error) { - return element, nil - +func (c *current) onDocumentRawLine220(w interface{}) (interface{}, error) { + return w, nil } -func (p *parser) callonUnquotedAttributeRawValue21() (interface{}, error) { +func (p *parser) callonDocumentRawLine220() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onUnquotedAttributeRawValue21(stack["element"]) + return p.cur.onDocumentRawLine220(stack["w"]) } -func (c *current) onUnquotedAttributeRawValue80() (interface{}, error) { - // not within brackets and stop on space +func (c *current) onDocumentRawLine232() (interface{}, error) { return string(c.text), nil - } -func (p *parser) callonUnquotedAttributeRawValue80() (interface{}, error) { +func (p *parser) callonDocumentRawLine232() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onUnquotedAttributeRawValue80() + return p.cur.onDocumentRawLine232() } -func (c *current) onUnquotedAttributeRawValue83() (interface{}, error) { - return string(c.text), nil - +func (c *current) onDocumentRawLine228(w interface{}) (interface{}, error) { + return w, nil } -func (p *parser) callonUnquotedAttributeRawValue83() (interface{}, error) { +func (p *parser) callonDocumentRawLine228() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onUnquotedAttributeRawValue83() + return p.cur.onDocumentRawLine228(stack["w"]) } -func (c *current) onUnquotedAttributeRawValue1(elements interface{}) (interface{}, error) { - return types.Reduce(elements, strings.TrimSpace), nil +func (c *current) onDocumentRawLine236() (interface{}, error) { + return strconv.Atoi(string(c.text)) } -func (p *parser) callonUnquotedAttributeRawValue1() (interface{}, error) { +func (p *parser) callonDocumentRawLine236() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onUnquotedAttributeRawValue1(stack["elements"]) + return p.cur.onDocumentRawLine236() } -func (c *current) onCrossReference6() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ +func (c *current) onDocumentRawLine244() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonCrossReference6() (interface{}, error) { +func (p *parser) callonDocumentRawLine244() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onCrossReference6() + return p.cur.onDocumentRawLine244() } -func (c *current) onCrossReference10() (interface{}, error) { - return string(c.text), nil +func (c *current) onDocumentRawLine87(left, operand, right interface{}) (interface{}, error) { + return types.NewIfevalCondition(left, right, operand.(types.IfevalOperand)) } -func (p *parser) callonCrossReference10() (interface{}, error) { +func (p *parser) callonDocumentRawLine87() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onCrossReference10() + return p.cur.onDocumentRawLine87(stack["left"], stack["operand"], stack["right"]) } -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) onDocumentRawLine253() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonCrossReference16() (interface{}, error) { +func (p *parser) callonDocumentRawLine253() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onCrossReference16() + return p.cur.onDocumentRawLine253() } -func (c *current) onCrossReference23() (bool, error) { - return c.isSubstitutionEnabled(Attributes) +func (c *current) onDocumentRawLine259() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonCrossReference23() (bool, error) { +func (p *parser) callonDocumentRawLine259() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onCrossReference23() + return p.cur.onDocumentRawLine259() } -func (c *current) onCrossReference30() (interface{}, error) { +func (c *current) onDocumentRawLine264() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonCrossReference30() (interface{}, error) { +func (p *parser) callonDocumentRawLine264() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onCrossReference30() + return p.cur.onDocumentRawLine264() } -func (c *current) onCrossReference42() (interface{}, error) { - return string(c.text), nil +func (c *current) onDocumentRawLine248(name, attr interface{}) (interface{}, error) { + return types.NewEndOfCondition() // name and attributes are parsed but ignored } -func (p *parser) callonCrossReference42() (interface{}, error) { +func (p *parser) callonDocumentRawLine248() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onCrossReference42() + return p.cur.onDocumentRawLine248(stack["name"], stack["attr"]) } -func (c *current) onCrossReference44() (interface{}, error) { - - return strconv.Atoi(string(c.text)) +func (c *current) onDocumentRawLine278() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonCrossReference44() (interface{}, error) { +func (p *parser) callonDocumentRawLine278() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onCrossReference44() + return p.cur.onDocumentRawLine278() } -func (c *current) onCrossReference37(start interface{}) (interface{}, error) { - return start, nil - +func (c *current) onDocumentRawLine281() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonCrossReference37() (interface{}, error) { +func (p *parser) callonDocumentRawLine281() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onCrossReference37(stack["start"]) + return p.cur.onDocumentRawLine281() } -func (c *current) onCrossReference26(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) +func (c *current) onDocumentRawLine274() (interface{}, error) { + return types.NewBlockDelimiter(types.Comment, string(c.text)) } -func (p *parser) callonCrossReference26() (interface{}, error) { +func (p *parser) callonDocumentRawLine274() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onCrossReference26(stack["name"], stack["start"]) + return p.cur.onDocumentRawLine274() } -func (c *current) onCrossReference52() (interface{}, error) { +func (c *current) onDocumentRawLine292() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonCrossReference52() (interface{}, error) { +func (p *parser) callonDocumentRawLine292() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onCrossReference52() + return p.cur.onDocumentRawLine292() } -func (c *current) onCrossReference64() (interface{}, error) { +func (c *current) onDocumentRawLine295() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonCrossReference64() (interface{}, error) { +func (p *parser) callonDocumentRawLine295() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onCrossReference64() + return p.cur.onDocumentRawLine295() } -func (c *current) onCrossReference66() (interface{}, error) { - - return strconv.Atoi(string(c.text)) - +func (c *current) onDocumentRawLine288() (interface{}, error) { + return types.NewBlockDelimiter(types.Example, string(c.text)) } -func (p *parser) callonCrossReference66() (interface{}, error) { +func (p *parser) callonDocumentRawLine288() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onCrossReference66() + return p.cur.onDocumentRawLine288() } -func (c *current) onCrossReference59(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onDocumentRawLine306() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonCrossReference59() (interface{}, error) { +func (p *parser) callonDocumentRawLine306() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onCrossReference59(stack["start"]) + return p.cur.onDocumentRawLine306() } -func (c *current) onCrossReference48(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) +func (c *current) onDocumentRawLine309() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonCrossReference48() (interface{}, error) { +func (p *parser) callonDocumentRawLine309() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onCrossReference48(stack["name"], stack["start"]) + return p.cur.onDocumentRawLine309() } -func (c *current) onCrossReference74() (interface{}, error) { - return string(c.text), nil - +func (c *current) onDocumentRawLine302() (interface{}, error) { + return types.NewBlockDelimiter(types.Fenced, string(c.text)) } -func (p *parser) callonCrossReference74() (interface{}, error) { +func (p *parser) callonDocumentRawLine302() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onCrossReference74() + return p.cur.onDocumentRawLine302() } -func (c *current) onCrossReference70(name interface{}) (interface{}, error) { +func (c *current) onDocumentRawLine320() (interface{}, error) { + return string(c.text), nil - return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonCrossReference70() (interface{}, error) { +func (p *parser) callonDocumentRawLine320() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onCrossReference70(stack["name"]) + return p.cur.onDocumentRawLine320() } -func (c *current) onCrossReference21(element interface{}) (interface{}, error) { - return element, nil - +func (c *current) onDocumentRawLine323() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonCrossReference21() (interface{}, error) { +func (p *parser) callonDocumentRawLine323() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onCrossReference21(stack["element"]) + return p.cur.onDocumentRawLine323() } -func (c *current) onCrossReference80() (interface{}, error) { - - return types.NewStringElement(string(c.text)) - +func (c *current) onDocumentRawLine316() (interface{}, error) { + return types.NewBlockDelimiter(types.Listing, string(c.text)) } -func (p *parser) callonCrossReference80() (interface{}, error) { +func (p *parser) callonDocumentRawLine316() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onCrossReference80() + return p.cur.onDocumentRawLine316() } -func (c *current) onCrossReference2(id, label interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, label) +func (c *current) onDocumentRawLine334() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonCrossReference2() (interface{}, error) { +func (p *parser) callonDocumentRawLine334() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onCrossReference2(stack["id"], stack["label"]) + return p.cur.onDocumentRawLine334() } -func (c *current) onCrossReference87() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ +func (c *current) onDocumentRawLine337() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonCrossReference87() (interface{}, error) { +func (p *parser) callonDocumentRawLine337() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onCrossReference87() + return p.cur.onDocumentRawLine337() } -func (c *current) onCrossReference83(id interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, nil) - +func (c *current) onDocumentRawLine330() (interface{}, error) { + return types.NewBlockDelimiter(types.Literal, string(c.text)) } -func (p *parser) callonCrossReference83() (interface{}, error) { +func (p *parser) callonDocumentRawLine330() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onCrossReference83(stack["id"]) + return p.cur.onDocumentRawLine330() } -func (c *current) onExternalCrossReference13() (interface{}, error) { - // not supported for now: EOL, space, "{", "[", "]" - return types.NewStringElement(string(c.text)) +func (c *current) onDocumentRawLine348() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonExternalCrossReference13() (interface{}, error) { +func (p *parser) callonDocumentRawLine348() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference13() + return p.cur.onDocumentRawLine348() } -func (c *current) onExternalCrossReference18() (bool, error) { - return c.isSubstitutionEnabled(Attributes) - +func (c *current) onDocumentRawLine351() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonExternalCrossReference18() (bool, error) { +func (p *parser) callonDocumentRawLine351() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference18() + return p.cur.onDocumentRawLine351() } -func (c *current) onExternalCrossReference25() (interface{}, error) { - return string(c.text), nil - +func (c *current) onDocumentRawLine344() (interface{}, error) { + return types.NewBlockDelimiter(types.Passthrough, string(c.text)) } -func (p *parser) callonExternalCrossReference25() (interface{}, error) { +func (p *parser) callonDocumentRawLine344() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference25() + return p.cur.onDocumentRawLine344() } -func (c *current) onExternalCrossReference37() (interface{}, error) { +func (c *current) onDocumentRawLine362() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExternalCrossReference37() (interface{}, error) { +func (p *parser) callonDocumentRawLine362() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference37() + return p.cur.onDocumentRawLine362() } -func (c *current) onExternalCrossReference39() (interface{}, error) { - - return strconv.Atoi(string(c.text)) - +func (c *current) onDocumentRawLine365() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonExternalCrossReference39() (interface{}, error) { +func (p *parser) callonDocumentRawLine365() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference39() + return p.cur.onDocumentRawLine365() } -func (c *current) onExternalCrossReference32(start interface{}) (interface{}, error) { - return start, nil - +func (c *current) onDocumentRawLine358() (interface{}, error) { + return types.NewBlockDelimiter(types.Quote, string(c.text)) } -func (p *parser) callonExternalCrossReference32() (interface{}, error) { +func (p *parser) callonDocumentRawLine358() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference32(stack["start"]) + return p.cur.onDocumentRawLine358() } -func (c *current) onExternalCrossReference21(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) +func (c *current) onDocumentRawLine376() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonExternalCrossReference21() (interface{}, error) { +func (p *parser) callonDocumentRawLine376() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference21(stack["name"], stack["start"]) + return p.cur.onDocumentRawLine376() } -func (c *current) onExternalCrossReference47() (interface{}, error) { +func (c *current) onDocumentRawLine379() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonExternalCrossReference47() (interface{}, error) { +func (p *parser) callonDocumentRawLine379() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference47() + return p.cur.onDocumentRawLine379() } -func (c *current) onExternalCrossReference59() (interface{}, error) { - return string(c.text), nil - +func (c *current) onDocumentRawLine372() (interface{}, error) { + return types.NewBlockDelimiter(types.Sidebar, string(c.text)) } -func (p *parser) callonExternalCrossReference59() (interface{}, error) { +func (p *parser) callonDocumentRawLine372() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference59() + return p.cur.onDocumentRawLine372() } -func (c *current) onExternalCrossReference61() (interface{}, error) { - - return strconv.Atoi(string(c.text)) +func (c *current) onDocumentRawLine268(delimiter interface{}) (interface{}, error) { + return delimiter, nil } -func (p *parser) callonExternalCrossReference61() (interface{}, error) { +func (p *parser) callonDocumentRawLine268() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference61() + return p.cur.onDocumentRawLine268(stack["delimiter"]) } -func (c *current) onExternalCrossReference54(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onDocumentRawLine388() (bool, error) { + // should only be enabled when reading files to include, not the main (root) file + return c.isSectionEnabled(), nil } -func (p *parser) callonExternalCrossReference54() (interface{}, error) { +func (p *parser) callonDocumentRawLine388() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference54(stack["start"]) + return p.cur.onDocumentRawLine388() } -func (c *current) onExternalCrossReference43(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) +func (c *current) onDocumentRawLine389() (bool, error) { + + return !c.isWithinDelimitedBlock(), nil + } -func (p *parser) callonExternalCrossReference43() (interface{}, error) { +func (p *parser) callonDocumentRawLine389() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference43(stack["name"], stack["start"]) + return p.cur.onDocumentRawLine389() } -func (c *current) onExternalCrossReference69() (interface{}, error) { - return string(c.text), nil +func (c *current) onDocumentRawLine391() (interface{}, error) { + + // `=` is level 0, `==` is level 1, etc. + return (len(c.text) - 1), nil } -func (p *parser) callonExternalCrossReference69() (interface{}, error) { +func (p *parser) callonDocumentRawLine391() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference69() + return p.cur.onDocumentRawLine391() } -func (c *current) onExternalCrossReference65(name interface{}) (interface{}, error) { +func (c *current) onDocumentRawLine394(level interface{}) (bool, error) { + + // use a predicate to make sure that only `=` (level 0) to `======` (level 5) are allowed + return level.(int) <= 5, nil - return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonExternalCrossReference65() (interface{}, error) { +func (p *parser) callonDocumentRawLine394() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference65(stack["name"]) + return p.cur.onDocumentRawLine394(stack["level"]) } -func (c *current) onExternalCrossReference16(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onDocumentRawLine395(level interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") + return string(c.text), nil } -func (p *parser) callonExternalCrossReference16() (interface{}, error) { +func (p *parser) callonDocumentRawLine395() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference16(stack["element"]) + return p.cur.onDocumentRawLine395(stack["level"]) } -func (c *current) onExternalCrossReference77() (bool, error) { - return c.isSubstitutionEnabled(SpecialCharacters) +func (c *current) onDocumentRawLine386(level interface{}) (interface{}, error) { + return types.NewRawSection(level.(int), string(c.text)) // just retain the raw content } -func (p *parser) callonExternalCrossReference77() (bool, error) { +func (p *parser) callonDocumentRawLine386() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference77() + return p.cur.onDocumentRawLine386(stack["level"]) } -func (c *current) onExternalCrossReference86() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ - return string(c.text), nil +func (c *current) onDocumentRawLine1(element interface{}) (interface{}, error) { + // in case of parse error, we'll keep the rawline content as-is + return element, nil } -func (p *parser) callonExternalCrossReference86() (interface{}, error) { +func (p *parser) callonDocumentRawLine1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference86() + return p.cur.onDocumentRawLine1(stack["element"]) } -func (c *current) onExternalCrossReference90() (interface{}, error) { - return string(c.text), nil +func (c *current) onFileInclusion19() (interface{}, error) { + // not supported for now: EOL, space, "{", "[", "]" + return types.NewStringElement(string(c.text)) } -func (p *parser) callonExternalCrossReference90() (interface{}, error) { +func (p *parser) callonFileInclusion19() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference90() + return p.cur.onFileInclusion19() } -func (c *current) onExternalCrossReference96() (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) onFileInclusion29() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonExternalCrossReference96() (interface{}, error) { +func (p *parser) callonFileInclusion29() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference96() + return p.cur.onFileInclusion29() } -func (c *current) onExternalCrossReference103() (bool, error) { - return c.isSubstitutionEnabled(Attributes) +func (c *current) onFileInclusion33() (bool, error) { + return c.isSubstitutionEnabled(Attributes), nil } -func (p *parser) callonExternalCrossReference103() (bool, error) { +func (p *parser) callonFileInclusion33() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference103() + return p.cur.onFileInclusion33() } -func (c *current) onExternalCrossReference110() (interface{}, error) { +func (c *current) onFileInclusion40() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExternalCrossReference110() (interface{}, error) { +func (p *parser) callonFileInclusion40() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference110() + return p.cur.onFileInclusion40() } -func (c *current) onExternalCrossReference122() (interface{}, error) { +func (c *current) onFileInclusion52() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExternalCrossReference122() (interface{}, error) { +func (p *parser) callonFileInclusion52() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference122() + return p.cur.onFileInclusion52() } -func (c *current) onExternalCrossReference124() (interface{}, error) { +func (c *current) onFileInclusion54() (interface{}, error) { return strconv.Atoi(string(c.text)) } -func (p *parser) callonExternalCrossReference124() (interface{}, error) { +func (p *parser) callonFileInclusion54() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference124() + return p.cur.onFileInclusion54() } -func (c *current) onExternalCrossReference117(start interface{}) (interface{}, error) { +func (c *current) onFileInclusion47(start interface{}) (interface{}, error) { return start, nil } -func (p *parser) callonExternalCrossReference117() (interface{}, error) { +func (p *parser) callonFileInclusion47() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference117(stack["start"]) + return p.cur.onFileInclusion47(stack["start"]) } -func (c *current) onExternalCrossReference106(name, start interface{}) (interface{}, error) { +func (c *current) onFileInclusion36(name, start interface{}) (interface{}, error) { return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) } -func (p *parser) callonExternalCrossReference106() (interface{}, error) { +func (p *parser) callonFileInclusion36() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference106(stack["name"], stack["start"]) + return p.cur.onFileInclusion36(stack["name"], stack["start"]) } -func (c *current) onExternalCrossReference132() (interface{}, error) { +func (c *current) onFileInclusion62() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExternalCrossReference132() (interface{}, error) { +func (p *parser) callonFileInclusion62() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference132() + return p.cur.onFileInclusion62() } -func (c *current) onExternalCrossReference144() (interface{}, error) { +func (c *current) onFileInclusion74() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExternalCrossReference144() (interface{}, error) { +func (p *parser) callonFileInclusion74() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference144() + return p.cur.onFileInclusion74() } -func (c *current) onExternalCrossReference146() (interface{}, error) { +func (c *current) onFileInclusion76() (interface{}, error) { return strconv.Atoi(string(c.text)) } -func (p *parser) callonExternalCrossReference146() (interface{}, error) { +func (p *parser) callonFileInclusion76() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference146() + return p.cur.onFileInclusion76() } -func (c *current) onExternalCrossReference139(start interface{}) (interface{}, error) { +func (c *current) onFileInclusion69(start interface{}) (interface{}, error) { return start, nil } -func (p *parser) callonExternalCrossReference139() (interface{}, error) { +func (p *parser) callonFileInclusion69() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference139(stack["start"]) + return p.cur.onFileInclusion69(stack["start"]) } -func (c *current) onExternalCrossReference128(name, start interface{}) (interface{}, error) { +func (c *current) onFileInclusion58(name, start interface{}) (interface{}, error) { return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) } -func (p *parser) callonExternalCrossReference128() (interface{}, error) { +func (p *parser) callonFileInclusion58() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference128(stack["name"], stack["start"]) + return p.cur.onFileInclusion58(stack["name"], stack["start"]) } -func (c *current) onExternalCrossReference154() (interface{}, error) { +func (c *current) onFileInclusion84() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExternalCrossReference154() (interface{}, error) { +func (p *parser) callonFileInclusion84() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference154() + return p.cur.onFileInclusion84() } -func (c *current) onExternalCrossReference150(name interface{}) (interface{}, error) { +func (c *current) onFileInclusion80(name interface{}) (interface{}, error) { return types.NewAttributeSubstitution(name.(string), string(c.text)) + } -func (p *parser) callonExternalCrossReference150() (interface{}, error) { +func (p *parser) callonFileInclusion80() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference150(stack["name"]) + return p.cur.onFileInclusion80(stack["name"]) } -func (c *current) onExternalCrossReference101(element interface{}) (interface{}, error) { +func (c *current) onFileInclusion31(element interface{}) (interface{}, error) { return element, nil } -func (p *parser) callonExternalCrossReference101() (interface{}, error) { +func (p *parser) callonFileInclusion31() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference101(stack["element"]) + return p.cur.onFileInclusion31(stack["element"]) } -func (c *current) onExternalCrossReference160() (interface{}, error) { - +func (c *current) onFileInclusion90() (interface{}, error) { return types.NewStringElement(string(c.text)) } -func (p *parser) callonExternalCrossReference160() (interface{}, error) { +func (p *parser) callonFileInclusion90() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference160() + return p.cur.onFileInclusion90() } -func (c *current) onExternalCrossReference82(id, label interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, label) +func (c *current) onFileInclusion12(elements interface{}) (interface{}, error) { + return types.NewInlineElements(elements.([]interface{})) } -func (p *parser) callonExternalCrossReference82() (interface{}, error) { +func (p *parser) callonFileInclusion12() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference82(stack["id"], stack["label"]) + return p.cur.onFileInclusion12(stack["elements"]) } -func (c *current) onExternalCrossReference167() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ +func (c *current) onFileInclusion96() (interface{}, error) { return string(c.text), nil - -} - -func (p *parser) callonExternalCrossReference167() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onExternalCrossReference167() -} - -func (c *current) onExternalCrossReference163(id interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, nil) - } -func (p *parser) callonExternalCrossReference163() (interface{}, error) { +func (p *parser) callonFileInclusion96() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference163(stack["id"]) + return p.cur.onFileInclusion96() } -func (c *current) onExternalCrossReference80() (interface{}, error) { - return types.NewStringElement(string(c.text)) - +func (c *current) onFileInclusion92(ref interface{}) (interface{}, error) { + return types.NewElementPlaceHolder(ref.(string)) } -func (p *parser) callonExternalCrossReference80() (interface{}, error) { +func (p *parser) callonFileInclusion92() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference80() + return p.cur.onFileInclusion92(stack["ref"]) } -func (c *current) onExternalCrossReference171() (interface{}, error) { - return types.NewSpecialCharacter(string(c.text)) +func (c *current) onFileInclusion8(path interface{}) (interface{}, error) { + return types.NewLocation("", path.([]interface{})) } -func (p *parser) callonExternalCrossReference171() (interface{}, error) { +func (p *parser) callonFileInclusion8() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference171() -} - -func (c *current) onExternalCrossReference75(element interface{}) (interface{}, error) { - return element, nil - + return p.cur.onFileInclusion8(stack["path"]) } -func (p *parser) callonExternalCrossReference75() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onExternalCrossReference75(stack["element"]) -} +func (c *current) onFileInclusion4(path, attributes interface{}) (interface{}, error) { -func (c *current) onExternalCrossReference173() (interface{}, error) { - return types.NewStringElement(string(c.text)) + return types.NewFileInclusion(path.(*types.Location), attributes.(types.Attributes), string(c.text)) } -func (p *parser) callonExternalCrossReference173() (interface{}, error) { +func (p *parser) callonFileInclusion4() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference173() + return p.cur.onFileInclusion4(stack["path"], stack["attributes"]) } -func (c *current) onExternalCrossReference9(elements interface{}) (interface{}, error) { - return types.NewInlineElements(elements.([]interface{})) +func (c *current) onFileInclusion103() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonExternalCrossReference9() (interface{}, error) { +func (p *parser) callonFileInclusion103() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference9(stack["elements"]) + return p.cur.onFileInclusion103() } -func (c *current) onExternalCrossReference179() (interface{}, error) { +func (c *current) onFileInclusion106() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonExternalCrossReference179() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onExternalCrossReference179() -} - -func (c *current) onExternalCrossReference175(ref interface{}) (interface{}, error) { - return types.NewElementPlaceHolder(ref.(string)) -} - -func (p *parser) callonExternalCrossReference175() (interface{}, error) { +func (p *parser) callonFileInclusion106() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference175(stack["ref"]) + return p.cur.onFileInclusion106() } -func (c *current) onExternalCrossReference5(path interface{}) (interface{}, error) { - return types.NewLocation("", path.([]interface{})) +func (c *current) onFileInclusion1(incl interface{}) (interface{}, error) { + return incl.(*types.FileInclusion), nil } -func (p *parser) callonExternalCrossReference5() (interface{}, error) { +func (p *parser) callonFileInclusion1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference5(stack["path"]) + return p.cur.onFileInclusion1(stack["incl"]) } -func (c *current) onExternalCrossReference1(url, attributes interface{}) (interface{}, error) { - return types.NewExternalCrossReference(url.(*types.Location), attributes.(types.Attributes)) +func (c *current) onLineRanges12() (interface{}, error) { + return strconv.Atoi(string(c.text)) } -func (p *parser) callonExternalCrossReference1() (interface{}, error) { +func (p *parser) callonLineRanges12() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference1(stack["url"], stack["attributes"]) -} - -func (c *current) onMarkdownQuoteAttribution5() (interface{}, error) { - return string(c.text), nil - + return p.cur.onLineRanges12() } -func (p *parser) callonMarkdownQuoteAttribution5() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onMarkdownQuoteAttribution5() -} +func (c *current) onLineRanges20() (interface{}, error) { + return strconv.Atoi(string(c.text)) -func (c *current) onMarkdownQuoteAttribution9() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil } -func (p *parser) callonMarkdownQuoteAttribution9() (interface{}, error) { +func (p *parser) callonLineRanges20() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onMarkdownQuoteAttribution9() + return p.cur.onLineRanges20() } -func (c *current) onMarkdownQuoteAttribution1(author interface{}) (interface{}, error) { - return author, nil +func (c *current) onLineRanges9(start, end interface{}) (interface{}, error) { + // eg: lines=12..14 + return types.NewLineRange(start.(int), end.(int)) } -func (p *parser) callonMarkdownQuoteAttribution1() (interface{}, error) { +func (p *parser) callonLineRanges9() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onMarkdownQuoteAttribution1(stack["author"]) + return p.cur.onLineRanges9(stack["start"], stack["end"]) } -func (c *current) onDocumentHeader3() (bool, error) { - return c.isDocumentHeaderAllowed(), nil +func (c *current) onLineRanges28() (interface{}, error) { + return strconv.Atoi(string(c.text)) } -func (p *parser) callonDocumentHeader3() (bool, error) { +func (p *parser) callonLineRanges28() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader3() + return p.cur.onLineRanges28() } -func (c *current) onDocumentHeader11() (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) callonDocumentHeader11() (interface{}, error) { +func (p *parser) callonLineRanges26() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader11() + return p.cur.onLineRanges26(stack["singleline"]) } -func (c *current) onDocumentHeader14() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onLineRanges44() (interface{}, error) { + return strconv.Atoi(string(c.text)) + } -func (p *parser) callonDocumentHeader14() (interface{}, error) { +func (p *parser) callonLineRanges44() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader14() + return p.cur.onLineRanges44() } -func (c *current) onDocumentHeader5() (interface{}, error) { - return types.NewBlankLine() +func (c *current) onLineRanges52() (interface{}, error) { + return strconv.Atoi(string(c.text)) } -func (p *parser) callonDocumentHeader5() (interface{}, error) { +func (p *parser) callonLineRanges52() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader5() + return p.cur.onLineRanges52() } -func (c *current) onDocumentHeader25() (interface{}, error) { - // log.Debug("matched multiple spaces") - return string(c.text), nil +func (c *current) onLineRanges41(start, end interface{}) (interface{}, error) { + // eg: lines=12..14 + return types.NewLineRange(start.(int), end.(int)) } -func (p *parser) callonDocumentHeader25() (interface{}, error) { +func (p *parser) callonLineRanges41() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader25() + return p.cur.onLineRanges41(stack["start"], stack["end"]) } -func (c *current) onDocumentHeader29() (interface{}, error) { - // can't have empty title, that may collide with example block delimiter (`====`) - return []interface{}{ - types.RawLine(c.text), - }, nil +func (c *current) onLineRanges60() (interface{}, error) { + return strconv.Atoi(string(c.text)) + } -func (p *parser) callonDocumentHeader29() (interface{}, error) { +func (p *parser) callonLineRanges60() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader29() + return p.cur.onLineRanges60() } -func (c *current) onDocumentHeader33() (interface{}, error) { - // TODO: just use "\n" - 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) callonDocumentHeader33() (interface{}, error) { +func (p *parser) callonLineRanges58() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader33() + return p.cur.onLineRanges58(stack["singleline"]) } -func (c *current) onDocumentHeader22(title interface{}) (interface{}, error) { - return title, nil +func (c *current) onLineRanges36(other interface{}) (interface{}, error) { + return other, nil } -func (p *parser) callonDocumentHeader22() (interface{}, error) { +func (p *parser) callonLineRanges36() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader22(stack["title"]) + return p.cur.onLineRanges36(stack["other"]) } -func (c *current) onDocumentHeader51() (interface{}, error) { - return string(c.text), nil +func (c *current) onLineRanges5(first, others interface{}) (interface{}, error) { + return append([]interface{}{first}, others.([]interface{})...), nil } -func (p *parser) callonDocumentHeader51() (interface{}, error) { +func (p *parser) callonLineRanges5() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader51() + return p.cur.onLineRanges5(stack["first"], stack["others"]) } -func (c *current) onDocumentHeader54() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onLineRanges69() (interface{}, error) { + return strconv.Atoi(string(c.text)) + } -func (p *parser) callonDocumentHeader54() (interface{}, error) { +func (p *parser) callonLineRanges69() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader54() + return p.cur.onLineRanges69() } -func (c *current) onDocumentHeader45() (interface{}, error) { - return types.NewBlankLine() +func (c *current) onLineRanges77() (interface{}, error) { + return strconv.Atoi(string(c.text)) } -func (p *parser) callonDocumentHeader45() (interface{}, error) { +func (p *parser) callonLineRanges77() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader45() + return p.cur.onLineRanges77() } -func (c *current) onDocumentHeader69() (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) callonDocumentHeader69() (interface{}, error) { +func (p *parser) callonLineRanges66() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader69() + return p.cur.onLineRanges66(stack["start"], stack["end"]) } -func (c *current) onDocumentHeader73() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onLineRanges85() (interface{}, error) { + return strconv.Atoi(string(c.text)) + } -func (p *parser) callonDocumentHeader73() (interface{}, error) { +func (p *parser) callonLineRanges85() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader73() + return p.cur.onLineRanges85() } -func (c *current) onDocumentHeader63(content interface{}) (interface{}, error) { - return types.NewSingleLineComment(content.(string)) +func (c *current) onLineRanges83(singleline interface{}) (interface{}, error) { + // eg: lines=12 + return types.NewLineRange(singleline.(int), singleline.(int)) } -func (p *parser) callonDocumentHeader63() (interface{}, error) { +func (p *parser) callonLineRanges83() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader63(stack["content"]) + return p.cur.onLineRanges83(stack["singleline"]) } -func (c *current) onDocumentHeader86() (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) callonDocumentHeader86() (interface{}, error) { +func (p *parser) callonLineRanges1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader86() + return p.cur.onLineRanges1(stack["value"]) } -func (c *current) onDocumentHeader89() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onTagRanges11() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonDocumentHeader89() (interface{}, error) { +func (p *parser) callonTagRanges11() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader89() + return p.cur.onTagRanges11() } -func (c *current) onDocumentHeader82() (interface{}, error) { - return types.NewBlockDelimiter(types.Comment, string(c.text)) +func (c *current) onTagRanges17() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonDocumentHeader82() (interface{}, error) { +func (p *parser) callonTagRanges17() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader82() + return p.cur.onTagRanges17() } -func (c *current) onDocumentHeader106() (interface{}, error) { - return string(c.text), nil +func (c *current) onTagRanges20(stars interface{}) (bool, error) { + + // use a predicate to make sure that only `*` and `**` are allowed + return len(stars.(string)) <= 2, nil } -func (p *parser) callonDocumentHeader106() (interface{}, error) { +func (p *parser) callonTagRanges20() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader106() + return p.cur.onTagRanges20(stack["stars"]) } -func (c *current) onDocumentHeader109() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onTagRanges14(stars interface{}) (interface{}, error) { + return stars, nil + } -func (p *parser) callonDocumentHeader109() (interface{}, error) { +func (p *parser) callonTagRanges14() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader109() + return p.cur.onTagRanges14(stack["stars"]) } -func (c *current) onDocumentHeader102() (interface{}, error) { - return types.NewBlockDelimiter(types.Comment, string(c.text)) +func (c *current) onTagRanges8(tag interface{}) (interface{}, error) { + return types.NewTagRange(tag.(string), true) + } -func (p *parser) callonDocumentHeader102() (interface{}, error) { +func (p *parser) callonTagRanges8() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader102() + return p.cur.onTagRanges8(stack["tag"]) } -func (c *current) onDocumentHeader125() (interface{}, error) { - // content is NOT mandatory +func (c *current) onTagRanges26() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentHeader125() (interface{}, error) { +func (p *parser) callonTagRanges26() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader125() + return p.cur.onTagRanges26() } -func (c *current) onDocumentHeader129() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onTagRanges32() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonDocumentHeader129() (interface{}, error) { +func (p *parser) callonTagRanges32() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader129() + return p.cur.onTagRanges32() } -func (c *current) onDocumentHeader119(content interface{}) (interface{}, error) { +func (c *current) onTagRanges35(stars interface{}) (bool, error) { - return types.NewRawLine(content.(string)) + // use a predicate to make sure that only `*` and `**` are allowed + return len(stars.(string)) <= 2, nil } -func (p *parser) callonDocumentHeader119() (interface{}, error) { +func (p *parser) callonTagRanges35() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader119(stack["content"]) + return p.cur.onTagRanges35(stack["stars"]) } -func (c *current) onDocumentHeader98(line interface{}) (interface{}, error) { - return line, nil +func (c *current) onTagRanges29(stars interface{}) (interface{}, error) { + return stars, nil } -func (p *parser) callonDocumentHeader98() (interface{}, error) { +func (p *parser) callonTagRanges29() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader98(stack["line"]) + return p.cur.onTagRanges29(stack["stars"]) } -func (c *current) onDocumentHeader142() (interface{}, error) { - return string(c.text), nil +func (c *current) onTagRanges21(tag interface{}) (interface{}, error) { + return types.NewTagRange(tag.(string), false) } -func (p *parser) callonDocumentHeader142() (interface{}, error) { +func (p *parser) callonTagRanges21() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader142() + return p.cur.onTagRanges21(stack["tag"]) } -func (c *current) onDocumentHeader145() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onTagRanges46() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonDocumentHeader145() (interface{}, error) { +func (p *parser) callonTagRanges46() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader145() + return p.cur.onTagRanges46() } -func (c *current) onDocumentHeader138() (interface{}, error) { - return types.NewBlockDelimiter(types.Comment, string(c.text)) +func (c *current) onTagRanges52() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonDocumentHeader138() (interface{}, error) { +func (p *parser) callonTagRanges52() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader138() + return p.cur.onTagRanges52() } -func (c *current) onDocumentHeader80(content interface{}) (interface{}, error) { - c.unsetWithinDelimitedBlock() - return types.NewDelimitedBlock(types.Comment, content.([]interface{})) +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) callonDocumentHeader80() (interface{}, error) { +func (p *parser) callonTagRanges55() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader80(stack["content"]) + return p.cur.onTagRanges55(stack["stars"]) } -func (c *current) onDocumentHeader158() (interface{}, error) { - return string(c.text), nil +func (c *current) onTagRanges49(stars interface{}) (interface{}, error) { + return stars, nil } -func (p *parser) callonDocumentHeader158() (interface{}, error) { +func (p *parser) callonTagRanges49() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader158() + return p.cur.onTagRanges49(stack["stars"]) } -func (c *current) onDocumentHeader175() (interface{}, error) { - // no space allowed - return string(c.text), nil +func (c *current) onTagRanges43(tag interface{}) (interface{}, error) { + return types.NewTagRange(tag.(string), true) } -func (p *parser) callonDocumentHeader175() (interface{}, error) { +func (p *parser) callonTagRanges43() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader175() + return p.cur.onTagRanges43(stack["tag"]) } -func (c *current) onDocumentHeader179() (interface{}, error) { +func (c *current) onTagRanges61() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentHeader179() (interface{}, error) { +func (p *parser) callonTagRanges61() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader179() + return p.cur.onTagRanges61() } -func (c *current) onDocumentHeader183() (interface{}, error) { - // no space allowed +func (c *current) onTagRanges67() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentHeader183() (interface{}, error) { +func (p *parser) callonTagRanges67() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader183() + return p.cur.onTagRanges67() } -func (c *current) onDocumentHeader187() (interface{}, error) { - return string(c.text), nil +func (c *current) onTagRanges70(stars interface{}) (bool, error) { + + // use a predicate to make sure that only `*` and `**` are allowed + return len(stars.(string)) <= 2, nil } -func (p *parser) callonDocumentHeader187() (interface{}, error) { +func (p *parser) callonTagRanges70() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader187() + return p.cur.onTagRanges70(stack["stars"]) } -func (c *current) onDocumentHeader191() (interface{}, error) { - // spaces allowed - return string(c.text), nil +func (c *current) onTagRanges64(stars interface{}) (interface{}, error) { + return stars, nil } -func (p *parser) callonDocumentHeader191() (interface{}, error) { +func (p *parser) callonTagRanges64() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader191() + return p.cur.onTagRanges64(stack["stars"]) } -func (c *current) onDocumentHeader195() (interface{}, error) { - return string(c.text), nil +func (c *current) onTagRanges56(tag interface{}) (interface{}, error) { + return types.NewTagRange(tag.(string), false) } -func (p *parser) callonDocumentHeader195() (interface{}, error) { +func (p *parser) callonTagRanges56() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader195() + return p.cur.onTagRanges56(stack["tag"]) } -func (c *current) onDocumentHeader172(part1, part2, part3 interface{}) (interface{}, error) { - return types.NewDocumentAuthorFullName(part1.(string), part2, part3) +func (c *current) onTagRanges38(other interface{}) (interface{}, error) { + return other, nil } -func (p *parser) callonDocumentHeader172() (interface{}, error) { +func (p *parser) callonTagRanges38() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader172(stack["part1"], stack["part2"], stack["part3"]) + return p.cur.onTagRanges38(stack["other"]) } -func (c *current) onDocumentHeader206() (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) callonDocumentHeader206() (interface{}, error) { +func (p *parser) callonTagRanges4() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader206() + return p.cur.onTagRanges4(stack["first"], stack["others"]) } -func (c *current) onDocumentHeader199(email interface{}) (interface{}, error) { - return email, nil +func (c *current) onTagRanges1(value interface{}) (interface{}, error) { + // must make sure that the whole content is parsed + return value, nil } -func (p *parser) callonDocumentHeader199() (interface{}, error) { +func (p *parser) callonTagRanges1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader199(stack["email"]) + return p.cur.onTagRanges1(stack["value"]) } -func (c *current) onDocumentHeader211() (interface{}, error) { +func (c *current) onIncludedFileLine11() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentHeader211() (interface{}, error) { +func (p *parser) callonIncludedFileLine11() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader211() + return p.cur.onIncludedFileLine11() } -func (c *current) onDocumentHeader216() (interface{}, error) { +func (c *current) onIncludedFileLine10() (interface{}, error) { return string(c.text), nil - } -func (p *parser) callonDocumentHeader216() (interface{}, error) { +func (p *parser) callonIncludedFileLine10() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader216() + return p.cur.onIncludedFileLine10() } -func (c *current) onDocumentHeader218(fullName, email interface{}) (bool, error) { - // at least 1 of [fullName, email] must be defined - return fullName != nil || email != nil, nil +func (c *current) onIncludedFileLine6(tag interface{}) (interface{}, error) { + return types.NewIncludedFileStartTag(tag.(string)) } -func (p *parser) callonDocumentHeader218() (bool, error) { +func (p *parser) callonIncludedFileLine6() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader218(stack["fullName"], stack["email"]) + return p.cur.onIncludedFileLine6(stack["tag"]) } -func (c *current) onDocumentHeader168(fullName, email interface{}) (interface{}, error) { - return types.NewDocumentAuthor(fullName, email) +func (c *current) onIncludedFileLine20() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDocumentHeader168() (interface{}, error) { +func (p *parser) callonIncludedFileLine20() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader168(stack["fullName"], stack["email"]) + return p.cur.onIncludedFileLine20() } -func (c *current) onDocumentHeader162(authors interface{}) (interface{}, error) { - return types.NewDocumentAuthors(authors.([]interface{})...) +func (c *current) onIncludedFileLine19() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDocumentHeader162() (interface{}, error) { +func (p *parser) callonIncludedFileLine19() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader162(stack["authors"]) + return p.cur.onIncludedFileLine19() } -func (c *current) onDocumentHeader223() (interface{}, error) { - return string(c.text), nil +func (c *current) onIncludedFileLine15(tag interface{}) (interface{}, error) { + return types.NewIncludedFileEndTag(tag.(string)) } -func (p *parser) callonDocumentHeader223() (interface{}, error) { +func (p *parser) callonIncludedFileLine15() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader223() + return p.cur.onIncludedFileLine15(stack["tag"]) } -func (c *current) onDocumentHeader233() (interface{}, error) { - // no space allowed +func (c *current) onIncludedFileLine24() (interface{}, error) { return string(c.text), nil - } -func (p *parser) callonDocumentHeader233() (interface{}, error) { +func (p *parser) callonIncludedFileLine24() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader233() + return p.cur.onIncludedFileLine24() } -func (c *current) onDocumentHeader237() (interface{}, error) { +func (c *current) onIncludedFileLine27() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonDocumentHeader237() (interface{}, error) { +func (p *parser) callonIncludedFileLine27() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader237() + return p.cur.onIncludedFileLine27() } -func (c *current) onDocumentHeader241() (interface{}, error) { - // no space allowed - return string(c.text), nil +func (c *current) onIncludedFileLine1(content interface{}) (interface{}, error) { + return types.NewIncludedFileLine(content.([]interface{})) } -func (p *parser) callonDocumentHeader241() (interface{}, error) { +func (p *parser) callonIncludedFileLine1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader241() + return p.cur.onIncludedFileLine1(stack["content"]) } -func (c *current) onDocumentHeader245() (interface{}, error) { +func (c *current) onDocumentFragment20() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentHeader245() (interface{}, error) { +func (p *parser) callonDocumentFragment20() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader245() + return p.cur.onDocumentFragment20() } -func (c *current) onDocumentHeader249() (interface{}, error) { - // spaces allowed +func (c *current) onDocumentFragment27() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentHeader249() (interface{}, error) { +func (p *parser) callonDocumentFragment27() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader249() + return p.cur.onDocumentFragment27() } -func (c *current) onDocumentHeader253() (interface{}, error) { +func (c *current) onDocumentFragment30() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonDocumentHeader253() (interface{}, error) { +func (p *parser) callonDocumentFragment30() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader253() + return p.cur.onDocumentFragment30() } -func (c *current) onDocumentHeader230(part1, part2, part3 interface{}) (interface{}, error) { - return types.NewDocumentAuthorFullName(part1.(string), part2, part3) - +func (c *current) onDocumentFragment16(name interface{}) (interface{}, error) { + return types.NewAttributeReset(name.(string), string(c.text)) } -func (p *parser) callonDocumentHeader230() (interface{}, error) { +func (p *parser) callonDocumentFragment16() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader230(stack["part1"], stack["part2"], stack["part3"]) + return p.cur.onDocumentFragment16(stack["name"]) } -func (c *current) onDocumentHeader264() (interface{}, error) { +func (c *current) onDocumentFragment41() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentHeader264() (interface{}, error) { +func (p *parser) callonDocumentFragment41() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader264() + return p.cur.onDocumentFragment41() } -func (c *current) onDocumentHeader257(email interface{}) (interface{}, error) { - return email, nil +func (c *current) onDocumentFragment48() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDocumentHeader257() (interface{}, error) { +func (p *parser) callonDocumentFragment48() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader257(stack["email"]) + return p.cur.onDocumentFragment48() } -func (c *current) onDocumentHeader269() (interface{}, error) { +func (c *current) onDocumentFragment51() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil +} +func (p *parser) callonDocumentFragment51() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment51() } -func (p *parser) callonDocumentHeader269() (interface{}, error) { +func (c *current) onDocumentFragment37(name interface{}) (interface{}, error) { + return types.NewAttributeReset(name.(string), string(c.text)) +} + +func (p *parser) callonDocumentFragment37() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader269() + return p.cur.onDocumentFragment37(stack["name"]) } -func (c *current) onDocumentHeader274() (interface{}, error) { +func (c *current) onDocumentFragment65() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentHeader274() (interface{}, error) { +func (p *parser) callonDocumentFragment65() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader274() + return p.cur.onDocumentFragment65() } -func (c *current) onDocumentHeader276(fullName, email interface{}) (bool, error) { - // at least 1 of [fullName, email] must be defined - return fullName != nil || email != nil, nil - +func (c *current) onDocumentFragment68() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonDocumentHeader276() (bool, error) { +func (p *parser) callonDocumentFragment68() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader276(stack["fullName"], stack["email"]) + return p.cur.onDocumentFragment68() } -func (c *current) onDocumentHeader226(fullName, email interface{}) (interface{}, error) { - return types.NewDocumentAuthor(fullName, email) +func (c *current) onDocumentFragment59() (interface{}, error) { + return types.NewBlankLine() } -func (p *parser) callonDocumentHeader226() (interface{}, error) { +func (p *parser) callonDocumentFragment59() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader226(stack["fullName"], stack["email"]) + return p.cur.onDocumentFragment59() } -func (c *current) onDocumentHeader219(author interface{}) (interface{}, error) { - return types.NewDocumentAuthors(author) +func (c *current) onDocumentFragment77() (bool, error) { + + return !c.isWithinDelimitedBlock(), nil + } -func (p *parser) callonDocumentHeader219() (interface{}, error) { +func (p *parser) callonDocumentFragment77() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader219(stack["author"]) + return p.cur.onDocumentFragment77() } -func (c *current) onDocumentHeader278() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onDocumentFragment79() (interface{}, error) { + + // `=` is level 0, `==` is level 1, etc. + return (len(c.text) - 1), nil + } -func (p *parser) callonDocumentHeader278() (interface{}, error) { +func (p *parser) callonDocumentFragment79() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader278() + return p.cur.onDocumentFragment79() } -func (c *current) onDocumentHeader155(authors interface{}) (interface{}, error) { - return authors, nil +func (c *current) onDocumentFragment82(level interface{}) (bool, error) { + + // use a predicate to make sure that only `=` (level 0) to `======` (level 5) are allowed + return level.(int) <= 5, nil + } -func (p *parser) callonDocumentHeader155() (interface{}, error) { +func (p *parser) callonDocumentFragment82() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader155(stack["authors"]) + return p.cur.onDocumentFragment82(stack["level"]) } -func (c *current) onDocumentHeader293() (interface{}, error) { +func (c *current) onDocumentFragment83(level interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") return string(c.text), nil } -func (p *parser) callonDocumentHeader293() (interface{}, error) { +func (p *parser) callonDocumentFragment83() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader293() + return p.cur.onDocumentFragment83(stack["level"]) } -func (c *current) onDocumentHeader297() (interface{}, error) { +func (c *current) onDocumentFragment87() (interface{}, error) { + // can't have empty title, that may collide with example block delimiter (`====`) + return []interface{}{ + types.RawLine(c.text), + }, nil +} + +func (p *parser) callonDocumentFragment87() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment87() +} + +func (c *current) onDocumentFragment91() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDocumentHeader297() (interface{}, error) { +func (p *parser) callonDocumentFragment91() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader297() + return p.cur.onDocumentFragment91() } -func (c *current) onDocumentHeader287(content interface{}) (interface{}, error) { - return types.NewSingleLineComment(content.(string)) +func (c *current) onDocumentFragment75(level, title interface{}) (interface{}, error) { + return types.NewSection(level.(int), title.([]interface{})) } -func (p *parser) callonDocumentHeader287() (interface{}, error) { +func (p *parser) callonDocumentFragment75() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader287(stack["content"]) + return p.cur.onDocumentFragment75(stack["level"], stack["title"]) } -func (c *current) onDocumentHeader310() (interface{}, error) { +func (c *current) onDocumentFragment104() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentHeader310() (interface{}, error) { +func (p *parser) callonDocumentFragment104() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader310() + return p.cur.onDocumentFragment104() } -func (c *current) onDocumentHeader313() (interface{}, error) { +func (c *current) onDocumentFragment107() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDocumentHeader313() (interface{}, error) { +func (p *parser) callonDocumentFragment107() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader313() + return p.cur.onDocumentFragment107() } -func (c *current) onDocumentHeader306() (interface{}, error) { +func (c *current) onDocumentFragment100() (interface{}, error) { return types.NewBlockDelimiter(types.Comment, string(c.text)) } -func (p *parser) callonDocumentHeader306() (interface{}, error) { +func (p *parser) callonDocumentFragment100() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader306() + return p.cur.onDocumentFragment100() } -func (c *current) onDocumentHeader330() (interface{}, error) { +func (c *current) onDocumentFragment124() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentHeader330() (interface{}, error) { +func (p *parser) callonDocumentFragment124() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader330() + return p.cur.onDocumentFragment124() } -func (c *current) onDocumentHeader333() (interface{}, error) { +func (c *current) onDocumentFragment127() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDocumentHeader333() (interface{}, error) { +func (p *parser) callonDocumentFragment127() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader333() + return p.cur.onDocumentFragment127() } -func (c *current) onDocumentHeader326() (interface{}, error) { +func (c *current) onDocumentFragment120() (interface{}, error) { return types.NewBlockDelimiter(types.Comment, string(c.text)) } -func (p *parser) callonDocumentHeader326() (interface{}, error) { +func (p *parser) callonDocumentFragment120() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader326() + return p.cur.onDocumentFragment120() } -func (c *current) onDocumentHeader349() (interface{}, error) { +func (c *current) onDocumentFragment143() (interface{}, error) { // content is NOT mandatory return string(c.text), nil } -func (p *parser) callonDocumentHeader349() (interface{}, error) { +func (p *parser) callonDocumentFragment143() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader349() + return p.cur.onDocumentFragment143() } -func (c *current) onDocumentHeader353() (interface{}, error) { +func (c *current) onDocumentFragment147() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDocumentHeader353() (interface{}, error) { +func (p *parser) callonDocumentFragment147() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader353() + return p.cur.onDocumentFragment147() } -func (c *current) onDocumentHeader343(content interface{}) (interface{}, error) { +func (c *current) onDocumentFragment137(content interface{}) (interface{}, error) { return types.NewRawLine(content.(string)) } -func (p *parser) callonDocumentHeader343() (interface{}, error) { +func (p *parser) callonDocumentFragment137() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader343(stack["content"]) + return p.cur.onDocumentFragment137(stack["content"]) } -func (c *current) onDocumentHeader322(line interface{}) (interface{}, error) { +func (c *current) onDocumentFragment116(line interface{}) (interface{}, error) { return line, nil } -func (p *parser) callonDocumentHeader322() (interface{}, error) { +func (p *parser) callonDocumentFragment116() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader322(stack["line"]) + return p.cur.onDocumentFragment116(stack["line"]) } -func (c *current) onDocumentHeader366() (interface{}, error) { +func (c *current) onDocumentFragment160() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentHeader366() (interface{}, error) { +func (p *parser) callonDocumentFragment160() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader366() + return p.cur.onDocumentFragment160() } -func (c *current) onDocumentHeader369() (interface{}, error) { +func (c *current) onDocumentFragment163() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDocumentHeader369() (interface{}, error) { +func (p *parser) callonDocumentFragment163() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader369() + return p.cur.onDocumentFragment163() } -func (c *current) onDocumentHeader362() (interface{}, error) { +func (c *current) onDocumentFragment156() (interface{}, error) { return types.NewBlockDelimiter(types.Comment, string(c.text)) } -func (p *parser) callonDocumentHeader362() (interface{}, error) { +func (p *parser) callonDocumentFragment156() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader362() + return p.cur.onDocumentFragment156() } -func (c *current) onDocumentHeader304(content interface{}) (interface{}, error) { +func (c *current) onDocumentFragment98(content interface{}) (interface{}, error) { c.unsetWithinDelimitedBlock() return types.NewDelimitedBlock(types.Comment, content.([]interface{})) } -func (p *parser) callonDocumentHeader304() (interface{}, error) { +func (p *parser) callonDocumentFragment98() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader304(stack["content"]) + return p.cur.onDocumentFragment98(stack["content"]) } -func (c *current) onDocumentHeader383() (interface{}, error) { +func (c *current) onDocumentFragment178() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentHeader383() (interface{}, error) { +func (p *parser) callonDocumentFragment178() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader383() + return p.cur.onDocumentFragment178() } -func (c *current) onDocumentHeader393() (interface{}, error) { +func (c *current) onDocumentFragment181() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDocumentHeader393() (interface{}, error) { +func (p *parser) callonDocumentFragment181() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader393() + return p.cur.onDocumentFragment181() } -func (c *current) onDocumentHeader407() (interface{}, error) { - return string(c.text), nil - +func (c *current) onDocumentFragment174() (interface{}, error) { + return types.NewBlockDelimiter(types.Example, string(c.text)) } -func (p *parser) callonDocumentHeader407() (interface{}, error) { +func (p *parser) callonDocumentFragment174() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader407() + return p.cur.onDocumentFragment174() } -func (c *current) onDocumentHeader399() (interface{}, error) { +func (c *current) onDocumentFragment198() (interface{}, error) { return string(c.text), nil -} - -func (p *parser) callonDocumentHeader399() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentHeader399() -} -func (c *current) onDocumentHeader415() (interface{}, error) { - return string(c.text), nil } -func (p *parser) callonDocumentHeader415() (interface{}, error) { +func (p *parser) callonDocumentFragment198() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader415() + return p.cur.onDocumentFragment198() } -func (c *current) onDocumentHeader422() (interface{}, error) { +func (c *current) onDocumentFragment201() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDocumentHeader422() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentHeader422() -} - -func (c *current) onDocumentHeader389(revnumber, revdate, revremark interface{}) (interface{}, error) { - return types.NewDocumentRevision(revnumber, revdate, revremark) - -} - -func (p *parser) callonDocumentHeader389() (interface{}, error) { +func (p *parser) callonDocumentFragment201() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader389(stack["revnumber"], stack["revdate"], stack["revremark"]) + return p.cur.onDocumentFragment201() } -func (c *current) onDocumentHeader428() (interface{}, error) { - return string(c.text), nil +func (c *current) onDocumentFragment194() (interface{}, error) { + return types.NewBlockDelimiter(types.Example, string(c.text)) } -func (p *parser) callonDocumentHeader428() (interface{}, error) { +func (p *parser) callonDocumentFragment194() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader428() + return p.cur.onDocumentFragment194() } -func (c *current) onDocumentHeader435() (interface{}, error) { +func (c *current) onDocumentFragment217() (interface{}, error) { + // content is NOT mandatory return string(c.text), nil -} - -func (p *parser) callonDocumentHeader435() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentHeader435() -} - -func (c *current) onDocumentHeader425(revdate, revremark interface{}) (interface{}, error) { - return types.NewDocumentRevision(nil, revdate, revremark) } -func (p *parser) callonDocumentHeader425() (interface{}, error) { +func (p *parser) callonDocumentFragment217() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader425(stack["revdate"], stack["revremark"]) + return p.cur.onDocumentFragment217() } -func (c *current) onDocumentHeader439() (interface{}, error) { +func (c *current) onDocumentFragment221() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDocumentHeader439() (interface{}, error) { +func (p *parser) callonDocumentFragment221() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader439() -} - -func (c *current) onDocumentHeader380(revision interface{}) (interface{}, error) { - return revision, nil + return p.cur.onDocumentFragment221() } -func (p *parser) callonDocumentHeader380() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentHeader380(stack["revision"]) -} +func (c *current) onDocumentFragment211(content interface{}) (interface{}, error) { -func (c *current) onDocumentHeader42(authors, revision interface{}) (interface{}, error) { - return types.NewDocumentInformation(authors.(types.DocumentAuthors), revision) + return types.NewRawLine(content.(string)) } -func (p *parser) callonDocumentHeader42() (interface{}, error) { +func (p *parser) callonDocumentFragment211() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader42(stack["authors"], stack["revision"]) + return p.cur.onDocumentFragment211(stack["content"]) } -func (c *current) onDocumentHeader454() (interface{}, error) { - return string(c.text), nil +func (c *current) onDocumentFragment190(line interface{}) (interface{}, error) { + return line, nil } -func (p *parser) callonDocumentHeader454() (interface{}, error) { +func (p *parser) callonDocumentFragment190() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader454() + return p.cur.onDocumentFragment190(stack["line"]) } -func (c *current) onDocumentHeader461() (interface{}, error) { +func (c *current) onDocumentFragment234() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentHeader461() (interface{}, error) { +func (p *parser) callonDocumentFragment234() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader461() + return p.cur.onDocumentFragment234() } -func (c *current) onDocumentHeader464() (interface{}, error) { +func (c *current) onDocumentFragment237() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDocumentHeader464() (interface{}, error) { +func (p *parser) callonDocumentFragment237() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader464() + return p.cur.onDocumentFragment237() } -func (c *current) onDocumentHeader450(name interface{}) (interface{}, error) { - return types.NewAttributeReset(name.(string), string(c.text)) +func (c *current) onDocumentFragment230() (interface{}, error) { + return types.NewBlockDelimiter(types.Example, string(c.text)) } -func (p *parser) callonDocumentHeader450() (interface{}, error) { +func (p *parser) callonDocumentFragment230() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader450(stack["name"]) + return p.cur.onDocumentFragment230() } -func (c *current) onDocumentHeader475() (interface{}, error) { - return string(c.text), nil +func (c *current) onDocumentFragment172(content interface{}) (interface{}, error) { + c.unsetWithinDelimitedBlock() + return types.NewDelimitedBlock(types.Example, content.([]interface{})) } -func (p *parser) callonDocumentHeader475() (interface{}, error) { +func (p *parser) callonDocumentFragment172() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader475() + return p.cur.onDocumentFragment172(stack["content"]) } -func (c *current) onDocumentHeader482() (interface{}, error) { +func (c *current) onDocumentFragment252() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentHeader482() (interface{}, error) { +func (p *parser) callonDocumentFragment252() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader482() + return p.cur.onDocumentFragment252() } -func (c *current) onDocumentHeader485() (interface{}, error) { +func (c *current) onDocumentFragment255() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDocumentHeader485() (interface{}, error) { +func (p *parser) callonDocumentFragment255() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader485() + return p.cur.onDocumentFragment255() } -func (c *current) onDocumentHeader471(name interface{}) (interface{}, error) { - return types.NewAttributeReset(name.(string), string(c.text)) +func (c *current) onDocumentFragment248() (interface{}, error) { + return types.NewBlockDelimiter(types.Fenced, string(c.text)) } -func (p *parser) callonDocumentHeader471() (interface{}, error) { +func (p *parser) callonDocumentFragment248() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader471(stack["name"]) + return p.cur.onDocumentFragment248() } -func (c *current) onDocumentHeader1(title, info, extraAttrs interface{}) (interface{}, error) { - return types.NewDocumentHeader(title.([]interface{}), info, extraAttrs.([]interface{})) +func (c *current) onDocumentFragment272() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDocumentHeader1() (interface{}, error) { +func (p *parser) callonDocumentFragment272() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader1(stack["title"], stack["info"], stack["extraAttrs"]) + return p.cur.onDocumentFragment272() } -func (c *current) onInlineElement9() (interface{}, error) { +func (c *current) onDocumentFragment275() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonInlineElement9() (interface{}, error) { +func (p *parser) callonDocumentFragment275() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement9() + return p.cur.onDocumentFragment275() } -func (c *current) onInlineElement14() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onDocumentFragment268() (interface{}, error) { + return types.NewBlockDelimiter(types.Fenced, string(c.text)) } -func (p *parser) callonInlineElement14() (interface{}, error) { +func (p *parser) callonDocumentFragment268() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement14() + return p.cur.onDocumentFragment268() } -func (c *current) onInlineElement4() (interface{}, error) { - return types.NewStringElement(string(c.text)) +func (c *current) onDocumentFragment291() (interface{}, error) { + // content is NOT mandatory + return string(c.text), nil } -func (p *parser) callonInlineElement4() (interface{}, error) { +func (p *parser) callonDocumentFragment291() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement4() + return p.cur.onDocumentFragment291() } -func (c *current) onInlineElement21() (interface{}, error) { - // log.Debug("matched multiple spaces") +func (c *current) onDocumentFragment295() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonInlineElement21() (interface{}, error) { +func (p *parser) callonDocumentFragment295() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement21() + return p.cur.onDocumentFragment295() } -func (c *current) onInlineElement26() (bool, error) { +func (c *current) onDocumentFragment285(content interface{}) (interface{}, error) { - return c.isPreceededBySpace(), nil + return types.NewRawLine(content.(string)) } -func (p *parser) callonInlineElement26() (bool, error) { +func (p *parser) callonDocumentFragment285() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement26() + return p.cur.onDocumentFragment285(stack["content"]) } -func (c *current) onInlineElement29() (interface{}, error) { - return string(c.text), nil +func (c *current) onDocumentFragment264(line interface{}) (interface{}, error) { + return line, nil } -func (p *parser) callonInlineElement29() (interface{}, error) { +func (p *parser) callonDocumentFragment264() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement29() + return p.cur.onDocumentFragment264(stack["line"]) } -func (c *current) onInlineElement33() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onDocumentFragment308() (interface{}, error) { return string(c.text), nil -} - -func (p *parser) callonInlineElement33() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onInlineElement33() -} - -func (c *current) onInlineElement24() (interface{}, error) { - return types.NewLineBreak() } -func (p *parser) callonInlineElement24() (interface{}, error) { +func (p *parser) callonDocumentFragment308() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement24() + return p.cur.onDocumentFragment308() } -func (c *current) onInlineElement43() (interface{}, error) { +func (c *current) onDocumentFragment311() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonInlineElement43() (interface{}, error) { +func (p *parser) callonDocumentFragment311() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement43() + return p.cur.onDocumentFragment311() } -func (c *current) onInlineElement53() (bool, error) { - return c.isSubstitutionEnabled(SpecialCharacters) - +func (c *current) onDocumentFragment304() (interface{}, error) { + return types.NewBlockDelimiter(types.Fenced, string(c.text)) } -func (p *parser) callonInlineElement53() (bool, error) { +func (p *parser) callonDocumentFragment304() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement53() + return p.cur.onDocumentFragment304() } -func (c *current) onInlineElement62() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ - return string(c.text), nil +func (c *current) onDocumentFragment246(content interface{}) (interface{}, error) { + c.unsetWithinDelimitedBlock() + return types.NewDelimitedBlock(types.Fenced, content.([]interface{})) } -func (p *parser) callonInlineElement62() (interface{}, error) { +func (p *parser) callonDocumentFragment246() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement62() + return p.cur.onDocumentFragment246(stack["content"]) } -func (c *current) onInlineElement66() (interface{}, error) { +func (c *current) onDocumentFragment326() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonInlineElement66() (interface{}, error) { +func (p *parser) callonDocumentFragment326() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement66() + return p.cur.onDocumentFragment326() } -func (c *current) onInlineElement72() (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) onDocumentFragment329() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonInlineElement72() (interface{}, error) { +func (p *parser) callonDocumentFragment329() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement72() + return p.cur.onDocumentFragment329() } -func (c *current) onInlineElement79() (bool, error) { - return c.isSubstitutionEnabled(Attributes) - +func (c *current) onDocumentFragment322() (interface{}, error) { + return types.NewBlockDelimiter(types.Listing, string(c.text)) } -func (p *parser) callonInlineElement79() (bool, error) { +func (p *parser) callonDocumentFragment322() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement79() + return p.cur.onDocumentFragment322() } -func (c *current) onInlineElement86() (interface{}, error) { +func (c *current) onDocumentFragment346() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonInlineElement86() (interface{}, error) { +func (p *parser) callonDocumentFragment346() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement86() + return p.cur.onDocumentFragment346() } -func (c *current) onInlineElement98() (interface{}, error) { +func (c *current) onDocumentFragment349() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonInlineElement98() (interface{}, error) { +func (p *parser) callonDocumentFragment349() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement98() + return p.cur.onDocumentFragment349() } -func (c *current) onInlineElement100() (interface{}, error) { - - return strconv.Atoi(string(c.text)) - +func (c *current) onDocumentFragment342() (interface{}, error) { + return types.NewBlockDelimiter(types.Listing, string(c.text)) } -func (p *parser) callonInlineElement100() (interface{}, error) { +func (p *parser) callonDocumentFragment342() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement100() -} - -func (c *current) onInlineElement93(start interface{}) (interface{}, error) { - return start, nil - + return p.cur.onDocumentFragment342() } -func (p *parser) callonInlineElement93() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onInlineElement93(stack["start"]) -} +func (c *current) onDocumentFragment365() (interface{}, error) { + // content is NOT mandatory + return string(c.text), nil -func (c *current) onInlineElement82(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) } -func (p *parser) callonInlineElement82() (interface{}, error) { +func (p *parser) callonDocumentFragment365() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement82(stack["name"], stack["start"]) + return p.cur.onDocumentFragment365() } -func (c *current) onInlineElement108() (interface{}, error) { +func (c *current) onDocumentFragment369() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonInlineElement108() (interface{}, error) { +func (p *parser) callonDocumentFragment369() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement108() + return p.cur.onDocumentFragment369() } -func (c *current) onInlineElement120() (interface{}, error) { - return string(c.text), nil +func (c *current) onDocumentFragment359(content interface{}) (interface{}, error) { + + return types.NewRawLine(content.(string)) } -func (p *parser) callonInlineElement120() (interface{}, error) { +func (p *parser) callonDocumentFragment359() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement120() + return p.cur.onDocumentFragment359(stack["content"]) } -func (c *current) onInlineElement122() (interface{}, error) { - - return strconv.Atoi(string(c.text)) +func (c *current) onDocumentFragment338(line interface{}) (interface{}, error) { + return line, nil } -func (p *parser) callonInlineElement122() (interface{}, error) { +func (p *parser) callonDocumentFragment338() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement122() + return p.cur.onDocumentFragment338(stack["line"]) } -func (c *current) onInlineElement115(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onDocumentFragment382() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonInlineElement115() (interface{}, error) { +func (p *parser) callonDocumentFragment382() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement115(stack["start"]) + return p.cur.onDocumentFragment382() } -func (c *current) onInlineElement104(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) +func (c *current) onDocumentFragment385() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonInlineElement104() (interface{}, error) { +func (p *parser) callonDocumentFragment385() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement104(stack["name"], stack["start"]) + return p.cur.onDocumentFragment385() } -func (c *current) onInlineElement130() (interface{}, error) { - return string(c.text), nil - +func (c *current) onDocumentFragment378() (interface{}, error) { + return types.NewBlockDelimiter(types.Listing, string(c.text)) } -func (p *parser) callonInlineElement130() (interface{}, error) { +func (p *parser) callonDocumentFragment378() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement130() + return p.cur.onDocumentFragment378() } -func (c *current) onInlineElement126(name interface{}) (interface{}, error) { +func (c *current) onDocumentFragment320(content interface{}) (interface{}, error) { + c.unsetWithinDelimitedBlock() + return types.NewDelimitedBlock(types.Listing, content.([]interface{})) - return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonInlineElement126() (interface{}, error) { +func (p *parser) callonDocumentFragment320() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement126(stack["name"]) + return p.cur.onDocumentFragment320(stack["content"]) } -func (c *current) onInlineElement77(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onDocumentFragment400() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonInlineElement77() (interface{}, error) { +func (p *parser) callonDocumentFragment400() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement77(stack["element"]) + return p.cur.onDocumentFragment400() } -func (c *current) onInlineElement136() (interface{}, error) { - - return types.NewStringElement(string(c.text)) - +func (c *current) onDocumentFragment403() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonInlineElement136() (interface{}, error) { +func (p *parser) callonDocumentFragment403() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement136() + return p.cur.onDocumentFragment403() } -func (c *current) onInlineElement58(id, label interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, label) - +func (c *current) onDocumentFragment396() (interface{}, error) { + return types.NewBlockDelimiter(types.Literal, string(c.text)) } -func (p *parser) callonInlineElement58() (interface{}, error) { +func (p *parser) callonDocumentFragment396() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement58(stack["id"], stack["label"]) + return p.cur.onDocumentFragment396() } -func (c *current) onInlineElement143() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ +func (c *current) onDocumentFragment420() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonInlineElement143() (interface{}, error) { +func (p *parser) callonDocumentFragment420() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement143() + return p.cur.onDocumentFragment420() } -func (c *current) onInlineElement139(id interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, nil) - +func (c *current) onDocumentFragment423() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonInlineElement139() (interface{}, error) { +func (p *parser) callonDocumentFragment423() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement139(stack["id"]) + return p.cur.onDocumentFragment423() } -func (c *current) onInlineElement56() (interface{}, error) { - return types.NewStringElement(string(c.text)) - +func (c *current) onDocumentFragment416() (interface{}, error) { + return types.NewBlockDelimiter(types.Literal, string(c.text)) } -func (p *parser) callonInlineElement56() (interface{}, error) { +func (p *parser) callonDocumentFragment416() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement56() + return p.cur.onDocumentFragment416() } -func (c *current) onInlineElement147() (interface{}, error) { - return types.NewSpecialCharacter(string(c.text)) +func (c *current) onDocumentFragment439() (interface{}, error) { + // content is NOT mandatory + return string(c.text), nil } -func (p *parser) callonInlineElement147() (interface{}, error) { +func (p *parser) callonDocumentFragment439() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement147() + return p.cur.onDocumentFragment439() } -func (c *current) onInlineElement51(element interface{}) (interface{}, error) { - return element, nil - +func (c *current) onDocumentFragment443() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonInlineElement51() (interface{}, error) { +func (p *parser) callonDocumentFragment443() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement51(stack["element"]) + return p.cur.onDocumentFragment443() } -func (c *current) onInlineElement152() (bool, error) { - return c.isSubstitutionEnabled(Attributes) +func (c *current) onDocumentFragment433(content interface{}) (interface{}, error) { + + return types.NewRawLine(content.(string)) } -func (p *parser) callonInlineElement152() (bool, error) { +func (p *parser) callonDocumentFragment433() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement152() + return p.cur.onDocumentFragment433(stack["content"]) } -func (c *current) onInlineElement159() (interface{}, error) { - return string(c.text), nil +func (c *current) onDocumentFragment412(line interface{}) (interface{}, error) { + return line, nil } -func (p *parser) callonInlineElement159() (interface{}, error) { +func (p *parser) callonDocumentFragment412() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement159() + return p.cur.onDocumentFragment412(stack["line"]) } -func (c *current) onInlineElement171() (interface{}, error) { +func (c *current) onDocumentFragment456() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonInlineElement171() (interface{}, error) { +func (p *parser) callonDocumentFragment456() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement171() + return p.cur.onDocumentFragment456() } -func (c *current) onInlineElement173() (interface{}, error) { - - return strconv.Atoi(string(c.text)) - +func (c *current) onDocumentFragment459() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonInlineElement173() (interface{}, error) { +func (p *parser) callonDocumentFragment459() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement173() + return p.cur.onDocumentFragment459() } -func (c *current) onInlineElement166(start interface{}) (interface{}, error) { - return start, nil - +func (c *current) onDocumentFragment452() (interface{}, error) { + return types.NewBlockDelimiter(types.Literal, string(c.text)) } -func (p *parser) callonInlineElement166() (interface{}, error) { +func (p *parser) callonDocumentFragment452() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement166(stack["start"]) + return p.cur.onDocumentFragment452() } -func (c *current) onInlineElement155(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) +func (c *current) onDocumentFragment394(content interface{}) (interface{}, error) { + c.unsetWithinDelimitedBlock() + return types.NewDelimitedBlock(types.Literal, content.([]interface{})) + } -func (p *parser) callonInlineElement155() (interface{}, error) { +func (p *parser) callonDocumentFragment394() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement155(stack["name"], stack["start"]) + return p.cur.onDocumentFragment394(stack["content"]) } -func (c *current) onInlineElement181() (interface{}, error) { +func (c *current) onDocumentFragment480() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonInlineElement181() (interface{}, error) { +func (p *parser) callonDocumentFragment480() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement181() + return p.cur.onDocumentFragment480() } -func (c *current) onInlineElement193() (interface{}, error) { +func (c *current) onDocumentFragment483() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonInlineElement193() (interface{}, error) { +func (p *parser) callonDocumentFragment483() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement193() + return p.cur.onDocumentFragment483() } -func (c *current) onInlineElement195() (interface{}, error) { - - return strconv.Atoi(string(c.text)) +func (c *current) onDocumentFragment474() (interface{}, error) { + return types.NewBlankLine() } -func (p *parser) callonInlineElement195() (interface{}, error) { +func (p *parser) callonDocumentFragment474() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement195() + return p.cur.onDocumentFragment474() } -func (c *current) onInlineElement188(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onDocumentFragment492() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonInlineElement188() (interface{}, error) { +func (p *parser) callonDocumentFragment492() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement188(stack["start"]) + return p.cur.onDocumentFragment492() } -func (c *current) onInlineElement177(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) +func (c *current) onDocumentFragment496() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonInlineElement177() (interface{}, error) { +func (p *parser) callonDocumentFragment496() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement177(stack["name"], stack["start"]) + return p.cur.onDocumentFragment496() } -func (c *current) onInlineElement203() (interface{}, error) { - return string(c.text), nil +func (c *current) onDocumentFragment471(content interface{}) (interface{}, error) { + return types.NewRawLine(content.(string)) } -func (p *parser) callonInlineElement203() (interface{}, error) { +func (p *parser) callonDocumentFragment471() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement203() + return p.cur.onDocumentFragment471(stack["content"]) } -func (c *current) onInlineElement199(name interface{}) (interface{}, error) { +func (c *current) onDocumentFragment515() (interface{}, error) { + return string(c.text), nil - return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonInlineElement199() (interface{}, error) { +func (p *parser) callonDocumentFragment515() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement199(stack["name"]) + return p.cur.onDocumentFragment515() } -func (c *current) onInlineElement150(element interface{}) (interface{}, error) { - return element, nil - +func (c *current) onDocumentFragment518() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonInlineElement150() (interface{}, error) { +func (p *parser) callonDocumentFragment518() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement150(stack["element"]) + return p.cur.onDocumentFragment518() } -func (c *current) onInlineElement210() (interface{}, error) { - return types.NewStringElement("\u2019") +func (c *current) onDocumentFragment509() (interface{}, error) { + return types.NewBlankLine() } -func (p *parser) callonInlineElement210() (interface{}, error) { +func (p *parser) callonDocumentFragment509() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement210() + return p.cur.onDocumentFragment509() } -func (c *current) onInlineElement212() (interface{}, error) { - return types.NewStringElement("\u00a9") +func (c *current) onDocumentFragment527() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonInlineElement212() (interface{}, error) { +func (p *parser) callonDocumentFragment527() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement212() + return p.cur.onDocumentFragment527() } -func (c *current) onInlineElement214() (interface{}, error) { - return types.NewStringElement("\u2122") - +func (c *current) onDocumentFragment531() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonInlineElement214() (interface{}, error) { +func (p *parser) callonDocumentFragment531() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement214() + return p.cur.onDocumentFragment531() } -func (c *current) onInlineElement216() (interface{}, error) { - return types.NewStringElement("\u00ae") +func (c *current) onDocumentFragment506(content interface{}) (interface{}, error) { + return types.NewRawLine(content.(string)) } -func (p *parser) callonInlineElement216() (interface{}, error) { +func (p *parser) callonDocumentFragment506() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement216() + return p.cur.onDocumentFragment506(stack["content"]) } -func (c *current) onInlineElement218() (interface{}, error) { - return types.NewStringElement("\u2026\u200b") +func (c *current) onDocumentFragment541() (interface{}, error) { + return strings.TrimRight(string(c.text), " \t"), nil // trim spaces and tabs } -func (p *parser) callonInlineElement218() (interface{}, error) { +func (p *parser) callonDocumentFragment541() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement218() + return p.cur.onDocumentFragment541() } -func (c *current) onInlineElement220() (interface{}, error) { - return types.NewStringElement(string(c.text[:1]) + "\u2019") +func (c *current) onDocumentFragment544(content interface{}) (bool, error) { + return len(strings.TrimSpace(content.(string))) > 0, nil } -func (p *parser) callonInlineElement220() (interface{}, error) { +func (p *parser) callonDocumentFragment544() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement220() + return p.cur.onDocumentFragment544(stack["content"]) } -func (c *current) onInlineElement230() (interface{}, error) { +func (c *current) onDocumentFragment546() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonInlineElement230() (interface{}, error) { +func (p *parser) callonDocumentFragment546() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement230() + return p.cur.onDocumentFragment546() } -func (c *current) onInlineElement226(ref interface{}) (interface{}, error) { - return types.NewElementPlaceHolder(ref.(string)) +func (c *current) onDocumentFragment538(content interface{}) (interface{}, error) { + return types.NewRawLine(content.(string)) + } -func (p *parser) callonInlineElement226() (interface{}, error) { +func (p *parser) callonDocumentFragment538() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement226(stack["ref"]) + return p.cur.onDocumentFragment538(stack["content"]) } -func (c *current) onInlineElement234() (interface{}, error) { - - return types.NewStringElement(string(c.text)) +func (c *current) onDocumentFragment468(firstLine, otherLines interface{}) (interface{}, error) { + return types.NewDelimitedBlock(types.MarkdownQuote, append([]interface{}{firstLine}, otherLines.([]interface{})...)) } -func (p *parser) callonInlineElement234() (interface{}, error) { +func (p *parser) callonDocumentFragment468() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement234() + return p.cur.onDocumentFragment468(stack["firstLine"], stack["otherLines"]) } -func (c *current) onInlineElement1(element interface{}) (interface{}, error) { - c.trackSpaceSuffix(element) - return element, nil +func (c *current) onDocumentFragment559() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonInlineElement1() (interface{}, error) { +func (p *parser) callonDocumentFragment559() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement1(stack["element"]) + return p.cur.onDocumentFragment559() } -func (c *current) onIndexTerm1(term interface{}) (interface{}, error) { - return types.NewIndexTerm(term.([]interface{})) - +func (c *current) onDocumentFragment562() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonIndexTerm1() (interface{}, error) { +func (p *parser) callonDocumentFragment562() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIndexTerm1(stack["term"]) + return p.cur.onDocumentFragment562() } -func (c *current) onIndexTermContent5() (interface{}, error) { - return types.NewStringElement(string(c.text)) - +func (c *current) onDocumentFragment555() (interface{}, error) { + return types.NewBlockDelimiter(types.Passthrough, string(c.text)) } -func (p *parser) callonIndexTermContent5() (interface{}, error) { +func (p *parser) callonDocumentFragment555() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIndexTermContent5() + return p.cur.onDocumentFragment555() } -func (c *current) onIndexTermContent14() (interface{}, error) { - // allow ` - return types.NewStringElement(string(c.text)) +func (c *current) onDocumentFragment579() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonIndexTermContent14() (interface{}, error) { +func (p *parser) callonDocumentFragment579() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIndexTermContent14() + return p.cur.onDocumentFragment579() } -func (c *current) onIndexTermContent25() (interface{}, error) { +func (c *current) onDocumentFragment582() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonIndexTermContent25() (interface{}, error) { +func (p *parser) callonDocumentFragment582() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIndexTermContent25() + return p.cur.onDocumentFragment582() } -func (c *current) onIndexTermContent29() (bool, error) { - return c.isSubstitutionEnabled(SpecialCharacters) - +func (c *current) onDocumentFragment575() (interface{}, error) { + return types.NewBlockDelimiter(types.Passthrough, string(c.text)) } -func (p *parser) callonIndexTermContent29() (bool, error) { +func (p *parser) callonDocumentFragment575() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIndexTermContent29() + return p.cur.onDocumentFragment575() } -func (c *current) onIndexTermContent38() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ +func (c *current) onDocumentFragment598() (interface{}, error) { + // content is NOT mandatory return string(c.text), nil } -func (p *parser) callonIndexTermContent38() (interface{}, error) { +func (p *parser) callonDocumentFragment598() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIndexTermContent38() + return p.cur.onDocumentFragment598() } -func (c *current) onIndexTermContent42() (interface{}, error) { +func (c *current) onDocumentFragment602() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonIndexTermContent42() (interface{}, error) { +func (p *parser) callonDocumentFragment602() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIndexTermContent42() + return p.cur.onDocumentFragment602() } -func (c *current) onIndexTermContent48() (interface{}, error) { - // `{`, `>` and `>` characters are not allowed as they are used for attribute substitutions and cross-references - return types.NewStringElement(string(c.text)) +func (c *current) onDocumentFragment592(content interface{}) (interface{}, error) { + + return types.NewRawLine(content.(string)) } -func (p *parser) callonIndexTermContent48() (interface{}, error) { +func (p *parser) callonDocumentFragment592() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIndexTermContent48() + return p.cur.onDocumentFragment592(stack["content"]) } -func (c *current) onIndexTermContent55() (bool, error) { - return c.isSubstitutionEnabled(Attributes) +func (c *current) onDocumentFragment571(line interface{}) (interface{}, error) { + return line, nil } -func (p *parser) callonIndexTermContent55() (bool, error) { +func (p *parser) callonDocumentFragment571() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIndexTermContent55() + return p.cur.onDocumentFragment571(stack["line"]) } -func (c *current) onIndexTermContent62() (interface{}, error) { +func (c *current) onDocumentFragment615() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonIndexTermContent62() (interface{}, error) { +func (p *parser) callonDocumentFragment615() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIndexTermContent62() + return p.cur.onDocumentFragment615() } -func (c *current) onIndexTermContent74() (interface{}, error) { +func (c *current) onDocumentFragment618() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonIndexTermContent74() (interface{}, error) { +func (p *parser) callonDocumentFragment618() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIndexTermContent74() + return p.cur.onDocumentFragment618() } -func (c *current) onIndexTermContent76() (interface{}, error) { - - return strconv.Atoi(string(c.text)) - +func (c *current) onDocumentFragment611() (interface{}, error) { + return types.NewBlockDelimiter(types.Passthrough, string(c.text)) } -func (p *parser) callonIndexTermContent76() (interface{}, error) { +func (p *parser) callonDocumentFragment611() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIndexTermContent76() -} - -func (c *current) onIndexTermContent69(start interface{}) (interface{}, error) { - return start, nil - + return p.cur.onDocumentFragment611() } -func (p *parser) callonIndexTermContent69() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onIndexTermContent69(stack["start"]) -} +func (c *current) onDocumentFragment553(content interface{}) (interface{}, error) { + c.unsetWithinDelimitedBlock() + return types.NewDelimitedBlock(types.Passthrough, content.([]interface{})) -func (c *current) onIndexTermContent58(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) } -func (p *parser) callonIndexTermContent58() (interface{}, error) { +func (p *parser) callonDocumentFragment553() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIndexTermContent58(stack["name"], stack["start"]) + return p.cur.onDocumentFragment553(stack["content"]) } -func (c *current) onIndexTermContent84() (interface{}, error) { +func (c *current) onDocumentFragment633() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonIndexTermContent84() (interface{}, error) { +func (p *parser) callonDocumentFragment633() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIndexTermContent84() + return p.cur.onDocumentFragment633() } -func (c *current) onIndexTermContent96() (interface{}, error) { +func (c *current) onDocumentFragment636() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonIndexTermContent96() (interface{}, error) { +func (p *parser) callonDocumentFragment636() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIndexTermContent96() + return p.cur.onDocumentFragment636() } -func (c *current) onIndexTermContent98() (interface{}, error) { - - return strconv.Atoi(string(c.text)) - +func (c *current) onDocumentFragment629() (interface{}, error) { + return types.NewBlockDelimiter(types.Quote, string(c.text)) } -func (p *parser) callonIndexTermContent98() (interface{}, error) { +func (p *parser) callonDocumentFragment629() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIndexTermContent98() + return p.cur.onDocumentFragment629() } -func (c *current) onIndexTermContent91(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onDocumentFragment653() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonIndexTermContent91() (interface{}, error) { +func (p *parser) callonDocumentFragment653() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIndexTermContent91(stack["start"]) + return p.cur.onDocumentFragment653() } -func (c *current) onIndexTermContent80(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) +func (c *current) onDocumentFragment656() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonIndexTermContent80() (interface{}, error) { +func (p *parser) callonDocumentFragment656() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIndexTermContent80(stack["name"], stack["start"]) + return p.cur.onDocumentFragment656() } -func (c *current) onIndexTermContent106() (interface{}, error) { - return string(c.text), nil - +func (c *current) onDocumentFragment649() (interface{}, error) { + return types.NewBlockDelimiter(types.Quote, string(c.text)) } -func (p *parser) callonIndexTermContent106() (interface{}, error) { +func (p *parser) callonDocumentFragment649() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIndexTermContent106() + return p.cur.onDocumentFragment649() } -func (c *current) onIndexTermContent102(name interface{}) (interface{}, error) { +func (c *current) onDocumentFragment672() (interface{}, error) { + // content is NOT mandatory + return string(c.text), nil - return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonIndexTermContent102() (interface{}, error) { +func (p *parser) callonDocumentFragment672() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIndexTermContent102(stack["name"]) + return p.cur.onDocumentFragment672() } -func (c *current) onIndexTermContent53(element interface{}) (interface{}, error) { - return element, nil - +func (c *current) onDocumentFragment676() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonIndexTermContent53() (interface{}, error) { +func (p *parser) callonDocumentFragment676() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIndexTermContent53(stack["element"]) + return p.cur.onDocumentFragment676() } -func (c *current) onIndexTermContent112() (interface{}, error) { +func (c *current) onDocumentFragment666(content interface{}) (interface{}, error) { - return types.NewStringElement(string(c.text)) + return types.NewRawLine(content.(string)) } -func (p *parser) callonIndexTermContent112() (interface{}, error) { +func (p *parser) callonDocumentFragment666() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIndexTermContent112() + return p.cur.onDocumentFragment666(stack["content"]) } -func (c *current) onIndexTermContent34(id, label interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, label) +func (c *current) onDocumentFragment645(line interface{}) (interface{}, error) { + return line, nil } -func (p *parser) callonIndexTermContent34() (interface{}, error) { +func (p *parser) callonDocumentFragment645() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIndexTermContent34(stack["id"], stack["label"]) + return p.cur.onDocumentFragment645(stack["line"]) } -func (c *current) onIndexTermContent119() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ +func (c *current) onDocumentFragment689() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonIndexTermContent119() (interface{}, error) { +func (p *parser) callonDocumentFragment689() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIndexTermContent119() + return p.cur.onDocumentFragment689() } -func (c *current) onIndexTermContent115(id interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, nil) - +func (c *current) onDocumentFragment692() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonIndexTermContent115() (interface{}, error) { +func (p *parser) callonDocumentFragment692() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIndexTermContent115(stack["id"]) + return p.cur.onDocumentFragment692() } -func (c *current) onIndexTermContent32() (interface{}, error) { - return types.NewStringElement(string(c.text)) - +func (c *current) onDocumentFragment685() (interface{}, error) { + return types.NewBlockDelimiter(types.Quote, string(c.text)) } -func (p *parser) callonIndexTermContent32() (interface{}, error) { +func (p *parser) callonDocumentFragment685() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIndexTermContent32() + return p.cur.onDocumentFragment685() } -func (c *current) onIndexTermContent123() (interface{}, error) { - return types.NewSpecialCharacter(string(c.text)) +func (c *current) onDocumentFragment627(content interface{}) (interface{}, error) { + c.unsetWithinDelimitedBlock() + return types.NewDelimitedBlock(types.Quote, content.([]interface{})) } -func (p *parser) callonIndexTermContent123() (interface{}, error) { +func (p *parser) callonDocumentFragment627() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIndexTermContent123() + return p.cur.onDocumentFragment627(stack["content"]) } -func (c *current) onIndexTermContent27(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onDocumentFragment707() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonIndexTermContent27() (interface{}, error) { +func (p *parser) callonDocumentFragment707() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIndexTermContent27(stack["element"]) + return p.cur.onDocumentFragment707() } -func (c *current) onIndexTermContent129() (interface{}, error) { +func (c *current) onDocumentFragment710() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonIndexTermContent129() (interface{}, error) { +func (p *parser) callonDocumentFragment710() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIndexTermContent129() + return p.cur.onDocumentFragment710() } -func (c *current) onIndexTermContent125(ref interface{}) (interface{}, error) { - return types.NewElementPlaceHolder(ref.(string)) +func (c *current) onDocumentFragment703() (interface{}, error) { + return types.NewBlockDelimiter(types.Sidebar, string(c.text)) } -func (p *parser) callonIndexTermContent125() (interface{}, error) { +func (p *parser) callonDocumentFragment703() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIndexTermContent125(stack["ref"]) + return p.cur.onDocumentFragment703() } -func (c *current) onIndexTermContent133() (interface{}, error) { +func (c *current) onDocumentFragment727() (interface{}, error) { return string(c.text), nil -} -func (p *parser) callonIndexTermContent133() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onIndexTermContent133() -} - -func (c *current) onIndexTermContent1(elements interface{}) (interface{}, error) { - return types.NewInlineElements(elements.([]interface{})) } -func (p *parser) callonIndexTermContent1() (interface{}, error) { +func (p *parser) callonDocumentFragment727() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIndexTermContent1(stack["elements"]) + return p.cur.onDocumentFragment727() } -func (c *current) onImageBlock22() (interface{}, error) { - // not supported for now: EOL, space, "{", "[", "]" - return types.NewStringElement(string(c.text)) - +func (c *current) onDocumentFragment730() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonImageBlock22() (interface{}, error) { +func (p *parser) callonDocumentFragment730() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock22() + return p.cur.onDocumentFragment730() } -func (c *current) onImageBlock27() (bool, error) { - return c.isSubstitutionEnabled(Attributes) - +func (c *current) onDocumentFragment723() (interface{}, error) { + return types.NewBlockDelimiter(types.Sidebar, string(c.text)) } -func (p *parser) callonImageBlock27() (bool, error) { +func (p *parser) callonDocumentFragment723() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock27() + return p.cur.onDocumentFragment723() } -func (c *current) onImageBlock34() (interface{}, error) { +func (c *current) onDocumentFragment746() (interface{}, error) { + // content is NOT mandatory return string(c.text), nil } -func (p *parser) callonImageBlock34() (interface{}, error) { +func (p *parser) callonDocumentFragment746() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock34() + return p.cur.onDocumentFragment746() } -func (c *current) onImageBlock46() (interface{}, error) { +func (c *current) onDocumentFragment750() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonImageBlock46() (interface{}, error) { +func (p *parser) callonDocumentFragment750() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock46() + return p.cur.onDocumentFragment750() } -func (c *current) onImageBlock48() (interface{}, error) { +func (c *current) onDocumentFragment740(content interface{}) (interface{}, error) { - return strconv.Atoi(string(c.text)) + return types.NewRawLine(content.(string)) } -func (p *parser) callonImageBlock48() (interface{}, error) { +func (p *parser) callonDocumentFragment740() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock48() + return p.cur.onDocumentFragment740(stack["content"]) } -func (c *current) onImageBlock41(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onDocumentFragment719(line interface{}) (interface{}, error) { + return line, nil } -func (p *parser) callonImageBlock41() (interface{}, error) { +func (p *parser) callonDocumentFragment719() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock41(stack["start"]) + return p.cur.onDocumentFragment719(stack["line"]) } -func (c *current) onImageBlock30(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) +func (c *current) onDocumentFragment763() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonImageBlock30() (interface{}, error) { +func (p *parser) callonDocumentFragment763() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock30(stack["name"], stack["start"]) + return p.cur.onDocumentFragment763() } -func (c *current) onImageBlock56() (interface{}, error) { +func (c *current) onDocumentFragment766() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonImageBlock56() (interface{}, error) { +func (p *parser) callonDocumentFragment766() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock56() + return p.cur.onDocumentFragment766() } -func (c *current) onImageBlock68() (interface{}, error) { - return string(c.text), nil - +func (c *current) onDocumentFragment759() (interface{}, error) { + return types.NewBlockDelimiter(types.Sidebar, string(c.text)) } -func (p *parser) callonImageBlock68() (interface{}, error) { +func (p *parser) callonDocumentFragment759() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock68() + return p.cur.onDocumentFragment759() } -func (c *current) onImageBlock70() (interface{}, error) { - - return strconv.Atoi(string(c.text)) +func (c *current) onDocumentFragment701(content interface{}) (interface{}, error) { + c.unsetWithinDelimitedBlock() + return types.NewDelimitedBlock(types.Sidebar, content.([]interface{})) } -func (p *parser) callonImageBlock70() (interface{}, error) { +func (p *parser) callonDocumentFragment701() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock70() + return p.cur.onDocumentFragment701(stack["content"]) } -func (c *current) onImageBlock63(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onDocumentFragment786() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonImageBlock63() (interface{}, error) { +func (p *parser) callonDocumentFragment786() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock63(stack["start"]) + return p.cur.onDocumentFragment786() } -func (c *current) onImageBlock52(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) +func (c *current) onDocumentFragment789() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonImageBlock52() (interface{}, error) { +func (p *parser) callonDocumentFragment789() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock52(stack["name"], stack["start"]) + return p.cur.onDocumentFragment789() } -func (c *current) onImageBlock78() (interface{}, error) { +func (c *current) onDocumentFragment797() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonImageBlock78() (interface{}, error) { +func (p *parser) callonDocumentFragment797() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock78() + return p.cur.onDocumentFragment797() } -func (c *current) onImageBlock74(name interface{}) (interface{}, error) { +func (c *current) onDocumentFragment775() (interface{}, error) { + + return types.NewThematicBreak() - return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonImageBlock74() (interface{}, error) { +func (p *parser) callonDocumentFragment775() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock74(stack["name"]) + return p.cur.onDocumentFragment775() } -func (c *current) onImageBlock25(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onDocumentFragment809() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonImageBlock25() (interface{}, error) { +func (p *parser) callonDocumentFragment809() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock25(stack["element"]) + return p.cur.onDocumentFragment809() } -func (c *current) onImageBlock86() (bool, error) { - return c.isSubstitutionEnabled(SpecialCharacters) - +func (c *current) onDocumentFragment812() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonImageBlock86() (bool, error) { +func (p *parser) callonDocumentFragment812() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock86() + return p.cur.onDocumentFragment812() } -func (c *current) onImageBlock95() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ +func (c *current) onDocumentFragment829() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonImageBlock95() (interface{}, error) { +func (p *parser) callonDocumentFragment829() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock95() + return p.cur.onDocumentFragment829() } -func (c *current) onImageBlock99() (interface{}, error) { +func (c *current) onDocumentFragment835() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonImageBlock99() (interface{}, error) { +func (p *parser) callonDocumentFragment835() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock99() + return p.cur.onDocumentFragment835() } -func (c *current) onImageBlock105() (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) onDocumentFragment833(content interface{}) (interface{}, error) { + return types.NewRawContent(content.(string)) } -func (p *parser) callonImageBlock105() (interface{}, error) { +func (p *parser) callonDocumentFragment833() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock105() + return p.cur.onDocumentFragment833(stack["content"]) } -func (c *current) onImageBlock112() (bool, error) { - return c.isSubstitutionEnabled(Attributes) +func (c *current) onDocumentFragment825(content interface{}) (interface{}, error) { + return types.NewTableCell(content.(types.RawContent)) } -func (p *parser) callonImageBlock112() (bool, error) { +func (p *parser) callonDocumentFragment825() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock112() + return p.cur.onDocumentFragment825(stack["content"]) } -func (c *current) onImageBlock119() (interface{}, error) { +func (c *current) onDocumentFragment839() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonImageBlock119() (interface{}, error) { +func (p *parser) callonDocumentFragment839() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock119() + return p.cur.onDocumentFragment839() } -func (c *current) onImageBlock131() (interface{}, error) { +func (c *current) onDocumentFragment853() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonImageBlock131() (interface{}, error) { +func (p *parser) callonDocumentFragment853() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock131() + return p.cur.onDocumentFragment853() } -func (c *current) onImageBlock133() (interface{}, error) { - - return strconv.Atoi(string(c.text)) - +func (c *current) onDocumentFragment856() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonImageBlock133() (interface{}, error) { +func (p *parser) callonDocumentFragment856() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock133() -} - -func (c *current) onImageBlock126(start interface{}) (interface{}, error) { - return start, nil - + return p.cur.onDocumentFragment856() } -func (p *parser) callonImageBlock126() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onImageBlock126(stack["start"]) -} +func (c *current) onDocumentFragment847() (interface{}, error) { + return types.NewBlankLine() -func (c *current) onImageBlock115(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) } -func (p *parser) callonImageBlock115() (interface{}, error) { +func (p *parser) callonDocumentFragment847() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock115(stack["name"], stack["start"]) + return p.cur.onDocumentFragment847() } -func (c *current) onImageBlock141() (interface{}, error) { - return string(c.text), nil +func (c *current) onDocumentFragment821(cells interface{}) (interface{}, error) { + return types.NewTableRow(cells.([]interface{})) } -func (p *parser) callonImageBlock141() (interface{}, error) { +func (p *parser) callonDocumentFragment821() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock141() + return p.cur.onDocumentFragment821(stack["cells"]) } -func (c *current) onImageBlock153() (interface{}, error) { +func (c *current) onDocumentFragment873() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonImageBlock153() (interface{}, error) { +func (p *parser) callonDocumentFragment873() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock153() + return p.cur.onDocumentFragment873() } -func (c *current) onImageBlock155() (interface{}, error) { - - return strconv.Atoi(string(c.text)) - +func (c *current) onDocumentFragment876() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonImageBlock155() (interface{}, error) { +func (p *parser) callonDocumentFragment876() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock155() + return p.cur.onDocumentFragment876() } -func (c *current) onImageBlock148(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onDocumentFragment897() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonImageBlock148() (interface{}, error) { +func (p *parser) callonDocumentFragment897() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock148(stack["start"]) + return p.cur.onDocumentFragment897() } -func (c *current) onImageBlock137(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) +func (c *current) onDocumentFragment900() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonImageBlock137() (interface{}, error) { +func (p *parser) callonDocumentFragment900() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock137(stack["name"], stack["start"]) + return p.cur.onDocumentFragment900() } -func (c *current) onImageBlock163() (interface{}, error) { +func (c *current) onDocumentFragment916() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonImageBlock163() (interface{}, error) { +func (p *parser) callonDocumentFragment916() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock163() + return p.cur.onDocumentFragment916() } -func (c *current) onImageBlock159(name interface{}) (interface{}, error) { - - return types.NewAttributeSubstitution(name.(string), string(c.text)) +func (c *current) onDocumentFragment919() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonImageBlock159() (interface{}, error) { +func (p *parser) callonDocumentFragment919() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock159(stack["name"]) + return p.cur.onDocumentFragment919() } -func (c *current) onImageBlock110(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onDocumentFragment910() (interface{}, error) { + return types.NewBlankLine() } -func (p *parser) callonImageBlock110() (interface{}, error) { +func (p *parser) callonDocumentFragment910() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock110(stack["element"]) + return p.cur.onDocumentFragment910() } -func (c *current) onImageBlock169() (interface{}, error) { - - return types.NewStringElement(string(c.text)) +func (c *current) onDocumentFragment928() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonImageBlock169() (interface{}, error) { +func (p *parser) callonDocumentFragment928() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock169() + return p.cur.onDocumentFragment928() } -func (c *current) onImageBlock91(id, label interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, label) +func (c *current) onDocumentFragment934() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonImageBlock91() (interface{}, error) { +func (p *parser) callonDocumentFragment934() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock91(stack["id"], stack["label"]) + return p.cur.onDocumentFragment934() } -func (c *current) onImageBlock176() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ - return string(c.text), nil +func (c *current) onDocumentFragment932(content interface{}) (interface{}, error) { + return types.NewRawContent(content.(string)) } -func (p *parser) callonImageBlock176() (interface{}, error) { +func (p *parser) callonDocumentFragment932() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock176() + return p.cur.onDocumentFragment932(stack["content"]) } -func (c *current) onImageBlock172(id interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, nil) +func (c *current) onDocumentFragment890(content interface{}) (interface{}, error) { + return types.NewTableCell(content.(types.RawContent)) } -func (p *parser) callonImageBlock172() (interface{}, error) { +func (p *parser) callonDocumentFragment890() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock172(stack["id"]) + return p.cur.onDocumentFragment890(stack["content"]) } -func (c *current) onImageBlock89() (interface{}, error) { - return types.NewStringElement(string(c.text)) - +func (c *current) onDocumentFragment938() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonImageBlock89() (interface{}, error) { +func (p *parser) callonDocumentFragment938() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock89() + return p.cur.onDocumentFragment938() } -func (c *current) onImageBlock180() (interface{}, error) { - return types.NewSpecialCharacter(string(c.text)) +func (c *current) onDocumentFragment887(cell interface{}) (interface{}, error) { + return cell, nil } -func (p *parser) callonImageBlock180() (interface{}, error) { +func (p *parser) callonDocumentFragment887() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock180() + return p.cur.onDocumentFragment887(stack["cell"]) } -func (c *current) onImageBlock84(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onDocumentFragment953() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonImageBlock84() (interface{}, error) { +func (p *parser) callonDocumentFragment953() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock84(stack["element"]) + return p.cur.onDocumentFragment953() } -func (c *current) onImageBlock182() (interface{}, error) { - return types.NewStringElement(string(c.text)) - +func (c *current) onDocumentFragment956() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonImageBlock182() (interface{}, error) { +func (p *parser) callonDocumentFragment956() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock182() + return p.cur.onDocumentFragment956() } -func (c *current) onImageBlock18(elements interface{}) (interface{}, error) { - return types.NewInlineElements(elements.([]interface{})) +func (c *current) onDocumentFragment947() (interface{}, error) { + return types.NewBlankLine() } -func (p *parser) callonImageBlock18() (interface{}, error) { +func (p *parser) callonDocumentFragment947() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock18(stack["elements"]) + return p.cur.onDocumentFragment947() } -func (c *current) onImageBlock188() (interface{}, error) { +func (c *current) onDocumentFragment968() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonImageBlock188() (interface{}, error) { +func (p *parser) callonDocumentFragment968() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock188() + return p.cur.onDocumentFragment968() } -func (c *current) onImageBlock184(ref interface{}) (interface{}, error) { - return types.NewElementPlaceHolder(ref.(string)) +func (c *current) onDocumentFragment971() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonImageBlock184() (interface{}, error) { +func (p *parser) callonDocumentFragment971() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock184(stack["ref"]) + return p.cur.onDocumentFragment971() } -func (c *current) onImageBlock5(scheme, path interface{}) (interface{}, error) { - return types.NewLocation(scheme, path.([]interface{})) +func (c *current) onDocumentFragment866(cells interface{}) (interface{}, error) { + return types.NewTableRow(cells.([]interface{})) } -func (p *parser) callonImageBlock5() (interface{}, error) { +func (p *parser) callonDocumentFragment866() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock5(stack["scheme"], stack["path"]) + return p.cur.onDocumentFragment866(stack["cells"]) } -func (c *current) onImageBlock195() (interface{}, error) { +func (c *current) onDocumentFragment987() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonImageBlock195() (interface{}, error) { +func (p *parser) callonDocumentFragment987() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock195() + return p.cur.onDocumentFragment987() } -func (c *current) onImageBlock198() (interface{}, error) { +func (c *current) onDocumentFragment990() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonImageBlock198() (interface{}, error) { +func (p *parser) callonDocumentFragment990() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock198() + return p.cur.onDocumentFragment990() } -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) onDocumentFragment1008() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonImageBlock1() (interface{}, error) { +func (p *parser) callonDocumentFragment1008() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock1(stack["path"], stack["attributes"]) + return p.cur.onDocumentFragment1008() } -func (c *current) onInlineImage24() (interface{}, error) { - // not supported for now: EOL, space, "{", "[", "]" - return types.NewStringElement(string(c.text)) - +func (c *current) onDocumentFragment1011() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonInlineImage24() (interface{}, error) { +func (p *parser) callonDocumentFragment1011() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage24() + return p.cur.onDocumentFragment1011() } -func (c *current) onInlineImage29() (bool, error) { - return c.isSubstitutionEnabled(Attributes) +func (c *current) onDocumentFragment1027() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonInlineImage29() (bool, error) { +func (p *parser) callonDocumentFragment1027() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage29() + return p.cur.onDocumentFragment1027() } -func (c *current) onInlineImage36() (interface{}, error) { +func (c *current) onDocumentFragment1030() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonInlineImage36() (interface{}, error) { +func (p *parser) callonDocumentFragment1030() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage36() + return p.cur.onDocumentFragment1030() } -func (c *current) onInlineImage48() (interface{}, error) { - return string(c.text), nil +func (c *current) onDocumentFragment1021() (interface{}, error) { + return types.NewBlankLine() } -func (p *parser) callonInlineImage48() (interface{}, error) { +func (p *parser) callonDocumentFragment1021() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage48() + return p.cur.onDocumentFragment1021() } -func (c *current) onInlineImage50() (interface{}, error) { - - return strconv.Atoi(string(c.text)) +func (c *current) onDocumentFragment1039() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonInlineImage50() (interface{}, error) { +func (p *parser) callonDocumentFragment1039() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage50() + return p.cur.onDocumentFragment1039() } -func (c *current) onInlineImage43(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onDocumentFragment1045() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonInlineImage43() (interface{}, error) { +func (p *parser) callonDocumentFragment1045() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage43(stack["start"]) + return p.cur.onDocumentFragment1045() } -func (c *current) onInlineImage32(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) +func (c *current) onDocumentFragment1043(content interface{}) (interface{}, error) { + return types.NewRawContent(content.(string)) + } -func (p *parser) callonInlineImage32() (interface{}, error) { +func (p *parser) callonDocumentFragment1043() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage32(stack["name"], stack["start"]) + return p.cur.onDocumentFragment1043(stack["content"]) } -func (c *current) onInlineImage58() (interface{}, error) { - return string(c.text), nil +func (c *current) onDocumentFragment1001(content interface{}) (interface{}, error) { + return types.NewTableCell(content.(types.RawContent)) } -func (p *parser) callonInlineImage58() (interface{}, error) { +func (p *parser) callonDocumentFragment1001() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage58() + return p.cur.onDocumentFragment1001(stack["content"]) } -func (c *current) onInlineImage70() (interface{}, error) { +func (c *current) onDocumentFragment1049() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonInlineImage70() (interface{}, error) { +func (p *parser) callonDocumentFragment1049() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage70() + return p.cur.onDocumentFragment1049() } -func (c *current) onInlineImage72() (interface{}, error) { - - return strconv.Atoi(string(c.text)) +func (c *current) onDocumentFragment1063() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonInlineImage72() (interface{}, error) { +func (p *parser) callonDocumentFragment1063() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage72() + return p.cur.onDocumentFragment1063() } -func (c *current) onInlineImage65(start interface{}) (interface{}, error) { - return start, nil - +func (c *current) onDocumentFragment1066() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonInlineImage65() (interface{}, error) { +func (p *parser) callonDocumentFragment1066() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage65(stack["start"]) + return p.cur.onDocumentFragment1066() } -func (c *current) onInlineImage54(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) +func (c *current) onDocumentFragment1057() (interface{}, error) { + return types.NewBlankLine() + } -func (p *parser) callonInlineImage54() (interface{}, error) { +func (p *parser) callonDocumentFragment1057() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage54(stack["name"], stack["start"]) + return p.cur.onDocumentFragment1057() } -func (c *current) onInlineImage80() (interface{}, error) { - return string(c.text), nil +func (c *current) onDocumentFragment980(cells interface{}) (interface{}, error) { + return types.NewTableRow(cells.([]interface{})) } -func (p *parser) callonInlineImage80() (interface{}, error) { +func (p *parser) callonDocumentFragment980() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage80() + return p.cur.onDocumentFragment980(stack["cells"]) } -func (c *current) onInlineImage76(name interface{}) (interface{}, error) { +func (c *current) onDocumentFragment1077() (interface{}, error) { + return string(c.text), nil - return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonInlineImage76() (interface{}, error) { +func (p *parser) callonDocumentFragment1077() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage76(stack["name"]) + return p.cur.onDocumentFragment1077() } -func (c *current) onInlineImage27(element interface{}) (interface{}, error) { - return element, nil - +func (c *current) onDocumentFragment1080() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonInlineImage27() (interface{}, error) { +func (p *parser) callonDocumentFragment1080() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage27(stack["element"]) + return p.cur.onDocumentFragment1080() } -func (c *current) onInlineImage88() (bool, error) { - return c.isSubstitutionEnabled(SpecialCharacters) +func (c *current) onDocumentFragment805(header, rows interface{}) (interface{}, error) { + return types.NewTable(header, rows.([]interface{})) } -func (p *parser) callonInlineImage88() (bool, error) { +func (p *parser) callonDocumentFragment805() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage88() + return p.cur.onDocumentFragment805(stack["header"], stack["rows"]) } -func (c *current) onInlineImage97() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ +func (c *current) onDocumentFragment1095() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonInlineImage97() (interface{}, error) { +func (p *parser) callonDocumentFragment1095() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage97() + return p.cur.onDocumentFragment1095() } -func (c *current) onInlineImage101() (interface{}, error) { +func (c *current) onDocumentFragment1099() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonInlineImage101() (interface{}, error) { +func (p *parser) callonDocumentFragment1099() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage101() + return p.cur.onDocumentFragment1099() } -func (c *current) onInlineImage107() (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) onDocumentFragment1089(content interface{}) (interface{}, error) { + return types.NewSingleLineComment(content.(string)) } -func (p *parser) callonInlineImage107() (interface{}, error) { +func (p *parser) callonDocumentFragment1089() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage107() + return p.cur.onDocumentFragment1089(stack["content"]) } -func (c *current) onInlineImage114() (bool, error) { - return c.isSubstitutionEnabled(Attributes) - +func (c *current) onDocumentFragment1110() (interface{}, error) { + return types.Tip, nil } -func (p *parser) callonInlineImage114() (bool, error) { +func (p *parser) callonDocumentFragment1110() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage114() + return p.cur.onDocumentFragment1110() } -func (c *current) onInlineImage121() (interface{}, error) { - return string(c.text), nil - +func (c *current) onDocumentFragment1112() (interface{}, error) { + return types.Note, nil } -func (p *parser) callonInlineImage121() (interface{}, error) { +func (p *parser) callonDocumentFragment1112() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage121() + return p.cur.onDocumentFragment1112() } -func (c *current) onInlineImage133() (interface{}, error) { - return string(c.text), nil - +func (c *current) onDocumentFragment1114() (interface{}, error) { + return types.Important, nil } -func (p *parser) callonInlineImage133() (interface{}, error) { +func (p *parser) callonDocumentFragment1114() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage133() + return p.cur.onDocumentFragment1114() } -func (c *current) onInlineImage135() (interface{}, error) { - - return strconv.Atoi(string(c.text)) - +func (c *current) onDocumentFragment1116() (interface{}, error) { + return types.Warning, nil } -func (p *parser) callonInlineImage135() (interface{}, error) { +func (p *parser) callonDocumentFragment1116() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage135() + return p.cur.onDocumentFragment1116() } -func (c *current) onInlineImage128(start interface{}) (interface{}, error) { - return start, nil - +func (c *current) onDocumentFragment1118() (interface{}, error) { + return types.Caution, nil } -func (p *parser) callonInlineImage128() (interface{}, error) { +func (p *parser) callonDocumentFragment1118() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage128(stack["start"]) + return p.cur.onDocumentFragment1118() } -func (c *current) onInlineImage117(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) +func (c *current) onDocumentFragment1125() (interface{}, error) { + return strings.TrimRight(string(c.text), " \t"), nil // trim spaces and tabs + } -func (p *parser) callonInlineImage117() (interface{}, error) { +func (p *parser) callonDocumentFragment1125() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage117(stack["name"], stack["start"]) + return p.cur.onDocumentFragment1125() } -func (c *current) onInlineImage143() (interface{}, error) { - return string(c.text), nil +func (c *current) onDocumentFragment1128(content interface{}) (bool, error) { + return len(strings.TrimSpace(content.(string))) > 0, nil } -func (p *parser) callonInlineImage143() (interface{}, error) { +func (p *parser) callonDocumentFragment1128() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage143() + return p.cur.onDocumentFragment1128(stack["content"]) } -func (c *current) onInlineImage155() (interface{}, error) { +func (c *current) onDocumentFragment1130() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonInlineImage155() (interface{}, error) { +func (p *parser) callonDocumentFragment1130() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage155() + return p.cur.onDocumentFragment1130() } -func (c *current) onInlineImage157() (interface{}, error) { - - return strconv.Atoi(string(c.text)) +func (c *current) onDocumentFragment1122(content interface{}) (interface{}, error) { + return types.NewRawLine(content.(string)) } -func (p *parser) callonInlineImage157() (interface{}, error) { +func (p *parser) callonDocumentFragment1122() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage157() + return p.cur.onDocumentFragment1122(stack["content"]) } -func (c *current) onInlineImage150(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onDocumentFragment1145() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonInlineImage150() (interface{}, error) { +func (p *parser) callonDocumentFragment1145() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage150(stack["start"]) + return p.cur.onDocumentFragment1145() } -func (c *current) onInlineImage139(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) +func (c *current) onDocumentFragment1147() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonInlineImage139() (interface{}, error) { +func (p *parser) callonDocumentFragment1147() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage139(stack["name"], stack["start"]) + return p.cur.onDocumentFragment1147() } -func (c *current) onInlineImage165() (interface{}, error) { +func (c *current) onDocumentFragment1160() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonInlineImage165() (interface{}, error) { +func (p *parser) callonDocumentFragment1160() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage165() + return p.cur.onDocumentFragment1160() } -func (c *current) onInlineImage161(name interface{}) (interface{}, error) { - - return types.NewAttributeSubstitution(name.(string), string(c.text)) +func (c *current) onDocumentFragment1164() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonInlineImage161() (interface{}, error) { +func (p *parser) callonDocumentFragment1164() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage161(stack["name"]) + return p.cur.onDocumentFragment1164() } -func (c *current) onInlineImage112(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onDocumentFragment1154(content interface{}) (interface{}, error) { + return types.NewSingleLineComment(content.(string)) } -func (p *parser) callonInlineImage112() (interface{}, error) { +func (p *parser) callonDocumentFragment1154() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage112(stack["element"]) + return p.cur.onDocumentFragment1154(stack["content"]) } -func (c *current) onInlineImage171() (interface{}, error) { - - return types.NewStringElement(string(c.text)) +func (c *current) onDocumentFragment1174() (interface{}, error) { + return strings.TrimRight(string(c.text), " \t"), nil // trim spaces and tabs } -func (p *parser) callonInlineImage171() (interface{}, error) { +func (p *parser) callonDocumentFragment1174() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage171() + return p.cur.onDocumentFragment1174() } -func (c *current) onInlineImage93(id, label interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, label) +func (c *current) onDocumentFragment1177(content interface{}) (bool, error) { + return len(strings.TrimSpace(content.(string))) > 0, nil } -func (p *parser) callonInlineImage93() (interface{}, error) { +func (p *parser) callonDocumentFragment1177() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage93(stack["id"], stack["label"]) + return p.cur.onDocumentFragment1177(stack["content"]) } -func (c *current) onInlineImage178() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ +func (c *current) onDocumentFragment1179() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonInlineImage178() (interface{}, error) { +func (p *parser) callonDocumentFragment1179() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage178() + return p.cur.onDocumentFragment1179() } -func (c *current) onInlineImage174(id interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, nil) +func (c *current) onDocumentFragment1171(content interface{}) (interface{}, error) { + return types.NewRawLine(content.(string)) } -func (p *parser) callonInlineImage174() (interface{}, error) { +func (p *parser) callonDocumentFragment1171() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage174(stack["id"]) + return p.cur.onDocumentFragment1171(stack["content"]) } -func (c *current) onInlineImage91() (interface{}, error) { - return types.NewStringElement(string(c.text)) +func (c *current) onDocumentFragment1139(line interface{}) (interface{}, error) { + return line, nil } -func (p *parser) callonInlineImage91() (interface{}, error) { +func (p *parser) callonDocumentFragment1139() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage91() + return p.cur.onDocumentFragment1139(stack["line"]) } -func (c *current) onInlineImage182() (interface{}, error) { - return types.NewSpecialCharacter(string(c.text)) +func (c *current) onDocumentFragment1106(kind, firstLine, otherLines interface{}) (interface{}, error) { + + return types.NewAdmonitionParagraph(kind.(string), append([]interface{}{firstLine}, otherLines.([]interface{})...)) } -func (p *parser) callonInlineImage182() (interface{}, error) { +func (p *parser) callonDocumentFragment1106() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage182() + return p.cur.onDocumentFragment1106(stack["kind"], stack["firstLine"], stack["otherLines"]) } -func (c *current) onInlineImage86(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onDocumentFragment1194() (interface{}, error) { + // log.Debug("matched multiple spaces") + return string(c.text), nil } -func (p *parser) callonInlineImage86() (interface{}, error) { +func (p *parser) callonDocumentFragment1194() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage86(stack["element"]) + return p.cur.onDocumentFragment1194() } -func (c *current) onInlineImage184() (interface{}, error) { - return types.NewStringElement(string(c.text)) +func (c *current) onDocumentFragment1192() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonInlineImage184() (interface{}, error) { +func (p *parser) callonDocumentFragment1192() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage184() + return p.cur.onDocumentFragment1192() } -func (c *current) onInlineImage20(elements interface{}) (interface{}, error) { - return types.NewInlineElements(elements.([]interface{})) +func (c *current) onDocumentFragment1199(content interface{}) (bool, error) { + return len(strings.TrimSpace(string(c.text))) > 0, nil } -func (p *parser) callonInlineImage20() (interface{}, error) { +func (p *parser) callonDocumentFragment1199() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage20(stack["elements"]) + return p.cur.onDocumentFragment1199(stack["content"]) } -func (c *current) onInlineImage190() (interface{}, error) { +func (c *current) onDocumentFragment1201() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonInlineImage190() (interface{}, error) { +func (p *parser) callonDocumentFragment1201() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage190() + return p.cur.onDocumentFragment1201() } -func (c *current) onInlineImage186(ref interface{}) (interface{}, error) { - return types.NewElementPlaceHolder(ref.(string)) +func (c *current) onDocumentFragment1189(content interface{}) (interface{}, error) { + return types.NewRawLine(content.(string)) + } -func (p *parser) callonInlineImage186() (interface{}, error) { +func (p *parser) callonDocumentFragment1189() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage186(stack["ref"]) + return p.cur.onDocumentFragment1189(stack["content"]) } -func (c *current) onInlineImage7(scheme, path interface{}) (interface{}, error) { - return types.NewLocation(scheme, path.([]interface{})) +func (c *current) onDocumentFragment1217() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonInlineImage7() (interface{}, error) { +func (p *parser) callonDocumentFragment1217() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage7(stack["scheme"], stack["path"]) + return p.cur.onDocumentFragment1217() } -func (c *current) onInlineImage1(path, attributes interface{}) (interface{}, error) { - return types.NewInlineImage(path.(*types.Location), attributes.(types.Attributes), c.globalStore["imagesdir"]) - +func (c *current) onDocumentFragment1221() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonInlineImage1() (interface{}, error) { +func (p *parser) callonDocumentFragment1221() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage1(stack["path"], stack["attributes"]) + return p.cur.onDocumentFragment1221() } -func (c *current) onInlineIcon5() (interface{}, error) { - return string(c.text), nil +func (c *current) onDocumentFragment1211(content interface{}) (interface{}, error) { + return types.NewSingleLineComment(content.(string)) + } -func (p *parser) callonInlineIcon5() (interface{}, error) { +func (p *parser) callonDocumentFragment1211() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineIcon5() + return p.cur.onDocumentFragment1211(stack["content"]) } -func (c *current) onInlineIcon1(icon, attributes interface{}) (interface{}, error) { - return types.NewIcon(icon.(string), attributes) +func (c *current) onDocumentFragment1231() (interface{}, error) { + return strings.TrimRight(string(c.text), " \t"), nil // trim spaces and tabs } -func (p *parser) callonInlineIcon1() (interface{}, error) { +func (p *parser) callonDocumentFragment1231() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineIcon1(stack["icon"], stack["attributes"]) + return p.cur.onDocumentFragment1231() } -func (c *current) onInlineFootnote2(content interface{}) (interface{}, error) { - return types.NewFootnote("", content) +func (c *current) onDocumentFragment1234(content interface{}) (bool, error) { + return len(strings.TrimSpace(content.(string))) > 0, nil } -func (p *parser) callonInlineFootnote2() (interface{}, error) { +func (p *parser) callonDocumentFragment1234() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineFootnote2(stack["content"]) + return p.cur.onDocumentFragment1234(stack["content"]) } -func (c *current) onInlineFootnote12() (interface{}, error) { +func (c *current) onDocumentFragment1236() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonInlineFootnote12() (interface{}, error) { +func (p *parser) callonDocumentFragment1236() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineFootnote12() + return p.cur.onDocumentFragment1236() } -func (c *current) onInlineFootnote8(ref, content interface{}) (interface{}, error) { - // TODO: use only this rule with `ref:(FootnoteRef)?` - return types.NewFootnote(ref.(string), content) +func (c *current) onDocumentFragment1228(content interface{}) (interface{}, error) { + return types.NewRawLine(content.(string)) } -func (p *parser) callonInlineFootnote8() (interface{}, error) { +func (p *parser) callonDocumentFragment1228() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineFootnote8(stack["ref"], stack["content"]) + return p.cur.onDocumentFragment1228(stack["content"]) } -func (c *current) onFootnoteContent1(elements interface{}) (interface{}, error) { - // footnote content may span multiple lines - return types.NewInlineElements(elements.([]interface{})) +func (c *current) onDocumentFragment1186(firstLine, otherLines interface{}) (interface{}, error) { + + return types.NewLiteralParagraph(types.LiteralBlockWithSpacesOnFirstLine, append([]interface{}{firstLine}, otherLines.([]interface{})...)) } -func (p *parser) callonFootnoteContent1() (interface{}, error) { +func (p *parser) callonDocumentFragment1186() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFootnoteContent1(stack["elements"]) + return p.cur.onDocumentFragment1186(stack["firstLine"], stack["otherLines"]) } -func (c *current) onPassthroughMacro7() (interface{}, error) { - return types.NewStringElement(string(c.text)) +func (c *current) onDocumentFragment1245() (bool, error) { + return c.isFrontMatterAllowed(), nil } -func (p *parser) callonPassthroughMacro7() (interface{}, error) { +func (p *parser) callonDocumentFragment1245() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onPassthroughMacro7() + return p.cur.onDocumentFragment1245() } -func (c *current) onPassthroughMacro2(content interface{}) (interface{}, error) { - return types.NewInlinePassthrough(types.PassthroughMacro, []interface{}{content}) +func (c *current) onDocumentFragment1251() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonPassthroughMacro2() (interface{}, error) { +func (p *parser) callonDocumentFragment1251() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onPassthroughMacro2(stack["content"]) + return p.cur.onDocumentFragment1251() } -func (c *current) onPassthroughMacro17() (interface{}, error) { - return types.NewStringElement(string(c.text)) - +func (c *current) onDocumentFragment1254() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonPassthroughMacro17() (interface{}, error) { +func (p *parser) callonDocumentFragment1254() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onPassthroughMacro17() + return p.cur.onDocumentFragment1254() } -func (c *current) onPassthroughMacro10(content interface{}) (interface{}, error) { - return types.NewInlinePassthrough(types.PassthroughMacro, content.([]interface{})) +func (c *current) onDocumentFragment1271() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonPassthroughMacro10() (interface{}, error) { +func (p *parser) callonDocumentFragment1271() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onPassthroughMacro10(stack["content"]) + return p.cur.onDocumentFragment1271() } -func (c *current) onRelativeLink22() (interface{}, error) { - // not supported for now: EOL, space, "{", "[", "]" - return types.NewStringElement(string(c.text)) - +func (c *current) onDocumentFragment1274() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonRelativeLink22() (interface{}, error) { +func (p *parser) callonDocumentFragment1274() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink22() + return p.cur.onDocumentFragment1274() } -func (c *current) onRelativeLink27() (bool, error) { - return c.isSubstitutionEnabled(Attributes) - +func (c *current) onDocumentFragment1263() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonRelativeLink27() (bool, error) { +func (p *parser) callonDocumentFragment1263() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink27() + return p.cur.onDocumentFragment1263() } -func (c *current) onRelativeLink34() (interface{}, error) { +func (c *current) onDocumentFragment1284() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonRelativeLink34() (interface{}, error) { +func (p *parser) callonDocumentFragment1284() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink34() + return p.cur.onDocumentFragment1284() } -func (c *current) onRelativeLink46() (interface{}, error) { +func (c *current) onDocumentFragment1287() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonRelativeLink46() (interface{}, error) { +func (p *parser) callonDocumentFragment1287() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink46() + return p.cur.onDocumentFragment1287() +} + +func (c *current) onDocumentFragment1247(content interface{}) (interface{}, error) { + return types.NewYamlFrontMatter(content.(string)) } -func (c *current) onRelativeLink48() (interface{}, error) { +func (p *parser) callonDocumentFragment1247() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment1247(stack["content"]) +} - return strconv.Atoi(string(c.text)) +func (c *current) onDocumentFragment1243(frontmatter interface{}) (interface{}, error) { + return frontmatter, nil } -func (p *parser) callonRelativeLink48() (interface{}, error) { +func (p *parser) callonDocumentFragment1243() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink48() + return p.cur.onDocumentFragment1243(stack["frontmatter"]) } -func (c *current) onRelativeLink41(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onDocumentFragment1295(attributes, element interface{}) (bool, error) { + if attributes != nil && element == nil { + // do not return an error, but do not accept such a kind of content (standalone attributes) + return false, fmt.Errorf("standalone attribute") + } + return true, nil } -func (p *parser) callonRelativeLink41() (interface{}, error) { +func (p *parser) callonDocumentFragment1295() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink41(stack["start"]) + return p.cur.onDocumentFragment1295(stack["attributes"], stack["element"]) } -func (c *current) onRelativeLink30(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) +func (c *current) onDocumentFragment1(attributes, element interface{}) (interface{}, error) { + c.disableFrontMatterRule() // not allowed as soon as a single element is found + c.disableDocumentHeaderRule(element) // not allowed anymore, based on element that was found + + if element, ok := element.(types.WithAttributes); ok && attributes != nil { + element.AddAttributes(attributes.(types.Attributes)) + } + return element, nil + } -func (p *parser) callonRelativeLink30() (interface{}, error) { +func (p *parser) callonDocumentFragment1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink30(stack["name"], stack["start"]) + return p.cur.onDocumentFragment1(stack["attributes"], stack["element"]) } -func (c *current) onRelativeLink56() (interface{}, error) { +func (c *current) onDelimitedBlockElements10() (interface{}, error) { return string(c.text), nil - } -func (p *parser) callonRelativeLink56() (interface{}, error) { +func (p *parser) callonDelimitedBlockElements10() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink56() + return p.cur.onDelimitedBlockElements10() } -func (c *current) onRelativeLink68() (interface{}, error) { - return string(c.text), nil - +func (c *current) onDelimitedBlockElements6(ref interface{}) (interface{}, error) { + return types.NewElementPlaceHolder(ref.(string)) } -func (p *parser) callonRelativeLink68() (interface{}, error) { +func (p *parser) callonDelimitedBlockElements6() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink68() + return p.cur.onDelimitedBlockElements6(stack["ref"]) } -func (c *current) onRelativeLink70() (interface{}, error) { - - return strconv.Atoi(string(c.text)) +func (c *current) onDelimitedBlockElements1(elements interface{}) (interface{}, error) { + return elements, nil } -func (p *parser) callonRelativeLink70() (interface{}, error) { +func (p *parser) callonDelimitedBlockElements1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink70() + return p.cur.onDelimitedBlockElements1(stack["elements"]) } -func (c *current) onRelativeLink63(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onAttributeDeclaration5() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonRelativeLink63() (interface{}, error) { +func (p *parser) callonAttributeDeclaration5() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink63(stack["start"]) + return p.cur.onAttributeDeclaration5() } -func (c *current) onRelativeLink52(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) +func (c *current) onAttributeDeclaration15() (interface{}, error) { + // log.Debug("matched multiple spaces") + return string(c.text), nil + } -func (p *parser) callonRelativeLink52() (interface{}, error) { +func (p *parser) callonAttributeDeclaration15() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink52(stack["name"], stack["start"]) + return p.cur.onAttributeDeclaration15() } -func (c *current) onRelativeLink78() (interface{}, error) { - return string(c.text), nil +func (c *current) onAttributeDeclaration13(value interface{}) (interface{}, error) { + return value, nil } -func (p *parser) callonRelativeLink78() (interface{}, error) { +func (p *parser) callonAttributeDeclaration13() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink78() + return p.cur.onAttributeDeclaration13(stack["value"]) } -func (c *current) onRelativeLink74(name interface{}) (interface{}, error) { - - return types.NewAttributeSubstitution(name.(string), string(c.text)) +func (c *current) onAttributeDeclaration21() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonRelativeLink74() (interface{}, error) { +func (p *parser) callonAttributeDeclaration21() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink74(stack["name"]) + return p.cur.onAttributeDeclaration21() } -func (c *current) onRelativeLink25(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onAttributeDeclaration1(name, value interface{}) (interface{}, error) { + return types.NewAttributeDeclaration(name.(string), types.Reduce(value, strings.TrimSpace), string(c.text)) } -func (p *parser) callonRelativeLink25() (interface{}, error) { +func (p *parser) callonAttributeDeclaration1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink25(stack["element"]) + return p.cur.onAttributeDeclaration1(stack["name"], stack["value"]) } -func (c *current) onRelativeLink86() (bool, error) { - return c.isSubstitutionEnabled(SpecialCharacters) +func (c *current) onAttributeDeclarationValue14() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonRelativeLink86() (bool, error) { +func (p *parser) callonAttributeDeclarationValue14() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink86() + return p.cur.onAttributeDeclarationValue14() } -func (c *current) onRelativeLink95() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ +func (c *current) onAttributeDeclarationValue17() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonRelativeLink95() (interface{}, error) { +func (p *parser) callonAttributeDeclarationValue17() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink95() + return p.cur.onAttributeDeclarationValue17() } -func (c *current) onRelativeLink99() (interface{}, error) { - return string(c.text), nil +func (c *current) onAttributeDeclarationValue26() (interface{}, error) { + return types.NewStringElement(string(c.text)) } -func (p *parser) callonRelativeLink99() (interface{}, error) { +func (p *parser) callonAttributeDeclarationValue26() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink99() + return p.cur.onAttributeDeclarationValue26() } -func (c *current) onRelativeLink105() (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) onAttributeDeclarationValue29() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonRelativeLink105() (interface{}, error) { +func (p *parser) callonAttributeDeclarationValue29() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink105() + return p.cur.onAttributeDeclarationValue29() } -func (c *current) onRelativeLink112() (bool, error) { - return c.isSubstitutionEnabled(Attributes) +func (c *current) onAttributeDeclarationValue33() (bool, error) { + return c.isSubstitutionEnabled(Attributes), nil } -func (p *parser) callonRelativeLink112() (bool, error) { +func (p *parser) callonAttributeDeclarationValue33() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink112() + return p.cur.onAttributeDeclarationValue33() } -func (c *current) onRelativeLink119() (interface{}, error) { +func (c *current) onAttributeDeclarationValue40() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonRelativeLink119() (interface{}, error) { +func (p *parser) callonAttributeDeclarationValue40() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink119() + return p.cur.onAttributeDeclarationValue40() } -func (c *current) onRelativeLink131() (interface{}, error) { +func (c *current) onAttributeDeclarationValue52() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonRelativeLink131() (interface{}, error) { +func (p *parser) callonAttributeDeclarationValue52() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink131() + return p.cur.onAttributeDeclarationValue52() } -func (c *current) onRelativeLink133() (interface{}, error) { +func (c *current) onAttributeDeclarationValue54() (interface{}, error) { return strconv.Atoi(string(c.text)) } -func (p *parser) callonRelativeLink133() (interface{}, error) { +func (p *parser) callonAttributeDeclarationValue54() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink133() + return p.cur.onAttributeDeclarationValue54() } -func (c *current) onRelativeLink126(start interface{}) (interface{}, error) { +func (c *current) onAttributeDeclarationValue47(start interface{}) (interface{}, error) { return start, nil } -func (p *parser) callonRelativeLink126() (interface{}, error) { +func (p *parser) callonAttributeDeclarationValue47() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink126(stack["start"]) + return p.cur.onAttributeDeclarationValue47(stack["start"]) } -func (c *current) onRelativeLink115(name, start interface{}) (interface{}, error) { +func (c *current) onAttributeDeclarationValue36(name, start interface{}) (interface{}, error) { return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) } -func (p *parser) callonRelativeLink115() (interface{}, error) { +func (p *parser) callonAttributeDeclarationValue36() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink115(stack["name"], stack["start"]) + return p.cur.onAttributeDeclarationValue36(stack["name"], stack["start"]) } -func (c *current) onRelativeLink141() (interface{}, error) { +func (c *current) onAttributeDeclarationValue62() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonRelativeLink141() (interface{}, error) { +func (p *parser) callonAttributeDeclarationValue62() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink141() + return p.cur.onAttributeDeclarationValue62() } -func (c *current) onRelativeLink153() (interface{}, error) { +func (c *current) onAttributeDeclarationValue74() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonRelativeLink153() (interface{}, error) { +func (p *parser) callonAttributeDeclarationValue74() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink153() + return p.cur.onAttributeDeclarationValue74() } -func (c *current) onRelativeLink155() (interface{}, error) { +func (c *current) onAttributeDeclarationValue76() (interface{}, error) { return strconv.Atoi(string(c.text)) } -func (p *parser) callonRelativeLink155() (interface{}, error) { +func (p *parser) callonAttributeDeclarationValue76() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink155() + return p.cur.onAttributeDeclarationValue76() } -func (c *current) onRelativeLink148(start interface{}) (interface{}, error) { +func (c *current) onAttributeDeclarationValue69(start interface{}) (interface{}, error) { return start, nil } -func (p *parser) callonRelativeLink148() (interface{}, error) { +func (p *parser) callonAttributeDeclarationValue69() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink148(stack["start"]) + return p.cur.onAttributeDeclarationValue69(stack["start"]) } -func (c *current) onRelativeLink137(name, start interface{}) (interface{}, error) { +func (c *current) onAttributeDeclarationValue58(name, start interface{}) (interface{}, error) { return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) } -func (p *parser) callonRelativeLink137() (interface{}, error) { +func (p *parser) callonAttributeDeclarationValue58() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink137(stack["name"], stack["start"]) + return p.cur.onAttributeDeclarationValue58(stack["name"], stack["start"]) } -func (c *current) onRelativeLink163() (interface{}, error) { +func (c *current) onAttributeDeclarationValue84() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonRelativeLink163() (interface{}, error) { +func (p *parser) callonAttributeDeclarationValue84() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink163() + return p.cur.onAttributeDeclarationValue84() } -func (c *current) onRelativeLink159(name interface{}) (interface{}, error) { +func (c *current) onAttributeDeclarationValue80(name interface{}) (interface{}, error) { return types.NewAttributeSubstitution(name.(string), string(c.text)) + } -func (p *parser) callonRelativeLink159() (interface{}, error) { +func (p *parser) callonAttributeDeclarationValue80() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink159(stack["name"]) + return p.cur.onAttributeDeclarationValue80(stack["name"]) } -func (c *current) onRelativeLink110(element interface{}) (interface{}, error) { +func (c *current) onAttributeDeclarationValue31(element interface{}) (interface{}, error) { return element, nil } -func (p *parser) callonRelativeLink110() (interface{}, error) { +func (p *parser) callonAttributeDeclarationValue31() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink110(stack["element"]) + return p.cur.onAttributeDeclarationValue31(stack["element"]) } -func (c *current) onRelativeLink169() (interface{}, error) { - +func (c *current) onAttributeDeclarationValue90() (interface{}, error) { + // standalone '{' return types.NewStringElement(string(c.text)) } -func (p *parser) callonRelativeLink169() (interface{}, error) { +func (p *parser) callonAttributeDeclarationValue90() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink169() + return p.cur.onAttributeDeclarationValue90() } -func (c *current) onRelativeLink91(id, label interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, label) +func (c *current) onAttributeDeclarationValue7(element interface{}) (interface{}, error) { + + return element, nil } -func (p *parser) callonRelativeLink91() (interface{}, error) { +func (p *parser) callonAttributeDeclarationValue7() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink91(stack["id"], stack["label"]) + return p.cur.onAttributeDeclarationValue7(stack["element"]) } -func (c *current) onRelativeLink176() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ - return string(c.text), nil +func (c *current) onAttributeDeclarationValue4(elements interface{}) (interface{}, error) { + return elements.([]interface{}), nil } -func (p *parser) callonRelativeLink176() (interface{}, error) { +func (p *parser) callonAttributeDeclarationValue4() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink176() + return p.cur.onAttributeDeclarationValue4(stack["elements"]) } -func (c *current) onRelativeLink172(id interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, nil) - +func (c *current) onAttributeDeclarationValue97() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonRelativeLink172() (interface{}, error) { +func (p *parser) callonAttributeDeclarationValue97() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink172(stack["id"]) + return p.cur.onAttributeDeclarationValue97() } -func (c *current) onRelativeLink89() (interface{}, error) { - return types.NewStringElement(string(c.text)) +func (c *current) onAttributeDeclarationValue103() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonRelativeLink89() (interface{}, error) { +func (p *parser) callonAttributeDeclarationValue103() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink89() + return p.cur.onAttributeDeclarationValue103() } -func (c *current) onRelativeLink180() (interface{}, error) { - return types.NewSpecialCharacter(string(c.text)) +func (c *current) onAttributeDeclarationValue94(elements interface{}) (interface{}, error) { + return elements, nil } -func (p *parser) callonRelativeLink180() (interface{}, error) { +func (p *parser) callonAttributeDeclarationValue94() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink180() + return p.cur.onAttributeDeclarationValue94(stack["elements"]) } -func (c *current) onRelativeLink84(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onAttributeDeclarationValue1(elements, otherElements interface{}) (interface{}, error) { + if otherElements, ok := otherElements.([]interface{}); ok { + return types.Reduce(append(elements.([]interface{}), otherElements...), strings.TrimSpace), nil + } + return types.Reduce(elements.([]interface{}), strings.TrimSpace), nil } -func (p *parser) callonRelativeLink84() (interface{}, error) { +func (p *parser) callonAttributeDeclarationValue1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink84(stack["element"]) + return p.cur.onAttributeDeclarationValue1(stack["elements"], stack["otherElements"]) } -func (c *current) onRelativeLink182() (interface{}, error) { +func (c *current) onBlockAttributes16() (interface{}, error) { + // spaces, commas and dots are allowed in this syntax return types.NewStringElement(string(c.text)) } -func (p *parser) callonRelativeLink182() (interface{}, error) { +func (p *parser) callonBlockAttributes16() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink182() + return p.cur.onBlockAttributes16() } -func (c *current) onRelativeLink18(elements interface{}) (interface{}, error) { - return types.NewInlineElements(elements.([]interface{})) - +func (c *current) onBlockAttributes23() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonRelativeLink18() (interface{}, error) { +func (p *parser) callonBlockAttributes23() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink18(stack["elements"]) + return p.cur.onBlockAttributes23() } -func (c *current) onRelativeLink188() (interface{}, error) { - return string(c.text), nil +func (c *current) onBlockAttributes19(ref interface{}) (interface{}, error) { + return types.NewElementPlaceHolder(ref.(string)) } -func (p *parser) callonRelativeLink188() (interface{}, error) { +func (p *parser) callonBlockAttributes19() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink188() + return p.cur.onBlockAttributes19(stack["ref"]) } -func (c *current) onRelativeLink184(ref interface{}) (interface{}, error) { - return types.NewElementPlaceHolder(ref.(string)) +func (c *current) onBlockAttributes29() (bool, error) { + return c.isSubstitutionEnabled(Attributes), nil + } -func (p *parser) callonRelativeLink184() (interface{}, error) { +func (p *parser) callonBlockAttributes29() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink184(stack["ref"]) + return p.cur.onBlockAttributes29() } -func (c *current) onRelativeLink5(scheme, path interface{}) (interface{}, error) { - return types.NewLocation(scheme, path.([]interface{})) +func (c *current) onBlockAttributes36() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonRelativeLink5() (interface{}, error) { +func (p *parser) callonBlockAttributes36() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink5(stack["scheme"], stack["path"]) + return p.cur.onBlockAttributes36() } -func (c *current) onRelativeLink1(url, attributes interface{}) (interface{}, error) { - return types.NewInlineLink(url.(*types.Location), attributes.(types.Attributes)) +func (c *current) onBlockAttributes48() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonRelativeLink1() (interface{}, error) { +func (p *parser) callonBlockAttributes48() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink1(stack["url"], stack["attributes"]) + return p.cur.onBlockAttributes48() } -func (c *current) onExternalLink22() (interface{}, error) { - // not supported for now: EOL, space, "{", "[", "]" - return types.NewStringElement(string(c.text)) +func (c *current) onBlockAttributes50() (interface{}, error) { + + return strconv.Atoi(string(c.text)) } -func (p *parser) callonExternalLink22() (interface{}, error) { +func (p *parser) callonBlockAttributes50() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink22() + return p.cur.onBlockAttributes50() } -func (c *current) onExternalLink27() (bool, error) { - return c.isSubstitutionEnabled(Attributes) +func (c *current) onBlockAttributes43(start interface{}) (interface{}, error) { + return start, nil } -func (p *parser) callonExternalLink27() (bool, error) { +func (p *parser) callonBlockAttributes43() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink27() + return p.cur.onBlockAttributes43(stack["start"]) } -func (c *current) onExternalLink34() (interface{}, error) { +func (c *current) onBlockAttributes32(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) +} + +func (p *parser) callonBlockAttributes32() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onBlockAttributes32(stack["name"], stack["start"]) +} + +func (c *current) onBlockAttributes58() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExternalLink34() (interface{}, error) { +func (p *parser) callonBlockAttributes58() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink34() + return p.cur.onBlockAttributes58() } -func (c *current) onExternalLink46() (interface{}, error) { +func (c *current) onBlockAttributes70() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExternalLink46() (interface{}, error) { +func (p *parser) callonBlockAttributes70() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink46() + return p.cur.onBlockAttributes70() } -func (c *current) onExternalLink48() (interface{}, error) { +func (c *current) onBlockAttributes72() (interface{}, error) { return strconv.Atoi(string(c.text)) } -func (p *parser) callonExternalLink48() (interface{}, error) { +func (p *parser) callonBlockAttributes72() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink48() + return p.cur.onBlockAttributes72() } -func (c *current) onExternalLink41(start interface{}) (interface{}, error) { +func (c *current) onBlockAttributes65(start interface{}) (interface{}, error) { return start, nil } -func (p *parser) callonExternalLink41() (interface{}, error) { +func (p *parser) callonBlockAttributes65() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink41(stack["start"]) + return p.cur.onBlockAttributes65(stack["start"]) } -func (c *current) onExternalLink30(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) +func (c *current) onBlockAttributes54(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) } -func (p *parser) callonExternalLink30() (interface{}, error) { +func (p *parser) callonBlockAttributes54() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink30(stack["name"], stack["start"]) + return p.cur.onBlockAttributes54(stack["name"], stack["start"]) } -func (c *current) onExternalLink56() (interface{}, error) { +func (c *current) onBlockAttributes80() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExternalLink56() (interface{}, error) { +func (p *parser) callonBlockAttributes80() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink56() + return p.cur.onBlockAttributes80() } -func (c *current) onExternalLink68() (interface{}, error) { - return string(c.text), nil +func (c *current) onBlockAttributes76(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonExternalLink68() (interface{}, error) { +func (p *parser) callonBlockAttributes76() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink68() + return p.cur.onBlockAttributes76(stack["name"]) } -func (c *current) onExternalLink70() (interface{}, error) { - - return strconv.Atoi(string(c.text)) +func (c *current) onBlockAttributes27(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonExternalLink70() (interface{}, error) { +func (p *parser) callonBlockAttributes27() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink70() + return p.cur.onBlockAttributes27(stack["element"]) } -func (c *current) onExternalLink63(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onBlockAttributes86() (interface{}, error) { + + return types.NewStringElement(string(c.text)) } -func (p *parser) callonExternalLink63() (interface{}, error) { +func (p *parser) callonBlockAttributes86() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink63(stack["start"]) + return p.cur.onBlockAttributes86() } -func (c *current) onExternalLink52(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) +func (c *current) onBlockAttributes12(elements interface{}) (interface{}, error) { + return types.Reduce(elements, strings.TrimSpace), nil + } -func (p *parser) callonExternalLink52() (interface{}, error) { +func (p *parser) callonBlockAttributes12() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink52(stack["name"], stack["start"]) + return p.cur.onBlockAttributes12(stack["elements"]) } -func (c *current) onExternalLink78() (interface{}, error) { - return string(c.text), nil +func (c *current) onBlockAttributes8(id interface{}) (interface{}, error) { + return types.NewIDAttribute(id) } -func (p *parser) callonExternalLink78() (interface{}, error) { +func (p *parser) callonBlockAttributes8() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink78() + return p.cur.onBlockAttributes8(stack["id"]) } -func (c *current) onExternalLink74(name interface{}) (interface{}, error) { +func (c *current) onBlockAttributes90() (interface{}, error) { + return string(c.text), nil - return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonExternalLink74() (interface{}, error) { +func (p *parser) callonBlockAttributes90() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink74(stack["name"]) + return p.cur.onBlockAttributes90() } -func (c *current) onExternalLink25(element interface{}) (interface{}, error) { - return element, nil - +func (c *current) onBlockAttributes93() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonExternalLink25() (interface{}, error) { +func (p *parser) callonBlockAttributes93() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink25(stack["element"]) + return p.cur.onBlockAttributes93() } -func (c *current) onExternalLink86() (bool, error) { - return c.isSubstitutionEnabled(SpecialCharacters) +func (c *current) onBlockAttributes5(anchor interface{}) (interface{}, error) { + return anchor, nil } -func (p *parser) callonExternalLink86() (bool, error) { +func (p *parser) callonBlockAttributes5() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink86() + return p.cur.onBlockAttributes5(stack["anchor"]) } -func (c *current) onExternalLink95() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ +func (c *current) onBlockAttributes114() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExternalLink95() (interface{}, error) { +func (p *parser) callonBlockAttributes114() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink95() + return p.cur.onBlockAttributes114() } -func (c *current) onExternalLink99() (interface{}, error) { +func (c *current) onBlockAttributes121() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExternalLink99() (interface{}, error) { +func (p *parser) callonBlockAttributes121() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink99() + return p.cur.onBlockAttributes121() } -func (c *current) onExternalLink105() (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) onBlockAttributes117(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonExternalLink105() (interface{}, error) { +func (p *parser) callonBlockAttributes117() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink105() + return p.cur.onBlockAttributes117(stack["name"]) } -func (c *current) onExternalLink112() (bool, error) { - return c.isSubstitutionEnabled(Attributes) +func (c *current) onBlockAttributes127() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonExternalLink112() (bool, error) { +func (p *parser) callonBlockAttributes127() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink112() + return p.cur.onBlockAttributes127() } -func (c *current) onExternalLink119() (interface{}, error) { - return string(c.text), nil +func (c *current) onBlockAttributes107(elements interface{}) (interface{}, error) { + return types.Reduce(elements, strings.TrimSpace), nil } -func (p *parser) callonExternalLink119() (interface{}, error) { +func (p *parser) callonBlockAttributes107() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink119() + return p.cur.onBlockAttributes107(stack["elements"]) } -func (c *current) onExternalLink131() (interface{}, error) { - return string(c.text), nil +func (c *current) onBlockAttributes103(title interface{}) (interface{}, error) { + return types.NewTitleAttribute(title) } -func (p *parser) callonExternalLink131() (interface{}, error) { +func (p *parser) callonBlockAttributes103() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink131() + return p.cur.onBlockAttributes103(stack["title"]) } -func (c *current) onExternalLink133() (interface{}, error) { - - return strconv.Atoi(string(c.text)) +func (c *current) onBlockAttributes130() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonExternalLink133() (interface{}, error) { +func (p *parser) callonBlockAttributes130() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink133() + return p.cur.onBlockAttributes130() } -func (c *current) onExternalLink126(start interface{}) (interface{}, error) { - return start, nil - +func (c *current) onBlockAttributes133() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonExternalLink126() (interface{}, error) { +func (p *parser) callonBlockAttributes133() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink126(stack["start"]) + return p.cur.onBlockAttributes133() } -func (c *current) onExternalLink115(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) +func (c *current) onBlockAttributes100(title interface{}) (interface{}, error) { + return title, nil + } -func (p *parser) callonExternalLink115() (interface{}, error) { +func (p *parser) callonBlockAttributes100() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink115(stack["name"], stack["start"]) + return p.cur.onBlockAttributes100(stack["title"]) } -func (c *current) onExternalLink141() (interface{}, error) { +func (c *current) onBlockAttributes145() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExternalLink141() (interface{}, error) { +func (p *parser) callonBlockAttributes145() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink141() + return p.cur.onBlockAttributes145() } -func (c *current) onExternalLink153() (interface{}, error) { +func (c *current) onBlockAttributes148() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonExternalLink153() (interface{}, error) { +func (p *parser) callonBlockAttributes148() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink153() + return p.cur.onBlockAttributes148() } -func (c *current) onExternalLink155() (interface{}, error) { - - return strconv.Atoi(string(c.text)) +func (c *current) onBlockAttributes140(attributes interface{}) (interface{}, error) { + return attributes, nil } -func (p *parser) callonExternalLink155() (interface{}, error) { +func (p *parser) callonBlockAttributes140() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink155() + return p.cur.onBlockAttributes140(stack["attributes"]) } -func (c *current) onExternalLink148(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onBlockAttributes1(attributes interface{}) (interface{}, error) { + // c.unsetCurrentSubstitution() + return types.MergeAttributes(attributes.([]interface{})...) } -func (p *parser) callonExternalLink148() (interface{}, error) { +func (p *parser) callonBlockAttributes1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink148(stack["start"]) + return p.cur.onBlockAttributes1(stack["attributes"]) } -func (c *current) onExternalLink137(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) +func (c *current) onInlineAttributes6(attribute interface{}) (interface{}, error) { + return attribute, nil + } -func (p *parser) callonExternalLink137() (interface{}, error) { +func (p *parser) callonInlineAttributes6() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink137(stack["name"], stack["start"]) + return p.cur.onInlineAttributes6(stack["attribute"]) } -func (c *current) onExternalLink163() (interface{}, error) { - return string(c.text), nil +func (c *current) onInlineAttributes1(attributes interface{}) (interface{}, error) { + return types.NewAttributes(attributes.([]interface{})...) } -func (p *parser) callonExternalLink163() (interface{}, error) { +func (p *parser) callonInlineAttributes1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink163() + return p.cur.onInlineAttributes1(stack["attributes"]) } -func (c *current) onExternalLink159(name interface{}) (interface{}, error) { +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...) - return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonExternalLink159() (interface{}, error) { +func (p *parser) callonLongHandAttributes1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink159(stack["name"]) + return p.cur.onLongHandAttributes1(stack["firstPositionalAttributes"], stack["otherAttributes"]) } -func (c *current) onExternalLink110(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onFirstPositionalAttributes8(extra interface{}) (interface{}, error) { + return extra, nil } -func (p *parser) callonExternalLink110() (interface{}, error) { +func (p *parser) callonFirstPositionalAttributes8() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink110(stack["element"]) + return p.cur.onFirstPositionalAttributes8(stack["extra"]) } -func (c *current) onExternalLink169() (interface{}, error) { - - return types.NewStringElement(string(c.text)) +func (c *current) onFirstPositionalAttributes23() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonExternalLink169() (interface{}, error) { +func (p *parser) callonFirstPositionalAttributes23() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink169() + return p.cur.onFirstPositionalAttributes23() } -func (c *current) onExternalLink91(id, label interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, label) +func (c *current) onFirstPositionalAttributes25(main, extras interface{}) (bool, error) { + // make sure there was a match + return main != nil || len(extras.([]interface{})) > 0, nil } -func (p *parser) callonExternalLink91() (interface{}, error) { +func (p *parser) callonFirstPositionalAttributes25() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink91(stack["id"], stack["label"]) + return p.cur.onFirstPositionalAttributes25(stack["main"], stack["extras"]) } -func (c *current) onExternalLink176() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ - return string(c.text), nil +func (c *current) onFirstPositionalAttributes1(main, extras interface{}) (interface{}, error) { + attrs := []interface{}{} + if main != nil { + attrs = append(attrs, main) + } + if len(extras.([]interface{})) > 0 { + attrs = append(attrs, extras.([]interface{})...) + } + return attrs, nil } -func (p *parser) callonExternalLink176() (interface{}, error) { +func (p *parser) callonFirstPositionalAttributes1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink176() + return p.cur.onFirstPositionalAttributes1(stack["main"], stack["extras"]) } -func (c *current) onExternalLink172(id interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, nil) +func (c *current) onShortHandIDAttribute1(id interface{}) (interface{}, error) { + return types.NewIDAttribute(id) } -func (p *parser) callonExternalLink172() (interface{}, error) { +func (p *parser) callonShortHandIDAttribute1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink172(stack["id"]) + return p.cur.onShortHandIDAttribute1(stack["id"]) } -func (c *current) onExternalLink89() (interface{}, error) { - return types.NewStringElement(string(c.text)) +func (c *current) onShortHandAttribute1(value interface{}) (interface{}, error) { + return types.NewPositionalAttribute(value) } -func (p *parser) callonExternalLink89() (interface{}, error) { +func (p *parser) callonShortHandAttribute1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink89() + return p.cur.onShortHandAttribute1(stack["value"]) } -func (c *current) onExternalLink180() (interface{}, error) { - return types.NewSpecialCharacter(string(c.text)) +func (c *current) onShortHandDotRoleAttribute1(role interface{}) (interface{}, error) { + return types.NewRoleAttribute(role) } -func (p *parser) callonExternalLink180() (interface{}, error) { +func (p *parser) callonShortHandDotRoleAttribute1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink180() + return p.cur.onShortHandDotRoleAttribute1(stack["role"]) } -func (c *current) onExternalLink84(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onShortHandOptionAttribute1(option interface{}) (interface{}, error) { + return types.NewOptionAttribute(option) } -func (p *parser) callonExternalLink84() (interface{}, error) { +func (p *parser) callonShortHandOptionAttribute1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink84(stack["element"]) + return p.cur.onShortHandOptionAttribute1(stack["option"]) } -func (c *current) onExternalLink182() (interface{}, error) { +func (c *current) onShortHandAttributeValue9() (interface{}, error) { return types.NewStringElement(string(c.text)) } -func (p *parser) callonExternalLink182() (interface{}, error) { +func (p *parser) callonShortHandAttributeValue9() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink182() + return p.cur.onShortHandAttributeValue9() } -func (c *current) onExternalLink18(elements interface{}) (interface{}, error) { - return types.NewInlineElements(elements.([]interface{})) +func (c *current) onShortHandAttributeValue14() (bool, error) { + return c.isSubstitutionEnabled(Attributes), nil } -func (p *parser) callonExternalLink18() (interface{}, error) { +func (p *parser) callonShortHandAttributeValue14() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink18(stack["elements"]) + return p.cur.onShortHandAttributeValue14() } -func (c *current) onExternalLink188() (interface{}, error) { +func (c *current) onShortHandAttributeValue21() (interface{}, error) { return string(c.text), nil -} - -func (p *parser) callonExternalLink188() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onExternalLink188() -} -func (c *current) onExternalLink184(ref interface{}) (interface{}, error) { - return types.NewElementPlaceHolder(ref.(string)) } -func (p *parser) callonExternalLink184() (interface{}, error) { +func (p *parser) callonShortHandAttributeValue21() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink184(stack["ref"]) + return p.cur.onShortHandAttributeValue21() } -func (c *current) onExternalLink4(scheme, path interface{}) (interface{}, error) { - return types.NewLocation(scheme, path.([]interface{})) +func (c *current) onShortHandAttributeValue33() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonExternalLink4() (interface{}, error) { +func (p *parser) callonShortHandAttributeValue33() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink4(stack["scheme"], stack["path"]) + return p.cur.onShortHandAttributeValue33() } -func (c *current) onExternalLink1(url, attributes interface{}) (interface{}, error) { - return types.NewInlineLink(url.(*types.Location), attributes) +func (c *current) onShortHandAttributeValue35() (interface{}, error) { + + return strconv.Atoi(string(c.text)) } -func (p *parser) callonExternalLink1() (interface{}, error) { +func (p *parser) callonShortHandAttributeValue35() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink1(stack["url"], stack["attributes"]) + return p.cur.onShortHandAttributeValue35() } -func (c *current) onListElements11() (interface{}, error) { - return string(c.text), nil +func (c *current) onShortHandAttributeValue28(start interface{}) (interface{}, error) { + return start, nil } -func (p *parser) callonListElements11() (interface{}, error) { +func (p *parser) callonShortHandAttributeValue28() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements11() + return p.cur.onShortHandAttributeValue28(stack["start"]) } -func (c *current) onListElements18() (interface{}, error) { - - // `.` is 1, etc. - return (len(c.text)), nil - +func (c *current) onShortHandAttributeValue17(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) } -func (p *parser) callonListElements18() (interface{}, error) { +func (p *parser) callonShortHandAttributeValue17() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements18() + return p.cur.onShortHandAttributeValue17(stack["name"], stack["start"]) } -func (c *current) onListElements21(depth interface{}) (bool, error) { - - // use a predicate to make sure that only `.` to `.....` are allowed - return depth.(int) <= 5, nil +func (c *current) onShortHandAttributeValue43() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListElements21() (bool, error) { +func (p *parser) callonShortHandAttributeValue43() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements21(stack["depth"]) + return p.cur.onShortHandAttributeValue43() } -func (c *current) onListElements15(depth interface{}) (interface{}, error) { - switch depth.(int) { - case 1: - return types.NewOrderedListElementPrefix(types.Arabic) - case 2: - return types.NewOrderedListElementPrefix(types.LowerAlpha) - case 3: - return types.NewOrderedListElementPrefix(types.LowerRoman) - case 4: - return types.NewOrderedListElementPrefix(types.UpperAlpha) - default: - return types.NewOrderedListElementPrefix(types.UpperRoman) - } +func (c *current) onShortHandAttributeValue55() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListElements15() (interface{}, error) { +func (p *parser) callonShortHandAttributeValue55() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements15(stack["depth"]) + return p.cur.onShortHandAttributeValue55() } -func (c *current) onListElements22() (interface{}, error) { - // numbering style: "1.", etc. - return types.NewOrderedListElementPrefix(types.Arabic) +func (c *current) onShortHandAttributeValue57() (interface{}, error) { + + return strconv.Atoi(string(c.text)) } -func (p *parser) callonListElements22() (interface{}, error) { +func (p *parser) callonShortHandAttributeValue57() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements22() + return p.cur.onShortHandAttributeValue57() } -func (c *current) onListElements27() (interface{}, error) { - // numbering style: "a.", etc. - return types.NewOrderedListElementPrefix(types.LowerAlpha) +func (c *current) onShortHandAttributeValue50(start interface{}) (interface{}, error) { + return start, nil } -func (p *parser) callonListElements27() (interface{}, error) { +func (p *parser) callonShortHandAttributeValue50() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements27() + return p.cur.onShortHandAttributeValue50(stack["start"]) } -func (c *current) onListElements31() (interface{}, error) { - // numbering style: "A.", etc. - return types.NewOrderedListElementPrefix(types.UpperAlpha) - +func (c *current) onShortHandAttributeValue39(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) } -func (p *parser) callonListElements31() (interface{}, error) { +func (p *parser) callonShortHandAttributeValue39() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements31() + return p.cur.onShortHandAttributeValue39(stack["name"], stack["start"]) } -func (c *current) onListElements35() (interface{}, error) { - // numbering style: "i)", etc. - return types.NewOrderedListElementPrefix(types.LowerRoman) +func (c *current) onShortHandAttributeValue65() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListElements35() (interface{}, error) { +func (p *parser) callonShortHandAttributeValue65() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements35() + return p.cur.onShortHandAttributeValue65() } -func (c *current) onListElements40() (interface{}, error) { - // numbering style: "I)", etc. - return types.NewOrderedListElementPrefix(types.UpperRoman) +func (c *current) onShortHandAttributeValue61(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonListElements40() (interface{}, error) { +func (p *parser) callonShortHandAttributeValue61() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements40() + return p.cur.onShortHandAttributeValue61(stack["name"]) } -func (c *current) onListElements45(prefix interface{}) (interface{}, error) { - // log.Debug("matched multiple spaces") - return string(c.text), nil +func (c *current) onShortHandAttributeValue12(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonListElements45() (interface{}, error) { +func (p *parser) callonShortHandAttributeValue12() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements45(stack["prefix"]) + return p.cur.onShortHandAttributeValue12(stack["element"]) } -func (c *current) onListElements8(prefix interface{}) (interface{}, error) { - return prefix, nil +func (c *current) onShortHandAttributeValue71() (interface{}, error) { + + return types.NewStringElement(string(c.text)) + } -func (p *parser) callonListElements8() (interface{}, error) { +func (p *parser) callonShortHandAttributeValue71() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements8(stack["prefix"]) + return p.cur.onShortHandAttributeValue71() } -func (c *current) onListElements52() (interface{}, error) { - return types.NewRawLine(string(c.text)) +func (c *current) onShortHandAttributeValue77() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListElements52() (interface{}, error) { +func (p *parser) callonShortHandAttributeValue77() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements52() + return p.cur.onShortHandAttributeValue77() } -func (c *current) onListElements56() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onShortHandAttributeValue4(elements interface{}) (interface{}, error) { + return types.Reduce(elements, strings.TrimSpace), nil + } -func (p *parser) callonListElements56() (interface{}, error) { +func (p *parser) callonShortHandAttributeValue4() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements56() + return p.cur.onShortHandAttributeValue4(stack["elements"]) } -func (c *current) onListElements49(rawline interface{}) (interface{}, error) { - return types.NewParagraph(rawline) +func (c *current) onPositionalAttribute11() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListElements49() (interface{}, error) { +func (p *parser) callonPositionalAttribute11() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements49(stack["rawline"]) + return p.cur.onPositionalAttribute11() } -func (c *current) onListElements5(prefix, content interface{}) (interface{}, error) { - return types.NewOrderedListElement(prefix.(types.OrderedListElementPrefix), content) +func (c *current) onPositionalAttribute2(value interface{}) (interface{}, error) { + // TODO: see if we can just use `((",")? / &"]")` instead (ie, no need to check for Space*) + return types.NewPositionalAttribute(value) } -func (p *parser) callonListElements5() (interface{}, error) { +func (p *parser) callonPositionalAttribute2() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements5(stack["prefix"], stack["content"]) + return p.cur.onPositionalAttribute2(stack["value"]) } -func (c *current) onListElements69() (interface{}, error) { +func (c *current) onPositionalAttribute20() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListElements69() (interface{}, error) { +func (p *parser) callonPositionalAttribute20() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements69() + return p.cur.onPositionalAttribute20() } -func (c *current) onListElements76() (interface{}, error) { - - // `*` is 1, etc. - return (len(c.text)), nil +func (c *current) onPositionalAttribute26() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListElements76() (interface{}, error) { +func (p *parser) callonPositionalAttribute26() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements76() + return p.cur.onPositionalAttribute26() } -func (c *current) onListElements79(depth interface{}) (bool, error) { - - // use a predicate to make sure that only `*` to `*****` are allowed - return depth.(int) <= 5, nil +func (c *current) 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) callonListElements79() (bool, error) { +func (p *parser) callonPositionalAttribute30() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements79(stack["depth"]) + return p.cur.onPositionalAttribute30(stack["value"]) } -func (c *current) onListElements73(depth interface{}) (interface{}, error) { - switch depth.(int) { - case 1: - return types.NewUnorderedListElementPrefix(types.OneAsterisk) - case 2: - return types.NewUnorderedListElementPrefix(types.TwoAsterisks) - case 3: - return types.NewUnorderedListElementPrefix(types.ThreeAsterisks) - case 4: - return types.NewUnorderedListElementPrefix(types.FourAsterisks) - default: - return types.NewUnorderedListElementPrefix(types.FiveAsterisks) - } +func (c *current) onPositionalAttribute15(value interface{}) (interface{}, error) { + + return types.NewPositionalAttribute(nil) } -func (p *parser) callonListElements73() (interface{}, error) { +func (p *parser) callonPositionalAttribute15() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements73(stack["depth"]) + return p.cur.onPositionalAttribute15(stack["value"]) } -func (c *current) onListElements81() (interface{}, error) { - return types.NewUnorderedListElementPrefix(types.Dash) +func (c *current) onNamedAttribute7() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListElements81() (interface{}, error) { +func (p *parser) callonNamedAttribute7() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements81() + return p.cur.onNamedAttribute7() } -func (c *current) onListElements83(prefix interface{}) (interface{}, error) { - // log.Debug("matched multiple spaces") +func (c *current) onNamedAttribute12() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListElements83() (interface{}, error) { +func (p *parser) callonNamedAttribute12() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements83(stack["prefix"]) + return p.cur.onNamedAttribute12() } -func (c *current) onListElements66(prefix interface{}) (interface{}, error) { - return prefix, nil +func (c *current) onNamedAttribute4() (interface{}, error) { + return strings.TrimSpace(string(c.text)), nil + } -func (p *parser) callonListElements66() (interface{}, error) { +func (p *parser) callonNamedAttribute4() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements66(stack["prefix"]) + return p.cur.onNamedAttribute4() } -func (c *current) onListElements94() (interface{}, error) { - return types.Unchecked, nil +func (c *current) onNamedAttribute16() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonListElements94() (interface{}, error) { +func (p *parser) callonNamedAttribute16() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements94() + return p.cur.onNamedAttribute16() } -func (c *current) onListElements96() (interface{}, error) { - return types.Checked, nil +func (c *current) onNamedAttribute24() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonListElements96() (interface{}, error) { +func (p *parser) callonNamedAttribute24() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements96() + return p.cur.onNamedAttribute24() } -func (c *current) onListElements98() (interface{}, error) { - return types.Checked, nil +func (c *current) onNamedAttribute1(key, value interface{}) (interface{}, error) { + // TODO: include `,` or expect `]` + return types.NewNamedAttribute(key.(string), value) + } -func (p *parser) callonListElements98() (interface{}, error) { +func (p *parser) callonNamedAttribute1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements98() + return p.cur.onNamedAttribute1(stack["key"], stack["value"]) } -func (c *current) onListElements100(style interface{}) (interface{}, error) { - // log.Debug("matched multiple spaces") +func (c *current) onAttributeValue12() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListElements100() (interface{}, error) { +func (p *parser) callonAttributeValue12() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements100(stack["style"]) + return p.cur.onAttributeValue12() } -func (c *current) onListElements88(style interface{}) (interface{}, error) { - return style, nil +func (c *current) onAttributeValue1(value interface{}) (interface{}, error) { + return value, nil } -func (p *parser) callonListElements88() (interface{}, error) { +func (p *parser) callonAttributeValue1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements88(stack["style"]) + return p.cur.onAttributeValue1(stack["value"]) } -func (c *current) onListElements107() (interface{}, error) { - return types.NewRawLine(string(c.text)) +func (c *current) onSingleQuotedAttributeValue1(content interface{}) (interface{}, error) { + return content, nil } -func (p *parser) callonListElements107() (interface{}, error) { +func (p *parser) callonSingleQuotedAttributeValue1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements107() + return p.cur.onSingleQuotedAttributeValue1(stack["content"]) } -func (c *current) onListElements111() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onSingleQuotedAttributeValueContent5() (interface{}, error) { return string(c.text), nil -} - -func (p *parser) callonListElements111() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onListElements111() -} - -func (c *current) onListElements104(rawline interface{}) (interface{}, error) { - return types.NewParagraph(rawline) } -func (p *parser) callonListElements104() (interface{}, error) { +func (p *parser) callonSingleQuotedAttributeValueContent5() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements104(stack["rawline"]) + return p.cur.onSingleQuotedAttributeValueContent5() } -func (c *current) onListElements63(prefix, checkstyle, content interface{}) (interface{}, error) { - return types.NewUnorderedListElement(prefix.(types.UnorderedListElementPrefix), checkstyle, content) +func (c *current) onSingleQuotedAttributeValueContent8() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListElements63() (interface{}, error) { +func (p *parser) callonSingleQuotedAttributeValueContent8() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements63(stack["prefix"], stack["checkstyle"], stack["content"]) + return p.cur.onSingleQuotedAttributeValueContent8() } -func (c *current) onListElements125() (interface{}, error) { - return strconv.Atoi(string(c.text)) +func (c *current) onSingleQuotedAttributeValueContent13() (bool, error) { + return c.isSubstitutionEnabled(Attributes), nil + } -func (p *parser) callonListElements125() (interface{}, error) { +func (p *parser) callonSingleQuotedAttributeValueContent13() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements125() + return p.cur.onSingleQuotedAttributeValueContent13() } -func (c *current) onListElements129(ref interface{}) (interface{}, error) { - // log.Debug("matched multiple spaces") +func (c *current) onSingleQuotedAttributeValueContent20() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListElements129() (interface{}, error) { +func (p *parser) callonSingleQuotedAttributeValueContent20() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements129(stack["ref"]) + return p.cur.onSingleQuotedAttributeValueContent20() } -func (c *current) onListElements121(ref interface{}) (interface{}, error) { - return ref, nil +func (c *current) onSingleQuotedAttributeValueContent32() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListElements121() (interface{}, error) { +func (p *parser) callonSingleQuotedAttributeValueContent32() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements121(stack["ref"]) + return p.cur.onSingleQuotedAttributeValueContent32() } -func (c *current) onListElements136() (interface{}, error) { - return string(c.text), nil +func (c *current) onSingleQuotedAttributeValueContent34() (interface{}, error) { + + return strconv.Atoi(string(c.text)) } -func (p *parser) callonListElements136() (interface{}, error) { +func (p *parser) callonSingleQuotedAttributeValueContent34() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements136() + return p.cur.onSingleQuotedAttributeValueContent34() } -func (c *current) onListElements140() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onSingleQuotedAttributeValueContent27(start interface{}) (interface{}, error) { + return start, nil + } -func (p *parser) callonListElements140() (interface{}, error) { +func (p *parser) callonSingleQuotedAttributeValueContent27() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements140() + return p.cur.onSingleQuotedAttributeValueContent27(stack["start"]) } -func (c *current) onListElements133(rawline interface{}) (interface{}, error) { - return types.NewRawLine(rawline.(string)) - +func (c *current) onSingleQuotedAttributeValueContent16(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) } -func (p *parser) callonListElements133() (interface{}, error) { +func (p *parser) callonSingleQuotedAttributeValueContent16() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements133(stack["rawline"]) + return p.cur.onSingleQuotedAttributeValueContent16(stack["name"], stack["start"]) } -func (c *current) onListElements118(ref, description interface{}) (interface{}, error) { - return types.NewCalloutListElement(ref.(int), description.(types.RawLine)) +func (c *current) onSingleQuotedAttributeValueContent42() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListElements118() (interface{}, error) { +func (p *parser) callonSingleQuotedAttributeValueContent42() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements118(stack["ref"], stack["description"]) + return p.cur.onSingleQuotedAttributeValueContent42() } -func (c *current) onListElements157() (interface{}, error) { - +func (c *current) onSingleQuotedAttributeValueContent54() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListElements157() (interface{}, error) { +func (p *parser) callonSingleQuotedAttributeValueContent54() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements157() + return p.cur.onSingleQuotedAttributeValueContent54() } -func (c *current) onListElements160(separator interface{}) (bool, error) { +func (c *current) onSingleQuotedAttributeValueContent56() (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) callonListElements160() (bool, error) { +func (p *parser) callonSingleQuotedAttributeValueContent56() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements160(stack["separator"]) + return p.cur.onSingleQuotedAttributeValueContent56() } -func (c *current) onListElements154(separator interface{}) (interface{}, error) { - return separator, nil +func (c *current) onSingleQuotedAttributeValueContent49(start interface{}) (interface{}, error) { + return start, nil } -func (p *parser) callonListElements154() (interface{}, error) { +func (p *parser) callonSingleQuotedAttributeValueContent49() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements154(stack["separator"]) + return p.cur.onSingleQuotedAttributeValueContent49(stack["start"]) } -func (c *current) onListElements163() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onSingleQuotedAttributeValueContent38(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) } -func (p *parser) callonListElements163() (interface{}, error) { +func (p *parser) callonSingleQuotedAttributeValueContent38() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements163() + return p.cur.onSingleQuotedAttributeValueContent38(stack["name"], stack["start"]) } -func (c *current) onListElements150() (interface{}, error) { - return types.NewRawLine(string(c.text)) +func (c *current) onSingleQuotedAttributeValueContent64() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListElements150() (interface{}, error) { +func (p *parser) callonSingleQuotedAttributeValueContent64() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements150() + return p.cur.onSingleQuotedAttributeValueContent64() } -func (c *current) onListElements175() (interface{}, error) { +func (c *current) onSingleQuotedAttributeValueContent60(name interface{}) (interface{}, error) { - return string(c.text), nil + return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonListElements175() (interface{}, error) { +func (p *parser) callonSingleQuotedAttributeValueContent60() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements175() + return p.cur.onSingleQuotedAttributeValueContent60(stack["name"]) } -func (c *current) onListElements178(separator interface{}) (bool, error) { - - // use a predicate to make sure that separator is `::`, `:::` or `::::` - return len(separator.(string)) >= 2 && len(separator.(string)) <= 4, nil +func (c *current) onSingleQuotedAttributeValueContent11(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonListElements178() (bool, error) { +func (p *parser) callonSingleQuotedAttributeValueContent11() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements178(stack["separator"]) + return p.cur.onSingleQuotedAttributeValueContent11(stack["element"]) } -func (c *current) onListElements172(separator interface{}) (interface{}, error) { - return separator, nil +func (c *current) onSingleQuotedAttributeValueContent70() (interface{}, error) { + + return types.NewStringElement(`'`) // escaped single quote } -func (p *parser) callonListElements172() (interface{}, error) { +func (p *parser) callonSingleQuotedAttributeValueContent70() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements172(stack["separator"]) + return p.cur.onSingleQuotedAttributeValueContent70() } -func (c *current) onListElements184() (interface{}, error) { - return string(c.text), nil +func (c *current) onSingleQuotedAttributeValueContent74() (interface{}, error) { + // quoted string delimiters or standalone backslash + return types.NewStringElement(string(c.text)) // keep as-is for now } -func (p *parser) callonListElements184() (interface{}, error) { +func (p *parser) callonSingleQuotedAttributeValueContent74() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements184() + return p.cur.onSingleQuotedAttributeValueContent74() } -func (c *current) onListElements187() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onSingleQuotedAttributeValueContent76() (interface{}, error) { + // = and , signs are allowed within '' quoted values + return types.NewStringElement(string(c.text)) + } -func (p *parser) callonListElements187() (interface{}, error) { +func (p *parser) callonSingleQuotedAttributeValueContent76() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements187() + return p.cur.onSingleQuotedAttributeValueContent76() } -func (c *current) onListElements201() (interface{}, error) { - return string(c.text), nil +func (c *current) onSingleQuotedAttributeValueContent1(elements interface{}) (interface{}, error) { + return types.Reduce(elements), nil } -func (p *parser) callonListElements201() (interface{}, error) { +func (p *parser) callonSingleQuotedAttributeValueContent1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements201() + return p.cur.onSingleQuotedAttributeValueContent1(stack["elements"]) } -func (c *current) onListElements204() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onDoubleQuotedAttributeValue13() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonListElements204() (interface{}, error) { +func (p *parser) callonDoubleQuotedAttributeValue13() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements204() + return p.cur.onDoubleQuotedAttributeValue13() } -func (c *current) onListElements195() (interface{}, error) { - return types.NewBlankLine() +func (c *current) onDoubleQuotedAttributeValue1(content interface{}) (interface{}, error) { + return content, nil } -func (p *parser) callonListElements195() (interface{}, error) { +func (p *parser) callonDoubleQuotedAttributeValue1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements195() + return p.cur.onDoubleQuotedAttributeValue1(stack["content"]) } -func (c *current) onListElements222() (interface{}, error) { +func (c *current) onDoubleQuotedAttributeValueContent5() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListElements222() (interface{}, error) { +func (p *parser) callonDoubleQuotedAttributeValueContent5() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements222() + return p.cur.onDoubleQuotedAttributeValueContent5() } -func (c *current) onListElements225() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onDoubleQuotedAttributeValueContent8() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonListElements225() (interface{}, error) { +func (p *parser) callonDoubleQuotedAttributeValueContent8() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements225() + return p.cur.onDoubleQuotedAttributeValueContent8() } -func (c *current) onListElements216() (interface{}, error) { - return types.NewBlankLine() +func (c *current) onDoubleQuotedAttributeValueContent13() (bool, error) { + return c.isSubstitutionEnabled(Attributes), nil } -func (p *parser) callonListElements216() (interface{}, error) { +func (p *parser) callonDoubleQuotedAttributeValueContent13() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements216() + return p.cur.onDoubleQuotedAttributeValueContent13() } -func (c *current) onListElements236() (interface{}, error) { +func (c *current) onDoubleQuotedAttributeValueContent20() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListElements236() (interface{}, error) { +func (p *parser) callonDoubleQuotedAttributeValueContent20() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements236() + return p.cur.onDoubleQuotedAttributeValueContent20() } -func (c *current) onListElements238() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onDoubleQuotedAttributeValueContent32() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonListElements238() (interface{}, error) { +func (p *parser) callonDoubleQuotedAttributeValueContent32() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements238() + return p.cur.onDoubleQuotedAttributeValueContent32() } -func (c *current) onListElements247() (interface{}, error) { - return string(c.text), nil +func (c *current) onDoubleQuotedAttributeValueContent34() (interface{}, error) { + + return strconv.Atoi(string(c.text)) } -func (p *parser) callonListElements247() (interface{}, error) { +func (p *parser) callonDoubleQuotedAttributeValueContent34() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements247() + return p.cur.onDoubleQuotedAttributeValueContent34() } -func (c *current) onListElements254() (interface{}, error) { - - // `.` is 1, etc. - return (len(c.text)), nil +func (c *current) onDoubleQuotedAttributeValueContent27(start interface{}) (interface{}, error) { + return start, nil } -func (p *parser) callonListElements254() (interface{}, error) { +func (p *parser) callonDoubleQuotedAttributeValueContent27() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements254() + return p.cur.onDoubleQuotedAttributeValueContent27(stack["start"]) } -func (c *current) onListElements257(depth interface{}) (bool, error) { - - // use a predicate to make sure that only `.` to `.....` are allowed - return depth.(int) <= 5, nil - +func (c *current) onDoubleQuotedAttributeValueContent16(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) } -func (p *parser) callonListElements257() (bool, error) { +func (p *parser) callonDoubleQuotedAttributeValueContent16() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements257(stack["depth"]) + return p.cur.onDoubleQuotedAttributeValueContent16(stack["name"], stack["start"]) } -func (c *current) onListElements251(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) onDoubleQuotedAttributeValueContent42() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListElements251() (interface{}, error) { +func (p *parser) callonDoubleQuotedAttributeValueContent42() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements251(stack["depth"]) + return p.cur.onDoubleQuotedAttributeValueContent42() } -func (c *current) onListElements258() (interface{}, error) { - // numbering style: "1.", etc. - return types.NewOrderedListElementPrefix(types.Arabic) +func (c *current) onDoubleQuotedAttributeValueContent54() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListElements258() (interface{}, error) { +func (p *parser) callonDoubleQuotedAttributeValueContent54() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements258() + return p.cur.onDoubleQuotedAttributeValueContent54() } -func (c *current) onListElements263() (interface{}, error) { - // numbering style: "a.", etc. - return types.NewOrderedListElementPrefix(types.LowerAlpha) +func (c *current) onDoubleQuotedAttributeValueContent56() (interface{}, error) { + + return strconv.Atoi(string(c.text)) } -func (p *parser) callonListElements263() (interface{}, error) { +func (p *parser) callonDoubleQuotedAttributeValueContent56() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements263() + return p.cur.onDoubleQuotedAttributeValueContent56() } -func (c *current) onListElements267() (interface{}, error) { - // numbering style: "A.", etc. - return types.NewOrderedListElementPrefix(types.UpperAlpha) +func (c *current) onDoubleQuotedAttributeValueContent49(start interface{}) (interface{}, error) { + return start, nil } -func (p *parser) callonListElements267() (interface{}, error) { +func (p *parser) callonDoubleQuotedAttributeValueContent49() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements267() + return p.cur.onDoubleQuotedAttributeValueContent49(stack["start"]) } -func (c *current) onListElements271() (interface{}, error) { - // numbering style: "i)", etc. - return types.NewOrderedListElementPrefix(types.LowerRoman) - +func (c *current) onDoubleQuotedAttributeValueContent38(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) } -func (p *parser) callonListElements271() (interface{}, error) { +func (p *parser) callonDoubleQuotedAttributeValueContent38() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements271() + return p.cur.onDoubleQuotedAttributeValueContent38(stack["name"], stack["start"]) } -func (c *current) onListElements276() (interface{}, error) { - // numbering style: "I)", etc. - return types.NewOrderedListElementPrefix(types.UpperRoman) +func (c *current) onDoubleQuotedAttributeValueContent64() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListElements276() (interface{}, error) { +func (p *parser) callonDoubleQuotedAttributeValueContent64() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements276() + return p.cur.onDoubleQuotedAttributeValueContent64() } -func (c *current) onListElements281(prefix interface{}) (interface{}, error) { - // log.Debug("matched multiple spaces") - return string(c.text), nil +func (c *current) onDoubleQuotedAttributeValueContent60(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonListElements281() (interface{}, error) { +func (p *parser) callonDoubleQuotedAttributeValueContent60() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements281(stack["prefix"]) + return p.cur.onDoubleQuotedAttributeValueContent60(stack["name"]) } -func (c *current) onListElements244(prefix interface{}) (interface{}, error) { - return prefix, nil +func (c *current) onDoubleQuotedAttributeValueContent11(element interface{}) (interface{}, error) { + return element, nil + } -func (p *parser) callonListElements244() (interface{}, error) { +func (p *parser) callonDoubleQuotedAttributeValueContent11() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements244(stack["prefix"]) + return p.cur.onDoubleQuotedAttributeValueContent11(stack["element"]) } -func (c *current) onListElements288() (interface{}, error) { - return string(c.text), nil +func (c *current) onDoubleQuotedAttributeValueContent70() (interface{}, error) { + + return types.NewStringElement(`"`) // escaped double quote } -func (p *parser) callonListElements288() (interface{}, error) { +func (p *parser) callonDoubleQuotedAttributeValueContent70() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements288() + return p.cur.onDoubleQuotedAttributeValueContent70() } -func (c *current) onListElements295() (interface{}, error) { - - // `*` is 1, etc. - return (len(c.text)), nil +func (c *current) onDoubleQuotedAttributeValueContent75() (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) callonListElements295() (interface{}, error) { +func (p *parser) callonDoubleQuotedAttributeValueContent75() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements295() + return p.cur.onDoubleQuotedAttributeValueContent75() } -func (c *current) onListElements298(depth interface{}) (bool, error) { - - // use a predicate to make sure that only `*` to `*****` are allowed - return depth.(int) <= 5, nil +func (c *current) onDoubleQuotedAttributeValueContent77() (interface{}, error) { + // = and , signs are allowed within " quoted values + return types.NewStringElement(string(c.text)) } -func (p *parser) callonListElements298() (bool, error) { +func (p *parser) callonDoubleQuotedAttributeValueContent77() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements298(stack["depth"]) + return p.cur.onDoubleQuotedAttributeValueContent77() } -func (c *current) onListElements292(depth interface{}) (interface{}, error) { - switch depth.(int) { - case 1: - return types.NewUnorderedListElementPrefix(types.OneAsterisk) - case 2: - return types.NewUnorderedListElementPrefix(types.TwoAsterisks) - case 3: - return types.NewUnorderedListElementPrefix(types.ThreeAsterisks) - case 4: - return types.NewUnorderedListElementPrefix(types.FourAsterisks) - default: - return types.NewUnorderedListElementPrefix(types.FiveAsterisks) - } +func (c *current) onDoubleQuotedAttributeValueContent1(elements interface{}) (interface{}, error) { + return types.Reduce(elements), nil } -func (p *parser) callonListElements292() (interface{}, error) { +func (p *parser) callonDoubleQuotedAttributeValueContent1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements292(stack["depth"]) + return p.cur.onDoubleQuotedAttributeValueContent1(stack["elements"]) } -func (c *current) onListElements300() (interface{}, error) { - return types.NewUnorderedListElementPrefix(types.Dash) +func (c *current) onUnquotedAttributeValue4() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListElements300() (interface{}, error) { +func (p *parser) callonUnquotedAttributeValue4() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements300() + return p.cur.onUnquotedAttributeValue4() } -func (c *current) onListElements302(prefix interface{}) (interface{}, error) { - // log.Debug("matched multiple spaces") +func (c *current) onUnquotedAttributeValue14() (interface{}, error) { + // not within brackets and stop on space and `{` return string(c.text), nil } -func (p *parser) callonListElements302() (interface{}, error) { +func (p *parser) callonUnquotedAttributeValue14() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements302(stack["prefix"]) + return p.cur.onUnquotedAttributeValue14() } -func (c *current) onListElements285(prefix interface{}) (interface{}, error) { - return prefix, nil +func (c *current) onUnquotedAttributeValue17() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonListElements285() (interface{}, error) { +func (p *parser) callonUnquotedAttributeValue17() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements285(stack["prefix"]) + return p.cur.onUnquotedAttributeValue17() } -func (c *current) onListElements310() (interface{}, error) { - return strconv.Atoi(string(c.text)) +func (c *current) onUnquotedAttributeValue21() (bool, error) { + return c.isSubstitutionEnabled(Attributes), nil + } -func (p *parser) callonListElements310() (interface{}, error) { +func (p *parser) callonUnquotedAttributeValue21() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements310() + return p.cur.onUnquotedAttributeValue21() } -func (c *current) onListElements314(ref interface{}) (interface{}, error) { - // log.Debug("matched multiple spaces") +func (c *current) onUnquotedAttributeValue28() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListElements314() (interface{}, error) { +func (p *parser) callonUnquotedAttributeValue28() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements314(stack["ref"]) + return p.cur.onUnquotedAttributeValue28() } -func (c *current) onListElements306(ref interface{}) (interface{}, error) { - return ref, nil +func (c *current) onUnquotedAttributeValue40() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListElements306() (interface{}, error) { +func (p *parser) callonUnquotedAttributeValue40() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements306(stack["ref"]) + return p.cur.onUnquotedAttributeValue40() } -func (c *current) onListElements326() (interface{}, error) { +func (c *current) onUnquotedAttributeValue42() (interface{}, error) { - return string(c.text), nil + return strconv.Atoi(string(c.text)) } -func (p *parser) callonListElements326() (interface{}, error) { +func (p *parser) callonUnquotedAttributeValue42() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements326() + return p.cur.onUnquotedAttributeValue42() } -func (c *current) onListElements329(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) onUnquotedAttributeValue35(start interface{}) (interface{}, error) { + return start, nil } -func (p *parser) callonListElements329() (bool, error) { +func (p *parser) callonUnquotedAttributeValue35() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements329(stack["separator"]) + return p.cur.onUnquotedAttributeValue35(stack["start"]) } -func (c *current) onListElements323(separator interface{}) (interface{}, error) { - return separator, nil - +func (c *current) onUnquotedAttributeValue24(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) } -func (p *parser) callonListElements323() (interface{}, error) { +func (p *parser) callonUnquotedAttributeValue24() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements323(stack["separator"]) + return p.cur.onUnquotedAttributeValue24(stack["name"], stack["start"]) } -func (c *current) onListElements332() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onUnquotedAttributeValue50() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonListElements332() (interface{}, error) { +func (p *parser) callonUnquotedAttributeValue50() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements332() + return p.cur.onUnquotedAttributeValue50() } -func (c *current) onListElements319() (interface{}, error) { - return types.NewRawLine(string(c.text)) +func (c *current) onUnquotedAttributeValue62() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListElements319() (interface{}, error) { +func (p *parser) callonUnquotedAttributeValue62() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements319() + return p.cur.onUnquotedAttributeValue62() } -func (c *current) onListElements343() (interface{}, error) { +func (c *current) onUnquotedAttributeValue64() (interface{}, error) { - return string(c.text), nil + return strconv.Atoi(string(c.text)) } -func (p *parser) callonListElements343() (interface{}, error) { +func (p *parser) callonUnquotedAttributeValue64() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements343() + return p.cur.onUnquotedAttributeValue64() } -func (c *current) onListElements346(separator interface{}) (bool, error) { +func (c *current) onUnquotedAttributeValue57(start interface{}) (interface{}, error) { + return start, nil - // use a predicate to make sure that separator is `::`, `:::` or `::::` - return len(separator.(string)) >= 2 && len(separator.(string)) <= 4, nil +} + +func (p *parser) callonUnquotedAttributeValue57() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onUnquotedAttributeValue57(stack["start"]) +} +func (c *current) onUnquotedAttributeValue46(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) } -func (p *parser) callonListElements346() (bool, error) { +func (p *parser) callonUnquotedAttributeValue46() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements346(stack["separator"]) + return p.cur.onUnquotedAttributeValue46(stack["name"], stack["start"]) } -func (c *current) onListElements340(separator interface{}) (interface{}, error) { - return separator, nil +func (c *current) onUnquotedAttributeValue72() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListElements340() (interface{}, error) { +func (p *parser) callonUnquotedAttributeValue72() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements340(stack["separator"]) + return p.cur.onUnquotedAttributeValue72() } -func (c *current) onListElements358() (interface{}, error) { - return string(c.text), nil +func (c *current) onUnquotedAttributeValue68(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonListElements358() (interface{}, error) { +func (p *parser) callonUnquotedAttributeValue68() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements358() + return p.cur.onUnquotedAttributeValue68(stack["name"]) } -func (c *current) onListElements361() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onUnquotedAttributeValue19(element interface{}) (interface{}, error) { + return element, nil + } -func (p *parser) callonListElements361() (interface{}, error) { +func (p *parser) callonUnquotedAttributeValue19() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements361() + return p.cur.onUnquotedAttributeValue19(stack["element"]) } -func (c *current) onListElements354() (interface{}, error) { - return types.NewBlockDelimiter(types.Comment, string(c.text)) +func (c *current) onUnquotedAttributeValue1(elements interface{}) (interface{}, error) { + return types.Reduce(elements, strings.TrimSpace), nil + } -func (p *parser) callonListElements354() (interface{}, error) { +func (p *parser) callonUnquotedAttributeValue1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements354() + return p.cur.onUnquotedAttributeValue1(stack["elements"]) } -func (c *current) onListElements372() (interface{}, error) { +func (c *current) onCrossReference6() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ return string(c.text), nil } -func (p *parser) callonListElements372() (interface{}, error) { +func (p *parser) callonCrossReference6() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements372() + return p.cur.onCrossReference6() } -func (c *current) onListElements375() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onCrossReference10() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonListElements375() (interface{}, error) { +func (p *parser) callonCrossReference10() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements375() + return p.cur.onCrossReference10() } -func (c *current) onListElements368() (interface{}, error) { - return types.NewBlockDelimiter(types.Example, string(c.text)) +func (c *current) onCrossReference16() (interface{}, error) { + // `{`, `>` and `>` characters are not allowed as they are used for attribute substitutions and cross-references + return types.NewStringElement(string(c.text)) + } -func (p *parser) callonListElements368() (interface{}, error) { +func (p *parser) callonCrossReference16() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements368() + return p.cur.onCrossReference16() } -func (c *current) onListElements386() (interface{}, error) { +func (c *current) onCrossReference25() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListElements386() (interface{}, error) { +func (p *parser) callonCrossReference25() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements386() + return p.cur.onCrossReference25() } -func (c *current) onListElements389() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onCrossReference21(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) + } -func (p *parser) callonListElements389() (interface{}, error) { +func (p *parser) callonCrossReference21() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements389() + return p.cur.onCrossReference21(stack["name"]) } -func (c *current) onListElements382() (interface{}, error) { - return types.NewBlockDelimiter(types.Fenced, string(c.text)) +func (c *current) onCrossReference31() (interface{}, error) { + + return types.NewStringElement(string(c.text)) + } -func (p *parser) callonListElements382() (interface{}, error) { +func (p *parser) callonCrossReference31() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements382() + return p.cur.onCrossReference31() } -func (c *current) onListElements400() (interface{}, error) { - return string(c.text), nil +func (c *current) onCrossReference2(id, label interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, label) } -func (p *parser) callonListElements400() (interface{}, error) { +func (p *parser) callonCrossReference2() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements400() + return p.cur.onCrossReference2(stack["id"], stack["label"]) } -func (c *current) onListElements403() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onCrossReference38() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ return string(c.text), nil + } -func (p *parser) callonListElements403() (interface{}, error) { +func (p *parser) callonCrossReference38() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements403() + return p.cur.onCrossReference38() } -func (c *current) onListElements396() (interface{}, error) { - return types.NewBlockDelimiter(types.Listing, string(c.text)) +func (c *current) onCrossReference34(id interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, nil) + } -func (p *parser) callonListElements396() (interface{}, error) { +func (p *parser) callonCrossReference34() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements396() + return p.cur.onCrossReference34(stack["id"]) } -func (c *current) onListElements414() (interface{}, error) { - return string(c.text), nil +func (c *current) onExternalCrossReference16() (interface{}, error) { + // not supported for now: EOL, space, "{", "[", "]" + return types.NewStringElement(string(c.text)) } -func (p *parser) callonListElements414() (interface{}, error) { +func (p *parser) callonExternalCrossReference16() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements414() + return p.cur.onExternalCrossReference16() } -func (c *current) onListElements417() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onExternalCrossReference26() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonListElements417() (interface{}, error) { +func (p *parser) callonExternalCrossReference26() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements417() + return p.cur.onExternalCrossReference26() } -func (c *current) onListElements410() (interface{}, error) { - return types.NewBlockDelimiter(types.Literal, string(c.text)) +func (c *current) onExternalCrossReference30() (bool, error) { + return c.isSubstitutionEnabled(Attributes), nil + } -func (p *parser) callonListElements410() (interface{}, error) { +func (p *parser) callonExternalCrossReference30() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements410() + return p.cur.onExternalCrossReference30() } -func (c *current) onListElements428() (interface{}, error) { +func (c *current) onExternalCrossReference37() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListElements428() (interface{}, error) { +func (p *parser) callonExternalCrossReference37() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements428() + return p.cur.onExternalCrossReference37() } -func (c *current) onListElements431() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onExternalCrossReference49() (interface{}, error) { return string(c.text), nil -} -func (p *parser) callonListElements431() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onListElements431() -} - -func (c *current) onListElements424() (interface{}, error) { - return types.NewBlockDelimiter(types.Passthrough, string(c.text)) } -func (p *parser) callonListElements424() (interface{}, error) { +func (p *parser) callonExternalCrossReference49() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements424() + return p.cur.onExternalCrossReference49() } -func (c *current) onListElements442() (interface{}, error) { - return string(c.text), nil +func (c *current) onExternalCrossReference51() (interface{}, error) { + + return strconv.Atoi(string(c.text)) } -func (p *parser) callonListElements442() (interface{}, error) { +func (p *parser) callonExternalCrossReference51() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements442() + return p.cur.onExternalCrossReference51() } -func (c *current) onListElements445() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onExternalCrossReference44(start interface{}) (interface{}, error) { + return start, nil + } -func (p *parser) callonListElements445() (interface{}, error) { +func (p *parser) callonExternalCrossReference44() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements445() + return p.cur.onExternalCrossReference44(stack["start"]) } -func (c *current) onListElements438() (interface{}, error) { - return types.NewBlockDelimiter(types.Quote, string(c.text)) +func (c *current) onExternalCrossReference33(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) } -func (p *parser) callonListElements438() (interface{}, error) { +func (p *parser) callonExternalCrossReference33() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements438() + return p.cur.onExternalCrossReference33(stack["name"], stack["start"]) } -func (c *current) onListElements456() (interface{}, error) { +func (c *current) onExternalCrossReference59() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListElements456() (interface{}, error) { +func (p *parser) callonExternalCrossReference59() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements456() + return p.cur.onExternalCrossReference59() } -func (c *current) onListElements459() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onExternalCrossReference71() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonListElements459() (interface{}, error) { +func (p *parser) callonExternalCrossReference71() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements459() + return p.cur.onExternalCrossReference71() } -func (c *current) onListElements452() (interface{}, error) { - return types.NewBlockDelimiter(types.Sidebar, string(c.text)) +func (c *current) onExternalCrossReference73() (interface{}, error) { + + return strconv.Atoi(string(c.text)) + } -func (p *parser) callonListElements452() (interface{}, error) { +func (p *parser) callonExternalCrossReference73() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements452() + return p.cur.onExternalCrossReference73() } -func (c *current) onListElements348(delimiter interface{}) (interface{}, error) { - return delimiter, nil +func (c *current) onExternalCrossReference66(start interface{}) (interface{}, error) { + return start, nil } -func (p *parser) callonListElements348() (interface{}, error) { +func (p *parser) callonExternalCrossReference66() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements348(stack["delimiter"]) + return p.cur.onExternalCrossReference66(stack["start"]) } -func (c *current) onListElements467() (interface{}, error) { - return strings.TrimSpace(string(c.text)), nil - +func (c *current) onExternalCrossReference55(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) } -func (p *parser) callonListElements467() (interface{}, error) { +func (p *parser) callonExternalCrossReference55() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements467() + return p.cur.onExternalCrossReference55(stack["name"], stack["start"]) } -func (c *current) onListElements471() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onExternalCrossReference81() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonListElements471() (interface{}, error) { +func (p *parser) callonExternalCrossReference81() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements471() + return p.cur.onExternalCrossReference81() } -func (c *current) onListElements213(content interface{}) (interface{}, error) { - // do not retain the EOL chars - return types.NewRawLine(content.(string)) +func (c *current) onExternalCrossReference77(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonListElements213() (interface{}, error) { +func (p *parser) callonExternalCrossReference77() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements213(stack["content"]) + return p.cur.onExternalCrossReference77(stack["name"]) } -func (c *current) onListElements181(content interface{}) (interface{}, error) { - if content == nil { - return nil, nil - } - return types.NewParagraph(content) +func (c *current) onExternalCrossReference28(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonListElements181() (interface{}, error) { +func (p *parser) callonExternalCrossReference28() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements181(stack["content"]) + return p.cur.onExternalCrossReference28(stack["element"]) } -func (c *current) onListElements480() (interface{}, error) { - // log.Debug("matched multiple spaces") - return string(c.text), nil +func (c *current) onExternalCrossReference87() (interface{}, error) { + return types.NewStringElement(string(c.text)) } -func (p *parser) callonListElements480() (interface{}, error) { +func (p *parser) callonExternalCrossReference87() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements480() + return p.cur.onExternalCrossReference87() } -func (c *current) onListElements484() (interface{}, error) { - return types.NewRawLine(string(c.text)) +func (c *current) onExternalCrossReference9(elements interface{}) (interface{}, error) { + return types.NewInlineElements(elements.([]interface{})) } -func (p *parser) callonListElements484() (interface{}, error) { +func (p *parser) callonExternalCrossReference9() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements484() + return p.cur.onExternalCrossReference9(stack["elements"]) } -func (c *current) onListElements488() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onExternalCrossReference93() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListElements488() (interface{}, error) { +func (p *parser) callonExternalCrossReference93() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements488() + return p.cur.onExternalCrossReference93() } -func (c *current) onListElements478(content interface{}) (interface{}, error) { - return types.NewParagraph(content) - +func (c *current) onExternalCrossReference89(ref interface{}) (interface{}, error) { + return types.NewElementPlaceHolder(ref.(string)) } -func (p *parser) callonListElements478() (interface{}, error) { +func (p *parser) callonExternalCrossReference89() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements478(stack["content"]) + return p.cur.onExternalCrossReference89(stack["ref"]) } -func (c *current) onListElements147(term, separator, description interface{}) (interface{}, error) { - return types.NewLabeledListElement(len(separator.(string))-1, term, description) +func (c *current) onExternalCrossReference5(path interface{}) (interface{}, error) { + return types.NewLocation("", path.([]interface{})) } -func (p *parser) callonListElements147() (interface{}, error) { +func (p *parser) callonExternalCrossReference5() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements147(stack["term"], stack["separator"], stack["description"]) -} - -func (c *current) onListElements1(firstElement, extraElements interface{}) (interface{}, error) { - return types.NewListElements(append([]interface{}{firstElement}, extraElements.([]interface{})...)) - + return p.cur.onExternalCrossReference5(stack["path"]) } -func (p *parser) callonListElements1() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onListElements1(stack["firstElement"], stack["extraElements"]) -} +func (c *current) onExternalCrossReference1(url, attributes interface{}) (interface{}, error) { + return types.NewExternalCrossReference(url.(*types.Location), attributes.(types.Attributes)) -func (c *current) onExtraListElements1(elements interface{}) (interface{}, error) { - return types.Flatten(elements.([]interface{})), nil } -func (p *parser) callonExtraListElements1() (interface{}, error) { +func (p *parser) callonExternalCrossReference1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElements1(stack["elements"]) + return p.cur.onExternalCrossReference1(stack["url"], stack["attributes"]) } -func (c *current) onExtraListElement17() (interface{}, error) { +func (c *current) onMarkdownQuoteAttribution5() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExtraListElement17() (interface{}, error) { +func (p *parser) callonMarkdownQuoteAttribution5() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement17() + return p.cur.onMarkdownQuoteAttribution5() } -func (c *current) onExtraListElement20() (interface{}, error) { +func (c *current) onMarkdownQuoteAttribution9() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonExtraListElement20() (interface{}, error) { +func (p *parser) callonMarkdownQuoteAttribution9() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement20() + return p.cur.onMarkdownQuoteAttribution9() } -func (c *current) onExtraListElement11() (interface{}, error) { - return types.NewBlankLine() +func (c *current) onMarkdownQuoteAttribution1(author interface{}) (interface{}, error) { + return author, nil } -func (p *parser) callonExtraListElement11() (interface{}, error) { +func (p *parser) callonMarkdownQuoteAttribution1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement11() + return p.cur.onMarkdownQuoteAttribution1(stack["author"]) } -func (c *current) onExtraListElement34() (interface{}, error) { - return string(c.text), nil +func (c *current) onDocumentHeader3() (bool, error) { + return c.isDocumentHeaderAllowed(), nil } -func (p *parser) callonExtraListElement34() (interface{}, error) { +func (p *parser) callonDocumentHeader3() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement34() + return p.cur.onDocumentHeader3() } -func (c *current) onExtraListElement41() (interface{}, error) { - - // `.` is 1, etc. - return (len(c.text)), nil +func (c *current) onDocumentHeader11() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonExtraListElement41() (interface{}, error) { +func (p *parser) callonDocumentHeader11() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement41() + return p.cur.onDocumentHeader11() } -func (c *current) onExtraListElement44(depth interface{}) (bool, error) { - - // use a predicate to make sure that only `.` to `.....` are allowed - return depth.(int) <= 5, nil - +func (c *current) onDocumentHeader14() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonExtraListElement44() (bool, error) { +func (p *parser) callonDocumentHeader14() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement44(stack["depth"]) + return p.cur.onDocumentHeader14() } -func (c *current) onExtraListElement38(depth interface{}) (interface{}, error) { - switch depth.(int) { - case 1: - return types.NewOrderedListElementPrefix(types.Arabic) - case 2: - return types.NewOrderedListElementPrefix(types.LowerAlpha) - case 3: - return types.NewOrderedListElementPrefix(types.LowerRoman) - case 4: - return types.NewOrderedListElementPrefix(types.UpperAlpha) - default: - return types.NewOrderedListElementPrefix(types.UpperRoman) - } +func (c *current) onDocumentHeader5() (interface{}, error) { + return types.NewBlankLine() } -func (p *parser) callonExtraListElement38() (interface{}, error) { +func (p *parser) callonDocumentHeader5() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement38(stack["depth"]) + return p.cur.onDocumentHeader5() } -func (c *current) onExtraListElement45() (interface{}, error) { - // numbering style: "1.", etc. - return types.NewOrderedListElementPrefix(types.Arabic) +func (c *current) onDocumentHeader25() (interface{}, error) { + // log.Debug("matched multiple spaces") + return string(c.text), nil } -func (p *parser) callonExtraListElement45() (interface{}, error) { +func (p *parser) callonDocumentHeader25() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement45() + return p.cur.onDocumentHeader25() } -func (c *current) onExtraListElement50() (interface{}, error) { - // numbering style: "a.", etc. - return types.NewOrderedListElementPrefix(types.LowerAlpha) - +func (c *current) onDocumentHeader29() (interface{}, error) { + // can't have empty title, that may collide with example block delimiter (`====`) + return []interface{}{ + types.RawLine(c.text), + }, nil } -func (p *parser) callonExtraListElement50() (interface{}, error) { +func (p *parser) callonDocumentHeader29() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement50() + return p.cur.onDocumentHeader29() } -func (c *current) onExtraListElement54() (interface{}, error) { - // numbering style: "A.", etc. - return types.NewOrderedListElementPrefix(types.UpperAlpha) - +func (c *current) onDocumentHeader33() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonExtraListElement54() (interface{}, error) { +func (p *parser) callonDocumentHeader33() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement54() + return p.cur.onDocumentHeader33() } -func (c *current) onExtraListElement58() (interface{}, error) { - // numbering style: "i)", etc. - return types.NewOrderedListElementPrefix(types.LowerRoman) +func (c *current) onDocumentHeader22(title interface{}) (interface{}, error) { + return title, nil } -func (p *parser) callonExtraListElement58() (interface{}, error) { +func (p *parser) callonDocumentHeader22() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement58() + return p.cur.onDocumentHeader22(stack["title"]) } -func (c *current) onExtraListElement63() (interface{}, error) { - // numbering style: "I)", etc. - return types.NewOrderedListElementPrefix(types.UpperRoman) +func (c *current) onDocumentHeader51() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonExtraListElement63() (interface{}, error) { +func (p *parser) callonDocumentHeader51() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement63() + return p.cur.onDocumentHeader51() } -func (c *current) onExtraListElement68(prefix interface{}) (interface{}, error) { - // log.Debug("matched multiple spaces") +func (c *current) onDocumentHeader54() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonExtraListElement68() (interface{}, error) { +func (p *parser) callonDocumentHeader54() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement68(stack["prefix"]) + return p.cur.onDocumentHeader54() } -func (c *current) onExtraListElement31(prefix interface{}) (interface{}, error) { - return prefix, nil +func (c *current) onDocumentHeader45() (interface{}, error) { + return types.NewBlankLine() + } -func (p *parser) callonExtraListElement31() (interface{}, error) { +func (p *parser) callonDocumentHeader45() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement31(stack["prefix"]) + return p.cur.onDocumentHeader45() } -func (c *current) onExtraListElement75() (interface{}, error) { - return types.NewRawLine(string(c.text)) +func (c *current) onDocumentHeader69() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonExtraListElement75() (interface{}, error) { +func (p *parser) callonDocumentHeader69() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement75() + return p.cur.onDocumentHeader69() } -func (c *current) onExtraListElement79() (interface{}, error) { +func (c *current) onDocumentHeader73() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonExtraListElement79() (interface{}, error) { +func (p *parser) callonDocumentHeader73() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement79() + return p.cur.onDocumentHeader73() } -func (c *current) onExtraListElement72(rawline interface{}) (interface{}, error) { - return types.NewParagraph(rawline) +func (c *current) onDocumentHeader63(content interface{}) (interface{}, error) { + return types.NewSingleLineComment(content.(string)) } -func (p *parser) callonExtraListElement72() (interface{}, error) { +func (p *parser) callonDocumentHeader63() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement72(stack["rawline"]) + return p.cur.onDocumentHeader63(stack["content"]) } -func (c *current) onExtraListElement28(prefix, content interface{}) (interface{}, error) { - return types.NewOrderedListElement(prefix.(types.OrderedListElementPrefix), content) +func (c *current) onDocumentHeader86() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonExtraListElement28() (interface{}, error) { +func (p *parser) callonDocumentHeader86() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement28(stack["prefix"], stack["content"]) + return p.cur.onDocumentHeader86() } -func (c *current) onExtraListElement8(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onDocumentHeader89() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDocumentHeader89() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeader89() +} +func (c *current) onDocumentHeader82() (interface{}, error) { + return types.NewBlockDelimiter(types.Comment, string(c.text)) } -func (p *parser) callonExtraListElement8() (interface{}, error) { +func (p *parser) callonDocumentHeader82() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement8(stack["element"]) + return p.cur.onDocumentHeader82() } -func (c *current) onExtraListElement98() (interface{}, error) { +func (c *current) onDocumentHeader106() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExtraListElement98() (interface{}, error) { +func (p *parser) callonDocumentHeader106() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement98() + return p.cur.onDocumentHeader106() } -func (c *current) onExtraListElement105() (interface{}, error) { +func (c *current) onDocumentHeader109() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} - // `.` is 1, etc. - return (len(c.text)), nil +func (p *parser) callonDocumentHeader109() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeader109() +} +func (c *current) onDocumentHeader102() (interface{}, error) { + return types.NewBlockDelimiter(types.Comment, string(c.text)) } -func (p *parser) callonExtraListElement105() (interface{}, error) { +func (p *parser) callonDocumentHeader102() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement105() + return p.cur.onDocumentHeader102() } -func (c *current) onExtraListElement108(depth interface{}) (bool, error) { - - // use a predicate to make sure that only `.` to `.....` are allowed - return depth.(int) <= 5, nil +func (c *current) onDocumentHeader125() (interface{}, error) { + // content is NOT mandatory + return string(c.text), nil } -func (p *parser) callonExtraListElement108() (bool, error) { +func (p *parser) callonDocumentHeader125() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement108(stack["depth"]) + return p.cur.onDocumentHeader125() } -func (c *current) onExtraListElement102(depth interface{}) (interface{}, error) { - switch depth.(int) { - case 1: - return types.NewOrderedListElementPrefix(types.Arabic) - case 2: - return types.NewOrderedListElementPrefix(types.LowerAlpha) - case 3: - return types.NewOrderedListElementPrefix(types.LowerRoman) - case 4: - return types.NewOrderedListElementPrefix(types.UpperAlpha) - default: - return types.NewOrderedListElementPrefix(types.UpperRoman) - } - +func (c *current) onDocumentHeader129() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonExtraListElement102() (interface{}, error) { +func (p *parser) callonDocumentHeader129() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement102(stack["depth"]) + return p.cur.onDocumentHeader129() } -func (c *current) onExtraListElement109() (interface{}, error) { - // numbering style: "1.", etc. - return types.NewOrderedListElementPrefix(types.Arabic) +func (c *current) onDocumentHeader119(content interface{}) (interface{}, error) { + + return types.NewRawLine(content.(string)) } -func (p *parser) callonExtraListElement109() (interface{}, error) { +func (p *parser) callonDocumentHeader119() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement109() + return p.cur.onDocumentHeader119(stack["content"]) } -func (c *current) onExtraListElement114() (interface{}, error) { - // numbering style: "a.", etc. - return types.NewOrderedListElementPrefix(types.LowerAlpha) +func (c *current) onDocumentHeader98(line interface{}) (interface{}, error) { + return line, nil } -func (p *parser) callonExtraListElement114() (interface{}, error) { +func (p *parser) callonDocumentHeader98() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement114() + return p.cur.onDocumentHeader98(stack["line"]) } -func (c *current) onExtraListElement118() (interface{}, error) { - // numbering style: "A.", etc. - return types.NewOrderedListElementPrefix(types.UpperAlpha) +func (c *current) onDocumentHeader142() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonExtraListElement118() (interface{}, error) { +func (p *parser) callonDocumentHeader142() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement118() + return p.cur.onDocumentHeader142() } -func (c *current) onExtraListElement122() (interface{}, error) { - // numbering style: "i)", etc. - return types.NewOrderedListElementPrefix(types.LowerRoman) +func (c *current) onDocumentHeader145() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDocumentHeader145() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeader145() +} +func (c *current) onDocumentHeader138() (interface{}, error) { + return types.NewBlockDelimiter(types.Comment, string(c.text)) } -func (p *parser) callonExtraListElement122() (interface{}, error) { +func (p *parser) callonDocumentHeader138() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement122() + return p.cur.onDocumentHeader138() } -func (c *current) onExtraListElement127() (interface{}, error) { - // numbering style: "I)", etc. - return types.NewOrderedListElementPrefix(types.UpperRoman) +func (c *current) onDocumentHeader80(content interface{}) (interface{}, error) { + c.unsetWithinDelimitedBlock() + return types.NewDelimitedBlock(types.Comment, content.([]interface{})) } -func (p *parser) callonExtraListElement127() (interface{}, error) { +func (p *parser) callonDocumentHeader80() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement127() + return p.cur.onDocumentHeader80(stack["content"]) } -func (c *current) onExtraListElement132(prefix interface{}) (interface{}, error) { - // log.Debug("matched multiple spaces") +func (c *current) onDocumentHeader158() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExtraListElement132() (interface{}, error) { +func (p *parser) callonDocumentHeader158() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement132(stack["prefix"]) + return p.cur.onDocumentHeader158() } -func (c *current) onExtraListElement95(prefix interface{}) (interface{}, error) { - return prefix, nil +func (c *current) onDocumentHeader175() (interface{}, error) { + // no space allowed + return string(c.text), nil + } -func (p *parser) callonExtraListElement95() (interface{}, error) { +func (p *parser) callonDocumentHeader175() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement95(stack["prefix"]) + return p.cur.onDocumentHeader175() } -func (c *current) onExtraListElement139() (interface{}, error) { - return types.NewRawLine(string(c.text)) +func (c *current) onDocumentHeader179() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonExtraListElement139() (interface{}, error) { +func (p *parser) callonDocumentHeader179() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement139() + return p.cur.onDocumentHeader179() } -func (c *current) onExtraListElement143() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onDocumentHeader183() (interface{}, error) { + // no space allowed return string(c.text), nil + } -func (p *parser) callonExtraListElement143() (interface{}, error) { +func (p *parser) callonDocumentHeader183() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement143() + return p.cur.onDocumentHeader183() } -func (c *current) onExtraListElement136(rawline interface{}) (interface{}, error) { - return types.NewParagraph(rawline) +func (c *current) onDocumentHeader187() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonExtraListElement136() (interface{}, error) { +func (p *parser) callonDocumentHeader187() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement136(stack["rawline"]) + return p.cur.onDocumentHeader187() } -func (c *current) onExtraListElement92(prefix, content interface{}) (interface{}, error) { - return types.NewOrderedListElement(prefix.(types.OrderedListElementPrefix), content) +func (c *current) onDocumentHeader191() (interface{}, error) { + // spaces allowed + return string(c.text), nil } -func (p *parser) callonExtraListElement92() (interface{}, error) { +func (p *parser) callonDocumentHeader191() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement92(stack["prefix"], stack["content"]) + return p.cur.onDocumentHeader191() } -func (c *current) onExtraListElement86(attributes, element interface{}) (interface{}, error) { - return append(attributes.([]interface{}), element), nil +func (c *current) onDocumentHeader195() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonExtraListElement86() (interface{}, error) { +func (p *parser) callonDocumentHeader195() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement86(stack["attributes"], stack["element"]) + return p.cur.onDocumentHeader195() } -func (c *current) onExtraListElement159() (interface{}, error) { - return string(c.text), nil +func (c *current) onDocumentHeader172(part1, part2, part3 interface{}) (interface{}, error) { + return types.NewDocumentAuthorFullName(part1.(string), part2, part3) } -func (p *parser) callonExtraListElement159() (interface{}, error) { +func (p *parser) callonDocumentHeader172() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement159() + return p.cur.onDocumentHeader172(stack["part1"], stack["part2"], stack["part3"]) } -func (c *current) onExtraListElement162() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onDocumentHeader206() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonExtraListElement162() (interface{}, error) { +func (p *parser) callonDocumentHeader206() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement162() + return p.cur.onDocumentHeader206() } -func (c *current) onExtraListElement153() (interface{}, error) { - return types.NewBlankLine() +func (c *current) onDocumentHeader199(email interface{}) (interface{}, error) { + return email, nil } -func (p *parser) callonExtraListElement153() (interface{}, error) { +func (p *parser) callonDocumentHeader199() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement153() + return p.cur.onDocumentHeader199(stack["email"]) } -func (c *current) onExtraListElement176() (interface{}, error) { +func (c *current) onDocumentHeader211() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExtraListElement176() (interface{}, error) { +func (p *parser) callonDocumentHeader211() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement176() + return p.cur.onDocumentHeader211() } -func (c *current) onExtraListElement183() (interface{}, error) { - - // `*` is 1, etc. - return (len(c.text)), nil +func (c *current) onDocumentHeader216() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonExtraListElement183() (interface{}, error) { +func (p *parser) callonDocumentHeader216() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement183() + return p.cur.onDocumentHeader216() } -func (c *current) onExtraListElement186(depth interface{}) (bool, error) { - - // use a predicate to make sure that only `*` to `*****` are allowed - return depth.(int) <= 5, nil +func (c *current) onDocumentHeader218(fullName, email interface{}) (bool, error) { + // at least 1 of [fullName, email] must be defined + return fullName != nil || email != nil, nil } -func (p *parser) callonExtraListElement186() (bool, error) { +func (p *parser) callonDocumentHeader218() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement186(stack["depth"]) + return p.cur.onDocumentHeader218(stack["fullName"], stack["email"]) } -func (c *current) onExtraListElement180(depth interface{}) (interface{}, error) { - switch depth.(int) { - case 1: - return types.NewUnorderedListElementPrefix(types.OneAsterisk) - case 2: - return types.NewUnorderedListElementPrefix(types.TwoAsterisks) - case 3: - return types.NewUnorderedListElementPrefix(types.ThreeAsterisks) - case 4: - return types.NewUnorderedListElementPrefix(types.FourAsterisks) - default: - return types.NewUnorderedListElementPrefix(types.FiveAsterisks) - } +func (c *current) onDocumentHeader168(fullName, email interface{}) (interface{}, error) { + return types.NewDocumentAuthor(fullName, email) } -func (p *parser) callonExtraListElement180() (interface{}, error) { +func (p *parser) callonDocumentHeader168() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement180(stack["depth"]) + return p.cur.onDocumentHeader168(stack["fullName"], stack["email"]) } -func (c *current) onExtraListElement188() (interface{}, error) { - return types.NewUnorderedListElementPrefix(types.Dash) - +func (c *current) onDocumentHeader162(authors interface{}) (interface{}, error) { + return types.NewDocumentAuthors(authors.([]interface{})...) } -func (p *parser) callonExtraListElement188() (interface{}, error) { +func (p *parser) callonDocumentHeader162() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement188() + return p.cur.onDocumentHeader162(stack["authors"]) } -func (c *current) onExtraListElement190(prefix interface{}) (interface{}, error) { - // log.Debug("matched multiple spaces") +func (c *current) onDocumentHeader223() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExtraListElement190() (interface{}, error) { +func (p *parser) callonDocumentHeader223() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement190(stack["prefix"]) + return p.cur.onDocumentHeader223() } -func (c *current) onExtraListElement173(prefix interface{}) (interface{}, error) { - return prefix, nil +func (c *current) onDocumentHeader233() (interface{}, error) { + // no space allowed + return string(c.text), nil + } -func (p *parser) callonExtraListElement173() (interface{}, error) { +func (p *parser) callonDocumentHeader233() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement173(stack["prefix"]) + return p.cur.onDocumentHeader233() } -func (c *current) onExtraListElement201() (interface{}, error) { - return types.Unchecked, nil +func (c *current) onDocumentHeader237() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonExtraListElement201() (interface{}, error) { +func (p *parser) callonDocumentHeader237() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement201() + return p.cur.onDocumentHeader237() } -func (c *current) onExtraListElement203() (interface{}, error) { - return types.Checked, nil +func (c *current) onDocumentHeader241() (interface{}, error) { + // no space allowed + return string(c.text), nil + } -func (p *parser) callonExtraListElement203() (interface{}, error) { +func (p *parser) callonDocumentHeader241() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement203() + return p.cur.onDocumentHeader241() } -func (c *current) onExtraListElement205() (interface{}, error) { - return types.Checked, nil +func (c *current) onDocumentHeader245() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonExtraListElement205() (interface{}, error) { +func (p *parser) callonDocumentHeader245() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement205() + return p.cur.onDocumentHeader245() } -func (c *current) onExtraListElement207(style interface{}) (interface{}, error) { - // log.Debug("matched multiple spaces") +func (c *current) onDocumentHeader249() (interface{}, error) { + // spaces allowed return string(c.text), nil } -func (p *parser) callonExtraListElement207() (interface{}, error) { +func (p *parser) callonDocumentHeader249() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement207(stack["style"]) + return p.cur.onDocumentHeader249() } -func (c *current) onExtraListElement195(style interface{}) (interface{}, error) { - return style, nil +func (c *current) onDocumentHeader253() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonExtraListElement195() (interface{}, error) { +func (p *parser) callonDocumentHeader253() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement195(stack["style"]) + return p.cur.onDocumentHeader253() } -func (c *current) onExtraListElement214() (interface{}, error) { - return types.NewRawLine(string(c.text)) +func (c *current) onDocumentHeader230(part1, part2, part3 interface{}) (interface{}, error) { + return types.NewDocumentAuthorFullName(part1.(string), part2, part3) } -func (p *parser) callonExtraListElement214() (interface{}, error) { +func (p *parser) callonDocumentHeader230() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement214() + return p.cur.onDocumentHeader230(stack["part1"], stack["part2"], stack["part3"]) } -func (c *current) onExtraListElement218() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onDocumentHeader264() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonExtraListElement218() (interface{}, error) { +func (p *parser) callonDocumentHeader264() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement218() + return p.cur.onDocumentHeader264() } -func (c *current) onExtraListElement211(rawline interface{}) (interface{}, error) { - return types.NewParagraph(rawline) +func (c *current) onDocumentHeader257(email interface{}) (interface{}, error) { + return email, nil } -func (p *parser) callonExtraListElement211() (interface{}, error) { +func (p *parser) callonDocumentHeader257() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement211(stack["rawline"]) + return p.cur.onDocumentHeader257(stack["email"]) } -func (c *current) onExtraListElement170(prefix, checkstyle, content interface{}) (interface{}, error) { - return types.NewUnorderedListElement(prefix.(types.UnorderedListElementPrefix), checkstyle, content) +func (c *current) onDocumentHeader269() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonExtraListElement170() (interface{}, error) { +func (p *parser) callonDocumentHeader269() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement170(stack["prefix"], stack["checkstyle"], stack["content"]) + return p.cur.onDocumentHeader269() } -func (c *current) onExtraListElement150(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onDocumentHeader274() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonExtraListElement150() (interface{}, error) { +func (p *parser) callonDocumentHeader274() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement150(stack["element"]) + return p.cur.onDocumentHeader274() } -func (c *current) onExtraListElement237() (interface{}, error) { - return string(c.text), nil +func (c *current) onDocumentHeader276(fullName, email interface{}) (bool, error) { + // at least 1 of [fullName, email] must be defined + return fullName != nil || email != nil, nil } -func (p *parser) callonExtraListElement237() (interface{}, error) { +func (p *parser) callonDocumentHeader276() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement237() + return p.cur.onDocumentHeader276(stack["fullName"], stack["email"]) } -func (c *current) onExtraListElement244() (interface{}, error) { - - // `*` is 1, etc. - return (len(c.text)), nil +func (c *current) onDocumentHeader226(fullName, email interface{}) (interface{}, error) { + return types.NewDocumentAuthor(fullName, email) } -func (p *parser) callonExtraListElement244() (interface{}, error) { +func (p *parser) callonDocumentHeader226() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement244() + return p.cur.onDocumentHeader226(stack["fullName"], stack["email"]) } -func (c *current) onExtraListElement247(depth interface{}) (bool, error) { +func (c *current) onDocumentHeader219(author interface{}) (interface{}, error) { + return types.NewDocumentAuthors(author) +} - // use a predicate to make sure that only `*` to `*****` are allowed - return depth.(int) <= 5, nil +func (p *parser) callonDocumentHeader219() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeader219(stack["author"]) +} +func (c *current) onDocumentHeader278() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonExtraListElement247() (bool, error) { +func (p *parser) callonDocumentHeader278() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement247(stack["depth"]) + return p.cur.onDocumentHeader278() } -func (c *current) onExtraListElement241(depth interface{}) (interface{}, error) { - switch depth.(int) { - case 1: - return types.NewUnorderedListElementPrefix(types.OneAsterisk) - case 2: - return types.NewUnorderedListElementPrefix(types.TwoAsterisks) - case 3: - return types.NewUnorderedListElementPrefix(types.ThreeAsterisks) - case 4: - return types.NewUnorderedListElementPrefix(types.FourAsterisks) - default: - return types.NewUnorderedListElementPrefix(types.FiveAsterisks) - } - +func (c *current) onDocumentHeader155(authors interface{}) (interface{}, error) { + return authors, nil } -func (p *parser) callonExtraListElement241() (interface{}, error) { +func (p *parser) callonDocumentHeader155() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement241(stack["depth"]) + return p.cur.onDocumentHeader155(stack["authors"]) } -func (c *current) onExtraListElement249() (interface{}, error) { - return types.NewUnorderedListElementPrefix(types.Dash) +func (c *current) onDocumentHeader293() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonExtraListElement249() (interface{}, error) { +func (p *parser) callonDocumentHeader293() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement249() + return p.cur.onDocumentHeader293() } -func (c *current) onExtraListElement251(prefix interface{}) (interface{}, error) { - // log.Debug("matched multiple spaces") +func (c *current) onDocumentHeader297() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonExtraListElement251() (interface{}, error) { +func (p *parser) callonDocumentHeader297() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement251(stack["prefix"]) + return p.cur.onDocumentHeader297() } -func (c *current) onExtraListElement234(prefix interface{}) (interface{}, error) { - return prefix, nil +func (c *current) onDocumentHeader287(content interface{}) (interface{}, error) { + return types.NewSingleLineComment(content.(string)) + } -func (p *parser) callonExtraListElement234() (interface{}, error) { +func (p *parser) callonDocumentHeader287() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement234(stack["prefix"]) + return p.cur.onDocumentHeader287(stack["content"]) } -func (c *current) onExtraListElement262() (interface{}, error) { - return types.Unchecked, nil +func (c *current) onDocumentHeader310() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonExtraListElement262() (interface{}, error) { +func (p *parser) callonDocumentHeader310() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement262() + return p.cur.onDocumentHeader310() } -func (c *current) onExtraListElement264() (interface{}, error) { - return types.Checked, nil +func (c *current) onDocumentHeader313() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonExtraListElement264() (interface{}, error) { +func (p *parser) callonDocumentHeader313() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement264() + return p.cur.onDocumentHeader313() } -func (c *current) onExtraListElement266() (interface{}, error) { - return types.Checked, nil +func (c *current) onDocumentHeader306() (interface{}, error) { + return types.NewBlockDelimiter(types.Comment, string(c.text)) } -func (p *parser) callonExtraListElement266() (interface{}, error) { +func (p *parser) callonDocumentHeader306() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement266() + return p.cur.onDocumentHeader306() } -func (c *current) onExtraListElement268(style interface{}) (interface{}, error) { - // log.Debug("matched multiple spaces") +func (c *current) onDocumentHeader330() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExtraListElement268() (interface{}, error) { +func (p *parser) callonDocumentHeader330() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement268(stack["style"]) + return p.cur.onDocumentHeader330() } -func (c *current) onExtraListElement256(style interface{}) (interface{}, error) { - return style, nil - +func (c *current) onDocumentHeader333() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonExtraListElement256() (interface{}, error) { +func (p *parser) callonDocumentHeader333() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement256(stack["style"]) + return p.cur.onDocumentHeader333() } -func (c *current) onExtraListElement275() (interface{}, error) { - return types.NewRawLine(string(c.text)) - +func (c *current) onDocumentHeader326() (interface{}, error) { + return types.NewBlockDelimiter(types.Comment, string(c.text)) } -func (p *parser) callonExtraListElement275() (interface{}, error) { +func (p *parser) callonDocumentHeader326() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement275() + return p.cur.onDocumentHeader326() } -func (c *current) onExtraListElement279() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onDocumentHeader349() (interface{}, error) { + // content is NOT mandatory return string(c.text), nil + } -func (p *parser) callonExtraListElement279() (interface{}, error) { +func (p *parser) callonDocumentHeader349() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement279() + return p.cur.onDocumentHeader349() } -func (c *current) onExtraListElement272(rawline interface{}) (interface{}, error) { - return types.NewParagraph(rawline) - +func (c *current) onDocumentHeader353() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonExtraListElement272() (interface{}, error) { +func (p *parser) callonDocumentHeader353() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement272(stack["rawline"]) + return p.cur.onDocumentHeader353() } -func (c *current) onExtraListElement231(prefix, checkstyle, content interface{}) (interface{}, error) { - return types.NewUnorderedListElement(prefix.(types.UnorderedListElementPrefix), checkstyle, content) +func (c *current) onDocumentHeader343(content interface{}) (interface{}, error) { + + return types.NewRawLine(content.(string)) } -func (p *parser) callonExtraListElement231() (interface{}, error) { +func (p *parser) callonDocumentHeader343() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement231(stack["prefix"], stack["checkstyle"], stack["content"]) + return p.cur.onDocumentHeader343(stack["content"]) } -func (c *current) onExtraListElement225(attributes, element interface{}) (interface{}, error) { - return append(attributes.([]interface{}), element), nil +func (c *current) onDocumentHeader322(line interface{}) (interface{}, error) { + return line, nil } -func (p *parser) callonExtraListElement225() (interface{}, error) { +func (p *parser) callonDocumentHeader322() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement225(stack["attributes"], stack["element"]) + return p.cur.onDocumentHeader322(stack["line"]) } -func (c *current) onExtraListElement295() (interface{}, error) { +func (c *current) onDocumentHeader366() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExtraListElement295() (interface{}, error) { +func (p *parser) callonDocumentHeader366() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement295() + return p.cur.onDocumentHeader366() } -func (c *current) onExtraListElement298() (interface{}, error) { +func (c *current) onDocumentHeader369() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonExtraListElement298() (interface{}, error) { +func (p *parser) callonDocumentHeader369() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement298() + return p.cur.onDocumentHeader369() } -func (c *current) onExtraListElement289() (interface{}, error) { - return types.NewBlankLine() - +func (c *current) onDocumentHeader362() (interface{}, error) { + return types.NewBlockDelimiter(types.Comment, string(c.text)) } -func (p *parser) callonExtraListElement289() (interface{}, error) { +func (p *parser) callonDocumentHeader362() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement289() + return p.cur.onDocumentHeader362() } -func (c *current) onExtraListElement313() (interface{}, error) { - return strconv.Atoi(string(c.text)) +func (c *current) onDocumentHeader304(content interface{}) (interface{}, error) { + c.unsetWithinDelimitedBlock() + return types.NewDelimitedBlock(types.Comment, content.([]interface{})) + } -func (p *parser) callonExtraListElement313() (interface{}, error) { +func (p *parser) callonDocumentHeader304() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement313() + return p.cur.onDocumentHeader304(stack["content"]) } -func (c *current) onExtraListElement317(ref interface{}) (interface{}, error) { - // log.Debug("matched multiple spaces") +func (c *current) onDocumentHeader383() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExtraListElement317() (interface{}, error) { +func (p *parser) callonDocumentHeader383() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement317(stack["ref"]) + return p.cur.onDocumentHeader383() } -func (c *current) onExtraListElement309(ref interface{}) (interface{}, error) { - return ref, nil - +func (c *current) onDocumentHeader393() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonExtraListElement309() (interface{}, error) { +func (p *parser) callonDocumentHeader393() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement309(stack["ref"]) + return p.cur.onDocumentHeader393() } -func (c *current) onExtraListElement324() (interface{}, error) { +func (c *current) onDocumentHeader407() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExtraListElement324() (interface{}, error) { +func (p *parser) callonDocumentHeader407() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement324() + return p.cur.onDocumentHeader407() } -func (c *current) onExtraListElement328() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onDocumentHeader399() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExtraListElement328() (interface{}, error) { +func (p *parser) callonDocumentHeader399() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement328() + return p.cur.onDocumentHeader399() } -func (c *current) onExtraListElement321(rawline interface{}) (interface{}, error) { - return types.NewRawLine(rawline.(string)) - +func (c *current) onDocumentHeader415() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonExtraListElement321() (interface{}, error) { +func (p *parser) callonDocumentHeader415() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement321(stack["rawline"]) + return p.cur.onDocumentHeader415() } -func (c *current) onExtraListElement306(ref, description interface{}) (interface{}, error) { - return types.NewCalloutListElement(ref.(int), description.(types.RawLine)) - +func (c *current) onDocumentHeader422() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonExtraListElement306() (interface{}, error) { +func (p *parser) callonDocumentHeader422() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement306(stack["ref"], stack["description"]) -} - -func (c *current) onExtraListElement286(element interface{}) (interface{}, error) { - return element, nil - + return p.cur.onDocumentHeader422() } -func (p *parser) callonExtraListElement286() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onExtraListElement286(stack["element"]) -} +func (c *current) onDocumentHeader389(revnumber, revdate, revremark interface{}) (interface{}, error) { + return types.NewDocumentRevision(revnumber, revdate, revremark) -func (c *current) onExtraListElement348() (interface{}, error) { - return strconv.Atoi(string(c.text)) } -func (p *parser) callonExtraListElement348() (interface{}, error) { +func (p *parser) callonDocumentHeader389() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement348() + return p.cur.onDocumentHeader389(stack["revnumber"], stack["revdate"], stack["revremark"]) } -func (c *current) onExtraListElement352(ref interface{}) (interface{}, error) { - // log.Debug("matched multiple spaces") +func (c *current) onDocumentHeader428() (interface{}, error) { return string(c.text), nil - } -func (p *parser) callonExtraListElement352() (interface{}, error) { +func (p *parser) callonDocumentHeader428() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement352(stack["ref"]) + return p.cur.onDocumentHeader428() } -func (c *current) onExtraListElement344(ref interface{}) (interface{}, error) { - return ref, nil - +func (c *current) onDocumentHeader435() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonExtraListElement344() (interface{}, error) { +func (p *parser) callonDocumentHeader435() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement344(stack["ref"]) + return p.cur.onDocumentHeader435() } -func (c *current) onExtraListElement359() (interface{}, error) { - return string(c.text), nil +func (c *current) onDocumentHeader425(revdate, revremark interface{}) (interface{}, error) { + return types.NewDocumentRevision(nil, revdate, revremark) } -func (p *parser) callonExtraListElement359() (interface{}, error) { +func (p *parser) callonDocumentHeader425() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement359() + return p.cur.onDocumentHeader425(stack["revdate"], stack["revremark"]) } -func (c *current) onExtraListElement363() (interface{}, error) { +func (c *current) onDocumentHeader439() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonExtraListElement363() (interface{}, error) { +func (p *parser) callonDocumentHeader439() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement363() + return p.cur.onDocumentHeader439() } -func (c *current) onExtraListElement356(rawline interface{}) (interface{}, error) { - return types.NewRawLine(rawline.(string)) - +func (c *current) onDocumentHeader380(revision interface{}) (interface{}, error) { + return revision, nil } -func (p *parser) callonExtraListElement356() (interface{}, error) { +func (p *parser) callonDocumentHeader380() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement356(stack["rawline"]) + return p.cur.onDocumentHeader380(stack["revision"]) } -func (c *current) onExtraListElement341(ref, description interface{}) (interface{}, error) { - return types.NewCalloutListElement(ref.(int), description.(types.RawLine)) +func (c *current) onDocumentHeader42(authors, revision interface{}) (interface{}, error) { + return types.NewDocumentInformation(authors.(types.DocumentAuthors), revision) } -func (p *parser) callonExtraListElement341() (interface{}, error) { +func (p *parser) callonDocumentHeader42() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement341(stack["ref"], stack["description"]) + return p.cur.onDocumentHeader42(stack["authors"], stack["revision"]) } -func (c *current) onExtraListElement335(attributes, element interface{}) (interface{}, error) { - return append(attributes.([]interface{}), element), nil +func (c *current) onDocumentHeader454() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonExtraListElement335() (interface{}, error) { +func (p *parser) callonDocumentHeader454() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement335(stack["attributes"], stack["element"]) + return p.cur.onDocumentHeader454() } -func (c *current) onExtraListElement380() (interface{}, error) { +func (c *current) onDocumentHeader461() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExtraListElement380() (interface{}, error) { +func (p *parser) callonDocumentHeader461() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement380() + return p.cur.onDocumentHeader461() } -func (c *current) onExtraListElement383() (interface{}, error) { +func (c *current) onDocumentHeader464() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonExtraListElement383() (interface{}, error) { +func (p *parser) callonDocumentHeader464() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement383() + return p.cur.onDocumentHeader464() } -func (c *current) onExtraListElement374() (interface{}, error) { - return types.NewBlankLine() - +func (c *current) onDocumentHeader450(name interface{}) (interface{}, error) { + return types.NewAttributeReset(name.(string), string(c.text)) } -func (p *parser) callonExtraListElement374() (interface{}, error) { +func (p *parser) callonDocumentHeader450() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement374() + return p.cur.onDocumentHeader450(stack["name"]) } -func (c *current) onExtraListElement401() (interface{}, error) { - +func (c *current) onDocumentHeader475() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExtraListElement401() (interface{}, error) { +func (p *parser) callonDocumentHeader475() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement401() + return p.cur.onDocumentHeader475() } -func (c *current) onExtraListElement404(separator interface{}) (bool, error) { - - // use a predicate to make sure that separator is `::`, `:::` or `::::` - return len(separator.(string)) >= 2 && len(separator.(string)) <= 4, nil +func (c *current) onDocumentHeader482() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonExtraListElement404() (bool, error) { +func (p *parser) callonDocumentHeader482() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement404(stack["separator"]) + return p.cur.onDocumentHeader482() } -func (c *current) onExtraListElement398(separator interface{}) (interface{}, error) { - return separator, nil - +func (c *current) onDocumentHeader485() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonExtraListElement398() (interface{}, error) { +func (p *parser) callonDocumentHeader485() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement398(stack["separator"]) + return p.cur.onDocumentHeader485() } -func (c *current) onExtraListElement407() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onDocumentHeader471(name interface{}) (interface{}, error) { + return types.NewAttributeReset(name.(string), string(c.text)) } -func (p *parser) callonExtraListElement407() (interface{}, error) { +func (p *parser) callonDocumentHeader471() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement407() + return p.cur.onDocumentHeader471(stack["name"]) } -func (c *current) onExtraListElement394() (interface{}, error) { - return types.NewRawLine(string(c.text)) +func (c *current) onDocumentHeader1(title, info, extraAttrs interface{}) (interface{}, error) { + return types.NewDocumentHeader(title.([]interface{}), info, extraAttrs.([]interface{})) } -func (p *parser) callonExtraListElement394() (interface{}, error) { +func (p *parser) callonDocumentHeader1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement394() + return p.cur.onDocumentHeader1(stack["title"], stack["info"], stack["extraAttrs"]) } -func (c *current) onExtraListElement419() (interface{}, error) { - +func (c *current) onInlineElement9() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExtraListElement419() (interface{}, error) { +func (p *parser) callonInlineElement9() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement419() + return p.cur.onInlineElement9() } -func (c *current) onExtraListElement422(separator interface{}) (bool, error) { - - // use a predicate to make sure that separator is `::`, `:::` or `::::` - return len(separator.(string)) >= 2 && len(separator.(string)) <= 4, nil - +func (c *current) onInlineElement14() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonExtraListElement422() (bool, error) { +func (p *parser) callonInlineElement14() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement422(stack["separator"]) + return p.cur.onInlineElement14() } -func (c *current) onExtraListElement416(separator interface{}) (interface{}, error) { - return separator, nil +func (c *current) onInlineElement4() (interface{}, error) { + return types.NewStringElement(string(c.text)) } -func (p *parser) callonExtraListElement416() (interface{}, error) { +func (p *parser) callonInlineElement4() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement416(stack["separator"]) + return p.cur.onInlineElement4() } -func (c *current) onExtraListElement428() (interface{}, error) { +func (c *current) onInlineElement21() (interface{}, error) { + // log.Debug("matched multiple spaces") return string(c.text), nil } -func (p *parser) callonExtraListElement428() (interface{}, error) { +func (p *parser) callonInlineElement21() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement428() + return p.cur.onInlineElement21() } -func (c *current) onExtraListElement431() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onInlineElement26() (bool, error) { + + return c.isSubstitutionEnabled(PostReplacements) && c.isPreceededBySpace(), nil + } -func (p *parser) callonExtraListElement431() (interface{}, error) { +func (p *parser) callonInlineElement26() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement431() + return p.cur.onInlineElement26() } -func (c *current) onExtraListElement445() (interface{}, error) { +func (c *current) onInlineElement29() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExtraListElement445() (interface{}, error) { +func (p *parser) callonInlineElement29() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement445() + return p.cur.onInlineElement29() } -func (c *current) onExtraListElement448() (interface{}, error) { +func (c *current) onInlineElement33() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonExtraListElement448() (interface{}, error) { +func (p *parser) callonInlineElement33() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement448() + return p.cur.onInlineElement33() } -func (c *current) onExtraListElement439() (interface{}, error) { - return types.NewBlankLine() +func (c *current) onInlineElement24() (interface{}, error) { + return types.NewLineBreak() } -func (p *parser) callonExtraListElement439() (interface{}, error) { +func (p *parser) callonInlineElement24() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement439() + return p.cur.onInlineElement24() } -func (c *current) onExtraListElement466() (interface{}, error) { +func (c *current) onInlineElement43() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonExtraListElement466() (interface{}, error) { +func (p *parser) callonInlineElement43() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement466() + return p.cur.onInlineElement43() } -func (c *current) onExtraListElement469() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onInlineElement53() (bool, error) { + return c.isSubstitutionEnabled(SpecialCharacters), nil + } -func (p *parser) callonExtraListElement469() (interface{}, error) { +func (p *parser) callonInlineElement53() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement469() + return p.cur.onInlineElement53() } -func (c *current) onExtraListElement460() (interface{}, error) { - return types.NewBlankLine() +func (c *current) onInlineElement62() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ + return string(c.text), nil } -func (p *parser) callonExtraListElement460() (interface{}, error) { +func (p *parser) callonInlineElement62() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement460() + return p.cur.onInlineElement62() } -func (c *current) onExtraListElement480() (interface{}, error) { +func (c *current) onInlineElement66() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExtraListElement480() (interface{}, error) { +func (p *parser) callonInlineElement66() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement480() + return p.cur.onInlineElement66() } -func (c *current) onExtraListElement482() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onInlineElement72() (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) callonExtraListElement482() (interface{}, error) { +func (p *parser) callonInlineElement72() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement482() + return p.cur.onInlineElement72() } -func (c *current) onExtraListElement491() (interface{}, error) { +func (c *current) onInlineElement81() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExtraListElement491() (interface{}, error) { +func (p *parser) callonInlineElement81() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement491() + return p.cur.onInlineElement81() } -func (c *current) onExtraListElement498() (interface{}, error) { +func (c *current) onInlineElement77(name interface{}) (interface{}, error) { - // `.` is 1, etc. - return (len(c.text)), nil + return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonExtraListElement498() (interface{}, error) { +func (p *parser) callonInlineElement77() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement498() + return p.cur.onInlineElement77(stack["name"]) } -func (c *current) onExtraListElement501(depth interface{}) (bool, error) { +func (c *current) onInlineElement87() (interface{}, error) { - // use a predicate to make sure that only `.` to `.....` are allowed - return depth.(int) <= 5, nil + return types.NewStringElement(string(c.text)) } -func (p *parser) callonExtraListElement501() (bool, error) { +func (p *parser) callonInlineElement87() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement501(stack["depth"]) + return p.cur.onInlineElement87() } -func (c *current) onExtraListElement495(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) onInlineElement58(id, label interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, label) } -func (p *parser) callonExtraListElement495() (interface{}, error) { +func (p *parser) callonInlineElement58() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement495(stack["depth"]) + return p.cur.onInlineElement58(stack["id"], stack["label"]) } -func (c *current) onExtraListElement502() (interface{}, error) { - // numbering style: "1.", etc. - return types.NewOrderedListElementPrefix(types.Arabic) +func (c *current) onInlineElement94() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ + return string(c.text), nil } -func (p *parser) callonExtraListElement502() (interface{}, error) { +func (p *parser) callonInlineElement94() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement502() + return p.cur.onInlineElement94() } -func (c *current) onExtraListElement507() (interface{}, error) { - // numbering style: "a.", etc. - return types.NewOrderedListElementPrefix(types.LowerAlpha) +func (c *current) onInlineElement90(id interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, nil) } -func (p *parser) callonExtraListElement507() (interface{}, error) { +func (p *parser) callonInlineElement90() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement507() + return p.cur.onInlineElement90(stack["id"]) } -func (c *current) onExtraListElement511() (interface{}, error) { - // numbering style: "A.", etc. - return types.NewOrderedListElementPrefix(types.UpperAlpha) +func (c *current) onInlineElement56() (interface{}, error) { + return types.NewStringElement(string(c.text)) } -func (p *parser) callonExtraListElement511() (interface{}, error) { +func (p *parser) callonInlineElement56() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement511() + return p.cur.onInlineElement56() } -func (c *current) onExtraListElement515() (interface{}, error) { - // numbering style: "i)", etc. - return types.NewOrderedListElementPrefix(types.LowerRoman) +func (c *current) onInlineElement98() (interface{}, error) { + return types.NewSpecialCharacter(string(c.text)) } -func (p *parser) callonExtraListElement515() (interface{}, error) { +func (p *parser) callonInlineElement98() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement515() + return p.cur.onInlineElement98() } -func (c *current) onExtraListElement520() (interface{}, error) { - // numbering style: "I)", etc. - return types.NewOrderedListElementPrefix(types.UpperRoman) +func (c *current) onInlineElement51(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonExtraListElement520() (interface{}, error) { +func (p *parser) callonInlineElement51() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement520() + return p.cur.onInlineElement51(stack["element"]) } -func (c *current) onExtraListElement525(prefix interface{}) (interface{}, error) { - // log.Debug("matched multiple spaces") - return string(c.text), nil +func (c *current) onInlineElement103() (bool, error) { + return c.isSubstitutionEnabled(Attributes), nil } -func (p *parser) callonExtraListElement525() (interface{}, error) { +func (p *parser) callonInlineElement103() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement525(stack["prefix"]) + return p.cur.onInlineElement103() } -func (c *current) onExtraListElement488(prefix interface{}) (interface{}, error) { - return prefix, nil +func (c *current) onInlineElement110() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonExtraListElement488() (interface{}, error) { +func (p *parser) callonInlineElement110() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement488(stack["prefix"]) + return p.cur.onInlineElement110() } -func (c *current) onExtraListElement532() (interface{}, error) { +func (c *current) onInlineElement122() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExtraListElement532() (interface{}, error) { +func (p *parser) callonInlineElement122() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement532() + return p.cur.onInlineElement122() } -func (c *current) onExtraListElement539() (interface{}, error) { +func (c *current) onInlineElement124() (interface{}, error) { - // `*` is 1, etc. - return (len(c.text)), nil + return strconv.Atoi(string(c.text)) } -func (p *parser) callonExtraListElement539() (interface{}, error) { +func (p *parser) callonInlineElement124() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement539() + return p.cur.onInlineElement124() } -func (c *current) onExtraListElement542(depth interface{}) (bool, error) { - - // use a predicate to make sure that only `*` to `*****` are allowed - return depth.(int) <= 5, nil +func (c *current) onInlineElement117(start interface{}) (interface{}, error) { + return start, nil } -func (p *parser) callonExtraListElement542() (bool, error) { +func (p *parser) callonInlineElement117() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement542(stack["depth"]) + return p.cur.onInlineElement117(stack["start"]) } -func (c *current) onExtraListElement536(depth interface{}) (interface{}, error) { - switch depth.(int) { - case 1: - return types.NewUnorderedListElementPrefix(types.OneAsterisk) - case 2: - return types.NewUnorderedListElementPrefix(types.TwoAsterisks) - case 3: - return types.NewUnorderedListElementPrefix(types.ThreeAsterisks) - case 4: - return types.NewUnorderedListElementPrefix(types.FourAsterisks) - default: - return types.NewUnorderedListElementPrefix(types.FiveAsterisks) - } - +func (c *current) onInlineElement106(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) } -func (p *parser) callonExtraListElement536() (interface{}, error) { +func (p *parser) callonInlineElement106() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement536(stack["depth"]) + return p.cur.onInlineElement106(stack["name"], stack["start"]) } -func (c *current) onExtraListElement544() (interface{}, error) { - return types.NewUnorderedListElementPrefix(types.Dash) +func (c *current) onInlineElement132() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonExtraListElement544() (interface{}, error) { +func (p *parser) callonInlineElement132() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement544() + return p.cur.onInlineElement132() } -func (c *current) onExtraListElement546(prefix interface{}) (interface{}, error) { - // log.Debug("matched multiple spaces") +func (c *current) onInlineElement144() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExtraListElement546() (interface{}, error) { +func (p *parser) callonInlineElement144() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement546(stack["prefix"]) -} - -func (c *current) onExtraListElement529(prefix interface{}) (interface{}, error) { - return prefix, nil + return p.cur.onInlineElement144() } -func (p *parser) callonExtraListElement529() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onExtraListElement529(stack["prefix"]) -} +func (c *current) onInlineElement146() (interface{}, error) { -func (c *current) onExtraListElement554() (interface{}, error) { return strconv.Atoi(string(c.text)) + } -func (p *parser) callonExtraListElement554() (interface{}, error) { +func (p *parser) callonInlineElement146() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement554() + return p.cur.onInlineElement146() } -func (c *current) onExtraListElement558(ref interface{}) (interface{}, error) { - // log.Debug("matched multiple spaces") - return string(c.text), nil +func (c *current) onInlineElement139(start interface{}) (interface{}, error) { + return start, nil } -func (p *parser) callonExtraListElement558() (interface{}, error) { +func (p *parser) callonInlineElement139() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement558(stack["ref"]) + return p.cur.onInlineElement139(stack["start"]) } -func (c *current) onExtraListElement550(ref interface{}) (interface{}, error) { - return ref, nil - +func (c *current) onInlineElement128(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) } -func (p *parser) callonExtraListElement550() (interface{}, error) { +func (p *parser) callonInlineElement128() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement550(stack["ref"]) + return p.cur.onInlineElement128(stack["name"], stack["start"]) } -func (c *current) onExtraListElement570() (interface{}, error) { - +func (c *current) onInlineElement154() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExtraListElement570() (interface{}, error) { +func (p *parser) callonInlineElement154() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement570() + return p.cur.onInlineElement154() } -func (c *current) onExtraListElement573(separator interface{}) (bool, error) { +func (c *current) onInlineElement150(name interface{}) (interface{}, error) { - // use a predicate to make sure that separator is `::`, `:::` or `::::` - return len(separator.(string)) >= 2 && len(separator.(string)) <= 4, nil + return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonExtraListElement573() (bool, error) { +func (p *parser) callonInlineElement150() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement573(stack["separator"]) + return p.cur.onInlineElement150(stack["name"]) } -func (c *current) onExtraListElement567(separator interface{}) (interface{}, error) { - return separator, nil +func (c *current) onInlineElement101(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonExtraListElement567() (interface{}, error) { +func (p *parser) callonInlineElement101() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement567(stack["separator"]) + return p.cur.onInlineElement101(stack["element"]) } -func (c *current) onExtraListElement576() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onInlineElement161() (interface{}, error) { + return types.NewStringElement("\u2019") + } -func (p *parser) callonExtraListElement576() (interface{}, error) { +func (p *parser) callonInlineElement161() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement576() + return p.cur.onInlineElement161() } -func (c *current) onExtraListElement563() (interface{}, error) { - return types.NewRawLine(string(c.text)) +func (c *current) onInlineElement163() (interface{}, error) { + return types.NewStringElement("\u00a9") } -func (p *parser) callonExtraListElement563() (interface{}, error) { +func (p *parser) callonInlineElement163() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement563() + return p.cur.onInlineElement163() } -func (c *current) onExtraListElement587() (interface{}, error) { - - return string(c.text), nil +func (c *current) onInlineElement165() (interface{}, error) { + return types.NewStringElement("\u2122") } -func (p *parser) callonExtraListElement587() (interface{}, error) { +func (p *parser) callonInlineElement165() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement587() + return p.cur.onInlineElement165() } -func (c *current) onExtraListElement590(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) onInlineElement167() (interface{}, error) { + return types.NewStringElement("\u00ae") } -func (p *parser) callonExtraListElement590() (bool, error) { +func (p *parser) callonInlineElement167() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement590(stack["separator"]) + return p.cur.onInlineElement167() } -func (c *current) onExtraListElement584(separator interface{}) (interface{}, error) { - return separator, nil +func (c *current) onInlineElement169() (interface{}, error) { + return types.NewStringElement("\u2026\u200b") } -func (p *parser) callonExtraListElement584() (interface{}, error) { +func (p *parser) callonInlineElement169() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement584(stack["separator"]) + return p.cur.onInlineElement169() } -func (c *current) onExtraListElement602() (interface{}, error) { - return string(c.text), nil +func (c *current) onInlineElement171() (interface{}, error) { + return types.NewStringElement(string(c.text[:1]) + "\u2019") } -func (p *parser) callonExtraListElement602() (interface{}, error) { +func (p *parser) callonInlineElement171() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement602() + return p.cur.onInlineElement171() } -func (c *current) onExtraListElement605() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onInlineElement181() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExtraListElement605() (interface{}, error) { +func (p *parser) callonInlineElement181() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement605() + return p.cur.onInlineElement181() } -func (c *current) onExtraListElement598() (interface{}, error) { - return types.NewBlockDelimiter(types.Comment, string(c.text)) +func (c *current) onInlineElement177(ref interface{}) (interface{}, error) { + return types.NewElementPlaceHolder(ref.(string)) } -func (p *parser) callonExtraListElement598() (interface{}, error) { +func (p *parser) callonInlineElement177() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement598() + return p.cur.onInlineElement177(stack["ref"]) } -func (c *current) onExtraListElement616() (interface{}, error) { - return string(c.text), nil - -} +func (c *current) onInlineElement185() (interface{}, error) { -func (p *parser) callonExtraListElement616() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onExtraListElement616() -} + return types.NewStringElement(string(c.text)) -func (c *current) onExtraListElement619() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil } -func (p *parser) callonExtraListElement619() (interface{}, error) { +func (p *parser) callonInlineElement185() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement619() + return p.cur.onInlineElement185() } -func (c *current) onExtraListElement612() (interface{}, error) { - return types.NewBlockDelimiter(types.Example, string(c.text)) +func (c *current) onInlineElement1(element interface{}) (interface{}, error) { + c.trackSpaceSuffix(element) + return element, nil } -func (p *parser) callonExtraListElement612() (interface{}, error) { +func (p *parser) callonInlineElement1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement612() + return p.cur.onInlineElement1(stack["element"]) } -func (c *current) onExtraListElement630() (interface{}, error) { - return string(c.text), nil +func (c *current) onIndexTerm1(term interface{}) (interface{}, error) { + return types.NewIndexTerm(term.([]interface{})) } -func (p *parser) callonExtraListElement630() (interface{}, error) { +func (p *parser) callonIndexTerm1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement630() -} - -func (c *current) onExtraListElement633() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil + return p.cur.onIndexTerm1(stack["term"]) } -func (p *parser) callonExtraListElement633() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onExtraListElement633() -} +func (c *current) onIndexTermContent5() (interface{}, error) { + return types.NewStringElement(string(c.text)) -func (c *current) onExtraListElement626() (interface{}, error) { - return types.NewBlockDelimiter(types.Fenced, string(c.text)) } -func (p *parser) callonExtraListElement626() (interface{}, error) { +func (p *parser) callonIndexTermContent5() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement626() + return p.cur.onIndexTermContent5() } -func (c *current) onExtraListElement644() (interface{}, error) { - return string(c.text), nil +func (c *current) onIndexTermContent14() (interface{}, error) { + // allow ` + return types.NewStringElement(string(c.text)) } -func (p *parser) callonExtraListElement644() (interface{}, error) { +func (p *parser) callonIndexTermContent14() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement644() + return p.cur.onIndexTermContent14() } -func (c *current) onExtraListElement647() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onIndexTermContent25() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonExtraListElement647() (interface{}, error) { +func (p *parser) callonIndexTermContent25() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement647() + return p.cur.onIndexTermContent25() } -func (c *current) onExtraListElement640() (interface{}, error) { - return types.NewBlockDelimiter(types.Listing, string(c.text)) +func (c *current) onIndexTermContent29() (bool, error) { + return c.isSubstitutionEnabled(SpecialCharacters), nil + } -func (p *parser) callonExtraListElement640() (interface{}, error) { +func (p *parser) callonIndexTermContent29() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement640() + return p.cur.onIndexTermContent29() } -func (c *current) onExtraListElement658() (interface{}, error) { +func (c *current) onIndexTermContent38() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ return string(c.text), nil } -func (p *parser) callonExtraListElement658() (interface{}, error) { +func (p *parser) callonIndexTermContent38() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement658() + return p.cur.onIndexTermContent38() } -func (c *current) onExtraListElement661() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onIndexTermContent42() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonExtraListElement661() (interface{}, error) { +func (p *parser) callonIndexTermContent42() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement661() + return p.cur.onIndexTermContent42() } -func (c *current) onExtraListElement654() (interface{}, error) { - return types.NewBlockDelimiter(types.Literal, string(c.text)) +func (c *current) onIndexTermContent48() (interface{}, error) { + // `{`, `>` and `>` characters are not allowed as they are used for attribute substitutions and cross-references + return types.NewStringElement(string(c.text)) + } -func (p *parser) callonExtraListElement654() (interface{}, error) { +func (p *parser) callonIndexTermContent48() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement654() + return p.cur.onIndexTermContent48() } -func (c *current) onExtraListElement672() (interface{}, error) { +func (c *current) onIndexTermContent57() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExtraListElement672() (interface{}, error) { +func (p *parser) callonIndexTermContent57() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement672() + return p.cur.onIndexTermContent57() } -func (c *current) onExtraListElement675() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onIndexTermContent53(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) + } -func (p *parser) callonExtraListElement675() (interface{}, error) { +func (p *parser) callonIndexTermContent53() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement675() + return p.cur.onIndexTermContent53(stack["name"]) } -func (c *current) onExtraListElement668() (interface{}, error) { - return types.NewBlockDelimiter(types.Passthrough, string(c.text)) +func (c *current) onIndexTermContent63() (interface{}, error) { + + return types.NewStringElement(string(c.text)) + } -func (p *parser) callonExtraListElement668() (interface{}, error) { +func (p *parser) callonIndexTermContent63() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement668() + return p.cur.onIndexTermContent63() } -func (c *current) onExtraListElement686() (interface{}, error) { - return string(c.text), nil +func (c *current) onIndexTermContent34(id, label interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, label) } -func (p *parser) callonExtraListElement686() (interface{}, error) { +func (p *parser) callonIndexTermContent34() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement686() + return p.cur.onIndexTermContent34(stack["id"], stack["label"]) } -func (c *current) onExtraListElement689() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onIndexTermContent70() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ return string(c.text), nil + } -func (p *parser) callonExtraListElement689() (interface{}, error) { +func (p *parser) callonIndexTermContent70() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement689() + return p.cur.onIndexTermContent70() } -func (c *current) onExtraListElement682() (interface{}, error) { - return types.NewBlockDelimiter(types.Quote, string(c.text)) +func (c *current) onIndexTermContent66(id interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, nil) + } -func (p *parser) callonExtraListElement682() (interface{}, error) { +func (p *parser) callonIndexTermContent66() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement682() + return p.cur.onIndexTermContent66(stack["id"]) } -func (c *current) onExtraListElement700() (interface{}, error) { - return string(c.text), nil +func (c *current) onIndexTermContent32() (interface{}, error) { + return types.NewStringElement(string(c.text)) } -func (p *parser) callonExtraListElement700() (interface{}, error) { +func (p *parser) callonIndexTermContent32() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement700() + return p.cur.onIndexTermContent32() } -func (c *current) onExtraListElement703() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onIndexTermContent74() (interface{}, error) { + return types.NewSpecialCharacter(string(c.text)) + } -func (p *parser) callonExtraListElement703() (interface{}, error) { +func (p *parser) callonIndexTermContent74() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement703() + return p.cur.onIndexTermContent74() } -func (c *current) onExtraListElement696() (interface{}, error) { - return types.NewBlockDelimiter(types.Sidebar, string(c.text)) +func (c *current) onIndexTermContent27(element interface{}) (interface{}, error) { + return element, nil + } -func (p *parser) callonExtraListElement696() (interface{}, error) { +func (p *parser) callonIndexTermContent27() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement696() + return p.cur.onIndexTermContent27(stack["element"]) } -func (c *current) onExtraListElement592(delimiter interface{}) (interface{}, error) { - return delimiter, nil - +func (c *current) onIndexTermContent80() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonExtraListElement592() (interface{}, error) { +func (p *parser) callonIndexTermContent80() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement592(stack["delimiter"]) + return p.cur.onIndexTermContent80() } -func (c *current) onExtraListElement711() (interface{}, error) { - return strings.TrimSpace(string(c.text)), nil - +func (c *current) onIndexTermContent76(ref interface{}) (interface{}, error) { + return types.NewElementPlaceHolder(ref.(string)) } -func (p *parser) callonExtraListElement711() (interface{}, error) { +func (p *parser) callonIndexTermContent76() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement711() + return p.cur.onIndexTermContent76(stack["ref"]) } -func (c *current) onExtraListElement715() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onIndexTermContent84() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExtraListElement715() (interface{}, error) { +func (p *parser) callonIndexTermContent84() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement715() + return p.cur.onIndexTermContent84() } -func (c *current) onExtraListElement457(content interface{}) (interface{}, error) { - // do not retain the EOL chars - return types.NewRawLine(content.(string)) - +func (c *current) onIndexTermContent1(elements interface{}) (interface{}, error) { + return types.NewInlineElements(elements.([]interface{})) } -func (p *parser) callonExtraListElement457() (interface{}, error) { +func (p *parser) callonIndexTermContent1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement457(stack["content"]) + return p.cur.onIndexTermContent1(stack["elements"]) } -func (c *current) onExtraListElement425(content interface{}) (interface{}, error) { - if content == nil { - return nil, nil - } - return types.NewParagraph(content) +func (c *current) onImageBlock25() (interface{}, error) { + // not supported for now: EOL, space, "{", "[", "]" + return types.NewStringElement(string(c.text)) } -func (p *parser) callonExtraListElement425() (interface{}, error) { +func (p *parser) callonImageBlock25() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement425(stack["content"]) + return p.cur.onImageBlock25() } -func (c *current) onExtraListElement724() (interface{}, error) { - // log.Debug("matched multiple spaces") +func (c *current) onImageBlock35() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExtraListElement724() (interface{}, error) { +func (p *parser) callonImageBlock35() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement724() + return p.cur.onImageBlock35() } -func (c *current) onExtraListElement728() (interface{}, error) { - return types.NewRawLine(string(c.text)) +func (c *current) onImageBlock39() (bool, error) { + return c.isSubstitutionEnabled(Attributes), nil } -func (p *parser) callonExtraListElement728() (interface{}, error) { +func (p *parser) callonImageBlock39() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement728() + return p.cur.onImageBlock39() } -func (c *current) onExtraListElement732() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onImageBlock46() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonExtraListElement732() (interface{}, error) { +func (p *parser) callonImageBlock46() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement732() + return p.cur.onImageBlock46() } -func (c *current) onExtraListElement722(content interface{}) (interface{}, error) { - return types.NewParagraph(content) +func (c *current) onImageBlock58() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonExtraListElement722() (interface{}, error) { +func (p *parser) callonImageBlock58() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement722(stack["content"]) + return p.cur.onImageBlock58() } -func (c *current) onExtraListElement391(term, separator, description interface{}) (interface{}, error) { - return types.NewLabeledListElement(len(separator.(string))-1, term, description) +func (c *current) onImageBlock60() (interface{}, error) { + + return strconv.Atoi(string(c.text)) } -func (p *parser) callonExtraListElement391() (interface{}, error) { +func (p *parser) callonImageBlock60() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement391(stack["term"], stack["separator"], stack["description"]) + return p.cur.onImageBlock60() } -func (c *current) onExtraListElement371(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onImageBlock53(start interface{}) (interface{}, error) { + return start, nil } -func (p *parser) callonExtraListElement371() (interface{}, error) { +func (p *parser) callonImageBlock53() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement371(stack["element"]) + return p.cur.onImageBlock53(stack["start"]) } -func (c *current) onExtraListElement755() (interface{}, error) { +func (c *current) onImageBlock42(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) +} + +func (p *parser) callonImageBlock42() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onImageBlock42(stack["name"], stack["start"]) +} +func (c *current) onImageBlock68() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExtraListElement755() (interface{}, error) { +func (p *parser) callonImageBlock68() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement755() + return p.cur.onImageBlock68() } -func (c *current) onExtraListElement758(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) onImageBlock80() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonExtraListElement758() (bool, error) { +func (p *parser) callonImageBlock80() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement758(stack["separator"]) + return p.cur.onImageBlock80() } -func (c *current) onExtraListElement752(separator interface{}) (interface{}, error) { - return separator, nil +func (c *current) onImageBlock82() (interface{}, error) { + + return strconv.Atoi(string(c.text)) } -func (p *parser) callonExtraListElement752() (interface{}, error) { +func (p *parser) callonImageBlock82() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement752(stack["separator"]) + return p.cur.onImageBlock82() } -func (c *current) onExtraListElement761() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onImageBlock75(start interface{}) (interface{}, error) { + return start, nil + } -func (p *parser) callonExtraListElement761() (interface{}, error) { +func (p *parser) callonImageBlock75() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement761() + return p.cur.onImageBlock75(stack["start"]) } -func (c *current) onExtraListElement748() (interface{}, error) { - return types.NewRawLine(string(c.text)) - +func (c *current) onImageBlock64(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) } -func (p *parser) callonExtraListElement748() (interface{}, error) { +func (p *parser) callonImageBlock64() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement748() + return p.cur.onImageBlock64(stack["name"], stack["start"]) } -func (c *current) onExtraListElement773() (interface{}, error) { - +func (c *current) onImageBlock90() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExtraListElement773() (interface{}, error) { +func (p *parser) callonImageBlock90() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement773() + return p.cur.onImageBlock90() } -func (c *current) onExtraListElement776(separator interface{}) (bool, error) { +func (c *current) onImageBlock86(name interface{}) (interface{}, error) { - // use a predicate to make sure that separator is `::`, `:::` or `::::` - return len(separator.(string)) >= 2 && len(separator.(string)) <= 4, nil + return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonExtraListElement776() (bool, error) { +func (p *parser) callonImageBlock86() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement776(stack["separator"]) + return p.cur.onImageBlock86(stack["name"]) } -func (c *current) onExtraListElement770(separator interface{}) (interface{}, error) { - return separator, nil +func (c *current) onImageBlock37(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonExtraListElement770() (interface{}, error) { +func (p *parser) callonImageBlock37() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement770(stack["separator"]) + return p.cur.onImageBlock37(stack["element"]) } -func (c *current) onExtraListElement782() (interface{}, error) { - return string(c.text), nil +func (c *current) onImageBlock96() (interface{}, error) { + return types.NewStringElement(string(c.text)) } -func (p *parser) callonExtraListElement782() (interface{}, error) { +func (p *parser) callonImageBlock96() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement782() + return p.cur.onImageBlock96() } -func (c *current) onExtraListElement785() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onImageBlock18(elements interface{}) (interface{}, error) { + return types.NewInlineElements(elements.([]interface{})) + } -func (p *parser) callonExtraListElement785() (interface{}, error) { +func (p *parser) callonImageBlock18() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement785() + return p.cur.onImageBlock18(stack["elements"]) } -func (c *current) onExtraListElement799() (interface{}, error) { +func (c *current) onImageBlock102() (interface{}, error) { return string(c.text), nil - } -func (p *parser) callonExtraListElement799() (interface{}, error) { +func (p *parser) callonImageBlock102() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement799() + return p.cur.onImageBlock102() } -func (c *current) onExtraListElement802() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onImageBlock98(ref interface{}) (interface{}, error) { + return types.NewElementPlaceHolder(ref.(string)) } -func (p *parser) callonExtraListElement802() (interface{}, error) { +func (p *parser) callonImageBlock98() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement802() + return p.cur.onImageBlock98(stack["ref"]) } -func (c *current) onExtraListElement793() (interface{}, error) { - return types.NewBlankLine() +func (c *current) onImageBlock5(scheme, path interface{}) (interface{}, error) { + return types.NewLocation(scheme, path.([]interface{})) } -func (p *parser) callonExtraListElement793() (interface{}, error) { +func (p *parser) callonImageBlock5() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement793() + return p.cur.onImageBlock5(stack["scheme"], stack["path"]) } -func (c *current) onExtraListElement820() (interface{}, error) { +func (c *current) onImageBlock109() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExtraListElement820() (interface{}, error) { +func (p *parser) callonImageBlock109() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement820() + return p.cur.onImageBlock109() } -func (c *current) onExtraListElement823() (interface{}, error) { +func (c *current) onImageBlock112() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonExtraListElement823() (interface{}, error) { +func (p *parser) callonImageBlock112() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement823() + return p.cur.onImageBlock112() } -func (c *current) onExtraListElement814() (interface{}, error) { - return types.NewBlankLine() +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) callonExtraListElement814() (interface{}, error) { +func (p *parser) callonImageBlock1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement814() + return p.cur.onImageBlock1(stack["path"], stack["attributes"]) } -func (c *current) onExtraListElement834() (interface{}, error) { - return string(c.text), nil +func (c *current) onInlineImage27() (interface{}, error) { + // not supported for now: EOL, space, "{", "[", "]" + return types.NewStringElement(string(c.text)) } -func (p *parser) callonExtraListElement834() (interface{}, error) { +func (p *parser) callonInlineImage27() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement834() + return p.cur.onInlineImage27() } -func (c *current) onExtraListElement836() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onInlineImage37() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonExtraListElement836() (interface{}, error) { +func (p *parser) callonInlineImage37() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement836() + return p.cur.onInlineImage37() } -func (c *current) onExtraListElement845() (interface{}, error) { - return string(c.text), nil +func (c *current) onInlineImage41() (bool, error) { + return c.isSubstitutionEnabled(Attributes), nil } -func (p *parser) callonExtraListElement845() (interface{}, error) { +func (p *parser) callonInlineImage41() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement845() + return p.cur.onInlineImage41() } -func (c *current) onExtraListElement852() (interface{}, error) { - - // `.` is 1, etc. - return (len(c.text)), nil +func (c *current) onInlineImage48() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonExtraListElement852() (interface{}, error) { +func (p *parser) callonInlineImage48() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement852() + return p.cur.onInlineImage48() } -func (c *current) onExtraListElement855(depth interface{}) (bool, error) { - - // use a predicate to make sure that only `.` to `.....` are allowed - return depth.(int) <= 5, nil +func (c *current) onInlineImage60() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonExtraListElement855() (bool, error) { +func (p *parser) callonInlineImage60() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement855(stack["depth"]) + return p.cur.onInlineImage60() } -func (c *current) onExtraListElement849(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) onInlineImage62() (interface{}, error) { + + return strconv.Atoi(string(c.text)) } -func (p *parser) callonExtraListElement849() (interface{}, error) { +func (p *parser) callonInlineImage62() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement849(stack["depth"]) + return p.cur.onInlineImage62() } -func (c *current) onExtraListElement856() (interface{}, error) { - // numbering style: "1.", etc. - return types.NewOrderedListElementPrefix(types.Arabic) +func (c *current) onInlineImage55(start interface{}) (interface{}, error) { + return start, nil } -func (p *parser) callonExtraListElement856() (interface{}, error) { +func (p *parser) callonInlineImage55() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement856() + return p.cur.onInlineImage55(stack["start"]) } -func (c *current) onExtraListElement861() (interface{}, error) { - // numbering style: "a.", etc. - return types.NewOrderedListElementPrefix(types.LowerAlpha) - +func (c *current) onInlineImage44(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) } -func (p *parser) callonExtraListElement861() (interface{}, error) { +func (p *parser) callonInlineImage44() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement861() + return p.cur.onInlineImage44(stack["name"], stack["start"]) } -func (c *current) onExtraListElement865() (interface{}, error) { - // numbering style: "A.", etc. - return types.NewOrderedListElementPrefix(types.UpperAlpha) +func (c *current) onInlineImage70() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonExtraListElement865() (interface{}, error) { +func (p *parser) callonInlineImage70() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement865() + return p.cur.onInlineImage70() } -func (c *current) onExtraListElement869() (interface{}, error) { - // numbering style: "i)", etc. - return types.NewOrderedListElementPrefix(types.LowerRoman) +func (c *current) onInlineImage82() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonExtraListElement869() (interface{}, error) { +func (p *parser) callonInlineImage82() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement869() + return p.cur.onInlineImage82() } -func (c *current) onExtraListElement874() (interface{}, error) { - // numbering style: "I)", etc. - return types.NewOrderedListElementPrefix(types.UpperRoman) +func (c *current) onInlineImage84() (interface{}, error) { + + return strconv.Atoi(string(c.text)) } -func (p *parser) callonExtraListElement874() (interface{}, error) { +func (p *parser) callonInlineImage84() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement874() + return p.cur.onInlineImage84() } -func (c *current) onExtraListElement879(prefix interface{}) (interface{}, error) { - // log.Debug("matched multiple spaces") - return string(c.text), nil +func (c *current) onInlineImage77(start interface{}) (interface{}, error) { + return start, nil } -func (p *parser) callonExtraListElement879() (interface{}, error) { +func (p *parser) callonInlineImage77() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement879(stack["prefix"]) + return p.cur.onInlineImage77(stack["start"]) } -func (c *current) onExtraListElement842(prefix interface{}) (interface{}, error) { - return prefix, nil +func (c *current) onInlineImage66(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) } -func (p *parser) callonExtraListElement842() (interface{}, error) { +func (p *parser) callonInlineImage66() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement842(stack["prefix"]) + return p.cur.onInlineImage66(stack["name"], stack["start"]) } -func (c *current) onExtraListElement886() (interface{}, error) { +func (c *current) onInlineImage92() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExtraListElement886() (interface{}, error) { +func (p *parser) callonInlineImage92() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement886() + return p.cur.onInlineImage92() } -func (c *current) onExtraListElement893() (interface{}, error) { +func (c *current) onInlineImage88(name interface{}) (interface{}, error) { - // `*` is 1, etc. - return (len(c.text)), nil + return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonExtraListElement893() (interface{}, error) { +func (p *parser) callonInlineImage88() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement893() + return p.cur.onInlineImage88(stack["name"]) } -func (c *current) onExtraListElement896(depth interface{}) (bool, error) { - - // use a predicate to make sure that only `*` to `*****` are allowed - return depth.(int) <= 5, nil +func (c *current) onInlineImage39(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonExtraListElement896() (bool, error) { +func (p *parser) callonInlineImage39() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement896(stack["depth"]) + return p.cur.onInlineImage39(stack["element"]) } -func (c *current) onExtraListElement890(depth interface{}) (interface{}, error) { - switch depth.(int) { - case 1: - return types.NewUnorderedListElementPrefix(types.OneAsterisk) - case 2: - return types.NewUnorderedListElementPrefix(types.TwoAsterisks) - case 3: - return types.NewUnorderedListElementPrefix(types.ThreeAsterisks) - case 4: - return types.NewUnorderedListElementPrefix(types.FourAsterisks) - default: - return types.NewUnorderedListElementPrefix(types.FiveAsterisks) - } +func (c *current) onInlineImage98() (interface{}, error) { + return types.NewStringElement(string(c.text)) } -func (p *parser) callonExtraListElement890() (interface{}, error) { +func (p *parser) callonInlineImage98() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement890(stack["depth"]) + return p.cur.onInlineImage98() } -func (c *current) onExtraListElement898() (interface{}, error) { - return types.NewUnorderedListElementPrefix(types.Dash) +func (c *current) onInlineImage20(elements interface{}) (interface{}, error) { + return types.NewInlineElements(elements.([]interface{})) } -func (p *parser) callonExtraListElement898() (interface{}, error) { +func (p *parser) callonInlineImage20() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement898() + return p.cur.onInlineImage20(stack["elements"]) } -func (c *current) onExtraListElement900(prefix interface{}) (interface{}, error) { - // log.Debug("matched multiple spaces") +func (c *current) onInlineImage104() (interface{}, error) { return string(c.text), nil +} +func (p *parser) callonInlineImage104() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onInlineImage104() } -func (p *parser) callonExtraListElement900() (interface{}, error) { +func (c *current) onInlineImage100(ref interface{}) (interface{}, error) { + return types.NewElementPlaceHolder(ref.(string)) +} + +func (p *parser) callonInlineImage100() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement900(stack["prefix"]) + return p.cur.onInlineImage100(stack["ref"]) } -func (c *current) onExtraListElement883(prefix interface{}) (interface{}, error) { - return prefix, nil +func (c *current) onInlineImage7(scheme, path interface{}) (interface{}, error) { + return types.NewLocation(scheme, path.([]interface{})) + } -func (p *parser) callonExtraListElement883() (interface{}, error) { +func (p *parser) callonInlineImage7() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement883(stack["prefix"]) + return p.cur.onInlineImage7(stack["scheme"], stack["path"]) } -func (c *current) onExtraListElement908() (interface{}, error) { - return strconv.Atoi(string(c.text)) +func (c *current) onInlineImage1(path, attributes interface{}) (interface{}, error) { + return types.NewInlineImage(path.(*types.Location), attributes.(types.Attributes)) + } -func (p *parser) callonExtraListElement908() (interface{}, error) { +func (p *parser) callonInlineImage1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement908() + return p.cur.onInlineImage1(stack["path"], stack["attributes"]) } -func (c *current) onExtraListElement912(ref interface{}) (interface{}, error) { - // log.Debug("matched multiple spaces") +func (c *current) onInlineIcon5() (interface{}, error) { return string(c.text), nil - } -func (p *parser) callonExtraListElement912() (interface{}, error) { +func (p *parser) callonInlineIcon5() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement912(stack["ref"]) + return p.cur.onInlineIcon5() } -func (c *current) onExtraListElement904(ref interface{}) (interface{}, error) { - return ref, nil +func (c *current) onInlineIcon1(icon, attributes interface{}) (interface{}, error) { + return types.NewIcon(icon.(string), attributes) } -func (p *parser) callonExtraListElement904() (interface{}, error) { +func (p *parser) callonInlineIcon1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement904(stack["ref"]) + return p.cur.onInlineIcon1(stack["icon"], stack["attributes"]) } -func (c *current) onExtraListElement924() (interface{}, error) { - - return string(c.text), nil +func (c *current) onInlineFootnote2(content interface{}) (interface{}, error) { + return types.NewFootnote("", content) } -func (p *parser) callonExtraListElement924() (interface{}, error) { +func (p *parser) callonInlineFootnote2() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement924() + return p.cur.onInlineFootnote2(stack["content"]) } -func (c *current) onExtraListElement927(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) onInlineFootnote12() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonExtraListElement927() (bool, error) { +func (p *parser) callonInlineFootnote12() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement927(stack["separator"]) + return p.cur.onInlineFootnote12() } -func (c *current) onExtraListElement921(separator interface{}) (interface{}, error) { - return separator, nil +func (c *current) onInlineFootnote8(ref, content interface{}) (interface{}, error) { + // TODO: use only this rule with `ref:(FootnoteRef)?` + return types.NewFootnote(ref.(string), content) } -func (p *parser) callonExtraListElement921() (interface{}, error) { +func (p *parser) callonInlineFootnote8() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement921(stack["separator"]) + return p.cur.onInlineFootnote8(stack["ref"], stack["content"]) } -func (c *current) onExtraListElement930() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onFootnoteContent1(elements interface{}) (interface{}, error) { + // footnote content may span multiple lines + return types.NewInlineElements(elements.([]interface{})) + } -func (p *parser) callonExtraListElement930() (interface{}, error) { +func (p *parser) callonFootnoteContent1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement930() + return p.cur.onFootnoteContent1(stack["elements"]) } -func (c *current) onExtraListElement917() (interface{}, error) { - return types.NewRawLine(string(c.text)) +func (c *current) onPassthroughMacro7() (interface{}, error) { + return types.NewStringElement(string(c.text)) } -func (p *parser) callonExtraListElement917() (interface{}, error) { +func (p *parser) callonPassthroughMacro7() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement917() + return p.cur.onPassthroughMacro7() } -func (c *current) onExtraListElement941() (interface{}, error) { - - return string(c.text), nil +func (c *current) onPassthroughMacro2(content interface{}) (interface{}, error) { + return types.NewInlinePassthrough(types.PassthroughMacro, []interface{}{content}) } -func (p *parser) callonExtraListElement941() (interface{}, error) { +func (p *parser) callonPassthroughMacro2() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement941() + return p.cur.onPassthroughMacro2(stack["content"]) } -func (c *current) onExtraListElement944(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) onPassthroughMacro17() (interface{}, error) { + return types.NewStringElement(string(c.text)) } -func (p *parser) callonExtraListElement944() (bool, error) { +func (p *parser) callonPassthroughMacro17() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement944(stack["separator"]) + return p.cur.onPassthroughMacro17() } -func (c *current) onExtraListElement938(separator interface{}) (interface{}, error) { - return separator, nil +func (c *current) onPassthroughMacro10(content interface{}) (interface{}, error) { + return types.NewInlinePassthrough(types.PassthroughMacro, content.([]interface{})) } -func (p *parser) callonExtraListElement938() (interface{}, error) { +func (p *parser) callonPassthroughMacro10() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement938(stack["separator"]) + return p.cur.onPassthroughMacro10(stack["content"]) } -func (c *current) onExtraListElement956() (interface{}, error) { - return string(c.text), nil +func (c *current) onRelativeLink25() (interface{}, error) { + // not supported for now: EOL, space, "{", "[", "]" + return types.NewStringElement(string(c.text)) } -func (p *parser) callonExtraListElement956() (interface{}, error) { +func (p *parser) callonRelativeLink25() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement956() + return p.cur.onRelativeLink25() } -func (c *current) onExtraListElement959() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onRelativeLink35() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonExtraListElement959() (interface{}, error) { +func (p *parser) callonRelativeLink35() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement959() + return p.cur.onRelativeLink35() } -func (c *current) onExtraListElement952() (interface{}, error) { - return types.NewBlockDelimiter(types.Comment, string(c.text)) +func (c *current) onRelativeLink39() (bool, error) { + return c.isSubstitutionEnabled(Attributes), nil + } -func (p *parser) callonExtraListElement952() (interface{}, error) { +func (p *parser) callonRelativeLink39() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement952() + return p.cur.onRelativeLink39() } -func (c *current) onExtraListElement970() (interface{}, error) { +func (c *current) onRelativeLink46() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExtraListElement970() (interface{}, error) { +func (p *parser) callonRelativeLink46() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement970() + return p.cur.onRelativeLink46() } -func (c *current) onExtraListElement973() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onRelativeLink58() (interface{}, error) { return string(c.text), nil -} - -func (p *parser) callonExtraListElement973() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onExtraListElement973() -} -func (c *current) onExtraListElement966() (interface{}, error) { - return types.NewBlockDelimiter(types.Example, string(c.text)) } -func (p *parser) callonExtraListElement966() (interface{}, error) { +func (p *parser) callonRelativeLink58() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement966() + return p.cur.onRelativeLink58() } -func (c *current) onExtraListElement984() (interface{}, error) { - return string(c.text), nil +func (c *current) onRelativeLink60() (interface{}, error) { + + return strconv.Atoi(string(c.text)) } -func (p *parser) callonExtraListElement984() (interface{}, error) { +func (p *parser) callonRelativeLink60() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement984() + return p.cur.onRelativeLink60() } -func (c *current) onExtraListElement987() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onRelativeLink53(start interface{}) (interface{}, error) { + return start, nil + } -func (p *parser) callonExtraListElement987() (interface{}, error) { +func (p *parser) callonRelativeLink53() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement987() + return p.cur.onRelativeLink53(stack["start"]) } -func (c *current) onExtraListElement980() (interface{}, error) { - return types.NewBlockDelimiter(types.Fenced, string(c.text)) +func (c *current) onRelativeLink42(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) } -func (p *parser) callonExtraListElement980() (interface{}, error) { +func (p *parser) callonRelativeLink42() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement980() + return p.cur.onRelativeLink42(stack["name"], stack["start"]) } -func (c *current) onExtraListElement998() (interface{}, error) { +func (c *current) onRelativeLink68() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExtraListElement998() (interface{}, error) { +func (p *parser) callonRelativeLink68() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement998() + return p.cur.onRelativeLink68() } -func (c *current) onExtraListElement1001() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onRelativeLink80() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonExtraListElement1001() (interface{}, error) { +func (p *parser) callonRelativeLink80() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1001() + return p.cur.onRelativeLink80() } -func (c *current) onExtraListElement994() (interface{}, error) { - return types.NewBlockDelimiter(types.Listing, string(c.text)) +func (c *current) onRelativeLink82() (interface{}, error) { + + return strconv.Atoi(string(c.text)) + } -func (p *parser) callonExtraListElement994() (interface{}, error) { +func (p *parser) callonRelativeLink82() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement994() + return p.cur.onRelativeLink82() } -func (c *current) onExtraListElement1012() (interface{}, error) { - return string(c.text), nil +func (c *current) onRelativeLink75(start interface{}) (interface{}, error) { + return start, nil } -func (p *parser) callonExtraListElement1012() (interface{}, error) { +func (p *parser) callonRelativeLink75() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1012() + return p.cur.onRelativeLink75(stack["start"]) } -func (c *current) onExtraListElement1015() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onRelativeLink64(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) } -func (p *parser) callonExtraListElement1015() (interface{}, error) { +func (p *parser) callonRelativeLink64() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1015() + return p.cur.onRelativeLink64(stack["name"], stack["start"]) } -func (c *current) onExtraListElement1008() (interface{}, error) { - return types.NewBlockDelimiter(types.Literal, string(c.text)) +func (c *current) onRelativeLink90() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonExtraListElement1008() (interface{}, error) { +func (p *parser) callonRelativeLink90() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1008() + return p.cur.onRelativeLink90() } -func (c *current) onExtraListElement1026() (interface{}, error) { - return string(c.text), nil +func (c *current) onRelativeLink86(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonExtraListElement1026() (interface{}, error) { +func (p *parser) callonRelativeLink86() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1026() + return p.cur.onRelativeLink86(stack["name"]) } -func (c *current) onExtraListElement1029() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onRelativeLink37(element interface{}) (interface{}, error) { + return element, nil + } -func (p *parser) callonExtraListElement1029() (interface{}, error) { +func (p *parser) callonRelativeLink37() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1029() + return p.cur.onRelativeLink37(stack["element"]) } -func (c *current) onExtraListElement1022() (interface{}, error) { - return types.NewBlockDelimiter(types.Passthrough, string(c.text)) +func (c *current) onRelativeLink96() (interface{}, error) { + return types.NewStringElement(string(c.text)) + } -func (p *parser) callonExtraListElement1022() (interface{}, error) { +func (p *parser) callonRelativeLink96() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1022() + return p.cur.onRelativeLink96() } -func (c *current) onExtraListElement1040() (interface{}, error) { - return string(c.text), nil +func (c *current) onRelativeLink18(elements interface{}) (interface{}, error) { + return types.NewInlineElements(elements.([]interface{})) } -func (p *parser) callonExtraListElement1040() (interface{}, error) { +func (p *parser) callonRelativeLink18() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1040() + return p.cur.onRelativeLink18(stack["elements"]) } -func (c *current) onExtraListElement1043() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onRelativeLink102() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExtraListElement1043() (interface{}, error) { +func (p *parser) callonRelativeLink102() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1043() + return p.cur.onRelativeLink102() } -func (c *current) onExtraListElement1036() (interface{}, error) { - return types.NewBlockDelimiter(types.Quote, string(c.text)) +func (c *current) onRelativeLink98(ref interface{}) (interface{}, error) { + return types.NewElementPlaceHolder(ref.(string)) } -func (p *parser) callonExtraListElement1036() (interface{}, error) { +func (p *parser) callonRelativeLink98() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1036() + return p.cur.onRelativeLink98(stack["ref"]) } -func (c *current) onExtraListElement1054() (interface{}, error) { - return string(c.text), nil +func (c *current) onRelativeLink5(scheme, path interface{}) (interface{}, error) { + return types.NewLocation(scheme, path.([]interface{})) } -func (p *parser) callonExtraListElement1054() (interface{}, error) { +func (p *parser) callonRelativeLink5() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1054() + return p.cur.onRelativeLink5(stack["scheme"], stack["path"]) } -func (c *current) onExtraListElement1057() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onRelativeLink1(url, attributes interface{}) (interface{}, error) { + return types.NewInlineLink(url.(*types.Location), attributes.(types.Attributes)) + } -func (p *parser) callonExtraListElement1057() (interface{}, error) { +func (p *parser) callonRelativeLink1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1057() + return p.cur.onRelativeLink1(stack["url"], stack["attributes"]) } -func (c *current) onExtraListElement1050() (interface{}, error) { - return types.NewBlockDelimiter(types.Sidebar, string(c.text)) +func (c *current) onExternalLink24() (interface{}, error) { + // not supported for now: EOL, space, "{", "[", "]" + return types.NewStringElement(string(c.text)) + } -func (p *parser) callonExtraListElement1050() (interface{}, error) { +func (p *parser) callonExternalLink24() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1050() + return p.cur.onExternalLink24() } -func (c *current) onExtraListElement946(delimiter interface{}) (interface{}, error) { - return delimiter, nil +func (c *current) onExternalLink34() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonExtraListElement946() (interface{}, error) { +func (p *parser) callonExternalLink34() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement946(stack["delimiter"]) + return p.cur.onExternalLink34() } -func (c *current) onExtraListElement1065() (interface{}, error) { - return strings.TrimSpace(string(c.text)), nil +func (c *current) onExternalLink38() (bool, error) { + return c.isSubstitutionEnabled(Attributes), nil } -func (p *parser) callonExtraListElement1065() (interface{}, error) { +func (p *parser) callonExternalLink38() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1065() + return p.cur.onExternalLink38() } -func (c *current) onExtraListElement1069() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onExternalLink45() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonExtraListElement1069() (interface{}, error) { +func (p *parser) callonExternalLink45() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1069() + return p.cur.onExternalLink45() } -func (c *current) onExtraListElement811(content interface{}) (interface{}, error) { - // do not retain the EOL chars - return types.NewRawLine(content.(string)) +func (c *current) onExternalLink57() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonExtraListElement811() (interface{}, error) { +func (p *parser) callonExternalLink57() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement811(stack["content"]) + return p.cur.onExternalLink57() } -func (c *current) onExtraListElement779(content interface{}) (interface{}, error) { - if content == nil { - return nil, nil - } - return types.NewParagraph(content) +func (c *current) onExternalLink59() (interface{}, error) { + + return strconv.Atoi(string(c.text)) } -func (p *parser) callonExtraListElement779() (interface{}, error) { +func (p *parser) callonExternalLink59() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement779(stack["content"]) + return p.cur.onExternalLink59() } -func (c *current) onExtraListElement1078() (interface{}, error) { - // log.Debug("matched multiple spaces") - return string(c.text), nil +func (c *current) onExternalLink52(start interface{}) (interface{}, error) { + return start, nil } -func (p *parser) callonExtraListElement1078() (interface{}, error) { +func (p *parser) callonExternalLink52() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1078() + return p.cur.onExternalLink52(stack["start"]) } -func (c *current) onExtraListElement1082() (interface{}, error) { - return types.NewRawLine(string(c.text)) - +func (c *current) onExternalLink41(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) } -func (p *parser) callonExtraListElement1082() (interface{}, error) { +func (p *parser) callonExternalLink41() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1082() + return p.cur.onExternalLink41(stack["name"], stack["start"]) } -func (c *current) onExtraListElement1086() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onExternalLink67() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonExtraListElement1086() (interface{}, error) { +func (p *parser) callonExternalLink67() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1086() + return p.cur.onExternalLink67() } -func (c *current) onExtraListElement1076(content interface{}) (interface{}, error) { - return types.NewParagraph(content) +func (c *current) onExternalLink79() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonExtraListElement1076() (interface{}, error) { +func (p *parser) callonExternalLink79() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1076(stack["content"]) + return p.cur.onExternalLink79() } -func (c *current) onExtraListElement745(term, separator, description interface{}) (interface{}, error) { - return types.NewLabeledListElement(len(separator.(string))-1, term, description) +func (c *current) onExternalLink81() (interface{}, error) { + + return strconv.Atoi(string(c.text)) } -func (p *parser) callonExtraListElement745() (interface{}, error) { +func (p *parser) callonExternalLink81() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement745(stack["term"], stack["separator"], stack["description"]) + return p.cur.onExternalLink81() } -func (c *current) onExtraListElement739(attributes, element interface{}) (interface{}, error) { - return append(attributes.([]interface{}), element), nil +func (c *current) onExternalLink74(start interface{}) (interface{}, error) { + return start, nil } -func (p *parser) callonExtraListElement739() (interface{}, error) { +func (p *parser) callonExternalLink74() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement739(stack["attributes"], stack["element"]) + return p.cur.onExternalLink74(stack["start"]) } -func (c *current) onExtraListElement1099() (interface{}, error) { - return string(c.text), nil - +func (c *current) onExternalLink63(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) } -func (p *parser) callonExtraListElement1099() (interface{}, error) { +func (p *parser) callonExternalLink63() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1099() + return p.cur.onExternalLink63(stack["name"], stack["start"]) } -func (c *current) onExtraListElement1103() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onExternalLink89() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonExtraListElement1103() (interface{}, error) { +func (p *parser) callonExternalLink89() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1103() + return p.cur.onExternalLink89() } -func (c *current) onExtraListElement1093(content interface{}) (interface{}, error) { - return types.NewSingleLineComment(content.(string)) +func (c *current) onExternalLink85(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonExtraListElement1093() (interface{}, error) { +func (p *parser) callonExternalLink85() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1093(stack["content"]) + return p.cur.onExternalLink85(stack["name"]) } -func (c *current) onExtraListElement1121() (interface{}, error) { - return string(c.text), nil +func (c *current) onExternalLink36(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonExtraListElement1121() (interface{}, error) { +func (p *parser) callonExternalLink36() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1121() + return p.cur.onExternalLink36(stack["element"]) } -func (c *current) onExtraListElement1124() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onExternalLink95() (interface{}, error) { + return types.NewStringElement(string(c.text)) + } -func (p *parser) callonExtraListElement1124() (interface{}, error) { +func (p *parser) callonExternalLink95() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1124() + return p.cur.onExternalLink95() } -func (c *current) onExtraListElement1115() (interface{}, error) { - return types.NewBlankLine() +func (c *current) onExternalLink17(elements interface{}) (interface{}, error) { + return types.NewInlineElements(elements.([]interface{})) } -func (p *parser) callonExtraListElement1115() (interface{}, error) { +func (p *parser) callonExternalLink17() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1115() + return p.cur.onExternalLink17(stack["elements"]) } -func (c *current) onExtraListElement1135() (interface{}, error) { - return string(c.text), nil +func (c *current) onExternalLink4(scheme, path interface{}) (interface{}, error) { + return types.NewLocation(scheme, path.([]interface{})) } -func (p *parser) callonExtraListElement1135() (interface{}, error) { +func (p *parser) callonExternalLink4() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1135() + return p.cur.onExternalLink4(stack["scheme"], stack["path"]) } -func (c *current) onExtraListElement1137() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onExternalLink1(url, attributes interface{}) (interface{}, error) { + return types.NewInlineLink(url.(*types.Location), attributes) + } -func (p *parser) callonExtraListElement1137() (interface{}, error) { +func (p *parser) callonExternalLink1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1137() + return p.cur.onExternalLink1(stack["url"], stack["attributes"]) } -func (c *current) onExtraListElement1146() (interface{}, error) { +func (c *current) onListElements11() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExtraListElement1146() (interface{}, error) { +func (p *parser) callonListElements11() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1146() + return p.cur.onListElements11() } -func (c *current) onExtraListElement1153() (interface{}, error) { +func (c *current) onListElements18() (interface{}, error) { // `.` is 1, etc. return (len(c.text)), nil } -func (p *parser) callonExtraListElement1153() (interface{}, error) { +func (p *parser) callonListElements18() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1153() + return p.cur.onListElements18() } -func (c *current) onExtraListElement1156(depth interface{}) (bool, error) { +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) callonExtraListElement1156() (bool, error) { +func (p *parser) callonListElements21() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1156(stack["depth"]) + return p.cur.onListElements21(stack["depth"]) } -func (c *current) onExtraListElement1150(depth interface{}) (interface{}, error) { +func (c *current) onListElements15(depth interface{}) (interface{}, error) { switch depth.(int) { case 1: return types.NewOrderedListElementPrefix(types.Arabic) @@ -88003,132 +62749,176 @@ func (c *current) onExtraListElement1150(depth interface{}) (interface{}, error) } -func (p *parser) callonExtraListElement1150() (interface{}, error) { +func (p *parser) callonListElements15() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1150(stack["depth"]) + return p.cur.onListElements15(stack["depth"]) } -func (c *current) onExtraListElement1157() (interface{}, error) { +func (c *current) onListElements22() (interface{}, error) { // numbering style: "1.", etc. return types.NewOrderedListElementPrefix(types.Arabic) } -func (p *parser) callonExtraListElement1157() (interface{}, error) { +func (p *parser) callonListElements22() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1157() + return p.cur.onListElements22() } -func (c *current) onExtraListElement1162() (interface{}, error) { +func (c *current) onListElements27() (interface{}, error) { // numbering style: "a.", etc. return types.NewOrderedListElementPrefix(types.LowerAlpha) } -func (p *parser) callonExtraListElement1162() (interface{}, error) { +func (p *parser) callonListElements27() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1162() + return p.cur.onListElements27() } -func (c *current) onExtraListElement1166() (interface{}, error) { +func (c *current) onListElements31() (interface{}, error) { // numbering style: "A.", etc. return types.NewOrderedListElementPrefix(types.UpperAlpha) } -func (p *parser) callonExtraListElement1166() (interface{}, error) { +func (p *parser) callonListElements31() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1166() + return p.cur.onListElements31() } -func (c *current) onExtraListElement1170() (interface{}, error) { +func (c *current) onListElements35() (interface{}, error) { // numbering style: "i)", etc. return types.NewOrderedListElementPrefix(types.LowerRoman) } -func (p *parser) callonExtraListElement1170() (interface{}, error) { +func (p *parser) callonListElements35() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1170() + return p.cur.onListElements35() } -func (c *current) onExtraListElement1175() (interface{}, error) { +func (c *current) onListElements40() (interface{}, error) { // numbering style: "I)", etc. return types.NewOrderedListElementPrefix(types.UpperRoman) } -func (p *parser) callonExtraListElement1175() (interface{}, error) { +func (p *parser) callonListElements40() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1175() + return p.cur.onListElements40() } -func (c *current) onExtraListElement1180(prefix interface{}) (interface{}, error) { +func (c *current) onListElements45(prefix interface{}) (interface{}, error) { // log.Debug("matched multiple spaces") return string(c.text), nil } -func (p *parser) callonExtraListElement1180() (interface{}, error) { +func (p *parser) callonListElements45() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1180(stack["prefix"]) + return p.cur.onListElements45(stack["prefix"]) } -func (c *current) onExtraListElement1143(prefix interface{}) (interface{}, error) { +func (c *current) onListElements8(prefix interface{}) (interface{}, error) { return prefix, nil } -func (p *parser) callonExtraListElement1143() (interface{}, error) { +func (p *parser) callonListElements8() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1143(stack["prefix"]) + return p.cur.onListElements8(stack["prefix"]) } -func (c *current) onExtraListElement1187() (interface{}, error) { +func (c *current) onListElements52() (interface{}, error) { + return types.NewRawLine(string(c.text)) + +} + +func (p *parser) callonListElements52() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements52() +} + +func (c *current) onListElements56() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil +} +func (p *parser) callonListElements56() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements56() } -func (p *parser) callonExtraListElement1187() (interface{}, error) { +func (c *current) onListElements49(rawline interface{}) (interface{}, error) { + return types.NewParagraph(rawline) + +} + +func (p *parser) callonListElements49() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1187() + return p.cur.onListElements49(stack["rawline"]) } -func (c *current) onExtraListElement1194() (interface{}, error) { +func (c *current) onListElements5(prefix, content interface{}) (interface{}, error) { + return types.NewOrderedListElement(prefix.(types.OrderedListElementPrefix), content) + +} + +func (p *parser) callonListElements5() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements5(stack["prefix"], stack["content"]) +} + +func (c *current) onListElements69() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonListElements69() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements69() +} + +func (c *current) onListElements76() (interface{}, error) { // `*` is 1, etc. return (len(c.text)), nil } -func (p *parser) callonExtraListElement1194() (interface{}, error) { +func (p *parser) callonListElements76() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1194() + return p.cur.onListElements76() } -func (c *current) onExtraListElement1197(depth interface{}) (bool, error) { +func (c *current) onListElements79(depth interface{}) (bool, error) { // use a predicate to make sure that only `*` to `*****` are allowed return depth.(int) <= 5, nil } -func (p *parser) callonExtraListElement1197() (bool, error) { +func (p *parser) callonListElements79() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1197(stack["depth"]) + return p.cur.onListElements79(stack["depth"]) } -func (c *current) onExtraListElement1191(depth interface{}) (interface{}, error) { +func (c *current) onListElements73(depth interface{}) (interface{}, error) { switch depth.(int) { case 1: return types.NewUnorderedListElementPrefix(types.OneAsterisk) @@ -88144,1243 +62934,1246 @@ func (c *current) onExtraListElement1191(depth interface{}) (interface{}, error) } -func (p *parser) callonExtraListElement1191() (interface{}, error) { +func (p *parser) callonListElements73() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1191(stack["depth"]) + return p.cur.onListElements73(stack["depth"]) } -func (c *current) onExtraListElement1199() (interface{}, error) { +func (c *current) onListElements81() (interface{}, error) { return types.NewUnorderedListElementPrefix(types.Dash) } -func (p *parser) callonExtraListElement1199() (interface{}, error) { +func (p *parser) callonListElements81() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1199() + return p.cur.onListElements81() } -func (c *current) onExtraListElement1201(prefix interface{}) (interface{}, error) { +func (c *current) onListElements83(prefix interface{}) (interface{}, error) { // log.Debug("matched multiple spaces") return string(c.text), nil } -func (p *parser) callonExtraListElement1201() (interface{}, error) { +func (p *parser) callonListElements83() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1201(stack["prefix"]) + return p.cur.onListElements83(stack["prefix"]) } -func (c *current) onExtraListElement1184(prefix interface{}) (interface{}, error) { +func (c *current) onListElements66(prefix interface{}) (interface{}, error) { return prefix, nil } -func (p *parser) callonExtraListElement1184() (interface{}, error) { +func (p *parser) callonListElements66() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1184(stack["prefix"]) + return p.cur.onListElements66(stack["prefix"]) } -func (c *current) onExtraListElement1209() (interface{}, error) { - return strconv.Atoi(string(c.text)) +func (c *current) onListElements94() (interface{}, error) { + return types.Unchecked, nil } -func (p *parser) callonExtraListElement1209() (interface{}, error) { +func (p *parser) callonListElements94() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1209() + return p.cur.onListElements94() } -func (c *current) onExtraListElement1213(ref interface{}) (interface{}, error) { - // log.Debug("matched multiple spaces") - return string(c.text), nil - +func (c *current) onListElements96() (interface{}, error) { + return types.Checked, nil } -func (p *parser) callonExtraListElement1213() (interface{}, error) { +func (p *parser) callonListElements96() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1213(stack["ref"]) + return p.cur.onListElements96() } -func (c *current) onExtraListElement1205(ref interface{}) (interface{}, error) { - return ref, nil - +func (c *current) onListElements98() (interface{}, error) { + return types.Checked, nil } -func (p *parser) callonExtraListElement1205() (interface{}, error) { +func (p *parser) callonListElements98() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1205(stack["ref"]) + return p.cur.onListElements98() } -func (c *current) onExtraListElement1225() (interface{}, error) { - +func (c *current) onListElements100(style interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") return string(c.text), nil } -func (p *parser) callonExtraListElement1225() (interface{}, error) { +func (p *parser) callonListElements100() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1225() + return p.cur.onListElements100(stack["style"]) } -func (c *current) onExtraListElement1228(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) onListElements88(style interface{}) (interface{}, error) { + return style, nil } -func (p *parser) callonExtraListElement1228() (bool, error) { +func (p *parser) callonListElements88() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1228(stack["separator"]) + return p.cur.onListElements88(stack["style"]) } -func (c *current) onExtraListElement1222(separator interface{}) (interface{}, error) { - return separator, nil +func (c *current) onListElements107() (interface{}, error) { + return types.NewRawLine(string(c.text)) } -func (p *parser) callonExtraListElement1222() (interface{}, error) { +func (p *parser) callonListElements107() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1222(stack["separator"]) + return p.cur.onListElements107() } -func (c *current) onExtraListElement1231() (interface{}, error) { +func (c *current) onListElements111() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonExtraListElement1231() (interface{}, error) { +func (p *parser) callonListElements111() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1231() + return p.cur.onListElements111() } -func (c *current) onExtraListElement1218() (interface{}, error) { - return types.NewRawLine(string(c.text)) +func (c *current) onListElements104(rawline interface{}) (interface{}, error) { + return types.NewParagraph(rawline) } -func (p *parser) callonExtraListElement1218() (interface{}, error) { +func (p *parser) callonListElements104() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1218() + return p.cur.onListElements104(stack["rawline"]) } -func (c *current) onExtraListElement1242() (interface{}, error) { +func (c *current) onListElements63(prefix, checkstyle, content interface{}) (interface{}, error) { + return types.NewUnorderedListElement(prefix.(types.UnorderedListElementPrefix), checkstyle, content) - return string(c.text), nil +} +func (p *parser) callonListElements63() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements63(stack["prefix"], stack["checkstyle"], stack["content"]) +} + +func (c *current) onListElements125() (interface{}, error) { + return strconv.Atoi(string(c.text)) } -func (p *parser) callonExtraListElement1242() (interface{}, error) { +func (p *parser) callonListElements125() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1242() + return p.cur.onListElements125() } -func (c *current) onExtraListElement1245(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) onListElements129(ref interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") + return string(c.text), nil } -func (p *parser) callonExtraListElement1245() (bool, error) { +func (p *parser) callonListElements129() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1245(stack["separator"]) + return p.cur.onListElements129(stack["ref"]) } -func (c *current) onExtraListElement1239(separator interface{}) (interface{}, error) { - return separator, nil +func (c *current) onListElements121(ref interface{}) (interface{}, error) { + return ref, nil } -func (p *parser) callonExtraListElement1239() (interface{}, error) { +func (p *parser) callonListElements121() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1239(stack["separator"]) + return p.cur.onListElements121(stack["ref"]) } -func (c *current) onExtraListElement1257() (interface{}, error) { +func (c *current) onListElements136() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExtraListElement1257() (interface{}, error) { +func (p *parser) callonListElements136() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1257() + return p.cur.onListElements136() } -func (c *current) onExtraListElement1260() (interface{}, error) { +func (c *current) onListElements140() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonExtraListElement1260() (interface{}, error) { +func (p *parser) callonListElements140() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1260() + return p.cur.onListElements140() } -func (c *current) onExtraListElement1253() (interface{}, error) { - return types.NewBlockDelimiter(types.Comment, string(c.text)) +func (c *current) onListElements133(rawline interface{}) (interface{}, error) { + return types.NewRawLine(rawline.(string)) + } -func (p *parser) callonExtraListElement1253() (interface{}, error) { +func (p *parser) callonListElements133() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1253() + return p.cur.onListElements133(stack["rawline"]) } -func (c *current) onExtraListElement1271() (interface{}, error) { - return string(c.text), nil +func (c *current) onListElements118(ref, description interface{}) (interface{}, error) { + return types.NewCalloutListElement(ref.(int), description.(types.RawLine)) } -func (p *parser) callonExtraListElement1271() (interface{}, error) { +func (p *parser) callonListElements118() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1271() + return p.cur.onListElements118(stack["ref"], stack["description"]) } -func (c *current) onExtraListElement1274() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onListElements157() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonExtraListElement1274() (interface{}, error) { +func (p *parser) callonListElements157() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1274() + return p.cur.onListElements157() } -func (c *current) onExtraListElement1267() (interface{}, error) { - return types.NewBlockDelimiter(types.Example, string(c.text)) +func (c *current) onListElements160(separator interface{}) (bool, error) { + + // use a predicate to make sure that separator is `::`, `:::` or `::::` + return len(separator.(string)) >= 2 && len(separator.(string)) <= 4, nil + } -func (p *parser) callonExtraListElement1267() (interface{}, error) { +func (p *parser) callonListElements160() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1267() + return p.cur.onListElements160(stack["separator"]) } -func (c *current) onExtraListElement1285() (interface{}, error) { - return string(c.text), nil +func (c *current) onListElements154(separator interface{}) (interface{}, error) { + return separator, nil } -func (p *parser) callonExtraListElement1285() (interface{}, error) { +func (p *parser) callonListElements154() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1285() + return p.cur.onListElements154(stack["separator"]) } -func (c *current) onExtraListElement1288() (interface{}, error) { +func (c *current) onListElements163() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonExtraListElement1288() (interface{}, error) { +func (p *parser) callonListElements163() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1288() + return p.cur.onListElements163() } -func (c *current) onExtraListElement1281() (interface{}, error) { - return types.NewBlockDelimiter(types.Fenced, string(c.text)) +func (c *current) onListElements150() (interface{}, error) { + return types.NewRawLine(strings.TrimSpace(string(c.text))) + } -func (p *parser) callonExtraListElement1281() (interface{}, error) { +func (p *parser) callonListElements150() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1281() + return p.cur.onListElements150() } -func (c *current) onExtraListElement1299() (interface{}, error) { +func (c *current) onListElements175() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonExtraListElement1299() (interface{}, error) { +func (p *parser) callonListElements175() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1299() + return p.cur.onListElements175() } -func (c *current) onExtraListElement1302() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} +func (c *current) onListElements178(separator interface{}) (bool, error) { -func (p *parser) callonExtraListElement1302() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onExtraListElement1302() -} + // use a predicate to make sure that separator is `::`, `:::` or `::::` + return len(separator.(string)) >= 2 && len(separator.(string)) <= 4, nil -func (c *current) onExtraListElement1295() (interface{}, error) { - return types.NewBlockDelimiter(types.Listing, string(c.text)) } -func (p *parser) callonExtraListElement1295() (interface{}, error) { +func (p *parser) callonListElements178() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1295() + return p.cur.onListElements178(stack["separator"]) } -func (c *current) onExtraListElement1313() (interface{}, error) { - return string(c.text), nil +func (c *current) onListElements172(separator interface{}) (interface{}, error) { + return separator, nil } -func (p *parser) callonExtraListElement1313() (interface{}, error) { +func (p *parser) callonListElements172() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1313() + return p.cur.onListElements172(stack["separator"]) } -func (c *current) onExtraListElement1316() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onListElements184() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonExtraListElement1316() (interface{}, error) { +func (p *parser) callonListElements184() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1316() + return p.cur.onListElements184() } -func (c *current) onExtraListElement1309() (interface{}, error) { - return types.NewBlockDelimiter(types.Literal, string(c.text)) +func (c *current) onListElements187() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonExtraListElement1309() (interface{}, error) { +func (p *parser) callonListElements187() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1309() + return p.cur.onListElements187() } -func (c *current) onExtraListElement1327() (interface{}, error) { +func (c *current) onListElements201() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExtraListElement1327() (interface{}, error) { +func (p *parser) callonListElements201() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1327() + return p.cur.onListElements201() } -func (c *current) onExtraListElement1330() (interface{}, error) { +func (c *current) onListElements204() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonExtraListElement1330() (interface{}, error) { +func (p *parser) callonListElements204() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1330() + return p.cur.onListElements204() } -func (c *current) onExtraListElement1323() (interface{}, error) { - return types.NewBlockDelimiter(types.Passthrough, string(c.text)) +func (c *current) onListElements195() (interface{}, error) { + return types.NewBlankLine() + } -func (p *parser) callonExtraListElement1323() (interface{}, error) { +func (p *parser) callonListElements195() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1323() + return p.cur.onListElements195() } -func (c *current) onExtraListElement1341() (interface{}, error) { +func (c *current) onListElements222() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExtraListElement1341() (interface{}, error) { +func (p *parser) callonListElements222() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1341() + return p.cur.onListElements222() } -func (c *current) onExtraListElement1344() (interface{}, error) { +func (c *current) onListElements225() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonExtraListElement1344() (interface{}, error) { +func (p *parser) callonListElements225() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1344() + return p.cur.onListElements225() } -func (c *current) onExtraListElement1337() (interface{}, error) { - return types.NewBlockDelimiter(types.Quote, string(c.text)) +func (c *current) onListElements216() (interface{}, error) { + return types.NewBlankLine() + } -func (p *parser) callonExtraListElement1337() (interface{}, error) { +func (p *parser) callonListElements216() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1337() + return p.cur.onListElements216() } -func (c *current) onExtraListElement1355() (interface{}, error) { +func (c *current) onListElements236() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExtraListElement1355() (interface{}, error) { +func (p *parser) callonListElements236() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1355() + return p.cur.onListElements236() } -func (c *current) onExtraListElement1358() (interface{}, error) { +func (c *current) onListElements238() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonExtraListElement1358() (interface{}, error) { +func (p *parser) callonListElements238() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1358() + return p.cur.onListElements238() } -func (c *current) onExtraListElement1351() (interface{}, error) { - return types.NewBlockDelimiter(types.Sidebar, string(c.text)) +func (c *current) onListElements247() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonExtraListElement1351() (interface{}, error) { +func (p *parser) callonListElements247() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1351() + return p.cur.onListElements247() } -func (c *current) onExtraListElement1247(delimiter interface{}) (interface{}, error) { - return delimiter, nil +func (c *current) onListElements254() (interface{}, error) { + + // `.` is 1, etc. + return (len(c.text)), nil } -func (p *parser) callonExtraListElement1247() (interface{}, error) { +func (p *parser) callonListElements254() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1247(stack["delimiter"]) + return p.cur.onListElements254() } -func (c *current) onExtraListElement1366() (interface{}, error) { - return strings.TrimSpace(string(c.text)), nil - -} +func (c *current) onListElements257(depth interface{}) (bool, error) { -func (p *parser) callonExtraListElement1366() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onExtraListElement1366() -} + // use a predicate to make sure that only `.` to `.....` are allowed + return depth.(int) <= 5, nil -func (c *current) onExtraListElement1370() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil } -func (p *parser) callonExtraListElement1370() (interface{}, error) { +func (p *parser) callonListElements257() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1370() + return p.cur.onListElements257(stack["depth"]) } -func (c *current) onExtraListElement1112(content interface{}) (interface{}, error) { - // do not retain the EOL chars - return types.NewRawLine(content.(string)) +func (c *current) onListElements251(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) callonExtraListElement1112() (interface{}, error) { +func (p *parser) callonListElements251() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1112(stack["content"]) + return p.cur.onListElements251(stack["depth"]) } -func (c *current) onExtraListElement1110(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onListElements258() (interface{}, error) { + // numbering style: "1.", etc. + return types.NewOrderedListElementPrefix(types.Arabic) } -func (p *parser) callonExtraListElement1110() (interface{}, error) { +func (p *parser) callonListElements258() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1110(stack["element"]) + return p.cur.onListElements258() } -func (c *current) onExtraListElement1(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onListElements263() (interface{}, error) { + // numbering style: "a.", etc. + return types.NewOrderedListElementPrefix(types.LowerAlpha) } -func (p *parser) callonExtraListElement1() (interface{}, error) { +func (p *parser) callonListElements263() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1(stack["element"]) + return p.cur.onListElements263() } -func (c *current) onListElementContinuation7() (interface{}, error) { - return string(c.text), nil +func (c *current) onListElements267() (interface{}, error) { + // numbering style: "A.", etc. + return types.NewOrderedListElementPrefix(types.UpperAlpha) } -func (p *parser) callonListElementContinuation7() (interface{}, error) { +func (p *parser) callonListElements267() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuation7() + return p.cur.onListElements267() } -func (c *current) onListElementContinuation9() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onListElements271() (interface{}, error) { + // numbering style: "i)", etc. + return types.NewOrderedListElementPrefix(types.LowerRoman) + } -func (p *parser) callonListElementContinuation9() (interface{}, error) { +func (p *parser) callonListElements271() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuation9() + return p.cur.onListElements271() } -func (c *current) onListElementContinuation16() (interface{}, error) { - return string(c.text), nil +func (c *current) onListElements276() (interface{}, error) { + // numbering style: "I)", etc. + return types.NewOrderedListElementPrefix(types.UpperRoman) } -func (p *parser) callonListElementContinuation16() (interface{}, error) { +func (p *parser) callonListElements276() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuation16() + return p.cur.onListElements276() } -func (c *current) onListElementContinuation18(offset interface{}) (interface{}, error) { - // TODO: just use "\n" +func (c *current) onListElements281(prefix interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") return string(c.text), nil + } -func (p *parser) callonListElementContinuation18() (interface{}, error) { +func (p *parser) callonListElements281() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuation18(stack["offset"]) + return p.cur.onListElements281(stack["prefix"]) } -func (c *current) onListElementContinuation1(offset, element interface{}) (interface{}, error) { - return types.NewListElementContinuation(len(offset.([]interface{})), element) - +func (c *current) onListElements244(prefix interface{}) (interface{}, error) { + return prefix, nil } -func (p *parser) callonListElementContinuation1() (interface{}, error) { +func (p *parser) callonListElements244() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuation1(stack["offset"], stack["element"]) + return p.cur.onListElements244(stack["prefix"]) } -func (c *current) onListElementContinuationElement14() (interface{}, error) { +func (c *current) onListElements288() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListElementContinuationElement14() (interface{}, error) { +func (p *parser) callonListElements288() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement14() + return p.cur.onListElements288() } -func (c *current) onListElementContinuationElement21() (interface{}, error) { +func (c *current) onListElements295() (interface{}, error) { - // `.` is 1, etc. + // `*` is 1, etc. return (len(c.text)), nil } -func (p *parser) callonListElementContinuationElement21() (interface{}, error) { +func (p *parser) callonListElements295() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement21() + return p.cur.onListElements295() } -func (c *current) onListElementContinuationElement24(depth interface{}) (bool, error) { +func (c *current) onListElements298(depth interface{}) (bool, error) { - // use a predicate to make sure that only `.` to `.....` are allowed + // use a predicate to make sure that only `*` to `*****` are allowed return depth.(int) <= 5, nil } -func (p *parser) callonListElementContinuationElement24() (bool, error) { +func (p *parser) callonListElements298() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement24(stack["depth"]) + return p.cur.onListElements298(stack["depth"]) } -func (c *current) onListElementContinuationElement18(depth interface{}) (interface{}, error) { +func (c *current) onListElements292(depth interface{}) (interface{}, error) { switch depth.(int) { case 1: - return types.NewOrderedListElementPrefix(types.Arabic) + return types.NewUnorderedListElementPrefix(types.OneAsterisk) case 2: - return types.NewOrderedListElementPrefix(types.LowerAlpha) + return types.NewUnorderedListElementPrefix(types.TwoAsterisks) case 3: - return types.NewOrderedListElementPrefix(types.LowerRoman) + return types.NewUnorderedListElementPrefix(types.ThreeAsterisks) case 4: - return types.NewOrderedListElementPrefix(types.UpperAlpha) + return types.NewUnorderedListElementPrefix(types.FourAsterisks) default: - return types.NewOrderedListElementPrefix(types.UpperRoman) + return types.NewUnorderedListElementPrefix(types.FiveAsterisks) } } -func (p *parser) callonListElementContinuationElement18() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onListElementContinuationElement18(stack["depth"]) -} - -func (c *current) onListElementContinuationElement25() (interface{}, error) { - // numbering style: "1.", etc. - return types.NewOrderedListElementPrefix(types.Arabic) - -} - -func (p *parser) callonListElementContinuationElement25() (interface{}, error) { +func (p *parser) callonListElements292() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement25() + return p.cur.onListElements292(stack["depth"]) } -func (c *current) onListElementContinuationElement30() (interface{}, error) { - // numbering style: "a.", etc. - return types.NewOrderedListElementPrefix(types.LowerAlpha) +func (c *current) onListElements300() (interface{}, error) { + return types.NewUnorderedListElementPrefix(types.Dash) } -func (p *parser) callonListElementContinuationElement30() (interface{}, error) { +func (p *parser) callonListElements300() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement30() + return p.cur.onListElements300() } -func (c *current) onListElementContinuationElement34() (interface{}, error) { - // numbering style: "A.", etc. - return types.NewOrderedListElementPrefix(types.UpperAlpha) +func (c *current) onListElements302(prefix interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") + return string(c.text), nil } -func (p *parser) callonListElementContinuationElement34() (interface{}, error) { +func (p *parser) callonListElements302() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement34() + return p.cur.onListElements302(stack["prefix"]) } -func (c *current) onListElementContinuationElement38() (interface{}, error) { - // numbering style: "i)", etc. - return types.NewOrderedListElementPrefix(types.LowerRoman) - +func (c *current) onListElements285(prefix interface{}) (interface{}, error) { + return prefix, nil } -func (p *parser) callonListElementContinuationElement38() (interface{}, error) { +func (p *parser) callonListElements285() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement38() + return p.cur.onListElements285(stack["prefix"]) } -func (c *current) onListElementContinuationElement43() (interface{}, error) { - // numbering style: "I)", etc. - return types.NewOrderedListElementPrefix(types.UpperRoman) - +func (c *current) onListElements310() (interface{}, error) { + return strconv.Atoi(string(c.text)) } -func (p *parser) callonListElementContinuationElement43() (interface{}, error) { +func (p *parser) callonListElements310() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement43() + return p.cur.onListElements310() } -func (c *current) onListElementContinuationElement48(prefix interface{}) (interface{}, error) { +func (c *current) onListElements314(ref interface{}) (interface{}, error) { // log.Debug("matched multiple spaces") return string(c.text), nil } -func (p *parser) callonListElementContinuationElement48() (interface{}, error) { +func (p *parser) callonListElements314() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement48(stack["prefix"]) + return p.cur.onListElements314(stack["ref"]) } -func (c *current) onListElementContinuationElement11(prefix interface{}) (interface{}, error) { - return prefix, nil +func (c *current) onListElements306(ref interface{}) (interface{}, error) { + return ref, nil + } -func (p *parser) callonListElementContinuationElement11() (interface{}, error) { +func (p *parser) callonListElements306() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement11(stack["prefix"]) + return p.cur.onListElements306(stack["ref"]) } -func (c *current) onListElementContinuationElement55() (interface{}, error) { - return types.NewRawLine(string(c.text)) +func (c *current) onListElements326() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonListElementContinuationElement55() (interface{}, error) { +func (p *parser) callonListElements326() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement55() + return p.cur.onListElements326() } -func (c *current) onListElementContinuationElement59() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onListElements329(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) callonListElementContinuationElement59() (interface{}, error) { +func (p *parser) callonListElements329() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement59() + return p.cur.onListElements329(stack["separator"]) } -func (c *current) onListElementContinuationElement52(rawline interface{}) (interface{}, error) { - return types.NewParagraph(rawline) +func (c *current) onListElements323(separator interface{}) (interface{}, error) { + return separator, nil } -func (p *parser) callonListElementContinuationElement52() (interface{}, error) { +func (p *parser) callonListElements323() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement52(stack["rawline"]) + return p.cur.onListElements323(stack["separator"]) } -func (c *current) onListElementContinuationElement8(prefix, content interface{}) (interface{}, error) { - return types.NewOrderedListElement(prefix.(types.OrderedListElementPrefix), content) - +func (c *current) onListElements332() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonListElementContinuationElement8() (interface{}, error) { +func (p *parser) callonListElements332() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement8(stack["prefix"], stack["content"]) + return p.cur.onListElements332() } -func (c *current) onListElementContinuationElement72() (interface{}, error) { - return string(c.text), nil +func (c *current) onListElements319() (interface{}, error) { + return types.NewRawLine(strings.TrimSpace(string(c.text))) } -func (p *parser) callonListElementContinuationElement72() (interface{}, error) { +func (p *parser) callonListElements319() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement72() + return p.cur.onListElements319() } -func (c *current) onListElementContinuationElement79() (interface{}, error) { +func (c *current) onListElements343() (interface{}, error) { - // `*` is 1, etc. - return (len(c.text)), nil + return string(c.text), nil } -func (p *parser) callonListElementContinuationElement79() (interface{}, error) { +func (p *parser) callonListElements343() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement79() + return p.cur.onListElements343() } -func (c *current) onListElementContinuationElement82(depth interface{}) (bool, error) { +func (c *current) onListElements346(separator interface{}) (bool, error) { - // use a predicate to make sure that only `*` to `*****` are allowed - return depth.(int) <= 5, nil + // use a predicate to make sure that separator is `::`, `:::` or `::::` + return len(separator.(string)) >= 2 && len(separator.(string)) <= 4, nil } -func (p *parser) callonListElementContinuationElement82() (bool, error) { +func (p *parser) callonListElements346() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement82(stack["depth"]) + return p.cur.onListElements346(stack["separator"]) } -func (c *current) onListElementContinuationElement76(depth interface{}) (interface{}, error) { - switch depth.(int) { - case 1: - return types.NewUnorderedListElementPrefix(types.OneAsterisk) - case 2: - return types.NewUnorderedListElementPrefix(types.TwoAsterisks) - case 3: - return types.NewUnorderedListElementPrefix(types.ThreeAsterisks) - case 4: - return types.NewUnorderedListElementPrefix(types.FourAsterisks) - default: - return types.NewUnorderedListElementPrefix(types.FiveAsterisks) - } +func (c *current) onListElements340(separator interface{}) (interface{}, error) { + return separator, nil } -func (p *parser) callonListElementContinuationElement76() (interface{}, error) { +func (p *parser) callonListElements340() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement76(stack["depth"]) + return p.cur.onListElements340(stack["separator"]) } -func (c *current) onListElementContinuationElement84() (interface{}, error) { - return types.NewUnorderedListElementPrefix(types.Dash) - +func (c *current) onListElements358() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonListElementContinuationElement84() (interface{}, error) { +func (p *parser) callonListElements358() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement84() + return p.cur.onListElements358() } -func (c *current) onListElementContinuationElement86(prefix interface{}) (interface{}, error) { - // log.Debug("matched multiple spaces") +func (c *current) onListElements361() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonListElementContinuationElement86() (interface{}, error) { +func (p *parser) callonListElements361() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement86(stack["prefix"]) + return p.cur.onListElements361() } -func (c *current) onListElementContinuationElement69(prefix interface{}) (interface{}, error) { - return prefix, nil +func (c *current) onListElements354() (interface{}, error) { + return types.NewBlockDelimiter(types.Comment, string(c.text)) } -func (p *parser) callonListElementContinuationElement69() (interface{}, error) { +func (p *parser) callonListElements354() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement69(stack["prefix"]) + return p.cur.onListElements354() } -func (c *current) onListElementContinuationElement97() (interface{}, error) { - return types.Unchecked, nil +func (c *current) onListElements372() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonListElementContinuationElement97() (interface{}, error) { +func (p *parser) callonListElements372() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement97() + return p.cur.onListElements372() } -func (c *current) onListElementContinuationElement99() (interface{}, error) { - return types.Checked, nil +func (c *current) onListElements375() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonListElementContinuationElement99() (interface{}, error) { +func (p *parser) callonListElements375() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement99() + return p.cur.onListElements375() } -func (c *current) onListElementContinuationElement101() (interface{}, error) { - return types.Checked, nil +func (c *current) onListElements368() (interface{}, error) { + return types.NewBlockDelimiter(types.Example, string(c.text)) } -func (p *parser) callonListElementContinuationElement101() (interface{}, error) { +func (p *parser) callonListElements368() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement101() + return p.cur.onListElements368() } -func (c *current) onListElementContinuationElement103(style interface{}) (interface{}, error) { - // log.Debug("matched multiple spaces") +func (c *current) onListElements386() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListElementContinuationElement103() (interface{}, error) { +func (p *parser) callonListElements386() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement103(stack["style"]) + return p.cur.onListElements386() } -func (c *current) onListElementContinuationElement91(style interface{}) (interface{}, error) { - return style, nil - +func (c *current) onListElements389() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonListElementContinuationElement91() (interface{}, error) { +func (p *parser) callonListElements389() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement91(stack["style"]) + return p.cur.onListElements389() } -func (c *current) onListElementContinuationElement110() (interface{}, error) { - return types.NewRawLine(string(c.text)) - +func (c *current) onListElements382() (interface{}, error) { + return types.NewBlockDelimiter(types.Fenced, string(c.text)) } -func (p *parser) callonListElementContinuationElement110() (interface{}, error) { +func (p *parser) callonListElements382() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement110() + return p.cur.onListElements382() } -func (c *current) onListElementContinuationElement114() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onListElements400() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonListElementContinuationElement114() (interface{}, error) { +func (p *parser) callonListElements400() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement114() + return p.cur.onListElements400() } -func (c *current) onListElementContinuationElement107(rawline interface{}) (interface{}, error) { - return types.NewParagraph(rawline) - +func (c *current) onListElements403() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonListElementContinuationElement107() (interface{}, error) { +func (p *parser) callonListElements403() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement107(stack["rawline"]) + return p.cur.onListElements403() } -func (c *current) onListElementContinuationElement66(prefix, checkstyle, content interface{}) (interface{}, error) { - return types.NewUnorderedListElement(prefix.(types.UnorderedListElementPrefix), checkstyle, content) - +func (c *current) onListElements396() (interface{}, error) { + return types.NewBlockDelimiter(types.Listing, string(c.text)) } -func (p *parser) callonListElementContinuationElement66() (interface{}, error) { +func (p *parser) callonListElements396() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement66(stack["prefix"], stack["checkstyle"], stack["content"]) + return p.cur.onListElements396() } -func (c *current) onListElementContinuationElement128() (interface{}, error) { - return strconv.Atoi(string(c.text)) +func (c *current) onListElements414() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonListElementContinuationElement128() (interface{}, error) { +func (p *parser) callonListElements414() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement128() + return p.cur.onListElements414() } -func (c *current) onListElementContinuationElement132(ref interface{}) (interface{}, error) { - // log.Debug("matched multiple spaces") +func (c *current) onListElements417() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonListElementContinuationElement132() (interface{}, error) { +func (p *parser) callonListElements417() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement132(stack["ref"]) + return p.cur.onListElements417() } -func (c *current) onListElementContinuationElement124(ref interface{}) (interface{}, error) { - return ref, nil - +func (c *current) onListElements410() (interface{}, error) { + return types.NewBlockDelimiter(types.Literal, string(c.text)) } -func (p *parser) callonListElementContinuationElement124() (interface{}, error) { +func (p *parser) callonListElements410() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement124(stack["ref"]) + return p.cur.onListElements410() } -func (c *current) onListElementContinuationElement139() (interface{}, error) { +func (c *current) onListElements428() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListElementContinuationElement139() (interface{}, error) { +func (p *parser) callonListElements428() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement139() + return p.cur.onListElements428() } -func (c *current) onListElementContinuationElement143() (interface{}, error) { +func (c *current) onListElements431() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListElementContinuationElement143() (interface{}, error) { +func (p *parser) callonListElements431() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement143() + return p.cur.onListElements431() } -func (c *current) onListElementContinuationElement136(rawline interface{}) (interface{}, error) { - return types.NewRawLine(rawline.(string)) - +func (c *current) onListElements424() (interface{}, error) { + return types.NewBlockDelimiter(types.Passthrough, string(c.text)) } -func (p *parser) callonListElementContinuationElement136() (interface{}, error) { +func (p *parser) callonListElements424() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement136(stack["rawline"]) + return p.cur.onListElements424() } -func (c *current) onListElementContinuationElement121(ref, description interface{}) (interface{}, error) { - return types.NewCalloutListElement(ref.(int), description.(types.RawLine)) +func (c *current) onListElements442() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListElementContinuationElement121() (interface{}, error) { +func (p *parser) callonListElements442() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement121(stack["ref"], stack["description"]) + return p.cur.onListElements442() } -func (c *current) onListElementContinuationElement160() (interface{}, error) { - +func (c *current) onListElements445() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonListElementContinuationElement160() (interface{}, error) { +func (p *parser) callonListElements445() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement160() + return p.cur.onListElements445() } -func (c *current) onListElementContinuationElement163(separator interface{}) (bool, error) { - - // use a predicate to make sure that separator is `::`, `:::` or `::::` - return len(separator.(string)) >= 2 && len(separator.(string)) <= 4, nil - +func (c *current) onListElements438() (interface{}, error) { + return types.NewBlockDelimiter(types.Quote, string(c.text)) } -func (p *parser) callonListElementContinuationElement163() (bool, error) { +func (p *parser) callonListElements438() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement163(stack["separator"]) + return p.cur.onListElements438() } -func (c *current) onListElementContinuationElement157(separator interface{}) (interface{}, error) { - return separator, nil +func (c *current) onListElements456() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListElementContinuationElement157() (interface{}, error) { +func (p *parser) callonListElements456() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement157(stack["separator"]) + return p.cur.onListElements456() } -func (c *current) onListElementContinuationElement166() (interface{}, error) { +func (c *current) onListElements459() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListElementContinuationElement166() (interface{}, error) { +func (p *parser) callonListElements459() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement166() + return p.cur.onListElements459() } -func (c *current) onListElementContinuationElement153() (interface{}, error) { - return types.NewRawLine(string(c.text)) - +func (c *current) onListElements452() (interface{}, error) { + return types.NewBlockDelimiter(types.Sidebar, string(c.text)) } -func (p *parser) callonListElementContinuationElement153() (interface{}, error) { +func (p *parser) callonListElements452() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement153() + return p.cur.onListElements452() } -func (c *current) onListElementContinuationElement178() (interface{}, error) { - - return string(c.text), nil +func (c *current) onListElements348(delimiter interface{}) (interface{}, error) { + return delimiter, nil } -func (p *parser) callonListElementContinuationElement178() (interface{}, error) { +func (p *parser) callonListElements348() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement178() + return p.cur.onListElements348(stack["delimiter"]) } -func (c *current) onListElementContinuationElement181(separator interface{}) (bool, error) { +func (c *current) onListElements467() (interface{}, error) { + return strings.TrimSpace(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) callonListElements467() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements467() } -func (p *parser) callonListElementContinuationElement181() (bool, error) { +func (c *current) onListElements471() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonListElements471() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement181(stack["separator"]) + return p.cur.onListElements471() } -func (c *current) onListElementContinuationElement175(separator interface{}) (interface{}, error) { - return separator, nil +func (c *current) onListElements213(content interface{}) (interface{}, error) { + // do not retain the EOL chars + return types.NewRawLine(content.(string)) } -func (p *parser) callonListElementContinuationElement175() (interface{}, error) { +func (p *parser) callonListElements213() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement175(stack["separator"]) + return p.cur.onListElements213(stack["content"]) } -func (c *current) onListElementContinuationElement187() (interface{}, error) { - return string(c.text), nil +func (c *current) onListElements181(content interface{}) (interface{}, error) { + if content == nil { + return nil, nil + } + return types.NewParagraph(content) } -func (p *parser) callonListElementContinuationElement187() (interface{}, error) { +func (p *parser) callonListElements181() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement187() + return p.cur.onListElements181(stack["content"]) } -func (c *current) onListElementContinuationElement190() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onListElements480() (interface{}, error) { + // log.Debug("matched multiple spaces") return string(c.text), nil + } -func (p *parser) callonListElementContinuationElement190() (interface{}, error) { +func (p *parser) callonListElements480() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement190() + return p.cur.onListElements480() } -func (c *current) onListElementContinuationElement204() (interface{}, error) { - return string(c.text), nil +func (c *current) onListElements484() (interface{}, error) { + return types.NewRawLine(string(c.text)) } -func (p *parser) callonListElementContinuationElement204() (interface{}, error) { +func (p *parser) callonListElements484() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement204() + return p.cur.onListElements484() } -func (c *current) onListElementContinuationElement207() (interface{}, error) { +func (c *current) onListElements488() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListElementContinuationElement207() (interface{}, error) { +func (p *parser) callonListElements488() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement207() + return p.cur.onListElements488() } -func (c *current) onListElementContinuationElement198() (interface{}, error) { - return types.NewBlankLine() +func (c *current) onListElements478(content interface{}) (interface{}, error) { + return types.NewParagraph(content) } -func (p *parser) callonListElementContinuationElement198() (interface{}, error) { +func (p *parser) callonListElements478() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement198() + return p.cur.onListElements478(stack["content"]) } -func (c *current) onListElementContinuationElement225() (interface{}, error) { - return string(c.text), nil +func (c *current) onListElements147(term, separator, description interface{}) (interface{}, error) { + return types.NewLabeledListElement(len(separator.(string))-1, term, description) } -func (p *parser) callonListElementContinuationElement225() (interface{}, error) { +func (p *parser) callonListElements147() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement225() + return p.cur.onListElements147(stack["term"], stack["separator"], stack["description"]) } -func (c *current) onListElementContinuationElement228() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onListElements1(firstElement, extraElements interface{}) (interface{}, error) { + return types.NewListElements(append([]interface{}{firstElement}, extraElements.([]interface{})...)) + } -func (p *parser) callonListElementContinuationElement228() (interface{}, error) { +func (p *parser) callonListElements1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement228() + return p.cur.onListElements1(stack["firstElement"], stack["extraElements"]) } -func (c *current) onListElementContinuationElement219() (interface{}, error) { - return types.NewBlankLine() - +func (c *current) onExtraListElements1(elements interface{}) (interface{}, error) { + return types.Flatten(elements.([]interface{})), nil } -func (p *parser) callonListElementContinuationElement219() (interface{}, error) { +func (p *parser) callonExtraListElements1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement219() + return p.cur.onExtraListElements1(stack["elements"]) } -func (c *current) onListElementContinuationElement239() (interface{}, error) { +func (c *current) onExtraListElement17() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListElementContinuationElement239() (interface{}, error) { +func (p *parser) callonExtraListElement17() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement239() + return p.cur.onExtraListElement17() } -func (c *current) onListElementContinuationElement241() (interface{}, error) { +func (c *current) onExtraListElement20() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListElementContinuationElement241() (interface{}, error) { +func (p *parser) callonExtraListElement20() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement241() + return p.cur.onExtraListElement20() } -func (c *current) onListElementContinuationElement250() (interface{}, error) { +func (c *current) onExtraListElement11() (interface{}, error) { + return types.NewBlankLine() + +} + +func (p *parser) callonExtraListElement11() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement11() +} + +func (c *current) onExtraListElement34() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListElementContinuationElement250() (interface{}, error) { +func (p *parser) callonExtraListElement34() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement250() + return p.cur.onExtraListElement34() } -func (c *current) onListElementContinuationElement257() (interface{}, error) { +func (c *current) onExtraListElement41() (interface{}, error) { // `.` is 1, etc. return (len(c.text)), nil } -func (p *parser) callonListElementContinuationElement257() (interface{}, error) { +func (p *parser) callonExtraListElement41() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement257() + return p.cur.onExtraListElement41() } -func (c *current) onListElementContinuationElement260(depth interface{}) (bool, error) { +func (c *current) onExtraListElement44(depth interface{}) (bool, error) { // use a predicate to make sure that only `.` to `.....` are allowed return depth.(int) <= 5, nil } -func (p *parser) callonListElementContinuationElement260() (bool, error) { +func (p *parser) callonExtraListElement44() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement260(stack["depth"]) + return p.cur.onExtraListElement44(stack["depth"]) } -func (c *current) onListElementContinuationElement254(depth interface{}) (interface{}, error) { +func (c *current) onExtraListElement38(depth interface{}) (interface{}, error) { switch depth.(int) { case 1: return types.NewOrderedListElementPrefix(types.Arabic) @@ -89396,14678 +64189,15283 @@ func (c *current) onListElementContinuationElement254(depth interface{}) (interf } -func (p *parser) callonListElementContinuationElement254() (interface{}, error) { +func (p *parser) callonExtraListElement38() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement254(stack["depth"]) + return p.cur.onExtraListElement38(stack["depth"]) } -func (c *current) onListElementContinuationElement261() (interface{}, error) { +func (c *current) onExtraListElement45() (interface{}, error) { // numbering style: "1.", etc. return types.NewOrderedListElementPrefix(types.Arabic) } -func (p *parser) callonListElementContinuationElement261() (interface{}, error) { +func (p *parser) callonExtraListElement45() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement261() + return p.cur.onExtraListElement45() } -func (c *current) onListElementContinuationElement266() (interface{}, error) { +func (c *current) onExtraListElement50() (interface{}, error) { // numbering style: "a.", etc. return types.NewOrderedListElementPrefix(types.LowerAlpha) } -func (p *parser) callonListElementContinuationElement266() (interface{}, error) { +func (p *parser) callonExtraListElement50() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement266() + return p.cur.onExtraListElement50() } -func (c *current) onListElementContinuationElement270() (interface{}, error) { +func (c *current) onExtraListElement54() (interface{}, error) { // numbering style: "A.", etc. return types.NewOrderedListElementPrefix(types.UpperAlpha) } -func (p *parser) callonListElementContinuationElement270() (interface{}, error) { +func (p *parser) callonExtraListElement54() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement270() + return p.cur.onExtraListElement54() } -func (c *current) onListElementContinuationElement274() (interface{}, error) { +func (c *current) onExtraListElement58() (interface{}, error) { // numbering style: "i)", etc. return types.NewOrderedListElementPrefix(types.LowerRoman) } -func (p *parser) callonListElementContinuationElement274() (interface{}, error) { +func (p *parser) callonExtraListElement58() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement274() + return p.cur.onExtraListElement58() } -func (c *current) onListElementContinuationElement279() (interface{}, error) { +func (c *current) onExtraListElement63() (interface{}, error) { // numbering style: "I)", etc. return types.NewOrderedListElementPrefix(types.UpperRoman) } -func (p *parser) callonListElementContinuationElement279() (interface{}, error) { +func (p *parser) callonExtraListElement63() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement279() + return p.cur.onExtraListElement63() } -func (c *current) onListElementContinuationElement284(prefix interface{}) (interface{}, error) { +func (c *current) onExtraListElement68(prefix interface{}) (interface{}, error) { // log.Debug("matched multiple spaces") return string(c.text), nil } -func (p *parser) callonListElementContinuationElement284() (interface{}, error) { +func (p *parser) callonExtraListElement68() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement284(stack["prefix"]) + return p.cur.onExtraListElement68(stack["prefix"]) } -func (c *current) onListElementContinuationElement247(prefix interface{}) (interface{}, error) { +func (c *current) onExtraListElement31(prefix interface{}) (interface{}, error) { return prefix, nil } -func (p *parser) callonListElementContinuationElement247() (interface{}, error) { +func (p *parser) callonExtraListElement31() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement247(stack["prefix"]) + return p.cur.onExtraListElement31(stack["prefix"]) } -func (c *current) onListElementContinuationElement291() (interface{}, error) { - return string(c.text), nil +func (c *current) onExtraListElement75() (interface{}, error) { + return types.NewRawLine(string(c.text)) } -func (p *parser) callonListElementContinuationElement291() (interface{}, error) { +func (p *parser) callonExtraListElement75() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement291() + return p.cur.onExtraListElement75() } -func (c *current) onListElementContinuationElement298() (interface{}, error) { - - // `*` is 1, etc. - return (len(c.text)), nil - +func (c *current) onExtraListElement79() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonListElementContinuationElement298() (interface{}, error) { +func (p *parser) callonExtraListElement79() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement298() + return p.cur.onExtraListElement79() } -func (c *current) onListElementContinuationElement301(depth interface{}) (bool, error) { - - // use a predicate to make sure that only `*` to `*****` are allowed - return depth.(int) <= 5, nil +func (c *current) onExtraListElement72(rawline interface{}) (interface{}, error) { + return types.NewParagraph(rawline) } -func (p *parser) callonListElementContinuationElement301() (bool, error) { +func (p *parser) callonExtraListElement72() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement301(stack["depth"]) + return p.cur.onExtraListElement72(stack["rawline"]) } -func (c *current) onListElementContinuationElement295(depth interface{}) (interface{}, error) { - switch depth.(int) { - case 1: - return types.NewUnorderedListElementPrefix(types.OneAsterisk) - case 2: - return types.NewUnorderedListElementPrefix(types.TwoAsterisks) - case 3: - return types.NewUnorderedListElementPrefix(types.ThreeAsterisks) - case 4: - return types.NewUnorderedListElementPrefix(types.FourAsterisks) - default: - return types.NewUnorderedListElementPrefix(types.FiveAsterisks) - } +func (c *current) onExtraListElement28(prefix, content interface{}) (interface{}, error) { + return types.NewOrderedListElement(prefix.(types.OrderedListElementPrefix), content) } -func (p *parser) callonListElementContinuationElement295() (interface{}, error) { +func (p *parser) callonExtraListElement28() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement295(stack["depth"]) + return p.cur.onExtraListElement28(stack["prefix"], stack["content"]) } -func (c *current) onListElementContinuationElement303() (interface{}, error) { - return types.NewUnorderedListElementPrefix(types.Dash) +func (c *current) onExtraListElement8(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonListElementContinuationElement303() (interface{}, error) { +func (p *parser) callonExtraListElement8() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement303() + return p.cur.onExtraListElement8(stack["element"]) } -func (c *current) onListElementContinuationElement305(prefix interface{}) (interface{}, error) { - // log.Debug("matched multiple spaces") +func (c *current) onExtraListElement98() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListElementContinuationElement305() (interface{}, error) { +func (p *parser) callonExtraListElement98() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement305(stack["prefix"]) + return p.cur.onExtraListElement98() } -func (c *current) onListElementContinuationElement288(prefix interface{}) (interface{}, error) { - return prefix, nil -} +func (c *current) onExtraListElement105() (interface{}, error) { -func (p *parser) callonListElementContinuationElement288() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onListElementContinuationElement288(stack["prefix"]) -} + // `.` is 1, etc. + return (len(c.text)), nil -func (c *current) onListElementContinuationElement313() (interface{}, error) { - return strconv.Atoi(string(c.text)) } -func (p *parser) callonListElementContinuationElement313() (interface{}, error) { +func (p *parser) callonExtraListElement105() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement313() -} - -func (c *current) onListElementContinuationElement317(ref interface{}) (interface{}, error) { - // log.Debug("matched multiple spaces") - return string(c.text), nil - + return p.cur.onExtraListElement105() } -func (p *parser) callonListElementContinuationElement317() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onListElementContinuationElement317(stack["ref"]) -} +func (c *current) onExtraListElement108(depth interface{}) (bool, error) { -func (c *current) onListElementContinuationElement309(ref interface{}) (interface{}, error) { - return ref, nil + // use a predicate to make sure that only `.` to `.....` are allowed + return depth.(int) <= 5, nil } -func (p *parser) callonListElementContinuationElement309() (interface{}, error) { +func (p *parser) callonExtraListElement108() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement309(stack["ref"]) + return p.cur.onExtraListElement108(stack["depth"]) } -func (c *current) onListElementContinuationElement329() (interface{}, error) { - - return string(c.text), nil +func (c *current) onExtraListElement102(depth interface{}) (interface{}, error) { + switch depth.(int) { + case 1: + return types.NewOrderedListElementPrefix(types.Arabic) + case 2: + return types.NewOrderedListElementPrefix(types.LowerAlpha) + case 3: + return types.NewOrderedListElementPrefix(types.LowerRoman) + case 4: + return types.NewOrderedListElementPrefix(types.UpperAlpha) + default: + return types.NewOrderedListElementPrefix(types.UpperRoman) + } } -func (p *parser) callonListElementContinuationElement329() (interface{}, error) { +func (p *parser) callonExtraListElement102() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement329() + return p.cur.onExtraListElement102(stack["depth"]) } -func (c *current) onListElementContinuationElement332(separator interface{}) (bool, error) { - - // use a predicate to make sure that separator is `::`, `:::` or `::::` - return len(separator.(string)) >= 2 && len(separator.(string)) <= 4, nil +func (c *current) onExtraListElement109() (interface{}, error) { + // numbering style: "1.", etc. + return types.NewOrderedListElementPrefix(types.Arabic) } -func (p *parser) callonListElementContinuationElement332() (bool, error) { +func (p *parser) callonExtraListElement109() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement332(stack["separator"]) + return p.cur.onExtraListElement109() } -func (c *current) onListElementContinuationElement326(separator interface{}) (interface{}, error) { - return separator, nil +func (c *current) onExtraListElement114() (interface{}, error) { + // numbering style: "a.", etc. + return types.NewOrderedListElementPrefix(types.LowerAlpha) } -func (p *parser) callonListElementContinuationElement326() (interface{}, error) { +func (p *parser) callonExtraListElement114() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement326(stack["separator"]) + return p.cur.onExtraListElement114() } -func (c *current) onListElementContinuationElement335() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onExtraListElement118() (interface{}, error) { + // numbering style: "A.", etc. + return types.NewOrderedListElementPrefix(types.UpperAlpha) + } -func (p *parser) callonListElementContinuationElement335() (interface{}, error) { +func (p *parser) callonExtraListElement118() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement335() + return p.cur.onExtraListElement118() } -func (c *current) onListElementContinuationElement322() (interface{}, error) { - return types.NewRawLine(string(c.text)) +func (c *current) onExtraListElement122() (interface{}, error) { + // numbering style: "i)", etc. + return types.NewOrderedListElementPrefix(types.LowerRoman) } -func (p *parser) callonListElementContinuationElement322() (interface{}, error) { +func (p *parser) callonExtraListElement122() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement322() + return p.cur.onExtraListElement122() } -func (c *current) onListElementContinuationElement346() (interface{}, error) { - - return string(c.text), nil +func (c *current) onExtraListElement127() (interface{}, error) { + // numbering style: "I)", etc. + return types.NewOrderedListElementPrefix(types.UpperRoman) } -func (p *parser) callonListElementContinuationElement346() (interface{}, error) { +func (p *parser) callonExtraListElement127() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement346() + return p.cur.onExtraListElement127() } -func (c *current) onListElementContinuationElement349(separator interface{}) (bool, error) { - - // use a predicate to make sure that separator is `::`, `:::` or `::::` - return len(separator.(string)) >= 2 && len(separator.(string)) <= 4, nil +func (c *current) onExtraListElement132(prefix interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") + return string(c.text), nil } -func (p *parser) callonListElementContinuationElement349() (bool, error) { +func (p *parser) callonExtraListElement132() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement349(stack["separator"]) + return p.cur.onExtraListElement132(stack["prefix"]) } -func (c *current) onListElementContinuationElement343(separator interface{}) (interface{}, error) { - return separator, nil - +func (c *current) onExtraListElement95(prefix interface{}) (interface{}, error) { + return prefix, nil } -func (p *parser) callonListElementContinuationElement343() (interface{}, error) { +func (p *parser) callonExtraListElement95() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement343(stack["separator"]) + return p.cur.onExtraListElement95(stack["prefix"]) } -func (c *current) onListElementContinuationElement361() (interface{}, error) { - return string(c.text), nil +func (c *current) onExtraListElement139() (interface{}, error) { + return types.NewRawLine(string(c.text)) } -func (p *parser) callonListElementContinuationElement361() (interface{}, error) { +func (p *parser) callonExtraListElement139() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement361() + return p.cur.onExtraListElement139() } -func (c *current) onListElementContinuationElement364() (interface{}, error) { +func (c *current) onExtraListElement143() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListElementContinuationElement364() (interface{}, error) { +func (p *parser) callonExtraListElement143() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement364() + return p.cur.onExtraListElement143() } -func (c *current) onListElementContinuationElement357() (interface{}, error) { - return types.NewBlockDelimiter(types.Comment, string(c.text)) +func (c *current) onExtraListElement136(rawline interface{}) (interface{}, error) { + return types.NewParagraph(rawline) + } -func (p *parser) callonListElementContinuationElement357() (interface{}, error) { +func (p *parser) callonExtraListElement136() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement357() + return p.cur.onExtraListElement136(stack["rawline"]) } -func (c *current) onListElementContinuationElement375() (interface{}, error) { - return string(c.text), nil +func (c *current) onExtraListElement92(prefix, content interface{}) (interface{}, error) { + return types.NewOrderedListElement(prefix.(types.OrderedListElementPrefix), content) } -func (p *parser) callonListElementContinuationElement375() (interface{}, error) { +func (p *parser) callonExtraListElement92() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement375() -} - -func (c *current) onListElementContinuationElement378() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil + return p.cur.onExtraListElement92(stack["prefix"], stack["content"]) } -func (p *parser) callonListElementContinuationElement378() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onListElementContinuationElement378() -} +func (c *current) onExtraListElement86(attributes, element interface{}) (interface{}, error) { + return append(attributes.([]interface{}), element), nil -func (c *current) onListElementContinuationElement371() (interface{}, error) { - return types.NewBlockDelimiter(types.Example, string(c.text)) } -func (p *parser) callonListElementContinuationElement371() (interface{}, error) { +func (p *parser) callonExtraListElement86() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement371() + return p.cur.onExtraListElement86(stack["attributes"], stack["element"]) } -func (c *current) onListElementContinuationElement389() (interface{}, error) { +func (c *current) onExtraListElement159() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListElementContinuationElement389() (interface{}, error) { +func (p *parser) callonExtraListElement159() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement389() + return p.cur.onExtraListElement159() } -func (c *current) onListElementContinuationElement392() (interface{}, error) { +func (c *current) onExtraListElement162() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListElementContinuationElement392() (interface{}, error) { +func (p *parser) callonExtraListElement162() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement392() + return p.cur.onExtraListElement162() } -func (c *current) onListElementContinuationElement385() (interface{}, error) { - return types.NewBlockDelimiter(types.Fenced, string(c.text)) +func (c *current) onExtraListElement153() (interface{}, error) { + return types.NewBlankLine() + } -func (p *parser) callonListElementContinuationElement385() (interface{}, error) { +func (p *parser) callonExtraListElement153() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement385() + return p.cur.onExtraListElement153() } -func (c *current) onListElementContinuationElement403() (interface{}, error) { +func (c *current) onExtraListElement176() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListElementContinuationElement403() (interface{}, error) { +func (p *parser) callonExtraListElement176() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement403() + return p.cur.onExtraListElement176() } -func (c *current) onListElementContinuationElement406() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onExtraListElement183() (interface{}, error) { + + // `*` is 1, etc. + return (len(c.text)), nil + } -func (p *parser) callonListElementContinuationElement406() (interface{}, error) { +func (p *parser) callonExtraListElement183() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement406() + return p.cur.onExtraListElement183() } -func (c *current) onListElementContinuationElement399() (interface{}, error) { - return types.NewBlockDelimiter(types.Listing, string(c.text)) +func (c *current) onExtraListElement186(depth interface{}) (bool, error) { + + // use a predicate to make sure that only `*` to `*****` are allowed + return depth.(int) <= 5, nil + } -func (p *parser) callonListElementContinuationElement399() (interface{}, error) { +func (p *parser) callonExtraListElement186() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement399() + return p.cur.onExtraListElement186(stack["depth"]) } -func (c *current) onListElementContinuationElement417() (interface{}, error) { - return string(c.text), nil +func (c *current) onExtraListElement180(depth interface{}) (interface{}, error) { + switch depth.(int) { + case 1: + return types.NewUnorderedListElementPrefix(types.OneAsterisk) + case 2: + return types.NewUnorderedListElementPrefix(types.TwoAsterisks) + case 3: + return types.NewUnorderedListElementPrefix(types.ThreeAsterisks) + case 4: + return types.NewUnorderedListElementPrefix(types.FourAsterisks) + default: + return types.NewUnorderedListElementPrefix(types.FiveAsterisks) + } } -func (p *parser) callonListElementContinuationElement417() (interface{}, error) { +func (p *parser) callonExtraListElement180() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement417() + return p.cur.onExtraListElement180(stack["depth"]) } -func (c *current) onListElementContinuationElement420() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onExtraListElement188() (interface{}, error) { + return types.NewUnorderedListElementPrefix(types.Dash) + } -func (p *parser) callonListElementContinuationElement420() (interface{}, error) { +func (p *parser) callonExtraListElement188() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement420() + return p.cur.onExtraListElement188() } -func (c *current) onListElementContinuationElement413() (interface{}, error) { - return types.NewBlockDelimiter(types.Literal, string(c.text)) +func (c *current) onExtraListElement190(prefix interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") + return string(c.text), nil + } -func (p *parser) callonListElementContinuationElement413() (interface{}, error) { +func (p *parser) callonExtraListElement190() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement413() + return p.cur.onExtraListElement190(stack["prefix"]) } -func (c *current) onListElementContinuationElement431() (interface{}, error) { - return string(c.text), nil - +func (c *current) onExtraListElement173(prefix interface{}) (interface{}, error) { + return prefix, nil } -func (p *parser) callonListElementContinuationElement431() (interface{}, error) { +func (p *parser) callonExtraListElement173() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement431() + return p.cur.onExtraListElement173(stack["prefix"]) } -func (c *current) onListElementContinuationElement434() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onExtraListElement201() (interface{}, error) { + return types.Unchecked, nil } -func (p *parser) callonListElementContinuationElement434() (interface{}, error) { +func (p *parser) callonExtraListElement201() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement434() + return p.cur.onExtraListElement201() } -func (c *current) onListElementContinuationElement427() (interface{}, error) { - return types.NewBlockDelimiter(types.Passthrough, string(c.text)) +func (c *current) onExtraListElement203() (interface{}, error) { + return types.Checked, nil } -func (p *parser) callonListElementContinuationElement427() (interface{}, error) { +func (p *parser) callonExtraListElement203() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement427() + return p.cur.onExtraListElement203() } -func (c *current) onListElementContinuationElement445() (interface{}, error) { - return string(c.text), nil - +func (c *current) onExtraListElement205() (interface{}, error) { + return types.Checked, nil } -func (p *parser) callonListElementContinuationElement445() (interface{}, error) { +func (p *parser) callonExtraListElement205() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement445() + return p.cur.onExtraListElement205() } -func (c *current) onListElementContinuationElement448() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onExtraListElement207(style interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") return string(c.text), nil + } -func (p *parser) callonListElementContinuationElement448() (interface{}, error) { +func (p *parser) callonExtraListElement207() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement448() + return p.cur.onExtraListElement207(stack["style"]) } -func (c *current) onListElementContinuationElement441() (interface{}, error) { - return types.NewBlockDelimiter(types.Quote, string(c.text)) +func (c *current) onExtraListElement195(style interface{}) (interface{}, error) { + return style, nil + } -func (p *parser) callonListElementContinuationElement441() (interface{}, error) { +func (p *parser) callonExtraListElement195() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement441() + return p.cur.onExtraListElement195(stack["style"]) } -func (c *current) onListElementContinuationElement459() (interface{}, error) { - return string(c.text), nil +func (c *current) onExtraListElement214() (interface{}, error) { + return types.NewRawLine(string(c.text)) } -func (p *parser) callonListElementContinuationElement459() (interface{}, error) { +func (p *parser) callonExtraListElement214() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement459() + return p.cur.onExtraListElement214() } -func (c *current) onListElementContinuationElement462() (interface{}, error) { +func (c *current) onExtraListElement218() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListElementContinuationElement462() (interface{}, error) { +func (p *parser) callonExtraListElement218() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement462() + return p.cur.onExtraListElement218() } -func (c *current) onListElementContinuationElement455() (interface{}, error) { - return types.NewBlockDelimiter(types.Sidebar, string(c.text)) +func (c *current) onExtraListElement211(rawline interface{}) (interface{}, error) { + return types.NewParagraph(rawline) + } -func (p *parser) callonListElementContinuationElement455() (interface{}, error) { +func (p *parser) callonExtraListElement211() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement455() + return p.cur.onExtraListElement211(stack["rawline"]) } -func (c *current) onListElementContinuationElement351(delimiter interface{}) (interface{}, error) { - return delimiter, nil +func (c *current) onExtraListElement170(prefix, checkstyle, content interface{}) (interface{}, error) { + return types.NewUnorderedListElement(prefix.(types.UnorderedListElementPrefix), checkstyle, content) } -func (p *parser) callonListElementContinuationElement351() (interface{}, error) { +func (p *parser) callonExtraListElement170() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement351(stack["delimiter"]) + return p.cur.onExtraListElement170(stack["prefix"], stack["checkstyle"], stack["content"]) } -func (c *current) onListElementContinuationElement470() (interface{}, error) { - return strings.TrimSpace(string(c.text)), nil +func (c *current) onExtraListElement150(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonListElementContinuationElement470() (interface{}, error) { +func (p *parser) callonExtraListElement150() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement470() + return p.cur.onExtraListElement150(stack["element"]) } -func (c *current) onListElementContinuationElement474() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onExtraListElement237() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonListElementContinuationElement474() (interface{}, error) { +func (p *parser) callonExtraListElement237() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement474() + return p.cur.onExtraListElement237() } -func (c *current) onListElementContinuationElement216(content interface{}) (interface{}, error) { - // do not retain the EOL chars - return types.NewRawLine(content.(string)) +func (c *current) onExtraListElement244() (interface{}, error) { + + // `*` is 1, etc. + return (len(c.text)), nil } -func (p *parser) callonListElementContinuationElement216() (interface{}, error) { +func (p *parser) callonExtraListElement244() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement216(stack["content"]) + return p.cur.onExtraListElement244() } -func (c *current) onListElementContinuationElement184(content interface{}) (interface{}, error) { - if content == nil { - return nil, nil - } - return types.NewParagraph(content) +func (c *current) onExtraListElement247(depth interface{}) (bool, error) { + + // use a predicate to make sure that only `*` to `*****` are allowed + return depth.(int) <= 5, nil } -func (p *parser) callonListElementContinuationElement184() (interface{}, error) { +func (p *parser) callonExtraListElement247() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement184(stack["content"]) + return p.cur.onExtraListElement247(stack["depth"]) } -func (c *current) onListElementContinuationElement483() (interface{}, error) { - // log.Debug("matched multiple spaces") - return string(c.text), nil +func (c *current) onExtraListElement241(depth interface{}) (interface{}, error) { + switch depth.(int) { + case 1: + return types.NewUnorderedListElementPrefix(types.OneAsterisk) + case 2: + return types.NewUnorderedListElementPrefix(types.TwoAsterisks) + case 3: + return types.NewUnorderedListElementPrefix(types.ThreeAsterisks) + case 4: + return types.NewUnorderedListElementPrefix(types.FourAsterisks) + default: + return types.NewUnorderedListElementPrefix(types.FiveAsterisks) + } } -func (p *parser) callonListElementContinuationElement483() (interface{}, error) { +func (p *parser) callonExtraListElement241() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement483() + return p.cur.onExtraListElement241(stack["depth"]) } -func (c *current) onListElementContinuationElement487() (interface{}, error) { - return types.NewRawLine(string(c.text)) +func (c *current) onExtraListElement249() (interface{}, error) { + return types.NewUnorderedListElementPrefix(types.Dash) } -func (p *parser) callonListElementContinuationElement487() (interface{}, error) { +func (p *parser) callonExtraListElement249() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement487() + return p.cur.onExtraListElement249() } -func (c *current) onListElementContinuationElement491() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onExtraListElement251(prefix interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") return string(c.text), nil + } -func (p *parser) callonListElementContinuationElement491() (interface{}, error) { +func (p *parser) callonExtraListElement251() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement491() + return p.cur.onExtraListElement251(stack["prefix"]) } -func (c *current) onListElementContinuationElement481(content interface{}) (interface{}, error) { - return types.NewParagraph(content) - +func (c *current) onExtraListElement234(prefix interface{}) (interface{}, error) { + return prefix, nil } -func (p *parser) callonListElementContinuationElement481() (interface{}, error) { +func (p *parser) callonExtraListElement234() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement481(stack["content"]) + return p.cur.onExtraListElement234(stack["prefix"]) } -func (c *current) onListElementContinuationElement150(term, separator, description interface{}) (interface{}, error) { - return types.NewLabeledListElement(len(separator.(string))-1, term, description) - +func (c *current) onExtraListElement262() (interface{}, error) { + return types.Unchecked, nil } -func (p *parser) callonListElementContinuationElement150() (interface{}, error) { +func (p *parser) callonExtraListElement262() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement150(stack["term"], stack["separator"], stack["description"]) + return p.cur.onExtraListElement262() } -func (c *current) onListElementContinuationElement509() (interface{}, error) { - return string(c.text), nil - +func (c *current) onExtraListElement264() (interface{}, error) { + return types.Checked, nil } -func (p *parser) callonListElementContinuationElement509() (interface{}, error) { +func (p *parser) callonExtraListElement264() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement509() + return p.cur.onExtraListElement264() } -func (c *current) onListElementContinuationElement512() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onExtraListElement266() (interface{}, error) { + return types.Checked, nil } -func (p *parser) callonListElementContinuationElement512() (interface{}, error) { +func (p *parser) callonExtraListElement266() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement512() + return p.cur.onExtraListElement266() } -func (c *current) onListElementContinuationElement503() (interface{}, error) { - return types.NewBlankLine() +func (c *current) onExtraListElement268(style interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") + return string(c.text), nil } -func (p *parser) callonListElementContinuationElement503() (interface{}, error) { +func (p *parser) callonExtraListElement268() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement503() + return p.cur.onExtraListElement268(stack["style"]) } -func (c *current) onListElementContinuationElement524() (interface{}, error) { - return string(c.text), nil +func (c *current) onExtraListElement256(style interface{}) (interface{}, error) { + return style, nil } -func (p *parser) callonListElementContinuationElement524() (interface{}, error) { +func (p *parser) callonExtraListElement256() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement524() + return p.cur.onExtraListElement256(stack["style"]) } -func (c *current) onListElementContinuationElement531() (interface{}, error) { - return string(c.text), nil +func (c *current) onExtraListElement275() (interface{}, error) { + return types.NewRawLine(string(c.text)) } -func (p *parser) callonListElementContinuationElement531() (interface{}, error) { +func (p *parser) callonExtraListElement275() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement531() + return p.cur.onExtraListElement275() } -func (c *current) onListElementContinuationElement534() (interface{}, error) { +func (c *current) onExtraListElement279() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListElementContinuationElement534() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onListElementContinuationElement534() -} - -func (c *current) onListElementContinuationElement520(name interface{}) (interface{}, error) { - return types.NewAttributeReset(name.(string), string(c.text)) -} - -func (p *parser) callonListElementContinuationElement520() (interface{}, error) { +func (p *parser) callonExtraListElement279() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement520(stack["name"]) + return p.cur.onExtraListElement279() } -func (c *current) onListElementContinuationElement545() (interface{}, error) { - return string(c.text), nil +func (c *current) onExtraListElement272(rawline interface{}) (interface{}, error) { + return types.NewParagraph(rawline) } -func (p *parser) callonListElementContinuationElement545() (interface{}, error) { +func (p *parser) callonExtraListElement272() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement545() + return p.cur.onExtraListElement272(stack["rawline"]) } -func (c *current) onListElementContinuationElement552() (interface{}, error) { - return string(c.text), nil +func (c *current) onExtraListElement231(prefix, checkstyle, content interface{}) (interface{}, error) { + return types.NewUnorderedListElement(prefix.(types.UnorderedListElementPrefix), checkstyle, content) } -func (p *parser) callonListElementContinuationElement552() (interface{}, error) { +func (p *parser) callonExtraListElement231() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement552() -} - -func (c *current) onListElementContinuationElement555() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil + return p.cur.onExtraListElement231(stack["prefix"], stack["checkstyle"], stack["content"]) } -func (p *parser) callonListElementContinuationElement555() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onListElementContinuationElement555() -} +func (c *current) onExtraListElement225(attributes, element interface{}) (interface{}, error) { + return append(attributes.([]interface{}), element), nil -func (c *current) onListElementContinuationElement541(name interface{}) (interface{}, error) { - return types.NewAttributeReset(name.(string), string(c.text)) } -func (p *parser) callonListElementContinuationElement541() (interface{}, error) { +func (p *parser) callonExtraListElement225() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement541(stack["name"]) + return p.cur.onExtraListElement225(stack["attributes"], stack["element"]) } -func (c *current) onListElementContinuationElement568() (interface{}, error) { +func (c *current) onExtraListElement295() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListElementContinuationElement568() (interface{}, error) { +func (p *parser) callonExtraListElement295() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement568() + return p.cur.onExtraListElement295() } -func (c *current) onListElementContinuationElement571() (interface{}, error) { +func (c *current) onExtraListElement298() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListElementContinuationElement571() (interface{}, error) { +func (p *parser) callonExtraListElement298() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement571() + return p.cur.onExtraListElement298() } -func (c *current) onListElementContinuationElement564() (interface{}, error) { - return types.NewBlockDelimiter(types.Comment, string(c.text)) +func (c *current) onExtraListElement289() (interface{}, error) { + return types.NewBlankLine() + } -func (p *parser) callonListElementContinuationElement564() (interface{}, error) { +func (p *parser) callonExtraListElement289() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement564() + return p.cur.onExtraListElement289() } -func (c *current) onListElementContinuationElement588() (interface{}, error) { - return string(c.text), nil - +func (c *current) onExtraListElement313() (interface{}, error) { + return strconv.Atoi(string(c.text)) } -func (p *parser) callonListElementContinuationElement588() (interface{}, error) { +func (p *parser) callonExtraListElement313() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement588() + return p.cur.onExtraListElement313() } -func (c *current) onListElementContinuationElement591() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onExtraListElement317(ref interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") return string(c.text), nil + } -func (p *parser) callonListElementContinuationElement591() (interface{}, error) { +func (p *parser) callonExtraListElement317() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement591() + return p.cur.onExtraListElement317(stack["ref"]) } -func (c *current) onListElementContinuationElement584() (interface{}, error) { - return types.NewBlockDelimiter(types.Comment, string(c.text)) +func (c *current) onExtraListElement309(ref interface{}) (interface{}, error) { + return ref, nil + } -func (p *parser) callonListElementContinuationElement584() (interface{}, error) { +func (p *parser) callonExtraListElement309() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement584() + return p.cur.onExtraListElement309(stack["ref"]) } -func (c *current) onListElementContinuationElement607() (interface{}, error) { - // content is NOT mandatory +func (c *current) onExtraListElement324() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListElementContinuationElement607() (interface{}, error) { +func (p *parser) callonExtraListElement324() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement607() + return p.cur.onExtraListElement324() } -func (c *current) onListElementContinuationElement611() (interface{}, error) { +func (c *current) onExtraListElement328() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListElementContinuationElement611() (interface{}, error) { +func (p *parser) callonExtraListElement328() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement611() + return p.cur.onExtraListElement328() } -func (c *current) onListElementContinuationElement601(content interface{}) (interface{}, error) { - - return types.NewRawLine(content.(string)) +func (c *current) onExtraListElement321(rawline interface{}) (interface{}, error) { + return types.NewRawLine(rawline.(string)) } -func (p *parser) callonListElementContinuationElement601() (interface{}, error) { +func (p *parser) callonExtraListElement321() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement601(stack["content"]) + return p.cur.onExtraListElement321(stack["rawline"]) } -func (c *current) onListElementContinuationElement580(line interface{}) (interface{}, error) { - return line, nil +func (c *current) onExtraListElement306(ref, description interface{}) (interface{}, error) { + return types.NewCalloutListElement(ref.(int), description.(types.RawLine)) } -func (p *parser) callonListElementContinuationElement580() (interface{}, error) { +func (p *parser) callonExtraListElement306() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement580(stack["line"]) + return p.cur.onExtraListElement306(stack["ref"], stack["description"]) } -func (c *current) onListElementContinuationElement624() (interface{}, error) { - return string(c.text), nil +func (c *current) onExtraListElement286(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonListElementContinuationElement624() (interface{}, error) { +func (p *parser) callonExtraListElement286() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement624() + return p.cur.onExtraListElement286(stack["element"]) } -func (c *current) onListElementContinuationElement627() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onExtraListElement348() (interface{}, error) { + return strconv.Atoi(string(c.text)) } -func (p *parser) callonListElementContinuationElement627() (interface{}, error) { +func (p *parser) callonExtraListElement348() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement627() + return p.cur.onExtraListElement348() } -func (c *current) onListElementContinuationElement620() (interface{}, error) { - return types.NewBlockDelimiter(types.Comment, string(c.text)) +func (c *current) onExtraListElement352(ref interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") + return string(c.text), nil + } -func (p *parser) callonListElementContinuationElement620() (interface{}, error) { +func (p *parser) callonExtraListElement352() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement620() + return p.cur.onExtraListElement352(stack["ref"]) } -func (c *current) onListElementContinuationElement562(content interface{}) (interface{}, error) { - c.unsetWithinDelimitedBlock() - return types.NewDelimitedBlock(types.Comment, content.([]interface{})) +func (c *current) onExtraListElement344(ref interface{}) (interface{}, error) { + return ref, nil } -func (p *parser) callonListElementContinuationElement562() (interface{}, error) { +func (p *parser) callonExtraListElement344() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement562(stack["content"]) + return p.cur.onExtraListElement344(stack["ref"]) } -func (c *current) onListElementContinuationElement642() (interface{}, error) { +func (c *current) onExtraListElement359() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListElementContinuationElement642() (interface{}, error) { +func (p *parser) callonExtraListElement359() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement642() + return p.cur.onExtraListElement359() } -func (c *current) onListElementContinuationElement645() (interface{}, error) { +func (c *current) onExtraListElement363() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListElementContinuationElement645() (interface{}, error) { +func (p *parser) callonExtraListElement363() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement645() + return p.cur.onExtraListElement363() } -func (c *current) onListElementContinuationElement638() (interface{}, error) { - return types.NewBlockDelimiter(types.Example, string(c.text)) +func (c *current) onExtraListElement356(rawline interface{}) (interface{}, error) { + return types.NewRawLine(rawline.(string)) + } -func (p *parser) callonListElementContinuationElement638() (interface{}, error) { +func (p *parser) callonExtraListElement356() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement638() + return p.cur.onExtraListElement356(stack["rawline"]) } -func (c *current) onListElementContinuationElement662() (interface{}, error) { - return string(c.text), nil +func (c *current) onExtraListElement341(ref, description interface{}) (interface{}, error) { + return types.NewCalloutListElement(ref.(int), description.(types.RawLine)) } -func (p *parser) callonListElementContinuationElement662() (interface{}, error) { +func (p *parser) callonExtraListElement341() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement662() + return p.cur.onExtraListElement341(stack["ref"], stack["description"]) } -func (c *current) onListElementContinuationElement665() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onExtraListElement335(attributes, element interface{}) (interface{}, error) { + return append(attributes.([]interface{}), element), nil + } -func (p *parser) callonListElementContinuationElement665() (interface{}, error) { +func (p *parser) callonExtraListElement335() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement665() + return p.cur.onExtraListElement335(stack["attributes"], stack["element"]) } -func (c *current) onListElementContinuationElement658() (interface{}, error) { - return types.NewBlockDelimiter(types.Example, string(c.text)) +func (c *current) onExtraListElement380() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonListElementContinuationElement658() (interface{}, error) { +func (p *parser) callonExtraListElement380() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement658() + return p.cur.onExtraListElement380() } -func (c *current) onListElementContinuationElement681() (interface{}, error) { - // content is NOT mandatory +func (c *current) onExtraListElement383() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonListElementContinuationElement681() (interface{}, error) { +func (p *parser) callonExtraListElement383() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement681() + return p.cur.onExtraListElement383() } -func (c *current) onListElementContinuationElement685() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onExtraListElement374() (interface{}, error) { + return types.NewBlankLine() + } -func (p *parser) callonListElementContinuationElement685() (interface{}, error) { +func (p *parser) callonExtraListElement374() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement685() + return p.cur.onExtraListElement374() } -func (c *current) onListElementContinuationElement675(content interface{}) (interface{}, error) { +func (c *current) onExtraListElement401() (interface{}, error) { - return types.NewRawLine(content.(string)) + return string(c.text), nil } -func (p *parser) callonListElementContinuationElement675() (interface{}, error) { +func (p *parser) callonExtraListElement401() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement675(stack["content"]) + return p.cur.onExtraListElement401() } -func (c *current) onListElementContinuationElement654(line interface{}) (interface{}, error) { - return line, nil +func (c *current) onExtraListElement404(separator interface{}) (bool, error) { + + // use a predicate to make sure that separator is `::`, `:::` or `::::` + return len(separator.(string)) >= 2 && len(separator.(string)) <= 4, nil } -func (p *parser) callonListElementContinuationElement654() (interface{}, error) { +func (p *parser) callonExtraListElement404() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement654(stack["line"]) + return p.cur.onExtraListElement404(stack["separator"]) } -func (c *current) onListElementContinuationElement698() (interface{}, error) { - return string(c.text), nil +func (c *current) onExtraListElement398(separator interface{}) (interface{}, error) { + return separator, nil } -func (p *parser) callonListElementContinuationElement698() (interface{}, error) { +func (p *parser) callonExtraListElement398() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement698() + return p.cur.onExtraListElement398(stack["separator"]) } -func (c *current) onListElementContinuationElement701() (interface{}, error) { +func (c *current) onExtraListElement407() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListElementContinuationElement701() (interface{}, error) { +func (p *parser) callonExtraListElement407() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement701() + return p.cur.onExtraListElement407() } -func (c *current) onListElementContinuationElement694() (interface{}, error) { - return types.NewBlockDelimiter(types.Example, string(c.text)) +func (c *current) onExtraListElement394() (interface{}, error) { + return types.NewRawLine(strings.TrimSpace(string(c.text))) + } -func (p *parser) callonListElementContinuationElement694() (interface{}, error) { +func (p *parser) callonExtraListElement394() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement694() + return p.cur.onExtraListElement394() } -func (c *current) onListElementContinuationElement636(content interface{}) (interface{}, error) { - c.unsetWithinDelimitedBlock() - return types.NewDelimitedBlock(types.Example, content.([]interface{})) +func (c *current) onExtraListElement419() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonListElementContinuationElement636() (interface{}, error) { +func (p *parser) callonExtraListElement419() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement636(stack["content"]) + return p.cur.onExtraListElement419() } -func (c *current) onListElementContinuationElement716() (interface{}, error) { - return string(c.text), nil +func (c *current) onExtraListElement422(separator interface{}) (bool, error) { + + // use a predicate to make sure that separator is `::`, `:::` or `::::` + return len(separator.(string)) >= 2 && len(separator.(string)) <= 4, nil } -func (p *parser) callonListElementContinuationElement716() (interface{}, error) { +func (p *parser) callonExtraListElement422() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement716() + return p.cur.onExtraListElement422(stack["separator"]) } -func (c *current) onListElementContinuationElement719() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onExtraListElement416(separator interface{}) (interface{}, error) { + return separator, nil + } -func (p *parser) callonListElementContinuationElement719() (interface{}, error) { +func (p *parser) callonExtraListElement416() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement719() + return p.cur.onExtraListElement416(stack["separator"]) } -func (c *current) onListElementContinuationElement712() (interface{}, error) { - return types.NewBlockDelimiter(types.Fenced, string(c.text)) +func (c *current) onExtraListElement428() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonListElementContinuationElement712() (interface{}, error) { +func (p *parser) callonExtraListElement428() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement712() + return p.cur.onExtraListElement428() } -func (c *current) onListElementContinuationElement736() (interface{}, error) { +func (c *current) onExtraListElement431() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonListElementContinuationElement736() (interface{}, error) { +func (p *parser) callonExtraListElement431() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement736() + return p.cur.onExtraListElement431() } -func (c *current) onListElementContinuationElement739() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onExtraListElement445() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonListElementContinuationElement739() (interface{}, error) { +func (p *parser) callonExtraListElement445() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement739() + return p.cur.onExtraListElement445() } -func (c *current) onListElementContinuationElement732() (interface{}, error) { - return types.NewBlockDelimiter(types.Fenced, string(c.text)) +func (c *current) onExtraListElement448() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonListElementContinuationElement732() (interface{}, error) { +func (p *parser) callonExtraListElement448() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement732() + return p.cur.onExtraListElement448() } -func (c *current) onListElementContinuationElement755() (interface{}, error) { - // content is NOT mandatory - return string(c.text), nil +func (c *current) onExtraListElement439() (interface{}, error) { + return types.NewBlankLine() } -func (p *parser) callonListElementContinuationElement755() (interface{}, error) { +func (p *parser) callonExtraListElement439() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement755() + return p.cur.onExtraListElement439() } -func (c *current) onListElementContinuationElement759() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onExtraListElement466() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonListElementContinuationElement759() (interface{}, error) { +func (p *parser) callonExtraListElement466() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement759() + return p.cur.onExtraListElement466() } -func (c *current) onListElementContinuationElement749(content interface{}) (interface{}, error) { - - return types.NewRawLine(content.(string)) - +func (c *current) onExtraListElement469() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonListElementContinuationElement749() (interface{}, error) { +func (p *parser) callonExtraListElement469() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement749(stack["content"]) + return p.cur.onExtraListElement469() } -func (c *current) onListElementContinuationElement728(line interface{}) (interface{}, error) { - return line, nil +func (c *current) onExtraListElement460() (interface{}, error) { + return types.NewBlankLine() } -func (p *parser) callonListElementContinuationElement728() (interface{}, error) { +func (p *parser) callonExtraListElement460() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement728(stack["line"]) + return p.cur.onExtraListElement460() } -func (c *current) onListElementContinuationElement772() (interface{}, error) { +func (c *current) onExtraListElement480() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListElementContinuationElement772() (interface{}, error) { +func (p *parser) callonExtraListElement480() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement772() + return p.cur.onExtraListElement480() } -func (c *current) onListElementContinuationElement775() (interface{}, error) { +func (c *current) onExtraListElement482() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListElementContinuationElement775() (interface{}, error) { +func (p *parser) callonExtraListElement482() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement775() + return p.cur.onExtraListElement482() } -func (c *current) onListElementContinuationElement768() (interface{}, error) { - return types.NewBlockDelimiter(types.Fenced, string(c.text)) +func (c *current) onExtraListElement491() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonListElementContinuationElement768() (interface{}, error) { +func (p *parser) callonExtraListElement491() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement768() + return p.cur.onExtraListElement491() } -func (c *current) onListElementContinuationElement710(content interface{}) (interface{}, error) { - c.unsetWithinDelimitedBlock() - return types.NewDelimitedBlock(types.Fenced, content.([]interface{})) +func (c *current) onExtraListElement498() (interface{}, error) { + + // `.` is 1, etc. + return (len(c.text)), nil } -func (p *parser) callonListElementContinuationElement710() (interface{}, error) { +func (p *parser) callonExtraListElement498() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement710(stack["content"]) + return p.cur.onExtraListElement498() } -func (c *current) onListElementContinuationElement790() (interface{}, error) { - return string(c.text), nil +func (c *current) onExtraListElement501(depth interface{}) (bool, error) { + + // use a predicate to make sure that only `.` to `.....` are allowed + return depth.(int) <= 5, nil } -func (p *parser) callonListElementContinuationElement790() (interface{}, error) { +func (p *parser) callonExtraListElement501() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement790() + return p.cur.onExtraListElement501(stack["depth"]) } -func (c *current) onListElementContinuationElement793() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onExtraListElement495(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) callonListElementContinuationElement793() (interface{}, error) { +func (p *parser) callonExtraListElement495() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement793() + return p.cur.onExtraListElement495(stack["depth"]) } -func (c *current) onListElementContinuationElement786() (interface{}, error) { - return types.NewBlockDelimiter(types.Listing, string(c.text)) +func (c *current) onExtraListElement502() (interface{}, error) { + // numbering style: "1.", etc. + return types.NewOrderedListElementPrefix(types.Arabic) + } -func (p *parser) callonListElementContinuationElement786() (interface{}, error) { +func (p *parser) callonExtraListElement502() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement786() + return p.cur.onExtraListElement502() } -func (c *current) onListElementContinuationElement810() (interface{}, error) { - return string(c.text), nil +func (c *current) onExtraListElement507() (interface{}, error) { + // numbering style: "a.", etc. + return types.NewOrderedListElementPrefix(types.LowerAlpha) } -func (p *parser) callonListElementContinuationElement810() (interface{}, error) { +func (p *parser) callonExtraListElement507() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement810() + return p.cur.onExtraListElement507() } -func (c *current) onListElementContinuationElement813() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onExtraListElement511() (interface{}, error) { + // numbering style: "A.", etc. + return types.NewOrderedListElementPrefix(types.UpperAlpha) + } -func (p *parser) callonListElementContinuationElement813() (interface{}, error) { +func (p *parser) callonExtraListElement511() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement813() + return p.cur.onExtraListElement511() } -func (c *current) onListElementContinuationElement806() (interface{}, error) { - return types.NewBlockDelimiter(types.Listing, string(c.text)) +func (c *current) onExtraListElement515() (interface{}, error) { + // numbering style: "i)", etc. + return types.NewOrderedListElementPrefix(types.LowerRoman) + } -func (p *parser) callonListElementContinuationElement806() (interface{}, error) { +func (p *parser) callonExtraListElement515() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement806() + return p.cur.onExtraListElement515() } -func (c *current) onListElementContinuationElement829() (interface{}, error) { - // content is NOT mandatory - return string(c.text), nil +func (c *current) onExtraListElement520() (interface{}, error) { + // numbering style: "I)", etc. + return types.NewOrderedListElementPrefix(types.UpperRoman) } -func (p *parser) callonListElementContinuationElement829() (interface{}, error) { +func (p *parser) callonExtraListElement520() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement829() + return p.cur.onExtraListElement520() } -func (c *current) onListElementContinuationElement833() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onExtraListElement525(prefix interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") return string(c.text), nil + } -func (p *parser) callonListElementContinuationElement833() (interface{}, error) { +func (p *parser) callonExtraListElement525() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement833() + return p.cur.onExtraListElement525(stack["prefix"]) } -func (c *current) onListElementContinuationElement823(content interface{}) (interface{}, error) { - - return types.NewRawLine(content.(string)) - +func (c *current) onExtraListElement488(prefix interface{}) (interface{}, error) { + return prefix, nil } -func (p *parser) callonListElementContinuationElement823() (interface{}, error) { +func (p *parser) callonExtraListElement488() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement823(stack["content"]) + return p.cur.onExtraListElement488(stack["prefix"]) } -func (c *current) onListElementContinuationElement802(line interface{}) (interface{}, error) { - return line, nil +func (c *current) onExtraListElement532() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListElementContinuationElement802() (interface{}, error) { +func (p *parser) callonExtraListElement532() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement802(stack["line"]) + return p.cur.onExtraListElement532() } -func (c *current) onListElementContinuationElement846() (interface{}, error) { - return string(c.text), nil +func (c *current) onExtraListElement539() (interface{}, error) { + + // `*` is 1, etc. + return (len(c.text)), nil } -func (p *parser) callonListElementContinuationElement846() (interface{}, error) { +func (p *parser) callonExtraListElement539() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement846() + return p.cur.onExtraListElement539() } -func (c *current) onListElementContinuationElement849() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} +func (c *current) onExtraListElement542(depth interface{}) (bool, error) { -func (p *parser) callonListElementContinuationElement849() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onListElementContinuationElement849() -} + // use a predicate to make sure that only `*` to `*****` are allowed + return depth.(int) <= 5, nil -func (c *current) onListElementContinuationElement842() (interface{}, error) { - return types.NewBlockDelimiter(types.Listing, string(c.text)) } -func (p *parser) callonListElementContinuationElement842() (interface{}, error) { +func (p *parser) callonExtraListElement542() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement842() + return p.cur.onExtraListElement542(stack["depth"]) } -func (c *current) onListElementContinuationElement784(content interface{}) (interface{}, error) { - c.unsetWithinDelimitedBlock() - return types.NewDelimitedBlock(types.Listing, content.([]interface{})) +func (c *current) onExtraListElement536(depth interface{}) (interface{}, error) { + switch depth.(int) { + case 1: + return types.NewUnorderedListElementPrefix(types.OneAsterisk) + case 2: + return types.NewUnorderedListElementPrefix(types.TwoAsterisks) + case 3: + return types.NewUnorderedListElementPrefix(types.ThreeAsterisks) + case 4: + return types.NewUnorderedListElementPrefix(types.FourAsterisks) + default: + return types.NewUnorderedListElementPrefix(types.FiveAsterisks) + } } -func (p *parser) callonListElementContinuationElement784() (interface{}, error) { +func (p *parser) callonExtraListElement536() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement784(stack["content"]) + return p.cur.onExtraListElement536(stack["depth"]) } -func (c *current) onListElementContinuationElement864() (interface{}, error) { - return string(c.text), nil +func (c *current) onExtraListElement544() (interface{}, error) { + return types.NewUnorderedListElementPrefix(types.Dash) } -func (p *parser) callonListElementContinuationElement864() (interface{}, error) { +func (p *parser) callonExtraListElement544() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement864() + return p.cur.onExtraListElement544() } -func (c *current) onListElementContinuationElement867() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onExtraListElement546(prefix interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") return string(c.text), nil + } -func (p *parser) callonListElementContinuationElement867() (interface{}, error) { +func (p *parser) callonExtraListElement546() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement867() + return p.cur.onExtraListElement546(stack["prefix"]) } -func (c *current) onListElementContinuationElement860() (interface{}, error) { - return types.NewBlockDelimiter(types.Literal, string(c.text)) +func (c *current) onExtraListElement529(prefix interface{}) (interface{}, error) { + return prefix, nil } -func (p *parser) callonListElementContinuationElement860() (interface{}, error) { +func (p *parser) callonExtraListElement529() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement860() + return p.cur.onExtraListElement529(stack["prefix"]) } -func (c *current) onListElementContinuationElement884() (interface{}, error) { - return string(c.text), nil - +func (c *current) onExtraListElement554() (interface{}, error) { + return strconv.Atoi(string(c.text)) } -func (p *parser) callonListElementContinuationElement884() (interface{}, error) { +func (p *parser) callonExtraListElement554() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement884() + return p.cur.onExtraListElement554() } -func (c *current) onListElementContinuationElement887() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onExtraListElement558(ref interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") return string(c.text), nil + } -func (p *parser) callonListElementContinuationElement887() (interface{}, error) { +func (p *parser) callonExtraListElement558() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement887() + return p.cur.onExtraListElement558(stack["ref"]) } -func (c *current) onListElementContinuationElement880() (interface{}, error) { - return types.NewBlockDelimiter(types.Literal, string(c.text)) +func (c *current) onExtraListElement550(ref interface{}) (interface{}, error) { + return ref, nil + } -func (p *parser) callonListElementContinuationElement880() (interface{}, error) { +func (p *parser) callonExtraListElement550() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement880() + return p.cur.onExtraListElement550(stack["ref"]) } -func (c *current) onListElementContinuationElement903() (interface{}, error) { - // content is NOT mandatory +func (c *current) onExtraListElement570() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListElementContinuationElement903() (interface{}, error) { +func (p *parser) callonExtraListElement570() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement903() + return p.cur.onExtraListElement570() } -func (c *current) onListElementContinuationElement907() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onExtraListElement573(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) callonListElementContinuationElement907() (interface{}, error) { +func (p *parser) callonExtraListElement573() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement907() + return p.cur.onExtraListElement573(stack["separator"]) } -func (c *current) onListElementContinuationElement897(content interface{}) (interface{}, error) { - - return types.NewRawLine(content.(string)) +func (c *current) onExtraListElement567(separator interface{}) (interface{}, error) { + return separator, nil } -func (p *parser) callonListElementContinuationElement897() (interface{}, error) { +func (p *parser) callonExtraListElement567() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement897(stack["content"]) + return p.cur.onExtraListElement567(stack["separator"]) } -func (c *current) onListElementContinuationElement876(line interface{}) (interface{}, error) { - return line, nil - +func (c *current) onExtraListElement576() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonListElementContinuationElement876() (interface{}, error) { +func (p *parser) callonExtraListElement576() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement876(stack["line"]) + return p.cur.onExtraListElement576() } -func (c *current) onListElementContinuationElement920() (interface{}, error) { - return string(c.text), nil +func (c *current) onExtraListElement563() (interface{}, error) { + return types.NewRawLine(strings.TrimSpace(string(c.text))) } -func (p *parser) callonListElementContinuationElement920() (interface{}, error) { +func (p *parser) callonExtraListElement563() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement920() + return p.cur.onExtraListElement563() } -func (c *current) onListElementContinuationElement923() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onExtraListElement587() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonListElementContinuationElement923() (interface{}, error) { +func (p *parser) callonExtraListElement587() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement923() + return p.cur.onExtraListElement587() } -func (c *current) onListElementContinuationElement916() (interface{}, error) { - return types.NewBlockDelimiter(types.Literal, string(c.text)) +func (c *current) onExtraListElement590(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) callonListElementContinuationElement916() (interface{}, error) { +func (p *parser) callonExtraListElement590() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement916() + return p.cur.onExtraListElement590(stack["separator"]) } -func (c *current) onListElementContinuationElement858(content interface{}) (interface{}, error) { - c.unsetWithinDelimitedBlock() - return types.NewDelimitedBlock(types.Literal, content.([]interface{})) +func (c *current) onExtraListElement584(separator interface{}) (interface{}, error) { + return separator, nil } -func (p *parser) callonListElementContinuationElement858() (interface{}, error) { +func (p *parser) callonExtraListElement584() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement858(stack["content"]) + return p.cur.onExtraListElement584(stack["separator"]) } -func (c *current) onListElementContinuationElement944() (interface{}, error) { +func (c *current) onExtraListElement602() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListElementContinuationElement944() (interface{}, error) { +func (p *parser) callonExtraListElement602() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement944() + return p.cur.onExtraListElement602() } -func (c *current) onListElementContinuationElement947() (interface{}, error) { +func (c *current) onExtraListElement605() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListElementContinuationElement947() (interface{}, error) { +func (p *parser) callonExtraListElement605() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement947() + return p.cur.onExtraListElement605() } -func (c *current) onListElementContinuationElement938() (interface{}, error) { - return types.NewBlankLine() - +func (c *current) onExtraListElement598() (interface{}, error) { + return types.NewBlockDelimiter(types.Comment, string(c.text)) } -func (p *parser) callonListElementContinuationElement938() (interface{}, error) { +func (p *parser) callonExtraListElement598() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement938() + return p.cur.onExtraListElement598() } -func (c *current) onListElementContinuationElement956() (interface{}, error) { - +func (c *current) onExtraListElement616() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListElementContinuationElement956() (interface{}, error) { +func (p *parser) callonExtraListElement616() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement956() + return p.cur.onExtraListElement616() } -func (c *current) onListElementContinuationElement960() (interface{}, error) { +func (c *current) onExtraListElement619() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListElementContinuationElement960() (interface{}, error) { +func (p *parser) callonExtraListElement619() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement960() + return p.cur.onExtraListElement619() } -func (c *current) onListElementContinuationElement935(content interface{}) (interface{}, error) { - return types.NewRawLine(content.(string)) - +func (c *current) onExtraListElement612() (interface{}, error) { + return types.NewBlockDelimiter(types.Example, string(c.text)) } -func (p *parser) callonListElementContinuationElement935() (interface{}, error) { +func (p *parser) callonExtraListElement612() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement935(stack["content"]) + return p.cur.onExtraListElement612() } -func (c *current) onListElementContinuationElement979() (interface{}, error) { +func (c *current) onExtraListElement630() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListElementContinuationElement979() (interface{}, error) { +func (p *parser) callonExtraListElement630() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement979() + return p.cur.onExtraListElement630() } -func (c *current) onListElementContinuationElement982() (interface{}, error) { +func (c *current) onExtraListElement633() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListElementContinuationElement982() (interface{}, error) { +func (p *parser) callonExtraListElement633() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement982() + return p.cur.onExtraListElement633() } -func (c *current) onListElementContinuationElement973() (interface{}, error) { - return types.NewBlankLine() - +func (c *current) onExtraListElement626() (interface{}, error) { + return types.NewBlockDelimiter(types.Fenced, string(c.text)) } -func (p *parser) callonListElementContinuationElement973() (interface{}, error) { +func (p *parser) callonExtraListElement626() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement973() + return p.cur.onExtraListElement626() } -func (c *current) onListElementContinuationElement991() (interface{}, error) { - +func (c *current) onExtraListElement644() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListElementContinuationElement991() (interface{}, error) { +func (p *parser) callonExtraListElement644() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement991() + return p.cur.onExtraListElement644() } -func (c *current) onListElementContinuationElement995() (interface{}, error) { +func (c *current) onExtraListElement647() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListElementContinuationElement995() (interface{}, error) { +func (p *parser) callonExtraListElement647() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement995() + return p.cur.onExtraListElement647() } -func (c *current) onListElementContinuationElement970(content interface{}) (interface{}, error) { - return types.NewRawLine(content.(string)) - +func (c *current) onExtraListElement640() (interface{}, error) { + return types.NewBlockDelimiter(types.Listing, string(c.text)) } -func (p *parser) callonListElementContinuationElement970() (interface{}, error) { +func (p *parser) callonExtraListElement640() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement970(stack["content"]) + return p.cur.onExtraListElement640() } -func (c *current) onListElementContinuationElement1005() (interface{}, error) { +func (c *current) onExtraListElement658() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1005() (interface{}, error) { +func (p *parser) callonExtraListElement658() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1005() + return p.cur.onExtraListElement658() } -func (c *current) onListElementContinuationElement1008(content interface{}) (bool, error) { - return len(strings.TrimSpace(string(c.text))) > 0, nil - +func (c *current) onExtraListElement661() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1008() (bool, error) { +func (p *parser) callonExtraListElement661() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1008(stack["content"]) + return p.cur.onExtraListElement661() } -func (c *current) onListElementContinuationElement1010() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onExtraListElement654() (interface{}, error) { + return types.NewBlockDelimiter(types.Literal, string(c.text)) } -func (p *parser) callonListElementContinuationElement1010() (interface{}, error) { +func (p *parser) callonExtraListElement654() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1010() + return p.cur.onExtraListElement654() } -func (c *current) onListElementContinuationElement1002(content interface{}) (interface{}, error) { - return types.NewRawLine(content.(string)) +func (c *current) onExtraListElement672() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1002() (interface{}, error) { +func (p *parser) callonExtraListElement672() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1002(stack["content"]) + return p.cur.onExtraListElement672() } -func (c *current) onListElementContinuationElement932(firstLine, otherLines interface{}) (interface{}, error) { - return types.NewDelimitedBlock(types.MarkdownQuote, append([]interface{}{firstLine}, otherLines.([]interface{})...)) +func (c *current) onExtraListElement675() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonExtraListElement675() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement675() +} +func (c *current) onExtraListElement668() (interface{}, error) { + return types.NewBlockDelimiter(types.Passthrough, string(c.text)) } -func (p *parser) callonListElementContinuationElement932() (interface{}, error) { +func (p *parser) callonExtraListElement668() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement932(stack["firstLine"], stack["otherLines"]) + return p.cur.onExtraListElement668() } -func (c *current) onListElementContinuationElement1023() (interface{}, error) { +func (c *current) onExtraListElement686() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1023() (interface{}, error) { +func (p *parser) callonExtraListElement686() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1023() + return p.cur.onExtraListElement686() } -func (c *current) onListElementContinuationElement1026() (interface{}, error) { +func (c *current) onExtraListElement689() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1026() (interface{}, error) { +func (p *parser) callonExtraListElement689() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1026() + return p.cur.onExtraListElement689() } -func (c *current) onListElementContinuationElement1019() (interface{}, error) { - return types.NewBlockDelimiter(types.Passthrough, string(c.text)) +func (c *current) onExtraListElement682() (interface{}, error) { + return types.NewBlockDelimiter(types.Quote, string(c.text)) } -func (p *parser) callonListElementContinuationElement1019() (interface{}, error) { +func (p *parser) callonExtraListElement682() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1019() + return p.cur.onExtraListElement682() } -func (c *current) onListElementContinuationElement1043() (interface{}, error) { +func (c *current) onExtraListElement700() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1043() (interface{}, error) { +func (p *parser) callonExtraListElement700() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1043() + return p.cur.onExtraListElement700() } -func (c *current) onListElementContinuationElement1046() (interface{}, error) { +func (c *current) onExtraListElement703() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1046() (interface{}, error) { +func (p *parser) callonExtraListElement703() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1046() + return p.cur.onExtraListElement703() } -func (c *current) onListElementContinuationElement1039() (interface{}, error) { - return types.NewBlockDelimiter(types.Passthrough, string(c.text)) +func (c *current) onExtraListElement696() (interface{}, error) { + return types.NewBlockDelimiter(types.Sidebar, string(c.text)) } -func (p *parser) callonListElementContinuationElement1039() (interface{}, error) { +func (p *parser) callonExtraListElement696() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1039() + return p.cur.onExtraListElement696() } -func (c *current) onListElementContinuationElement1062() (interface{}, error) { - // content is NOT mandatory - return string(c.text), nil +func (c *current) onExtraListElement592(delimiter interface{}) (interface{}, error) { + return delimiter, nil } -func (p *parser) callonListElementContinuationElement1062() (interface{}, error) { +func (p *parser) callonExtraListElement592() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1062() + return p.cur.onExtraListElement592(stack["delimiter"]) } -func (c *current) onListElementContinuationElement1066() (interface{}, error) { +func (c *current) onExtraListElement711() (interface{}, error) { + return strings.TrimSpace(string(c.text)), nil + +} + +func (p *parser) callonExtraListElement711() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement711() +} + +func (c *current) onExtraListElement715() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1066() (interface{}, error) { +func (p *parser) callonExtraListElement715() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1066() + return p.cur.onExtraListElement715() } -func (c *current) onListElementContinuationElement1056(content interface{}) (interface{}, error) { - +func (c *current) onExtraListElement457(content interface{}) (interface{}, error) { + // do not retain the EOL chars return types.NewRawLine(content.(string)) } -func (p *parser) callonListElementContinuationElement1056() (interface{}, error) { +func (p *parser) callonExtraListElement457() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1056(stack["content"]) + return p.cur.onExtraListElement457(stack["content"]) } -func (c *current) onListElementContinuationElement1035(line interface{}) (interface{}, error) { - return line, nil +func (c *current) onExtraListElement425(content interface{}) (interface{}, error) { + if content == nil { + return nil, nil + } + return types.NewParagraph(content) } -func (p *parser) callonListElementContinuationElement1035() (interface{}, error) { +func (p *parser) callonExtraListElement425() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1035(stack["line"]) + return p.cur.onExtraListElement425(stack["content"]) } -func (c *current) onListElementContinuationElement1079() (interface{}, error) { +func (c *current) onExtraListElement724() (interface{}, error) { + // log.Debug("matched multiple spaces") return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1079() (interface{}, error) { +func (p *parser) callonExtraListElement724() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1079() + return p.cur.onExtraListElement724() } -func (c *current) onListElementContinuationElement1082() (interface{}, error) { +func (c *current) onExtraListElement728() (interface{}, error) { + return types.NewRawLine(string(c.text)) + +} + +func (p *parser) callonExtraListElement728() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement728() +} + +func (c *current) onExtraListElement732() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1082() (interface{}, error) { +func (p *parser) callonExtraListElement732() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1082() + return p.cur.onExtraListElement732() } -func (c *current) onListElementContinuationElement1075() (interface{}, error) { - return types.NewBlockDelimiter(types.Passthrough, string(c.text)) +func (c *current) onExtraListElement722(content interface{}) (interface{}, error) { + return types.NewParagraph(content) + } -func (p *parser) callonListElementContinuationElement1075() (interface{}, error) { +func (p *parser) callonExtraListElement722() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1075() + return p.cur.onExtraListElement722(stack["content"]) } -func (c *current) onListElementContinuationElement1017(content interface{}) (interface{}, error) { - c.unsetWithinDelimitedBlock() - return types.NewDelimitedBlock(types.Passthrough, content.([]interface{})) +func (c *current) onExtraListElement391(term, separator, description interface{}) (interface{}, error) { + return types.NewLabeledListElement(len(separator.(string))-1, term, description) } -func (p *parser) callonListElementContinuationElement1017() (interface{}, error) { +func (p *parser) callonExtraListElement391() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1017(stack["content"]) + return p.cur.onExtraListElement391(stack["term"], stack["separator"], stack["description"]) } -func (c *current) onListElementContinuationElement1097() (interface{}, error) { - return string(c.text), nil +func (c *current) onExtraListElement371(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonListElementContinuationElement1097() (interface{}, error) { +func (p *parser) callonExtraListElement371() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1097() + return p.cur.onExtraListElement371(stack["element"]) } -func (c *current) onListElementContinuationElement1100() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onExtraListElement755() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonListElementContinuationElement1100() (interface{}, error) { +func (p *parser) callonExtraListElement755() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1100() + return p.cur.onExtraListElement755() } -func (c *current) onListElementContinuationElement1093() (interface{}, error) { - return types.NewBlockDelimiter(types.Quote, string(c.text)) +func (c *current) onExtraListElement758(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) callonListElementContinuationElement1093() (interface{}, error) { +func (p *parser) callonExtraListElement758() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1093() + return p.cur.onExtraListElement758(stack["separator"]) } -func (c *current) onListElementContinuationElement1117() (interface{}, error) { - return string(c.text), nil +func (c *current) onExtraListElement752(separator interface{}) (interface{}, error) { + return separator, nil } -func (p *parser) callonListElementContinuationElement1117() (interface{}, error) { +func (p *parser) callonExtraListElement752() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1117() + return p.cur.onExtraListElement752(stack["separator"]) } -func (c *current) onListElementContinuationElement1120() (interface{}, error) { +func (c *current) onExtraListElement761() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1120() (interface{}, error) { +func (p *parser) callonExtraListElement761() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1120() + return p.cur.onExtraListElement761() } -func (c *current) onListElementContinuationElement1113() (interface{}, error) { - return types.NewBlockDelimiter(types.Quote, string(c.text)) +func (c *current) onExtraListElement748() (interface{}, error) { + return types.NewRawLine(strings.TrimSpace(string(c.text))) + } -func (p *parser) callonListElementContinuationElement1113() (interface{}, error) { +func (p *parser) callonExtraListElement748() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1113() + return p.cur.onExtraListElement748() } -func (c *current) onListElementContinuationElement1136() (interface{}, error) { - // content is NOT mandatory +func (c *current) onExtraListElement773() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1136() (interface{}, error) { +func (p *parser) callonExtraListElement773() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1136() + return p.cur.onExtraListElement773() } -func (c *current) onListElementContinuationElement1140() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onExtraListElement776(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) callonListElementContinuationElement1140() (interface{}, error) { +func (p *parser) callonExtraListElement776() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1140() + return p.cur.onExtraListElement776(stack["separator"]) } -func (c *current) onListElementContinuationElement1130(content interface{}) (interface{}, error) { - - return types.NewRawLine(content.(string)) +func (c *current) onExtraListElement770(separator interface{}) (interface{}, error) { + return separator, nil } -func (p *parser) callonListElementContinuationElement1130() (interface{}, error) { +func (p *parser) callonExtraListElement770() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1130(stack["content"]) + return p.cur.onExtraListElement770(stack["separator"]) } -func (c *current) onListElementContinuationElement1109(line interface{}) (interface{}, error) { - return line, nil +func (c *current) onExtraListElement782() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1109() (interface{}, error) { +func (p *parser) callonExtraListElement782() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1109(stack["line"]) + return p.cur.onExtraListElement782() } -func (c *current) onListElementContinuationElement1153() (interface{}, error) { +func (c *current) onExtraListElement785() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonListElementContinuationElement1153() (interface{}, error) { +func (p *parser) callonExtraListElement785() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1153() + return p.cur.onExtraListElement785() } -func (c *current) onListElementContinuationElement1156() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onExtraListElement799() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonListElementContinuationElement1156() (interface{}, error) { +func (p *parser) callonExtraListElement799() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1156() + return p.cur.onExtraListElement799() } -func (c *current) onListElementContinuationElement1149() (interface{}, error) { - return types.NewBlockDelimiter(types.Quote, string(c.text)) +func (c *current) onExtraListElement802() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1149() (interface{}, error) { +func (p *parser) callonExtraListElement802() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1149() + return p.cur.onExtraListElement802() } -func (c *current) onListElementContinuationElement1091(content interface{}) (interface{}, error) { - c.unsetWithinDelimitedBlock() - return types.NewDelimitedBlock(types.Quote, content.([]interface{})) +func (c *current) onExtraListElement793() (interface{}, error) { + return types.NewBlankLine() } -func (p *parser) callonListElementContinuationElement1091() (interface{}, error) { +func (p *parser) callonExtraListElement793() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1091(stack["content"]) + return p.cur.onExtraListElement793() } -func (c *current) onListElementContinuationElement1171() (interface{}, error) { +func (c *current) onExtraListElement820() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1171() (interface{}, error) { +func (p *parser) callonExtraListElement820() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1171() + return p.cur.onExtraListElement820() } -func (c *current) onListElementContinuationElement1174() (interface{}, error) { +func (c *current) onExtraListElement823() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1174() (interface{}, error) { +func (p *parser) callonExtraListElement823() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1174() + return p.cur.onExtraListElement823() } -func (c *current) onListElementContinuationElement1167() (interface{}, error) { - return types.NewBlockDelimiter(types.Sidebar, string(c.text)) +func (c *current) onExtraListElement814() (interface{}, error) { + return types.NewBlankLine() + } -func (p *parser) callonListElementContinuationElement1167() (interface{}, error) { +func (p *parser) callonExtraListElement814() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1167() + return p.cur.onExtraListElement814() } -func (c *current) onListElementContinuationElement1191() (interface{}, error) { +func (c *current) onExtraListElement834() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1191() (interface{}, error) { +func (p *parser) callonExtraListElement834() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1191() + return p.cur.onExtraListElement834() } -func (c *current) onListElementContinuationElement1194() (interface{}, error) { +func (c *current) onExtraListElement836() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1194() (interface{}, error) { +func (p *parser) callonExtraListElement836() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1194() + return p.cur.onExtraListElement836() } -func (c *current) onListElementContinuationElement1187() (interface{}, error) { - return types.NewBlockDelimiter(types.Sidebar, string(c.text)) +func (c *current) onExtraListElement845() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonListElementContinuationElement1187() (interface{}, error) { +func (p *parser) callonExtraListElement845() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1187() + return p.cur.onExtraListElement845() } -func (c *current) onListElementContinuationElement1210() (interface{}, error) { - // content is NOT mandatory - return string(c.text), nil +func (c *current) onExtraListElement852() (interface{}, error) { + + // `.` is 1, etc. + return (len(c.text)), nil } -func (p *parser) callonListElementContinuationElement1210() (interface{}, error) { +func (p *parser) callonExtraListElement852() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1210() + return p.cur.onExtraListElement852() } -func (c *current) onListElementContinuationElement1214() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onExtraListElement855(depth interface{}) (bool, error) { + + // use a predicate to make sure that only `.` to `.....` are allowed + return depth.(int) <= 5, nil + } -func (p *parser) callonListElementContinuationElement1214() (interface{}, error) { +func (p *parser) callonExtraListElement855() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1214() + return p.cur.onExtraListElement855(stack["depth"]) } -func (c *current) onListElementContinuationElement1204(content interface{}) (interface{}, error) { - - return types.NewRawLine(content.(string)) +func (c *current) onExtraListElement849(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) callonListElementContinuationElement1204() (interface{}, error) { +func (p *parser) callonExtraListElement849() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1204(stack["content"]) + return p.cur.onExtraListElement849(stack["depth"]) } -func (c *current) onListElementContinuationElement1183(line interface{}) (interface{}, error) { - return line, nil +func (c *current) onExtraListElement856() (interface{}, error) { + // numbering style: "1.", etc. + return types.NewOrderedListElementPrefix(types.Arabic) } -func (p *parser) callonListElementContinuationElement1183() (interface{}, error) { +func (p *parser) callonExtraListElement856() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1183(stack["line"]) + return p.cur.onExtraListElement856() } -func (c *current) onListElementContinuationElement1227() (interface{}, error) { - return string(c.text), nil +func (c *current) onExtraListElement861() (interface{}, error) { + // numbering style: "a.", etc. + return types.NewOrderedListElementPrefix(types.LowerAlpha) } -func (p *parser) callonListElementContinuationElement1227() (interface{}, error) { +func (p *parser) callonExtraListElement861() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1227() + return p.cur.onExtraListElement861() } -func (c *current) onListElementContinuationElement1230() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onExtraListElement865() (interface{}, error) { + // numbering style: "A.", etc. + return types.NewOrderedListElementPrefix(types.UpperAlpha) + } -func (p *parser) callonListElementContinuationElement1230() (interface{}, error) { +func (p *parser) callonExtraListElement865() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1230() + return p.cur.onExtraListElement865() } -func (c *current) onListElementContinuationElement1223() (interface{}, error) { - return types.NewBlockDelimiter(types.Sidebar, string(c.text)) +func (c *current) onExtraListElement869() (interface{}, error) { + // numbering style: "i)", etc. + return types.NewOrderedListElementPrefix(types.LowerRoman) + } -func (p *parser) callonListElementContinuationElement1223() (interface{}, error) { +func (p *parser) callonExtraListElement869() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1223() + return p.cur.onExtraListElement869() } -func (c *current) onListElementContinuationElement1165(content interface{}) (interface{}, error) { - c.unsetWithinDelimitedBlock() - return types.NewDelimitedBlock(types.Sidebar, content.([]interface{})) +func (c *current) onExtraListElement874() (interface{}, error) { + // numbering style: "I)", etc. + return types.NewOrderedListElementPrefix(types.UpperRoman) } -func (p *parser) callonListElementContinuationElement1165() (interface{}, error) { +func (p *parser) callonExtraListElement874() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1165(stack["content"]) + return p.cur.onExtraListElement874() } -func (c *current) onListElementContinuationElement1250() (interface{}, error) { +func (c *current) onExtraListElement879(prefix interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1250() (interface{}, error) { +func (p *parser) callonExtraListElement879() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1250() + return p.cur.onExtraListElement879(stack["prefix"]) } -func (c *current) onListElementContinuationElement1253() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onExtraListElement842(prefix interface{}) (interface{}, error) { + return prefix, nil } -func (p *parser) callonListElementContinuationElement1253() (interface{}, error) { +func (p *parser) callonExtraListElement842() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1253() + return p.cur.onExtraListElement842(stack["prefix"]) } -func (c *current) onListElementContinuationElement1261() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onExtraListElement886() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonListElementContinuationElement1261() (interface{}, error) { +func (p *parser) callonExtraListElement886() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1261() + return p.cur.onExtraListElement886() } -func (c *current) onListElementContinuationElement1239() (interface{}, error) { +func (c *current) onExtraListElement893() (interface{}, error) { - return types.NewThematicBreak() + // `*` is 1, etc. + return (len(c.text)), nil } -func (p *parser) callonListElementContinuationElement1239() (interface{}, error) { +func (p *parser) callonExtraListElement893() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1239() + return p.cur.onExtraListElement893() } -func (c *current) onListElementContinuationElement1273() (interface{}, error) { - return string(c.text), nil +func (c *current) onExtraListElement896(depth interface{}) (bool, error) { + + // use a predicate to make sure that only `*` to `*****` are allowed + return depth.(int) <= 5, nil } -func (p *parser) callonListElementContinuationElement1273() (interface{}, error) { +func (p *parser) callonExtraListElement896() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1273() + return p.cur.onExtraListElement896(stack["depth"]) } -func (c *current) onListElementContinuationElement1276() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onExtraListElement890(depth interface{}) (interface{}, error) { + switch depth.(int) { + case 1: + return types.NewUnorderedListElementPrefix(types.OneAsterisk) + case 2: + return types.NewUnorderedListElementPrefix(types.TwoAsterisks) + case 3: + return types.NewUnorderedListElementPrefix(types.ThreeAsterisks) + case 4: + return types.NewUnorderedListElementPrefix(types.FourAsterisks) + default: + return types.NewUnorderedListElementPrefix(types.FiveAsterisks) + } + } -func (p *parser) callonListElementContinuationElement1276() (interface{}, error) { +func (p *parser) callonExtraListElement890() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1276() + return p.cur.onExtraListElement890(stack["depth"]) } -func (c *current) onListElementContinuationElement1293() (interface{}, error) { - return string(c.text), nil +func (c *current) onExtraListElement898() (interface{}, error) { + return types.NewUnorderedListElementPrefix(types.Dash) } -func (p *parser) callonListElementContinuationElement1293() (interface{}, error) { +func (p *parser) callonExtraListElement898() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1293() + return p.cur.onExtraListElement898() } -func (c *current) onListElementContinuationElement1299() (interface{}, error) { +func (c *current) onExtraListElement900(prefix interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1299() (interface{}, error) { +func (p *parser) callonExtraListElement900() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1299() + return p.cur.onExtraListElement900(stack["prefix"]) } -func (c *current) onListElementContinuationElement1297(content interface{}) (interface{}, error) { - return types.NewRawContent(content.(string)) - +func (c *current) onExtraListElement883(prefix interface{}) (interface{}, error) { + return prefix, nil } -func (p *parser) callonListElementContinuationElement1297() (interface{}, error) { +func (p *parser) callonExtraListElement883() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1297(stack["content"]) + return p.cur.onExtraListElement883(stack["prefix"]) } -func (c *current) onListElementContinuationElement1289(content interface{}) (interface{}, error) { - return types.NewTableCell(content.(types.RawContent)) - +func (c *current) onExtraListElement908() (interface{}, error) { + return strconv.Atoi(string(c.text)) } -func (p *parser) callonListElementContinuationElement1289() (interface{}, error) { +func (p *parser) callonExtraListElement908() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1289(stack["content"]) + return p.cur.onExtraListElement908() } -func (c *current) onListElementContinuationElement1303() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onExtraListElement912(ref interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") return string(c.text), nil + } -func (p *parser) callonListElementContinuationElement1303() (interface{}, error) { +func (p *parser) callonExtraListElement912() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1303() + return p.cur.onExtraListElement912(stack["ref"]) } -func (c *current) onListElementContinuationElement1317() (interface{}, error) { - return string(c.text), nil +func (c *current) onExtraListElement904(ref interface{}) (interface{}, error) { + return ref, nil } -func (p *parser) callonListElementContinuationElement1317() (interface{}, error) { +func (p *parser) callonExtraListElement904() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1317() + return p.cur.onExtraListElement904(stack["ref"]) } -func (c *current) onListElementContinuationElement1320() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onExtraListElement924() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonListElementContinuationElement1320() (interface{}, error) { +func (p *parser) callonExtraListElement924() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1320() + return p.cur.onExtraListElement924() } -func (c *current) onListElementContinuationElement1311() (interface{}, error) { - return types.NewBlankLine() +func (c *current) onExtraListElement927(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) callonListElementContinuationElement1311() (interface{}, error) { +func (p *parser) callonExtraListElement927() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1311() + return p.cur.onExtraListElement927(stack["separator"]) } -func (c *current) onListElementContinuationElement1285(cells interface{}) (interface{}, error) { - return types.NewTableRow(cells.([]interface{})) +func (c *current) onExtraListElement921(separator interface{}) (interface{}, error) { + return separator, nil } -func (p *parser) callonListElementContinuationElement1285() (interface{}, error) { +func (p *parser) callonExtraListElement921() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1285(stack["cells"]) + return p.cur.onExtraListElement921(stack["separator"]) } -func (c *current) onListElementContinuationElement1337() (interface{}, error) { +func (c *current) onExtraListElement930() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil +} +func (p *parser) callonExtraListElement930() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement930() } -func (p *parser) callonListElementContinuationElement1337() (interface{}, error) { +func (c *current) onExtraListElement917() (interface{}, error) { + return types.NewRawLine(strings.TrimSpace(string(c.text))) + +} + +func (p *parser) callonExtraListElement917() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1337() + return p.cur.onExtraListElement917() } -func (c *current) onListElementContinuationElement1340() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onExtraListElement941() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonListElementContinuationElement1340() (interface{}, error) { +func (p *parser) callonExtraListElement941() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1340() + return p.cur.onExtraListElement941() } -func (c *current) onListElementContinuationElement1361() (interface{}, error) { - return string(c.text), nil +func (c *current) onExtraListElement944(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) callonListElementContinuationElement1361() (interface{}, error) { +func (p *parser) callonExtraListElement944() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1361() + return p.cur.onExtraListElement944(stack["separator"]) } -func (c *current) onListElementContinuationElement1364() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onExtraListElement938(separator interface{}) (interface{}, error) { + return separator, nil + } -func (p *parser) callonListElementContinuationElement1364() (interface{}, error) { +func (p *parser) callonExtraListElement938() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1364() + return p.cur.onExtraListElement938(stack["separator"]) } -func (c *current) onListElementContinuationElement1380() (interface{}, error) { +func (c *current) onExtraListElement956() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1380() (interface{}, error) { +func (p *parser) callonExtraListElement956() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1380() + return p.cur.onExtraListElement956() } -func (c *current) onListElementContinuationElement1383() (interface{}, error) { +func (c *current) onExtraListElement959() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1383() (interface{}, error) { +func (p *parser) callonExtraListElement959() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1383() + return p.cur.onExtraListElement959() } -func (c *current) onListElementContinuationElement1374() (interface{}, error) { - return types.NewBlankLine() - +func (c *current) onExtraListElement952() (interface{}, error) { + return types.NewBlockDelimiter(types.Comment, string(c.text)) } -func (p *parser) callonListElementContinuationElement1374() (interface{}, error) { +func (p *parser) callonExtraListElement952() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1374() + return p.cur.onExtraListElement952() } -func (c *current) onListElementContinuationElement1392() (interface{}, error) { +func (c *current) onExtraListElement970() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1392() (interface{}, error) { +func (p *parser) callonExtraListElement970() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1392() + return p.cur.onExtraListElement970() } -func (c *current) onListElementContinuationElement1398() (interface{}, error) { +func (c *current) onExtraListElement973() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonListElementContinuationElement1398() (interface{}, error) { +func (p *parser) callonExtraListElement973() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1398() + return p.cur.onExtraListElement973() } -func (c *current) onListElementContinuationElement1396(content interface{}) (interface{}, error) { - return types.NewRawContent(content.(string)) - +func (c *current) onExtraListElement966() (interface{}, error) { + return types.NewBlockDelimiter(types.Example, string(c.text)) } -func (p *parser) callonListElementContinuationElement1396() (interface{}, error) { +func (p *parser) callonExtraListElement966() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1396(stack["content"]) + return p.cur.onExtraListElement966() } -func (c *current) onListElementContinuationElement1354(content interface{}) (interface{}, error) { - return types.NewTableCell(content.(types.RawContent)) +func (c *current) onExtraListElement984() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1354() (interface{}, error) { +func (p *parser) callonExtraListElement984() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1354(stack["content"]) + return p.cur.onExtraListElement984() } -func (c *current) onListElementContinuationElement1402() (interface{}, error) { +func (c *current) onExtraListElement987() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1402() (interface{}, error) { +func (p *parser) callonExtraListElement987() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1402() + return p.cur.onExtraListElement987() } -func (c *current) onListElementContinuationElement1351(cell interface{}) (interface{}, error) { - return cell, nil - +func (c *current) onExtraListElement980() (interface{}, error) { + return types.NewBlockDelimiter(types.Fenced, string(c.text)) } -func (p *parser) callonListElementContinuationElement1351() (interface{}, error) { +func (p *parser) callonExtraListElement980() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1351(stack["cell"]) + return p.cur.onExtraListElement980() } -func (c *current) onListElementContinuationElement1417() (interface{}, error) { +func (c *current) onExtraListElement998() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1417() (interface{}, error) { +func (p *parser) callonExtraListElement998() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1417() + return p.cur.onExtraListElement998() } -func (c *current) onListElementContinuationElement1420() (interface{}, error) { +func (c *current) onExtraListElement1001() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1420() (interface{}, error) { +func (p *parser) callonExtraListElement1001() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1420() + return p.cur.onExtraListElement1001() } -func (c *current) onListElementContinuationElement1411() (interface{}, error) { - return types.NewBlankLine() - +func (c *current) onExtraListElement994() (interface{}, error) { + return types.NewBlockDelimiter(types.Listing, string(c.text)) } -func (p *parser) callonListElementContinuationElement1411() (interface{}, error) { +func (p *parser) callonExtraListElement994() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1411() + return p.cur.onExtraListElement994() } -func (c *current) onListElementContinuationElement1432() (interface{}, error) { +func (c *current) onExtraListElement1012() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1432() (interface{}, error) { +func (p *parser) callonExtraListElement1012() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1432() + return p.cur.onExtraListElement1012() } -func (c *current) onListElementContinuationElement1435() (interface{}, error) { +func (c *current) onExtraListElement1015() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1435() (interface{}, error) { +func (p *parser) callonExtraListElement1015() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1435() + return p.cur.onExtraListElement1015() } -func (c *current) onListElementContinuationElement1330(cells interface{}) (interface{}, error) { - return types.NewTableRow(cells.([]interface{})) - +func (c *current) onExtraListElement1008() (interface{}, error) { + return types.NewBlockDelimiter(types.Literal, string(c.text)) } -func (p *parser) callonListElementContinuationElement1330() (interface{}, error) { +func (p *parser) callonExtraListElement1008() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1330(stack["cells"]) + return p.cur.onExtraListElement1008() } -func (c *current) onListElementContinuationElement1451() (interface{}, error) { +func (c *current) onExtraListElement1026() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1451() (interface{}, error) { +func (p *parser) callonExtraListElement1026() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1451() + return p.cur.onExtraListElement1026() } -func (c *current) onListElementContinuationElement1454() (interface{}, error) { +func (c *current) onExtraListElement1029() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1454() (interface{}, error) { +func (p *parser) callonExtraListElement1029() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1454() + return p.cur.onExtraListElement1029() } -func (c *current) onListElementContinuationElement1472() (interface{}, error) { - return string(c.text), nil - +func (c *current) onExtraListElement1022() (interface{}, error) { + return types.NewBlockDelimiter(types.Passthrough, string(c.text)) } -func (p *parser) callonListElementContinuationElement1472() (interface{}, error) { +func (p *parser) callonExtraListElement1022() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1472() + return p.cur.onExtraListElement1022() } -func (c *current) onListElementContinuationElement1475() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onExtraListElement1040() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonListElementContinuationElement1475() (interface{}, error) { +func (p *parser) callonExtraListElement1040() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1475() + return p.cur.onExtraListElement1040() } -func (c *current) onListElementContinuationElement1491() (interface{}, error) { +func (c *current) onExtraListElement1043() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonListElementContinuationElement1491() (interface{}, error) { +func (p *parser) callonExtraListElement1043() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1491() + return p.cur.onExtraListElement1043() } -func (c *current) onListElementContinuationElement1494() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onExtraListElement1036() (interface{}, error) { + return types.NewBlockDelimiter(types.Quote, string(c.text)) } -func (p *parser) callonListElementContinuationElement1494() (interface{}, error) { +func (p *parser) callonExtraListElement1036() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1494() + return p.cur.onExtraListElement1036() } -func (c *current) onListElementContinuationElement1485() (interface{}, error) { - return types.NewBlankLine() +func (c *current) onExtraListElement1054() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1485() (interface{}, error) { +func (p *parser) callonExtraListElement1054() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1485() + return p.cur.onExtraListElement1054() } -func (c *current) onListElementContinuationElement1503() (interface{}, error) { +func (c *current) onExtraListElement1057() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonListElementContinuationElement1503() (interface{}, error) { +func (p *parser) callonExtraListElement1057() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1503() + return p.cur.onExtraListElement1057() } -func (c *current) onListElementContinuationElement1509() (interface{}, error) { - return string(c.text), nil - +func (c *current) onExtraListElement1050() (interface{}, error) { + return types.NewBlockDelimiter(types.Sidebar, string(c.text)) } -func (p *parser) callonListElementContinuationElement1509() (interface{}, error) { +func (p *parser) callonExtraListElement1050() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1509() + return p.cur.onExtraListElement1050() } -func (c *current) onListElementContinuationElement1507(content interface{}) (interface{}, error) { - return types.NewRawContent(content.(string)) +func (c *current) onExtraListElement946(delimiter interface{}) (interface{}, error) { + return delimiter, nil } -func (p *parser) callonListElementContinuationElement1507() (interface{}, error) { +func (p *parser) callonExtraListElement946() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1507(stack["content"]) + return p.cur.onExtraListElement946(stack["delimiter"]) } -func (c *current) onListElementContinuationElement1465(content interface{}) (interface{}, error) { - return types.NewTableCell(content.(types.RawContent)) +func (c *current) onExtraListElement1065() (interface{}, error) { + return strings.TrimSpace(string(c.text)), nil } -func (p *parser) callonListElementContinuationElement1465() (interface{}, error) { +func (p *parser) callonExtraListElement1065() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1465(stack["content"]) + return p.cur.onExtraListElement1065() } -func (c *current) onListElementContinuationElement1513() (interface{}, error) { +func (c *current) onExtraListElement1069() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1513() (interface{}, error) { +func (p *parser) callonExtraListElement1069() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1513() + return p.cur.onExtraListElement1069() } -func (c *current) onListElementContinuationElement1527() (interface{}, error) { - return string(c.text), nil +func (c *current) onExtraListElement811(content interface{}) (interface{}, error) { + // do not retain the EOL chars + return types.NewRawLine(content.(string)) + +} + +func (p *parser) callonExtraListElement811() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement811(stack["content"]) +} + +func (c *current) onExtraListElement779(content interface{}) (interface{}, error) { + if content == nil { + return nil, nil + } + return types.NewParagraph(content) } -func (p *parser) callonListElementContinuationElement1527() (interface{}, error) { +func (p *parser) callonExtraListElement779() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1527() + return p.cur.onExtraListElement779(stack["content"]) } -func (c *current) onListElementContinuationElement1530() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onExtraListElement1078() (interface{}, error) { + // log.Debug("matched multiple spaces") return string(c.text), nil + } -func (p *parser) callonListElementContinuationElement1530() (interface{}, error) { +func (p *parser) callonExtraListElement1078() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1530() + return p.cur.onExtraListElement1078() } -func (c *current) onListElementContinuationElement1521() (interface{}, error) { - return types.NewBlankLine() +func (c *current) onExtraListElement1082() (interface{}, error) { + return types.NewRawLine(string(c.text)) } -func (p *parser) callonListElementContinuationElement1521() (interface{}, error) { +func (p *parser) callonExtraListElement1082() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1521() + return p.cur.onExtraListElement1082() } -func (c *current) onListElementContinuationElement1444(cells interface{}) (interface{}, error) { - return types.NewTableRow(cells.([]interface{})) - +func (c *current) onExtraListElement1086() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1444() (interface{}, error) { +func (p *parser) callonExtraListElement1086() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1444(stack["cells"]) + return p.cur.onExtraListElement1086() } -func (c *current) onListElementContinuationElement1541() (interface{}, error) { - return string(c.text), nil +func (c *current) onExtraListElement1076(content interface{}) (interface{}, error) { + return types.NewParagraph(content) } -func (p *parser) callonListElementContinuationElement1541() (interface{}, error) { +func (p *parser) callonExtraListElement1076() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1541() + return p.cur.onExtraListElement1076(stack["content"]) } -func (c *current) onListElementContinuationElement1544() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onExtraListElement745(term, separator, description interface{}) (interface{}, error) { + return types.NewLabeledListElement(len(separator.(string))-1, term, description) + } -func (p *parser) callonListElementContinuationElement1544() (interface{}, error) { +func (p *parser) callonExtraListElement745() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1544() + return p.cur.onExtraListElement745(stack["term"], stack["separator"], stack["description"]) } -func (c *current) onListElementContinuationElement1269(header, rows interface{}) (interface{}, error) { - return types.NewTable(header, rows.([]interface{})) +func (c *current) onExtraListElement739(attributes, element interface{}) (interface{}, error) { + return append(attributes.([]interface{}), element), nil } -func (p *parser) callonListElementContinuationElement1269() (interface{}, error) { +func (p *parser) callonExtraListElement739() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1269(stack["header"], stack["rows"]) + return p.cur.onExtraListElement739(stack["attributes"], stack["element"]) } -func (c *current) onListElementContinuationElement1559() (interface{}, error) { +func (c *current) onExtraListElement1099() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1559() (interface{}, error) { +func (p *parser) callonExtraListElement1099() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1559() + return p.cur.onExtraListElement1099() } -func (c *current) onListElementContinuationElement1563() (interface{}, error) { +func (c *current) onExtraListElement1103() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1563() (interface{}, error) { +func (p *parser) callonExtraListElement1103() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1563() + return p.cur.onExtraListElement1103() } -func (c *current) onListElementContinuationElement1553(content interface{}) (interface{}, error) { +func (c *current) onExtraListElement1093(content interface{}) (interface{}, error) { return types.NewSingleLineComment(content.(string)) } -func (p *parser) callonListElementContinuationElement1553() (interface{}, error) { +func (p *parser) callonExtraListElement1093() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1553(stack["content"]) + return p.cur.onExtraListElement1093(stack["content"]) } -func (c *current) onListElementContinuationElement1574() (interface{}, error) { - return types.Tip, nil +func (c *current) onExtraListElement1121() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonListElementContinuationElement1574() (interface{}, error) { +func (p *parser) callonExtraListElement1121() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1574() + return p.cur.onExtraListElement1121() } -func (c *current) onListElementContinuationElement1576() (interface{}, error) { - return types.Note, nil +func (c *current) onExtraListElement1124() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1576() (interface{}, error) { +func (p *parser) callonExtraListElement1124() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1576() + return p.cur.onExtraListElement1124() } -func (c *current) onListElementContinuationElement1578() (interface{}, error) { - return types.Important, nil +func (c *current) onExtraListElement1115() (interface{}, error) { + return types.NewBlankLine() + } -func (p *parser) callonListElementContinuationElement1578() (interface{}, error) { +func (p *parser) callonExtraListElement1115() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1578() + return p.cur.onExtraListElement1115() } -func (c *current) onListElementContinuationElement1580() (interface{}, error) { - return types.Warning, nil +func (c *current) onExtraListElement1135() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonListElementContinuationElement1580() (interface{}, error) { +func (p *parser) callonExtraListElement1135() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1580() + return p.cur.onExtraListElement1135() } -func (c *current) onListElementContinuationElement1582() (interface{}, error) { - return types.Caution, nil +func (c *current) onExtraListElement1137() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1582() (interface{}, error) { +func (p *parser) callonExtraListElement1137() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1582() + return p.cur.onExtraListElement1137() } -func (c *current) onListElementContinuationElement1589() (interface{}, error) { +func (c *current) onExtraListElement1146() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1589() (interface{}, error) { +func (p *parser) callonExtraListElement1146() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1589() + return p.cur.onExtraListElement1146() } -func (c *current) onListElementContinuationElement1592(content interface{}) (bool, error) { - return len(strings.TrimSpace(string(c.text))) > 0, nil - -} +func (c *current) onExtraListElement1153() (interface{}, error) { -func (p *parser) callonListElementContinuationElement1592() (bool, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onListElementContinuationElement1592(stack["content"]) -} + // `.` is 1, etc. + return (len(c.text)), nil -func (c *current) onListElementContinuationElement1594() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1594() (interface{}, error) { +func (p *parser) callonExtraListElement1153() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1594() + return p.cur.onExtraListElement1153() } -func (c *current) onListElementContinuationElement1586(content interface{}) (interface{}, error) { - return types.NewRawLine(content.(string)) +func (c *current) onExtraListElement1156(depth interface{}) (bool, error) { + + // use a predicate to make sure that only `.` to `.....` are allowed + return depth.(int) <= 5, nil } -func (p *parser) callonListElementContinuationElement1586() (interface{}, error) { +func (p *parser) callonExtraListElement1156() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1586(stack["content"]) + return p.cur.onExtraListElement1156(stack["depth"]) } -func (c *current) onListElementContinuationElement1609() (interface{}, error) { - return string(c.text), nil +func (c *current) onExtraListElement1150(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) callonListElementContinuationElement1609() (interface{}, error) { +func (p *parser) callonExtraListElement1150() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1609() + return p.cur.onExtraListElement1150(stack["depth"]) } -func (c *current) onListElementContinuationElement1611() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onExtraListElement1157() (interface{}, error) { + // numbering style: "1.", etc. + return types.NewOrderedListElementPrefix(types.Arabic) + } -func (p *parser) callonListElementContinuationElement1611() (interface{}, error) { +func (p *parser) callonExtraListElement1157() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1611() + return p.cur.onExtraListElement1157() } -func (c *current) onListElementContinuationElement1624() (interface{}, error) { - return string(c.text), nil +func (c *current) onExtraListElement1162() (interface{}, error) { + // numbering style: "a.", etc. + return types.NewOrderedListElementPrefix(types.LowerAlpha) } -func (p *parser) callonListElementContinuationElement1624() (interface{}, error) { +func (p *parser) callonExtraListElement1162() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1624() + return p.cur.onExtraListElement1162() } -func (c *current) onListElementContinuationElement1628() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onExtraListElement1166() (interface{}, error) { + // numbering style: "A.", etc. + return types.NewOrderedListElementPrefix(types.UpperAlpha) + } -func (p *parser) callonListElementContinuationElement1628() (interface{}, error) { +func (p *parser) callonExtraListElement1166() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1628() + return p.cur.onExtraListElement1166() } -func (c *current) onListElementContinuationElement1618(content interface{}) (interface{}, error) { - return types.NewSingleLineComment(content.(string)) +func (c *current) onExtraListElement1170() (interface{}, error) { + // numbering style: "i)", etc. + return types.NewOrderedListElementPrefix(types.LowerRoman) } -func (p *parser) callonListElementContinuationElement1618() (interface{}, error) { +func (p *parser) callonExtraListElement1170() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1618(stack["content"]) + return p.cur.onExtraListElement1170() } -func (c *current) onListElementContinuationElement1638() (interface{}, error) { - return string(c.text), nil +func (c *current) onExtraListElement1175() (interface{}, error) { + // numbering style: "I)", etc. + return types.NewOrderedListElementPrefix(types.UpperRoman) } -func (p *parser) callonListElementContinuationElement1638() (interface{}, error) { +func (p *parser) callonExtraListElement1175() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1638() + return p.cur.onExtraListElement1175() } -func (c *current) onListElementContinuationElement1641(content interface{}) (bool, error) { - return len(strings.TrimSpace(string(c.text))) > 0, nil +func (c *current) onExtraListElement1180(prefix interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") + return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1641() (bool, error) { +func (p *parser) callonExtraListElement1180() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1641(stack["content"]) + return p.cur.onExtraListElement1180(stack["prefix"]) } -func (c *current) onListElementContinuationElement1643() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onExtraListElement1143(prefix interface{}) (interface{}, error) { + return prefix, nil } -func (p *parser) callonListElementContinuationElement1643() (interface{}, error) { +func (p *parser) callonExtraListElement1143() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1643() + return p.cur.onExtraListElement1143(stack["prefix"]) } -func (c *current) onListElementContinuationElement1635(content interface{}) (interface{}, error) { - return types.NewRawLine(content.(string)) +func (c *current) onExtraListElement1187() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1635() (interface{}, error) { +func (p *parser) callonExtraListElement1187() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1635(stack["content"]) + return p.cur.onExtraListElement1187() } -func (c *current) onListElementContinuationElement1603(line interface{}) (interface{}, error) { - return line, nil +func (c *current) onExtraListElement1194() (interface{}, error) { + + // `*` is 1, etc. + return (len(c.text)), nil } -func (p *parser) callonListElementContinuationElement1603() (interface{}, error) { +func (p *parser) callonExtraListElement1194() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1603(stack["line"]) + return p.cur.onExtraListElement1194() } -func (c *current) onListElementContinuationElement1570(kind, firstLine, otherLines interface{}) (interface{}, error) { +func (c *current) onExtraListElement1197(depth interface{}) (bool, error) { - return types.NewAdmonitionParagraph(kind.(string), append([]interface{}{firstLine}, otherLines.([]interface{})...)) + // use a predicate to make sure that only `*` to `*****` are allowed + return depth.(int) <= 5, nil } -func (p *parser) callonListElementContinuationElement1570() (interface{}, error) { +func (p *parser) callonExtraListElement1197() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1570(stack["kind"], stack["firstLine"], stack["otherLines"]) + return p.cur.onExtraListElement1197(stack["depth"]) } -func (c *current) onListElementContinuationElement1658() (interface{}, error) { - // log.Debug("matched multiple spaces") - return string(c.text), nil +func (c *current) onExtraListElement1191(depth interface{}) (interface{}, error) { + switch depth.(int) { + case 1: + return types.NewUnorderedListElementPrefix(types.OneAsterisk) + case 2: + return types.NewUnorderedListElementPrefix(types.TwoAsterisks) + case 3: + return types.NewUnorderedListElementPrefix(types.ThreeAsterisks) + case 4: + return types.NewUnorderedListElementPrefix(types.FourAsterisks) + default: + return types.NewUnorderedListElementPrefix(types.FiveAsterisks) + } } -func (p *parser) callonListElementContinuationElement1658() (interface{}, error) { +func (p *parser) callonExtraListElement1191() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1658() + return p.cur.onExtraListElement1191(stack["depth"]) } -func (c *current) onListElementContinuationElement1656() (interface{}, error) { - return string(c.text), nil +func (c *current) onExtraListElement1199() (interface{}, error) { + return types.NewUnorderedListElementPrefix(types.Dash) } -func (p *parser) callonListElementContinuationElement1656() (interface{}, error) { +func (p *parser) callonExtraListElement1199() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1656() + return p.cur.onExtraListElement1199() } -func (c *current) onListElementContinuationElement1663(content interface{}) (bool, error) { - return len(strings.TrimSpace(string(c.text))) > 0, nil +func (c *current) onExtraListElement1201(prefix interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") + return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1663() (bool, error) { +func (p *parser) callonExtraListElement1201() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1663(stack["content"]) + return p.cur.onExtraListElement1201(stack["prefix"]) } -func (c *current) onListElementContinuationElement1665() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onExtraListElement1184(prefix interface{}) (interface{}, error) { + return prefix, nil } -func (p *parser) callonListElementContinuationElement1665() (interface{}, error) { +func (p *parser) callonExtraListElement1184() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1665() + return p.cur.onExtraListElement1184(stack["prefix"]) } -func (c *current) onListElementContinuationElement1653(content interface{}) (interface{}, error) { - return types.NewRawLine(content.(string)) - +func (c *current) onExtraListElement1209() (interface{}, error) { + return strconv.Atoi(string(c.text)) } -func (p *parser) callonListElementContinuationElement1653() (interface{}, error) { +func (p *parser) callonExtraListElement1209() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1653(stack["content"]) + return p.cur.onExtraListElement1209() } -func (c *current) onListElementContinuationElement1681() (interface{}, error) { +func (c *current) onExtraListElement1213(ref interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1681() (interface{}, error) { +func (p *parser) callonExtraListElement1213() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1681() + return p.cur.onExtraListElement1213(stack["ref"]) } -func (c *current) onListElementContinuationElement1685() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onExtraListElement1205(ref interface{}) (interface{}, error) { + return ref, nil + } -func (p *parser) callonListElementContinuationElement1685() (interface{}, error) { +func (p *parser) callonExtraListElement1205() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1685() + return p.cur.onExtraListElement1205(stack["ref"]) } -func (c *current) onListElementContinuationElement1675(content interface{}) (interface{}, error) { - return types.NewSingleLineComment(content.(string)) +func (c *current) onExtraListElement1225() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1675() (interface{}, error) { +func (p *parser) callonExtraListElement1225() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1675(stack["content"]) + return p.cur.onExtraListElement1225() } -func (c *current) onListElementContinuationElement1695() (interface{}, error) { - return string(c.text), nil +func (c *current) onExtraListElement1228(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) callonListElementContinuationElement1695() (interface{}, error) { +func (p *parser) callonExtraListElement1228() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1695() + return p.cur.onExtraListElement1228(stack["separator"]) } -func (c *current) onListElementContinuationElement1698(content interface{}) (bool, error) { - return len(strings.TrimSpace(string(c.text))) > 0, nil +func (c *current) onExtraListElement1222(separator interface{}) (interface{}, error) { + return separator, nil } -func (p *parser) callonListElementContinuationElement1698() (bool, error) { +func (p *parser) callonExtraListElement1222() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1698(stack["content"]) + return p.cur.onExtraListElement1222(stack["separator"]) } -func (c *current) onListElementContinuationElement1700() (interface{}, error) { +func (c *current) onExtraListElement1231() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1700() (interface{}, error) { +func (p *parser) callonExtraListElement1231() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1700() + return p.cur.onExtraListElement1231() } -func (c *current) onListElementContinuationElement1692(content interface{}) (interface{}, error) { - return types.NewRawLine(content.(string)) +func (c *current) onExtraListElement1218() (interface{}, error) { + return types.NewRawLine(strings.TrimSpace(string(c.text))) } -func (p *parser) callonListElementContinuationElement1692() (interface{}, error) { +func (p *parser) callonExtraListElement1218() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1692(stack["content"]) + return p.cur.onExtraListElement1218() } -func (c *current) onListElementContinuationElement1650(firstLine, otherLines interface{}) (interface{}, error) { +func (c *current) onExtraListElement1242() (interface{}, error) { - return types.NewLiteralParagraph(types.LiteralBlockWithSpacesOnFirstLine, append([]interface{}{firstLine}, otherLines.([]interface{})...)) + return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1650() (interface{}, error) { +func (p *parser) callonExtraListElement1242() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1650(stack["firstLine"], stack["otherLines"]) + return p.cur.onExtraListElement1242() } -func (c *current) onListElementContinuationElement1710() (interface{}, error) { - return string(c.text), nil - -} +func (c *current) onExtraListElement1245(separator interface{}) (bool, error) { -func (p *parser) callonListElementContinuationElement1710() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onListElementContinuationElement1710() -} + // use a predicate to make sure that separator is `::`, `:::` or `::::` + return len(separator.(string)) >= 2 && len(separator.(string)) <= 4, nil -func (c *current) onListElementContinuationElement1714() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1714() (interface{}, error) { +func (p *parser) callonExtraListElement1245() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1714() + return p.cur.onExtraListElement1245(stack["separator"]) } -func (c *current) onListElementContinuationElement1707(content interface{}) (interface{}, error) { - // do not retain the EOL chars - return types.NewParagraph(types.RawLine(content.(string))) +func (c *current) onExtraListElement1239(separator interface{}) (interface{}, error) { + return separator, nil } -func (p *parser) callonListElementContinuationElement1707() (interface{}, error) { +func (p *parser) callonExtraListElement1239() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1707(stack["content"]) + return p.cur.onExtraListElement1239(stack["separator"]) } -func (c *current) onListElementContinuationElement1(attributes, element interface{}) (interface{}, error) { - if element, ok := element.(types.BlockWithAttributes); ok && attributes != nil { - element.AddAttributes(attributes.(types.Attributes)) - } - // if log.IsLevelEnabled(log.DebugLevel) { - // log.Debugf("returning element '%s'\n", spew.Sdump(element)) - // } - return element, nil +func (c *current) onExtraListElement1257() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListElementContinuationElement1() (interface{}, error) { +func (p *parser) callonExtraListElement1257() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElementContinuationElement1(stack["attributes"], stack["element"]) + return p.cur.onExtraListElement1257() } -func (c *current) onCallout3() (bool, error) { - return c.isSubstitutionEnabled(Callouts) - +func (c *current) onExtraListElement1260() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonCallout3() (bool, error) { +func (p *parser) callonExtraListElement1260() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onCallout3() + return p.cur.onExtraListElement1260() } -func (c *current) onCallout6() (interface{}, error) { - return strconv.Atoi(string(c.text)) +func (c *current) onExtraListElement1253() (interface{}, error) { + return types.NewBlockDelimiter(types.Comment, string(c.text)) } -func (p *parser) callonCallout6() (interface{}, error) { +func (p *parser) callonExtraListElement1253() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onCallout6() + return p.cur.onExtraListElement1253() } -func (c *current) onCallout11() (interface{}, error) { +func (c *current) onExtraListElement1271() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonCallout11() (interface{}, error) { +func (p *parser) callonExtraListElement1271() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onCallout11() + return p.cur.onExtraListElement1271() } -func (c *current) onCallout15() (interface{}, error) { +func (c *current) onExtraListElement1274() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonCallout15() (interface{}, error) { +func (p *parser) callonExtraListElement1274() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onCallout15() + return p.cur.onExtraListElement1274() } -func (c *current) onCallout1(ref interface{}) (interface{}, error) { - return types.NewCallout(ref.(int)) - +func (c *current) onExtraListElement1267() (interface{}, error) { + return types.NewBlockDelimiter(types.Example, string(c.text)) } -func (p *parser) callonCallout1() (interface{}, error) { +func (p *parser) callonExtraListElement1267() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onCallout1(stack["ref"]) + return p.cur.onExtraListElement1267() } -func (c *current) onShortcutParagraph10() (interface{}, error) { +func (c *current) onExtraListElement1285() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonShortcutParagraph10() (interface{}, error) { +func (p *parser) callonExtraListElement1285() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph10() + return p.cur.onExtraListElement1285() } -func (c *current) onShortcutParagraph17() (interface{}, error) { - - // `.` is 1, etc. - return (len(c.text)), nil - +func (c *current) onExtraListElement1288() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonShortcutParagraph17() (interface{}, error) { +func (p *parser) callonExtraListElement1288() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph17() + return p.cur.onExtraListElement1288() } -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) onExtraListElement1281() (interface{}, error) { + return types.NewBlockDelimiter(types.Fenced, string(c.text)) } -func (p *parser) callonShortcutParagraph20() (bool, error) { +func (p *parser) callonExtraListElement1281() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph20(stack["depth"]) + return p.cur.onExtraListElement1281() } -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) onExtraListElement1299() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonShortcutParagraph14() (interface{}, error) { +func (p *parser) callonExtraListElement1299() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph14(stack["depth"]) + return p.cur.onExtraListElement1299() } -func (c *current) onShortcutParagraph21() (interface{}, error) { - // numbering style: "1.", etc. - return types.NewOrderedListElementPrefix(types.Arabic) - +func (c *current) onExtraListElement1302() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonShortcutParagraph21() (interface{}, error) { +func (p *parser) callonExtraListElement1302() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph21() + return p.cur.onExtraListElement1302() } -func (c *current) onShortcutParagraph26() (interface{}, error) { - // numbering style: "a.", etc. - return types.NewOrderedListElementPrefix(types.LowerAlpha) - +func (c *current) onExtraListElement1295() (interface{}, error) { + return types.NewBlockDelimiter(types.Listing, string(c.text)) } -func (p *parser) callonShortcutParagraph26() (interface{}, error) { +func (p *parser) callonExtraListElement1295() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph26() + return p.cur.onExtraListElement1295() } -func (c *current) onShortcutParagraph30() (interface{}, error) { - // numbering style: "A.", etc. - return types.NewOrderedListElementPrefix(types.UpperAlpha) +func (c *current) onExtraListElement1313() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonShortcutParagraph30() (interface{}, error) { +func (p *parser) callonExtraListElement1313() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph30() + return p.cur.onExtraListElement1313() } -func (c *current) onShortcutParagraph34() (interface{}, error) { - // numbering style: "i)", etc. - return types.NewOrderedListElementPrefix(types.LowerRoman) - +func (c *current) onExtraListElement1316() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonShortcutParagraph34() (interface{}, error) { +func (p *parser) callonExtraListElement1316() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph34() + return p.cur.onExtraListElement1316() } -func (c *current) onShortcutParagraph39() (interface{}, error) { - // numbering style: "I)", etc. - return types.NewOrderedListElementPrefix(types.UpperRoman) - +func (c *current) onExtraListElement1309() (interface{}, error) { + return types.NewBlockDelimiter(types.Literal, string(c.text)) } -func (p *parser) callonShortcutParagraph39() (interface{}, error) { +func (p *parser) callonExtraListElement1309() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph39() + return p.cur.onExtraListElement1309() } -func (c *current) onShortcutParagraph44(prefix interface{}) (interface{}, error) { - // log.Debug("matched multiple spaces") +func (c *current) onExtraListElement1327() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonShortcutParagraph44() (interface{}, error) { +func (p *parser) callonExtraListElement1327() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph44(stack["prefix"]) + return p.cur.onExtraListElement1327() } -func (c *current) onShortcutParagraph7(prefix interface{}) (interface{}, error) { - return prefix, nil +func (c *current) onExtraListElement1330() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonShortcutParagraph7() (interface{}, error) { +func (p *parser) callonExtraListElement1330() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph7(stack["prefix"]) + return p.cur.onExtraListElement1330() } -func (c *current) onShortcutParagraph52() (interface{}, error) { - return string(c.text), nil - +func (c *current) onExtraListElement1323() (interface{}, error) { + return types.NewBlockDelimiter(types.Passthrough, string(c.text)) } -func (p *parser) callonShortcutParagraph52() (interface{}, error) { +func (p *parser) callonExtraListElement1323() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph52() + return p.cur.onExtraListElement1323() } -func (c *current) onShortcutParagraph59() (interface{}, error) { - - // `*` is 1, etc. - return (len(c.text)), nil +func (c *current) onExtraListElement1341() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonShortcutParagraph59() (interface{}, error) { +func (p *parser) callonExtraListElement1341() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph59() + return p.cur.onExtraListElement1341() } -func (c *current) onShortcutParagraph62(depth interface{}) (bool, error) { - - // use a predicate to make sure that only `*` to `*****` are allowed - return depth.(int) <= 5, nil - +func (c *current) onExtraListElement1344() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonShortcutParagraph62() (bool, error) { +func (p *parser) callonExtraListElement1344() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph62(stack["depth"]) + return p.cur.onExtraListElement1344() } -func (c *current) onShortcutParagraph56(depth interface{}) (interface{}, error) { - switch depth.(int) { - case 1: - return types.NewUnorderedListElementPrefix(types.OneAsterisk) - case 2: - return types.NewUnorderedListElementPrefix(types.TwoAsterisks) - case 3: - return types.NewUnorderedListElementPrefix(types.ThreeAsterisks) - case 4: - return types.NewUnorderedListElementPrefix(types.FourAsterisks) - default: - return types.NewUnorderedListElementPrefix(types.FiveAsterisks) - } - +func (c *current) onExtraListElement1337() (interface{}, error) { + return types.NewBlockDelimiter(types.Quote, string(c.text)) } -func (p *parser) callonShortcutParagraph56() (interface{}, error) { +func (p *parser) callonExtraListElement1337() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph56(stack["depth"]) + return p.cur.onExtraListElement1337() } -func (c *current) onShortcutParagraph64() (interface{}, error) { - return types.NewUnorderedListElementPrefix(types.Dash) +func (c *current) onExtraListElement1355() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonShortcutParagraph64() (interface{}, error) { +func (p *parser) callonExtraListElement1355() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph64() + return p.cur.onExtraListElement1355() } -func (c *current) onShortcutParagraph66(prefix interface{}) (interface{}, error) { - // log.Debug("matched multiple spaces") +func (c *current) onExtraListElement1358() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonShortcutParagraph66() (interface{}, error) { +func (p *parser) callonExtraListElement1358() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph66(stack["prefix"]) + return p.cur.onExtraListElement1358() } -func (c *current) onShortcutParagraph49(prefix interface{}) (interface{}, error) { - return prefix, nil +func (c *current) onExtraListElement1351() (interface{}, error) { + return types.NewBlockDelimiter(types.Sidebar, string(c.text)) } -func (p *parser) callonShortcutParagraph49() (interface{}, error) { +func (p *parser) callonExtraListElement1351() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph49(stack["prefix"]) + return p.cur.onExtraListElement1351() } -func (c *current) onShortcutParagraph72() (interface{}, error) { - return types.Tip, nil +func (c *current) onExtraListElement1247(delimiter interface{}) (interface{}, error) { + return delimiter, nil + } -func (p *parser) callonShortcutParagraph72() (interface{}, error) { +func (p *parser) callonExtraListElement1247() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph72() + return p.cur.onExtraListElement1247(stack["delimiter"]) } -func (c *current) onShortcutParagraph74() (interface{}, error) { - return types.Note, nil +func (c *current) onExtraListElement1366() (interface{}, error) { + return strings.TrimSpace(string(c.text)), nil + } -func (p *parser) callonShortcutParagraph74() (interface{}, error) { +func (p *parser) callonExtraListElement1366() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph74() + return p.cur.onExtraListElement1366() } -func (c *current) onShortcutParagraph76() (interface{}, error) { - return types.Important, nil +func (c *current) onExtraListElement1370() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonShortcutParagraph76() (interface{}, error) { +func (p *parser) callonExtraListElement1370() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph76() + return p.cur.onExtraListElement1370() } -func (c *current) onShortcutParagraph78() (interface{}, error) { - return types.Warning, nil +func (c *current) onExtraListElement1112(content interface{}) (interface{}, error) { + // do not retain the EOL chars + return types.NewRawLine(content.(string)) + } -func (p *parser) callonShortcutParagraph78() (interface{}, error) { +func (p *parser) callonExtraListElement1112() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph78() + return p.cur.onExtraListElement1112(stack["content"]) } -func (c *current) onShortcutParagraph80() (interface{}, error) { - return types.Caution, nil +func (c *current) onExtraListElement1110(element interface{}) (interface{}, error) { + return element, nil + } -func (p *parser) callonShortcutParagraph80() (interface{}, error) { +func (p *parser) callonExtraListElement1110() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph80() + return p.cur.onExtraListElement1110(stack["element"]) } -func (c *current) onShortcutParagraph86() (interface{}, error) { - return string(c.text), nil +func (c *current) onExtraListElement1(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonShortcutParagraph86() (interface{}, error) { +func (p *parser) callonExtraListElement1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph86() + return p.cur.onExtraListElement1(stack["element"]) } -func (c *current) onShortcutParagraph89(content interface{}) (bool, error) { - return len(strings.TrimSpace(string(c.text))) > 0, nil +func (c *current) onListElementContinuation7() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonShortcutParagraph89() (bool, error) { +func (p *parser) callonListElementContinuation7() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph89(stack["content"]) + return p.cur.onListElementContinuation7() } -func (c *current) onShortcutParagraph91() (interface{}, error) { +func (c *current) onListElementContinuation9() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonShortcutParagraph91() (interface{}, error) { +func (p *parser) callonListElementContinuation9() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph91() + return p.cur.onListElementContinuation9() } -func (c *current) onShortcutParagraph83(content interface{}) (interface{}, error) { - return types.NewRawLine(content.(string)) +func (c *current) onListElementContinuation16() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonShortcutParagraph83() (interface{}, error) { +func (p *parser) callonListElementContinuation16() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph83(stack["content"]) + return p.cur.onListElementContinuation16() } -func (c *current) onShortcutParagraph98(firstLine interface{}) (bool, error) { - // also, make sure that there is no LabeledListElement delimiter (`::` - `::::`) - // in the middle of the line (with space afterwards) - // or at the end of the line - return !strings.Contains(string(firstLine.(types.RawLine)), ":: ") && - !strings.HasSuffix(string(firstLine.(types.RawLine)), "::"), nil - +func (c *current) onListElementContinuation18(offset interface{}) (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonShortcutParagraph98() (bool, error) { +func (p *parser) callonListElementContinuation18() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph98(stack["firstLine"]) + return p.cur.onListElementContinuation18(stack["offset"]) } -func (c *current) onShortcutParagraph113() (interface{}, error) { - return string(c.text), nil +func (c *current) onListElementContinuation1(offset, element interface{}) (interface{}, error) { + return types.NewListElementContinuation(len(offset.([]interface{})), element) } -func (p *parser) callonShortcutParagraph113() (interface{}, error) { +func (p *parser) callonListElementContinuation1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph113() + return p.cur.onListElementContinuation1(stack["offset"], stack["element"]) } -func (c *current) onShortcutParagraph116() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onListElementContinuationElement14() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonShortcutParagraph116() (interface{}, error) { +func (p *parser) callonListElementContinuationElement14() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph116() + return p.cur.onListElementContinuationElement14() } -func (c *current) onShortcutParagraph107() (interface{}, error) { - return types.NewBlankLine() +func (c *current) onListElementContinuationElement21() (interface{}, error) { + + // `.` is 1, etc. + return (len(c.text)), nil } -func (p *parser) callonShortcutParagraph107() (interface{}, error) { +func (p *parser) callonListElementContinuationElement21() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph107() + return p.cur.onListElementContinuationElement21() } -func (c *current) onShortcutParagraph129() (interface{}, error) { - return string(c.text), nil +func (c *current) onListElementContinuationElement24(depth interface{}) (bool, error) { + + // use a predicate to make sure that only `.` to `.....` are allowed + return depth.(int) <= 5, nil } -func (p *parser) callonShortcutParagraph129() (interface{}, error) { +func (p *parser) callonListElementContinuationElement24() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph129() + return p.cur.onListElementContinuationElement24(stack["depth"]) } -func (c *current) onShortcutParagraph131() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onListElementContinuationElement18(depth interface{}) (interface{}, error) { + switch depth.(int) { + case 1: + return types.NewOrderedListElementPrefix(types.Arabic) + case 2: + return types.NewOrderedListElementPrefix(types.LowerAlpha) + case 3: + return types.NewOrderedListElementPrefix(types.LowerRoman) + case 4: + return types.NewOrderedListElementPrefix(types.UpperAlpha) + default: + return types.NewOrderedListElementPrefix(types.UpperRoman) + } + } -func (p *parser) callonShortcutParagraph131() (interface{}, error) { +func (p *parser) callonListElementContinuationElement18() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph131() + return p.cur.onListElementContinuationElement18(stack["depth"]) } -func (c *current) onShortcutParagraph144() (interface{}, error) { - return string(c.text), nil +func (c *current) onListElementContinuationElement25() (interface{}, error) { + // numbering style: "1.", etc. + return types.NewOrderedListElementPrefix(types.Arabic) } -func (p *parser) callonShortcutParagraph144() (interface{}, error) { +func (p *parser) callonListElementContinuationElement25() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph144() + return p.cur.onListElementContinuationElement25() } -func (c *current) onShortcutParagraph148() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onListElementContinuationElement30() (interface{}, error) { + // numbering style: "a.", etc. + return types.NewOrderedListElementPrefix(types.LowerAlpha) + } -func (p *parser) callonShortcutParagraph148() (interface{}, error) { +func (p *parser) callonListElementContinuationElement30() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph148() + return p.cur.onListElementContinuationElement30() } -func (c *current) onShortcutParagraph138(content interface{}) (interface{}, error) { - return types.NewSingleLineComment(content.(string)) +func (c *current) onListElementContinuationElement34() (interface{}, error) { + // numbering style: "A.", etc. + return types.NewOrderedListElementPrefix(types.UpperAlpha) } -func (p *parser) callonShortcutParagraph138() (interface{}, error) { +func (p *parser) callonListElementContinuationElement34() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph138(stack["content"]) + return p.cur.onListElementContinuationElement34() } -func (c *current) onShortcutParagraph158() (interface{}, error) { - return string(c.text), nil +func (c *current) onListElementContinuationElement38() (interface{}, error) { + // numbering style: "i)", etc. + return types.NewOrderedListElementPrefix(types.LowerRoman) } -func (p *parser) callonShortcutParagraph158() (interface{}, error) { +func (p *parser) callonListElementContinuationElement38() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph158() + return p.cur.onListElementContinuationElement38() } -func (c *current) onShortcutParagraph161(content interface{}) (bool, error) { - return len(strings.TrimSpace(string(c.text))) > 0, nil +func (c *current) onListElementContinuationElement43() (interface{}, error) { + // numbering style: "I)", etc. + return types.NewOrderedListElementPrefix(types.UpperRoman) } -func (p *parser) callonShortcutParagraph161() (bool, error) { +func (p *parser) callonListElementContinuationElement43() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph161(stack["content"]) + return p.cur.onListElementContinuationElement43() } -func (c *current) onShortcutParagraph163() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onListElementContinuationElement48(prefix interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") return string(c.text), nil + } -func (p *parser) callonShortcutParagraph163() (interface{}, error) { +func (p *parser) callonListElementContinuationElement48() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph163() + return p.cur.onListElementContinuationElement48(stack["prefix"]) } -func (c *current) onShortcutParagraph155(content interface{}) (interface{}, error) { - return types.NewRawLine(content.(string)) - +func (c *current) onListElementContinuationElement11(prefix interface{}) (interface{}, error) { + return prefix, nil } -func (p *parser) callonShortcutParagraph155() (interface{}, error) { +func (p *parser) callonListElementContinuationElement11() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph155(stack["content"]) + return p.cur.onListElementContinuationElement11(stack["prefix"]) } -func (c *current) onShortcutParagraph101(line interface{}) (interface{}, error) { - return line, nil +func (c *current) onListElementContinuationElement55() (interface{}, error) { + return types.NewRawLine(string(c.text)) } -func (p *parser) callonShortcutParagraph101() (interface{}, error) { +func (p *parser) callonListElementContinuationElement55() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph101(stack["line"]) + return p.cur.onListElementContinuationElement55() } -func (c *current) onShortcutParagraph1(firstLine, otherLines interface{}) (interface{}, error) { - return types.NewParagraph(append([]interface{}{firstLine}, otherLines.([]interface{})...)...) - +func (c *current) onListElementContinuationElement59() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonShortcutParagraph1() (interface{}, error) { +func (p *parser) callonListElementContinuationElement59() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph1(stack["firstLine"], stack["otherLines"]) + return p.cur.onListElementContinuationElement59() } -func (c *current) onParagraph7() (interface{}, error) { - return string(c.text), nil +func (c *current) onListElementContinuationElement52(rawline interface{}) (interface{}, error) { + return types.NewParagraph(rawline) } -func (p *parser) callonParagraph7() (interface{}, error) { +func (p *parser) callonListElementContinuationElement52() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onParagraph7() + return p.cur.onListElementContinuationElement52(stack["rawline"]) } -func (c *current) onParagraph10(content interface{}) (bool, error) { - return len(strings.TrimSpace(string(c.text))) > 0, nil +func (c *current) onListElementContinuationElement8(prefix, content interface{}) (interface{}, error) { + return types.NewOrderedListElement(prefix.(types.OrderedListElementPrefix), content) } -func (p *parser) callonParagraph10() (bool, error) { +func (p *parser) callonListElementContinuationElement8() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onParagraph10(stack["content"]) + return p.cur.onListElementContinuationElement8(stack["prefix"], stack["content"]) } -func (c *current) onParagraph12() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onListElementContinuationElement72() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonParagraph12() (interface{}, error) { +func (p *parser) callonListElementContinuationElement72() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onParagraph12() + return p.cur.onListElementContinuationElement72() } -func (c *current) onParagraph4(content interface{}) (interface{}, error) { - return types.NewRawLine(content.(string)) +func (c *current) onListElementContinuationElement79() (interface{}, error) { + + // `*` is 1, etc. + return (len(c.text)), nil } -func (p *parser) callonParagraph4() (interface{}, error) { +func (p *parser) callonListElementContinuationElement79() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onParagraph4(stack["content"]) + return p.cur.onListElementContinuationElement79() } -func (c *current) onParagraph33() (interface{}, error) { - return string(c.text), nil +func (c *current) onListElementContinuationElement82(depth interface{}) (bool, error) { + + // use a predicate to make sure that only `*` to `*****` are allowed + return depth.(int) <= 5, nil } -func (p *parser) callonParagraph33() (interface{}, error) { +func (p *parser) callonListElementContinuationElement82() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onParagraph33() + return p.cur.onListElementContinuationElement82(stack["depth"]) } -func (c *current) onParagraph36() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onListElementContinuationElement76(depth interface{}) (interface{}, error) { + switch depth.(int) { + case 1: + return types.NewUnorderedListElementPrefix(types.OneAsterisk) + case 2: + return types.NewUnorderedListElementPrefix(types.TwoAsterisks) + case 3: + return types.NewUnorderedListElementPrefix(types.ThreeAsterisks) + case 4: + return types.NewUnorderedListElementPrefix(types.FourAsterisks) + default: + return types.NewUnorderedListElementPrefix(types.FiveAsterisks) + } + } -func (p *parser) callonParagraph36() (interface{}, error) { +func (p *parser) callonListElementContinuationElement76() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onParagraph36() + return p.cur.onListElementContinuationElement76(stack["depth"]) } -func (c *current) onParagraph27() (interface{}, error) { - return types.NewBlankLine() +func (c *current) onListElementContinuationElement84() (interface{}, error) { + return types.NewUnorderedListElementPrefix(types.Dash) } -func (p *parser) callonParagraph27() (interface{}, error) { +func (p *parser) callonListElementContinuationElement84() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onParagraph27() + return p.cur.onListElementContinuationElement84() } -func (c *current) onParagraph49() (interface{}, error) { +func (c *current) onListElementContinuationElement86(prefix interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") return string(c.text), nil } -func (p *parser) callonParagraph49() (interface{}, error) { +func (p *parser) callonListElementContinuationElement86() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onParagraph49() + return p.cur.onListElementContinuationElement86(stack["prefix"]) } -func (c *current) onParagraph51() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onListElementContinuationElement69(prefix interface{}) (interface{}, error) { + return prefix, nil } -func (p *parser) callonParagraph51() (interface{}, error) { +func (p *parser) callonListElementContinuationElement69() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onParagraph51() + return p.cur.onListElementContinuationElement69(stack["prefix"]) } -func (c *current) onParagraph64() (interface{}, error) { - return string(c.text), nil +func (c *current) onListElementContinuationElement97() (interface{}, error) { + return types.Unchecked, nil +} + +func (p *parser) callonListElementContinuationElement97() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement97() +} +func (c *current) onListElementContinuationElement99() (interface{}, error) { + return types.Checked, nil } -func (p *parser) callonParagraph64() (interface{}, error) { +func (p *parser) callonListElementContinuationElement99() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onParagraph64() + return p.cur.onListElementContinuationElement99() } -func (c *current) onParagraph68() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onListElementContinuationElement101() (interface{}, error) { + return types.Checked, nil } -func (p *parser) callonParagraph68() (interface{}, error) { +func (p *parser) callonListElementContinuationElement101() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onParagraph68() + return p.cur.onListElementContinuationElement101() } -func (c *current) onParagraph58(content interface{}) (interface{}, error) { - return types.NewSingleLineComment(content.(string)) +func (c *current) onListElementContinuationElement103(style interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") + return string(c.text), nil } -func (p *parser) callonParagraph58() (interface{}, error) { +func (p *parser) callonListElementContinuationElement103() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onParagraph58(stack["content"]) + return p.cur.onListElementContinuationElement103(stack["style"]) } -func (c *current) onParagraph78() (interface{}, error) { - return string(c.text), nil +func (c *current) onListElementContinuationElement91(style interface{}) (interface{}, error) { + return style, nil } -func (p *parser) callonParagraph78() (interface{}, error) { +func (p *parser) callonListElementContinuationElement91() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onParagraph78() + return p.cur.onListElementContinuationElement91(stack["style"]) } -func (c *current) onParagraph81(content interface{}) (bool, error) { - return len(strings.TrimSpace(string(c.text))) > 0, nil +func (c *current) onListElementContinuationElement110() (interface{}, error) { + return types.NewRawLine(string(c.text)) } -func (p *parser) callonParagraph81() (bool, error) { +func (p *parser) callonListElementContinuationElement110() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onParagraph81(stack["content"]) + return p.cur.onListElementContinuationElement110() } -func (c *current) onParagraph83() (interface{}, error) { +func (c *current) onListElementContinuationElement114() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonParagraph83() (interface{}, error) { +func (p *parser) callonListElementContinuationElement114() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onParagraph83() + return p.cur.onListElementContinuationElement114() } -func (c *current) onParagraph75(content interface{}) (interface{}, error) { - return types.NewRawLine(content.(string)) +func (c *current) onListElementContinuationElement107(rawline interface{}) (interface{}, error) { + return types.NewParagraph(rawline) } -func (p *parser) callonParagraph75() (interface{}, error) { +func (p *parser) callonListElementContinuationElement107() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onParagraph75(stack["content"]) + return p.cur.onListElementContinuationElement107(stack["rawline"]) } -func (c *current) onParagraph21(line interface{}) (interface{}, error) { - return line, nil +func (c *current) onListElementContinuationElement66(prefix, checkstyle, content interface{}) (interface{}, error) { + return types.NewUnorderedListElement(prefix.(types.UnorderedListElementPrefix), checkstyle, content) } -func (p *parser) callonParagraph21() (interface{}, error) { +func (p *parser) callonListElementContinuationElement66() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onParagraph21(stack["line"]) + return p.cur.onListElementContinuationElement66(stack["prefix"], stack["checkstyle"], stack["content"]) } -func (c *current) onParagraph1(firstLine, otherLines interface{}) (interface{}, error) { - return types.NewParagraph(append([]interface{}{firstLine}, otherLines.([]interface{})...)...) - +func (c *current) onListElementContinuationElement128() (interface{}, error) { + return strconv.Atoi(string(c.text)) } -func (p *parser) callonParagraph1() (interface{}, error) { +func (p *parser) callonListElementContinuationElement128() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onParagraph1(stack["firstLine"], stack["otherLines"]) + return p.cur.onListElementContinuationElement128() } -func (c *current) onQuotedText2(attributes, text interface{}) (interface{}, error) { - return text.(*types.QuotedText).WithAttributes(attributes) +func (c *current) onListElementContinuationElement132(ref interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") + return string(c.text), nil } -func (p *parser) callonQuotedText2() (interface{}, error) { +func (p *parser) callonListElementContinuationElement132() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onQuotedText2(stack["attributes"], stack["text"]) + return p.cur.onListElementContinuationElement132(stack["ref"]) } -func (c *current) onEscapedQuotedText1(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onListElementContinuationElement124(ref interface{}) (interface{}, error) { + return ref, nil } -func (p *parser) callonEscapedQuotedText1() (interface{}, error) { +func (p *parser) callonListElementContinuationElement124() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onEscapedQuotedText1(stack["element"]) + return p.cur.onListElementContinuationElement124(stack["ref"]) } -func (c *current) onDoubleQuoteBoldText1(elements interface{}) (interface{}, error) { - return types.NewQuotedText(types.DoubleQuoteBold, elements.([]interface{})) +func (c *current) onListElementContinuationElement139() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDoubleQuoteBoldText1() (interface{}, error) { +func (p *parser) callonListElementContinuationElement139() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldText1(stack["elements"]) + return p.cur.onListElementContinuationElement139() } -func (c *current) onDoubleQuoteBoldTextElement13() (interface{}, error) { +func (c *current) onListElementContinuationElement143() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonDoubleQuoteBoldTextElement13() (interface{}, error) { +func (p *parser) callonListElementContinuationElement143() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement13() + return p.cur.onListElementContinuationElement143() } -func (c *current) onDoubleQuoteBoldTextElement7() (interface{}, error) { - return types.NewStringElement(string(c.text)) +func (c *current) onListElementContinuationElement136(rawline interface{}) (interface{}, error) { + return types.NewRawLine(rawline.(string)) } -func (p *parser) callonDoubleQuoteBoldTextElement7() (interface{}, error) { +func (p *parser) callonListElementContinuationElement136() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement7() + return p.cur.onListElementContinuationElement136(stack["rawline"]) } -func (c *current) onDoubleQuoteBoldTextElement16() (interface{}, error) { - // log.Debug("matched multiple spaces") - return string(c.text), nil +func (c *current) onListElementContinuationElement121(ref, description interface{}) (interface{}, error) { + return types.NewCalloutListElement(ref.(int), description.(types.RawLine)) } -func (p *parser) callonDoubleQuoteBoldTextElement16() (interface{}, error) { +func (p *parser) callonListElementContinuationElement121() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement16() + return p.cur.onListElementContinuationElement121(stack["ref"], stack["description"]) } -func (c *current) onDoubleQuoteBoldTextElement20() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onListElementContinuationElement160() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonDoubleQuoteBoldTextElement20() (interface{}, error) { +func (p *parser) callonListElementContinuationElement160() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement20() + return p.cur.onListElementContinuationElement160() } -func (c *current) onDoubleQuoteBoldTextElement26() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onListElementContinuationElement163(separator interface{}) (bool, error) { + + // use a predicate to make sure that separator is `::`, `:::` or `::::` + return len(separator.(string)) >= 2 && len(separator.(string)) <= 4, nil + } -func (p *parser) callonDoubleQuoteBoldTextElement26() (interface{}, error) { +func (p *parser) callonListElementContinuationElement163() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement26() + return p.cur.onListElementContinuationElement163(stack["separator"]) } -func (c *current) onDoubleQuoteBoldTextElement33() (bool, error) { - return c.isSubstitutionEnabled(Attributes) +func (c *current) onListElementContinuationElement157(separator interface{}) (interface{}, error) { + return separator, nil } -func (p *parser) callonDoubleQuoteBoldTextElement33() (bool, error) { +func (p *parser) callonListElementContinuationElement157() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement33() + return p.cur.onListElementContinuationElement157(stack["separator"]) } -func (c *current) onDoubleQuoteBoldTextElement40() (interface{}, error) { +func (c *current) onListElementContinuationElement166() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonDoubleQuoteBoldTextElement40() (interface{}, error) { +func (p *parser) callonListElementContinuationElement166() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement40() + return p.cur.onListElementContinuationElement166() } -func (c *current) onDoubleQuoteBoldTextElement52() (interface{}, error) { - return string(c.text), nil +func (c *current) onListElementContinuationElement153() (interface{}, error) { + return types.NewRawLine(strings.TrimSpace(string(c.text))) } -func (p *parser) callonDoubleQuoteBoldTextElement52() (interface{}, error) { +func (p *parser) callonListElementContinuationElement153() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement52() + return p.cur.onListElementContinuationElement153() } -func (c *current) onDoubleQuoteBoldTextElement54() (interface{}, error) { +func (c *current) onListElementContinuationElement178() (interface{}, error) { - return strconv.Atoi(string(c.text)) + return string(c.text), nil } -func (p *parser) callonDoubleQuoteBoldTextElement54() (interface{}, error) { +func (p *parser) callonListElementContinuationElement178() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement54() + return p.cur.onListElementContinuationElement178() } -func (c *current) onDoubleQuoteBoldTextElement47(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onListElementContinuationElement181(separator interface{}) (bool, error) { + + // use a predicate to make sure that separator is `::`, `:::` or `::::` + return len(separator.(string)) >= 2 && len(separator.(string)) <= 4, nil } -func (p *parser) callonDoubleQuoteBoldTextElement47() (interface{}, error) { +func (p *parser) callonListElementContinuationElement181() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement47(stack["start"]) + return p.cur.onListElementContinuationElement181(stack["separator"]) } -func (c *current) onDoubleQuoteBoldTextElement36(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) +func (c *current) onListElementContinuationElement175(separator interface{}) (interface{}, error) { + return separator, nil + } -func (p *parser) callonDoubleQuoteBoldTextElement36() (interface{}, error) { +func (p *parser) callonListElementContinuationElement175() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement36(stack["name"], stack["start"]) + return p.cur.onListElementContinuationElement175(stack["separator"]) } -func (c *current) onDoubleQuoteBoldTextElement62() (interface{}, error) { +func (c *current) onListElementContinuationElement187() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDoubleQuoteBoldTextElement62() (interface{}, error) { +func (p *parser) callonListElementContinuationElement187() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement62() + return p.cur.onListElementContinuationElement187() } -func (c *current) onDoubleQuoteBoldTextElement74() (interface{}, error) { +func (c *current) onListElementContinuationElement190() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonDoubleQuoteBoldTextElement74() (interface{}, error) { +func (p *parser) callonListElementContinuationElement190() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement74() + return p.cur.onListElementContinuationElement190() } -func (c *current) onDoubleQuoteBoldTextElement76() (interface{}, error) { - - return strconv.Atoi(string(c.text)) +func (c *current) onListElementContinuationElement204() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDoubleQuoteBoldTextElement76() (interface{}, error) { +func (p *parser) callonListElementContinuationElement204() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement76() + return p.cur.onListElementContinuationElement204() } -func (c *current) onDoubleQuoteBoldTextElement69(start interface{}) (interface{}, error) { - return start, nil - +func (c *current) onListElementContinuationElement207() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonDoubleQuoteBoldTextElement69() (interface{}, error) { +func (p *parser) callonListElementContinuationElement207() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement69(stack["start"]) + return p.cur.onListElementContinuationElement207() } -func (c *current) onDoubleQuoteBoldTextElement58(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) +func (c *current) onListElementContinuationElement198() (interface{}, error) { + return types.NewBlankLine() + } -func (p *parser) callonDoubleQuoteBoldTextElement58() (interface{}, error) { +func (p *parser) callonListElementContinuationElement198() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement58(stack["name"], stack["start"]) + return p.cur.onListElementContinuationElement198() } -func (c *current) onDoubleQuoteBoldTextElement84() (interface{}, error) { +func (c *current) onListElementContinuationElement225() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDoubleQuoteBoldTextElement84() (interface{}, error) { +func (p *parser) callonListElementContinuationElement225() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement84() + return p.cur.onListElementContinuationElement225() } -func (c *current) onDoubleQuoteBoldTextElement80(name interface{}) (interface{}, error) { - - return types.NewAttributeSubstitution(name.(string), string(c.text)) +func (c *current) onListElementContinuationElement228() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonDoubleQuoteBoldTextElement80() (interface{}, error) { +func (p *parser) callonListElementContinuationElement228() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement80(stack["name"]) + return p.cur.onListElementContinuationElement228() } -func (c *current) onDoubleQuoteBoldTextElement31(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onListElementContinuationElement219() (interface{}, error) { + return types.NewBlankLine() } -func (p *parser) callonDoubleQuoteBoldTextElement31() (interface{}, error) { +func (p *parser) callonListElementContinuationElement219() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement31(stack["element"]) + return p.cur.onListElementContinuationElement219() } -func (c *current) onDoubleQuoteBoldTextElement92() (bool, error) { - return c.isSubstitutionEnabled(SpecialCharacters) +func (c *current) onListElementContinuationElement239() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDoubleQuoteBoldTextElement92() (bool, error) { +func (p *parser) callonListElementContinuationElement239() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement92() + return p.cur.onListElementContinuationElement239() } -func (c *current) onDoubleQuoteBoldTextElement101() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ +func (c *current) onListElementContinuationElement241() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonDoubleQuoteBoldTextElement101() (interface{}, error) { +func (p *parser) callonListElementContinuationElement241() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement101() + return p.cur.onListElementContinuationElement241() } -func (c *current) onDoubleQuoteBoldTextElement105() (interface{}, error) { +func (c *current) onListElementContinuationElement250() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDoubleQuoteBoldTextElement105() (interface{}, error) { +func (p *parser) callonListElementContinuationElement250() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement105() + return p.cur.onListElementContinuationElement250() } -func (c *current) onDoubleQuoteBoldTextElement111() (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) onListElementContinuationElement257() (interface{}, error) { + + // `.` is 1, etc. + return (len(c.text)), nil } -func (p *parser) callonDoubleQuoteBoldTextElement111() (interface{}, error) { +func (p *parser) callonListElementContinuationElement257() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement111() + return p.cur.onListElementContinuationElement257() } -func (c *current) onDoubleQuoteBoldTextElement118() (bool, error) { - return c.isSubstitutionEnabled(Attributes) +func (c *current) onListElementContinuationElement260(depth interface{}) (bool, error) { + + // use a predicate to make sure that only `.` to `.....` are allowed + return depth.(int) <= 5, nil } -func (p *parser) callonDoubleQuoteBoldTextElement118() (bool, error) { +func (p *parser) callonListElementContinuationElement260() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement118() + return p.cur.onListElementContinuationElement260(stack["depth"]) } -func (c *current) onDoubleQuoteBoldTextElement125() (interface{}, error) { - return string(c.text), nil +func (c *current) onListElementContinuationElement254(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) callonDoubleQuoteBoldTextElement125() (interface{}, error) { +func (p *parser) callonListElementContinuationElement254() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement125() + return p.cur.onListElementContinuationElement254(stack["depth"]) } -func (c *current) onDoubleQuoteBoldTextElement137() (interface{}, error) { - return string(c.text), nil +func (c *current) onListElementContinuationElement261() (interface{}, error) { + // numbering style: "1.", etc. + return types.NewOrderedListElementPrefix(types.Arabic) } -func (p *parser) callonDoubleQuoteBoldTextElement137() (interface{}, error) { +func (p *parser) callonListElementContinuationElement261() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement137() + return p.cur.onListElementContinuationElement261() } -func (c *current) onDoubleQuoteBoldTextElement139() (interface{}, error) { - - return strconv.Atoi(string(c.text)) +func (c *current) onListElementContinuationElement266() (interface{}, error) { + // numbering style: "a.", etc. + return types.NewOrderedListElementPrefix(types.LowerAlpha) } -func (p *parser) callonDoubleQuoteBoldTextElement139() (interface{}, error) { +func (p *parser) callonListElementContinuationElement266() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement139() + return p.cur.onListElementContinuationElement266() } -func (c *current) onDoubleQuoteBoldTextElement132(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onListElementContinuationElement270() (interface{}, error) { + // numbering style: "A.", etc. + return types.NewOrderedListElementPrefix(types.UpperAlpha) } -func (p *parser) callonDoubleQuoteBoldTextElement132() (interface{}, error) { +func (p *parser) callonListElementContinuationElement270() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement132(stack["start"]) + return p.cur.onListElementContinuationElement270() } -func (c *current) onDoubleQuoteBoldTextElement121(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) +func (c *current) onListElementContinuationElement274() (interface{}, error) { + // numbering style: "i)", etc. + return types.NewOrderedListElementPrefix(types.LowerRoman) + } -func (p *parser) callonDoubleQuoteBoldTextElement121() (interface{}, error) { +func (p *parser) callonListElementContinuationElement274() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement121(stack["name"], stack["start"]) + return p.cur.onListElementContinuationElement274() } -func (c *current) onDoubleQuoteBoldTextElement147() (interface{}, error) { - return string(c.text), nil +func (c *current) onListElementContinuationElement279() (interface{}, error) { + // numbering style: "I)", etc. + return types.NewOrderedListElementPrefix(types.UpperRoman) } -func (p *parser) callonDoubleQuoteBoldTextElement147() (interface{}, error) { +func (p *parser) callonListElementContinuationElement279() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement147() + return p.cur.onListElementContinuationElement279() } -func (c *current) onDoubleQuoteBoldTextElement159() (interface{}, error) { +func (c *current) onListElementContinuationElement284(prefix interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") return string(c.text), nil } -func (p *parser) callonDoubleQuoteBoldTextElement159() (interface{}, error) { +func (p *parser) callonListElementContinuationElement284() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement159() + return p.cur.onListElementContinuationElement284(stack["prefix"]) } -func (c *current) onDoubleQuoteBoldTextElement161() (interface{}, error) { - - return strconv.Atoi(string(c.text)) - +func (c *current) onListElementContinuationElement247(prefix interface{}) (interface{}, error) { + return prefix, nil } -func (p *parser) callonDoubleQuoteBoldTextElement161() (interface{}, error) { +func (p *parser) callonListElementContinuationElement247() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement161() + return p.cur.onListElementContinuationElement247(stack["prefix"]) } -func (c *current) onDoubleQuoteBoldTextElement154(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onListElementContinuationElement291() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDoubleQuoteBoldTextElement154() (interface{}, error) { +func (p *parser) callonListElementContinuationElement291() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement154(stack["start"]) + return p.cur.onListElementContinuationElement291() } -func (c *current) onDoubleQuoteBoldTextElement143(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) +func (c *current) onListElementContinuationElement298() (interface{}, error) { + + // `*` is 1, etc. + return (len(c.text)), nil + } -func (p *parser) callonDoubleQuoteBoldTextElement143() (interface{}, error) { +func (p *parser) callonListElementContinuationElement298() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement143(stack["name"], stack["start"]) + return p.cur.onListElementContinuationElement298() } -func (c *current) onDoubleQuoteBoldTextElement169() (interface{}, error) { - return string(c.text), nil +func (c *current) onListElementContinuationElement301(depth interface{}) (bool, error) { + + // use a predicate to make sure that only `*` to `*****` are allowed + return depth.(int) <= 5, nil } -func (p *parser) callonDoubleQuoteBoldTextElement169() (interface{}, error) { +func (p *parser) callonListElementContinuationElement301() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement169() + return p.cur.onListElementContinuationElement301(stack["depth"]) } -func (c *current) onDoubleQuoteBoldTextElement165(name interface{}) (interface{}, error) { +func (c *current) onListElementContinuationElement295(depth interface{}) (interface{}, error) { + switch depth.(int) { + case 1: + return types.NewUnorderedListElementPrefix(types.OneAsterisk) + case 2: + return types.NewUnorderedListElementPrefix(types.TwoAsterisks) + case 3: + return types.NewUnorderedListElementPrefix(types.ThreeAsterisks) + case 4: + return types.NewUnorderedListElementPrefix(types.FourAsterisks) + default: + return types.NewUnorderedListElementPrefix(types.FiveAsterisks) + } - return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonDoubleQuoteBoldTextElement165() (interface{}, error) { +func (p *parser) callonListElementContinuationElement295() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement165(stack["name"]) + return p.cur.onListElementContinuationElement295(stack["depth"]) } -func (c *current) onDoubleQuoteBoldTextElement116(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onListElementContinuationElement303() (interface{}, error) { + return types.NewUnorderedListElementPrefix(types.Dash) } -func (p *parser) callonDoubleQuoteBoldTextElement116() (interface{}, error) { +func (p *parser) callonListElementContinuationElement303() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement116(stack["element"]) + return p.cur.onListElementContinuationElement303() } -func (c *current) onDoubleQuoteBoldTextElement175() (interface{}, error) { - - return types.NewStringElement(string(c.text)) +func (c *current) onListElementContinuationElement305(prefix interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") + return string(c.text), nil } -func (p *parser) callonDoubleQuoteBoldTextElement175() (interface{}, error) { +func (p *parser) callonListElementContinuationElement305() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement175() + return p.cur.onListElementContinuationElement305(stack["prefix"]) } -func (c *current) onDoubleQuoteBoldTextElement97(id, label interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, label) - +func (c *current) onListElementContinuationElement288(prefix interface{}) (interface{}, error) { + return prefix, nil } -func (p *parser) callonDoubleQuoteBoldTextElement97() (interface{}, error) { +func (p *parser) callonListElementContinuationElement288() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement97(stack["id"], stack["label"]) + return p.cur.onListElementContinuationElement288(stack["prefix"]) } -func (c *current) onDoubleQuoteBoldTextElement182() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ - return string(c.text), nil - +func (c *current) onListElementContinuationElement313() (interface{}, error) { + return strconv.Atoi(string(c.text)) } -func (p *parser) callonDoubleQuoteBoldTextElement182() (interface{}, error) { +func (p *parser) callonListElementContinuationElement313() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement182() + return p.cur.onListElementContinuationElement313() } -func (c *current) onDoubleQuoteBoldTextElement178(id interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, nil) +func (c *current) onListElementContinuationElement317(ref interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") + return string(c.text), nil } -func (p *parser) callonDoubleQuoteBoldTextElement178() (interface{}, error) { +func (p *parser) callonListElementContinuationElement317() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement178(stack["id"]) + return p.cur.onListElementContinuationElement317(stack["ref"]) } -func (c *current) onDoubleQuoteBoldTextElement95() (interface{}, error) { - return types.NewStringElement(string(c.text)) +func (c *current) onListElementContinuationElement309(ref interface{}) (interface{}, error) { + return ref, nil } -func (p *parser) callonDoubleQuoteBoldTextElement95() (interface{}, error) { +func (p *parser) callonListElementContinuationElement309() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement95() + return p.cur.onListElementContinuationElement309(stack["ref"]) } -func (c *current) onDoubleQuoteBoldTextElement186() (interface{}, error) { - return types.NewSpecialCharacter(string(c.text)) +func (c *current) onListElementContinuationElement329() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonDoubleQuoteBoldTextElement186() (interface{}, error) { +func (p *parser) callonListElementContinuationElement329() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement186() + return p.cur.onListElementContinuationElement329() } -func (c *current) onDoubleQuoteBoldTextElement90(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onListElementContinuationElement332(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) callonDoubleQuoteBoldTextElement90() (interface{}, error) { +func (p *parser) callonListElementContinuationElement332() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement90(stack["element"]) + return p.cur.onListElementContinuationElement332(stack["separator"]) } -func (c *current) onDoubleQuoteBoldTextElement188() (interface{}, error) { - return types.NewStringElement("\u2019") +func (c *current) onListElementContinuationElement326(separator interface{}) (interface{}, error) { + return separator, nil } -func (p *parser) callonDoubleQuoteBoldTextElement188() (interface{}, error) { +func (p *parser) callonListElementContinuationElement326() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement188() + return p.cur.onListElementContinuationElement326(stack["separator"]) } -func (c *current) onDoubleQuoteBoldTextElement190() (interface{}, error) { - return types.NewStringElement("\u00a9") - +func (c *current) onListElementContinuationElement335() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonDoubleQuoteBoldTextElement190() (interface{}, error) { +func (p *parser) callonListElementContinuationElement335() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement190() + return p.cur.onListElementContinuationElement335() } -func (c *current) onDoubleQuoteBoldTextElement192() (interface{}, error) { - return types.NewStringElement("\u2122") +func (c *current) onListElementContinuationElement322() (interface{}, error) { + return types.NewRawLine(strings.TrimSpace(string(c.text))) } -func (p *parser) callonDoubleQuoteBoldTextElement192() (interface{}, error) { +func (p *parser) callonListElementContinuationElement322() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement192() + return p.cur.onListElementContinuationElement322() } -func (c *current) onDoubleQuoteBoldTextElement194() (interface{}, error) { - return types.NewStringElement("\u00ae") +func (c *current) onListElementContinuationElement346() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonDoubleQuoteBoldTextElement194() (interface{}, error) { +func (p *parser) callonListElementContinuationElement346() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement194() + return p.cur.onListElementContinuationElement346() } -func (c *current) onDoubleQuoteBoldTextElement196() (interface{}, error) { - return types.NewStringElement("\u2026\u200b") +func (c *current) onListElementContinuationElement349(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) callonDoubleQuoteBoldTextElement196() (interface{}, error) { +func (p *parser) callonListElementContinuationElement349() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement196() + return p.cur.onListElementContinuationElement349(stack["separator"]) } -func (c *current) onDoubleQuoteBoldTextElement198() (interface{}, error) { - return types.NewStringElement(string(c.text[:1]) + "\u2019") +func (c *current) onListElementContinuationElement343(separator interface{}) (interface{}, error) { + return separator, nil } -func (p *parser) callonDoubleQuoteBoldTextElement198() (interface{}, error) { +func (p *parser) callonListElementContinuationElement343() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement198() + return p.cur.onListElementContinuationElement343(stack["separator"]) } -func (c *current) onDoubleQuoteBoldTextElement211() (interface{}, error) { +func (c *current) onListElementContinuationElement361() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonDoubleQuoteBoldTextElement211() (interface{}, error) { +func (p *parser) callonListElementContinuationElement361() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement211() + return p.cur.onListElementContinuationElement361() } -func (c *current) onDoubleQuoteBoldTextElement207(ref interface{}) (interface{}, error) { - return types.NewElementPlaceHolder(ref.(string)) +func (c *current) onListElementContinuationElement364() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonDoubleQuoteBoldTextElement207() (interface{}, error) { +func (p *parser) callonListElementContinuationElement364() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement207(stack["ref"]) + return p.cur.onListElementContinuationElement364() } -func (c *current) onDoubleQuoteBoldTextElement219() (interface{}, error) { - return string(c.text), nil - +func (c *current) onListElementContinuationElement357() (interface{}, error) { + return types.NewBlockDelimiter(types.Comment, string(c.text)) } -func (p *parser) callonDoubleQuoteBoldTextElement219() (interface{}, error) { +func (p *parser) callonListElementContinuationElement357() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement219() + return p.cur.onListElementContinuationElement357() } -func (c *current) onDoubleQuoteBoldTextElement216() (interface{}, error) { - // or a bold delimiter when immediately followed by an alphanum (ie, in the middle of some text) - return types.NewStringElement(string(c.text)) +func (c *current) onListElementContinuationElement375() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDoubleQuoteBoldTextElement216() (interface{}, error) { +func (p *parser) callonListElementContinuationElement375() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement216() + return p.cur.onListElementContinuationElement375() } -func (c *current) onDoubleQuoteBoldTextElement1(element interface{}) (interface{}, error) { - return element, nil - +func (c *current) onListElementContinuationElement378() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonDoubleQuoteBoldTextElement1() (interface{}, error) { +func (p *parser) callonListElementContinuationElement378() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement1(stack["element"]) + return p.cur.onListElementContinuationElement378() } -func (c *current) onQuotedTextInDoubleQuoteBoldText1(attributes, text interface{}) (interface{}, error) { - return text.(*types.QuotedText).WithAttributes(attributes) - +func (c *current) onListElementContinuationElement371() (interface{}, error) { + return types.NewBlockDelimiter(types.Example, string(c.text)) } -func (p *parser) callonQuotedTextInDoubleQuoteBoldText1() (interface{}, error) { +func (p *parser) callonListElementContinuationElement371() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onQuotedTextInDoubleQuoteBoldText1(stack["attributes"], stack["text"]) + return p.cur.onListElementContinuationElement371() } -func (c *current) onSingleQuoteBoldText1(elements interface{}) (interface{}, error) { - return types.NewQuotedText(types.SingleQuoteBold, elements.([]interface{})) +func (c *current) onListElementContinuationElement389() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonSingleQuoteBoldText1() (interface{}, error) { +func (p *parser) callonListElementContinuationElement389() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldText1(stack["elements"]) + return p.cur.onListElementContinuationElement389() } -func (c *current) onSingleQuoteBoldTextElements7() (interface{}, error) { +func (c *current) onListElementContinuationElement392() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonSingleQuoteBoldTextElements7() (interface{}, error) { +func (p *parser) callonListElementContinuationElement392() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElements7() + return p.cur.onListElementContinuationElement392() } -func (c *current) onSingleQuoteBoldTextElements12(elements interface{}) (bool, error) { - return validateSingleQuoteElements(elements.([]interface{})) // cannot end with spaces - +func (c *current) onListElementContinuationElement385() (interface{}, error) { + return types.NewBlockDelimiter(types.Fenced, string(c.text)) } -func (p *parser) callonSingleQuoteBoldTextElements12() (bool, error) { +func (p *parser) callonListElementContinuationElement385() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElements12(stack["elements"]) + return p.cur.onListElementContinuationElement385() } -func (c *current) onSingleQuoteBoldTextElements1(elements interface{}) (interface{}, error) { - return elements, nil +func (c *current) onListElementContinuationElement403() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonSingleQuoteBoldTextElements1() (interface{}, error) { +func (p *parser) callonListElementContinuationElement403() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElements1(stack["elements"]) + return p.cur.onListElementContinuationElement403() } -func (c *current) onSingleQuoteBoldTextElement8() (interface{}, error) { +func (c *current) onListElementContinuationElement406() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonSingleQuoteBoldTextElement8() (interface{}, error) { +func (p *parser) callonListElementContinuationElement406() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement8() + return p.cur.onListElementContinuationElement406() } -func (c *current) onSingleQuoteBoldTextElement2() (interface{}, error) { - return types.NewStringElement(string(c.text)) - +func (c *current) onListElementContinuationElement399() (interface{}, error) { + return types.NewBlockDelimiter(types.Listing, string(c.text)) } -func (p *parser) callonSingleQuoteBoldTextElement2() (interface{}, error) { +func (p *parser) callonListElementContinuationElement399() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement2() + return p.cur.onListElementContinuationElement399() } -func (c *current) onSingleQuoteBoldTextElement11() (interface{}, error) { - // log.Debug("matched multiple spaces") +func (c *current) onListElementContinuationElement417() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSingleQuoteBoldTextElement11() (interface{}, error) { +func (p *parser) callonListElementContinuationElement417() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement11() + return p.cur.onListElementContinuationElement417() } -func (c *current) onSingleQuoteBoldTextElement15() (interface{}, error) { +func (c *current) onListElementContinuationElement420() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonSingleQuoteBoldTextElement15() (interface{}, error) { +func (p *parser) callonListElementContinuationElement420() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement15() + return p.cur.onListElementContinuationElement420() } -func (c *current) onSingleQuoteBoldTextElement21() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onListElementContinuationElement413() (interface{}, error) { + return types.NewBlockDelimiter(types.Literal, string(c.text)) } -func (p *parser) callonSingleQuoteBoldTextElement21() (interface{}, error) { +func (p *parser) callonListElementContinuationElement413() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement21() + return p.cur.onListElementContinuationElement413() } -func (c *current) onSingleQuoteBoldTextElement28() (bool, error) { - return c.isSubstitutionEnabled(Attributes) +func (c *current) onListElementContinuationElement431() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonSingleQuoteBoldTextElement28() (bool, error) { +func (p *parser) callonListElementContinuationElement431() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement28() + return p.cur.onListElementContinuationElement431() } -func (c *current) onSingleQuoteBoldTextElement35() (interface{}, error) { +func (c *current) onListElementContinuationElement434() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonSingleQuoteBoldTextElement35() (interface{}, error) { +func (p *parser) callonListElementContinuationElement434() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement35() + return p.cur.onListElementContinuationElement434() } -func (c *current) onSingleQuoteBoldTextElement47() (interface{}, error) { - return string(c.text), nil - +func (c *current) onListElementContinuationElement427() (interface{}, error) { + return types.NewBlockDelimiter(types.Passthrough, string(c.text)) } -func (p *parser) callonSingleQuoteBoldTextElement47() (interface{}, error) { +func (p *parser) callonListElementContinuationElement427() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement47() + return p.cur.onListElementContinuationElement427() } -func (c *current) onSingleQuoteBoldTextElement49() (interface{}, error) { - - return strconv.Atoi(string(c.text)) +func (c *current) onListElementContinuationElement445() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonSingleQuoteBoldTextElement49() (interface{}, error) { +func (p *parser) callonListElementContinuationElement445() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement49() + return p.cur.onListElementContinuationElement445() } -func (c *current) onSingleQuoteBoldTextElement42(start interface{}) (interface{}, error) { - return start, nil - +func (c *current) onListElementContinuationElement448() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonSingleQuoteBoldTextElement42() (interface{}, error) { +func (p *parser) callonListElementContinuationElement448() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement42(stack["start"]) + return p.cur.onListElementContinuationElement448() } -func (c *current) onSingleQuoteBoldTextElement31(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) +func (c *current) onListElementContinuationElement441() (interface{}, error) { + return types.NewBlockDelimiter(types.Quote, string(c.text)) } -func (p *parser) callonSingleQuoteBoldTextElement31() (interface{}, error) { +func (p *parser) callonListElementContinuationElement441() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement31(stack["name"], stack["start"]) + return p.cur.onListElementContinuationElement441() } -func (c *current) onSingleQuoteBoldTextElement57() (interface{}, error) { +func (c *current) onListElementContinuationElement459() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSingleQuoteBoldTextElement57() (interface{}, error) { +func (p *parser) callonListElementContinuationElement459() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement57() + return p.cur.onListElementContinuationElement459() } -func (c *current) onSingleQuoteBoldTextElement69() (interface{}, error) { +func (c *current) onListElementContinuationElement462() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonSingleQuoteBoldTextElement69() (interface{}, error) { +func (p *parser) callonListElementContinuationElement462() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement69() + return p.cur.onListElementContinuationElement462() } -func (c *current) onSingleQuoteBoldTextElement71() (interface{}, error) { - - return strconv.Atoi(string(c.text)) - +func (c *current) onListElementContinuationElement455() (interface{}, error) { + return types.NewBlockDelimiter(types.Sidebar, string(c.text)) } -func (p *parser) callonSingleQuoteBoldTextElement71() (interface{}, error) { +func (p *parser) callonListElementContinuationElement455() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement71() + return p.cur.onListElementContinuationElement455() } -func (c *current) onSingleQuoteBoldTextElement64(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onListElementContinuationElement351(delimiter interface{}) (interface{}, error) { + return delimiter, nil } -func (p *parser) callonSingleQuoteBoldTextElement64() (interface{}, error) { +func (p *parser) callonListElementContinuationElement351() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement64(stack["start"]) + return p.cur.onListElementContinuationElement351(stack["delimiter"]) } -func (c *current) onSingleQuoteBoldTextElement53(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) +func (c *current) onListElementContinuationElement470() (interface{}, error) { + return strings.TrimSpace(string(c.text)), nil + } -func (p *parser) callonSingleQuoteBoldTextElement53() (interface{}, error) { +func (p *parser) callonListElementContinuationElement470() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement53(stack["name"], stack["start"]) + return p.cur.onListElementContinuationElement470() } -func (c *current) onSingleQuoteBoldTextElement79() (interface{}, error) { +func (c *current) onListElementContinuationElement474() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonSingleQuoteBoldTextElement79() (interface{}, error) { +func (p *parser) callonListElementContinuationElement474() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement79() + return p.cur.onListElementContinuationElement474() } -func (c *current) onSingleQuoteBoldTextElement75(name interface{}) (interface{}, error) { +func (c *current) onListElementContinuationElement216(content interface{}) (interface{}, error) { + // do not retain the EOL chars + return types.NewRawLine(content.(string)) - return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonSingleQuoteBoldTextElement75() (interface{}, error) { +func (p *parser) callonListElementContinuationElement216() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement75(stack["name"]) + return p.cur.onListElementContinuationElement216(stack["content"]) } -func (c *current) onSingleQuoteBoldTextElement26(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onListElementContinuationElement184(content interface{}) (interface{}, error) { + if content == nil { + return nil, nil + } + return types.NewParagraph(content) } -func (p *parser) callonSingleQuoteBoldTextElement26() (interface{}, error) { +func (p *parser) callonListElementContinuationElement184() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement26(stack["element"]) + return p.cur.onListElementContinuationElement184(stack["content"]) } -func (c *current) onSingleQuoteBoldTextElement87() (bool, error) { - return c.isSubstitutionEnabled(SpecialCharacters) +func (c *current) onListElementContinuationElement483() (interface{}, error) { + // log.Debug("matched multiple spaces") + return string(c.text), nil } -func (p *parser) callonSingleQuoteBoldTextElement87() (bool, error) { +func (p *parser) callonListElementContinuationElement483() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement87() + return p.cur.onListElementContinuationElement483() } -func (c *current) onSingleQuoteBoldTextElement96() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ - return string(c.text), nil +func (c *current) onListElementContinuationElement487() (interface{}, error) { + return types.NewRawLine(string(c.text)) } -func (p *parser) callonSingleQuoteBoldTextElement96() (interface{}, error) { +func (p *parser) callonListElementContinuationElement487() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement96() + return p.cur.onListElementContinuationElement487() } -func (c *current) onSingleQuoteBoldTextElement100() (interface{}, error) { +func (c *current) onListElementContinuationElement491() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonSingleQuoteBoldTextElement100() (interface{}, error) { +func (p *parser) callonListElementContinuationElement491() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement100() + return p.cur.onListElementContinuationElement491() } -func (c *current) onSingleQuoteBoldTextElement106() (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) onListElementContinuationElement481(content interface{}) (interface{}, error) { + return types.NewParagraph(content) } -func (p *parser) callonSingleQuoteBoldTextElement106() (interface{}, error) { +func (p *parser) callonListElementContinuationElement481() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement106() + return p.cur.onListElementContinuationElement481(stack["content"]) } -func (c *current) onSingleQuoteBoldTextElement113() (bool, error) { - return c.isSubstitutionEnabled(Attributes) +func (c *current) onListElementContinuationElement150(term, separator, description interface{}) (interface{}, error) { + return types.NewLabeledListElement(len(separator.(string))-1, term, description) } -func (p *parser) callonSingleQuoteBoldTextElement113() (bool, error) { +func (p *parser) callonListElementContinuationElement150() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement113() + return p.cur.onListElementContinuationElement150(stack["term"], stack["separator"], stack["description"]) } -func (c *current) onSingleQuoteBoldTextElement120() (interface{}, error) { +func (c *current) onListElementContinuationElement509() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSingleQuoteBoldTextElement120() (interface{}, error) { +func (p *parser) callonListElementContinuationElement509() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement120() + return p.cur.onListElementContinuationElement509() } -func (c *current) onSingleQuoteBoldTextElement132() (interface{}, error) { +func (c *current) onListElementContinuationElement512() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonSingleQuoteBoldTextElement132() (interface{}, error) { +func (p *parser) callonListElementContinuationElement512() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement132() + return p.cur.onListElementContinuationElement512() } -func (c *current) onSingleQuoteBoldTextElement134() (interface{}, error) { - - return strconv.Atoi(string(c.text)) +func (c *current) onListElementContinuationElement503() (interface{}, error) { + return types.NewBlankLine() } -func (p *parser) callonSingleQuoteBoldTextElement134() (interface{}, error) { +func (p *parser) callonListElementContinuationElement503() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement134() + return p.cur.onListElementContinuationElement503() } -func (c *current) onSingleQuoteBoldTextElement127(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onListElementContinuationElement524() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonSingleQuoteBoldTextElement127() (interface{}, error) { +func (p *parser) callonListElementContinuationElement524() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement127(stack["start"]) + return p.cur.onListElementContinuationElement524() } -func (c *current) onSingleQuoteBoldTextElement116(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) +func (c *current) onListElementContinuationElement531() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonSingleQuoteBoldTextElement116() (interface{}, error) { +func (p *parser) callonListElementContinuationElement531() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement116(stack["name"], stack["start"]) + return p.cur.onListElementContinuationElement531() } -func (c *current) onSingleQuoteBoldTextElement142() (interface{}, error) { +func (c *current) onListElementContinuationElement534() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonSingleQuoteBoldTextElement142() (interface{}, error) { +func (p *parser) callonListElementContinuationElement534() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement142() + return p.cur.onListElementContinuationElement534() } -func (c *current) onSingleQuoteBoldTextElement154() (interface{}, error) { - return string(c.text), nil - +func (c *current) onListElementContinuationElement520(name interface{}) (interface{}, error) { + return types.NewAttributeReset(name.(string), string(c.text)) } -func (p *parser) callonSingleQuoteBoldTextElement154() (interface{}, error) { +func (p *parser) callonListElementContinuationElement520() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement154() + return p.cur.onListElementContinuationElement520(stack["name"]) } -func (c *current) onSingleQuoteBoldTextElement156() (interface{}, error) { - - return strconv.Atoi(string(c.text)) +func (c *current) onListElementContinuationElement545() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonSingleQuoteBoldTextElement156() (interface{}, error) { +func (p *parser) callonListElementContinuationElement545() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement156() + return p.cur.onListElementContinuationElement545() } -func (c *current) onSingleQuoteBoldTextElement149(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onListElementContinuationElement552() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonSingleQuoteBoldTextElement149() (interface{}, error) { +func (p *parser) callonListElementContinuationElement552() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement149(stack["start"]) + return p.cur.onListElementContinuationElement552() } -func (c *current) onSingleQuoteBoldTextElement138(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) +func (c *current) onListElementContinuationElement555() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonSingleQuoteBoldTextElement138() (interface{}, error) { +func (p *parser) callonListElementContinuationElement555() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement138(stack["name"], stack["start"]) + return p.cur.onListElementContinuationElement555() } -func (c *current) onSingleQuoteBoldTextElement164() (interface{}, error) { - return string(c.text), nil - +func (c *current) onListElementContinuationElement541(name interface{}) (interface{}, error) { + return types.NewAttributeReset(name.(string), string(c.text)) } -func (p *parser) callonSingleQuoteBoldTextElement164() (interface{}, error) { +func (p *parser) callonListElementContinuationElement541() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement164() + return p.cur.onListElementContinuationElement541(stack["name"]) } -func (c *current) onSingleQuoteBoldTextElement160(name interface{}) (interface{}, error) { +func (c *current) onListElementContinuationElement568() (interface{}, error) { + return string(c.text), nil - return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonSingleQuoteBoldTextElement160() (interface{}, error) { +func (p *parser) callonListElementContinuationElement568() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement160(stack["name"]) + return p.cur.onListElementContinuationElement568() } -func (c *current) onSingleQuoteBoldTextElement111(element interface{}) (interface{}, error) { - return element, nil - +func (c *current) onListElementContinuationElement571() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonSingleQuoteBoldTextElement111() (interface{}, error) { +func (p *parser) callonListElementContinuationElement571() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement111(stack["element"]) + return p.cur.onListElementContinuationElement571() } -func (c *current) onSingleQuoteBoldTextElement170() (interface{}, error) { - - return types.NewStringElement(string(c.text)) - +func (c *current) onListElementContinuationElement564() (interface{}, error) { + return types.NewBlockDelimiter(types.Comment, string(c.text)) } -func (p *parser) callonSingleQuoteBoldTextElement170() (interface{}, error) { +func (p *parser) callonListElementContinuationElement564() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement170() + return p.cur.onListElementContinuationElement564() } -func (c *current) onSingleQuoteBoldTextElement92(id, label interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, label) +func (c *current) onListElementContinuationElement588() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonSingleQuoteBoldTextElement92() (interface{}, error) { +func (p *parser) callonListElementContinuationElement588() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement92(stack["id"], stack["label"]) + return p.cur.onListElementContinuationElement588() } -func (c *current) onSingleQuoteBoldTextElement177() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ +func (c *current) onListElementContinuationElement591() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonSingleQuoteBoldTextElement177() (interface{}, error) { +func (p *parser) callonListElementContinuationElement591() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement177() + return p.cur.onListElementContinuationElement591() } -func (c *current) onSingleQuoteBoldTextElement173(id interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, nil) - +func (c *current) onListElementContinuationElement584() (interface{}, error) { + return types.NewBlockDelimiter(types.Comment, string(c.text)) } -func (p *parser) callonSingleQuoteBoldTextElement173() (interface{}, error) { +func (p *parser) callonListElementContinuationElement584() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement173(stack["id"]) + return p.cur.onListElementContinuationElement584() } -func (c *current) onSingleQuoteBoldTextElement90() (interface{}, error) { - return types.NewStringElement(string(c.text)) +func (c *current) onListElementContinuationElement607() (interface{}, error) { + // content is NOT mandatory + return string(c.text), nil } -func (p *parser) callonSingleQuoteBoldTextElement90() (interface{}, error) { +func (p *parser) callonListElementContinuationElement607() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement90() + return p.cur.onListElementContinuationElement607() } -func (c *current) onSingleQuoteBoldTextElement181() (interface{}, error) { - return types.NewSpecialCharacter(string(c.text)) - +func (c *current) onListElementContinuationElement611() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonSingleQuoteBoldTextElement181() (interface{}, error) { +func (p *parser) callonListElementContinuationElement611() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement181() + return p.cur.onListElementContinuationElement611() } -func (c *current) onSingleQuoteBoldTextElement85(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onListElementContinuationElement601(content interface{}) (interface{}, error) { + + return types.NewRawLine(content.(string)) } -func (p *parser) callonSingleQuoteBoldTextElement85() (interface{}, error) { +func (p *parser) callonListElementContinuationElement601() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement85(stack["element"]) + return p.cur.onListElementContinuationElement601(stack["content"]) } -func (c *current) onSingleQuoteBoldTextElement183() (interface{}, error) { - return types.NewStringElement("\u2019") +func (c *current) onListElementContinuationElement580(line interface{}) (interface{}, error) { + return line, nil } -func (p *parser) callonSingleQuoteBoldTextElement183() (interface{}, error) { +func (p *parser) callonListElementContinuationElement580() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement183() + return p.cur.onListElementContinuationElement580(stack["line"]) } -func (c *current) onSingleQuoteBoldTextElement185() (interface{}, error) { - return types.NewStringElement("\u00a9") +func (c *current) onListElementContinuationElement624() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonSingleQuoteBoldTextElement185() (interface{}, error) { +func (p *parser) callonListElementContinuationElement624() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement185() + return p.cur.onListElementContinuationElement624() } -func (c *current) onSingleQuoteBoldTextElement187() (interface{}, error) { - return types.NewStringElement("\u2122") - +func (c *current) onListElementContinuationElement627() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonSingleQuoteBoldTextElement187() (interface{}, error) { +func (p *parser) callonListElementContinuationElement627() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement187() + return p.cur.onListElementContinuationElement627() } -func (c *current) onSingleQuoteBoldTextElement189() (interface{}, error) { - return types.NewStringElement("\u00ae") - +func (c *current) onListElementContinuationElement620() (interface{}, error) { + return types.NewBlockDelimiter(types.Comment, string(c.text)) } -func (p *parser) callonSingleQuoteBoldTextElement189() (interface{}, error) { +func (p *parser) callonListElementContinuationElement620() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement189() + return p.cur.onListElementContinuationElement620() } -func (c *current) onSingleQuoteBoldTextElement191() (interface{}, error) { - return types.NewStringElement("\u2026\u200b") +func (c *current) onListElementContinuationElement562(content interface{}) (interface{}, error) { + c.unsetWithinDelimitedBlock() + return types.NewDelimitedBlock(types.Comment, content.([]interface{})) } -func (p *parser) callonSingleQuoteBoldTextElement191() (interface{}, error) { +func (p *parser) callonListElementContinuationElement562() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement191() + return p.cur.onListElementContinuationElement562(stack["content"]) } -func (c *current) onSingleQuoteBoldTextElement193() (interface{}, error) { - return types.NewStringElement(string(c.text[:1]) + "\u2019") +func (c *current) onListElementContinuationElement642() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonSingleQuoteBoldTextElement193() (interface{}, error) { +func (p *parser) callonListElementContinuationElement642() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement193() + return p.cur.onListElementContinuationElement642() } -func (c *current) onSingleQuoteBoldTextElement206() (interface{}, error) { +func (c *current) onListElementContinuationElement645() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonSingleQuoteBoldTextElement206() (interface{}, error) { +func (p *parser) callonListElementContinuationElement645() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement206() + return p.cur.onListElementContinuationElement645() } -func (c *current) onSingleQuoteBoldTextElement202(ref interface{}) (interface{}, error) { - return types.NewElementPlaceHolder(ref.(string)) +func (c *current) onListElementContinuationElement638() (interface{}, error) { + return types.NewBlockDelimiter(types.Example, string(c.text)) } -func (p *parser) callonSingleQuoteBoldTextElement202() (interface{}, error) { +func (p *parser) callonListElementContinuationElement638() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement202(stack["ref"]) + return p.cur.onListElementContinuationElement638() } -func (c *current) onSingleQuoteBoldTextElement214() (interface{}, error) { +func (c *current) onListElementContinuationElement662() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSingleQuoteBoldTextElement214() (interface{}, error) { +func (p *parser) callonListElementContinuationElement662() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement214() + return p.cur.onListElementContinuationElement662() } -func (c *current) onSingleQuoteBoldTextElement211() (interface{}, error) { - // or a bold delimiter when immediately followed by an alphanum (ie, in the middle of some text) - return types.NewStringElement(string(c.text)) - +func (c *current) onListElementContinuationElement665() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonSingleQuoteBoldTextElement211() (interface{}, error) { +func (p *parser) callonListElementContinuationElement665() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement211() + return p.cur.onListElementContinuationElement665() } -func (c *current) onQuotedTextInSingleQuoteBoldText1(attributes, text interface{}) (interface{}, error) { - return text.(*types.QuotedText).WithAttributes(attributes) - +func (c *current) onListElementContinuationElement658() (interface{}, error) { + return types.NewBlockDelimiter(types.Example, string(c.text)) } -func (p *parser) callonQuotedTextInSingleQuoteBoldText1() (interface{}, error) { +func (p *parser) callonListElementContinuationElement658() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onQuotedTextInSingleQuoteBoldText1(stack["attributes"], stack["text"]) + return p.cur.onListElementContinuationElement658() } -func (c *current) onEscapedBoldText5() (interface{}, error) { +func (c *current) onListElementContinuationElement681() (interface{}, error) { + // content is NOT mandatory return string(c.text), nil } -func (p *parser) callonEscapedBoldText5() (interface{}, error) { +func (p *parser) callonListElementContinuationElement681() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onEscapedBoldText5() + return p.cur.onListElementContinuationElement681() } -func (c *current) onEscapedBoldText2(backslashes, elements interface{}) (interface{}, error) { - // double punctuation must be evaluated first - return types.NewEscapedQuotedText(backslashes.(string), "**", elements.([]interface{})) - +func (c *current) onListElementContinuationElement685() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonEscapedBoldText2() (interface{}, error) { +func (p *parser) callonListElementContinuationElement685() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onEscapedBoldText2(stack["backslashes"], stack["elements"]) + return p.cur.onListElementContinuationElement685() } -func (c *current) onEscapedBoldText17() (interface{}, error) { - return string(c.text), nil +func (c *current) onListElementContinuationElement675(content interface{}) (interface{}, error) { + + return types.NewRawLine(content.(string)) } -func (p *parser) callonEscapedBoldText17() (interface{}, error) { +func (p *parser) callonListElementContinuationElement675() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onEscapedBoldText17() + return p.cur.onListElementContinuationElement675(stack["content"]) } -func (c *current) onEscapedBoldText14(backslashes, elements interface{}) (interface{}, error) { - // unbalanced `**` vs `*` punctuation - result := append([]interface{}{"*"}, elements.([]interface{})) - return types.NewEscapedQuotedText(backslashes.(string), "*", result) +func (c *current) onListElementContinuationElement654(line interface{}) (interface{}, error) { + return line, nil } -func (p *parser) callonEscapedBoldText14() (interface{}, error) { +func (p *parser) callonListElementContinuationElement654() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onEscapedBoldText14(stack["backslashes"], stack["elements"]) + return p.cur.onListElementContinuationElement654(stack["line"]) } -func (c *current) onEscapedBoldText27() (interface{}, error) { +func (c *current) onListElementContinuationElement698() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonEscapedBoldText27() (interface{}, error) { +func (p *parser) callonListElementContinuationElement698() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onEscapedBoldText27() + return p.cur.onListElementContinuationElement698() } -func (c *current) onEscapedBoldText24(backslashes, elements interface{}) (interface{}, error) { - // simple punctuation must be evaluated last - return types.NewEscapedQuotedText(backslashes.(string), "*", elements.([]interface{})) - +func (c *current) onListElementContinuationElement701() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonEscapedBoldText24() (interface{}, error) { +func (p *parser) callonListElementContinuationElement701() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onEscapedBoldText24(stack["backslashes"], stack["elements"]) + return p.cur.onListElementContinuationElement701() } -func (c *current) onDoubleQuoteItalicText1(elements interface{}) (interface{}, error) { - // double punctuation must be evaluated first - return types.NewQuotedText(types.DoubleQuoteItalic, elements.([]interface{})) - +func (c *current) onListElementContinuationElement694() (interface{}, error) { + return types.NewBlockDelimiter(types.Example, string(c.text)) } -func (p *parser) callonDoubleQuoteItalicText1() (interface{}, error) { +func (p *parser) callonListElementContinuationElement694() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicText1(stack["elements"]) + return p.cur.onListElementContinuationElement694() } -func (c *current) onDoubleQuoteItalicTextElement13() (interface{}, error) { - return string(c.text), nil +func (c *current) onListElementContinuationElement636(content interface{}) (interface{}, error) { + c.unsetWithinDelimitedBlock() + return types.NewDelimitedBlock(types.Example, content.([]interface{})) } -func (p *parser) callonDoubleQuoteItalicTextElement13() (interface{}, error) { +func (p *parser) callonListElementContinuationElement636() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement13() + return p.cur.onListElementContinuationElement636(stack["content"]) } -func (c *current) onDoubleQuoteItalicTextElement7() (interface{}, error) { - return types.NewStringElement(string(c.text)) +func (c *current) onListElementContinuationElement716() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDoubleQuoteItalicTextElement7() (interface{}, error) { +func (p *parser) callonListElementContinuationElement716() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement7() + return p.cur.onListElementContinuationElement716() } -func (c *current) onDoubleQuoteItalicTextElement16() (interface{}, error) { - // log.Debug("matched multiple spaces") +func (c *current) onListElementContinuationElement719() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil +} + +func (p *parser) callonListElementContinuationElement719() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement719() +} +func (c *current) onListElementContinuationElement712() (interface{}, error) { + return types.NewBlockDelimiter(types.Fenced, string(c.text)) } -func (p *parser) callonDoubleQuoteItalicTextElement16() (interface{}, error) { +func (p *parser) callonListElementContinuationElement712() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement16() + return p.cur.onListElementContinuationElement712() } -func (c *current) onDoubleQuoteItalicTextElement20() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onListElementContinuationElement736() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonDoubleQuoteItalicTextElement20() (interface{}, error) { +func (p *parser) callonListElementContinuationElement736() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement20() + return p.cur.onListElementContinuationElement736() } -func (c *current) onDoubleQuoteItalicTextElement26() (interface{}, error) { +func (c *current) onListElementContinuationElement739() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDoubleQuoteItalicTextElement26() (interface{}, error) { +func (p *parser) callonListElementContinuationElement739() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement26() + return p.cur.onListElementContinuationElement739() } -func (c *current) onDoubleQuoteItalicTextElement33() (bool, error) { - return c.isSubstitutionEnabled(Attributes) - +func (c *current) onListElementContinuationElement732() (interface{}, error) { + return types.NewBlockDelimiter(types.Fenced, string(c.text)) } -func (p *parser) callonDoubleQuoteItalicTextElement33() (bool, error) { +func (p *parser) callonListElementContinuationElement732() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement33() + return p.cur.onListElementContinuationElement732() } -func (c *current) onDoubleQuoteItalicTextElement40() (interface{}, error) { +func (c *current) onListElementContinuationElement755() (interface{}, error) { + // content is NOT mandatory return string(c.text), nil } -func (p *parser) callonDoubleQuoteItalicTextElement40() (interface{}, error) { +func (p *parser) callonListElementContinuationElement755() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement40() + return p.cur.onListElementContinuationElement755() } -func (c *current) onDoubleQuoteItalicTextElement52() (interface{}, error) { +func (c *current) onListElementContinuationElement759() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonDoubleQuoteItalicTextElement52() (interface{}, error) { +func (p *parser) callonListElementContinuationElement759() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement52() + return p.cur.onListElementContinuationElement759() } -func (c *current) onDoubleQuoteItalicTextElement54() (interface{}, error) { +func (c *current) onListElementContinuationElement749(content interface{}) (interface{}, error) { - return strconv.Atoi(string(c.text)) + return types.NewRawLine(content.(string)) } -func (p *parser) callonDoubleQuoteItalicTextElement54() (interface{}, error) { +func (p *parser) callonListElementContinuationElement749() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement54() + return p.cur.onListElementContinuationElement749(stack["content"]) } -func (c *current) onDoubleQuoteItalicTextElement47(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onListElementContinuationElement728(line interface{}) (interface{}, error) { + return line, nil } -func (p *parser) callonDoubleQuoteItalicTextElement47() (interface{}, error) { +func (p *parser) callonListElementContinuationElement728() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement47(stack["start"]) + return p.cur.onListElementContinuationElement728(stack["line"]) } -func (c *current) onDoubleQuoteItalicTextElement36(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) +func (c *current) onListElementContinuationElement772() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonDoubleQuoteItalicTextElement36() (interface{}, error) { +func (p *parser) callonListElementContinuationElement772() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement36(stack["name"], stack["start"]) + return p.cur.onListElementContinuationElement772() } -func (c *current) onDoubleQuoteItalicTextElement62() (interface{}, error) { +func (c *current) onListElementContinuationElement775() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonDoubleQuoteItalicTextElement62() (interface{}, error) { +func (p *parser) callonListElementContinuationElement775() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement62() + return p.cur.onListElementContinuationElement775() } -func (c *current) onDoubleQuoteItalicTextElement74() (interface{}, error) { - return string(c.text), nil - +func (c *current) onListElementContinuationElement768() (interface{}, error) { + return types.NewBlockDelimiter(types.Fenced, string(c.text)) } -func (p *parser) callonDoubleQuoteItalicTextElement74() (interface{}, error) { +func (p *parser) callonListElementContinuationElement768() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement74() + return p.cur.onListElementContinuationElement768() } -func (c *current) onDoubleQuoteItalicTextElement76() (interface{}, error) { - - return strconv.Atoi(string(c.text)) +func (c *current) onListElementContinuationElement710(content interface{}) (interface{}, error) { + c.unsetWithinDelimitedBlock() + return types.NewDelimitedBlock(types.Fenced, content.([]interface{})) } -func (p *parser) callonDoubleQuoteItalicTextElement76() (interface{}, error) { +func (p *parser) callonListElementContinuationElement710() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement76() + return p.cur.onListElementContinuationElement710(stack["content"]) } -func (c *current) onDoubleQuoteItalicTextElement69(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onListElementContinuationElement790() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDoubleQuoteItalicTextElement69() (interface{}, error) { +func (p *parser) callonListElementContinuationElement790() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement69(stack["start"]) + return p.cur.onListElementContinuationElement790() } -func (c *current) onDoubleQuoteItalicTextElement58(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) +func (c *current) onListElementContinuationElement793() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonDoubleQuoteItalicTextElement58() (interface{}, error) { +func (p *parser) callonListElementContinuationElement793() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement58(stack["name"], stack["start"]) + return p.cur.onListElementContinuationElement793() } -func (c *current) onDoubleQuoteItalicTextElement84() (interface{}, error) { - return string(c.text), nil - +func (c *current) onListElementContinuationElement786() (interface{}, error) { + return types.NewBlockDelimiter(types.Listing, string(c.text)) } -func (p *parser) callonDoubleQuoteItalicTextElement84() (interface{}, error) { +func (p *parser) callonListElementContinuationElement786() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement84() + return p.cur.onListElementContinuationElement786() } -func (c *current) onDoubleQuoteItalicTextElement80(name interface{}) (interface{}, error) { +func (c *current) onListElementContinuationElement810() (interface{}, error) { + return string(c.text), nil - return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonDoubleQuoteItalicTextElement80() (interface{}, error) { +func (p *parser) callonListElementContinuationElement810() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement80(stack["name"]) + return p.cur.onListElementContinuationElement810() } -func (c *current) onDoubleQuoteItalicTextElement31(element interface{}) (interface{}, error) { - return element, nil - +func (c *current) onListElementContinuationElement813() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonDoubleQuoteItalicTextElement31() (interface{}, error) { +func (p *parser) callonListElementContinuationElement813() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement31(stack["element"]) + return p.cur.onListElementContinuationElement813() } -func (c *current) onDoubleQuoteItalicTextElement92() (bool, error) { - return c.isSubstitutionEnabled(SpecialCharacters) - +func (c *current) onListElementContinuationElement806() (interface{}, error) { + return types.NewBlockDelimiter(types.Listing, string(c.text)) } -func (p *parser) callonDoubleQuoteItalicTextElement92() (bool, error) { +func (p *parser) callonListElementContinuationElement806() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement92() + return p.cur.onListElementContinuationElement806() } -func (c *current) onDoubleQuoteItalicTextElement101() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ +func (c *current) onListElementContinuationElement829() (interface{}, error) { + // content is NOT mandatory return string(c.text), nil } -func (p *parser) callonDoubleQuoteItalicTextElement101() (interface{}, error) { +func (p *parser) callonListElementContinuationElement829() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement101() + return p.cur.onListElementContinuationElement829() } -func (c *current) onDoubleQuoteItalicTextElement105() (interface{}, error) { +func (c *current) onListElementContinuationElement833() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonDoubleQuoteItalicTextElement105() (interface{}, error) { +func (p *parser) callonListElementContinuationElement833() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement105() + return p.cur.onListElementContinuationElement833() } -func (c *current) onDoubleQuoteItalicTextElement111() (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) onListElementContinuationElement823(content interface{}) (interface{}, error) { + + return types.NewRawLine(content.(string)) } -func (p *parser) callonDoubleQuoteItalicTextElement111() (interface{}, error) { +func (p *parser) callonListElementContinuationElement823() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement111() + return p.cur.onListElementContinuationElement823(stack["content"]) } -func (c *current) onDoubleQuoteItalicTextElement118() (bool, error) { - return c.isSubstitutionEnabled(Attributes) +func (c *current) onListElementContinuationElement802(line interface{}) (interface{}, error) { + return line, nil } -func (p *parser) callonDoubleQuoteItalicTextElement118() (bool, error) { +func (p *parser) callonListElementContinuationElement802() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement118() + return p.cur.onListElementContinuationElement802(stack["line"]) } -func (c *current) onDoubleQuoteItalicTextElement125() (interface{}, error) { +func (c *current) onListElementContinuationElement846() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDoubleQuoteItalicTextElement125() (interface{}, error) { +func (p *parser) callonListElementContinuationElement846() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement125() + return p.cur.onListElementContinuationElement846() } -func (c *current) onDoubleQuoteItalicTextElement137() (interface{}, error) { +func (c *current) onListElementContinuationElement849() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonDoubleQuoteItalicTextElement137() (interface{}, error) { +func (p *parser) callonListElementContinuationElement849() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement137() + return p.cur.onListElementContinuationElement849() } -func (c *current) onDoubleQuoteItalicTextElement139() (interface{}, error) { - - return strconv.Atoi(string(c.text)) - +func (c *current) onListElementContinuationElement842() (interface{}, error) { + return types.NewBlockDelimiter(types.Listing, string(c.text)) } -func (p *parser) callonDoubleQuoteItalicTextElement139() (interface{}, error) { +func (p *parser) callonListElementContinuationElement842() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement139() + return p.cur.onListElementContinuationElement842() } -func (c *current) onDoubleQuoteItalicTextElement132(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onListElementContinuationElement784(content interface{}) (interface{}, error) { + c.unsetWithinDelimitedBlock() + return types.NewDelimitedBlock(types.Listing, content.([]interface{})) } -func (p *parser) callonDoubleQuoteItalicTextElement132() (interface{}, error) { +func (p *parser) callonListElementContinuationElement784() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement132(stack["start"]) + return p.cur.onListElementContinuationElement784(stack["content"]) } -func (c *current) onDoubleQuoteItalicTextElement121(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) +func (c *current) onListElementContinuationElement864() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonDoubleQuoteItalicTextElement121() (interface{}, error) { +func (p *parser) callonListElementContinuationElement864() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement121(stack["name"], stack["start"]) + return p.cur.onListElementContinuationElement864() } -func (c *current) onDoubleQuoteItalicTextElement147() (interface{}, error) { +func (c *current) onListElementContinuationElement867() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil +} +func (p *parser) callonListElementContinuationElement867() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement867() } -func (p *parser) callonDoubleQuoteItalicTextElement147() (interface{}, error) { +func (c *current) onListElementContinuationElement860() (interface{}, error) { + return types.NewBlockDelimiter(types.Literal, string(c.text)) +} + +func (p *parser) callonListElementContinuationElement860() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement147() + return p.cur.onListElementContinuationElement860() } -func (c *current) onDoubleQuoteItalicTextElement159() (interface{}, error) { +func (c *current) onListElementContinuationElement884() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDoubleQuoteItalicTextElement159() (interface{}, error) { +func (p *parser) callonListElementContinuationElement884() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement159() + return p.cur.onListElementContinuationElement884() } -func (c *current) onDoubleQuoteItalicTextElement161() (interface{}, error) { +func (c *current) onListElementContinuationElement887() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} - return strconv.Atoi(string(c.text)) +func (p *parser) callonListElementContinuationElement887() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement887() +} +func (c *current) onListElementContinuationElement880() (interface{}, error) { + return types.NewBlockDelimiter(types.Literal, string(c.text)) } -func (p *parser) callonDoubleQuoteItalicTextElement161() (interface{}, error) { +func (p *parser) callonListElementContinuationElement880() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement161() + return p.cur.onListElementContinuationElement880() } -func (c *current) onDoubleQuoteItalicTextElement154(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onListElementContinuationElement903() (interface{}, error) { + // content is NOT mandatory + return string(c.text), nil } -func (p *parser) callonDoubleQuoteItalicTextElement154() (interface{}, error) { +func (p *parser) callonListElementContinuationElement903() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement154(stack["start"]) + return p.cur.onListElementContinuationElement903() } -func (c *current) onDoubleQuoteItalicTextElement143(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) +func (c *current) onListElementContinuationElement907() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonDoubleQuoteItalicTextElement143() (interface{}, error) { +func (p *parser) callonListElementContinuationElement907() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement143(stack["name"], stack["start"]) + return p.cur.onListElementContinuationElement907() } -func (c *current) onDoubleQuoteItalicTextElement169() (interface{}, error) { - return string(c.text), nil +func (c *current) onListElementContinuationElement897(content interface{}) (interface{}, error) { + + return types.NewRawLine(content.(string)) } -func (p *parser) callonDoubleQuoteItalicTextElement169() (interface{}, error) { +func (p *parser) callonListElementContinuationElement897() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement169() + return p.cur.onListElementContinuationElement897(stack["content"]) } -func (c *current) onDoubleQuoteItalicTextElement165(name interface{}) (interface{}, error) { +func (c *current) onListElementContinuationElement876(line interface{}) (interface{}, error) { + return line, nil - return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonDoubleQuoteItalicTextElement165() (interface{}, error) { +func (p *parser) callonListElementContinuationElement876() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement165(stack["name"]) + return p.cur.onListElementContinuationElement876(stack["line"]) } -func (c *current) onDoubleQuoteItalicTextElement116(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onListElementContinuationElement920() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDoubleQuoteItalicTextElement116() (interface{}, error) { +func (p *parser) callonListElementContinuationElement920() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement116(stack["element"]) + return p.cur.onListElementContinuationElement920() } -func (c *current) onDoubleQuoteItalicTextElement175() (interface{}, error) { - - return types.NewStringElement(string(c.text)) - +func (c *current) onListElementContinuationElement923() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonDoubleQuoteItalicTextElement175() (interface{}, error) { +func (p *parser) callonListElementContinuationElement923() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement175() + return p.cur.onListElementContinuationElement923() } -func (c *current) onDoubleQuoteItalicTextElement97(id, label interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, label) - +func (c *current) onListElementContinuationElement916() (interface{}, error) { + return types.NewBlockDelimiter(types.Literal, string(c.text)) } -func (p *parser) callonDoubleQuoteItalicTextElement97() (interface{}, error) { +func (p *parser) callonListElementContinuationElement916() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement97(stack["id"], stack["label"]) + return p.cur.onListElementContinuationElement916() } -func (c *current) onDoubleQuoteItalicTextElement182() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ - return string(c.text), nil +func (c *current) onListElementContinuationElement858(content interface{}) (interface{}, error) { + c.unsetWithinDelimitedBlock() + return types.NewDelimitedBlock(types.Literal, content.([]interface{})) } -func (p *parser) callonDoubleQuoteItalicTextElement182() (interface{}, error) { +func (p *parser) callonListElementContinuationElement858() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement182() + return p.cur.onListElementContinuationElement858(stack["content"]) } -func (c *current) onDoubleQuoteItalicTextElement178(id interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, nil) +func (c *current) onListElementContinuationElement944() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDoubleQuoteItalicTextElement178() (interface{}, error) { +func (p *parser) callonListElementContinuationElement944() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement178(stack["id"]) + return p.cur.onListElementContinuationElement944() } -func (c *current) onDoubleQuoteItalicTextElement95() (interface{}, error) { - return types.NewStringElement(string(c.text)) - +func (c *current) onListElementContinuationElement947() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonDoubleQuoteItalicTextElement95() (interface{}, error) { +func (p *parser) callonListElementContinuationElement947() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement95() + return p.cur.onListElementContinuationElement947() } -func (c *current) onDoubleQuoteItalicTextElement186() (interface{}, error) { - return types.NewSpecialCharacter(string(c.text)) +func (c *current) onListElementContinuationElement938() (interface{}, error) { + return types.NewBlankLine() } -func (p *parser) callonDoubleQuoteItalicTextElement186() (interface{}, error) { +func (p *parser) callonListElementContinuationElement938() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement186() + return p.cur.onListElementContinuationElement938() } -func (c *current) onDoubleQuoteItalicTextElement90(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onListElementContinuationElement956() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonDoubleQuoteItalicTextElement90() (interface{}, error) { +func (p *parser) callonListElementContinuationElement956() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement90(stack["element"]) + return p.cur.onListElementContinuationElement956() } -func (c *current) onDoubleQuoteItalicTextElement188() (interface{}, error) { - return types.NewStringElement("\u2019") - +func (c *current) onListElementContinuationElement960() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonDoubleQuoteItalicTextElement188() (interface{}, error) { +func (p *parser) callonListElementContinuationElement960() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement188() + return p.cur.onListElementContinuationElement960() } -func (c *current) onDoubleQuoteItalicTextElement190() (interface{}, error) { - return types.NewStringElement("\u00a9") +func (c *current) onListElementContinuationElement935(content interface{}) (interface{}, error) { + return types.NewRawLine(content.(string)) } -func (p *parser) callonDoubleQuoteItalicTextElement190() (interface{}, error) { +func (p *parser) callonListElementContinuationElement935() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement190() + return p.cur.onListElementContinuationElement935(stack["content"]) } -func (c *current) onDoubleQuoteItalicTextElement192() (interface{}, error) { - return types.NewStringElement("\u2122") +func (c *current) onListElementContinuationElement979() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDoubleQuoteItalicTextElement192() (interface{}, error) { +func (p *parser) callonListElementContinuationElement979() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement192() + return p.cur.onListElementContinuationElement979() } -func (c *current) onDoubleQuoteItalicTextElement194() (interface{}, error) { - return types.NewStringElement("\u00ae") - +func (c *current) onListElementContinuationElement982() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonDoubleQuoteItalicTextElement194() (interface{}, error) { +func (p *parser) callonListElementContinuationElement982() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement194() + return p.cur.onListElementContinuationElement982() } -func (c *current) onDoubleQuoteItalicTextElement196() (interface{}, error) { - return types.NewStringElement("\u2026\u200b") +func (c *current) onListElementContinuationElement973() (interface{}, error) { + return types.NewBlankLine() } -func (p *parser) callonDoubleQuoteItalicTextElement196() (interface{}, error) { +func (p *parser) callonListElementContinuationElement973() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement196() + return p.cur.onListElementContinuationElement973() } -func (c *current) onDoubleQuoteItalicTextElement198() (interface{}, error) { - return types.NewStringElement(string(c.text[:1]) + "\u2019") +func (c *current) onListElementContinuationElement991() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonDoubleQuoteItalicTextElement198() (interface{}, error) { +func (p *parser) callonListElementContinuationElement991() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement198() + return p.cur.onListElementContinuationElement991() } -func (c *current) onDoubleQuoteItalicTextElement211() (interface{}, error) { +func (c *current) onListElementContinuationElement995() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDoubleQuoteItalicTextElement211() (interface{}, error) { +func (p *parser) callonListElementContinuationElement995() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement211() + return p.cur.onListElementContinuationElement995() } -func (c *current) onDoubleQuoteItalicTextElement207(ref interface{}) (interface{}, error) { - return types.NewElementPlaceHolder(ref.(string)) +func (c *current) onListElementContinuationElement970(content interface{}) (interface{}, error) { + return types.NewRawLine(content.(string)) + } -func (p *parser) callonDoubleQuoteItalicTextElement207() (interface{}, error) { +func (p *parser) callonListElementContinuationElement970() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement207(stack["ref"]) + return p.cur.onListElementContinuationElement970(stack["content"]) } -func (c *current) onDoubleQuoteItalicTextElement219() (interface{}, error) { - return string(c.text), nil +func (c *current) onListElementContinuationElement1005() (interface{}, error) { + return strings.TrimRight(string(c.text), " \t"), nil // trim spaces and tabs } -func (p *parser) callonDoubleQuoteItalicTextElement219() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1005() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement219() + return p.cur.onListElementContinuationElement1005() } -func (c *current) onDoubleQuoteItalicTextElement216() (interface{}, error) { - // or a italic delimiter when immediately followed by an alphanum (ie, in the middle of some text) - return types.NewStringElement(string(c.text)) +func (c *current) onListElementContinuationElement1008(content interface{}) (bool, error) { + return len(strings.TrimSpace(content.(string))) > 0, nil } -func (p *parser) callonDoubleQuoteItalicTextElement216() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1008() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement216() + return p.cur.onListElementContinuationElement1008(stack["content"]) } -func (c *current) onDoubleQuoteItalicTextElement1(element interface{}) (interface{}, error) { - return element, nil - +func (c *current) onListElementContinuationElement1010() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonDoubleQuoteItalicTextElement1() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1010() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement1(stack["element"]) + return p.cur.onListElementContinuationElement1010() } -func (c *current) onQuotedTextInDoubleQuoteItalicText1(attributes, text interface{}) (interface{}, error) { - return text.(*types.QuotedText).WithAttributes(attributes) +func (c *current) onListElementContinuationElement1002(content interface{}) (interface{}, error) { + return types.NewRawLine(content.(string)) } -func (p *parser) callonQuotedTextInDoubleQuoteItalicText1() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1002() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onQuotedTextInDoubleQuoteItalicText1(stack["attributes"], stack["text"]) + return p.cur.onListElementContinuationElement1002(stack["content"]) } -func (c *current) onSingleQuoteItalicText1(elements interface{}) (interface{}, error) { - - return types.NewQuotedText(types.SingleQuoteItalic, elements.([]interface{})) +func (c *current) onListElementContinuationElement932(firstLine, otherLines interface{}) (interface{}, error) { + return types.NewDelimitedBlock(types.MarkdownQuote, append([]interface{}{firstLine}, otherLines.([]interface{})...)) } -func (p *parser) callonSingleQuoteItalicText1() (interface{}, error) { +func (p *parser) callonListElementContinuationElement932() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicText1(stack["elements"]) + return p.cur.onListElementContinuationElement932(stack["firstLine"], stack["otherLines"]) } -func (c *current) onSingleQuoteItalicTextElements7() (interface{}, error) { +func (c *current) onListElementContinuationElement1023() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSingleQuoteItalicTextElements7() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1023() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElements7() + return p.cur.onListElementContinuationElement1023() } -func (c *current) onSingleQuoteItalicTextElements12(elements interface{}) (bool, error) { - return validateSingleQuoteElements(elements.([]interface{})) // cannot end with spaces - +func (c *current) onListElementContinuationElement1026() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonSingleQuoteItalicTextElements12() (bool, error) { +func (p *parser) callonListElementContinuationElement1026() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElements12(stack["elements"]) + return p.cur.onListElementContinuationElement1026() } -func (c *current) onSingleQuoteItalicTextElements1(elements interface{}) (interface{}, error) { - return elements, nil - +func (c *current) onListElementContinuationElement1019() (interface{}, error) { + return types.NewBlockDelimiter(types.Passthrough, string(c.text)) } -func (p *parser) callonSingleQuoteItalicTextElements1() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1019() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElements1(stack["elements"]) + return p.cur.onListElementContinuationElement1019() } -func (c *current) onSingleQuoteItalicTextElement8() (interface{}, error) { +func (c *current) onListElementContinuationElement1043() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSingleQuoteItalicTextElement8() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1043() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement8() + return p.cur.onListElementContinuationElement1043() } -func (c *current) onSingleQuoteItalicTextElement2() (interface{}, error) { - return types.NewStringElement(string(c.text)) - +func (c *current) onListElementContinuationElement1046() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonSingleQuoteItalicTextElement2() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1046() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement2() + return p.cur.onListElementContinuationElement1046() } -func (c *current) onSingleQuoteItalicTextElement11() (interface{}, error) { - // log.Debug("matched multiple spaces") - return string(c.text), nil - +func (c *current) onListElementContinuationElement1039() (interface{}, error) { + return types.NewBlockDelimiter(types.Passthrough, string(c.text)) } -func (p *parser) callonSingleQuoteItalicTextElement11() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1039() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement11() + return p.cur.onListElementContinuationElement1039() } -func (c *current) onSingleQuoteItalicTextElement15() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onListElementContinuationElement1062() (interface{}, error) { + // content is NOT mandatory return string(c.text), nil + } -func (p *parser) callonSingleQuoteItalicTextElement15() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1062() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement15() + return p.cur.onListElementContinuationElement1062() } -func (c *current) onSingleQuoteItalicTextElement21() (interface{}, error) { +func (c *current) onListElementContinuationElement1066() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonSingleQuoteItalicTextElement21() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1066() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement21() + return p.cur.onListElementContinuationElement1066() } -func (c *current) onSingleQuoteItalicTextElement28() (bool, error) { - return c.isSubstitutionEnabled(Attributes) +func (c *current) onListElementContinuationElement1056(content interface{}) (interface{}, error) { + + return types.NewRawLine(content.(string)) } -func (p *parser) callonSingleQuoteItalicTextElement28() (bool, error) { +func (p *parser) callonListElementContinuationElement1056() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement28() + return p.cur.onListElementContinuationElement1056(stack["content"]) } -func (c *current) onSingleQuoteItalicTextElement35() (interface{}, error) { - return string(c.text), nil +func (c *current) onListElementContinuationElement1035(line interface{}) (interface{}, error) { + return line, nil } -func (p *parser) callonSingleQuoteItalicTextElement35() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1035() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement35() + return p.cur.onListElementContinuationElement1035(stack["line"]) } -func (c *current) onSingleQuoteItalicTextElement47() (interface{}, error) { +func (c *current) onListElementContinuationElement1079() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSingleQuoteItalicTextElement47() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1079() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement47() + return p.cur.onListElementContinuationElement1079() } -func (c *current) onSingleQuoteItalicTextElement49() (interface{}, error) { - - return strconv.Atoi(string(c.text)) - +func (c *current) onListElementContinuationElement1082() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonSingleQuoteItalicTextElement49() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1082() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement49() + return p.cur.onListElementContinuationElement1082() } -func (c *current) onSingleQuoteItalicTextElement42(start interface{}) (interface{}, error) { - return start, nil - +func (c *current) onListElementContinuationElement1075() (interface{}, error) { + return types.NewBlockDelimiter(types.Passthrough, string(c.text)) } -func (p *parser) callonSingleQuoteItalicTextElement42() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1075() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement42(stack["start"]) + return p.cur.onListElementContinuationElement1075() } -func (c *current) onSingleQuoteItalicTextElement31(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) +func (c *current) onListElementContinuationElement1017(content interface{}) (interface{}, error) { + c.unsetWithinDelimitedBlock() + return types.NewDelimitedBlock(types.Passthrough, content.([]interface{})) + } -func (p *parser) callonSingleQuoteItalicTextElement31() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1017() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement31(stack["name"], stack["start"]) + return p.cur.onListElementContinuationElement1017(stack["content"]) } -func (c *current) onSingleQuoteItalicTextElement57() (interface{}, error) { +func (c *current) onListElementContinuationElement1097() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSingleQuoteItalicTextElement57() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1097() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement57() + return p.cur.onListElementContinuationElement1097() } -func (c *current) onSingleQuoteItalicTextElement69() (interface{}, error) { +func (c *current) onListElementContinuationElement1100() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonSingleQuoteItalicTextElement69() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1100() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement69() + return p.cur.onListElementContinuationElement1100() } -func (c *current) onSingleQuoteItalicTextElement71() (interface{}, error) { +func (c *current) onListElementContinuationElement1093() (interface{}, error) { + return types.NewBlockDelimiter(types.Quote, string(c.text)) +} - return strconv.Atoi(string(c.text)) +func (p *parser) callonListElementContinuationElement1093() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1093() +} + +func (c *current) onListElementContinuationElement1117() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonSingleQuoteItalicTextElement71() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1117() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement71() + return p.cur.onListElementContinuationElement1117() } -func (c *current) onSingleQuoteItalicTextElement64(start interface{}) (interface{}, error) { - return start, nil - +func (c *current) onListElementContinuationElement1120() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonSingleQuoteItalicTextElement64() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1120() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement64(stack["start"]) + return p.cur.onListElementContinuationElement1120() } -func (c *current) onSingleQuoteItalicTextElement53(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) +func (c *current) onListElementContinuationElement1113() (interface{}, error) { + return types.NewBlockDelimiter(types.Quote, string(c.text)) } -func (p *parser) callonSingleQuoteItalicTextElement53() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1113() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement53(stack["name"], stack["start"]) + return p.cur.onListElementContinuationElement1113() } -func (c *current) onSingleQuoteItalicTextElement79() (interface{}, error) { +func (c *current) onListElementContinuationElement1136() (interface{}, error) { + // content is NOT mandatory return string(c.text), nil } -func (p *parser) callonSingleQuoteItalicTextElement79() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1136() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement79() + return p.cur.onListElementContinuationElement1136() } -func (c *current) onSingleQuoteItalicTextElement75(name interface{}) (interface{}, error) { - - return types.NewAttributeSubstitution(name.(string), string(c.text)) +func (c *current) onListElementContinuationElement1140() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonSingleQuoteItalicTextElement75() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1140() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement75(stack["name"]) + return p.cur.onListElementContinuationElement1140() } -func (c *current) onSingleQuoteItalicTextElement26(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onListElementContinuationElement1130(content interface{}) (interface{}, error) { + + return types.NewRawLine(content.(string)) } -func (p *parser) callonSingleQuoteItalicTextElement26() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1130() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement26(stack["element"]) + return p.cur.onListElementContinuationElement1130(stack["content"]) } -func (c *current) onSingleQuoteItalicTextElement87() (bool, error) { - return c.isSubstitutionEnabled(SpecialCharacters) +func (c *current) onListElementContinuationElement1109(line interface{}) (interface{}, error) { + return line, nil } -func (p *parser) callonSingleQuoteItalicTextElement87() (bool, error) { +func (p *parser) callonListElementContinuationElement1109() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement87() + return p.cur.onListElementContinuationElement1109(stack["line"]) } -func (c *current) onSingleQuoteItalicTextElement96() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ +func (c *current) onListElementContinuationElement1153() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSingleQuoteItalicTextElement96() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1153() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement96() + return p.cur.onListElementContinuationElement1153() } -func (c *current) onSingleQuoteItalicTextElement100() (interface{}, error) { +func (c *current) onListElementContinuationElement1156() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonSingleQuoteItalicTextElement100() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1156() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement100() + return p.cur.onListElementContinuationElement1156() } -func (c *current) onSingleQuoteItalicTextElement106() (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) onListElementContinuationElement1149() (interface{}, error) { + return types.NewBlockDelimiter(types.Quote, string(c.text)) } -func (p *parser) callonSingleQuoteItalicTextElement106() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1149() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement106() + return p.cur.onListElementContinuationElement1149() } -func (c *current) onSingleQuoteItalicTextElement113() (bool, error) { - return c.isSubstitutionEnabled(Attributes) +func (c *current) onListElementContinuationElement1091(content interface{}) (interface{}, error) { + c.unsetWithinDelimitedBlock() + return types.NewDelimitedBlock(types.Quote, content.([]interface{})) } -func (p *parser) callonSingleQuoteItalicTextElement113() (bool, error) { +func (p *parser) callonListElementContinuationElement1091() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement113() + return p.cur.onListElementContinuationElement1091(stack["content"]) } -func (c *current) onSingleQuoteItalicTextElement120() (interface{}, error) { +func (c *current) onListElementContinuationElement1171() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSingleQuoteItalicTextElement120() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1171() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement120() + return p.cur.onListElementContinuationElement1171() } -func (c *current) onSingleQuoteItalicTextElement132() (interface{}, error) { +func (c *current) onListElementContinuationElement1174() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonSingleQuoteItalicTextElement132() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1174() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement132() + return p.cur.onListElementContinuationElement1174() } -func (c *current) onSingleQuoteItalicTextElement134() (interface{}, error) { +func (c *current) onListElementContinuationElement1167() (interface{}, error) { + return types.NewBlockDelimiter(types.Sidebar, string(c.text)) +} - return strconv.Atoi(string(c.text)) +func (p *parser) callonListElementContinuationElement1167() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1167() +} + +func (c *current) onListElementContinuationElement1191() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonSingleQuoteItalicTextElement134() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1191() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement134() + return p.cur.onListElementContinuationElement1191() } -func (c *current) onSingleQuoteItalicTextElement127(start interface{}) (interface{}, error) { - return start, nil - +func (c *current) onListElementContinuationElement1194() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonSingleQuoteItalicTextElement127() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1194() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement127(stack["start"]) + return p.cur.onListElementContinuationElement1194() } -func (c *current) onSingleQuoteItalicTextElement116(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) +func (c *current) onListElementContinuationElement1187() (interface{}, error) { + return types.NewBlockDelimiter(types.Sidebar, string(c.text)) } -func (p *parser) callonSingleQuoteItalicTextElement116() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1187() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement116(stack["name"], stack["start"]) + return p.cur.onListElementContinuationElement1187() } -func (c *current) onSingleQuoteItalicTextElement142() (interface{}, error) { +func (c *current) onListElementContinuationElement1210() (interface{}, error) { + // content is NOT mandatory return string(c.text), nil } -func (p *parser) callonSingleQuoteItalicTextElement142() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1210() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement142() + return p.cur.onListElementContinuationElement1210() } -func (c *current) onSingleQuoteItalicTextElement154() (interface{}, error) { +func (c *current) onListElementContinuationElement1214() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonSingleQuoteItalicTextElement154() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1214() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement154() + return p.cur.onListElementContinuationElement1214() } -func (c *current) onSingleQuoteItalicTextElement156() (interface{}, error) { +func (c *current) onListElementContinuationElement1204(content interface{}) (interface{}, error) { - return strconv.Atoi(string(c.text)) + return types.NewRawLine(content.(string)) } -func (p *parser) callonSingleQuoteItalicTextElement156() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1204() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement156() + return p.cur.onListElementContinuationElement1204(stack["content"]) } -func (c *current) onSingleQuoteItalicTextElement149(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onListElementContinuationElement1183(line interface{}) (interface{}, error) { + return line, nil } -func (p *parser) callonSingleQuoteItalicTextElement149() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1183() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement149(stack["start"]) + return p.cur.onListElementContinuationElement1183(stack["line"]) } -func (c *current) onSingleQuoteItalicTextElement138(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) +func (c *current) onListElementContinuationElement1227() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonSingleQuoteItalicTextElement138() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1227() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement138(stack["name"], stack["start"]) + return p.cur.onListElementContinuationElement1227() } -func (c *current) onSingleQuoteItalicTextElement164() (interface{}, error) { +func (c *current) onListElementContinuationElement1230() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonSingleQuoteItalicTextElement164() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1230() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement164() + return p.cur.onListElementContinuationElement1230() } -func (c *current) onSingleQuoteItalicTextElement160(name interface{}) (interface{}, error) { - - return types.NewAttributeSubstitution(name.(string), string(c.text)) +func (c *current) onListElementContinuationElement1223() (interface{}, error) { + return types.NewBlockDelimiter(types.Sidebar, string(c.text)) } -func (p *parser) callonSingleQuoteItalicTextElement160() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1223() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement160(stack["name"]) + return p.cur.onListElementContinuationElement1223() } -func (c *current) onSingleQuoteItalicTextElement111(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onListElementContinuationElement1165(content interface{}) (interface{}, error) { + c.unsetWithinDelimitedBlock() + return types.NewDelimitedBlock(types.Sidebar, content.([]interface{})) } -func (p *parser) callonSingleQuoteItalicTextElement111() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1165() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement111(stack["element"]) + return p.cur.onListElementContinuationElement1165(stack["content"]) } -func (c *current) onSingleQuoteItalicTextElement170() (interface{}, error) { - - return types.NewStringElement(string(c.text)) +func (c *current) onListElementContinuationElement1250() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonSingleQuoteItalicTextElement170() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1250() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement170() + return p.cur.onListElementContinuationElement1250() } -func (c *current) onSingleQuoteItalicTextElement92(id, label interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, label) - +func (c *current) onListElementContinuationElement1253() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonSingleQuoteItalicTextElement92() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1253() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement92(stack["id"], stack["label"]) + return p.cur.onListElementContinuationElement1253() } -func (c *current) onSingleQuoteItalicTextElement177() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ +func (c *current) onListElementContinuationElement1261() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonSingleQuoteItalicTextElement177() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1261() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement177() + return p.cur.onListElementContinuationElement1261() } -func (c *current) onSingleQuoteItalicTextElement173(id interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, nil) +func (c *current) onListElementContinuationElement1239() (interface{}, error) { + + return types.NewThematicBreak() } -func (p *parser) callonSingleQuoteItalicTextElement173() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1239() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement173(stack["id"]) + return p.cur.onListElementContinuationElement1239() } -func (c *current) onSingleQuoteItalicTextElement90() (interface{}, error) { - return types.NewStringElement(string(c.text)) +func (c *current) onListElementContinuationElement1273() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonSingleQuoteItalicTextElement90() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1273() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement90() + return p.cur.onListElementContinuationElement1273() } -func (c *current) onSingleQuoteItalicTextElement181() (interface{}, error) { - return types.NewSpecialCharacter(string(c.text)) - +func (c *current) onListElementContinuationElement1276() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonSingleQuoteItalicTextElement181() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1276() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement181() + return p.cur.onListElementContinuationElement1276() } -func (c *current) onSingleQuoteItalicTextElement85(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onListElementContinuationElement1293() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonSingleQuoteItalicTextElement85() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1293() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement85(stack["element"]) + return p.cur.onListElementContinuationElement1293() } -func (c *current) onSingleQuoteItalicTextElement183() (interface{}, error) { - return types.NewStringElement("\u2019") +func (c *current) onListElementContinuationElement1299() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonSingleQuoteItalicTextElement183() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1299() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement183() + return p.cur.onListElementContinuationElement1299() } -func (c *current) onSingleQuoteItalicTextElement185() (interface{}, error) { - return types.NewStringElement("\u00a9") +func (c *current) onListElementContinuationElement1297(content interface{}) (interface{}, error) { + return types.NewRawContent(content.(string)) } -func (p *parser) callonSingleQuoteItalicTextElement185() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1297() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement185() + return p.cur.onListElementContinuationElement1297(stack["content"]) } -func (c *current) onSingleQuoteItalicTextElement187() (interface{}, error) { - return types.NewStringElement("\u2122") +func (c *current) onListElementContinuationElement1289(content interface{}) (interface{}, error) { + return types.NewTableCell(content.(types.RawContent)) } -func (p *parser) callonSingleQuoteItalicTextElement187() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1289() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement187() + return p.cur.onListElementContinuationElement1289(stack["content"]) } -func (c *current) onSingleQuoteItalicTextElement189() (interface{}, error) { - return types.NewStringElement("\u00ae") - +func (c *current) onListElementContinuationElement1303() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonSingleQuoteItalicTextElement189() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1303() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement189() + return p.cur.onListElementContinuationElement1303() } -func (c *current) onSingleQuoteItalicTextElement191() (interface{}, error) { - return types.NewStringElement("\u2026\u200b") +func (c *current) onListElementContinuationElement1317() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonSingleQuoteItalicTextElement191() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1317() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement191() + return p.cur.onListElementContinuationElement1317() } -func (c *current) onSingleQuoteItalicTextElement193() (interface{}, error) { - return types.NewStringElement(string(c.text[:1]) + "\u2019") - +func (c *current) onListElementContinuationElement1320() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonSingleQuoteItalicTextElement193() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1320() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement193() + return p.cur.onListElementContinuationElement1320() } -func (c *current) onSingleQuoteItalicTextElement206() (interface{}, error) { - return string(c.text), nil +func (c *current) onListElementContinuationElement1311() (interface{}, error) { + return types.NewBlankLine() + } -func (p *parser) callonSingleQuoteItalicTextElement206() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1311() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement206() + return p.cur.onListElementContinuationElement1311() } -func (c *current) onSingleQuoteItalicTextElement202(ref interface{}) (interface{}, error) { - return types.NewElementPlaceHolder(ref.(string)) +func (c *current) onListElementContinuationElement1285(cells interface{}) (interface{}, error) { + return types.NewTableRow(cells.([]interface{})) + } -func (p *parser) callonSingleQuoteItalicTextElement202() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1285() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement202(stack["ref"]) + return p.cur.onListElementContinuationElement1285(stack["cells"]) } -func (c *current) onSingleQuoteItalicTextElement214() (interface{}, error) { +func (c *current) onListElementContinuationElement1337() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSingleQuoteItalicTextElement214() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1337() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement214() + return p.cur.onListElementContinuationElement1337() } -func (c *current) onSingleQuoteItalicTextElement211() (interface{}, error) { - // or an italic delimiter when immediately followed by an alphanum (ie, in the middle of some text) - return types.NewStringElement(string(c.text)) - +func (c *current) onListElementContinuationElement1340() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonSingleQuoteItalicTextElement211() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1340() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement211() + return p.cur.onListElementContinuationElement1340() } -func (c *current) onQuotedTextInSingleQuoteItalicText1(attributes, text interface{}) (interface{}, error) { - return text.(*types.QuotedText).WithAttributes(attributes) +func (c *current) onListElementContinuationElement1361() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonQuotedTextInSingleQuoteItalicText1() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1361() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onQuotedTextInSingleQuoteItalicText1(stack["attributes"], stack["text"]) + return p.cur.onListElementContinuationElement1361() } -func (c *current) onEscapedItalicText5() (interface{}, error) { +func (c *current) onListElementContinuationElement1364() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonEscapedItalicText5() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1364() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onEscapedItalicText5() + return p.cur.onListElementContinuationElement1364() } -func (c *current) onEscapedItalicText2(backslashes, elements interface{}) (interface{}, error) { - // double punctuation must be evaluated first - return types.NewEscapedQuotedText(backslashes.(string), "__", elements.([]interface{})) +func (c *current) onListElementContinuationElement1380() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonEscapedItalicText2() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1380() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onEscapedItalicText2(stack["backslashes"], stack["elements"]) + return p.cur.onListElementContinuationElement1380() } -func (c *current) onEscapedItalicText17() (interface{}, error) { +func (c *current) onListElementContinuationElement1383() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonEscapedItalicText17() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1383() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onEscapedItalicText17() + return p.cur.onListElementContinuationElement1383() } -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) onListElementContinuationElement1374() (interface{}, error) { + return types.NewBlankLine() } -func (p *parser) callonEscapedItalicText14() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1374() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onEscapedItalicText14(stack["backslashes"], stack["elements"]) + return p.cur.onListElementContinuationElement1374() } -func (c *current) onEscapedItalicText27() (interface{}, error) { +func (c *current) onListElementContinuationElement1392() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonEscapedItalicText27() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1392() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onEscapedItalicText27() + return p.cur.onListElementContinuationElement1392() } -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) onListElementContinuationElement1398() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonEscapedItalicText24() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1398() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onEscapedItalicText24(stack["backslashes"], stack["elements"]) + return p.cur.onListElementContinuationElement1398() } -func (c *current) onDoubleQuoteMonospaceText1(elements interface{}) (interface{}, error) { - - return types.NewQuotedText(types.DoubleQuoteMonospace, elements.([]interface{})) +func (c *current) onListElementContinuationElement1396(content interface{}) (interface{}, error) { + return types.NewRawContent(content.(string)) } -func (p *parser) callonDoubleQuoteMonospaceText1() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1396() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceText1(stack["elements"]) + return p.cur.onListElementContinuationElement1396(stack["content"]) } -func (c *current) onDoubleQuoteMonospaceTextElement13() (interface{}, error) { - return string(c.text), nil +func (c *current) onListElementContinuationElement1354(content interface{}) (interface{}, error) { + return types.NewTableCell(content.(types.RawContent)) } -func (p *parser) callonDoubleQuoteMonospaceTextElement13() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1354() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement13() + return p.cur.onListElementContinuationElement1354(stack["content"]) } -func (c *current) onDoubleQuoteMonospaceTextElement7() (interface{}, error) { - return types.NewStringElement(string(c.text)) - +func (c *current) onListElementContinuationElement1402() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement7() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1402() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement7() + return p.cur.onListElementContinuationElement1402() } -func (c *current) onDoubleQuoteMonospaceTextElement16() (interface{}, error) { - // log.Debug("matched multiple spaces") - return string(c.text), nil +func (c *current) onListElementContinuationElement1351(cell interface{}) (interface{}, error) { + return cell, nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement16() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1351() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement16() + return p.cur.onListElementContinuationElement1351(stack["cell"]) } -func (c *current) onDoubleQuoteMonospaceTextElement20() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onListElementContinuationElement1417() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonDoubleQuoteMonospaceTextElement20() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1417() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement20() + return p.cur.onListElementContinuationElement1417() } -func (c *current) onDoubleQuoteMonospaceTextElement26() (interface{}, error) { +func (c *current) onListElementContinuationElement1420() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement26() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1420() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement26() + return p.cur.onListElementContinuationElement1420() } -func (c *current) onDoubleQuoteMonospaceTextElement33() (bool, error) { - return c.isSubstitutionEnabled(Attributes) +func (c *current) onListElementContinuationElement1411() (interface{}, error) { + return types.NewBlankLine() } -func (p *parser) callonDoubleQuoteMonospaceTextElement33() (bool, error) { +func (p *parser) callonListElementContinuationElement1411() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement33() + return p.cur.onListElementContinuationElement1411() } -func (c *current) onDoubleQuoteMonospaceTextElement40() (interface{}, error) { +func (c *current) onListElementContinuationElement1432() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement40() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1432() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement40() + return p.cur.onListElementContinuationElement1432() } -func (c *current) onDoubleQuoteMonospaceTextElement52() (interface{}, error) { +func (c *current) onListElementContinuationElement1435() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonDoubleQuoteMonospaceTextElement52() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1435() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement52() + return p.cur.onListElementContinuationElement1435() } -func (c *current) onDoubleQuoteMonospaceTextElement54() (interface{}, error) { - - return strconv.Atoi(string(c.text)) +func (c *current) onListElementContinuationElement1330(cells interface{}) (interface{}, error) { + return types.NewTableRow(cells.([]interface{})) } -func (p *parser) callonDoubleQuoteMonospaceTextElement54() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1330() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement54() + return p.cur.onListElementContinuationElement1330(stack["cells"]) } -func (c *current) onDoubleQuoteMonospaceTextElement47(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onListElementContinuationElement1451() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement47() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1451() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement47(stack["start"]) + return p.cur.onListElementContinuationElement1451() } -func (c *current) onDoubleQuoteMonospaceTextElement36(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) +func (c *current) onListElementContinuationElement1454() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement36() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1454() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement36(stack["name"], stack["start"]) + return p.cur.onListElementContinuationElement1454() } -func (c *current) onDoubleQuoteMonospaceTextElement62() (interface{}, error) { +func (c *current) onListElementContinuationElement1472() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement62() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1472() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement62() + return p.cur.onListElementContinuationElement1472() } -func (c *current) onDoubleQuoteMonospaceTextElement74() (interface{}, error) { +func (c *current) onListElementContinuationElement1475() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonDoubleQuoteMonospaceTextElement74() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1475() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement74() + return p.cur.onListElementContinuationElement1475() } -func (c *current) onDoubleQuoteMonospaceTextElement76() (interface{}, error) { +func (c *current) onListElementContinuationElement1491() (interface{}, error) { + return string(c.text), nil - return strconv.Atoi(string(c.text)) +} +func (p *parser) callonListElementContinuationElement1491() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElementContinuationElement1491() } -func (p *parser) callonDoubleQuoteMonospaceTextElement76() (interface{}, error) { +func (c *current) onListElementContinuationElement1494() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonListElementContinuationElement1494() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement76() + return p.cur.onListElementContinuationElement1494() } -func (c *current) onDoubleQuoteMonospaceTextElement69(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onListElementContinuationElement1485() (interface{}, error) { + return types.NewBlankLine() } -func (p *parser) callonDoubleQuoteMonospaceTextElement69() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1485() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement69(stack["start"]) + return p.cur.onListElementContinuationElement1485() } -func (c *current) onDoubleQuoteMonospaceTextElement58(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) +func (c *current) onListElementContinuationElement1503() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonDoubleQuoteMonospaceTextElement58() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1503() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement58(stack["name"], stack["start"]) + return p.cur.onListElementContinuationElement1503() } -func (c *current) onDoubleQuoteMonospaceTextElement84() (interface{}, error) { +func (c *current) onListElementContinuationElement1509() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement84() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1509() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement84() + return p.cur.onListElementContinuationElement1509() } -func (c *current) onDoubleQuoteMonospaceTextElement80(name interface{}) (interface{}, error) { +func (c *current) onListElementContinuationElement1507(content interface{}) (interface{}, error) { + return types.NewRawContent(content.(string)) - return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonDoubleQuoteMonospaceTextElement80() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1507() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement80(stack["name"]) + return p.cur.onListElementContinuationElement1507(stack["content"]) } -func (c *current) onDoubleQuoteMonospaceTextElement31(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onListElementContinuationElement1465(content interface{}) (interface{}, error) { + return types.NewTableCell(content.(types.RawContent)) } -func (p *parser) callonDoubleQuoteMonospaceTextElement31() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1465() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement31(stack["element"]) + return p.cur.onListElementContinuationElement1465(stack["content"]) } -func (c *current) onDoubleQuoteMonospaceTextElement92() (bool, error) { - return c.isSubstitutionEnabled(SpecialCharacters) - +func (c *current) onListElementContinuationElement1513() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement92() (bool, error) { +func (p *parser) callonListElementContinuationElement1513() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement92() + return p.cur.onListElementContinuationElement1513() } -func (c *current) onDoubleQuoteMonospaceTextElement101() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ +func (c *current) onListElementContinuationElement1527() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement101() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1527() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement101() + return p.cur.onListElementContinuationElement1527() } -func (c *current) onDoubleQuoteMonospaceTextElement105() (interface{}, error) { +func (c *current) onListElementContinuationElement1530() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonDoubleQuoteMonospaceTextElement105() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1530() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement105() + return p.cur.onListElementContinuationElement1530() } -func (c *current) onDoubleQuoteMonospaceTextElement111() (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) onListElementContinuationElement1521() (interface{}, error) { + return types.NewBlankLine() } -func (p *parser) callonDoubleQuoteMonospaceTextElement111() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1521() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement111() + return p.cur.onListElementContinuationElement1521() } -func (c *current) onDoubleQuoteMonospaceTextElement118() (bool, error) { - return c.isSubstitutionEnabled(Attributes) +func (c *current) onListElementContinuationElement1444(cells interface{}) (interface{}, error) { + return types.NewTableRow(cells.([]interface{})) } -func (p *parser) callonDoubleQuoteMonospaceTextElement118() (bool, error) { +func (p *parser) callonListElementContinuationElement1444() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement118() + return p.cur.onListElementContinuationElement1444(stack["cells"]) } -func (c *current) onDoubleQuoteMonospaceTextElement125() (interface{}, error) { +func (c *current) onListElementContinuationElement1541() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement125() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1541() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement125() + return p.cur.onListElementContinuationElement1541() } -func (c *current) onDoubleQuoteMonospaceTextElement137() (interface{}, error) { +func (c *current) onListElementContinuationElement1544() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonDoubleQuoteMonospaceTextElement137() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1544() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement137() + return p.cur.onListElementContinuationElement1544() } -func (c *current) onDoubleQuoteMonospaceTextElement139() (interface{}, error) { - - return strconv.Atoi(string(c.text)) +func (c *current) onListElementContinuationElement1269(header, rows interface{}) (interface{}, error) { + return types.NewTable(header, rows.([]interface{})) } -func (p *parser) callonDoubleQuoteMonospaceTextElement139() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1269() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement139() + return p.cur.onListElementContinuationElement1269(stack["header"], stack["rows"]) } -func (c *current) onDoubleQuoteMonospaceTextElement132(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onListElementContinuationElement1559() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement132() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1559() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement132(stack["start"]) + return p.cur.onListElementContinuationElement1559() } -func (c *current) onDoubleQuoteMonospaceTextElement121(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) +func (c *current) onListElementContinuationElement1563() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement121() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1563() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement121(stack["name"], stack["start"]) + return p.cur.onListElementContinuationElement1563() } -func (c *current) onDoubleQuoteMonospaceTextElement147() (interface{}, error) { - return string(c.text), nil +func (c *current) onListElementContinuationElement1553(content interface{}) (interface{}, error) { + return types.NewSingleLineComment(content.(string)) } -func (p *parser) callonDoubleQuoteMonospaceTextElement147() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1553() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement147() + return p.cur.onListElementContinuationElement1553(stack["content"]) } -func (c *current) onDoubleQuoteMonospaceTextElement159() (interface{}, error) { - return string(c.text), nil - +func (c *current) onListElementContinuationElement1574() (interface{}, error) { + return types.Tip, nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement159() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1574() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement159() + return p.cur.onListElementContinuationElement1574() } -func (c *current) onDoubleQuoteMonospaceTextElement161() (interface{}, error) { - - return strconv.Atoi(string(c.text)) - +func (c *current) onListElementContinuationElement1576() (interface{}, error) { + return types.Note, nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement161() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1576() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement161() + return p.cur.onListElementContinuationElement1576() } -func (c *current) onDoubleQuoteMonospaceTextElement154(start interface{}) (interface{}, error) { - return start, nil - +func (c *current) onListElementContinuationElement1578() (interface{}, error) { + return types.Important, nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement154() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1578() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement154(stack["start"]) + return p.cur.onListElementContinuationElement1578() } -func (c *current) onDoubleQuoteMonospaceTextElement143(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) +func (c *current) onListElementContinuationElement1580() (interface{}, error) { + return types.Warning, nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement143() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1580() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement143(stack["name"], stack["start"]) + return p.cur.onListElementContinuationElement1580() } -func (c *current) onDoubleQuoteMonospaceTextElement169() (interface{}, error) { - return string(c.text), nil - +func (c *current) onListElementContinuationElement1582() (interface{}, error) { + return types.Caution, nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement169() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1582() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement169() + return p.cur.onListElementContinuationElement1582() } -func (c *current) onDoubleQuoteMonospaceTextElement165(name interface{}) (interface{}, error) { +func (c *current) onListElementContinuationElement1589() (interface{}, error) { + return strings.TrimRight(string(c.text), " \t"), nil // trim spaces and tabs - return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonDoubleQuoteMonospaceTextElement165() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1589() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement165(stack["name"]) + return p.cur.onListElementContinuationElement1589() } -func (c *current) onDoubleQuoteMonospaceTextElement116(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onListElementContinuationElement1592(content interface{}) (bool, error) { + return len(strings.TrimSpace(content.(string))) > 0, nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement116() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1592() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement116(stack["element"]) + return p.cur.onListElementContinuationElement1592(stack["content"]) } -func (c *current) onDoubleQuoteMonospaceTextElement175() (interface{}, error) { - - return types.NewStringElement(string(c.text)) - +func (c *current) onListElementContinuationElement1594() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement175() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1594() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement175() + return p.cur.onListElementContinuationElement1594() } -func (c *current) onDoubleQuoteMonospaceTextElement97(id, label interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, label) +func (c *current) onListElementContinuationElement1586(content interface{}) (interface{}, error) { + return types.NewRawLine(content.(string)) } -func (p *parser) callonDoubleQuoteMonospaceTextElement97() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1586() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement97(stack["id"], stack["label"]) + return p.cur.onListElementContinuationElement1586(stack["content"]) } -func (c *current) onDoubleQuoteMonospaceTextElement182() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ +func (c *current) onListElementContinuationElement1609() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement182() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1609() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement182() + return p.cur.onListElementContinuationElement1609() } -func (c *current) onDoubleQuoteMonospaceTextElement178(id interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, nil) - +func (c *current) onListElementContinuationElement1611() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement178() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1611() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement178(stack["id"]) + return p.cur.onListElementContinuationElement1611() } -func (c *current) onDoubleQuoteMonospaceTextElement95() (interface{}, error) { - return types.NewStringElement(string(c.text)) +func (c *current) onListElementContinuationElement1624() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement95() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1624() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement95() + return p.cur.onListElementContinuationElement1624() } -func (c *current) onDoubleQuoteMonospaceTextElement186() (interface{}, error) { - return types.NewSpecialCharacter(string(c.text)) - +func (c *current) onListElementContinuationElement1628() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement186() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1628() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement186() + return p.cur.onListElementContinuationElement1628() } -func (c *current) onDoubleQuoteMonospaceTextElement90(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onListElementContinuationElement1618(content interface{}) (interface{}, error) { + return types.NewSingleLineComment(content.(string)) } -func (p *parser) callonDoubleQuoteMonospaceTextElement90() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1618() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement90(stack["element"]) + return p.cur.onListElementContinuationElement1618(stack["content"]) } -func (c *current) onDoubleQuoteMonospaceTextElement188() (interface{}, error) { - return types.NewStringElement("\u2019") +func (c *current) onListElementContinuationElement1638() (interface{}, error) { + return strings.TrimRight(string(c.text), " \t"), nil // trim spaces and tabs } -func (p *parser) callonDoubleQuoteMonospaceTextElement188() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1638() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement188() + return p.cur.onListElementContinuationElement1638() } -func (c *current) onDoubleQuoteMonospaceTextElement190() (interface{}, error) { - return types.NewStringElement("\u00a9") +func (c *current) onListElementContinuationElement1641(content interface{}) (bool, error) { + return len(strings.TrimSpace(content.(string))) > 0, nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement190() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1641() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement190() + return p.cur.onListElementContinuationElement1641(stack["content"]) } -func (c *current) onDoubleQuoteMonospaceTextElement192() (interface{}, error) { - return types.NewStringElement("\u2122") - +func (c *current) onListElementContinuationElement1643() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement192() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1643() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement192() + return p.cur.onListElementContinuationElement1643() } -func (c *current) onDoubleQuoteMonospaceTextElement194() (interface{}, error) { - return types.NewStringElement("\u00ae") +func (c *current) onListElementContinuationElement1635(content interface{}) (interface{}, error) { + return types.NewRawLine(content.(string)) } -func (p *parser) callonDoubleQuoteMonospaceTextElement194() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1635() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement194() + return p.cur.onListElementContinuationElement1635(stack["content"]) } -func (c *current) onDoubleQuoteMonospaceTextElement196() (interface{}, error) { - return types.NewStringElement("\u2026\u200b") +func (c *current) onListElementContinuationElement1603(line interface{}) (interface{}, error) { + return line, nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement196() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1603() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement196() + return p.cur.onListElementContinuationElement1603(stack["line"]) } -func (c *current) onDoubleQuoteMonospaceTextElement198() (interface{}, error) { - return types.NewStringElement(string(c.text[:1]) + "\u2019") +func (c *current) onListElementContinuationElement1570(kind, firstLine, otherLines interface{}) (interface{}, error) { + + return types.NewAdmonitionParagraph(kind.(string), append([]interface{}{firstLine}, otherLines.([]interface{})...)) } -func (p *parser) callonDoubleQuoteMonospaceTextElement198() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1570() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement198() + return p.cur.onListElementContinuationElement1570(stack["kind"], stack["firstLine"], stack["otherLines"]) } -func (c *current) onDoubleQuoteMonospaceTextElement212() (interface{}, error) { +func (c *current) onListElementContinuationElement1658() (interface{}, error) { + // log.Debug("matched multiple spaces") return string(c.text), nil + } -func (p *parser) callonDoubleQuoteMonospaceTextElement212() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1658() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement212() + return p.cur.onListElementContinuationElement1658() } -func (c *current) onDoubleQuoteMonospaceTextElement208(ref interface{}) (interface{}, error) { - return types.NewElementPlaceHolder(ref.(string)) +func (c *current) onListElementContinuationElement1656() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonDoubleQuoteMonospaceTextElement208() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1656() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement208(stack["ref"]) + return p.cur.onListElementContinuationElement1656() } -func (c *current) onDoubleQuoteMonospaceTextElement220() (interface{}, error) { - return string(c.text), nil +func (c *current) onListElementContinuationElement1663(content interface{}) (bool, error) { + return len(strings.TrimSpace(string(c.text))) > 0, nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement220() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1663() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement220() + return p.cur.onListElementContinuationElement1663(stack["content"]) } -func (c *current) onDoubleQuoteMonospaceTextElement217() (interface{}, error) { - // ` or a monospace delimiter when immediately followed by an alphanum (ie, in the middle of some text) - return types.NewStringElement(string(c.text)) - +func (c *current) onListElementContinuationElement1665() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement217() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1665() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement217() + return p.cur.onListElementContinuationElement1665() } -func (c *current) onDoubleQuoteMonospaceTextElement1(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onListElementContinuationElement1653(content interface{}) (interface{}, error) { + return types.NewRawLine(content.(string)) } -func (p *parser) callonDoubleQuoteMonospaceTextElement1() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1653() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement1(stack["element"]) + return p.cur.onListElementContinuationElement1653(stack["content"]) } -func (c *current) onQuotedTextInDoubleQuoteMonospaceText1(attributes, text interface{}) (interface{}, error) { - return text.(*types.QuotedText).WithAttributes(attributes) +func (c *current) onListElementContinuationElement1681() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonQuotedTextInDoubleQuoteMonospaceText1() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1681() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onQuotedTextInDoubleQuoteMonospaceText1(stack["attributes"], stack["text"]) + return p.cur.onListElementContinuationElement1681() } -func (c *current) onSingleQuoteMonospaceText1(elements interface{}) (interface{}, error) { - - return types.NewQuotedText(types.SingleQuoteMonospace, elements.([]interface{})) - +func (c *current) onListElementContinuationElement1685() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonSingleQuoteMonospaceText1() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1685() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceText1(stack["elements"]) + return p.cur.onListElementContinuationElement1685() } -func (c *current) onSingleQuoteMonospaceTextElements7() (interface{}, error) { - return string(c.text), nil +func (c *current) onListElementContinuationElement1675(content interface{}) (interface{}, error) { + return types.NewSingleLineComment(content.(string)) } -func (p *parser) callonSingleQuoteMonospaceTextElements7() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1675() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElements7() + return p.cur.onListElementContinuationElement1675(stack["content"]) } -func (c *current) onSingleQuoteMonospaceTextElements12(elements interface{}) (bool, error) { - return validateSingleQuoteElements(elements.([]interface{})) // cannot end with spaces +func (c *current) onListElementContinuationElement1695() (interface{}, error) { + return strings.TrimRight(string(c.text), " \t"), nil // trim spaces and tabs } -func (p *parser) callonSingleQuoteMonospaceTextElements12() (bool, error) { +func (p *parser) callonListElementContinuationElement1695() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElements12(stack["elements"]) + return p.cur.onListElementContinuationElement1695() } -func (c *current) onSingleQuoteMonospaceTextElements1(elements interface{}) (interface{}, error) { - return elements, nil +func (c *current) onListElementContinuationElement1698(content interface{}) (bool, error) { + return len(strings.TrimSpace(content.(string))) > 0, nil } -func (p *parser) callonSingleQuoteMonospaceTextElements1() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1698() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElements1(stack["elements"]) + return p.cur.onListElementContinuationElement1698(stack["content"]) } -func (c *current) onSingleQuoteMonospaceTextElement2() (interface{}, error) { - return types.NewStringElement(string(c.text)) - +func (c *current) onListElementContinuationElement1700() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonSingleQuoteMonospaceTextElement2() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1700() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement2() + return p.cur.onListElementContinuationElement1700() } -func (c *current) onSingleQuoteMonospaceTextElement11() (interface{}, error) { - // allow ` - return types.NewStringElement(string(c.text)) +func (c *current) onListElementContinuationElement1692(content interface{}) (interface{}, error) { + return types.NewRawLine(content.(string)) } -func (p *parser) callonSingleQuoteMonospaceTextElement11() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1692() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement11() + return p.cur.onListElementContinuationElement1692(stack["content"]) } -func (c *current) onSingleQuoteMonospaceTextElement20() (interface{}, error) { - // log.Debug("matched multiple spaces") - return string(c.text), nil +func (c *current) onListElementContinuationElement1650(firstLine, otherLines interface{}) (interface{}, error) { + + return types.NewLiteralParagraph(types.LiteralBlockWithSpacesOnFirstLine, append([]interface{}{firstLine}, otherLines.([]interface{})...)) } -func (p *parser) callonSingleQuoteMonospaceTextElement20() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1650() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement20() + return p.cur.onListElementContinuationElement1650(stack["firstLine"], stack["otherLines"]) } -func (c *current) onSingleQuoteMonospaceTextElement24() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onListElementContinuationElement1710() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonSingleQuoteMonospaceTextElement24() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1710() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement24() + return p.cur.onListElementContinuationElement1710() } -func (c *current) onSingleQuoteMonospaceTextElement30() (interface{}, error) { +func (c *current) onListElementContinuationElement1714() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonSingleQuoteMonospaceTextElement30() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1714() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement30() + return p.cur.onListElementContinuationElement1714() } -func (c *current) onSingleQuoteMonospaceTextElement37() (bool, error) { - return c.isSubstitutionEnabled(Attributes) +func (c *current) onListElementContinuationElement1707(content interface{}) (interface{}, error) { + // do not retain the EOL chars + return types.NewParagraph(types.RawLine(content.(string))) } -func (p *parser) callonSingleQuoteMonospaceTextElement37() (bool, error) { +func (p *parser) callonListElementContinuationElement1707() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement37() + return p.cur.onListElementContinuationElement1707(stack["content"]) } -func (c *current) onSingleQuoteMonospaceTextElement44() (interface{}, error) { - return string(c.text), nil +func (c *current) onListElementContinuationElement1(attributes, element interface{}) (interface{}, error) { + if element, ok := element.(types.WithAttributes); ok && attributes != nil { + element.AddAttributes(attributes.(types.Attributes)) + } + // if log.IsLevelEnabled(log.DebugLevel) { + // log.Debugf("returning element '%s'\n", spew.Sdump(element)) + // } + return element, nil } -func (p *parser) callonSingleQuoteMonospaceTextElement44() (interface{}, error) { +func (p *parser) callonListElementContinuationElement1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement44() + return p.cur.onListElementContinuationElement1(stack["attributes"], stack["element"]) } -func (c *current) onSingleQuoteMonospaceTextElement56() (interface{}, error) { - return string(c.text), nil +func (c *current) onCallout3() (bool, error) { + return c.isSubstitutionEnabled(Callouts), nil } -func (p *parser) callonSingleQuoteMonospaceTextElement56() (interface{}, error) { +func (p *parser) callonCallout3() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement56() + return p.cur.onCallout3() } -func (c *current) onSingleQuoteMonospaceTextElement58() (interface{}, error) { - +func (c *current) onCallout6() (interface{}, error) { return strconv.Atoi(string(c.text)) - } -func (p *parser) callonSingleQuoteMonospaceTextElement58() (interface{}, error) { +func (p *parser) callonCallout6() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement58() + return p.cur.onCallout6() } -func (c *current) onSingleQuoteMonospaceTextElement51(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onCallout11() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonSingleQuoteMonospaceTextElement51() (interface{}, error) { +func (p *parser) callonCallout11() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement51(stack["start"]) + return p.cur.onCallout11() } -func (c *current) onSingleQuoteMonospaceTextElement40(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) +func (c *current) onCallout15() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonSingleQuoteMonospaceTextElement40() (interface{}, error) { +func (p *parser) callonCallout15() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement40(stack["name"], stack["start"]) + return p.cur.onCallout15() } -func (c *current) onSingleQuoteMonospaceTextElement66() (interface{}, error) { - return string(c.text), nil +func (c *current) onCallout1(ref interface{}) (interface{}, error) { + return types.NewCallout(ref.(int)) } -func (p *parser) callonSingleQuoteMonospaceTextElement66() (interface{}, error) { +func (p *parser) callonCallout1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement66() + return p.cur.onCallout1(stack["ref"]) } -func (c *current) onSingleQuoteMonospaceTextElement78() (interface{}, error) { +func (c *current) onShortcutParagraph10() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSingleQuoteMonospaceTextElement78() (interface{}, error) { +func (p *parser) callonShortcutParagraph10() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement78() + return p.cur.onShortcutParagraph10() } -func (c *current) onSingleQuoteMonospaceTextElement80() (interface{}, error) { +func (c *current) onShortcutParagraph17() (interface{}, error) { - return strconv.Atoi(string(c.text)) + // `.` is 1, etc. + return (len(c.text)), nil } -func (p *parser) callonSingleQuoteMonospaceTextElement80() (interface{}, error) { +func (p *parser) callonShortcutParagraph17() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement80() + return p.cur.onShortcutParagraph17() } -func (c *current) onSingleQuoteMonospaceTextElement73(start interface{}) (interface{}, error) { - return start, nil - -} +func (c *current) onShortcutParagraph20(depth interface{}) (bool, error) { -func (p *parser) callonSingleQuoteMonospaceTextElement73() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onSingleQuoteMonospaceTextElement73(stack["start"]) -} + // use a predicate to make sure that only `.` to `.....` are allowed + return depth.(int) <= 5, nil -func (c *current) onSingleQuoteMonospaceTextElement62(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) } -func (p *parser) callonSingleQuoteMonospaceTextElement62() (interface{}, error) { +func (p *parser) callonShortcutParagraph20() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement62(stack["name"], stack["start"]) + return p.cur.onShortcutParagraph20(stack["depth"]) } -func (c *current) onSingleQuoteMonospaceTextElement88() (interface{}, error) { - return string(c.text), nil +func (c *current) onShortcutParagraph14(depth interface{}) (interface{}, error) { + switch depth.(int) { + case 1: + return types.NewOrderedListElementPrefix(types.Arabic) + case 2: + return types.NewOrderedListElementPrefix(types.LowerAlpha) + case 3: + return types.NewOrderedListElementPrefix(types.LowerRoman) + case 4: + return types.NewOrderedListElementPrefix(types.UpperAlpha) + default: + return types.NewOrderedListElementPrefix(types.UpperRoman) + } } -func (p *parser) callonSingleQuoteMonospaceTextElement88() (interface{}, error) { +func (p *parser) callonShortcutParagraph14() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement88() + return p.cur.onShortcutParagraph14(stack["depth"]) } -func (c *current) onSingleQuoteMonospaceTextElement84(name interface{}) (interface{}, error) { +func (c *current) onShortcutParagraph21() (interface{}, error) { + // numbering style: "1.", etc. + return types.NewOrderedListElementPrefix(types.Arabic) - return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonSingleQuoteMonospaceTextElement84() (interface{}, error) { +func (p *parser) callonShortcutParagraph21() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement84(stack["name"]) + return p.cur.onShortcutParagraph21() } -func (c *current) onSingleQuoteMonospaceTextElement35(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onShortcutParagraph26() (interface{}, error) { + // numbering style: "a.", etc. + return types.NewOrderedListElementPrefix(types.LowerAlpha) } -func (p *parser) callonSingleQuoteMonospaceTextElement35() (interface{}, error) { +func (p *parser) callonShortcutParagraph26() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement35(stack["element"]) + return p.cur.onShortcutParagraph26() } -func (c *current) onSingleQuoteMonospaceTextElement96() (bool, error) { - return c.isSubstitutionEnabled(SpecialCharacters) +func (c *current) onShortcutParagraph30() (interface{}, error) { + // numbering style: "A.", etc. + return types.NewOrderedListElementPrefix(types.UpperAlpha) } -func (p *parser) callonSingleQuoteMonospaceTextElement96() (bool, error) { +func (p *parser) callonShortcutParagraph30() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement96() + return p.cur.onShortcutParagraph30() } -func (c *current) onSingleQuoteMonospaceTextElement105() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ - return string(c.text), nil +func (c *current) onShortcutParagraph34() (interface{}, error) { + // numbering style: "i)", etc. + return types.NewOrderedListElementPrefix(types.LowerRoman) } -func (p *parser) callonSingleQuoteMonospaceTextElement105() (interface{}, error) { +func (p *parser) callonShortcutParagraph34() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement105() + return p.cur.onShortcutParagraph34() } -func (c *current) onSingleQuoteMonospaceTextElement109() (interface{}, error) { - return string(c.text), nil +func (c *current) onShortcutParagraph39() (interface{}, error) { + // numbering style: "I)", etc. + return types.NewOrderedListElementPrefix(types.UpperRoman) } -func (p *parser) callonSingleQuoteMonospaceTextElement109() (interface{}, error) { +func (p *parser) callonShortcutParagraph39() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement109() + return p.cur.onShortcutParagraph39() } -func (c *current) onSingleQuoteMonospaceTextElement115() (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) onShortcutParagraph44(prefix interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") + return string(c.text), nil } -func (p *parser) callonSingleQuoteMonospaceTextElement115() (interface{}, error) { +func (p *parser) callonShortcutParagraph44() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement115() + return p.cur.onShortcutParagraph44(stack["prefix"]) } -func (c *current) onSingleQuoteMonospaceTextElement122() (bool, error) { - return c.isSubstitutionEnabled(Attributes) - +func (c *current) onShortcutParagraph7(prefix interface{}) (interface{}, error) { + return prefix, nil } -func (p *parser) callonSingleQuoteMonospaceTextElement122() (bool, error) { +func (p *parser) callonShortcutParagraph7() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement122() + return p.cur.onShortcutParagraph7(stack["prefix"]) } -func (c *current) onSingleQuoteMonospaceTextElement129() (interface{}, error) { +func (c *current) onShortcutParagraph52() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSingleQuoteMonospaceTextElement129() (interface{}, error) { +func (p *parser) callonShortcutParagraph52() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement129() + return p.cur.onShortcutParagraph52() } -func (c *current) onSingleQuoteMonospaceTextElement141() (interface{}, error) { - return string(c.text), nil +func (c *current) onShortcutParagraph59() (interface{}, error) { + + // `*` is 1, etc. + return (len(c.text)), nil } -func (p *parser) callonSingleQuoteMonospaceTextElement141() (interface{}, error) { +func (p *parser) callonShortcutParagraph59() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement141() + return p.cur.onShortcutParagraph59() } -func (c *current) onSingleQuoteMonospaceTextElement143() (interface{}, error) { +func (c *current) onShortcutParagraph62(depth interface{}) (bool, error) { - return strconv.Atoi(string(c.text)) + // use a predicate to make sure that only `*` to `*****` are allowed + return depth.(int) <= 5, nil } -func (p *parser) callonSingleQuoteMonospaceTextElement143() (interface{}, error) { +func (p *parser) callonShortcutParagraph62() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement143() + return p.cur.onShortcutParagraph62(stack["depth"]) } -func (c *current) onSingleQuoteMonospaceTextElement136(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onShortcutParagraph56(depth interface{}) (interface{}, error) { + switch depth.(int) { + case 1: + return types.NewUnorderedListElementPrefix(types.OneAsterisk) + case 2: + return types.NewUnorderedListElementPrefix(types.TwoAsterisks) + case 3: + return types.NewUnorderedListElementPrefix(types.ThreeAsterisks) + case 4: + return types.NewUnorderedListElementPrefix(types.FourAsterisks) + default: + return types.NewUnorderedListElementPrefix(types.FiveAsterisks) + } } -func (p *parser) callonSingleQuoteMonospaceTextElement136() (interface{}, error) { +func (p *parser) callonShortcutParagraph56() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement136(stack["start"]) + return p.cur.onShortcutParagraph56(stack["depth"]) } -func (c *current) onSingleQuoteMonospaceTextElement125(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) +func (c *current) onShortcutParagraph64() (interface{}, error) { + return types.NewUnorderedListElementPrefix(types.Dash) + } -func (p *parser) callonSingleQuoteMonospaceTextElement125() (interface{}, error) { +func (p *parser) callonShortcutParagraph64() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement125(stack["name"], stack["start"]) + return p.cur.onShortcutParagraph64() } -func (c *current) onSingleQuoteMonospaceTextElement151() (interface{}, error) { +func (c *current) onShortcutParagraph66(prefix interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") return string(c.text), nil } -func (p *parser) callonSingleQuoteMonospaceTextElement151() (interface{}, error) { +func (p *parser) callonShortcutParagraph66() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement151() + return p.cur.onShortcutParagraph66(stack["prefix"]) } -func (c *current) onSingleQuoteMonospaceTextElement163() (interface{}, error) { - return string(c.text), nil - +func (c *current) onShortcutParagraph49(prefix interface{}) (interface{}, error) { + return prefix, nil } -func (p *parser) callonSingleQuoteMonospaceTextElement163() (interface{}, error) { +func (p *parser) callonShortcutParagraph49() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement163() + return p.cur.onShortcutParagraph49(stack["prefix"]) } -func (c *current) onSingleQuoteMonospaceTextElement165() (interface{}, error) { - - return strconv.Atoi(string(c.text)) - +func (c *current) onShortcutParagraph72() (interface{}, error) { + return types.Tip, nil } -func (p *parser) callonSingleQuoteMonospaceTextElement165() (interface{}, error) { +func (p *parser) callonShortcutParagraph72() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement165() + return p.cur.onShortcutParagraph72() } -func (c *current) onSingleQuoteMonospaceTextElement158(start interface{}) (interface{}, error) { - return start, nil - +func (c *current) onShortcutParagraph74() (interface{}, error) { + return types.Note, nil } -func (p *parser) callonSingleQuoteMonospaceTextElement158() (interface{}, error) { +func (p *parser) callonShortcutParagraph74() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement158(stack["start"]) + return p.cur.onShortcutParagraph74() } -func (c *current) onSingleQuoteMonospaceTextElement147(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) +func (c *current) onShortcutParagraph76() (interface{}, error) { + return types.Important, nil } -func (p *parser) callonSingleQuoteMonospaceTextElement147() (interface{}, error) { +func (p *parser) callonShortcutParagraph76() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement147(stack["name"], stack["start"]) + return p.cur.onShortcutParagraph76() } -func (c *current) onSingleQuoteMonospaceTextElement173() (interface{}, error) { - return string(c.text), nil - +func (c *current) onShortcutParagraph78() (interface{}, error) { + return types.Warning, nil } -func (p *parser) callonSingleQuoteMonospaceTextElement173() (interface{}, error) { +func (p *parser) callonShortcutParagraph78() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement173() + return p.cur.onShortcutParagraph78() } -func (c *current) onSingleQuoteMonospaceTextElement169(name interface{}) (interface{}, error) { - - return types.NewAttributeSubstitution(name.(string), string(c.text)) +func (c *current) onShortcutParagraph80() (interface{}, error) { + return types.Caution, nil } -func (p *parser) callonSingleQuoteMonospaceTextElement169() (interface{}, error) { +func (p *parser) callonShortcutParagraph80() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement169(stack["name"]) + return p.cur.onShortcutParagraph80() } -func (c *current) onSingleQuoteMonospaceTextElement120(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onShortcutParagraph86() (interface{}, error) { + return strings.TrimRight(string(c.text), " \t"), nil // trim spaces and tabs } -func (p *parser) callonSingleQuoteMonospaceTextElement120() (interface{}, error) { +func (p *parser) callonShortcutParagraph86() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement120(stack["element"]) + return p.cur.onShortcutParagraph86() } -func (c *current) onSingleQuoteMonospaceTextElement179() (interface{}, error) { - - return types.NewStringElement(string(c.text)) +func (c *current) onShortcutParagraph89(content interface{}) (bool, error) { + return len(strings.TrimSpace(content.(string))) > 0, nil } -func (p *parser) callonSingleQuoteMonospaceTextElement179() (interface{}, error) { +func (p *parser) callonShortcutParagraph89() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement179() + return p.cur.onShortcutParagraph89(stack["content"]) } -func (c *current) onSingleQuoteMonospaceTextElement101(id, label interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, label) - +func (c *current) onShortcutParagraph91() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonSingleQuoteMonospaceTextElement101() (interface{}, error) { +func (p *parser) callonShortcutParagraph91() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement101(stack["id"], stack["label"]) + return p.cur.onShortcutParagraph91() } -func (c *current) onSingleQuoteMonospaceTextElement186() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ - return string(c.text), nil +func (c *current) onShortcutParagraph83(content interface{}) (interface{}, error) { + return types.NewRawLine(content.(string)) } -func (p *parser) callonSingleQuoteMonospaceTextElement186() (interface{}, error) { +func (p *parser) callonShortcutParagraph83() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement186() + return p.cur.onShortcutParagraph83(stack["content"]) } -func (c *current) onSingleQuoteMonospaceTextElement182(id interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, nil) +func (c *current) onShortcutParagraph98(firstLine interface{}) (bool, error) { + // also, make sure that there is no LabeledListElement delimiter (`::` - `::::`) + // in the middle of the line (with space afterwards) + // or at the end of the line + return !strings.Contains(string(firstLine.(types.RawLine)), ":: ") && + !strings.HasSuffix(string(firstLine.(types.RawLine)), "::"), nil } -func (p *parser) callonSingleQuoteMonospaceTextElement182() (interface{}, error) { +func (p *parser) callonShortcutParagraph98() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement182(stack["id"]) + return p.cur.onShortcutParagraph98(stack["firstLine"]) } -func (c *current) onSingleQuoteMonospaceTextElement99() (interface{}, error) { - return types.NewStringElement(string(c.text)) +func (c *current) onShortcutParagraph113() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonSingleQuoteMonospaceTextElement99() (interface{}, error) { +func (p *parser) callonShortcutParagraph113() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement99() + return p.cur.onShortcutParagraph113() } -func (c *current) onSingleQuoteMonospaceTextElement190() (interface{}, error) { - return types.NewSpecialCharacter(string(c.text)) - +func (c *current) onShortcutParagraph116() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonSingleQuoteMonospaceTextElement190() (interface{}, error) { +func (p *parser) callonShortcutParagraph116() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement190() + return p.cur.onShortcutParagraph116() } -func (c *current) onSingleQuoteMonospaceTextElement94(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onShortcutParagraph107() (interface{}, error) { + return types.NewBlankLine() } -func (p *parser) callonSingleQuoteMonospaceTextElement94() (interface{}, error) { +func (p *parser) callonShortcutParagraph107() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement94(stack["element"]) + return p.cur.onShortcutParagraph107() } -func (c *current) onSingleQuoteMonospaceTextElement192() (interface{}, error) { - return types.NewStringElement("\u2019") +func (c *current) onShortcutParagraph129() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonSingleQuoteMonospaceTextElement192() (interface{}, error) { +func (p *parser) callonShortcutParagraph129() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement192() + return p.cur.onShortcutParagraph129() } -func (c *current) onSingleQuoteMonospaceTextElement194() (interface{}, error) { - return types.NewStringElement("\u00a9") - +func (c *current) onShortcutParagraph131() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonSingleQuoteMonospaceTextElement194() (interface{}, error) { +func (p *parser) callonShortcutParagraph131() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement194() + return p.cur.onShortcutParagraph131() } -func (c *current) onSingleQuoteMonospaceTextElement196() (interface{}, error) { - return types.NewStringElement("\u2122") +func (c *current) onShortcutParagraph144() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonSingleQuoteMonospaceTextElement196() (interface{}, error) { +func (p *parser) callonShortcutParagraph144() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement196() + return p.cur.onShortcutParagraph144() } -func (c *current) onSingleQuoteMonospaceTextElement198() (interface{}, error) { - return types.NewStringElement("\u00ae") - +func (c *current) onShortcutParagraph148() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonSingleQuoteMonospaceTextElement198() (interface{}, error) { +func (p *parser) callonShortcutParagraph148() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement198() + return p.cur.onShortcutParagraph148() } -func (c *current) onSingleQuoteMonospaceTextElement200() (interface{}, error) { - return types.NewStringElement("\u2026\u200b") +func (c *current) onShortcutParagraph138(content interface{}) (interface{}, error) { + return types.NewSingleLineComment(content.(string)) } -func (p *parser) callonSingleQuoteMonospaceTextElement200() (interface{}, error) { +func (p *parser) callonShortcutParagraph138() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement200() + return p.cur.onShortcutParagraph138(stack["content"]) } -func (c *current) onSingleQuoteMonospaceTextElement202() (interface{}, error) { - return types.NewStringElement(string(c.text[:1]) + "\u2019") +func (c *current) onShortcutParagraph158() (interface{}, error) { + return strings.TrimRight(string(c.text), " \t"), nil // trim spaces and tabs } -func (p *parser) callonSingleQuoteMonospaceTextElement202() (interface{}, error) { +func (p *parser) callonShortcutParagraph158() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement202() + return p.cur.onShortcutParagraph158() } -func (c *current) onSingleQuoteMonospaceTextElement216() (interface{}, error) { - return string(c.text), nil +func (c *current) onShortcutParagraph161(content interface{}) (bool, error) { + return len(strings.TrimSpace(content.(string))) > 0, nil + } -func (p *parser) callonSingleQuoteMonospaceTextElement216() (interface{}, error) { +func (p *parser) callonShortcutParagraph161() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement216() + return p.cur.onShortcutParagraph161(stack["content"]) } -func (c *current) onSingleQuoteMonospaceTextElement212(ref interface{}) (interface{}, error) { - return types.NewElementPlaceHolder(ref.(string)) +func (c *current) onShortcutParagraph163() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonSingleQuoteMonospaceTextElement212() (interface{}, error) { +func (p *parser) callonShortcutParagraph163() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement212(stack["ref"]) + return p.cur.onShortcutParagraph163() } -func (c *current) onSingleQuoteMonospaceTextElement225() (interface{}, error) { - return string(c.text), nil +func (c *current) onShortcutParagraph155(content interface{}) (interface{}, error) { + return types.NewRawLine(content.(string)) } -func (p *parser) callonSingleQuoteMonospaceTextElement225() (interface{}, error) { +func (p *parser) callonShortcutParagraph155() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement225() + return p.cur.onShortcutParagraph155(stack["content"]) } -func (c *current) onSingleQuoteMonospaceTextElement220() (interface{}, error) { - // or an monospace delimiter when immediately followed by an alphanum (ie, in the middle of some text) - return types.NewStringElement(string(c.text)) +func (c *current) onShortcutParagraph101(line interface{}) (interface{}, error) { + return line, nil } -func (p *parser) callonSingleQuoteMonospaceTextElement220() (interface{}, error) { +func (p *parser) callonShortcutParagraph101() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement220() + return p.cur.onShortcutParagraph101(stack["line"]) } -func (c *current) onQuotedTextInSingleQuoteMonospaceText1(attributes, text interface{}) (interface{}, error) { - return text.(*types.QuotedText).WithAttributes(attributes) +func (c *current) onShortcutParagraph1(firstLine, otherLines interface{}) (interface{}, error) { + return types.NewParagraph(append([]interface{}{firstLine}, otherLines.([]interface{})...)...) } -func (p *parser) callonQuotedTextInSingleQuoteMonospaceText1() (interface{}, error) { +func (p *parser) callonShortcutParagraph1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onQuotedTextInSingleQuoteMonospaceText1(stack["attributes"], stack["text"]) + return p.cur.onShortcutParagraph1(stack["firstLine"], stack["otherLines"]) } -func (c *current) onEscapedMonospaceText5() (interface{}, error) { - return string(c.text), nil +func (c *current) onParagraph7() (interface{}, error) { + return strings.TrimRight(string(c.text), " \t"), nil // trim spaces and tabs } -func (p *parser) callonEscapedMonospaceText5() (interface{}, error) { +func (p *parser) callonParagraph7() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onEscapedMonospaceText5() + return p.cur.onParagraph7() } -func (c *current) onEscapedMonospaceText2(backslashes, elements interface{}) (interface{}, error) { - // double punctuation must be evaluated first - return types.NewEscapedQuotedText(backslashes.(string), "``", elements.([]interface{})) +func (c *current) onParagraph10(content interface{}) (bool, error) { + return len(strings.TrimSpace(content.(string))) > 0, nil } -func (p *parser) callonEscapedMonospaceText2() (interface{}, error) { +func (p *parser) callonParagraph10() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onEscapedMonospaceText2(stack["backslashes"], stack["elements"]) + return p.cur.onParagraph10(stack["content"]) } -func (c *current) onEscapedMonospaceText17() (interface{}, error) { +func (c *current) onParagraph12() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonEscapedMonospaceText17() (interface{}, error) { +func (p *parser) callonParagraph12() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onEscapedMonospaceText17() + return p.cur.onParagraph12() } -func (c *current) onEscapedMonospaceText14(backslashes, elements interface{}) (interface{}, error) { - // unbalanced "``" vs "`" punctuation - result := append([]interface{}{"`"}, elements.([]interface{})) - return types.NewEscapedQuotedText(backslashes.(string), "`", result) +func (c *current) onParagraph4(content interface{}) (interface{}, error) { + return types.NewRawLine(content.(string)) } -func (p *parser) callonEscapedMonospaceText14() (interface{}, error) { +func (p *parser) callonParagraph4() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onEscapedMonospaceText14(stack["backslashes"], stack["elements"]) + return p.cur.onParagraph4(stack["content"]) } -func (c *current) onEscapedMonospaceText27() (interface{}, error) { +func (c *current) onParagraph33() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonEscapedMonospaceText27() (interface{}, error) { +func (p *parser) callonParagraph33() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onEscapedMonospaceText27() + return p.cur.onParagraph33() } -func (c *current) onEscapedMonospaceText24(backslashes, elements interface{}) (interface{}, error) { - // simple punctuation must be evaluated last - return types.NewEscapedQuotedText(backslashes.(string), "`", elements.([]interface{})) - +func (c *current) onParagraph36() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonEscapedMonospaceText24() (interface{}, error) { +func (p *parser) callonParagraph36() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onEscapedMonospaceText24(stack["backslashes"], stack["elements"]) + return p.cur.onParagraph36() } -func (c *current) onDoubleQuoteMarkedText1(elements interface{}) (interface{}, error) { - - return types.NewQuotedText(types.DoubleQuoteMarked, elements.([]interface{})) +func (c *current) onParagraph27() (interface{}, error) { + return types.NewBlankLine() } -func (p *parser) callonDoubleQuoteMarkedText1() (interface{}, error) { +func (p *parser) callonParagraph27() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedText1(stack["elements"]) + return p.cur.onParagraph27() } -func (c *current) onDoubleQuoteMarkedTextElement13() (interface{}, error) { +func (c *current) onParagraph49() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDoubleQuoteMarkedTextElement13() (interface{}, error) { +func (p *parser) callonParagraph49() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement13() + return p.cur.onParagraph49() } -func (c *current) onDoubleQuoteMarkedTextElement7() (interface{}, error) { - return types.NewStringElement(string(c.text)) - +func (c *current) onParagraph51() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonDoubleQuoteMarkedTextElement7() (interface{}, error) { +func (p *parser) callonParagraph51() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement7() + return p.cur.onParagraph51() } -func (c *current) onDoubleQuoteMarkedTextElement16() (interface{}, error) { - // log.Debug("matched multiple spaces") +func (c *current) onParagraph64() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDoubleQuoteMarkedTextElement16() (interface{}, error) { +func (p *parser) callonParagraph64() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement16() + return p.cur.onParagraph64() } -func (c *current) onDoubleQuoteMarkedTextElement20() (interface{}, error) { +func (c *current) onParagraph68() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDoubleQuoteMarkedTextElement20() (interface{}, error) { +func (p *parser) callonParagraph68() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement20() + return p.cur.onParagraph68() } -func (c *current) onDoubleQuoteMarkedTextElement26() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onParagraph58(content interface{}) (interface{}, error) { + return types.NewSingleLineComment(content.(string)) + } -func (p *parser) callonDoubleQuoteMarkedTextElement26() (interface{}, error) { +func (p *parser) callonParagraph58() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement26() + return p.cur.onParagraph58(stack["content"]) } -func (c *current) onDoubleQuoteMarkedTextElement33() (bool, error) { - return c.isSubstitutionEnabled(Attributes) +func (c *current) onParagraph78() (interface{}, error) { + return strings.TrimRight(string(c.text), " \t"), nil // trim spaces and tabs } -func (p *parser) callonDoubleQuoteMarkedTextElement33() (bool, error) { +func (p *parser) callonParagraph78() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement33() + return p.cur.onParagraph78() } -func (c *current) onDoubleQuoteMarkedTextElement40() (interface{}, error) { - return string(c.text), nil +func (c *current) onParagraph81(content interface{}) (bool, error) { + return len(strings.TrimSpace(content.(string))) > 0, nil } -func (p *parser) callonDoubleQuoteMarkedTextElement40() (interface{}, error) { +func (p *parser) callonParagraph81() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement40() + return p.cur.onParagraph81(stack["content"]) } -func (c *current) onDoubleQuoteMarkedTextElement52() (interface{}, error) { +func (c *current) onParagraph83() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonDoubleQuoteMarkedTextElement52() (interface{}, error) { +func (p *parser) callonParagraph83() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement52() + return p.cur.onParagraph83() } -func (c *current) onDoubleQuoteMarkedTextElement54() (interface{}, error) { - - return strconv.Atoi(string(c.text)) +func (c *current) onParagraph75(content interface{}) (interface{}, error) { + return types.NewRawLine(content.(string)) } -func (p *parser) callonDoubleQuoteMarkedTextElement54() (interface{}, error) { +func (p *parser) callonParagraph75() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement54() + return p.cur.onParagraph75(stack["content"]) } -func (c *current) onDoubleQuoteMarkedTextElement47(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onParagraph21(line interface{}) (interface{}, error) { + return line, nil } -func (p *parser) callonDoubleQuoteMarkedTextElement47() (interface{}, error) { +func (p *parser) callonParagraph21() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement47(stack["start"]) + return p.cur.onParagraph21(stack["line"]) } -func (c *current) onDoubleQuoteMarkedTextElement36(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) +func (c *current) onParagraph1(firstLine, otherLines interface{}) (interface{}, error) { + return types.NewParagraph(append([]interface{}{firstLine}, otherLines.([]interface{})...)...) + } -func (p *parser) callonDoubleQuoteMarkedTextElement36() (interface{}, error) { +func (p *parser) callonParagraph1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement36(stack["name"], stack["start"]) + return p.cur.onParagraph1(stack["firstLine"], stack["otherLines"]) } -func (c *current) onDoubleQuoteMarkedTextElement62() (interface{}, error) { - return string(c.text), nil +func (c *current) onQuotedText2(attributes, text interface{}) (interface{}, error) { + return text.(*types.QuotedText).WithAttributes(attributes) } -func (p *parser) callonDoubleQuoteMarkedTextElement62() (interface{}, error) { +func (p *parser) callonQuotedText2() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement62() + return p.cur.onQuotedText2(stack["attributes"], stack["text"]) } -func (c *current) onDoubleQuoteMarkedTextElement74() (interface{}, error) { - return string(c.text), nil +func (c *current) onEscapedQuotedText1(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonDoubleQuoteMarkedTextElement74() (interface{}, error) { +func (p *parser) callonEscapedQuotedText1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement74() + return p.cur.onEscapedQuotedText1(stack["element"]) } -func (c *current) onDoubleQuoteMarkedTextElement76() (interface{}, error) { - - return strconv.Atoi(string(c.text)) +func (c *current) onDoubleQuoteBoldText1(elements interface{}) (interface{}, error) { + return types.NewQuotedText(types.DoubleQuoteBold, elements.([]interface{})) } -func (p *parser) callonDoubleQuoteMarkedTextElement76() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldText1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement76() + return p.cur.onDoubleQuoteBoldText1(stack["elements"]) } -func (c *current) onDoubleQuoteMarkedTextElement69(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onDoubleQuoteBoldTextElement13() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDoubleQuoteMarkedTextElement69() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement13() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement69(stack["start"]) + return p.cur.onDoubleQuoteBoldTextElement13() } -func (c *current) onDoubleQuoteMarkedTextElement58(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) +func (c *current) onDoubleQuoteBoldTextElement7() (interface{}, error) { + return types.NewStringElement(string(c.text)) + } -func (p *parser) callonDoubleQuoteMarkedTextElement58() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement7() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement58(stack["name"], stack["start"]) + return p.cur.onDoubleQuoteBoldTextElement7() } -func (c *current) onDoubleQuoteMarkedTextElement84() (interface{}, error) { +func (c *current) onDoubleQuoteBoldTextElement16() (interface{}, error) { + // log.Debug("matched multiple spaces") return string(c.text), nil } -func (p *parser) callonDoubleQuoteMarkedTextElement84() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement16() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement84() + return p.cur.onDoubleQuoteBoldTextElement16() } -func (c *current) onDoubleQuoteMarkedTextElement80(name interface{}) (interface{}, error) { - - return types.NewAttributeSubstitution(name.(string), string(c.text)) +func (c *current) onDoubleQuoteBoldTextElement20() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonDoubleQuoteMarkedTextElement80() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement20() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement80(stack["name"]) + return p.cur.onDoubleQuoteBoldTextElement20() } -func (c *current) onDoubleQuoteMarkedTextElement31(element interface{}) (interface{}, error) { - return element, nil - +func (c *current) onDoubleQuoteBoldTextElement26() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonDoubleQuoteMarkedTextElement31() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement26() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement31(stack["element"]) + return p.cur.onDoubleQuoteBoldTextElement26() } -func (c *current) onDoubleQuoteMarkedTextElement92() (bool, error) { - return c.isSubstitutionEnabled(SpecialCharacters) +func (c *current) onDoubleQuoteBoldTextElement33() (bool, error) { + return c.isSubstitutionEnabled(Attributes), nil } -func (p *parser) callonDoubleQuoteMarkedTextElement92() (bool, error) { +func (p *parser) callonDoubleQuoteBoldTextElement33() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement92() + return p.cur.onDoubleQuoteBoldTextElement33() } -func (c *current) onDoubleQuoteMarkedTextElement101() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ +func (c *current) onDoubleQuoteBoldTextElement40() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDoubleQuoteMarkedTextElement101() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement40() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement101() + return p.cur.onDoubleQuoteBoldTextElement40() } -func (c *current) onDoubleQuoteMarkedTextElement105() (interface{}, error) { +func (c *current) onDoubleQuoteBoldTextElement52() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDoubleQuoteMarkedTextElement105() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement52() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement105() + return p.cur.onDoubleQuoteBoldTextElement52() } -func (c *current) onDoubleQuoteMarkedTextElement111() (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) onDoubleQuoteBoldTextElement54() (interface{}, error) { + + return strconv.Atoi(string(c.text)) } -func (p *parser) callonDoubleQuoteMarkedTextElement111() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement54() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement111() + return p.cur.onDoubleQuoteBoldTextElement54() } -func (c *current) onDoubleQuoteMarkedTextElement118() (bool, error) { - return c.isSubstitutionEnabled(Attributes) +func (c *current) onDoubleQuoteBoldTextElement47(start interface{}) (interface{}, error) { + return start, nil + +} + +func (p *parser) callonDoubleQuoteBoldTextElement47() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteBoldTextElement47(stack["start"]) +} +func (c *current) onDoubleQuoteBoldTextElement36(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) } -func (p *parser) callonDoubleQuoteMarkedTextElement118() (bool, error) { +func (p *parser) callonDoubleQuoteBoldTextElement36() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement118() + return p.cur.onDoubleQuoteBoldTextElement36(stack["name"], stack["start"]) } -func (c *current) onDoubleQuoteMarkedTextElement125() (interface{}, error) { +func (c *current) onDoubleQuoteBoldTextElement62() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDoubleQuoteMarkedTextElement125() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement62() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement125() + return p.cur.onDoubleQuoteBoldTextElement62() } -func (c *current) onDoubleQuoteMarkedTextElement137() (interface{}, error) { +func (c *current) onDoubleQuoteBoldTextElement74() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDoubleQuoteMarkedTextElement137() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement74() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement137() + return p.cur.onDoubleQuoteBoldTextElement74() } -func (c *current) onDoubleQuoteMarkedTextElement139() (interface{}, error) { +func (c *current) onDoubleQuoteBoldTextElement76() (interface{}, error) { return strconv.Atoi(string(c.text)) } -func (p *parser) callonDoubleQuoteMarkedTextElement139() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement76() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement139() + return p.cur.onDoubleQuoteBoldTextElement76() } -func (c *current) onDoubleQuoteMarkedTextElement132(start interface{}) (interface{}, error) { +func (c *current) onDoubleQuoteBoldTextElement69(start interface{}) (interface{}, error) { return start, nil } -func (p *parser) callonDoubleQuoteMarkedTextElement132() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement69() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteBoldTextElement69(stack["start"]) +} + +func (c *current) onDoubleQuoteBoldTextElement58(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) +} + +func (p *parser) callonDoubleQuoteBoldTextElement58() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteBoldTextElement58(stack["name"], stack["start"]) +} + +func (c *current) onDoubleQuoteBoldTextElement84() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDoubleQuoteBoldTextElement84() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement132(stack["start"]) + return p.cur.onDoubleQuoteBoldTextElement84() } -func (c *current) onDoubleQuoteMarkedTextElement121(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) +func (c *current) onDoubleQuoteBoldTextElement80(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) + } -func (p *parser) callonDoubleQuoteMarkedTextElement121() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement80() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement121(stack["name"], stack["start"]) + return p.cur.onDoubleQuoteBoldTextElement80(stack["name"]) } -func (c *current) onDoubleQuoteMarkedTextElement147() (interface{}, error) { - return string(c.text), nil +func (c *current) onDoubleQuoteBoldTextElement31(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonDoubleQuoteMarkedTextElement147() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement31() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement147() + return p.cur.onDoubleQuoteBoldTextElement31(stack["element"]) } -func (c *current) onDoubleQuoteMarkedTextElement159() (interface{}, error) { - return string(c.text), nil +func (c *current) onDoubleQuoteBoldTextElement92() (bool, error) { + return c.isSubstitutionEnabled(SpecialCharacters), nil } -func (p *parser) callonDoubleQuoteMarkedTextElement159() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement92() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement159() + return p.cur.onDoubleQuoteBoldTextElement92() } -func (c *current) onDoubleQuoteMarkedTextElement161() (interface{}, error) { - - return strconv.Atoi(string(c.text)) +func (c *current) onDoubleQuoteBoldTextElement101() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ + return string(c.text), nil } -func (p *parser) callonDoubleQuoteMarkedTextElement161() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement101() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement161() + return p.cur.onDoubleQuoteBoldTextElement101() } -func (c *current) onDoubleQuoteMarkedTextElement154(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onDoubleQuoteBoldTextElement105() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDoubleQuoteMarkedTextElement154() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement105() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement154(stack["start"]) + return p.cur.onDoubleQuoteBoldTextElement105() } -func (c *current) onDoubleQuoteMarkedTextElement143(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) +func (c *current) onDoubleQuoteBoldTextElement111() (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) callonDoubleQuoteMarkedTextElement143() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement111() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement143(stack["name"], stack["start"]) + return p.cur.onDoubleQuoteBoldTextElement111() } -func (c *current) onDoubleQuoteMarkedTextElement169() (interface{}, error) { +func (c *current) onDoubleQuoteBoldTextElement120() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDoubleQuoteMarkedTextElement169() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement120() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement169() + return p.cur.onDoubleQuoteBoldTextElement120() } -func (c *current) onDoubleQuoteMarkedTextElement165(name interface{}) (interface{}, error) { +func (c *current) onDoubleQuoteBoldTextElement116(name interface{}) (interface{}, error) { return types.NewAttributeSubstitution(name.(string), string(c.text)) -} - -func (p *parser) callonDoubleQuoteMarkedTextElement165() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDoubleQuoteMarkedTextElement165(stack["name"]) -} - -func (c *current) onDoubleQuoteMarkedTextElement116(element interface{}) (interface{}, error) { - return element, nil } -func (p *parser) callonDoubleQuoteMarkedTextElement116() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement116() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement116(stack["element"]) + return p.cur.onDoubleQuoteBoldTextElement116(stack["name"]) } -func (c *current) onDoubleQuoteMarkedTextElement175() (interface{}, error) { +func (c *current) onDoubleQuoteBoldTextElement126() (interface{}, error) { return types.NewStringElement(string(c.text)) } -func (p *parser) callonDoubleQuoteMarkedTextElement175() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement126() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement175() + return p.cur.onDoubleQuoteBoldTextElement126() } -func (c *current) onDoubleQuoteMarkedTextElement97(id, label interface{}) (interface{}, error) { +func (c *current) onDoubleQuoteBoldTextElement97(id, label interface{}) (interface{}, error) { return types.NewInternalCrossReference(id, label) } -func (p *parser) callonDoubleQuoteMarkedTextElement97() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement97() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement97(stack["id"], stack["label"]) + return p.cur.onDoubleQuoteBoldTextElement97(stack["id"], stack["label"]) } -func (c *current) onDoubleQuoteMarkedTextElement182() (interface{}, error) { +func (c *current) onDoubleQuoteBoldTextElement133() (interface{}, error) { // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ return string(c.text), nil } -func (p *parser) callonDoubleQuoteMarkedTextElement182() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement133() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement182() + return p.cur.onDoubleQuoteBoldTextElement133() } -func (c *current) onDoubleQuoteMarkedTextElement178(id interface{}) (interface{}, error) { +func (c *current) onDoubleQuoteBoldTextElement129(id interface{}) (interface{}, error) { return types.NewInternalCrossReference(id, nil) } -func (p *parser) callonDoubleQuoteMarkedTextElement178() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement129() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement178(stack["id"]) + return p.cur.onDoubleQuoteBoldTextElement129(stack["id"]) } -func (c *current) onDoubleQuoteMarkedTextElement95() (interface{}, error) { +func (c *current) onDoubleQuoteBoldTextElement95() (interface{}, error) { return types.NewStringElement(string(c.text)) } -func (p *parser) callonDoubleQuoteMarkedTextElement95() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement95() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement95() + return p.cur.onDoubleQuoteBoldTextElement95() } -func (c *current) onDoubleQuoteMarkedTextElement186() (interface{}, error) { +func (c *current) onDoubleQuoteBoldTextElement137() (interface{}, error) { return types.NewSpecialCharacter(string(c.text)) } -func (p *parser) callonDoubleQuoteMarkedTextElement186() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement137() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement186() + return p.cur.onDoubleQuoteBoldTextElement137() } -func (c *current) onDoubleQuoteMarkedTextElement90(element interface{}) (interface{}, error) { +func (c *current) onDoubleQuoteBoldTextElement90(element interface{}) (interface{}, error) { return element, nil } -func (p *parser) callonDoubleQuoteMarkedTextElement90() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement90() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement90(stack["element"]) + return p.cur.onDoubleQuoteBoldTextElement90(stack["element"]) } -func (c *current) onDoubleQuoteMarkedTextElement188() (interface{}, error) { +func (c *current) onDoubleQuoteBoldTextElement139() (interface{}, error) { return types.NewStringElement("\u2019") } -func (p *parser) callonDoubleQuoteMarkedTextElement188() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement139() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement188() + return p.cur.onDoubleQuoteBoldTextElement139() } -func (c *current) onDoubleQuoteMarkedTextElement190() (interface{}, error) { +func (c *current) onDoubleQuoteBoldTextElement141() (interface{}, error) { return types.NewStringElement("\u00a9") } -func (p *parser) callonDoubleQuoteMarkedTextElement190() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement141() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement190() + return p.cur.onDoubleQuoteBoldTextElement141() } -func (c *current) onDoubleQuoteMarkedTextElement192() (interface{}, error) { +func (c *current) onDoubleQuoteBoldTextElement143() (interface{}, error) { return types.NewStringElement("\u2122") } -func (p *parser) callonDoubleQuoteMarkedTextElement192() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement143() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement192() + return p.cur.onDoubleQuoteBoldTextElement143() } -func (c *current) onDoubleQuoteMarkedTextElement194() (interface{}, error) { +func (c *current) onDoubleQuoteBoldTextElement145() (interface{}, error) { return types.NewStringElement("\u00ae") } -func (p *parser) callonDoubleQuoteMarkedTextElement194() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement145() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement194() + return p.cur.onDoubleQuoteBoldTextElement145() } -func (c *current) onDoubleQuoteMarkedTextElement196() (interface{}, error) { +func (c *current) onDoubleQuoteBoldTextElement147() (interface{}, error) { return types.NewStringElement("\u2026\u200b") } -func (p *parser) callonDoubleQuoteMarkedTextElement196() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement147() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement196() + return p.cur.onDoubleQuoteBoldTextElement147() } -func (c *current) onDoubleQuoteMarkedTextElement198() (interface{}, error) { +func (c *current) onDoubleQuoteBoldTextElement149() (interface{}, error) { return types.NewStringElement(string(c.text[:1]) + "\u2019") } -func (p *parser) callonDoubleQuoteMarkedTextElement198() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement149() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement198() + return p.cur.onDoubleQuoteBoldTextElement149() } -func (c *current) onDoubleQuoteMarkedTextElement211() (interface{}, error) { +func (c *current) onDoubleQuoteBoldTextElement162() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDoubleQuoteMarkedTextElement211() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement162() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement211() + return p.cur.onDoubleQuoteBoldTextElement162() } -func (c *current) onDoubleQuoteMarkedTextElement207(ref interface{}) (interface{}, error) { +func (c *current) onDoubleQuoteBoldTextElement158(ref interface{}) (interface{}, error) { return types.NewElementPlaceHolder(ref.(string)) } -func (p *parser) callonDoubleQuoteMarkedTextElement207() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement158() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement207(stack["ref"]) + return p.cur.onDoubleQuoteBoldTextElement158(stack["ref"]) } -func (c *current) onDoubleQuoteMarkedTextElement219() (interface{}, error) { +func (c *current) onDoubleQuoteBoldTextElement170() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDoubleQuoteMarkedTextElement219() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement170() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement219() + return p.cur.onDoubleQuoteBoldTextElement170() } -func (c *current) onDoubleQuoteMarkedTextElement216() (interface{}, error) { - // or a marked delimiter when immediately followed by an alphanum (ie, in the middle of some text) +func (c *current) onDoubleQuoteBoldTextElement167() (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) callonDoubleQuoteMarkedTextElement216() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement167() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement216() + return p.cur.onDoubleQuoteBoldTextElement167() } -func (c *current) onDoubleQuoteMarkedTextElement1(element interface{}) (interface{}, error) { +func (c *current) onDoubleQuoteBoldTextElement1(element interface{}) (interface{}, error) { return element, nil } -func (p *parser) callonDoubleQuoteMarkedTextElement1() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement1(stack["element"]) + return p.cur.onDoubleQuoteBoldTextElement1(stack["element"]) } -func (c *current) onQuotedTextInDoubleMarkedBoldText1(attributes, text interface{}) (interface{}, error) { +func (c *current) onQuotedTextInDoubleQuoteBoldText1(attributes, text interface{}) (interface{}, error) { return text.(*types.QuotedText).WithAttributes(attributes) } -func (p *parser) callonQuotedTextInDoubleMarkedBoldText1() (interface{}, error) { +func (p *parser) callonQuotedTextInDoubleQuoteBoldText1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onQuotedTextInDoubleMarkedBoldText1(stack["attributes"], stack["text"]) + return p.cur.onQuotedTextInDoubleQuoteBoldText1(stack["attributes"], stack["text"]) } -func (c *current) onSingleQuoteMarkedText1(elements interface{}) (interface{}, error) { - - return types.NewQuotedText(types.SingleQuoteMarked, elements.([]interface{})) +func (c *current) onSingleQuoteBoldText1(elements interface{}) (interface{}, error) { + return types.NewQuotedText(types.SingleQuoteBold, elements.([]interface{})) } -func (p *parser) callonSingleQuoteMarkedText1() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldText1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedText1(stack["elements"]) + return p.cur.onSingleQuoteBoldText1(stack["elements"]) } -func (c *current) onSingleQuoteMarkedTextElements7() (interface{}, error) { +func (c *current) onSingleQuoteBoldTextElements7() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSingleQuoteMarkedTextElements7() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElements7() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElements7() + return p.cur.onSingleQuoteBoldTextElements7() } -func (c *current) onSingleQuoteMarkedTextElements12(elements interface{}) (bool, error) { +func (c *current) onSingleQuoteBoldTextElements12(elements interface{}) (bool, error) { return validateSingleQuoteElements(elements.([]interface{})) // cannot end with spaces } -func (p *parser) callonSingleQuoteMarkedTextElements12() (bool, error) { +func (p *parser) callonSingleQuoteBoldTextElements12() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElements12(stack["elements"]) + return p.cur.onSingleQuoteBoldTextElements12(stack["elements"]) } -func (c *current) onSingleQuoteMarkedTextElements1(elements interface{}) (interface{}, error) { +func (c *current) onSingleQuoteBoldTextElements1(elements interface{}) (interface{}, error) { return elements, nil } -func (p *parser) callonSingleQuoteMarkedTextElements1() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElements1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElements1(stack["elements"]) + return p.cur.onSingleQuoteBoldTextElements1(stack["elements"]) } -func (c *current) onSingleQuoteMarkedTextElement8() (interface{}, error) { +func (c *current) onSingleQuoteBoldTextElement8() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSingleQuoteMarkedTextElement8() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement8() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement8() + return p.cur.onSingleQuoteBoldTextElement8() } -func (c *current) onSingleQuoteMarkedTextElement2() (interface{}, error) { +func (c *current) onSingleQuoteBoldTextElement2() (interface{}, error) { return types.NewStringElement(string(c.text)) } -func (p *parser) callonSingleQuoteMarkedTextElement2() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement2() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement2() + return p.cur.onSingleQuoteBoldTextElement2() } -func (c *current) onSingleQuoteMarkedTextElement11() (interface{}, error) { +func (c *current) onSingleQuoteBoldTextElement11() (interface{}, error) { // log.Debug("matched multiple spaces") return string(c.text), nil } -func (p *parser) callonSingleQuoteMarkedTextElement11() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement11() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement11() + return p.cur.onSingleQuoteBoldTextElement11() } -func (c *current) onSingleQuoteMarkedTextElement15() (interface{}, error) { +func (c *current) onSingleQuoteBoldTextElement15() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonSingleQuoteMarkedTextElement15() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement15() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement15() + return p.cur.onSingleQuoteBoldTextElement15() } -func (c *current) onSingleQuoteMarkedTextElement21() (interface{}, error) { +func (c *current) onSingleQuoteBoldTextElement21() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonSingleQuoteMarkedTextElement21() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement21() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement21() + return p.cur.onSingleQuoteBoldTextElement21() } -func (c *current) onSingleQuoteMarkedTextElement28() (bool, error) { - return c.isSubstitutionEnabled(Attributes) +func (c *current) onSingleQuoteBoldTextElement28() (bool, error) { + return c.isSubstitutionEnabled(Attributes), nil } -func (p *parser) callonSingleQuoteMarkedTextElement28() (bool, error) { +func (p *parser) callonSingleQuoteBoldTextElement28() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement28() + return p.cur.onSingleQuoteBoldTextElement28() } -func (c *current) onSingleQuoteMarkedTextElement35() (interface{}, error) { +func (c *current) onSingleQuoteBoldTextElement35() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSingleQuoteMarkedTextElement35() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement35() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement35() + return p.cur.onSingleQuoteBoldTextElement35() } -func (c *current) onSingleQuoteMarkedTextElement47() (interface{}, error) { +func (c *current) onSingleQuoteBoldTextElement47() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSingleQuoteMarkedTextElement47() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement47() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement47() + return p.cur.onSingleQuoteBoldTextElement47() } -func (c *current) onSingleQuoteMarkedTextElement49() (interface{}, error) { +func (c *current) onSingleQuoteBoldTextElement49() (interface{}, error) { return strconv.Atoi(string(c.text)) } -func (p *parser) callonSingleQuoteMarkedTextElement49() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement49() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement49() + return p.cur.onSingleQuoteBoldTextElement49() } -func (c *current) onSingleQuoteMarkedTextElement42(start interface{}) (interface{}, error) { +func (c *current) onSingleQuoteBoldTextElement42(start interface{}) (interface{}, error) { return start, nil } -func (p *parser) callonSingleQuoteMarkedTextElement42() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement42() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement42(stack["start"]) + return p.cur.onSingleQuoteBoldTextElement42(stack["start"]) } -func (c *current) onSingleQuoteMarkedTextElement31(name, start interface{}) (interface{}, error) { +func (c *current) onSingleQuoteBoldTextElement31(name, start interface{}) (interface{}, error) { return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) } -func (p *parser) callonSingleQuoteMarkedTextElement31() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement31() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement31(stack["name"], stack["start"]) + return p.cur.onSingleQuoteBoldTextElement31(stack["name"], stack["start"]) } -func (c *current) onSingleQuoteMarkedTextElement57() (interface{}, error) { +func (c *current) onSingleQuoteBoldTextElement57() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSingleQuoteMarkedTextElement57() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement57() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement57() + return p.cur.onSingleQuoteBoldTextElement57() } -func (c *current) onSingleQuoteMarkedTextElement69() (interface{}, error) { +func (c *current) onSingleQuoteBoldTextElement69() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSingleQuoteMarkedTextElement69() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement69() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement69() + return p.cur.onSingleQuoteBoldTextElement69() } -func (c *current) onSingleQuoteMarkedTextElement71() (interface{}, error) { +func (c *current) onSingleQuoteBoldTextElement71() (interface{}, error) { return strconv.Atoi(string(c.text)) } -func (p *parser) callonSingleQuoteMarkedTextElement71() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement71() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement71() + return p.cur.onSingleQuoteBoldTextElement71() } -func (c *current) onSingleQuoteMarkedTextElement64(start interface{}) (interface{}, error) { +func (c *current) onSingleQuoteBoldTextElement64(start interface{}) (interface{}, error) { return start, nil } -func (p *parser) callonSingleQuoteMarkedTextElement64() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement64() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement64(stack["start"]) + return p.cur.onSingleQuoteBoldTextElement64(stack["start"]) } -func (c *current) onSingleQuoteMarkedTextElement53(name, start interface{}) (interface{}, error) { +func (c *current) onSingleQuoteBoldTextElement53(name, start interface{}) (interface{}, error) { return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) } -func (p *parser) callonSingleQuoteMarkedTextElement53() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement53() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement53(stack["name"], stack["start"]) + return p.cur.onSingleQuoteBoldTextElement53(stack["name"], stack["start"]) } -func (c *current) onSingleQuoteMarkedTextElement79() (interface{}, error) { +func (c *current) onSingleQuoteBoldTextElement79() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSingleQuoteMarkedTextElement79() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement79() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement79() + return p.cur.onSingleQuoteBoldTextElement79() } -func (c *current) onSingleQuoteMarkedTextElement75(name interface{}) (interface{}, error) { +func (c *current) onSingleQuoteBoldTextElement75(name interface{}) (interface{}, error) { return types.NewAttributeSubstitution(name.(string), string(c.text)) + } -func (p *parser) callonSingleQuoteMarkedTextElement75() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement75() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement75(stack["name"]) + return p.cur.onSingleQuoteBoldTextElement75(stack["name"]) } -func (c *current) onSingleQuoteMarkedTextElement26(element interface{}) (interface{}, error) { +func (c *current) onSingleQuoteBoldTextElement26(element interface{}) (interface{}, error) { return element, nil } -func (p *parser) callonSingleQuoteMarkedTextElement26() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement26() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement26(stack["element"]) + return p.cur.onSingleQuoteBoldTextElement26(stack["element"]) } -func (c *current) onSingleQuoteMarkedTextElement87() (bool, error) { - return c.isSubstitutionEnabled(SpecialCharacters) +func (c *current) onSingleQuoteBoldTextElement87() (bool, error) { + return c.isSubstitutionEnabled(SpecialCharacters), nil } -func (p *parser) callonSingleQuoteMarkedTextElement87() (bool, error) { +func (p *parser) callonSingleQuoteBoldTextElement87() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement87() + return p.cur.onSingleQuoteBoldTextElement87() } -func (c *current) onSingleQuoteMarkedTextElement96() (interface{}, error) { +func (c *current) onSingleQuoteBoldTextElement96() (interface{}, error) { // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ return string(c.text), nil } -func (p *parser) callonSingleQuoteMarkedTextElement96() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement96() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement96() + return p.cur.onSingleQuoteBoldTextElement96() } -func (c *current) onSingleQuoteMarkedTextElement100() (interface{}, error) { +func (c *current) onSingleQuoteBoldTextElement100() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSingleQuoteMarkedTextElement100() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement100() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement100() + return p.cur.onSingleQuoteBoldTextElement100() } -func (c *current) onSingleQuoteMarkedTextElement106() (interface{}, error) { +func (c *current) onSingleQuoteBoldTextElement106() (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) callonSingleQuoteMarkedTextElement106() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement106() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement106() + return p.cur.onSingleQuoteBoldTextElement106() } -func (c *current) onSingleQuoteMarkedTextElement113() (bool, error) { - return c.isSubstitutionEnabled(Attributes) +func (c *current) onSingleQuoteBoldTextElement115() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonSingleQuoteMarkedTextElement113() (bool, error) { +func (p *parser) callonSingleQuoteBoldTextElement115() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement113() + return p.cur.onSingleQuoteBoldTextElement115() } -func (c *current) onSingleQuoteMarkedTextElement120() (interface{}, error) { - return string(c.text), nil +func (c *current) onSingleQuoteBoldTextElement111(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonSingleQuoteMarkedTextElement120() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement111() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement120() + return p.cur.onSingleQuoteBoldTextElement111(stack["name"]) } -func (c *current) onSingleQuoteMarkedTextElement132() (interface{}, error) { - return string(c.text), nil +func (c *current) onSingleQuoteBoldTextElement121() (interface{}, error) { + + return types.NewStringElement(string(c.text)) } -func (p *parser) callonSingleQuoteMarkedTextElement132() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement121() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement132() + return p.cur.onSingleQuoteBoldTextElement121() } -func (c *current) onSingleQuoteMarkedTextElement134() (interface{}, error) { +func (c *current) onSingleQuoteBoldTextElement92(id, label interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, label) - return strconv.Atoi(string(c.text)) +} + +func (p *parser) callonSingleQuoteBoldTextElement92() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteBoldTextElement92(stack["id"], stack["label"]) +} + +func (c *current) onSingleQuoteBoldTextElement128() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ + return string(c.text), nil } -func (p *parser) callonSingleQuoteMarkedTextElement134() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement128() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement134() + return p.cur.onSingleQuoteBoldTextElement128() } -func (c *current) onSingleQuoteMarkedTextElement127(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onSingleQuoteBoldTextElement124(id interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, nil) } -func (p *parser) callonSingleQuoteMarkedTextElement127() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement124() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement127(stack["start"]) + return p.cur.onSingleQuoteBoldTextElement124(stack["id"]) } -func (c *current) onSingleQuoteMarkedTextElement116(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) +func (c *current) onSingleQuoteBoldTextElement90() (interface{}, error) { + return types.NewStringElement(string(c.text)) + } -func (p *parser) callonSingleQuoteMarkedTextElement116() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement90() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement116(stack["name"], stack["start"]) + return p.cur.onSingleQuoteBoldTextElement90() } -func (c *current) onSingleQuoteMarkedTextElement142() (interface{}, error) { - return string(c.text), nil +func (c *current) onSingleQuoteBoldTextElement132() (interface{}, error) { + return types.NewSpecialCharacter(string(c.text)) } -func (p *parser) callonSingleQuoteMarkedTextElement142() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement132() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement142() + return p.cur.onSingleQuoteBoldTextElement132() } -func (c *current) onSingleQuoteMarkedTextElement154() (interface{}, error) { - return string(c.text), nil +func (c *current) onSingleQuoteBoldTextElement85(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonSingleQuoteMarkedTextElement154() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement85() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement154() + return p.cur.onSingleQuoteBoldTextElement85(stack["element"]) } -func (c *current) onSingleQuoteMarkedTextElement156() (interface{}, error) { +func (c *current) onSingleQuoteBoldTextElement134() (interface{}, error) { + return types.NewStringElement("\u2019") - return strconv.Atoi(string(c.text)) +} + +func (p *parser) callonSingleQuoteBoldTextElement134() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteBoldTextElement134() +} + +func (c *current) onSingleQuoteBoldTextElement136() (interface{}, error) { + return types.NewStringElement("\u00a9") } -func (p *parser) callonSingleQuoteMarkedTextElement156() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement136() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement156() + return p.cur.onSingleQuoteBoldTextElement136() } -func (c *current) onSingleQuoteMarkedTextElement149(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onSingleQuoteBoldTextElement138() (interface{}, error) { + return types.NewStringElement("\u2122") } -func (p *parser) callonSingleQuoteMarkedTextElement149() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement138() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement149(stack["start"]) + return p.cur.onSingleQuoteBoldTextElement138() } -func (c *current) onSingleQuoteMarkedTextElement138(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) +func (c *current) onSingleQuoteBoldTextElement140() (interface{}, error) { + return types.NewStringElement("\u00ae") + } -func (p *parser) callonSingleQuoteMarkedTextElement138() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement140() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement138(stack["name"], stack["start"]) + return p.cur.onSingleQuoteBoldTextElement140() } -func (c *current) onSingleQuoteMarkedTextElement164() (interface{}, error) { - return string(c.text), nil +func (c *current) onSingleQuoteBoldTextElement142() (interface{}, error) { + return types.NewStringElement("\u2026\u200b") } -func (p *parser) callonSingleQuoteMarkedTextElement164() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement142() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement164() + return p.cur.onSingleQuoteBoldTextElement142() } -func (c *current) onSingleQuoteMarkedTextElement160(name interface{}) (interface{}, error) { +func (c *current) onSingleQuoteBoldTextElement144() (interface{}, error) { + return types.NewStringElement(string(c.text[:1]) + "\u2019") - return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonSingleQuoteMarkedTextElement160() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement144() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement160(stack["name"]) + return p.cur.onSingleQuoteBoldTextElement144() } -func (c *current) onSingleQuoteMarkedTextElement111(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onSingleQuoteBoldTextElement157() (interface{}, error) { + return string(c.text), nil +} + +func (p *parser) callonSingleQuoteBoldTextElement157() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteBoldTextElement157() +} +func (c *current) onSingleQuoteBoldTextElement153(ref interface{}) (interface{}, error) { + return types.NewElementPlaceHolder(ref.(string)) } -func (p *parser) callonSingleQuoteMarkedTextElement111() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement153() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement111(stack["element"]) + return p.cur.onSingleQuoteBoldTextElement153(stack["ref"]) } -func (c *current) onSingleQuoteMarkedTextElement170() (interface{}, error) { +func (c *current) onSingleQuoteBoldTextElement165() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonSingleQuoteBoldTextElement165() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteBoldTextElement165() +} +func (c *current) onSingleQuoteBoldTextElement162() (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) callonSingleQuoteMarkedTextElement170() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement162() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement170() + return p.cur.onSingleQuoteBoldTextElement162() } -func (c *current) onSingleQuoteMarkedTextElement92(id, label interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, label) +func (c *current) onQuotedTextInSingleQuoteBoldText1(attributes, text interface{}) (interface{}, error) { + return text.(*types.QuotedText).WithAttributes(attributes) } -func (p *parser) callonSingleQuoteMarkedTextElement92() (interface{}, error) { +func (p *parser) callonQuotedTextInSingleQuoteBoldText1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement92(stack["id"], stack["label"]) + return p.cur.onQuotedTextInSingleQuoteBoldText1(stack["attributes"], stack["text"]) } -func (c *current) onSingleQuoteMarkedTextElement177() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ +func (c *current) onEscapedBoldText5() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSingleQuoteMarkedTextElement177() (interface{}, error) { +func (p *parser) callonEscapedBoldText5() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement177() + return p.cur.onEscapedBoldText5() } -func (c *current) onSingleQuoteMarkedTextElement173(id interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, nil) +func (c *current) onEscapedBoldText2(backslashes, elements interface{}) (interface{}, error) { + // double punctuation must be evaluated first + return types.NewEscapedQuotedText(backslashes.(string), "**", elements.([]interface{})) } -func (p *parser) callonSingleQuoteMarkedTextElement173() (interface{}, error) { +func (p *parser) callonEscapedBoldText2() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement173(stack["id"]) + return p.cur.onEscapedBoldText2(stack["backslashes"], stack["elements"]) } -func (c *current) onSingleQuoteMarkedTextElement90() (interface{}, error) { - return types.NewStringElement(string(c.text)) +func (c *current) onEscapedBoldText17() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonSingleQuoteMarkedTextElement90() (interface{}, error) { +func (p *parser) callonEscapedBoldText17() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement90() + return p.cur.onEscapedBoldText17() } -func (c *current) onSingleQuoteMarkedTextElement181() (interface{}, error) { - return types.NewSpecialCharacter(string(c.text)) +func (c *current) onEscapedBoldText14(backslashes, elements interface{}) (interface{}, error) { + // unbalanced `**` vs `*` punctuation + result := append([]interface{}{"*"}, elements.([]interface{})) + return types.NewEscapedQuotedText(backslashes.(string), "*", result) } -func (p *parser) callonSingleQuoteMarkedTextElement181() (interface{}, error) { +func (p *parser) callonEscapedBoldText14() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement181() + return p.cur.onEscapedBoldText14(stack["backslashes"], stack["elements"]) } -func (c *current) onSingleQuoteMarkedTextElement85(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onEscapedBoldText27() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonSingleQuoteMarkedTextElement85() (interface{}, error) { +func (p *parser) callonEscapedBoldText27() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement85(stack["element"]) + return p.cur.onEscapedBoldText27() } -func (c *current) onSingleQuoteMarkedTextElement183() (interface{}, error) { - return types.NewStringElement("\u2019") +func (c *current) onEscapedBoldText24(backslashes, elements interface{}) (interface{}, error) { + // simple punctuation must be evaluated last + return types.NewEscapedQuotedText(backslashes.(string), "*", elements.([]interface{})) } -func (p *parser) callonSingleQuoteMarkedTextElement183() (interface{}, error) { +func (p *parser) callonEscapedBoldText24() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement183() + return p.cur.onEscapedBoldText24(stack["backslashes"], stack["elements"]) } -func (c *current) onSingleQuoteMarkedTextElement185() (interface{}, error) { - return types.NewStringElement("\u00a9") +func (c *current) onDoubleQuoteItalicText1(elements interface{}) (interface{}, error) { + // double punctuation must be evaluated first + return types.NewQuotedText(types.DoubleQuoteItalic, elements.([]interface{})) } -func (p *parser) callonSingleQuoteMarkedTextElement185() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicText1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement185() + return p.cur.onDoubleQuoteItalicText1(stack["elements"]) } -func (c *current) onSingleQuoteMarkedTextElement187() (interface{}, error) { - return types.NewStringElement("\u2122") +func (c *current) onDoubleQuoteItalicTextElement13() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonSingleQuoteMarkedTextElement187() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement13() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement187() + return p.cur.onDoubleQuoteItalicTextElement13() } -func (c *current) onSingleQuoteMarkedTextElement189() (interface{}, error) { - return types.NewStringElement("\u00ae") +func (c *current) onDoubleQuoteItalicTextElement7() (interface{}, error) { + return types.NewStringElement(string(c.text)) } -func (p *parser) callonSingleQuoteMarkedTextElement189() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement7() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement189() + return p.cur.onDoubleQuoteItalicTextElement7() } -func (c *current) onSingleQuoteMarkedTextElement191() (interface{}, error) { - return types.NewStringElement("\u2026\u200b") +func (c *current) onDoubleQuoteItalicTextElement16() (interface{}, error) { + // log.Debug("matched multiple spaces") + return string(c.text), nil } -func (p *parser) callonSingleQuoteMarkedTextElement191() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement16() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement191() + return p.cur.onDoubleQuoteItalicTextElement16() } -func (c *current) onSingleQuoteMarkedTextElement193() (interface{}, error) { - return types.NewStringElement(string(c.text[:1]) + "\u2019") - +func (c *current) onDoubleQuoteItalicTextElement20() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonSingleQuoteMarkedTextElement193() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement20() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement193() + return p.cur.onDoubleQuoteItalicTextElement20() } -func (c *current) onSingleQuoteMarkedTextElement206() (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement26() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonSingleQuoteMarkedTextElement206() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement26() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement206() + return p.cur.onDoubleQuoteItalicTextElement26() } -func (c *current) onSingleQuoteMarkedTextElement202(ref interface{}) (interface{}, error) { - return types.NewElementPlaceHolder(ref.(string)) +func (c *current) onDoubleQuoteItalicTextElement33() (bool, error) { + return c.isSubstitutionEnabled(Attributes), nil + } -func (p *parser) callonSingleQuoteMarkedTextElement202() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement33() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement202(stack["ref"]) + return p.cur.onDoubleQuoteItalicTextElement33() } -func (c *current) onSingleQuoteMarkedTextElement214() (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement40() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSingleQuoteMarkedTextElement214() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement40() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement214() + return p.cur.onDoubleQuoteItalicTextElement40() } -func (c *current) onSingleQuoteMarkedTextElement211() (interface{}, error) { - // or a mark delimiter when immediately followed by an alphanum (ie, in the middle of some text) - return types.NewStringElement(string(c.text)) +func (c *current) onDoubleQuoteItalicTextElement52() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonSingleQuoteMarkedTextElement211() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement52() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement211() + return p.cur.onDoubleQuoteItalicTextElement52() } -func (c *current) onQuotedTextInSingleQuoteMarkedText1(attributes, text interface{}) (interface{}, error) { - return text.(*types.QuotedText).WithAttributes(attributes) +func (c *current) onDoubleQuoteItalicTextElement54() (interface{}, error) { + + return strconv.Atoi(string(c.text)) } -func (p *parser) callonQuotedTextInSingleQuoteMarkedText1() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement54() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onQuotedTextInSingleQuoteMarkedText1(stack["attributes"], stack["text"]) + return p.cur.onDoubleQuoteItalicTextElement54() } -func (c *current) onEscapedMarkedText5() (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement47(start interface{}) (interface{}, error) { + return start, nil + +} + +func (p *parser) callonDoubleQuoteItalicTextElement47() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteItalicTextElement47(stack["start"]) +} + +func (c *current) onDoubleQuoteItalicTextElement36(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) +} + +func (p *parser) callonDoubleQuoteItalicTextElement36() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteItalicTextElement36(stack["name"], stack["start"]) +} + +func (c *current) onDoubleQuoteItalicTextElement62() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonEscapedMarkedText5() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement62() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onEscapedMarkedText5() + return p.cur.onDoubleQuoteItalicTextElement62() } -func (c *current) onEscapedMarkedText2(backslashes, elements interface{}) (interface{}, error) { - // double punctuation must be evaluated first - return types.NewEscapedQuotedText(backslashes.(string), "##", elements.([]interface{})) +func (c *current) onDoubleQuoteItalicTextElement74() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDoubleQuoteItalicTextElement74() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteItalicTextElement74() +} + +func (c *current) onDoubleQuoteItalicTextElement76() (interface{}, error) { + + return strconv.Atoi(string(c.text)) + +} + +func (p *parser) callonDoubleQuoteItalicTextElement76() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteItalicTextElement76() +} + +func (c *current) onDoubleQuoteItalicTextElement69(start interface{}) (interface{}, error) { + return start, nil + +} +func (p *parser) callonDoubleQuoteItalicTextElement69() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteItalicTextElement69(stack["start"]) +} + +func (c *current) onDoubleQuoteItalicTextElement58(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) } -func (p *parser) callonEscapedMarkedText2() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement58() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onEscapedMarkedText2(stack["backslashes"], stack["elements"]) + return p.cur.onDoubleQuoteItalicTextElement58(stack["name"], stack["start"]) } -func (c *current) onEscapedMarkedText17() (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement84() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonEscapedMarkedText17() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement84() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onEscapedMarkedText17() + return p.cur.onDoubleQuoteItalicTextElement84() } -func (c *current) onEscapedMarkedText14(backslashes, elements interface{}) (interface{}, error) { - // unbalanced `##` vs `#` punctuation - result := append([]interface{}{"#"}, elements.([]interface{})) - return types.NewEscapedQuotedText(backslashes.(string), "#", result) +func (c *current) onDoubleQuoteItalicTextElement80(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonEscapedMarkedText14() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement80() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onEscapedMarkedText14(stack["backslashes"], stack["elements"]) + return p.cur.onDoubleQuoteItalicTextElement80(stack["name"]) } -func (c *current) onEscapedMarkedText27() (interface{}, error) { - return string(c.text), nil +func (c *current) onDoubleQuoteItalicTextElement31(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonEscapedMarkedText27() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement31() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onEscapedMarkedText27() + return p.cur.onDoubleQuoteItalicTextElement31(stack["element"]) } -func (c *current) onEscapedMarkedText24(backslashes, elements interface{}) (interface{}, error) { - // simple punctuation must be evaluated last - return types.NewEscapedQuotedText(backslashes.(string), "#", elements.([]interface{})) +func (c *current) onDoubleQuoteItalicTextElement92() (bool, error) { + return c.isSubstitutionEnabled(SpecialCharacters), nil } -func (p *parser) callonEscapedMarkedText24() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement92() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onEscapedMarkedText24(stack["backslashes"], stack["elements"]) + return p.cur.onDoubleQuoteItalicTextElement92() } -func (c *current) onSubscriptText1(element interface{}) (interface{}, error) { - // wraps a single word - return types.NewQuotedText(types.SingleQuoteSubscript, element) +func (c *current) onDoubleQuoteItalicTextElement101() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ + return string(c.text), nil } -func (p *parser) callonSubscriptText1() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement101() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSubscriptText1(stack["element"]) + return p.cur.onDoubleQuoteItalicTextElement101() } -func (c *current) onSubscriptTextElement3() (interface{}, error) { - // anything except spaces, EOL or '~' - return c.text, nil +func (c *current) onDoubleQuoteItalicTextElement105() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonSubscriptTextElement3() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement105() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSubscriptTextElement3() + return p.cur.onDoubleQuoteItalicTextElement105() } -func (c *current) onEscapedSubscriptText4() (interface{}, error) { - return string(c.text), nil +func (c *current) onDoubleQuoteItalicTextElement111() (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) callonEscapedSubscriptText4() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement111() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onEscapedSubscriptText4() + return p.cur.onDoubleQuoteItalicTextElement111() } -func (c *current) onEscapedSubscriptText1(backslashes, element interface{}) (interface{}, error) { - // simple punctuation must be evaluated last - return types.NewEscapedQuotedText(backslashes.(string), "~", element) +func (c *current) onDoubleQuoteItalicTextElement120() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonEscapedSubscriptText1() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement120() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onEscapedSubscriptText1(stack["backslashes"], stack["element"]) + return p.cur.onDoubleQuoteItalicTextElement120() } -func (c *current) onSuperscriptText1(element interface{}) (interface{}, error) { - // wraps a single word - return types.NewQuotedText(types.SingleQuoteSuperscript, element) +func (c *current) onDoubleQuoteItalicTextElement116(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonSuperscriptText1() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement116() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSuperscriptText1(stack["element"]) + return p.cur.onDoubleQuoteItalicTextElement116(stack["name"]) } -func (c *current) onSuperscriptTextElement3() (interface{}, error) { - // anything except spaces, EOL or '^' - return c.text, nil +func (c *current) onDoubleQuoteItalicTextElement126() (interface{}, error) { + + return types.NewStringElement(string(c.text)) } -func (p *parser) callonSuperscriptTextElement3() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement126() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSuperscriptTextElement3() + return p.cur.onDoubleQuoteItalicTextElement126() } -func (c *current) onEscapedSuperscriptText4() (interface{}, error) { - return string(c.text), nil +func (c *current) onDoubleQuoteItalicTextElement97(id, label interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, label) } -func (p *parser) callonEscapedSuperscriptText4() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement97() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onEscapedSuperscriptText4() + return p.cur.onDoubleQuoteItalicTextElement97(stack["id"], stack["label"]) } -func (c *current) onEscapedSuperscriptText1(backslashes, element interface{}) (interface{}, error) { - // simple punctuation must be evaluated last - return types.NewEscapedQuotedText(backslashes.(string), "^", element) +func (c *current) onDoubleQuoteItalicTextElement133() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ + return string(c.text), nil } -func (p *parser) callonEscapedSuperscriptText1() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement133() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onEscapedSuperscriptText1(stack["backslashes"], stack["element"]) + return p.cur.onDoubleQuoteItalicTextElement133() } -func (c *current) onSingleQuotedString1(elements interface{}) (interface{}, error) { - return types.NewQuotedString(types.SingleQuote, elements.([]interface{})) +func (c *current) onDoubleQuoteItalicTextElement129(id interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, nil) } -func (p *parser) callonSingleQuotedString1() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement129() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedString1(stack["elements"]) + return p.cur.onDoubleQuoteItalicTextElement129(stack["id"]) } -func (c *current) onSingleQuotedStringElements1(elements interface{}) (interface{}, error) { - c.resetSpaceSuffixTracking() - return types.NewInlineElements(elements) +func (c *current) onDoubleQuoteItalicTextElement95() (interface{}, error) { + return types.NewStringElement(string(c.text)) } -func (p *parser) callonSingleQuotedStringElements1() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement95() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedStringElements1(stack["elements"]) + return p.cur.onDoubleQuoteItalicTextElement95() } -func (c *current) onSingleQuotedStringElement13() (interface{}, error) { - return string(c.text), nil +func (c *current) onDoubleQuoteItalicTextElement137() (interface{}, error) { + return types.NewSpecialCharacter(string(c.text)) } -func (p *parser) callonSingleQuotedStringElement13() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement137() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedStringElement13() + return p.cur.onDoubleQuoteItalicTextElement137() } -func (c *current) onSingleQuotedStringElement7() (interface{}, error) { - return types.NewStringElement(string(c.text)) +func (c *current) onDoubleQuoteItalicTextElement90(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonSingleQuotedStringElement7() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement90() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedStringElement7() + return p.cur.onDoubleQuoteItalicTextElement90(stack["element"]) } -func (c *current) onSingleQuotedStringElement17() (interface{}, error) { - return string(c.text), nil +func (c *current) onDoubleQuoteItalicTextElement139() (interface{}, error) { + return types.NewStringElement("\u2019") } -func (p *parser) callonSingleQuotedStringElement17() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement139() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedStringElement17() + return p.cur.onDoubleQuoteItalicTextElement139() } -func (c *current) onSingleQuotedStringElement22() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onDoubleQuoteItalicTextElement141() (interface{}, error) { + return types.NewStringElement("\u00a9") + } -func (p *parser) callonSingleQuotedStringElement22() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement141() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedStringElement22() + return p.cur.onDoubleQuoteItalicTextElement141() } -func (c *current) onSingleQuotedStringElement28() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onDoubleQuoteItalicTextElement143() (interface{}, error) { + return types.NewStringElement("\u2122") + } -func (p *parser) callonSingleQuotedStringElement28() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement143() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedStringElement28() + return p.cur.onDoubleQuoteItalicTextElement143() } -func (c *current) onSingleQuotedStringElement35() (bool, error) { - return c.isSubstitutionEnabled(Attributes) +func (c *current) onDoubleQuoteItalicTextElement145() (interface{}, error) { + return types.NewStringElement("\u00ae") } -func (p *parser) callonSingleQuotedStringElement35() (bool, error) { +func (p *parser) callonDoubleQuoteItalicTextElement145() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedStringElement35() + return p.cur.onDoubleQuoteItalicTextElement145() } -func (c *current) onSingleQuotedStringElement42() (interface{}, error) { - return string(c.text), nil +func (c *current) onDoubleQuoteItalicTextElement147() (interface{}, error) { + return types.NewStringElement("\u2026\u200b") } -func (p *parser) callonSingleQuotedStringElement42() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement147() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedStringElement42() + return p.cur.onDoubleQuoteItalicTextElement147() } -func (c *current) onSingleQuotedStringElement54() (interface{}, error) { - return string(c.text), nil +func (c *current) onDoubleQuoteItalicTextElement149() (interface{}, error) { + return types.NewStringElement(string(c.text[:1]) + "\u2019") } -func (p *parser) callonSingleQuotedStringElement54() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement149() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedStringElement54() + return p.cur.onDoubleQuoteItalicTextElement149() } -func (c *current) onSingleQuotedStringElement56() (interface{}, error) { - - return strconv.Atoi(string(c.text)) - +func (c *current) onDoubleQuoteItalicTextElement162() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonSingleQuotedStringElement56() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement162() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedStringElement56() + return p.cur.onDoubleQuoteItalicTextElement162() } -func (c *current) onSingleQuotedStringElement49(start interface{}) (interface{}, error) { - return start, nil - +func (c *current) onDoubleQuoteItalicTextElement158(ref interface{}) (interface{}, error) { + return types.NewElementPlaceHolder(ref.(string)) } -func (p *parser) callonSingleQuotedStringElement49() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement158() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedStringElement49(stack["start"]) + return p.cur.onDoubleQuoteItalicTextElement158(stack["ref"]) } -func (c *current) onSingleQuotedStringElement38(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) +func (c *current) onDoubleQuoteItalicTextElement170() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonSingleQuotedStringElement38() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement170() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedStringElement38(stack["name"], stack["start"]) + return p.cur.onDoubleQuoteItalicTextElement170() } -func (c *current) onSingleQuotedStringElement64() (interface{}, error) { - return string(c.text), nil +func (c *current) onDoubleQuoteItalicTextElement167() (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) callonSingleQuotedStringElement64() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement167() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedStringElement64() + return p.cur.onDoubleQuoteItalicTextElement167() } -func (c *current) onSingleQuotedStringElement76() (interface{}, error) { - return string(c.text), nil +func (c *current) onDoubleQuoteItalicTextElement1(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonSingleQuotedStringElement76() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedStringElement76() + return p.cur.onDoubleQuoteItalicTextElement1(stack["element"]) } -func (c *current) onSingleQuotedStringElement78() (interface{}, error) { - - return strconv.Atoi(string(c.text)) +func (c *current) onQuotedTextInDoubleQuoteItalicText1(attributes, text interface{}) (interface{}, error) { + return text.(*types.QuotedText).WithAttributes(attributes) } -func (p *parser) callonSingleQuotedStringElement78() (interface{}, error) { +func (p *parser) callonQuotedTextInDoubleQuoteItalicText1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedStringElement78() + return p.cur.onQuotedTextInDoubleQuoteItalicText1(stack["attributes"], stack["text"]) } -func (c *current) onSingleQuotedStringElement71(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onSingleQuoteItalicText1(elements interface{}) (interface{}, error) { + + return types.NewQuotedText(types.SingleQuoteItalic, elements.([]interface{})) } -func (p *parser) callonSingleQuotedStringElement71() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicText1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedStringElement71(stack["start"]) + return p.cur.onSingleQuoteItalicText1(stack["elements"]) } -func (c *current) onSingleQuotedStringElement60(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) +func (c *current) onSingleQuoteItalicTextElements7() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonSingleQuotedStringElement60() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElements7() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedStringElement60(stack["name"], stack["start"]) + return p.cur.onSingleQuoteItalicTextElements7() } -func (c *current) onSingleQuotedStringElement86() (interface{}, error) { - return string(c.text), nil +func (c *current) onSingleQuoteItalicTextElements12(elements interface{}) (bool, error) { + return validateSingleQuoteElements(elements.([]interface{})) // cannot end with spaces } -func (p *parser) callonSingleQuotedStringElement86() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElements12() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedStringElement86() + return p.cur.onSingleQuoteItalicTextElements12(stack["elements"]) } -func (c *current) onSingleQuotedStringElement82(name interface{}) (interface{}, error) { +func (c *current) onSingleQuoteItalicTextElements1(elements interface{}) (interface{}, error) { + return elements, nil - return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonSingleQuotedStringElement82() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElements1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedStringElement82(stack["name"]) + return p.cur.onSingleQuoteItalicTextElements1(stack["elements"]) } -func (c *current) onSingleQuotedStringElement33(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onSingleQuoteItalicTextElement8() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonSingleQuotedStringElement33() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement8() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedStringElement33(stack["element"]) + return p.cur.onSingleQuoteItalicTextElement8() } -func (c *current) onSingleQuotedStringElement94() (bool, error) { - return c.isSubstitutionEnabled(SpecialCharacters) +func (c *current) onSingleQuoteItalicTextElement2() (interface{}, error) { + return types.NewStringElement(string(c.text)) } -func (p *parser) callonSingleQuotedStringElement94() (bool, error) { +func (p *parser) callonSingleQuoteItalicTextElement2() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedStringElement94() + return p.cur.onSingleQuoteItalicTextElement2() } -func (c *current) onSingleQuotedStringElement103() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ +func (c *current) onSingleQuoteItalicTextElement11() (interface{}, error) { + // log.Debug("matched multiple spaces") return string(c.text), nil } -func (p *parser) callonSingleQuotedStringElement103() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement11() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedStringElement103() + return p.cur.onSingleQuoteItalicTextElement11() } -func (c *current) onSingleQuotedStringElement107() (interface{}, error) { +func (c *current) onSingleQuoteItalicTextElement15() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonSingleQuotedStringElement107() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement15() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedStringElement107() + return p.cur.onSingleQuoteItalicTextElement15() } -func (c *current) onSingleQuotedStringElement113() (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) onSingleQuoteItalicTextElement21() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonSingleQuotedStringElement113() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement21() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedStringElement113() + return p.cur.onSingleQuoteItalicTextElement21() } -func (c *current) onSingleQuotedStringElement120() (bool, error) { - return c.isSubstitutionEnabled(Attributes) +func (c *current) onSingleQuoteItalicTextElement28() (bool, error) { + return c.isSubstitutionEnabled(Attributes), nil } -func (p *parser) callonSingleQuotedStringElement120() (bool, error) { +func (p *parser) callonSingleQuoteItalicTextElement28() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedStringElement120() + return p.cur.onSingleQuoteItalicTextElement28() } -func (c *current) onSingleQuotedStringElement127() (interface{}, error) { +func (c *current) onSingleQuoteItalicTextElement35() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSingleQuotedStringElement127() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement35() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedStringElement127() + return p.cur.onSingleQuoteItalicTextElement35() } -func (c *current) onSingleQuotedStringElement139() (interface{}, error) { +func (c *current) onSingleQuoteItalicTextElement47() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSingleQuotedStringElement139() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement47() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedStringElement139() + return p.cur.onSingleQuoteItalicTextElement47() } -func (c *current) onSingleQuotedStringElement141() (interface{}, error) { +func (c *current) onSingleQuoteItalicTextElement49() (interface{}, error) { return strconv.Atoi(string(c.text)) } -func (p *parser) callonSingleQuotedStringElement141() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement49() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedStringElement141() + return p.cur.onSingleQuoteItalicTextElement49() } -func (c *current) onSingleQuotedStringElement134(start interface{}) (interface{}, error) { +func (c *current) onSingleQuoteItalicTextElement42(start interface{}) (interface{}, error) { return start, nil } -func (p *parser) callonSingleQuotedStringElement134() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement42() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedStringElement134(stack["start"]) + return p.cur.onSingleQuoteItalicTextElement42(stack["start"]) } -func (c *current) onSingleQuotedStringElement123(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) callonSingleQuotedStringElement123() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement31() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedStringElement123(stack["name"], stack["start"]) + return p.cur.onSingleQuoteItalicTextElement31(stack["name"], stack["start"]) } -func (c *current) onSingleQuotedStringElement149() (interface{}, error) { +func (c *current) onSingleQuoteItalicTextElement57() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSingleQuotedStringElement149() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement57() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedStringElement149() + return p.cur.onSingleQuoteItalicTextElement57() } -func (c *current) onSingleQuotedStringElement161() (interface{}, error) { +func (c *current) onSingleQuoteItalicTextElement69() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSingleQuotedStringElement161() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement69() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedStringElement161() + return p.cur.onSingleQuoteItalicTextElement69() } -func (c *current) onSingleQuotedStringElement163() (interface{}, error) { +func (c *current) onSingleQuoteItalicTextElement71() (interface{}, error) { return strconv.Atoi(string(c.text)) } -func (p *parser) callonSingleQuotedStringElement163() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement71() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedStringElement163() + return p.cur.onSingleQuoteItalicTextElement71() } -func (c *current) onSingleQuotedStringElement156(start interface{}) (interface{}, error) { +func (c *current) onSingleQuoteItalicTextElement64(start interface{}) (interface{}, error) { return start, nil } -func (p *parser) callonSingleQuotedStringElement156() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement64() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedStringElement156(stack["start"]) + return p.cur.onSingleQuoteItalicTextElement64(stack["start"]) } -func (c *current) onSingleQuotedStringElement145(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) callonSingleQuotedStringElement145() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement53() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedStringElement145(stack["name"], stack["start"]) + return p.cur.onSingleQuoteItalicTextElement53(stack["name"], stack["start"]) } -func (c *current) onSingleQuotedStringElement171() (interface{}, error) { +func (c *current) onSingleQuoteItalicTextElement79() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSingleQuotedStringElement171() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement79() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedStringElement171() + return p.cur.onSingleQuoteItalicTextElement79() } -func (c *current) onSingleQuotedStringElement167(name interface{}) (interface{}, error) { +func (c *current) onSingleQuoteItalicTextElement75(name interface{}) (interface{}, error) { return types.NewAttributeSubstitution(name.(string), string(c.text)) + } -func (p *parser) callonSingleQuotedStringElement167() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement75() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedStringElement167(stack["name"]) + return p.cur.onSingleQuoteItalicTextElement75(stack["name"]) } -func (c *current) onSingleQuotedStringElement118(element interface{}) (interface{}, error) { +func (c *current) onSingleQuoteItalicTextElement26(element interface{}) (interface{}, error) { return element, nil } -func (p *parser) callonSingleQuotedStringElement118() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement26() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedStringElement118(stack["element"]) + return p.cur.onSingleQuoteItalicTextElement26(stack["element"]) } -func (c *current) onSingleQuotedStringElement177() (interface{}, error) { +func (c *current) onSingleQuoteItalicTextElement87() (bool, error) { + return c.isSubstitutionEnabled(SpecialCharacters), nil - return types.NewStringElement(string(c.text)) +} + +func (p *parser) callonSingleQuoteItalicTextElement87() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteItalicTextElement87() +} + +func (c *current) onSingleQuoteItalicTextElement96() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ + return string(c.text), nil } -func (p *parser) callonSingleQuotedStringElement177() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement96() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedStringElement177() + return p.cur.onSingleQuoteItalicTextElement96() } -func (c *current) onSingleQuotedStringElement99(id, label interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, label) +func (c *current) onSingleQuoteItalicTextElement100() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonSingleQuotedStringElement99() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement100() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedStringElement99(stack["id"], stack["label"]) + return p.cur.onSingleQuoteItalicTextElement100() } -func (c *current) onSingleQuotedStringElement184() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ +func (c *current) onSingleQuoteItalicTextElement106() (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) callonSingleQuoteItalicTextElement106() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteItalicTextElement106() +} + +func (c *current) onSingleQuoteItalicTextElement115() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSingleQuotedStringElement184() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement115() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedStringElement184() + return p.cur.onSingleQuoteItalicTextElement115() } -func (c *current) onSingleQuotedStringElement180(id interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, nil) +func (c *current) onSingleQuoteItalicTextElement111(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonSingleQuotedStringElement180() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement111() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedStringElement180(stack["id"]) + return p.cur.onSingleQuoteItalicTextElement111(stack["name"]) } -func (c *current) onSingleQuotedStringElement97() (interface{}, error) { +func (c *current) onSingleQuoteItalicTextElement121() (interface{}, error) { + return types.NewStringElement(string(c.text)) } -func (p *parser) callonSingleQuotedStringElement97() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement121() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedStringElement97() + return p.cur.onSingleQuoteItalicTextElement121() } -func (c *current) onSingleQuotedStringElement188() (interface{}, error) { - return types.NewSpecialCharacter(string(c.text)) +func (c *current) onSingleQuoteItalicTextElement92(id, label interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, label) } -func (p *parser) callonSingleQuotedStringElement188() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement92() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedStringElement188() + return p.cur.onSingleQuoteItalicTextElement92(stack["id"], stack["label"]) } -func (c *current) onSingleQuotedStringElement92(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onSingleQuoteItalicTextElement128() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ + return string(c.text), nil } -func (p *parser) callonSingleQuotedStringElement92() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement128() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedStringElement92(stack["element"]) + return p.cur.onSingleQuoteItalicTextElement128() } -func (c *current) onSingleQuotedStringElement194() (bool, error) { - - return c.isPreceededBySpace(), nil +func (c *current) onSingleQuoteItalicTextElement124(id interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, nil) } -func (p *parser) callonSingleQuotedStringElement194() (bool, error) { +func (p *parser) callonSingleQuoteItalicTextElement124() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedStringElement194() + return p.cur.onSingleQuoteItalicTextElement124(stack["id"]) } -func (c *current) onSingleQuotedStringElement197() (interface{}, error) { - return string(c.text), nil +func (c *current) onSingleQuoteItalicTextElement90() (interface{}, error) { + return types.NewStringElement(string(c.text)) } -func (p *parser) callonSingleQuotedStringElement197() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement90() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedStringElement197() + return p.cur.onSingleQuoteItalicTextElement90() } -func (c *current) onSingleQuotedStringElement201() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onSingleQuoteItalicTextElement132() (interface{}, error) { + return types.NewSpecialCharacter(string(c.text)) + } -func (p *parser) callonSingleQuotedStringElement201() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement132() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedStringElement201() + return p.cur.onSingleQuoteItalicTextElement132() } -func (c *current) onSingleQuotedStringElement192() (interface{}, error) { - return types.NewLineBreak() +func (c *current) onSingleQuoteItalicTextElement85(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonSingleQuotedStringElement192() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement85() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedStringElement192() + return p.cur.onSingleQuoteItalicTextElement85(stack["element"]) } -func (c *current) onSingleQuotedStringElement210() (interface{}, error) { +func (c *current) onSingleQuoteItalicTextElement134() (interface{}, error) { return types.NewStringElement("\u2019") } -func (p *parser) callonSingleQuotedStringElement210() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement134() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedStringElement210() + return p.cur.onSingleQuoteItalicTextElement134() } -func (c *current) onSingleQuotedStringElement212() (interface{}, error) { +func (c *current) onSingleQuoteItalicTextElement136() (interface{}, error) { return types.NewStringElement("\u00a9") } -func (p *parser) callonSingleQuotedStringElement212() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement136() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedStringElement212() + return p.cur.onSingleQuoteItalicTextElement136() } -func (c *current) onSingleQuotedStringElement214() (interface{}, error) { +func (c *current) onSingleQuoteItalicTextElement138() (interface{}, error) { return types.NewStringElement("\u2122") } -func (p *parser) callonSingleQuotedStringElement214() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement138() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedStringElement214() + return p.cur.onSingleQuoteItalicTextElement138() } -func (c *current) onSingleQuotedStringElement216() (interface{}, error) { +func (c *current) onSingleQuoteItalicTextElement140() (interface{}, error) { return types.NewStringElement("\u00ae") } -func (p *parser) callonSingleQuotedStringElement216() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement140() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedStringElement216() + return p.cur.onSingleQuoteItalicTextElement140() } -func (c *current) onSingleQuotedStringElement218() (interface{}, error) { +func (c *current) onSingleQuoteItalicTextElement142() (interface{}, error) { return types.NewStringElement("\u2026\u200b") } -func (p *parser) callonSingleQuotedStringElement218() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement142() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedStringElement218() + return p.cur.onSingleQuoteItalicTextElement142() } -func (c *current) onSingleQuotedStringElement220() (interface{}, error) { +func (c *current) onSingleQuoteItalicTextElement144() (interface{}, error) { return types.NewStringElement(string(c.text[:1]) + "\u2019") } -func (p *parser) callonSingleQuotedStringElement220() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement144() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedStringElement220() + return p.cur.onSingleQuoteItalicTextElement144() } -func (c *current) onSingleQuotedStringElement229() (interface{}, error) { - // ' - return types.NewStringElement(string(c.text)) +func (c *current) onSingleQuoteItalicTextElement157() (interface{}, error) { + return string(c.text), nil +} +func (p *parser) callonSingleQuoteItalicTextElement157() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteItalicTextElement157() +} + +func (c *current) onSingleQuoteItalicTextElement153(ref interface{}) (interface{}, error) { + return types.NewElementPlaceHolder(ref.(string)) } -func (p *parser) callonSingleQuotedStringElement229() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement153() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedStringElement229() + return p.cur.onSingleQuoteItalicTextElement153(stack["ref"]) } -func (c *current) onSingleQuotedStringElement1(element interface{}) (interface{}, error) { - c.trackSpaceSuffix(element) - return element, nil +func (c *current) onSingleQuoteItalicTextElement165() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonSingleQuotedStringElement1() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement165() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedStringElement1(stack["element"]) + return p.cur.onSingleQuoteItalicTextElement165() } -func (c *current) onQuotedTextInSingleQuotedString10(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onSingleQuoteItalicTextElement162() (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) callonQuotedTextInSingleQuotedString10() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement162() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onQuotedTextInSingleQuotedString10(stack["element"]) + return p.cur.onSingleQuoteItalicTextElement162() } -func (c *current) onQuotedTextInSingleQuotedString1(attributes, text interface{}) (interface{}, error) { +func (c *current) onQuotedTextInSingleQuoteItalicText1(attributes, text interface{}) (interface{}, error) { return text.(*types.QuotedText).WithAttributes(attributes) } -func (p *parser) callonQuotedTextInSingleQuotedString1() (interface{}, error) { +func (p *parser) callonQuotedTextInSingleQuoteItalicText1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onQuotedTextInSingleQuotedString1(stack["attributes"], stack["text"]) + return p.cur.onQuotedTextInSingleQuoteItalicText1(stack["attributes"], stack["text"]) } -func (c *current) onDoubleQuotedString1(elements interface{}) (interface{}, error) { - return types.NewQuotedString(types.DoubleQuote, elements.([]interface{})) +func (c *current) onEscapedItalicText5() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDoubleQuotedString1() (interface{}, error) { +func (p *parser) callonEscapedItalicText5() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedString1(stack["elements"]) + return p.cur.onEscapedItalicText5() } -func (c *current) onDoubleQuotedStringElements1(elements interface{}) (interface{}, error) { - c.resetSpaceSuffixTracking() - return types.NewInlineElements(elements) +func (c *current) onEscapedItalicText2(backslashes, elements interface{}) (interface{}, error) { + // double punctuation must be evaluated first + return types.NewEscapedQuotedText(backslashes.(string), "__", elements.([]interface{})) } -func (p *parser) callonDoubleQuotedStringElements1() (interface{}, error) { +func (p *parser) callonEscapedItalicText2() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedStringElements1(stack["elements"]) + return p.cur.onEscapedItalicText2(stack["backslashes"], stack["elements"]) } -func (c *current) onDoubleQuotedStringElement13() (interface{}, error) { +func (c *current) onEscapedItalicText17() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDoubleQuotedStringElement13() (interface{}, error) { +func (p *parser) callonEscapedItalicText17() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedStringElement13() + return p.cur.onEscapedItalicText17() } -func (c *current) onDoubleQuotedStringElement7() (interface{}, error) { - return types.NewStringElement(string(c.text)) +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) callonDoubleQuotedStringElement7() (interface{}, error) { +func (p *parser) callonEscapedItalicText14() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedStringElement7() + return p.cur.onEscapedItalicText14(stack["backslashes"], stack["elements"]) } -func (c *current) onDoubleQuotedStringElement17() (interface{}, error) { +func (c *current) onEscapedItalicText27() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDoubleQuotedStringElement17() (interface{}, error) { +func (p *parser) callonEscapedItalicText27() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedStringElement17() + return p.cur.onEscapedItalicText27() } -func (c *current) onDoubleQuotedStringElement22() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onEscapedItalicText24(backslashes, elements interface{}) (interface{}, error) { + // simple punctuation must be evaluated last + return types.NewEscapedQuotedText(backslashes.(string), "_", elements.([]interface{})) + +} + +func (p *parser) callonEscapedItalicText24() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onEscapedItalicText24(stack["backslashes"], stack["elements"]) +} + +func (c *current) onDoubleQuoteMonospaceText1(elements interface{}) (interface{}, error) { + + return types.NewQuotedText(types.DoubleQuoteMonospace, elements.([]interface{})) + } -func (p *parser) callonDoubleQuotedStringElement22() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceText1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedStringElement22() + return p.cur.onDoubleQuoteMonospaceText1(stack["elements"]) } -func (c *current) onDoubleQuotedStringElement28() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onDoubleQuoteMonospaceTextElement13() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonDoubleQuotedStringElement28() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement13() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedStringElement28() + return p.cur.onDoubleQuoteMonospaceTextElement13() } -func (c *current) onDoubleQuotedStringElement36() (bool, error) { - - return c.isPreceededBySpace(), nil +func (c *current) onDoubleQuoteMonospaceTextElement7() (interface{}, error) { + return types.NewStringElement(string(c.text)) } -func (p *parser) callonDoubleQuotedStringElement36() (bool, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement7() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedStringElement36() + return p.cur.onDoubleQuoteMonospaceTextElement7() } -func (c *current) onDoubleQuotedStringElement39() (interface{}, error) { +func (c *current) onDoubleQuoteMonospaceTextElement16() (interface{}, error) { + // log.Debug("matched multiple spaces") return string(c.text), nil } -func (p *parser) callonDoubleQuotedStringElement39() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement16() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedStringElement39() + return p.cur.onDoubleQuoteMonospaceTextElement16() } -func (c *current) onDoubleQuotedStringElement43() (interface{}, error) { +func (c *current) onDoubleQuoteMonospaceTextElement20() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDoubleQuotedStringElement43() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement20() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedStringElement43() + return p.cur.onDoubleQuoteMonospaceTextElement20() } -func (c *current) onDoubleQuotedStringElement34() (interface{}, error) { - return types.NewLineBreak() - +func (c *current) onDoubleQuoteMonospaceTextElement26() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonDoubleQuotedStringElement34() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement26() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedStringElement34() + return p.cur.onDoubleQuoteMonospaceTextElement26() } -func (c *current) onDoubleQuotedStringElement54() (bool, error) { - return c.isSubstitutionEnabled(Attributes) +func (c *current) onDoubleQuoteMonospaceTextElement33() (bool, error) { + return c.isSubstitutionEnabled(Attributes), nil } -func (p *parser) callonDoubleQuotedStringElement54() (bool, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement33() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedStringElement54() + return p.cur.onDoubleQuoteMonospaceTextElement33() } -func (c *current) onDoubleQuotedStringElement61() (interface{}, error) { +func (c *current) onDoubleQuoteMonospaceTextElement40() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDoubleQuotedStringElement61() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement40() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedStringElement61() + return p.cur.onDoubleQuoteMonospaceTextElement40() } -func (c *current) onDoubleQuotedStringElement73() (interface{}, error) { +func (c *current) onDoubleQuoteMonospaceTextElement52() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDoubleQuotedStringElement73() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement52() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedStringElement73() + return p.cur.onDoubleQuoteMonospaceTextElement52() } -func (c *current) onDoubleQuotedStringElement75() (interface{}, error) { +func (c *current) onDoubleQuoteMonospaceTextElement54() (interface{}, error) { return strconv.Atoi(string(c.text)) } -func (p *parser) callonDoubleQuotedStringElement75() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement54() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedStringElement75() + return p.cur.onDoubleQuoteMonospaceTextElement54() } -func (c *current) onDoubleQuotedStringElement68(start interface{}) (interface{}, error) { +func (c *current) onDoubleQuoteMonospaceTextElement47(start interface{}) (interface{}, error) { return start, nil } -func (p *parser) callonDoubleQuotedStringElement68() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement47() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedStringElement68(stack["start"]) + return p.cur.onDoubleQuoteMonospaceTextElement47(stack["start"]) } -func (c *current) onDoubleQuotedStringElement57(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) callonDoubleQuotedStringElement57() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement36() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedStringElement57(stack["name"], stack["start"]) + return p.cur.onDoubleQuoteMonospaceTextElement36(stack["name"], stack["start"]) } -func (c *current) onDoubleQuotedStringElement83() (interface{}, error) { +func (c *current) onDoubleQuoteMonospaceTextElement62() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDoubleQuotedStringElement83() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement62() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedStringElement83() + return p.cur.onDoubleQuoteMonospaceTextElement62() } -func (c *current) onDoubleQuotedStringElement95() (interface{}, error) { +func (c *current) onDoubleQuoteMonospaceTextElement74() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDoubleQuotedStringElement95() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement74() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedStringElement95() + return p.cur.onDoubleQuoteMonospaceTextElement74() } -func (c *current) onDoubleQuotedStringElement97() (interface{}, error) { +func (c *current) onDoubleQuoteMonospaceTextElement76() (interface{}, error) { return strconv.Atoi(string(c.text)) } -func (p *parser) callonDoubleQuotedStringElement97() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement76() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedStringElement97() + return p.cur.onDoubleQuoteMonospaceTextElement76() } -func (c *current) onDoubleQuotedStringElement90(start interface{}) (interface{}, error) { +func (c *current) onDoubleQuoteMonospaceTextElement69(start interface{}) (interface{}, error) { return start, nil } -func (p *parser) callonDoubleQuotedStringElement90() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement69() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedStringElement90(stack["start"]) + return p.cur.onDoubleQuoteMonospaceTextElement69(stack["start"]) } -func (c *current) onDoubleQuotedStringElement79(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) callonDoubleQuotedStringElement79() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement58() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedStringElement79(stack["name"], stack["start"]) + return p.cur.onDoubleQuoteMonospaceTextElement58(stack["name"], stack["start"]) } -func (c *current) onDoubleQuotedStringElement105() (interface{}, error) { +func (c *current) onDoubleQuoteMonospaceTextElement84() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDoubleQuotedStringElement105() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement84() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedStringElement105() + return p.cur.onDoubleQuoteMonospaceTextElement84() } -func (c *current) onDoubleQuotedStringElement101(name interface{}) (interface{}, error) { +func (c *current) onDoubleQuoteMonospaceTextElement80(name interface{}) (interface{}, error) { return types.NewAttributeSubstitution(name.(string), string(c.text)) + } -func (p *parser) callonDoubleQuotedStringElement101() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement80() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedStringElement101(stack["name"]) + return p.cur.onDoubleQuoteMonospaceTextElement80(stack["name"]) } -func (c *current) onDoubleQuotedStringElement52(element interface{}) (interface{}, error) { +func (c *current) onDoubleQuoteMonospaceTextElement31(element interface{}) (interface{}, error) { return element, nil } -func (p *parser) callonDoubleQuotedStringElement52() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement31() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedStringElement52(stack["element"]) + return p.cur.onDoubleQuoteMonospaceTextElement31(stack["element"]) } -func (c *current) onDoubleQuotedStringElement113() (bool, error) { - return c.isSubstitutionEnabled(SpecialCharacters) +func (c *current) onDoubleQuoteMonospaceTextElement92() (bool, error) { + return c.isSubstitutionEnabled(SpecialCharacters), nil } -func (p *parser) callonDoubleQuotedStringElement113() (bool, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement92() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedStringElement113() + return p.cur.onDoubleQuoteMonospaceTextElement92() } -func (c *current) onDoubleQuotedStringElement122() (interface{}, error) { +func (c *current) onDoubleQuoteMonospaceTextElement101() (interface{}, error) { // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ return string(c.text), nil } -func (p *parser) callonDoubleQuotedStringElement122() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement101() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedStringElement122() + return p.cur.onDoubleQuoteMonospaceTextElement101() } -func (c *current) onDoubleQuotedStringElement126() (interface{}, error) { +func (c *current) onDoubleQuoteMonospaceTextElement105() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDoubleQuotedStringElement126() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement105() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedStringElement126() + return p.cur.onDoubleQuoteMonospaceTextElement105() } -func (c *current) onDoubleQuotedStringElement132() (interface{}, error) { +func (c *current) onDoubleQuoteMonospaceTextElement111() (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) callonDoubleQuotedStringElement132() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement111() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedStringElement132() + return p.cur.onDoubleQuoteMonospaceTextElement111() } -func (c *current) onDoubleQuotedStringElement139() (bool, error) { - return c.isSubstitutionEnabled(Attributes) +func (c *current) onDoubleQuoteMonospaceTextElement120() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDoubleQuotedStringElement139() (bool, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement120() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedStringElement139() + return p.cur.onDoubleQuoteMonospaceTextElement120() } -func (c *current) onDoubleQuotedStringElement146() (interface{}, error) { - return string(c.text), nil +func (c *current) onDoubleQuoteMonospaceTextElement116(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonDoubleQuotedStringElement146() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement116() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedStringElement146() + return p.cur.onDoubleQuoteMonospaceTextElement116(stack["name"]) } -func (c *current) onDoubleQuotedStringElement158() (interface{}, error) { - return string(c.text), nil +func (c *current) onDoubleQuoteMonospaceTextElement126() (interface{}, error) { + + return types.NewStringElement(string(c.text)) } -func (p *parser) callonDoubleQuotedStringElement158() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement126() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedStringElement158() + return p.cur.onDoubleQuoteMonospaceTextElement126() } -func (c *current) onDoubleQuotedStringElement160() (interface{}, error) { - - return strconv.Atoi(string(c.text)) +func (c *current) onDoubleQuoteMonospaceTextElement97(id, label interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, label) } -func (p *parser) callonDoubleQuotedStringElement160() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement97() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedStringElement160() + return p.cur.onDoubleQuoteMonospaceTextElement97(stack["id"], stack["label"]) } -func (c *current) onDoubleQuotedStringElement153(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onDoubleQuoteMonospaceTextElement133() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ + return string(c.text), nil } -func (p *parser) callonDoubleQuotedStringElement153() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement133() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedStringElement153(stack["start"]) + return p.cur.onDoubleQuoteMonospaceTextElement133() } -func (c *current) onDoubleQuotedStringElement142(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) +func (c *current) onDoubleQuoteMonospaceTextElement129(id interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, nil) + } -func (p *parser) callonDoubleQuotedStringElement142() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement129() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedStringElement142(stack["name"], stack["start"]) + return p.cur.onDoubleQuoteMonospaceTextElement129(stack["id"]) } -func (c *current) onDoubleQuotedStringElement168() (interface{}, error) { - return string(c.text), nil +func (c *current) onDoubleQuoteMonospaceTextElement95() (interface{}, error) { + return types.NewStringElement(string(c.text)) } -func (p *parser) callonDoubleQuotedStringElement168() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement95() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedStringElement168() + return p.cur.onDoubleQuoteMonospaceTextElement95() } -func (c *current) onDoubleQuotedStringElement180() (interface{}, error) { - return string(c.text), nil +func (c *current) onDoubleQuoteMonospaceTextElement137() (interface{}, error) { + return types.NewSpecialCharacter(string(c.text)) } -func (p *parser) callonDoubleQuotedStringElement180() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement137() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedStringElement180() + return p.cur.onDoubleQuoteMonospaceTextElement137() } -func (c *current) onDoubleQuotedStringElement182() (interface{}, error) { +func (c *current) onDoubleQuoteMonospaceTextElement90(element interface{}) (interface{}, error) { + return element, nil - return strconv.Atoi(string(c.text)) +} + +func (p *parser) callonDoubleQuoteMonospaceTextElement90() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMonospaceTextElement90(stack["element"]) +} + +func (c *current) onDoubleQuoteMonospaceTextElement139() (interface{}, error) { + return types.NewStringElement("\u2019") } -func (p *parser) callonDoubleQuotedStringElement182() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement139() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedStringElement182() + return p.cur.onDoubleQuoteMonospaceTextElement139() } -func (c *current) onDoubleQuotedStringElement175(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onDoubleQuoteMonospaceTextElement141() (interface{}, error) { + return types.NewStringElement("\u00a9") } -func (p *parser) callonDoubleQuotedStringElement175() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement141() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedStringElement175(stack["start"]) + return p.cur.onDoubleQuoteMonospaceTextElement141() } -func (c *current) onDoubleQuotedStringElement164(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) +func (c *current) onDoubleQuoteMonospaceTextElement143() (interface{}, error) { + return types.NewStringElement("\u2122") + } -func (p *parser) callonDoubleQuotedStringElement164() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement143() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedStringElement164(stack["name"], stack["start"]) + return p.cur.onDoubleQuoteMonospaceTextElement143() } -func (c *current) onDoubleQuotedStringElement190() (interface{}, error) { - return string(c.text), nil +func (c *current) onDoubleQuoteMonospaceTextElement145() (interface{}, error) { + return types.NewStringElement("\u00ae") } -func (p *parser) callonDoubleQuotedStringElement190() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement145() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedStringElement190() + return p.cur.onDoubleQuoteMonospaceTextElement145() } -func (c *current) onDoubleQuotedStringElement186(name interface{}) (interface{}, error) { +func (c *current) onDoubleQuoteMonospaceTextElement147() (interface{}, error) { + return types.NewStringElement("\u2026\u200b") - return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonDoubleQuotedStringElement186() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement147() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedStringElement186(stack["name"]) + return p.cur.onDoubleQuoteMonospaceTextElement147() } -func (c *current) onDoubleQuotedStringElement137(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onDoubleQuoteMonospaceTextElement149() (interface{}, error) { + return types.NewStringElement(string(c.text[:1]) + "\u2019") } -func (p *parser) callonDoubleQuotedStringElement137() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement149() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedStringElement137(stack["element"]) + return p.cur.onDoubleQuoteMonospaceTextElement149() } -func (c *current) onDoubleQuotedStringElement196() (interface{}, error) { +func (c *current) onDoubleQuoteMonospaceTextElement163() (interface{}, error) { + return string(c.text), nil +} - return types.NewStringElement(string(c.text)) +func (p *parser) callonDoubleQuoteMonospaceTextElement163() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMonospaceTextElement163() +} +func (c *current) onDoubleQuoteMonospaceTextElement159(ref interface{}) (interface{}, error) { + return types.NewElementPlaceHolder(ref.(string)) } -func (p *parser) callonDoubleQuotedStringElement196() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement159() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedStringElement196() + return p.cur.onDoubleQuoteMonospaceTextElement159(stack["ref"]) } -func (c *current) onDoubleQuotedStringElement118(id, label interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, label) +func (c *current) onDoubleQuoteMonospaceTextElement171() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDoubleQuotedStringElement118() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement171() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedStringElement118(stack["id"], stack["label"]) + return p.cur.onDoubleQuoteMonospaceTextElement171() } -func (c *current) onDoubleQuotedStringElement203() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ - return string(c.text), nil +func (c *current) onDoubleQuoteMonospaceTextElement168() (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) callonDoubleQuotedStringElement203() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement168() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedStringElement203() + return p.cur.onDoubleQuoteMonospaceTextElement168() } -func (c *current) onDoubleQuotedStringElement199(id interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, nil) +func (c *current) onDoubleQuoteMonospaceTextElement1(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonDoubleQuotedStringElement199() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedStringElement199(stack["id"]) + return p.cur.onDoubleQuoteMonospaceTextElement1(stack["element"]) } -func (c *current) onDoubleQuotedStringElement116() (interface{}, error) { - return types.NewStringElement(string(c.text)) +func (c *current) onQuotedTextInDoubleQuoteMonospaceText1(attributes, text interface{}) (interface{}, error) { + return text.(*types.QuotedText).WithAttributes(attributes) } -func (p *parser) callonDoubleQuotedStringElement116() (interface{}, error) { +func (p *parser) callonQuotedTextInDoubleQuoteMonospaceText1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedStringElement116() + return p.cur.onQuotedTextInDoubleQuoteMonospaceText1(stack["attributes"], stack["text"]) } -func (c *current) onDoubleQuotedStringElement207() (interface{}, error) { - return types.NewSpecialCharacter(string(c.text)) +func (c *current) onSingleQuoteMonospaceText1(elements interface{}) (interface{}, error) { + + return types.NewQuotedText(types.SingleQuoteMonospace, elements.([]interface{})) } -func (p *parser) callonDoubleQuotedStringElement207() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceText1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedStringElement207() + return p.cur.onSingleQuoteMonospaceText1(stack["elements"]) } -func (c *current) onDoubleQuotedStringElement111(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onSingleQuoteMonospaceTextElements7() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDoubleQuotedStringElement111() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElements7() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedStringElement111(stack["element"]) + return p.cur.onSingleQuoteMonospaceTextElements7() } -func (c *current) onDoubleQuotedStringElement212() (interface{}, error) { - return types.NewStringElement(string(c.text)) +func (c *current) onSingleQuoteMonospaceTextElements12(elements interface{}) (bool, error) { + return validateSingleQuoteElements(elements.([]interface{})) // cannot end with spaces } -func (p *parser) callonDoubleQuotedStringElement212() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElements12() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedStringElement212() + return p.cur.onSingleQuoteMonospaceTextElements12(stack["elements"]) } -func (c *current) onDoubleQuotedStringElement1(element interface{}) (interface{}, error) { - c.trackSpaceSuffix(element) - return element, nil +func (c *current) onSingleQuoteMonospaceTextElements1(elements interface{}) (interface{}, error) { + return elements, nil } -func (p *parser) callonDoubleQuotedStringElement1() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElements1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedStringElement1(stack["element"]) + return p.cur.onSingleQuoteMonospaceTextElements1(stack["elements"]) } -func (c *current) onQuotedTextInDoubleQuotedString10(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onSingleQuoteMonospaceTextElement2() (interface{}, error) { + return types.NewStringElement(string(c.text)) + } -func (p *parser) callonQuotedTextInDoubleQuotedString10() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement2() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onQuotedTextInDoubleQuotedString10(stack["element"]) + return p.cur.onSingleQuoteMonospaceTextElement2() } -func (c *current) onQuotedTextInDoubleQuotedString1(attributes, text interface{}) (interface{}, error) { - return text.(*types.QuotedText).WithAttributes(attributes) +func (c *current) onSingleQuoteMonospaceTextElement11() (interface{}, error) { + // allow ` + return types.NewStringElement(string(c.text)) } -func (p *parser) callonQuotedTextInDoubleQuotedString1() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement11() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onQuotedTextInDoubleQuotedString1(stack["attributes"], stack["text"]) + return p.cur.onSingleQuoteMonospaceTextElement11() } -func (c *current) onAttributesGroup6() (interface{}, error) { +func (c *current) onSingleQuoteMonospaceTextElement20() (interface{}, error) { + // log.Debug("matched multiple spaces") return string(c.text), nil } -func (p *parser) callonAttributesGroup6() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement20() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributesGroup6() + return p.cur.onSingleQuoteMonospaceTextElement20() } -func (c *current) onAttributesGroup9() (interface{}, error) { +func (c *current) onSingleQuoteMonospaceTextElement24() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil +} + +func (p *parser) callonSingleQuoteMonospaceTextElement24() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteMonospaceTextElement24() +} +func (c *current) onSingleQuoteMonospaceTextElement30() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonAttributesGroup9() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement30() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributesGroup9() + return p.cur.onSingleQuoteMonospaceTextElement30() } -func (c *current) onAttributesGroup13() (bool, error) { - return c.isSubstitutionEnabled(SpecialCharacters) +func (c *current) onSingleQuoteMonospaceTextElement37() (bool, error) { + return c.isSubstitutionEnabled(Attributes), nil } -func (p *parser) callonAttributesGroup13() (bool, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement37() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributesGroup13() + return p.cur.onSingleQuoteMonospaceTextElement37() } -func (c *current) onAttributesGroup22() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ +func (c *current) onSingleQuoteMonospaceTextElement44() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonAttributesGroup22() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement44() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributesGroup22() + return p.cur.onSingleQuoteMonospaceTextElement44() } -func (c *current) onAttributesGroup26() (interface{}, error) { +func (c *current) onSingleQuoteMonospaceTextElement56() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonAttributesGroup26() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement56() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributesGroup26() + return p.cur.onSingleQuoteMonospaceTextElement56() } -func (c *current) onAttributesGroup32() (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) onSingleQuoteMonospaceTextElement58() (interface{}, error) { + + return strconv.Atoi(string(c.text)) } -func (p *parser) callonAttributesGroup32() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement58() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributesGroup32() + return p.cur.onSingleQuoteMonospaceTextElement58() +} + +func (c *current) onSingleQuoteMonospaceTextElement51(start interface{}) (interface{}, error) { + return start, nil + } -func (c *current) onAttributesGroup39() (bool, error) { - return c.isSubstitutionEnabled(Attributes) +func (p *parser) callonSingleQuoteMonospaceTextElement51() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteMonospaceTextElement51(stack["start"]) +} +func (c *current) onSingleQuoteMonospaceTextElement40(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) } -func (p *parser) callonAttributesGroup39() (bool, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement40() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributesGroup39() + return p.cur.onSingleQuoteMonospaceTextElement40(stack["name"], stack["start"]) } -func (c *current) onAttributesGroup46() (interface{}, error) { +func (c *current) onSingleQuoteMonospaceTextElement66() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonAttributesGroup46() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement66() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributesGroup46() + return p.cur.onSingleQuoteMonospaceTextElement66() } -func (c *current) onAttributesGroup58() (interface{}, error) { +func (c *current) onSingleQuoteMonospaceTextElement78() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonAttributesGroup58() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement78() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributesGroup58() + return p.cur.onSingleQuoteMonospaceTextElement78() } -func (c *current) onAttributesGroup60() (interface{}, error) { +func (c *current) onSingleQuoteMonospaceTextElement80() (interface{}, error) { return strconv.Atoi(string(c.text)) } -func (p *parser) callonAttributesGroup60() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement80() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributesGroup60() + return p.cur.onSingleQuoteMonospaceTextElement80() } -func (c *current) onAttributesGroup53(start interface{}) (interface{}, error) { +func (c *current) onSingleQuoteMonospaceTextElement73(start interface{}) (interface{}, error) { return start, nil } -func (p *parser) callonAttributesGroup53() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement73() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributesGroup53(stack["start"]) + return p.cur.onSingleQuoteMonospaceTextElement73(stack["start"]) } -func (c *current) onAttributesGroup42(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) +func (c *current) onSingleQuoteMonospaceTextElement62(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) } -func (p *parser) callonAttributesGroup42() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement62() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributesGroup42(stack["name"], stack["start"]) + return p.cur.onSingleQuoteMonospaceTextElement62(stack["name"], stack["start"]) } -func (c *current) onAttributesGroup68() (interface{}, error) { +func (c *current) onSingleQuoteMonospaceTextElement88() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonAttributesGroup68() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement88() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributesGroup68() + return p.cur.onSingleQuoteMonospaceTextElement88() } -func (c *current) onAttributesGroup80() (interface{}, error) { - return string(c.text), nil +func (c *current) onSingleQuoteMonospaceTextElement84(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonAttributesGroup80() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement84() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributesGroup80() + return p.cur.onSingleQuoteMonospaceTextElement84(stack["name"]) } -func (c *current) onAttributesGroup82() (interface{}, error) { - - return strconv.Atoi(string(c.text)) +func (c *current) onSingleQuoteMonospaceTextElement35(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonAttributesGroup82() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement35() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributesGroup82() + return p.cur.onSingleQuoteMonospaceTextElement35(stack["element"]) } -func (c *current) onAttributesGroup75(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onSingleQuoteMonospaceTextElement96() (bool, error) { + return c.isSubstitutionEnabled(SpecialCharacters), nil } -func (p *parser) callonAttributesGroup75() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement96() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributesGroup75(stack["start"]) + return p.cur.onSingleQuoteMonospaceTextElement96() } -func (c *current) onAttributesGroup64(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) +func (c *current) onSingleQuoteMonospaceTextElement105() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ + return string(c.text), nil + } -func (p *parser) callonAttributesGroup64() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement105() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributesGroup64(stack["name"], stack["start"]) + return p.cur.onSingleQuoteMonospaceTextElement105() } -func (c *current) onAttributesGroup90() (interface{}, error) { +func (c *current) onSingleQuoteMonospaceTextElement109() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonAttributesGroup90() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement109() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributesGroup90() + return p.cur.onSingleQuoteMonospaceTextElement109() } -func (c *current) onAttributesGroup86(name interface{}) (interface{}, error) { +func (c *current) onSingleQuoteMonospaceTextElement115() (interface{}, error) { + // `{`, `>` and `>` characters are not allowed as they are used for attribute substitutions and cross-references + return types.NewStringElement(string(c.text)) - return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonAttributesGroup86() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement115() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributesGroup86(stack["name"]) + return p.cur.onSingleQuoteMonospaceTextElement115() } -func (c *current) onAttributesGroup37(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onSingleQuoteMonospaceTextElement124() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonSingleQuoteMonospaceTextElement124() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteMonospaceTextElement124() +} + +func (c *current) onSingleQuoteMonospaceTextElement120(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonAttributesGroup37() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement120() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributesGroup37(stack["element"]) + return p.cur.onSingleQuoteMonospaceTextElement120(stack["name"]) } -func (c *current) onAttributesGroup96() (interface{}, error) { +func (c *current) onSingleQuoteMonospaceTextElement130() (interface{}, error) { return types.NewStringElement(string(c.text)) } -func (p *parser) callonAttributesGroup96() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement130() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributesGroup96() + return p.cur.onSingleQuoteMonospaceTextElement130() } -func (c *current) onAttributesGroup18(id, label interface{}) (interface{}, error) { +func (c *current) onSingleQuoteMonospaceTextElement101(id, label interface{}) (interface{}, error) { return types.NewInternalCrossReference(id, label) } -func (p *parser) callonAttributesGroup18() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement101() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributesGroup18(stack["id"], stack["label"]) + return p.cur.onSingleQuoteMonospaceTextElement101(stack["id"], stack["label"]) } -func (c *current) onAttributesGroup103() (interface{}, error) { +func (c *current) onSingleQuoteMonospaceTextElement137() (interface{}, error) { // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ return string(c.text), nil } -func (p *parser) callonAttributesGroup103() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement137() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributesGroup103() + return p.cur.onSingleQuoteMonospaceTextElement137() } -func (c *current) onAttributesGroup99(id interface{}) (interface{}, error) { +func (c *current) onSingleQuoteMonospaceTextElement133(id interface{}) (interface{}, error) { return types.NewInternalCrossReference(id, nil) } -func (p *parser) callonAttributesGroup99() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement133() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributesGroup99(stack["id"]) + return p.cur.onSingleQuoteMonospaceTextElement133(stack["id"]) } -func (c *current) onAttributesGroup16() (interface{}, error) { +func (c *current) onSingleQuoteMonospaceTextElement99() (interface{}, error) { return types.NewStringElement(string(c.text)) } -func (p *parser) callonAttributesGroup16() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement99() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributesGroup16() + return p.cur.onSingleQuoteMonospaceTextElement99() } -func (c *current) onAttributesGroup107() (interface{}, error) { +func (c *current) onSingleQuoteMonospaceTextElement141() (interface{}, error) { return types.NewSpecialCharacter(string(c.text)) } -func (p *parser) callonAttributesGroup107() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement141() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributesGroup107() + return p.cur.onSingleQuoteMonospaceTextElement141() } -func (c *current) onAttributesGroup11(element interface{}) (interface{}, error) { +func (c *current) onSingleQuoteMonospaceTextElement94(element interface{}) (interface{}, error) { return element, nil } -func (p *parser) callonAttributesGroup11() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement94() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributesGroup11(stack["element"]) + return p.cur.onSingleQuoteMonospaceTextElement94(stack["element"]) } -func (c *current) onAttributesGroup113() (bool, error) { - return c.isSubstitutionEnabled(Attributes) +func (c *current) onSingleQuoteMonospaceTextElement143() (interface{}, error) { + return types.NewStringElement("\u2019") } -func (p *parser) callonAttributesGroup113() (bool, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement143() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributesGroup113() + return p.cur.onSingleQuoteMonospaceTextElement143() } -func (c *current) onAttributesGroup120() (interface{}, error) { - return string(c.text), nil +func (c *current) onSingleQuoteMonospaceTextElement145() (interface{}, error) { + return types.NewStringElement("\u00a9") } -func (p *parser) callonAttributesGroup120() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement145() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributesGroup120() + return p.cur.onSingleQuoteMonospaceTextElement145() } -func (c *current) onAttributesGroup132() (interface{}, error) { - return string(c.text), nil +func (c *current) onSingleQuoteMonospaceTextElement147() (interface{}, error) { + return types.NewStringElement("\u2122") } -func (p *parser) callonAttributesGroup132() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement147() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributesGroup132() + return p.cur.onSingleQuoteMonospaceTextElement147() } -func (c *current) onAttributesGroup134() (interface{}, error) { - - return strconv.Atoi(string(c.text)) +func (c *current) onSingleQuoteMonospaceTextElement149() (interface{}, error) { + return types.NewStringElement("\u00ae") } -func (p *parser) callonAttributesGroup134() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement149() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributesGroup134() + return p.cur.onSingleQuoteMonospaceTextElement149() } -func (c *current) onAttributesGroup127(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onSingleQuoteMonospaceTextElement151() (interface{}, error) { + return types.NewStringElement("\u2026\u200b") } -func (p *parser) callonAttributesGroup127() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement151() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributesGroup127(stack["start"]) + return p.cur.onSingleQuoteMonospaceTextElement151() } -func (c *current) onAttributesGroup116(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) +func (c *current) onSingleQuoteMonospaceTextElement153() (interface{}, error) { + return types.NewStringElement(string(c.text[:1]) + "\u2019") + } -func (p *parser) callonAttributesGroup116() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement153() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributesGroup116(stack["name"], stack["start"]) + return p.cur.onSingleQuoteMonospaceTextElement153() } -func (c *current) onAttributesGroup142() (interface{}, error) { +func (c *current) onSingleQuoteMonospaceTextElement167() (interface{}, error) { return string(c.text), nil +} + +func (p *parser) callonSingleQuoteMonospaceTextElement167() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteMonospaceTextElement167() +} +func (c *current) onSingleQuoteMonospaceTextElement163(ref interface{}) (interface{}, error) { + return types.NewElementPlaceHolder(ref.(string)) } -func (p *parser) callonAttributesGroup142() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement163() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributesGroup142() + return p.cur.onSingleQuoteMonospaceTextElement163(stack["ref"]) } -func (c *current) onAttributesGroup154() (interface{}, error) { +func (c *current) onSingleQuoteMonospaceTextElement176() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonAttributesGroup154() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement176() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributesGroup154() + return p.cur.onSingleQuoteMonospaceTextElement176() } -func (c *current) onAttributesGroup156() (interface{}, error) { - - return strconv.Atoi(string(c.text)) +func (c *current) onSingleQuoteMonospaceTextElement171() (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) callonAttributesGroup156() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement171() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributesGroup156() + return p.cur.onSingleQuoteMonospaceTextElement171() } -func (c *current) onAttributesGroup149(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onQuotedTextInSingleQuoteMonospaceText1(attributes, text interface{}) (interface{}, error) { + return text.(*types.QuotedText).WithAttributes(attributes) } -func (p *parser) callonAttributesGroup149() (interface{}, error) { +func (p *parser) callonQuotedTextInSingleQuoteMonospaceText1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributesGroup149(stack["start"]) + return p.cur.onQuotedTextInSingleQuoteMonospaceText1(stack["attributes"], stack["text"]) } -func (c *current) onAttributesGroup138(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) +func (c *current) onEscapedMonospaceText5() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonAttributesGroup138() (interface{}, error) { +func (p *parser) callonEscapedMonospaceText5() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributesGroup138(stack["name"], stack["start"]) + return p.cur.onEscapedMonospaceText5() } -func (c *current) onAttributesGroup164() (interface{}, error) { - return string(c.text), nil +func (c *current) onEscapedMonospaceText2(backslashes, elements interface{}) (interface{}, error) { + // double punctuation must be evaluated first + return types.NewEscapedQuotedText(backslashes.(string), "``", elements.([]interface{})) } -func (p *parser) callonAttributesGroup164() (interface{}, error) { +func (p *parser) callonEscapedMonospaceText2() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributesGroup164() + return p.cur.onEscapedMonospaceText2(stack["backslashes"], stack["elements"]) } -func (c *current) onAttributesGroup160(name interface{}) (interface{}, error) { +func (c *current) onEscapedMonospaceText17() (interface{}, error) { + return string(c.text), nil - return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonAttributesGroup160() (interface{}, error) { +func (p *parser) callonEscapedMonospaceText17() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributesGroup160(stack["name"]) + return p.cur.onEscapedMonospaceText17() } -func (c *current) onAttributesGroup111(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onEscapedMonospaceText14(backslashes, elements interface{}) (interface{}, error) { + // unbalanced "``" vs "`" punctuation + result := append([]interface{}{"`"}, elements.([]interface{})) + return types.NewEscapedQuotedText(backslashes.(string), "`", result) } -func (p *parser) callonAttributesGroup111() (interface{}, error) { +func (p *parser) callonEscapedMonospaceText14() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributesGroup111(stack["element"]) + return p.cur.onEscapedMonospaceText14(stack["backslashes"], stack["elements"]) } -func (c *current) onAttributesGroup174() (interface{}, error) { +func (c *current) onEscapedMonospaceText27() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonAttributesGroup174() (interface{}, error) { +func (p *parser) callonEscapedMonospaceText27() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributesGroup174() + return p.cur.onEscapedMonospaceText27() } -func (c *current) onAttributesGroup170(ref interface{}) (interface{}, error) { - return types.NewElementPlaceHolder(ref.(string)) +func (c *current) onEscapedMonospaceText24(backslashes, elements interface{}) (interface{}, error) { + // simple punctuation must be evaluated last + return types.NewEscapedQuotedText(backslashes.(string), "`", elements.([]interface{})) + } -func (p *parser) callonAttributesGroup170() (interface{}, error) { +func (p *parser) callonEscapedMonospaceText24() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributesGroup170(stack["ref"]) + return p.cur.onEscapedMonospaceText24(stack["backslashes"], stack["elements"]) } -func (c *current) onAttributesGroup178() (interface{}, error) { +func (c *current) onDoubleQuoteMarkedText1(elements interface{}) (interface{}, error) { - return types.NewStringElement(string(c.text)) + return types.NewQuotedText(types.DoubleQuoteMarked, elements.([]interface{})) } -func (p *parser) callonAttributesGroup178() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedText1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributesGroup178() + return p.cur.onDoubleQuoteMarkedText1(stack["elements"]) } -func (c *current) onAttributesGroup1(elements interface{}) (interface{}, error) { - - return types.NewInlineElements(elements) +func (c *current) onDoubleQuoteMarkedTextElement13() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonAttributesGroup1() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement13() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributesGroup1(stack["elements"]) + return p.cur.onDoubleQuoteMarkedTextElement13() } -func (c *current) onElementAttributesGroup11() (interface{}, error) { - return string(c.text), nil +func (c *current) onDoubleQuoteMarkedTextElement7() (interface{}, error) { + return types.NewStringElement(string(c.text)) } -func (p *parser) callonElementAttributesGroup11() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement7() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onElementAttributesGroup11() + return p.cur.onDoubleQuoteMarkedTextElement7() } -func (c *current) onElementAttributesGroup16() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onDoubleQuoteMarkedTextElement16() (interface{}, error) { + // log.Debug("matched multiple spaces") return string(c.text), nil + } -func (p *parser) callonElementAttributesGroup16() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement16() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onElementAttributesGroup16() + return p.cur.onDoubleQuoteMarkedTextElement16() } -func (c *current) onElementAttributesGroup6() (interface{}, error) { - return types.NewStringElement(string(c.text)) - +func (c *current) onDoubleQuoteMarkedTextElement20() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonElementAttributesGroup6() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement20() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onElementAttributesGroup6() + return p.cur.onDoubleQuoteMarkedTextElement20() } -func (c *current) onElementAttributesGroup23() (interface{}, error) { +func (c *current) onDoubleQuoteMarkedTextElement26() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonElementAttributesGroup23() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement26() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onElementAttributesGroup23() + return p.cur.onDoubleQuoteMarkedTextElement26() } -func (c *current) onElementAttributesGroup27() (bool, error) { - return c.isSubstitutionEnabled(Attributes) +func (c *current) onDoubleQuoteMarkedTextElement33() (bool, error) { + return c.isSubstitutionEnabled(Attributes), nil } -func (p *parser) callonElementAttributesGroup27() (bool, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement33() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onElementAttributesGroup27() + return p.cur.onDoubleQuoteMarkedTextElement33() } -func (c *current) onElementAttributesGroup34() (interface{}, error) { +func (c *current) onDoubleQuoteMarkedTextElement40() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonElementAttributesGroup34() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement40() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onElementAttributesGroup34() + return p.cur.onDoubleQuoteMarkedTextElement40() } -func (c *current) onElementAttributesGroup46() (interface{}, error) { +func (c *current) onDoubleQuoteMarkedTextElement52() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonElementAttributesGroup46() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement52() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onElementAttributesGroup46() + return p.cur.onDoubleQuoteMarkedTextElement52() } -func (c *current) onElementAttributesGroup48() (interface{}, error) { +func (c *current) onDoubleQuoteMarkedTextElement54() (interface{}, error) { return strconv.Atoi(string(c.text)) } -func (p *parser) callonElementAttributesGroup48() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement54() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onElementAttributesGroup48() + return p.cur.onDoubleQuoteMarkedTextElement54() } -func (c *current) onElementAttributesGroup41(start interface{}) (interface{}, error) { +func (c *current) onDoubleQuoteMarkedTextElement47(start interface{}) (interface{}, error) { return start, nil } -func (p *parser) callonElementAttributesGroup41() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement47() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onElementAttributesGroup41(stack["start"]) + return p.cur.onDoubleQuoteMarkedTextElement47(stack["start"]) } -func (c *current) onElementAttributesGroup30(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) callonElementAttributesGroup30() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement36() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onElementAttributesGroup30(stack["name"], stack["start"]) + return p.cur.onDoubleQuoteMarkedTextElement36(stack["name"], stack["start"]) } -func (c *current) onElementAttributesGroup56() (interface{}, error) { +func (c *current) onDoubleQuoteMarkedTextElement62() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonElementAttributesGroup56() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement62() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onElementAttributesGroup56() + return p.cur.onDoubleQuoteMarkedTextElement62() } -func (c *current) onElementAttributesGroup68() (interface{}, error) { +func (c *current) onDoubleQuoteMarkedTextElement74() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonElementAttributesGroup68() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement74() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onElementAttributesGroup68() + return p.cur.onDoubleQuoteMarkedTextElement74() } -func (c *current) onElementAttributesGroup70() (interface{}, error) { +func (c *current) onDoubleQuoteMarkedTextElement76() (interface{}, error) { return strconv.Atoi(string(c.text)) } -func (p *parser) callonElementAttributesGroup70() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement76() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onElementAttributesGroup70() + return p.cur.onDoubleQuoteMarkedTextElement76() } -func (c *current) onElementAttributesGroup63(start interface{}) (interface{}, error) { +func (c *current) onDoubleQuoteMarkedTextElement69(start interface{}) (interface{}, error) { return start, nil } -func (p *parser) callonElementAttributesGroup63() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement69() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onElementAttributesGroup63(stack["start"]) + return p.cur.onDoubleQuoteMarkedTextElement69(stack["start"]) } -func (c *current) onElementAttributesGroup52(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) callonElementAttributesGroup52() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement58() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onElementAttributesGroup52(stack["name"], stack["start"]) + return p.cur.onDoubleQuoteMarkedTextElement58(stack["name"], stack["start"]) } -func (c *current) onElementAttributesGroup78() (interface{}, error) { +func (c *current) onDoubleQuoteMarkedTextElement84() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonElementAttributesGroup78() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement84() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onElementAttributesGroup78() + return p.cur.onDoubleQuoteMarkedTextElement84() } -func (c *current) onElementAttributesGroup74(name interface{}) (interface{}, error) { +func (c *current) onDoubleQuoteMarkedTextElement80(name interface{}) (interface{}, error) { return types.NewAttributeSubstitution(name.(string), string(c.text)) + } -func (p *parser) callonElementAttributesGroup74() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement80() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onElementAttributesGroup74(stack["name"]) + return p.cur.onDoubleQuoteMarkedTextElement80(stack["name"]) } -func (c *current) onElementAttributesGroup25(element interface{}) (interface{}, error) { +func (c *current) onDoubleQuoteMarkedTextElement31(element interface{}) (interface{}, error) { return element, nil } -func (p *parser) callonElementAttributesGroup25() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement31() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onElementAttributesGroup25(stack["element"]) + return p.cur.onDoubleQuoteMarkedTextElement31(stack["element"]) } -func (c *current) onElementAttributesGroup87() (bool, error) { - return c.isSubstitutionEnabled(SpecialCharacters) +func (c *current) onDoubleQuoteMarkedTextElement92() (bool, error) { + return c.isSubstitutionEnabled(SpecialCharacters), nil } -func (p *parser) callonElementAttributesGroup87() (bool, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement92() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onElementAttributesGroup87() + return p.cur.onDoubleQuoteMarkedTextElement92() } -func (c *current) onElementAttributesGroup96() (interface{}, error) { +func (c *current) onDoubleQuoteMarkedTextElement101() (interface{}, error) { // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ return string(c.text), nil } -func (p *parser) callonElementAttributesGroup96() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement101() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onElementAttributesGroup96() + return p.cur.onDoubleQuoteMarkedTextElement101() } -func (c *current) onElementAttributesGroup100() (interface{}, error) { +func (c *current) onDoubleQuoteMarkedTextElement105() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonElementAttributesGroup100() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement105() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onElementAttributesGroup100() + return p.cur.onDoubleQuoteMarkedTextElement105() } -func (c *current) onElementAttributesGroup106() (interface{}, error) { +func (c *current) onDoubleQuoteMarkedTextElement111() (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) callonElementAttributesGroup106() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onElementAttributesGroup106() -} - -func (c *current) onElementAttributesGroup113() (bool, error) { - return c.isSubstitutionEnabled(Attributes) - -} - -func (p *parser) callonElementAttributesGroup113() (bool, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement111() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onElementAttributesGroup113() + return p.cur.onDoubleQuoteMarkedTextElement111() } -func (c *current) onElementAttributesGroup120() (interface{}, error) { +func (c *current) onDoubleQuoteMarkedTextElement120() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonElementAttributesGroup120() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement120() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onElementAttributesGroup120() + return p.cur.onDoubleQuoteMarkedTextElement120() } -func (c *current) onElementAttributesGroup132() (interface{}, error) { - return string(c.text), nil +func (c *current) onDoubleQuoteMarkedTextElement116(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonElementAttributesGroup132() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement116() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onElementAttributesGroup132() + return p.cur.onDoubleQuoteMarkedTextElement116(stack["name"]) } -func (c *current) onElementAttributesGroup134() (interface{}, error) { +func (c *current) onDoubleQuoteMarkedTextElement126() (interface{}, error) { - return strconv.Atoi(string(c.text)) + return types.NewStringElement(string(c.text)) } -func (p *parser) callonElementAttributesGroup134() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement126() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onElementAttributesGroup134() + return p.cur.onDoubleQuoteMarkedTextElement126() } -func (c *current) onElementAttributesGroup127(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onDoubleQuoteMarkedTextElement97(id, label interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, label) } -func (p *parser) callonElementAttributesGroup127() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement97() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onElementAttributesGroup127(stack["start"]) + return p.cur.onDoubleQuoteMarkedTextElement97(stack["id"], stack["label"]) } -func (c *current) onElementAttributesGroup116(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) +func (c *current) onDoubleQuoteMarkedTextElement133() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ + return string(c.text), nil + } -func (p *parser) callonElementAttributesGroup116() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement133() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onElementAttributesGroup116(stack["name"], stack["start"]) + return p.cur.onDoubleQuoteMarkedTextElement133() } -func (c *current) onElementAttributesGroup142() (interface{}, error) { - return string(c.text), nil +func (c *current) onDoubleQuoteMarkedTextElement129(id interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, nil) } -func (p *parser) callonElementAttributesGroup142() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement129() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onElementAttributesGroup142() + return p.cur.onDoubleQuoteMarkedTextElement129(stack["id"]) } -func (c *current) onElementAttributesGroup154() (interface{}, error) { - return string(c.text), nil +func (c *current) onDoubleQuoteMarkedTextElement95() (interface{}, error) { + return types.NewStringElement(string(c.text)) } -func (p *parser) callonElementAttributesGroup154() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement95() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onElementAttributesGroup154() + return p.cur.onDoubleQuoteMarkedTextElement95() } -func (c *current) onElementAttributesGroup156() (interface{}, error) { - - return strconv.Atoi(string(c.text)) +func (c *current) onDoubleQuoteMarkedTextElement137() (interface{}, error) { + return types.NewSpecialCharacter(string(c.text)) } -func (p *parser) callonElementAttributesGroup156() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement137() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onElementAttributesGroup156() + return p.cur.onDoubleQuoteMarkedTextElement137() } -func (c *current) onElementAttributesGroup149(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onDoubleQuoteMarkedTextElement90(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonElementAttributesGroup149() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement90() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onElementAttributesGroup149(stack["start"]) + return p.cur.onDoubleQuoteMarkedTextElement90(stack["element"]) } -func (c *current) onElementAttributesGroup138(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) +func (c *current) onDoubleQuoteMarkedTextElement139() (interface{}, error) { + return types.NewStringElement("\u2019") + } -func (p *parser) callonElementAttributesGroup138() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement139() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onElementAttributesGroup138(stack["name"], stack["start"]) + return p.cur.onDoubleQuoteMarkedTextElement139() } -func (c *current) onElementAttributesGroup164() (interface{}, error) { - return string(c.text), nil +func (c *current) onDoubleQuoteMarkedTextElement141() (interface{}, error) { + return types.NewStringElement("\u00a9") } -func (p *parser) callonElementAttributesGroup164() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement141() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onElementAttributesGroup164() + return p.cur.onDoubleQuoteMarkedTextElement141() } -func (c *current) onElementAttributesGroup160(name interface{}) (interface{}, error) { +func (c *current) onDoubleQuoteMarkedTextElement143() (interface{}, error) { + return types.NewStringElement("\u2122") - return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonElementAttributesGroup160() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement143() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onElementAttributesGroup160(stack["name"]) + return p.cur.onDoubleQuoteMarkedTextElement143() } -func (c *current) onElementAttributesGroup111(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onDoubleQuoteMarkedTextElement145() (interface{}, error) { + return types.NewStringElement("\u00ae") } -func (p *parser) callonElementAttributesGroup111() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement145() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onElementAttributesGroup111(stack["element"]) + return p.cur.onDoubleQuoteMarkedTextElement145() } -func (c *current) onElementAttributesGroup170() (interface{}, error) { - - return types.NewStringElement(string(c.text)) +func (c *current) onDoubleQuoteMarkedTextElement147() (interface{}, error) { + return types.NewStringElement("\u2026\u200b") } -func (p *parser) callonElementAttributesGroup170() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement147() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onElementAttributesGroup170() + return p.cur.onDoubleQuoteMarkedTextElement147() } -func (c *current) onElementAttributesGroup92(id, label interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, label) +func (c *current) onDoubleQuoteMarkedTextElement149() (interface{}, error) { + return types.NewStringElement(string(c.text[:1]) + "\u2019") } -func (p *parser) callonElementAttributesGroup92() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement149() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onElementAttributesGroup92(stack["id"], stack["label"]) + return p.cur.onDoubleQuoteMarkedTextElement149() } -func (c *current) onElementAttributesGroup177() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ +func (c *current) onDoubleQuoteMarkedTextElement162() (interface{}, error) { return string(c.text), nil - } -func (p *parser) callonElementAttributesGroup177() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement162() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onElementAttributesGroup177() + return p.cur.onDoubleQuoteMarkedTextElement162() } -func (c *current) onElementAttributesGroup173(id interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, nil) - +func (c *current) onDoubleQuoteMarkedTextElement158(ref interface{}) (interface{}, error) { + return types.NewElementPlaceHolder(ref.(string)) } -func (p *parser) callonElementAttributesGroup173() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement158() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onElementAttributesGroup173(stack["id"]) + return p.cur.onDoubleQuoteMarkedTextElement158(stack["ref"]) } -func (c *current) onElementAttributesGroup90() (interface{}, error) { - return types.NewStringElement(string(c.text)) +func (c *current) onDoubleQuoteMarkedTextElement170() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonElementAttributesGroup90() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement170() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onElementAttributesGroup90() + return p.cur.onDoubleQuoteMarkedTextElement170() } -func (c *current) onElementAttributesGroup181() (interface{}, error) { - return types.NewSpecialCharacter(string(c.text)) +func (c *current) onDoubleQuoteMarkedTextElement167() (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) callonElementAttributesGroup181() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement167() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onElementAttributesGroup181() + return p.cur.onDoubleQuoteMarkedTextElement167() } -func (c *current) onElementAttributesGroup85(element interface{}) (interface{}, error) { +func (c *current) onDoubleQuoteMarkedTextElement1(element interface{}) (interface{}, error) { return element, nil } -func (p *parser) callonElementAttributesGroup85() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onElementAttributesGroup85(stack["element"]) -} - -func (c *current) onElementAttributesGroup187() (interface{}, error) { - return string(c.text), nil + return p.cur.onDoubleQuoteMarkedTextElement1(stack["element"]) } -func (p *parser) callonElementAttributesGroup187() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onElementAttributesGroup187() -} +func (c *current) onQuotedTextInDoubleMarkedBoldText1(attributes, text interface{}) (interface{}, error) { + return text.(*types.QuotedText).WithAttributes(attributes) -func (c *current) onElementAttributesGroup183(ref interface{}) (interface{}, error) { - return types.NewElementPlaceHolder(ref.(string)) } -func (p *parser) callonElementAttributesGroup183() (interface{}, error) { +func (p *parser) callonQuotedTextInDoubleMarkedBoldText1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onElementAttributesGroup183(stack["ref"]) + return p.cur.onQuotedTextInDoubleMarkedBoldText1(stack["attributes"], stack["text"]) } -func (c *current) onElementAttributesGroup191() (interface{}, error) { +func (c *current) onSingleQuoteMarkedText1(elements interface{}) (interface{}, error) { - return types.NewStringElement(string(c.text)) + return types.NewQuotedText(types.SingleQuoteMarked, elements.([]interface{})) } -func (p *parser) callonElementAttributesGroup191() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedText1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onElementAttributesGroup191() + return p.cur.onSingleQuoteMarkedText1(stack["elements"]) } -func (c *current) onElementAttributesGroup1(elements interface{}) (interface{}, error) { - - return types.NewInlineElements(elements) +func (c *current) onSingleQuoteMarkedTextElements7() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonElementAttributesGroup1() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElements7() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onElementAttributesGroup1(stack["elements"]) + return p.cur.onSingleQuoteMarkedTextElements7() } -func (c *current) onHeaderGroup1(elements interface{}) (interface{}, error) { - - return types.NewInlineElements(elements) +func (c *current) onSingleQuoteMarkedTextElements12(elements interface{}) (bool, error) { + return validateSingleQuoteElements(elements.([]interface{})) // cannot end with spaces } -func (p *parser) callonHeaderGroup1() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElements12() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onHeaderGroup1(stack["elements"]) + return p.cur.onSingleQuoteMarkedTextElements12(stack["elements"]) } -func (c *current) onHeaderGroupElement8() (interface{}, error) { - return types.NewStringElement(string(c.text)) +func (c *current) onSingleQuoteMarkedTextElements1(elements interface{}) (interface{}, error) { + return elements, nil } -func (p *parser) callonHeaderGroupElement8() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElements1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onHeaderGroupElement8() + return p.cur.onSingleQuoteMarkedTextElements1(stack["elements"]) } -func (c *current) onHeaderGroupElement17() (interface{}, error) { - // allow ` - return types.NewStringElement(string(c.text)) +func (c *current) onSingleQuoteMarkedTextElement8() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonHeaderGroupElement17() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement8() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onHeaderGroupElement17() + return p.cur.onSingleQuoteMarkedTextElement8() } -func (c *current) onHeaderGroupElement29() (interface{}, error) { - return string(c.text), nil +func (c *current) onSingleQuoteMarkedTextElement2() (interface{}, error) { + return types.NewStringElement(string(c.text)) } -func (p *parser) callonHeaderGroupElement29() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement2() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onHeaderGroupElement29() + return p.cur.onSingleQuoteMarkedTextElement2() } -func (c *current) onHeaderGroupElement40() (interface{}, error) { - // spaces, commas and dots are allowed in this syntax - return types.NewStringElement(string(c.text)) +func (c *current) onSingleQuoteMarkedTextElement11() (interface{}, error) { + // log.Debug("matched multiple spaces") + return string(c.text), nil } -func (p *parser) callonHeaderGroupElement40() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement11() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onHeaderGroupElement40() + return p.cur.onSingleQuoteMarkedTextElement11() } -func (c *current) onHeaderGroupElement47() (interface{}, error) { +func (c *current) onSingleQuoteMarkedTextElement15() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonHeaderGroupElement47() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement15() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onHeaderGroupElement47() + return p.cur.onSingleQuoteMarkedTextElement15() } -func (c *current) onHeaderGroupElement43(ref interface{}) (interface{}, error) { - return types.NewElementPlaceHolder(ref.(string)) +func (c *current) onSingleQuoteMarkedTextElement21() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonHeaderGroupElement43() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement21() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onHeaderGroupElement43(stack["ref"]) + return p.cur.onSingleQuoteMarkedTextElement21() } -func (c *current) onHeaderGroupElement53() (bool, error) { - return c.isSubstitutionEnabled(Attributes) +func (c *current) onSingleQuoteMarkedTextElement28() (bool, error) { + return c.isSubstitutionEnabled(Attributes), nil } -func (p *parser) callonHeaderGroupElement53() (bool, error) { +func (p *parser) callonSingleQuoteMarkedTextElement28() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onHeaderGroupElement53() + return p.cur.onSingleQuoteMarkedTextElement28() } -func (c *current) onHeaderGroupElement60() (interface{}, error) { +func (c *current) onSingleQuoteMarkedTextElement35() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonHeaderGroupElement60() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement35() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onHeaderGroupElement60() + return p.cur.onSingleQuoteMarkedTextElement35() } -func (c *current) onHeaderGroupElement72() (interface{}, error) { +func (c *current) onSingleQuoteMarkedTextElement47() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonHeaderGroupElement72() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement47() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onHeaderGroupElement72() + return p.cur.onSingleQuoteMarkedTextElement47() } -func (c *current) onHeaderGroupElement74() (interface{}, error) { +func (c *current) onSingleQuoteMarkedTextElement49() (interface{}, error) { return strconv.Atoi(string(c.text)) } -func (p *parser) callonHeaderGroupElement74() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement49() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onHeaderGroupElement74() + return p.cur.onSingleQuoteMarkedTextElement49() } -func (c *current) onHeaderGroupElement67(start interface{}) (interface{}, error) { +func (c *current) onSingleQuoteMarkedTextElement42(start interface{}) (interface{}, error) { return start, nil } -func (p *parser) callonHeaderGroupElement67() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement42() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onHeaderGroupElement67(stack["start"]) + return p.cur.onSingleQuoteMarkedTextElement42(stack["start"]) } -func (c *current) onHeaderGroupElement56(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) callonHeaderGroupElement56() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement31() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onHeaderGroupElement56(stack["name"], stack["start"]) + return p.cur.onSingleQuoteMarkedTextElement31(stack["name"], stack["start"]) } -func (c *current) onHeaderGroupElement82() (interface{}, error) { +func (c *current) onSingleQuoteMarkedTextElement57() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonHeaderGroupElement82() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement57() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onHeaderGroupElement82() + return p.cur.onSingleQuoteMarkedTextElement57() } -func (c *current) onHeaderGroupElement94() (interface{}, error) { +func (c *current) onSingleQuoteMarkedTextElement69() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonHeaderGroupElement94() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement69() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onHeaderGroupElement94() + return p.cur.onSingleQuoteMarkedTextElement69() } -func (c *current) onHeaderGroupElement96() (interface{}, error) { +func (c *current) onSingleQuoteMarkedTextElement71() (interface{}, error) { return strconv.Atoi(string(c.text)) } -func (p *parser) callonHeaderGroupElement96() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement71() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onHeaderGroupElement96() + return p.cur.onSingleQuoteMarkedTextElement71() } -func (c *current) onHeaderGroupElement89(start interface{}) (interface{}, error) { +func (c *current) onSingleQuoteMarkedTextElement64(start interface{}) (interface{}, error) { return start, nil } -func (p *parser) callonHeaderGroupElement89() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement64() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onHeaderGroupElement89(stack["start"]) + return p.cur.onSingleQuoteMarkedTextElement64(stack["start"]) } -func (c *current) onHeaderGroupElement78(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) callonHeaderGroupElement78() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement53() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onHeaderGroupElement78(stack["name"], stack["start"]) + return p.cur.onSingleQuoteMarkedTextElement53(stack["name"], stack["start"]) } -func (c *current) onHeaderGroupElement104() (interface{}, error) { +func (c *current) onSingleQuoteMarkedTextElement79() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonHeaderGroupElement104() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement79() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onHeaderGroupElement104() + return p.cur.onSingleQuoteMarkedTextElement79() } -func (c *current) onHeaderGroupElement100(name interface{}) (interface{}, error) { +func (c *current) onSingleQuoteMarkedTextElement75(name interface{}) (interface{}, error) { return types.NewAttributeSubstitution(name.(string), string(c.text)) + } -func (p *parser) callonHeaderGroupElement100() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement75() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onHeaderGroupElement100(stack["name"]) + return p.cur.onSingleQuoteMarkedTextElement75(stack["name"]) } -func (c *current) onHeaderGroupElement51(element interface{}) (interface{}, error) { +func (c *current) onSingleQuoteMarkedTextElement26(element interface{}) (interface{}, error) { return element, nil } -func (p *parser) callonHeaderGroupElement51() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement26() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onHeaderGroupElement51(stack["element"]) + return p.cur.onSingleQuoteMarkedTextElement26(stack["element"]) } -func (c *current) onHeaderGroupElement110() (interface{}, error) { +func (c *current) onSingleQuoteMarkedTextElement87() (bool, error) { + return c.isSubstitutionEnabled(SpecialCharacters), nil - return types.NewStringElement(string(c.text)) +} +func (p *parser) callonSingleQuoteMarkedTextElement87() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteMarkedTextElement87() } -func (p *parser) callonHeaderGroupElement110() (interface{}, error) { +func (c *current) onSingleQuoteMarkedTextElement96() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ + return string(c.text), nil + +} + +func (p *parser) callonSingleQuoteMarkedTextElement96() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onHeaderGroupElement110() + return p.cur.onSingleQuoteMarkedTextElement96() } -func (c *current) onHeaderGroupElement36(elements interface{}) (interface{}, error) { - return types.Reduce(elements, strings.TrimSpace), nil +func (c *current) onSingleQuoteMarkedTextElement100() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonHeaderGroupElement36() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement100() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onHeaderGroupElement36(stack["elements"]) + return p.cur.onSingleQuoteMarkedTextElement100() } -func (c *current) onHeaderGroupElement32(id interface{}) (interface{}, error) { - return types.NewIDAttribute(id) +func (c *current) onSingleQuoteMarkedTextElement106() (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) callonHeaderGroupElement32() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement106() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onHeaderGroupElement32(stack["id"]) + return p.cur.onSingleQuoteMarkedTextElement106() } -func (c *current) onHeaderGroupElement114() (interface{}, error) { +func (c *current) onSingleQuoteMarkedTextElement115() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonHeaderGroupElement114() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement115() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onHeaderGroupElement114() + return p.cur.onSingleQuoteMarkedTextElement115() } -func (c *current) onHeaderGroupElement26(id interface{}) (interface{}, error) { - return id, nil +func (c *current) onSingleQuoteMarkedTextElement111(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) + } -func (p *parser) callonHeaderGroupElement26() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement111() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onHeaderGroupElement26(stack["id"]) + return p.cur.onSingleQuoteMarkedTextElement111(stack["name"]) } -func (c *current) onHeaderGroupElement119() (interface{}, error) { - return string(c.text), nil +func (c *current) onSingleQuoteMarkedTextElement121() (interface{}, error) { + + return types.NewStringElement(string(c.text)) } -func (p *parser) callonHeaderGroupElement119() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement121() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onHeaderGroupElement119() + return p.cur.onSingleQuoteMarkedTextElement121() } -func (c *current) onHeaderGroupElement124() (bool, error) { - return c.isSubstitutionEnabled(SpecialCharacters) +func (c *current) onSingleQuoteMarkedTextElement92(id, label interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, label) } -func (p *parser) callonHeaderGroupElement124() (bool, error) { +func (p *parser) callonSingleQuoteMarkedTextElement92() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onHeaderGroupElement124() + return p.cur.onSingleQuoteMarkedTextElement92(stack["id"], stack["label"]) } -func (c *current) onHeaderGroupElement133() (interface{}, error) { +func (c *current) onSingleQuoteMarkedTextElement128() (interface{}, error) { // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ return string(c.text), nil } -func (p *parser) callonHeaderGroupElement133() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement128() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onHeaderGroupElement133() + return p.cur.onSingleQuoteMarkedTextElement128() } -func (c *current) onHeaderGroupElement137() (interface{}, error) { - return string(c.text), nil +func (c *current) onSingleQuoteMarkedTextElement124(id interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, nil) } -func (p *parser) callonHeaderGroupElement137() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement124() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onHeaderGroupElement137() + return p.cur.onSingleQuoteMarkedTextElement124(stack["id"]) } -func (c *current) onHeaderGroupElement143() (interface{}, error) { - // `{`, `>` and `>` characters are not allowed as they are used for attribute substitutions and cross-references +func (c *current) onSingleQuoteMarkedTextElement90() (interface{}, error) { return types.NewStringElement(string(c.text)) } -func (p *parser) callonHeaderGroupElement143() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement90() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onHeaderGroupElement143() + return p.cur.onSingleQuoteMarkedTextElement90() +} + +func (c *current) onSingleQuoteMarkedTextElement132() (interface{}, error) { + return types.NewSpecialCharacter(string(c.text)) + +} + +func (p *parser) callonSingleQuoteMarkedTextElement132() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteMarkedTextElement132() } -func (c *current) onHeaderGroupElement150() (bool, error) { - return c.isSubstitutionEnabled(Attributes) +func (c *current) onSingleQuoteMarkedTextElement85(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonHeaderGroupElement150() (bool, error) { +func (p *parser) callonSingleQuoteMarkedTextElement85() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onHeaderGroupElement150() + return p.cur.onSingleQuoteMarkedTextElement85(stack["element"]) } -func (c *current) onHeaderGroupElement157() (interface{}, error) { - return string(c.text), nil +func (c *current) onSingleQuoteMarkedTextElement134() (interface{}, error) { + return types.NewStringElement("\u2019") } -func (p *parser) callonHeaderGroupElement157() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement134() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onHeaderGroupElement157() + return p.cur.onSingleQuoteMarkedTextElement134() } -func (c *current) onHeaderGroupElement169() (interface{}, error) { - return string(c.text), nil +func (c *current) onSingleQuoteMarkedTextElement136() (interface{}, error) { + return types.NewStringElement("\u00a9") } -func (p *parser) callonHeaderGroupElement169() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement136() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onHeaderGroupElement169() + return p.cur.onSingleQuoteMarkedTextElement136() } -func (c *current) onHeaderGroupElement171() (interface{}, error) { +func (c *current) onSingleQuoteMarkedTextElement138() (interface{}, error) { + return types.NewStringElement("\u2122") - return strconv.Atoi(string(c.text)) +} + +func (p *parser) callonSingleQuoteMarkedTextElement138() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteMarkedTextElement138() +} + +func (c *current) onSingleQuoteMarkedTextElement140() (interface{}, error) { + return types.NewStringElement("\u00ae") } -func (p *parser) callonHeaderGroupElement171() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement140() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onHeaderGroupElement171() + return p.cur.onSingleQuoteMarkedTextElement140() } -func (c *current) onHeaderGroupElement164(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onSingleQuoteMarkedTextElement142() (interface{}, error) { + return types.NewStringElement("\u2026\u200b") } -func (p *parser) callonHeaderGroupElement164() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement142() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onHeaderGroupElement164(stack["start"]) + return p.cur.onSingleQuoteMarkedTextElement142() } -func (c *current) onHeaderGroupElement153(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) +func (c *current) onSingleQuoteMarkedTextElement144() (interface{}, error) { + return types.NewStringElement(string(c.text[:1]) + "\u2019") + } -func (p *parser) callonHeaderGroupElement153() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement144() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onHeaderGroupElement153(stack["name"], stack["start"]) + return p.cur.onSingleQuoteMarkedTextElement144() } -func (c *current) onHeaderGroupElement179() (interface{}, error) { +func (c *current) onSingleQuoteMarkedTextElement157() (interface{}, error) { return string(c.text), nil +} +func (p *parser) callonSingleQuoteMarkedTextElement157() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteMarkedTextElement157() } -func (p *parser) callonHeaderGroupElement179() (interface{}, error) { +func (c *current) onSingleQuoteMarkedTextElement153(ref interface{}) (interface{}, error) { + return types.NewElementPlaceHolder(ref.(string)) +} + +func (p *parser) callonSingleQuoteMarkedTextElement153() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onHeaderGroupElement179() + return p.cur.onSingleQuoteMarkedTextElement153(stack["ref"]) } -func (c *current) onHeaderGroupElement191() (interface{}, error) { +func (c *current) onSingleQuoteMarkedTextElement165() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonHeaderGroupElement191() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement165() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onHeaderGroupElement191() + return p.cur.onSingleQuoteMarkedTextElement165() } -func (c *current) onHeaderGroupElement193() (interface{}, error) { +func (c *current) onSingleQuoteMarkedTextElement162() (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)) - return strconv.Atoi(string(c.text)) +} + +func (p *parser) callonSingleQuoteMarkedTextElement162() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteMarkedTextElement162() +} + +func (c *current) onQuotedTextInSingleQuoteMarkedText1(attributes, text interface{}) (interface{}, error) { + return text.(*types.QuotedText).WithAttributes(attributes) } -func (p *parser) callonHeaderGroupElement193() (interface{}, error) { +func (p *parser) callonQuotedTextInSingleQuoteMarkedText1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onHeaderGroupElement193() + return p.cur.onQuotedTextInSingleQuoteMarkedText1(stack["attributes"], stack["text"]) } -func (c *current) onHeaderGroupElement186(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onEscapedMarkedText5() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonHeaderGroupElement186() (interface{}, error) { +func (p *parser) callonEscapedMarkedText5() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onHeaderGroupElement186(stack["start"]) + return p.cur.onEscapedMarkedText5() } -func (c *current) onHeaderGroupElement175(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) +func (c *current) onEscapedMarkedText2(backslashes, elements interface{}) (interface{}, error) { + // double punctuation must be evaluated first + return types.NewEscapedQuotedText(backslashes.(string), "##", elements.([]interface{})) + } -func (p *parser) callonHeaderGroupElement175() (interface{}, error) { +func (p *parser) callonEscapedMarkedText2() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onHeaderGroupElement175(stack["name"], stack["start"]) + return p.cur.onEscapedMarkedText2(stack["backslashes"], stack["elements"]) } -func (c *current) onHeaderGroupElement201() (interface{}, error) { +func (c *current) onEscapedMarkedText17() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonHeaderGroupElement201() (interface{}, error) { +func (p *parser) callonEscapedMarkedText17() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onEscapedMarkedText17() +} + +func (c *current) onEscapedMarkedText14(backslashes, elements interface{}) (interface{}, error) { + // unbalanced `##` vs `#` punctuation + result := append([]interface{}{"#"}, elements.([]interface{})) + return types.NewEscapedQuotedText(backslashes.(string), "#", result) + +} + +func (p *parser) callonEscapedMarkedText14() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onEscapedMarkedText14(stack["backslashes"], stack["elements"]) +} + +func (c *current) onEscapedMarkedText27() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonEscapedMarkedText27() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onEscapedMarkedText27() +} + +func (c *current) onEscapedMarkedText24(backslashes, elements interface{}) (interface{}, error) { + // simple punctuation must be evaluated last + return types.NewEscapedQuotedText(backslashes.(string), "#", elements.([]interface{})) + +} + +func (p *parser) callonEscapedMarkedText24() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onEscapedMarkedText24(stack["backslashes"], stack["elements"]) +} + +func (c *current) onSubscriptText1(element interface{}) (interface{}, error) { + // wraps a single word + return types.NewQuotedText(types.SingleQuoteSubscript, element) + +} + +func (p *parser) callonSubscriptText1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onHeaderGroupElement201() + return p.cur.onSubscriptText1(stack["element"]) } -func (c *current) onHeaderGroupElement197(name interface{}) (interface{}, error) { +func (c *current) onSubscriptTextElement3() (interface{}, error) { + // anything except spaces, EOL or '~' + return c.text, nil - return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonHeaderGroupElement197() (interface{}, error) { +func (p *parser) callonSubscriptTextElement3() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onHeaderGroupElement197(stack["name"]) + return p.cur.onSubscriptTextElement3() } -func (c *current) onHeaderGroupElement148(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onEscapedSubscriptText4() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonHeaderGroupElement148() (interface{}, error) { +func (p *parser) callonEscapedSubscriptText4() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onHeaderGroupElement148(stack["element"]) + return p.cur.onEscapedSubscriptText4() } -func (c *current) onHeaderGroupElement207() (interface{}, error) { - - return types.NewStringElement(string(c.text)) +func (c *current) onEscapedSubscriptText1(backslashes, element interface{}) (interface{}, error) { + // simple punctuation must be evaluated last + return types.NewEscapedQuotedText(backslashes.(string), "~", element) } -func (p *parser) callonHeaderGroupElement207() (interface{}, error) { +func (p *parser) callonEscapedSubscriptText1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onHeaderGroupElement207() + return p.cur.onEscapedSubscriptText1(stack["backslashes"], stack["element"]) } -func (c *current) onHeaderGroupElement129(id, label interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, label) +func (c *current) onSuperscriptText1(element interface{}) (interface{}, error) { + // wraps a single word + return types.NewQuotedText(types.SingleQuoteSuperscript, element) } -func (p *parser) callonHeaderGroupElement129() (interface{}, error) { +func (p *parser) callonSuperscriptText1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onHeaderGroupElement129(stack["id"], stack["label"]) + return p.cur.onSuperscriptText1(stack["element"]) } -func (c *current) onHeaderGroupElement214() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ - return string(c.text), nil +func (c *current) onSuperscriptTextElement3() (interface{}, error) { + // anything except spaces, EOL or '^' + return c.text, nil } -func (p *parser) callonHeaderGroupElement214() (interface{}, error) { +func (p *parser) callonSuperscriptTextElement3() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onHeaderGroupElement214() + return p.cur.onSuperscriptTextElement3() } -func (c *current) onHeaderGroupElement210(id interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, nil) +func (c *current) onEscapedSuperscriptText4() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonHeaderGroupElement210() (interface{}, error) { +func (p *parser) callonEscapedSuperscriptText4() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onHeaderGroupElement210(stack["id"]) + return p.cur.onEscapedSuperscriptText4() } -func (c *current) onHeaderGroupElement127() (interface{}, error) { - return types.NewStringElement(string(c.text)) +func (c *current) onEscapedSuperscriptText1(backslashes, element interface{}) (interface{}, error) { + // simple punctuation must be evaluated last + return types.NewEscapedQuotedText(backslashes.(string), "^", element) } -func (p *parser) callonHeaderGroupElement127() (interface{}, error) { +func (p *parser) callonEscapedSuperscriptText1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onHeaderGroupElement127() + return p.cur.onEscapedSuperscriptText1(stack["backslashes"], stack["element"]) } -func (c *current) onHeaderGroupElement218() (interface{}, error) { - return types.NewSpecialCharacter(string(c.text)) +func (c *current) onSingleQuotedString1(elements interface{}) (interface{}, error) { + return types.NewQuotedString(types.SingleQuote, elements.([]interface{})) } -func (p *parser) callonHeaderGroupElement218() (interface{}, error) { +func (p *parser) callonSingleQuotedString1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onHeaderGroupElement218() + return p.cur.onSingleQuotedString1(stack["elements"]) } -func (c *current) onHeaderGroupElement122(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onSingleQuotedStringElements1(elements interface{}) (interface{}, error) { + c.resetSpaceSuffixTracking() + return types.NewInlineElements(elements) } -func (p *parser) callonHeaderGroupElement122() (interface{}, error) { +func (p *parser) callonSingleQuotedStringElements1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onHeaderGroupElement122(stack["element"]) + return p.cur.onSingleQuotedStringElements1(stack["elements"]) } -func (c *current) onHeaderGroupElement225() (bool, error) { - return c.isSubstitutionEnabled(Attributes) +func (c *current) onSingleQuotedStringElement13() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonHeaderGroupElement225() (bool, error) { +func (p *parser) callonSingleQuotedStringElement13() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onHeaderGroupElement225() + return p.cur.onSingleQuotedStringElement13() } -func (c *current) onHeaderGroupElement232() (interface{}, error) { - return string(c.text), nil +func (c *current) onSingleQuotedStringElement7() (interface{}, error) { + return types.NewStringElement(string(c.text)) } -func (p *parser) callonHeaderGroupElement232() (interface{}, error) { +func (p *parser) callonSingleQuotedStringElement7() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onHeaderGroupElement232() + return p.cur.onSingleQuotedStringElement7() } -func (c *current) onHeaderGroupElement244() (interface{}, error) { +func (c *current) onSingleQuotedStringElement17() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonHeaderGroupElement244() (interface{}, error) { +func (p *parser) callonSingleQuotedStringElement17() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onHeaderGroupElement244() + return p.cur.onSingleQuotedStringElement17() } -func (c *current) onHeaderGroupElement246() (interface{}, error) { - - return strconv.Atoi(string(c.text)) - +func (c *current) onSingleQuotedStringElement22() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonHeaderGroupElement246() (interface{}, error) { +func (p *parser) callonSingleQuotedStringElement22() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onHeaderGroupElement246() + return p.cur.onSingleQuotedStringElement22() } -func (c *current) onHeaderGroupElement239(start interface{}) (interface{}, error) { - return start, nil - +func (c *current) onSingleQuotedStringElement28() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonHeaderGroupElement239() (interface{}, error) { +func (p *parser) callonSingleQuotedStringElement28() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onHeaderGroupElement239(stack["start"]) + return p.cur.onSingleQuotedStringElement28() } -func (c *current) onHeaderGroupElement228(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) +func (c *current) onSingleQuotedStringElement35() (bool, error) { + return c.isSubstitutionEnabled(Attributes), nil + } -func (p *parser) callonHeaderGroupElement228() (interface{}, error) { +func (p *parser) callonSingleQuotedStringElement35() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onHeaderGroupElement228(stack["name"], stack["start"]) + return p.cur.onSingleQuotedStringElement35() } -func (c *current) onHeaderGroupElement254() (interface{}, error) { +func (c *current) onSingleQuotedStringElement42() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonHeaderGroupElement254() (interface{}, error) { +func (p *parser) callonSingleQuotedStringElement42() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onHeaderGroupElement254() + return p.cur.onSingleQuotedStringElement42() } -func (c *current) onHeaderGroupElement266() (interface{}, error) { +func (c *current) onSingleQuotedStringElement54() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonHeaderGroupElement266() (interface{}, error) { +func (p *parser) callonSingleQuotedStringElement54() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onHeaderGroupElement266() + return p.cur.onSingleQuotedStringElement54() } -func (c *current) onHeaderGroupElement268() (interface{}, error) { +func (c *current) onSingleQuotedStringElement56() (interface{}, error) { return strconv.Atoi(string(c.text)) } -func (p *parser) callonHeaderGroupElement268() (interface{}, error) { +func (p *parser) callonSingleQuotedStringElement56() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onHeaderGroupElement268() + return p.cur.onSingleQuotedStringElement56() } -func (c *current) onHeaderGroupElement261(start interface{}) (interface{}, error) { +func (c *current) onSingleQuotedStringElement49(start interface{}) (interface{}, error) { return start, nil } -func (p *parser) callonHeaderGroupElement261() (interface{}, error) { +func (p *parser) callonSingleQuotedStringElement49() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onHeaderGroupElement261(stack["start"]) + return p.cur.onSingleQuotedStringElement49(stack["start"]) } -func (c *current) onHeaderGroupElement250(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) +func (c *current) onSingleQuotedStringElement38(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) } -func (p *parser) callonHeaderGroupElement250() (interface{}, error) { +func (p *parser) callonSingleQuotedStringElement38() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onHeaderGroupElement250(stack["name"], stack["start"]) + return p.cur.onSingleQuotedStringElement38(stack["name"], stack["start"]) } -func (c *current) onHeaderGroupElement276() (interface{}, error) { +func (c *current) onSingleQuotedStringElement64() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonHeaderGroupElement276() (interface{}, error) { +func (p *parser) callonSingleQuotedStringElement64() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onHeaderGroupElement276() + return p.cur.onSingleQuotedStringElement64() } -func (c *current) onHeaderGroupElement272(name interface{}) (interface{}, error) { +func (c *current) onSingleQuotedStringElement76() (interface{}, error) { + return string(c.text), nil - return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonHeaderGroupElement272() (interface{}, error) { +func (p *parser) callonSingleQuotedStringElement76() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onHeaderGroupElement272(stack["name"]) + return p.cur.onSingleQuotedStringElement76() } -func (c *current) onHeaderGroupElement223(element interface{}) (interface{}, error) { - return element, nil - -} +func (c *current) onSingleQuotedStringElement78() (interface{}, error) { -func (p *parser) callonHeaderGroupElement223() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onHeaderGroupElement223(stack["element"]) -} + return strconv.Atoi(string(c.text)) -func (c *current) onHeaderGroupElement286() (interface{}, error) { - return string(c.text), nil } -func (p *parser) callonHeaderGroupElement286() (interface{}, error) { +func (p *parser) callonSingleQuotedStringElement78() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onHeaderGroupElement286() + return p.cur.onSingleQuotedStringElement78() } -func (c *current) onHeaderGroupElement282(ref interface{}) (interface{}, error) { - return types.NewElementPlaceHolder(ref.(string)) +func (c *current) onSingleQuotedStringElement71(start interface{}) (interface{}, error) { + return start, nil + } -func (p *parser) callonHeaderGroupElement282() (interface{}, error) { +func (p *parser) callonSingleQuotedStringElement71() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onHeaderGroupElement282(stack["ref"]) + return p.cur.onSingleQuotedStringElement71(stack["start"]) } -func (c *current) onHeaderGroupElement292() (bool, error) { - return c.isSubstitutionEnabled(Replacements) - +func (c *current) onSingleQuotedStringElement60(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) } -func (p *parser) callonHeaderGroupElement292() (bool, error) { +func (p *parser) callonSingleQuotedStringElement60() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onHeaderGroupElement292() + return p.cur.onSingleQuotedStringElement60(stack["name"], stack["start"]) } -func (c *current) onHeaderGroupElement295() (interface{}, error) { - return types.NewStringElement("\u2019") +func (c *current) onSingleQuotedStringElement86() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonHeaderGroupElement295() (interface{}, error) { +func (p *parser) callonSingleQuotedStringElement86() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onHeaderGroupElement295() + return p.cur.onSingleQuotedStringElement86() } -func (c *current) onHeaderGroupElement297() (interface{}, error) { - return types.NewStringElement("\u00a9") +func (c *current) onSingleQuotedStringElement82(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonHeaderGroupElement297() (interface{}, error) { +func (p *parser) callonSingleQuotedStringElement82() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onHeaderGroupElement297() + return p.cur.onSingleQuotedStringElement82(stack["name"]) } -func (c *current) onHeaderGroupElement299() (interface{}, error) { - return types.NewStringElement("\u2122") +func (c *current) onSingleQuotedStringElement33(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonHeaderGroupElement299() (interface{}, error) { +func (p *parser) callonSingleQuotedStringElement33() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onHeaderGroupElement299() + return p.cur.onSingleQuotedStringElement33(stack["element"]) } -func (c *current) onHeaderGroupElement301() (interface{}, error) { - return types.NewStringElement("\u00ae") +func (c *current) onSingleQuotedStringElement94() (bool, error) { + return c.isSubstitutionEnabled(SpecialCharacters), nil } -func (p *parser) callonHeaderGroupElement301() (interface{}, error) { +func (p *parser) callonSingleQuotedStringElement94() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onHeaderGroupElement301() + return p.cur.onSingleQuotedStringElement94() } -func (c *current) onHeaderGroupElement303() (interface{}, error) { - return types.NewStringElement("\u2026\u200b") +func (c *current) onSingleQuotedStringElement103() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ + return string(c.text), nil } -func (p *parser) callonHeaderGroupElement303() (interface{}, error) { +func (p *parser) callonSingleQuotedStringElement103() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onHeaderGroupElement303() + return p.cur.onSingleQuotedStringElement103() } -func (c *current) onHeaderGroupElement305() (interface{}, error) { - return types.NewStringElement(string(c.text[:1]) + "\u2019") +func (c *current) onSingleQuotedStringElement107() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonHeaderGroupElement305() (interface{}, error) { +func (p *parser) callonSingleQuotedStringElement107() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onHeaderGroupElement305() + return p.cur.onSingleQuotedStringElement107() } -func (c *current) onHeaderGroupElement290(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onSingleQuotedStringElement113() (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) callonHeaderGroupElement290() (interface{}, error) { +func (p *parser) callonSingleQuotedStringElement113() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onHeaderGroupElement290(stack["element"]) + return p.cur.onSingleQuotedStringElement113() } -func (c *current) onHeaderGroupElement315() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ +func (c *current) onSingleQuotedStringElement122() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonHeaderGroupElement315() (interface{}, error) { +func (p *parser) callonSingleQuotedStringElement122() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onHeaderGroupElement315() + return p.cur.onSingleQuotedStringElement122() } -func (c *current) onHeaderGroupElement311(id interface{}) (interface{}, error) { - // no EOL here since there can be multiple InlineElementID on the same line - return types.NewInlineAnchor(id.(string)) +func (c *current) onSingleQuotedStringElement118(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) + } -func (p *parser) callonHeaderGroupElement311() (interface{}, error) { +func (p *parser) callonSingleQuotedStringElement118() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onHeaderGroupElement311(stack["id"]) + return p.cur.onSingleQuotedStringElement118(stack["name"]) } -func (c *current) onHeaderGroupElement320() (interface{}, error) { +func (c *current) onSingleQuotedStringElement128() (interface{}, error) { return types.NewStringElement(string(c.text)) } -func (p *parser) callonHeaderGroupElement320() (interface{}, error) { +func (p *parser) callonSingleQuotedStringElement128() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onHeaderGroupElement320() + return p.cur.onSingleQuotedStringElement128() } -func (c *current) onHeaderGroupElement1(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onSingleQuotedStringElement99(id, label interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, label) } -func (p *parser) callonHeaderGroupElement1() (interface{}, error) { +func (p *parser) callonSingleQuotedStringElement99() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onHeaderGroupElement1(stack["element"]) + return p.cur.onSingleQuotedStringElement99(stack["id"], stack["label"]) } -func (c *current) onMacrosGroup11() (interface{}, error) { +func (c *current) onSingleQuotedStringElement135() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ return string(c.text), nil } -func (p *parser) callonMacrosGroup11() (interface{}, error) { +func (p *parser) callonSingleQuotedStringElement135() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onMacrosGroup11() + return p.cur.onSingleQuotedStringElement135() } -func (c *current) onMacrosGroup16() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onSingleQuotedStringElement131(id interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, nil) + } -func (p *parser) callonMacrosGroup16() (interface{}, error) { +func (p *parser) callonSingleQuotedStringElement131() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onMacrosGroup16() + return p.cur.onSingleQuotedStringElement131(stack["id"]) } -func (c *current) onMacrosGroup6() (interface{}, error) { +func (c *current) onSingleQuotedStringElement97() (interface{}, error) { return types.NewStringElement(string(c.text)) } -func (p *parser) callonMacrosGroup6() (interface{}, error) { +func (p *parser) callonSingleQuotedStringElement97() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onMacrosGroup6() -} - -func (c *current) onMacrosGroup28() (interface{}, error) { - return string(c.text), nil + return p.cur.onSingleQuotedStringElement97() } -func (p *parser) callonMacrosGroup28() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onMacrosGroup28() -} +func (c *current) onSingleQuotedStringElement139() (interface{}, error) { + return types.NewSpecialCharacter(string(c.text)) -func (c *current) onMacrosGroup24(ref interface{}) (interface{}, error) { - return types.NewElementPlaceHolder(ref.(string)) } -func (p *parser) callonMacrosGroup24() (interface{}, error) { +func (p *parser) callonSingleQuotedStringElement139() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onMacrosGroup24(stack["ref"]) + return p.cur.onSingleQuotedStringElement139() } -func (c *current) onMacrosGroup32() (interface{}, error) { - - return types.NewStringElement(string(c.text)) +func (c *current) onSingleQuotedStringElement92(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonMacrosGroup32() (interface{}, error) { +func (p *parser) callonSingleQuotedStringElement92() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onMacrosGroup32() + return p.cur.onSingleQuotedStringElement92(stack["element"]) } -func (c *current) onMacrosGroup1(elements interface{}) (interface{}, error) { +func (c *current) onSingleQuotedStringElement145() (bool, error) { - return types.NewInlineElements(elements) + return c.isSubstitutionEnabled(PostReplacements) && c.isPreceededBySpace(), nil } -func (p *parser) callonMacrosGroup1() (interface{}, error) { +func (p *parser) callonSingleQuotedStringElement145() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onMacrosGroup1(stack["elements"]) + return p.cur.onSingleQuotedStringElement145() } -func (c *current) onNoneGroup18() (interface{}, error) { +func (c *current) onSingleQuotedStringElement148() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonNoneGroup18() (interface{}, error) { +func (p *parser) callonSingleQuotedStringElement148() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNoneGroup18() + return p.cur.onSingleQuotedStringElement148() } -func (c *current) onNoneGroup23() (interface{}, error) { +func (c *current) onSingleQuotedStringElement152() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonNoneGroup23() (interface{}, error) { +func (p *parser) callonSingleQuotedStringElement152() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNoneGroup23() + return p.cur.onSingleQuotedStringElement152() } -func (c *current) onNoneGroup13() (interface{}, error) { - return types.NewStringElement(string(c.text)) +func (c *current) onSingleQuotedStringElement143() (interface{}, error) { + return types.NewLineBreak() } -func (p *parser) callonNoneGroup13() (interface{}, error) { +func (p *parser) callonSingleQuotedStringElement143() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNoneGroup13() + return p.cur.onSingleQuotedStringElement143() } -func (c *current) onNoneGroup34() (interface{}, error) { - return string(c.text), nil -} - -func (p *parser) callonNoneGroup34() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onNoneGroup34() -} +func (c *current) onSingleQuotedStringElement161() (interface{}, error) { + return types.NewStringElement("\u2019") -func (c *current) onNoneGroup30(ref interface{}) (interface{}, error) { - return types.NewElementPlaceHolder(ref.(string)) } -func (p *parser) callonNoneGroup30() (interface{}, error) { +func (p *parser) callonSingleQuotedStringElement161() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNoneGroup30(stack["ref"]) + return p.cur.onSingleQuotedStringElement161() } -func (c *current) onNoneGroup38() (interface{}, error) { - - return types.NewStringElement(string(c.text)) +func (c *current) onSingleQuotedStringElement163() (interface{}, error) { + return types.NewStringElement("\u00a9") } -func (p *parser) callonNoneGroup38() (interface{}, error) { +func (p *parser) callonSingleQuotedStringElement163() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNoneGroup38() + return p.cur.onSingleQuotedStringElement163() } -func (c *current) onNoneGroup5(element interface{}) (interface{}, error) { - - return element, nil +func (c *current) onSingleQuotedStringElement165() (interface{}, error) { + return types.NewStringElement("\u2122") } -func (p *parser) callonNoneGroup5() (interface{}, error) { +func (p *parser) callonSingleQuotedStringElement165() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNoneGroup5(stack["element"]) + return p.cur.onSingleQuotedStringElement165() } -func (c *current) onNoneGroup1(elements interface{}) (interface{}, error) { - - return types.NewInlineElements(elements) +func (c *current) onSingleQuotedStringElement167() (interface{}, error) { + return types.NewStringElement("\u00ae") } -func (p *parser) callonNoneGroup1() (interface{}, error) { +func (p *parser) callonSingleQuotedStringElement167() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNoneGroup1(stack["elements"]) + return p.cur.onSingleQuotedStringElement167() } -func (c *current) onNormalGroup1(elements interface{}) (interface{}, error) { - - c.resetSpaceSuffixTracking() - return types.NewInlineElements(elements) +func (c *current) onSingleQuotedStringElement169() (interface{}, error) { + return types.NewStringElement("\u2026\u200b") } -func (p *parser) callonNormalGroup1() (interface{}, error) { +func (p *parser) callonSingleQuotedStringElement169() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroup1(stack["elements"]) -} - -func (c *current) onNormalGroupElement13() (interface{}, error) { - return string(c.text), nil - + return p.cur.onSingleQuotedStringElement169() } -func (p *parser) callonNormalGroupElement13() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onNormalGroupElement13() -} +func (c *current) onSingleQuotedStringElement171() (interface{}, error) { + return types.NewStringElement(string(c.text[:1]) + "\u2019") -func (c *current) onNormalGroupElement18() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil } -func (p *parser) callonNormalGroupElement18() (interface{}, error) { +func (p *parser) callonSingleQuotedStringElement171() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroupElement18() + return p.cur.onSingleQuotedStringElement171() } -func (c *current) onNormalGroupElement8() (interface{}, error) { +func (c *current) onSingleQuotedStringElement180() (interface{}, error) { + // ' return types.NewStringElement(string(c.text)) } -func (p *parser) callonNormalGroupElement8() (interface{}, error) { +func (p *parser) callonSingleQuotedStringElement180() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroupElement8() + return p.cur.onSingleQuotedStringElement180() } -func (c *current) onNormalGroupElement25() (interface{}, error) { - return string(c.text), nil +func (c *current) onSingleQuotedStringElement1(element interface{}) (interface{}, error) { + c.trackSpaceSuffix(element) + return element, nil } -func (p *parser) callonNormalGroupElement25() (interface{}, error) { +func (p *parser) callonSingleQuotedStringElement1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroupElement25() + return p.cur.onSingleQuotedStringElement1(stack["element"]) } -func (c *current) onNormalGroupElement27() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onQuotedTextInSingleQuotedString10(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonNormalGroupElement27() (interface{}, error) { +func (p *parser) callonQuotedTextInSingleQuotedString10() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroupElement27() -} - -func (c *current) onNormalGroupElement36() (interface{}, error) { - return string(c.text), nil + return p.cur.onQuotedTextInSingleQuotedString10(stack["element"]) } -func (p *parser) callonNormalGroupElement36() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onNormalGroupElement36() -} +func (c *current) onQuotedTextInSingleQuotedString1(attributes, text interface{}) (interface{}, error) { + return text.(*types.QuotedText).WithAttributes(attributes) -func (c *current) onNormalGroupElement32(ref interface{}) (interface{}, error) { - return types.NewElementPlaceHolder(ref.(string)) } -func (p *parser) callonNormalGroupElement32() (interface{}, error) { +func (p *parser) callonQuotedTextInSingleQuotedString1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroupElement32(stack["ref"]) + return p.cur.onQuotedTextInSingleQuotedString1(stack["attributes"], stack["text"]) } -func (c *current) onNormalGroupElement42() (bool, error) { - - return c.isPreceededBySpace(), nil +func (c *current) onDoubleQuotedString1(elements interface{}) (interface{}, error) { + return types.NewQuotedString(types.DoubleQuote, elements.([]interface{})) } -func (p *parser) callonNormalGroupElement42() (bool, error) { +func (p *parser) callonDoubleQuotedString1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroupElement42() + return p.cur.onDoubleQuotedString1(stack["elements"]) } -func (c *current) onNormalGroupElement45() (interface{}, error) { - return string(c.text), nil +func (c *current) onDoubleQuotedStringElements1(elements interface{}) (interface{}, error) { + c.resetSpaceSuffixTracking() + return types.NewInlineElements(elements) } -func (p *parser) callonNormalGroupElement45() (interface{}, error) { +func (p *parser) callonDoubleQuotedStringElements1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroupElement45() + return p.cur.onDoubleQuotedStringElements1(stack["elements"]) } -func (c *current) onNormalGroupElement49() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onDoubleQuotedStringElement13() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonNormalGroupElement49() (interface{}, error) { +func (p *parser) callonDoubleQuotedStringElement13() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroupElement49() + return p.cur.onDoubleQuotedStringElement13() } -func (c *current) onNormalGroupElement40() (interface{}, error) { - return types.NewLineBreak() +func (c *current) onDoubleQuotedStringElement7() (interface{}, error) { + return types.NewStringElement(string(c.text)) } -func (p *parser) callonNormalGroupElement40() (interface{}, error) { +func (p *parser) callonDoubleQuotedStringElement7() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroupElement40() + return p.cur.onDoubleQuotedStringElement7() } -func (c *current) onNormalGroupElement61() (interface{}, error) { +func (c *current) onDoubleQuotedStringElement17() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonNormalGroupElement61() (interface{}, error) { +func (p *parser) callonDoubleQuotedStringElement17() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroupElement61() + return p.cur.onDoubleQuotedStringElement17() } -func (c *current) onNormalGroupElement63() (interface{}, error) { +func (c *current) onDoubleQuotedStringElement22() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonNormalGroupElement63() (interface{}, error) { +func (p *parser) callonDoubleQuotedStringElement22() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroupElement63() + return p.cur.onDoubleQuotedStringElement22() } -func (c *current) onNormalGroupElement56() (interface{}, error) { +func (c *current) onDoubleQuotedStringElement28() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonNormalGroupElement56() (interface{}, error) { +func (p *parser) callonDoubleQuotedStringElement28() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroupElement56() + return p.cur.onDoubleQuotedStringElement28() } -func (c *current) onNormalGroupElement75() (bool, error) { - return c.isSubstitutionEnabled(SpecialCharacters) +func (c *current) onDoubleQuotedStringElement36() (bool, error) { + + return c.isSubstitutionEnabled(PostReplacements) && c.isPreceededBySpace(), nil } -func (p *parser) callonNormalGroupElement75() (bool, error) { +func (p *parser) callonDoubleQuotedStringElement36() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroupElement75() + return p.cur.onDoubleQuotedStringElement36() } -func (c *current) onNormalGroupElement84() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ +func (c *current) onDoubleQuotedStringElement39() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonNormalGroupElement84() (interface{}, error) { +func (p *parser) callonDoubleQuotedStringElement39() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroupElement84() + return p.cur.onDoubleQuotedStringElement39() } -func (c *current) onNormalGroupElement88() (interface{}, error) { +func (c *current) onDoubleQuotedStringElement43() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonNormalGroupElement88() (interface{}, error) { +func (p *parser) callonDoubleQuotedStringElement43() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroupElement88() + return p.cur.onDoubleQuotedStringElement43() } -func (c *current) onNormalGroupElement94() (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) onDoubleQuotedStringElement34() (interface{}, error) { + return types.NewLineBreak() } -func (p *parser) callonNormalGroupElement94() (interface{}, error) { +func (p *parser) callonDoubleQuotedStringElement34() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroupElement94() + return p.cur.onDoubleQuotedStringElement34() } -func (c *current) onNormalGroupElement101() (bool, error) { - return c.isSubstitutionEnabled(Attributes) +func (c *current) onDoubleQuotedStringElement54() (bool, error) { + return c.isSubstitutionEnabled(Attributes), nil } -func (p *parser) callonNormalGroupElement101() (bool, error) { +func (p *parser) callonDoubleQuotedStringElement54() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroupElement101() + return p.cur.onDoubleQuotedStringElement54() } -func (c *current) onNormalGroupElement108() (interface{}, error) { +func (c *current) onDoubleQuotedStringElement61() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonNormalGroupElement108() (interface{}, error) { +func (p *parser) callonDoubleQuotedStringElement61() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroupElement108() + return p.cur.onDoubleQuotedStringElement61() } -func (c *current) onNormalGroupElement120() (interface{}, error) { +func (c *current) onDoubleQuotedStringElement73() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonNormalGroupElement120() (interface{}, error) { +func (p *parser) callonDoubleQuotedStringElement73() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroupElement120() + return p.cur.onDoubleQuotedStringElement73() } -func (c *current) onNormalGroupElement122() (interface{}, error) { +func (c *current) onDoubleQuotedStringElement75() (interface{}, error) { return strconv.Atoi(string(c.text)) } -func (p *parser) callonNormalGroupElement122() (interface{}, error) { +func (p *parser) callonDoubleQuotedStringElement75() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroupElement122() + return p.cur.onDoubleQuotedStringElement75() } -func (c *current) onNormalGroupElement115(start interface{}) (interface{}, error) { +func (c *current) onDoubleQuotedStringElement68(start interface{}) (interface{}, error) { return start, nil } -func (p *parser) callonNormalGroupElement115() (interface{}, error) { +func (p *parser) callonDoubleQuotedStringElement68() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroupElement115(stack["start"]) + return p.cur.onDoubleQuotedStringElement68(stack["start"]) } -func (c *current) onNormalGroupElement104(name, start interface{}) (interface{}, error) { +func (c *current) onDoubleQuotedStringElement57(name, start interface{}) (interface{}, error) { return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) } -func (p *parser) callonNormalGroupElement104() (interface{}, error) { +func (p *parser) callonDoubleQuotedStringElement57() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroupElement104(stack["name"], stack["start"]) + return p.cur.onDoubleQuotedStringElement57(stack["name"], stack["start"]) } -func (c *current) onNormalGroupElement130() (interface{}, error) { +func (c *current) onDoubleQuotedStringElement83() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonNormalGroupElement130() (interface{}, error) { +func (p *parser) callonDoubleQuotedStringElement83() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroupElement130() + return p.cur.onDoubleQuotedStringElement83() } -func (c *current) onNormalGroupElement142() (interface{}, error) { +func (c *current) onDoubleQuotedStringElement95() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonNormalGroupElement142() (interface{}, error) { +func (p *parser) callonDoubleQuotedStringElement95() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroupElement142() + return p.cur.onDoubleQuotedStringElement95() } -func (c *current) onNormalGroupElement144() (interface{}, error) { +func (c *current) onDoubleQuotedStringElement97() (interface{}, error) { return strconv.Atoi(string(c.text)) } -func (p *parser) callonNormalGroupElement144() (interface{}, error) { +func (p *parser) callonDoubleQuotedStringElement97() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroupElement144() + return p.cur.onDoubleQuotedStringElement97() } -func (c *current) onNormalGroupElement137(start interface{}) (interface{}, error) { +func (c *current) onDoubleQuotedStringElement90(start interface{}) (interface{}, error) { return start, nil } -func (p *parser) callonNormalGroupElement137() (interface{}, error) { +func (p *parser) callonDoubleQuotedStringElement90() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroupElement137(stack["start"]) + return p.cur.onDoubleQuotedStringElement90(stack["start"]) } -func (c *current) onNormalGroupElement126(name, start interface{}) (interface{}, error) { +func (c *current) onDoubleQuotedStringElement79(name, start interface{}) (interface{}, error) { return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) } -func (p *parser) callonNormalGroupElement126() (interface{}, error) { +func (p *parser) callonDoubleQuotedStringElement79() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroupElement126(stack["name"], stack["start"]) + return p.cur.onDoubleQuotedStringElement79(stack["name"], stack["start"]) } -func (c *current) onNormalGroupElement152() (interface{}, error) { +func (c *current) onDoubleQuotedStringElement105() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonNormalGroupElement152() (interface{}, error) { +func (p *parser) callonDoubleQuotedStringElement105() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroupElement152() + return p.cur.onDoubleQuotedStringElement105() } -func (c *current) onNormalGroupElement148(name interface{}) (interface{}, error) { +func (c *current) onDoubleQuotedStringElement101(name interface{}) (interface{}, error) { return types.NewAttributeSubstitution(name.(string), string(c.text)) -} - -func (p *parser) callonNormalGroupElement148() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onNormalGroupElement148(stack["name"]) -} - -func (c *current) onNormalGroupElement99(element interface{}) (interface{}, error) { - return element, nil } -func (p *parser) callonNormalGroupElement99() (interface{}, error) { +func (p *parser) callonDoubleQuotedStringElement101() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroupElement99(stack["element"]) + return p.cur.onDoubleQuotedStringElement101(stack["name"]) } -func (c *current) onNormalGroupElement158() (interface{}, error) { - - return types.NewStringElement(string(c.text)) +func (c *current) onDoubleQuotedStringElement52(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonNormalGroupElement158() (interface{}, error) { +func (p *parser) callonDoubleQuotedStringElement52() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroupElement158() + return p.cur.onDoubleQuotedStringElement52(stack["element"]) } -func (c *current) onNormalGroupElement80(id, label interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, label) +func (c *current) onDoubleQuotedStringElement113() (bool, error) { + return c.isSubstitutionEnabled(SpecialCharacters), nil } -func (p *parser) callonNormalGroupElement80() (interface{}, error) { +func (p *parser) callonDoubleQuotedStringElement113() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroupElement80(stack["id"], stack["label"]) + return p.cur.onDoubleQuotedStringElement113() } -func (c *current) onNormalGroupElement165() (interface{}, error) { +func (c *current) onDoubleQuotedStringElement122() (interface{}, error) { // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ return string(c.text), nil } -func (p *parser) callonNormalGroupElement165() (interface{}, error) { +func (p *parser) callonDoubleQuotedStringElement122() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroupElement165() + return p.cur.onDoubleQuotedStringElement122() } -func (c *current) onNormalGroupElement161(id interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, nil) +func (c *current) onDoubleQuotedStringElement126() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonNormalGroupElement161() (interface{}, error) { +func (p *parser) callonDoubleQuotedStringElement126() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroupElement161(stack["id"]) + return p.cur.onDoubleQuotedStringElement126() } -func (c *current) onNormalGroupElement78() (interface{}, error) { +func (c *current) onDoubleQuotedStringElement132() (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) callonNormalGroupElement78() (interface{}, error) { +func (p *parser) callonDoubleQuotedStringElement132() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroupElement78() + return p.cur.onDoubleQuotedStringElement132() } -func (c *current) onNormalGroupElement169() (interface{}, error) { - return types.NewSpecialCharacter(string(c.text)) +func (c *current) onDoubleQuotedStringElement141() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonNormalGroupElement169() (interface{}, error) { +func (p *parser) callonDoubleQuotedStringElement141() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroupElement169() + return p.cur.onDoubleQuotedStringElement141() } -func (c *current) onNormalGroupElement73(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onDoubleQuotedStringElement137(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonNormalGroupElement73() (interface{}, error) { +func (p *parser) callonDoubleQuotedStringElement137() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroupElement73(stack["element"]) + return p.cur.onDoubleQuotedStringElement137(stack["name"]) } -func (c *current) onNormalGroupElement173() (bool, error) { - return c.isSubstitutionEnabled(Attributes) +func (c *current) onDoubleQuotedStringElement147() (interface{}, error) { + + return types.NewStringElement(string(c.text)) } -func (p *parser) callonNormalGroupElement173() (bool, error) { +func (p *parser) callonDoubleQuotedStringElement147() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroupElement173() + return p.cur.onDoubleQuotedStringElement147() } -func (c *current) onNormalGroupElement180() (interface{}, error) { - return string(c.text), nil +func (c *current) onDoubleQuotedStringElement118(id, label interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, label) } -func (p *parser) callonNormalGroupElement180() (interface{}, error) { +func (p *parser) callonDoubleQuotedStringElement118() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroupElement180() + return p.cur.onDoubleQuotedStringElement118(stack["id"], stack["label"]) } -func (c *current) onNormalGroupElement192() (interface{}, error) { +func (c *current) onDoubleQuotedStringElement154() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ return string(c.text), nil } -func (p *parser) callonNormalGroupElement192() (interface{}, error) { +func (p *parser) callonDoubleQuotedStringElement154() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroupElement192() + return p.cur.onDoubleQuotedStringElement154() } -func (c *current) onNormalGroupElement194() (interface{}, error) { - - return strconv.Atoi(string(c.text)) +func (c *current) onDoubleQuotedStringElement150(id interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, nil) } -func (p *parser) callonNormalGroupElement194() (interface{}, error) { +func (p *parser) callonDoubleQuotedStringElement150() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroupElement194() -} - -func (c *current) onNormalGroupElement187(start interface{}) (interface{}, error) { - return start, nil - + return p.cur.onDoubleQuotedStringElement150(stack["id"]) } -func (p *parser) callonNormalGroupElement187() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onNormalGroupElement187(stack["start"]) -} +func (c *current) onDoubleQuotedStringElement116() (interface{}, error) { + return types.NewStringElement(string(c.text)) -func (c *current) onNormalGroupElement176(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) } -func (p *parser) callonNormalGroupElement176() (interface{}, error) { +func (p *parser) callonDoubleQuotedStringElement116() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroupElement176(stack["name"], stack["start"]) + return p.cur.onDoubleQuotedStringElement116() } -func (c *current) onNormalGroupElement202() (interface{}, error) { - return string(c.text), nil +func (c *current) onDoubleQuotedStringElement158() (interface{}, error) { + return types.NewSpecialCharacter(string(c.text)) } -func (p *parser) callonNormalGroupElement202() (interface{}, error) { +func (p *parser) callonDoubleQuotedStringElement158() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroupElement202() + return p.cur.onDoubleQuotedStringElement158() } -func (c *current) onNormalGroupElement214() (interface{}, error) { - return string(c.text), nil +func (c *current) onDoubleQuotedStringElement111(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonNormalGroupElement214() (interface{}, error) { +func (p *parser) callonDoubleQuotedStringElement111() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroupElement214() + return p.cur.onDoubleQuotedStringElement111(stack["element"]) } -func (c *current) onNormalGroupElement216() (interface{}, error) { - - return strconv.Atoi(string(c.text)) +func (c *current) onDoubleQuotedStringElement163() (interface{}, error) { + return types.NewStringElement(string(c.text)) } -func (p *parser) callonNormalGroupElement216() (interface{}, error) { +func (p *parser) callonDoubleQuotedStringElement163() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroupElement216() -} - -func (c *current) onNormalGroupElement209(start interface{}) (interface{}, error) { - return start, nil - + return p.cur.onDoubleQuotedStringElement163() } -func (p *parser) callonNormalGroupElement209() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onNormalGroupElement209(stack["start"]) -} +func (c *current) onDoubleQuotedStringElement1(element interface{}) (interface{}, error) { + c.trackSpaceSuffix(element) + return element, nil -func (c *current) onNormalGroupElement198(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) } -func (p *parser) callonNormalGroupElement198() (interface{}, error) { +func (p *parser) callonDoubleQuotedStringElement1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroupElement198(stack["name"], stack["start"]) + return p.cur.onDoubleQuotedStringElement1(stack["element"]) } -func (c *current) onNormalGroupElement224() (interface{}, error) { - return string(c.text), nil - +func (c *current) onQuotedTextInDoubleQuotedString10(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonNormalGroupElement224() (interface{}, error) { +func (p *parser) callonQuotedTextInDoubleQuotedString10() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroupElement224() + return p.cur.onQuotedTextInDoubleQuotedString10(stack["element"]) } -func (c *current) onNormalGroupElement220(name interface{}) (interface{}, error) { +func (c *current) onQuotedTextInDoubleQuotedString1(attributes, text interface{}) (interface{}, error) { + return text.(*types.QuotedText).WithAttributes(attributes) - return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonNormalGroupElement220() (interface{}, error) { +func (p *parser) callonQuotedTextInDoubleQuotedString1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroupElement220(stack["name"]) + return p.cur.onQuotedTextInDoubleQuotedString1(stack["attributes"], stack["text"]) } -func (c *current) onNormalGroupElement171(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onSubstitutions17() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonNormalGroupElement171() (interface{}, error) { +func (p *parser) callonSubstitutions17() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroupElement171(stack["element"]) + return p.cur.onSubstitutions17() } -func (c *current) onNormalGroupElement230() (interface{}, error) { - return types.NewStringElement("\u2019") - +func (c *current) onSubstitutions22() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonNormalGroupElement230() (interface{}, error) { +func (p *parser) callonSubstitutions22() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroupElement230() + return p.cur.onSubstitutions22() } -func (c *current) onNormalGroupElement232() (interface{}, error) { - return types.NewStringElement("\u00a9") +func (c *current) onSubstitutions12() (interface{}, error) { + return types.NewStringElement(string(c.text)) } -func (p *parser) callonNormalGroupElement232() (interface{}, error) { +func (p *parser) callonSubstitutions12() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroupElement232() + return p.cur.onSubstitutions12() } -func (c *current) onNormalGroupElement234() (interface{}, error) { - return types.NewStringElement("\u2122") +func (c *current) onSubstitutions29() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonNormalGroupElement234() (interface{}, error) { +func (p *parser) callonSubstitutions29() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroupElement234() + return p.cur.onSubstitutions29() } -func (c *current) onNormalGroupElement236() (interface{}, error) { - return types.NewStringElement("\u00ae") - +func (c *current) onSubstitutions31() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonNormalGroupElement236() (interface{}, error) { +func (p *parser) callonSubstitutions31() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroupElement236() + return p.cur.onSubstitutions31() } -func (c *current) onNormalGroupElement238() (interface{}, error) { - return types.NewStringElement("\u2026\u200b") - +func (c *current) onSubstitutions40() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonNormalGroupElement238() (interface{}, error) { +func (p *parser) callonSubstitutions40() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroupElement238() + return p.cur.onSubstitutions40() } -func (c *current) onNormalGroupElement240() (interface{}, error) { - return types.NewStringElement(string(c.text[:1]) + "\u2019") - +func (c *current) onSubstitutions36(ref interface{}) (interface{}, error) { + return types.NewElementPlaceHolder(ref.(string)) } -func (p *parser) callonNormalGroupElement240() (interface{}, error) { +func (p *parser) callonSubstitutions36() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroupElement240() -} - -func (c *current) onNormalGroupElement246() (interface{}, error) { - - return types.NewStringElement(string(c.text)) - + return p.cur.onSubstitutions36(stack["ref"]) } -func (p *parser) callonNormalGroupElement246() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onNormalGroupElement246() -} +func (c *current) onSubstitutions46() (bool, error) { -func (c *current) onNormalGroupElement1(element interface{}) (interface{}, error) { - c.trackSpaceSuffix(element) - return element, nil + return c.isSubstitutionEnabled(PostReplacements) && c.isPreceededBySpace(), nil } -func (p *parser) callonNormalGroupElement1() (interface{}, error) { +func (p *parser) callonSubstitutions46() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroupElement1(stack["element"]) + return p.cur.onSubstitutions46() } -func (c *current) onPostReplacementsGroup17() (interface{}, error) { +func (c *current) onSubstitutions49() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonPostReplacementsGroup17() (interface{}, error) { +func (p *parser) callonSubstitutions49() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onPostReplacementsGroup17() + return p.cur.onSubstitutions49() } -func (c *current) onPostReplacementsGroup22() (interface{}, error) { +func (c *current) onSubstitutions53() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonPostReplacementsGroup22() (interface{}, error) { +func (p *parser) callonSubstitutions53() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onPostReplacementsGroup22() + return p.cur.onSubstitutions53() } -func (c *current) onPostReplacementsGroup12() (interface{}, error) { - return types.NewStringElement(string(c.text)) +func (c *current) onSubstitutions44() (interface{}, error) { + return types.NewLineBreak() } -func (p *parser) callonPostReplacementsGroup12() (interface{}, error) { +func (p *parser) callonSubstitutions44() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onPostReplacementsGroup12() + return p.cur.onSubstitutions44() } -func (c *current) onPostReplacementsGroup29() (interface{}, error) { +func (c *current) onSubstitutions65() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonPostReplacementsGroup29() (interface{}, error) { +func (p *parser) callonSubstitutions65() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onPostReplacementsGroup29() + return p.cur.onSubstitutions65() } -func (c *current) onPostReplacementsGroup33() (bool, error) { +func (c *current) onSubstitutions67() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} - return c.isPreceededBySpace(), nil +func (p *parser) callonSubstitutions67() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSubstitutions67() +} +func (c *current) onSubstitutions60() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonPostReplacementsGroup33() (bool, error) { +func (p *parser) callonSubstitutions60() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onPostReplacementsGroup33() + return p.cur.onSubstitutions60() } -func (c *current) onPostReplacementsGroup36() (interface{}, error) { +func (c *current) onSubstitutions80() (bool, error) { + return c.isSubstitutionEnabled(SpecialCharacters), nil + +} + +func (p *parser) callonSubstitutions80() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSubstitutions80() +} + +func (c *current) onSubstitutions89() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ return string(c.text), nil } -func (p *parser) callonPostReplacementsGroup36() (interface{}, error) { +func (p *parser) callonSubstitutions89() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onPostReplacementsGroup36() + return p.cur.onSubstitutions89() } -func (c *current) onPostReplacementsGroup40() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onSubstitutions93() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonPostReplacementsGroup40() (interface{}, error) { +func (p *parser) callonSubstitutions93() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onPostReplacementsGroup40() + return p.cur.onSubstitutions93() } -func (c *current) onPostReplacementsGroup31() (interface{}, error) { - return types.NewLineBreak() +func (c *current) onSubstitutions99() (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) callonPostReplacementsGroup31() (interface{}, error) { +func (p *parser) callonSubstitutions99() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onPostReplacementsGroup31() + return p.cur.onSubstitutions99() } -func (c *current) onPostReplacementsGroup47() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onSubstitutions108() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonPostReplacementsGroup47() (interface{}, error) { +func (p *parser) callonSubstitutions108() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onPostReplacementsGroup47() + return p.cur.onSubstitutions108() } -func (c *current) onPostReplacementsGroup56() (interface{}, error) { - return string(c.text), nil +func (c *current) onSubstitutions104(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) + } -func (p *parser) callonPostReplacementsGroup56() (interface{}, error) { +func (p *parser) callonSubstitutions104() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onPostReplacementsGroup56() + return p.cur.onSubstitutions104(stack["name"]) } -func (c *current) onPostReplacementsGroup52(ref interface{}) (interface{}, error) { - return types.NewElementPlaceHolder(ref.(string)) +func (c *current) onSubstitutions114() (interface{}, error) { + + return types.NewStringElement(string(c.text)) + +} + +func (p *parser) callonSubstitutions114() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSubstitutions114() +} + +func (c *current) onSubstitutions85(id, label interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, label) + } -func (p *parser) callonPostReplacementsGroup52() (interface{}, error) { +func (p *parser) callonSubstitutions85() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onPostReplacementsGroup52(stack["ref"]) + return p.cur.onSubstitutions85(stack["id"], stack["label"]) +} + +func (c *current) onSubstitutions121() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ + return string(c.text), nil + } -func (c *current) onPostReplacementsGroup60() (interface{}, error) { +func (p *parser) callonSubstitutions121() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSubstitutions121() +} + +func (c *current) onSubstitutions117(id interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, nil) + +} + +func (p *parser) callonSubstitutions117() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSubstitutions117(stack["id"]) +} +func (c *current) onSubstitutions83() (interface{}, error) { return types.NewStringElement(string(c.text)) } -func (p *parser) callonPostReplacementsGroup60() (interface{}, error) { +func (p *parser) callonSubstitutions83() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onPostReplacementsGroup60() + return p.cur.onSubstitutions83() } -func (c *current) onPostReplacementsGroup5(element interface{}) (interface{}, error) { - c.trackSpaceSuffix(element) +func (c *current) onSubstitutions125() (interface{}, error) { + return types.NewSpecialCharacter(string(c.text)) + +} + +func (p *parser) callonSubstitutions125() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSubstitutions125() +} + +func (c *current) onSubstitutions78(element interface{}) (interface{}, error) { return element, nil } -func (p *parser) callonPostReplacementsGroup5() (interface{}, error) { +func (p *parser) callonSubstitutions78() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onPostReplacementsGroup5(stack["element"]) + return p.cur.onSubstitutions78(stack["element"]) } -func (c *current) onPostReplacementsGroup1(elements interface{}) (interface{}, error) { - c.resetSpaceSuffixTracking() - return types.NewInlineElements(elements) +func (c *current) onSubstitutions129() (bool, error) { + return c.isSubstitutionEnabled(Attributes), nil } -func (p *parser) callonPostReplacementsGroup1() (interface{}, error) { +func (p *parser) callonSubstitutions129() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onPostReplacementsGroup1(stack["elements"]) + return p.cur.onSubstitutions129() } -func (c *current) onQuotesGroup11() (interface{}, error) { +func (c *current) onSubstitutions136() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonQuotesGroup11() (interface{}, error) { +func (p *parser) callonSubstitutions136() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onQuotesGroup11() + return p.cur.onSubstitutions136() } -func (c *current) onQuotesGroup16() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onSubstitutions148() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonQuotesGroup16() (interface{}, error) { +func (p *parser) callonSubstitutions148() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onQuotesGroup16() + return p.cur.onSubstitutions148() } -func (c *current) onQuotesGroup6() (interface{}, error) { - return types.NewStringElement(string(c.text)) +func (c *current) onSubstitutions150() (interface{}, error) { + + return strconv.Atoi(string(c.text)) + +} + +func (p *parser) callonSubstitutions150() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSubstitutions150() +} + +func (c *current) onSubstitutions143(start interface{}) (interface{}, error) { + return start, nil } -func (p *parser) callonQuotesGroup6() (interface{}, error) { +func (p *parser) callonSubstitutions143() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onQuotesGroup6() + return p.cur.onSubstitutions143(stack["start"]) } -func (c *current) onQuotesGroup28() (interface{}, error) { +func (c *current) onSubstitutions132(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) +} + +func (p *parser) callonSubstitutions132() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSubstitutions132(stack["name"], stack["start"]) +} + +func (c *current) onSubstitutions158() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonQuotesGroup28() (interface{}, error) { +func (p *parser) callonSubstitutions158() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onQuotesGroup28() + return p.cur.onSubstitutions158() } -func (c *current) onQuotesGroup24(ref interface{}) (interface{}, error) { - return types.NewElementPlaceHolder(ref.(string)) +func (c *current) onSubstitutions170() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonQuotesGroup24() (interface{}, error) { +func (p *parser) callonSubstitutions170() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onQuotesGroup24(stack["ref"]) + return p.cur.onSubstitutions170() } -func (c *current) onQuotesGroup32() (interface{}, error) { +func (c *current) onSubstitutions172() (interface{}, error) { - return types.NewStringElement(string(c.text)) + return strconv.Atoi(string(c.text)) } -func (p *parser) callonQuotesGroup32() (interface{}, error) { +func (p *parser) callonSubstitutions172() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onQuotesGroup32() + return p.cur.onSubstitutions172() } -func (c *current) onQuotesGroup1(elements interface{}) (interface{}, error) { +func (c *current) onSubstitutions165(start interface{}) (interface{}, error) { + return start, nil - return types.NewInlineElements(elements) +} +func (p *parser) callonSubstitutions165() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSubstitutions165(stack["start"]) } -func (p *parser) callonQuotesGroup1() (interface{}, error) { +func (c *current) onSubstitutions154(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) +} + +func (p *parser) callonSubstitutions154() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onQuotesGroup1(stack["elements"]) + return p.cur.onSubstitutions154(stack["name"], stack["start"]) } -func (c *current) onReplacementsGroup11() (interface{}, error) { +func (c *current) onSubstitutions180() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonReplacementsGroup11() (interface{}, error) { +func (p *parser) callonSubstitutions180() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onReplacementsGroup11() + return p.cur.onSubstitutions180() } -func (c *current) onReplacementsGroup16() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onSubstitutions176(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) + } -func (p *parser) callonReplacementsGroup16() (interface{}, error) { +func (p *parser) callonSubstitutions176() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onReplacementsGroup16() + return p.cur.onSubstitutions176(stack["name"]) } -func (c *current) onReplacementsGroup6() (interface{}, error) { - return types.NewStringElement(string(c.text)) +func (c *current) onSubstitutions127(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonReplacementsGroup6() (interface{}, error) { +func (p *parser) callonSubstitutions127() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onReplacementsGroup6() + return p.cur.onSubstitutions127(stack["element"]) } -func (c *current) onReplacementsGroup25() (bool, error) { - return c.isSubstitutionEnabled(Replacements) +func (c *current) onSubstitutions188() (bool, error) { + return c.isSubstitutionEnabled(Replacements), nil } -func (p *parser) callonReplacementsGroup25() (bool, error) { +func (p *parser) callonSubstitutions188() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onReplacementsGroup25() + return p.cur.onSubstitutions188() } -func (c *current) onReplacementsGroup28() (interface{}, error) { +func (c *current) onSubstitutions191() (interface{}, error) { return types.NewStringElement("\u2019") } -func (p *parser) callonReplacementsGroup28() (interface{}, error) { +func (p *parser) callonSubstitutions191() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onReplacementsGroup28() + return p.cur.onSubstitutions191() } -func (c *current) onReplacementsGroup30() (interface{}, error) { +func (c *current) onSubstitutions193() (interface{}, error) { return types.NewStringElement("\u00a9") } -func (p *parser) callonReplacementsGroup30() (interface{}, error) { +func (p *parser) callonSubstitutions193() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onReplacementsGroup30() + return p.cur.onSubstitutions193() } -func (c *current) onReplacementsGroup32() (interface{}, error) { +func (c *current) onSubstitutions195() (interface{}, error) { return types.NewStringElement("\u2122") } -func (p *parser) callonReplacementsGroup32() (interface{}, error) { +func (p *parser) callonSubstitutions195() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onReplacementsGroup32() + return p.cur.onSubstitutions195() } -func (c *current) onReplacementsGroup34() (interface{}, error) { +func (c *current) onSubstitutions197() (interface{}, error) { return types.NewStringElement("\u00ae") } -func (p *parser) callonReplacementsGroup34() (interface{}, error) { +func (p *parser) callonSubstitutions197() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onReplacementsGroup34() + return p.cur.onSubstitutions197() } -func (c *current) onReplacementsGroup36() (interface{}, error) { +func (c *current) onSubstitutions199() (interface{}, error) { return types.NewStringElement("\u2026\u200b") } -func (p *parser) callonReplacementsGroup36() (interface{}, error) { +func (p *parser) callonSubstitutions199() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onReplacementsGroup36() + return p.cur.onSubstitutions199() } -func (c *current) onReplacementsGroup38() (interface{}, error) { +func (c *current) onSubstitutions201() (interface{}, error) { return types.NewStringElement(string(c.text[:1]) + "\u2019") } -func (p *parser) callonReplacementsGroup38() (interface{}, error) { +func (p *parser) callonSubstitutions201() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onReplacementsGroup38() + return p.cur.onSubstitutions201() } -func (c *current) onReplacementsGroup23(element interface{}) (interface{}, error) { +func (c *current) onSubstitutions186(element interface{}) (interface{}, error) { return element, nil } -func (p *parser) callonReplacementsGroup23() (interface{}, error) { +func (p *parser) callonSubstitutions186() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onReplacementsGroup23(stack["element"]) + return p.cur.onSubstitutions186(stack["element"]) } -func (c *current) onReplacementsGroup48() (interface{}, error) { - return string(c.text), nil -} +func (c *current) onSubstitutions207() (interface{}, error) { -func (p *parser) callonReplacementsGroup48() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onReplacementsGroup48() -} + return types.NewStringElement(string(c.text)) -func (c *current) onReplacementsGroup44(ref interface{}) (interface{}, error) { - return types.NewElementPlaceHolder(ref.(string)) } -func (p *parser) callonReplacementsGroup44() (interface{}, error) { +func (p *parser) callonSubstitutions207() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onReplacementsGroup44(stack["ref"]) + return p.cur.onSubstitutions207() } -func (c *current) onReplacementsGroup52() (interface{}, error) { - - return types.NewStringElement(string(c.text)) +func (c *current) onSubstitutions5(element interface{}) (interface{}, error) { + c.trackSpaceSuffix(element) + return element, nil } -func (p *parser) callonReplacementsGroup52() (interface{}, error) { +func (p *parser) callonSubstitutions5() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onReplacementsGroup52() + return p.cur.onSubstitutions5(stack["element"]) } -func (c *current) onReplacementsGroup1(elements interface{}) (interface{}, error) { - +func (c *current) onSubstitutions1(elements interface{}) (interface{}, error) { return types.NewInlineElements(elements) } -func (p *parser) callonReplacementsGroup1() (interface{}, error) { +func (p *parser) callonSubstitutions1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onReplacementsGroup1(stack["elements"]) + return p.cur.onSubstitutions1(stack["elements"]) } -func (c *current) onSpecialCharactersGroup11() (interface{}, error) { - return string(c.text), nil +func (c *current) onHeaderGroup1(elements interface{}) (interface{}, error) { + + return types.NewInlineElements(elements) } -func (p *parser) callonSpecialCharactersGroup11() (interface{}, error) { +func (p *parser) callonHeaderGroup1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSpecialCharactersGroup11() + return p.cur.onHeaderGroup1(stack["elements"]) } -func (c *current) onSpecialCharactersGroup16() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onHeaderGroupElement8() (interface{}, error) { + return types.NewStringElement(string(c.text)) + } -func (p *parser) callonSpecialCharactersGroup16() (interface{}, error) { +func (p *parser) callonHeaderGroupElement8() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSpecialCharactersGroup16() + return p.cur.onHeaderGroupElement8() } -func (c *current) onSpecialCharactersGroup6() (interface{}, error) { +func (c *current) onHeaderGroupElement17() (interface{}, error) { + // allow ` return types.NewStringElement(string(c.text)) } -func (p *parser) callonSpecialCharactersGroup6() (interface{}, error) { +func (p *parser) callonHeaderGroupElement17() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSpecialCharactersGroup6() + return p.cur.onHeaderGroupElement17() } -func (c *current) onSpecialCharactersGroup25() (bool, error) { - return c.isSubstitutionEnabled(SpecialCharacters) +func (c *current) onHeaderGroupElement29() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonSpecialCharactersGroup25() (bool, error) { +func (p *parser) callonHeaderGroupElement29() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSpecialCharactersGroup25() + return p.cur.onHeaderGroupElement29() } -func (c *current) onSpecialCharactersGroup34() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ - return string(c.text), nil +func (c *current) onHeaderGroupElement40() (interface{}, error) { + // spaces, commas and dots are allowed in this syntax + return types.NewStringElement(string(c.text)) } -func (p *parser) callonSpecialCharactersGroup34() (interface{}, error) { +func (p *parser) callonHeaderGroupElement40() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSpecialCharactersGroup34() + return p.cur.onHeaderGroupElement40() } -func (c *current) onSpecialCharactersGroup38() (interface{}, error) { +func (c *current) onHeaderGroupElement47() (interface{}, error) { return string(c.text), nil - } -func (p *parser) callonSpecialCharactersGroup38() (interface{}, error) { +func (p *parser) callonHeaderGroupElement47() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSpecialCharactersGroup38() + return p.cur.onHeaderGroupElement47() } -func (c *current) onSpecialCharactersGroup44() (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) onHeaderGroupElement43(ref interface{}) (interface{}, error) { + return types.NewElementPlaceHolder(ref.(string)) } -func (p *parser) callonSpecialCharactersGroup44() (interface{}, error) { +func (p *parser) callonHeaderGroupElement43() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSpecialCharactersGroup44() + return p.cur.onHeaderGroupElement43(stack["ref"]) } -func (c *current) onSpecialCharactersGroup51() (bool, error) { - return c.isSubstitutionEnabled(Attributes) +func (c *current) onHeaderGroupElement53() (bool, error) { + return c.isSubstitutionEnabled(Attributes), nil } -func (p *parser) callonSpecialCharactersGroup51() (bool, error) { +func (p *parser) callonHeaderGroupElement53() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSpecialCharactersGroup51() + return p.cur.onHeaderGroupElement53() } -func (c *current) onSpecialCharactersGroup58() (interface{}, error) { +func (c *current) onHeaderGroupElement60() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSpecialCharactersGroup58() (interface{}, error) { +func (p *parser) callonHeaderGroupElement60() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSpecialCharactersGroup58() + return p.cur.onHeaderGroupElement60() } -func (c *current) onSpecialCharactersGroup70() (interface{}, error) { +func (c *current) onHeaderGroupElement72() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSpecialCharactersGroup70() (interface{}, error) { +func (p *parser) callonHeaderGroupElement72() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSpecialCharactersGroup70() + return p.cur.onHeaderGroupElement72() } -func (c *current) onSpecialCharactersGroup72() (interface{}, error) { +func (c *current) onHeaderGroupElement74() (interface{}, error) { return strconv.Atoi(string(c.text)) } -func (p *parser) callonSpecialCharactersGroup72() (interface{}, error) { +func (p *parser) callonHeaderGroupElement74() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSpecialCharactersGroup72() + return p.cur.onHeaderGroupElement74() } -func (c *current) onSpecialCharactersGroup65(start interface{}) (interface{}, error) { +func (c *current) onHeaderGroupElement67(start interface{}) (interface{}, error) { return start, nil } -func (p *parser) callonSpecialCharactersGroup65() (interface{}, error) { +func (p *parser) callonHeaderGroupElement67() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSpecialCharactersGroup65(stack["start"]) + return p.cur.onHeaderGroupElement67(stack["start"]) } -func (c *current) onSpecialCharactersGroup54(name, start interface{}) (interface{}, error) { +func (c *current) onHeaderGroupElement56(name, start interface{}) (interface{}, error) { return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) } -func (p *parser) callonSpecialCharactersGroup54() (interface{}, error) { +func (p *parser) callonHeaderGroupElement56() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSpecialCharactersGroup54(stack["name"], stack["start"]) + return p.cur.onHeaderGroupElement56(stack["name"], stack["start"]) } -func (c *current) onSpecialCharactersGroup80() (interface{}, error) { +func (c *current) onHeaderGroupElement82() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSpecialCharactersGroup80() (interface{}, error) { +func (p *parser) callonHeaderGroupElement82() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSpecialCharactersGroup80() + return p.cur.onHeaderGroupElement82() } -func (c *current) onSpecialCharactersGroup92() (interface{}, error) { +func (c *current) onHeaderGroupElement94() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSpecialCharactersGroup92() (interface{}, error) { +func (p *parser) callonHeaderGroupElement94() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSpecialCharactersGroup92() + return p.cur.onHeaderGroupElement94() } -func (c *current) onSpecialCharactersGroup94() (interface{}, error) { +func (c *current) onHeaderGroupElement96() (interface{}, error) { return strconv.Atoi(string(c.text)) } -func (p *parser) callonSpecialCharactersGroup94() (interface{}, error) { +func (p *parser) callonHeaderGroupElement96() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSpecialCharactersGroup94() + return p.cur.onHeaderGroupElement96() } -func (c *current) onSpecialCharactersGroup87(start interface{}) (interface{}, error) { +func (c *current) onHeaderGroupElement89(start interface{}) (interface{}, error) { return start, nil } -func (p *parser) callonSpecialCharactersGroup87() (interface{}, error) { +func (p *parser) callonHeaderGroupElement89() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSpecialCharactersGroup87(stack["start"]) + return p.cur.onHeaderGroupElement89(stack["start"]) } -func (c *current) onSpecialCharactersGroup76(name, start interface{}) (interface{}, error) { +func (c *current) onHeaderGroupElement78(name, start interface{}) (interface{}, error) { return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) } -func (p *parser) callonSpecialCharactersGroup76() (interface{}, error) { +func (p *parser) callonHeaderGroupElement78() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSpecialCharactersGroup76(stack["name"], stack["start"]) + return p.cur.onHeaderGroupElement78(stack["name"], stack["start"]) } -func (c *current) onSpecialCharactersGroup102() (interface{}, error) { +func (c *current) onHeaderGroupElement104() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSpecialCharactersGroup102() (interface{}, error) { +func (p *parser) callonHeaderGroupElement104() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSpecialCharactersGroup102() + return p.cur.onHeaderGroupElement104() } -func (c *current) onSpecialCharactersGroup98(name interface{}) (interface{}, error) { +func (c *current) onHeaderGroupElement100(name interface{}) (interface{}, error) { return types.NewAttributeSubstitution(name.(string), string(c.text)) + } -func (p *parser) callonSpecialCharactersGroup98() (interface{}, error) { +func (p *parser) callonHeaderGroupElement100() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSpecialCharactersGroup98(stack["name"]) + return p.cur.onHeaderGroupElement100(stack["name"]) } -func (c *current) onSpecialCharactersGroup49(element interface{}) (interface{}, error) { +func (c *current) onHeaderGroupElement51(element interface{}) (interface{}, error) { return element, nil } -func (p *parser) callonSpecialCharactersGroup49() (interface{}, error) { +func (p *parser) callonHeaderGroupElement51() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSpecialCharactersGroup49(stack["element"]) + return p.cur.onHeaderGroupElement51(stack["element"]) } -func (c *current) onSpecialCharactersGroup108() (interface{}, error) { +func (c *current) onHeaderGroupElement110() (interface{}, error) { return types.NewStringElement(string(c.text)) } -func (p *parser) callonSpecialCharactersGroup108() (interface{}, error) { +func (p *parser) callonHeaderGroupElement110() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSpecialCharactersGroup108() + return p.cur.onHeaderGroupElement110() } -func (c *current) onSpecialCharactersGroup30(id, label interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, label) +func (c *current) onHeaderGroupElement36(elements interface{}) (interface{}, error) { + return types.Reduce(elements, strings.TrimSpace), nil } -func (p *parser) callonSpecialCharactersGroup30() (interface{}, error) { +func (p *parser) callonHeaderGroupElement36() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSpecialCharactersGroup30(stack["id"], stack["label"]) + return p.cur.onHeaderGroupElement36(stack["elements"]) } -func (c *current) onSpecialCharactersGroup115() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ - return string(c.text), nil +func (c *current) onHeaderGroupElement32(id interface{}) (interface{}, error) { + return types.NewIDAttribute(id) } -func (p *parser) callonSpecialCharactersGroup115() (interface{}, error) { +func (p *parser) callonHeaderGroupElement32() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSpecialCharactersGroup115() + return p.cur.onHeaderGroupElement32(stack["id"]) } -func (c *current) onSpecialCharactersGroup111(id interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, nil) +func (c *current) onHeaderGroupElement114() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonSpecialCharactersGroup111() (interface{}, error) { +func (p *parser) callonHeaderGroupElement114() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSpecialCharactersGroup111(stack["id"]) + return p.cur.onHeaderGroupElement114() } -func (c *current) onSpecialCharactersGroup28() (interface{}, error) { - return types.NewStringElement(string(c.text)) - +func (c *current) onHeaderGroupElement26(id interface{}) (interface{}, error) { + return id, nil } -func (p *parser) callonSpecialCharactersGroup28() (interface{}, error) { +func (p *parser) callonHeaderGroupElement26() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSpecialCharactersGroup28() + return p.cur.onHeaderGroupElement26(stack["id"]) } -func (c *current) onSpecialCharactersGroup119() (interface{}, error) { - return types.NewSpecialCharacter(string(c.text)) +func (c *current) onHeaderGroupElement119() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonSpecialCharactersGroup119() (interface{}, error) { +func (p *parser) callonHeaderGroupElement119() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSpecialCharactersGroup119() + return p.cur.onHeaderGroupElement119() } -func (c *current) onSpecialCharactersGroup23(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onHeaderGroupElement124() (bool, error) { + return c.isSubstitutionEnabled(SpecialCharacters), nil } -func (p *parser) callonSpecialCharactersGroup23() (interface{}, error) { +func (p *parser) callonHeaderGroupElement124() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSpecialCharactersGroup23(stack["element"]) + return p.cur.onHeaderGroupElement124() } -func (c *current) onSpecialCharactersGroup125() (interface{}, error) { +func (c *current) onHeaderGroupElement133() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ return string(c.text), nil + } -func (p *parser) callonSpecialCharactersGroup125() (interface{}, error) { +func (p *parser) callonHeaderGroupElement133() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSpecialCharactersGroup125() + return p.cur.onHeaderGroupElement133() } -func (c *current) onSpecialCharactersGroup121(ref interface{}) (interface{}, error) { - return types.NewElementPlaceHolder(ref.(string)) +func (c *current) onHeaderGroupElement137() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonSpecialCharactersGroup121() (interface{}, error) { +func (p *parser) callonHeaderGroupElement137() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSpecialCharactersGroup121(stack["ref"]) + return p.cur.onHeaderGroupElement137() } -func (c *current) onSpecialCharactersGroup129() (interface{}, error) { - +func (c *current) onHeaderGroupElement143() (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) callonSpecialCharactersGroup129() (interface{}, error) { +func (p *parser) callonHeaderGroupElement143() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSpecialCharactersGroup129() + return p.cur.onHeaderGroupElement143() } -func (c *current) onSpecialCharactersGroup1(elements interface{}) (interface{}, error) { +func (c *current) onHeaderGroupElement152() (interface{}, error) { + return string(c.text), nil - return types.NewInlineElements(elements) +} + +func (p *parser) callonHeaderGroupElement152() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onHeaderGroupElement152() +} + +func (c *current) onHeaderGroupElement148(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonSpecialCharactersGroup1() (interface{}, error) { +func (p *parser) callonHeaderGroupElement148() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSpecialCharactersGroup1(stack["elements"]) + return p.cur.onHeaderGroupElement148(stack["name"]) } -func (c *current) onVerbatimGroup11() (interface{}, error) { - return string(c.text), nil +func (c *current) onHeaderGroupElement158() (interface{}, error) { + + return types.NewStringElement(string(c.text)) } -func (p *parser) callonVerbatimGroup11() (interface{}, error) { +func (p *parser) callonHeaderGroupElement158() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onVerbatimGroup11() + return p.cur.onHeaderGroupElement158() } -func (c *current) onVerbatimGroup16() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onHeaderGroupElement129(id, label interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, label) + } -func (p *parser) callonVerbatimGroup16() (interface{}, error) { +func (p *parser) callonHeaderGroupElement129() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onVerbatimGroup16() + return p.cur.onHeaderGroupElement129(stack["id"], stack["label"]) } -func (c *current) onVerbatimGroup6() (interface{}, error) { - return types.NewStringElement(string(c.text)) +func (c *current) onHeaderGroupElement165() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ + return string(c.text), nil } -func (p *parser) callonVerbatimGroup6() (interface{}, error) { +func (p *parser) callonHeaderGroupElement165() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onVerbatimGroup6() + return p.cur.onHeaderGroupElement165() } -func (c *current) onVerbatimGroup26() (bool, error) { - return c.isSubstitutionEnabled(SpecialCharacters) +func (c *current) onHeaderGroupElement161(id interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, nil) } -func (p *parser) callonVerbatimGroup26() (bool, error) { +func (p *parser) callonHeaderGroupElement161() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onVerbatimGroup26() + return p.cur.onHeaderGroupElement161(stack["id"]) } -func (c *current) onVerbatimGroup35() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ - return string(c.text), nil +func (c *current) onHeaderGroupElement127() (interface{}, error) { + return types.NewStringElement(string(c.text)) } -func (p *parser) callonVerbatimGroup35() (interface{}, error) { +func (p *parser) callonHeaderGroupElement127() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onVerbatimGroup35() + return p.cur.onHeaderGroupElement127() } -func (c *current) onVerbatimGroup39() (interface{}, error) { - return string(c.text), nil +func (c *current) onHeaderGroupElement169() (interface{}, error) { + return types.NewSpecialCharacter(string(c.text)) } -func (p *parser) callonVerbatimGroup39() (interface{}, error) { +func (p *parser) callonHeaderGroupElement169() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onVerbatimGroup39() + return p.cur.onHeaderGroupElement169() } -func (c *current) onVerbatimGroup45() (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) onHeaderGroupElement122(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonVerbatimGroup45() (interface{}, error) { +func (p *parser) callonHeaderGroupElement122() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onVerbatimGroup45() + return p.cur.onHeaderGroupElement122(stack["element"]) } -func (c *current) onVerbatimGroup52() (bool, error) { - return c.isSubstitutionEnabled(Attributes) +func (c *current) onHeaderGroupElement176() (bool, error) { + return c.isSubstitutionEnabled(Attributes), nil } -func (p *parser) callonVerbatimGroup52() (bool, error) { +func (p *parser) callonHeaderGroupElement176() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onVerbatimGroup52() + return p.cur.onHeaderGroupElement176() } -func (c *current) onVerbatimGroup59() (interface{}, error) { +func (c *current) onHeaderGroupElement183() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonVerbatimGroup59() (interface{}, error) { +func (p *parser) callonHeaderGroupElement183() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onVerbatimGroup59() + return p.cur.onHeaderGroupElement183() } -func (c *current) onVerbatimGroup71() (interface{}, error) { +func (c *current) onHeaderGroupElement195() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonVerbatimGroup71() (interface{}, error) { +func (p *parser) callonHeaderGroupElement195() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onVerbatimGroup71() + return p.cur.onHeaderGroupElement195() } -func (c *current) onVerbatimGroup73() (interface{}, error) { +func (c *current) onHeaderGroupElement197() (interface{}, error) { return strconv.Atoi(string(c.text)) } -func (p *parser) callonVerbatimGroup73() (interface{}, error) { +func (p *parser) callonHeaderGroupElement197() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onVerbatimGroup73() + return p.cur.onHeaderGroupElement197() } -func (c *current) onVerbatimGroup66(start interface{}) (interface{}, error) { +func (c *current) onHeaderGroupElement190(start interface{}) (interface{}, error) { return start, nil } -func (p *parser) callonVerbatimGroup66() (interface{}, error) { +func (p *parser) callonHeaderGroupElement190() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onVerbatimGroup66(stack["start"]) + return p.cur.onHeaderGroupElement190(stack["start"]) } -func (c *current) onVerbatimGroup55(name, start interface{}) (interface{}, error) { +func (c *current) onHeaderGroupElement179(name, start interface{}) (interface{}, error) { return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) } -func (p *parser) callonVerbatimGroup55() (interface{}, error) { +func (p *parser) callonHeaderGroupElement179() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onVerbatimGroup55(stack["name"], stack["start"]) + return p.cur.onHeaderGroupElement179(stack["name"], stack["start"]) } -func (c *current) onVerbatimGroup81() (interface{}, error) { +func (c *current) onHeaderGroupElement205() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonVerbatimGroup81() (interface{}, error) { +func (p *parser) callonHeaderGroupElement205() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onVerbatimGroup81() + return p.cur.onHeaderGroupElement205() } -func (c *current) onVerbatimGroup93() (interface{}, error) { +func (c *current) onHeaderGroupElement217() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonVerbatimGroup93() (interface{}, error) { +func (p *parser) callonHeaderGroupElement217() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onVerbatimGroup93() + return p.cur.onHeaderGroupElement217() } -func (c *current) onVerbatimGroup95() (interface{}, error) { +func (c *current) onHeaderGroupElement219() (interface{}, error) { return strconv.Atoi(string(c.text)) } -func (p *parser) callonVerbatimGroup95() (interface{}, error) { +func (p *parser) callonHeaderGroupElement219() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onVerbatimGroup95() + return p.cur.onHeaderGroupElement219() } -func (c *current) onVerbatimGroup88(start interface{}) (interface{}, error) { +func (c *current) onHeaderGroupElement212(start interface{}) (interface{}, error) { return start, nil } -func (p *parser) callonVerbatimGroup88() (interface{}, error) { +func (p *parser) callonHeaderGroupElement212() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onVerbatimGroup88(stack["start"]) + return p.cur.onHeaderGroupElement212(stack["start"]) } -func (c *current) onVerbatimGroup77(name, start interface{}) (interface{}, error) { +func (c *current) onHeaderGroupElement201(name, start interface{}) (interface{}, error) { return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) } -func (p *parser) callonVerbatimGroup77() (interface{}, error) { +func (p *parser) callonHeaderGroupElement201() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onVerbatimGroup77(stack["name"], stack["start"]) + return p.cur.onHeaderGroupElement201(stack["name"], stack["start"]) } -func (c *current) onVerbatimGroup103() (interface{}, error) { +func (c *current) onHeaderGroupElement227() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonVerbatimGroup103() (interface{}, error) { +func (p *parser) callonHeaderGroupElement227() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onVerbatimGroup103() + return p.cur.onHeaderGroupElement227() } -func (c *current) onVerbatimGroup99(name interface{}) (interface{}, error) { +func (c *current) onHeaderGroupElement223(name interface{}) (interface{}, error) { return types.NewAttributeSubstitution(name.(string), string(c.text)) + } -func (p *parser) callonVerbatimGroup99() (interface{}, error) { +func (p *parser) callonHeaderGroupElement223() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onVerbatimGroup99(stack["name"]) + return p.cur.onHeaderGroupElement223(stack["name"]) } -func (c *current) onVerbatimGroup50(element interface{}) (interface{}, error) { +func (c *current) onHeaderGroupElement174(element interface{}) (interface{}, error) { return element, nil } -func (p *parser) callonVerbatimGroup50() (interface{}, error) { +func (p *parser) callonHeaderGroupElement174() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onVerbatimGroup50(stack["element"]) + return p.cur.onHeaderGroupElement174(stack["element"]) } -func (c *current) onVerbatimGroup109() (interface{}, error) { +func (c *current) onHeaderGroupElement237() (interface{}, error) { + return string(c.text), nil +} - return types.NewStringElement(string(c.text)) +func (p *parser) callonHeaderGroupElement237() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onHeaderGroupElement237() +} +func (c *current) onHeaderGroupElement233(ref interface{}) (interface{}, error) { + return types.NewElementPlaceHolder(ref.(string)) } -func (p *parser) callonVerbatimGroup109() (interface{}, error) { +func (p *parser) callonHeaderGroupElement233() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onVerbatimGroup109() + return p.cur.onHeaderGroupElement233(stack["ref"]) } -func (c *current) onVerbatimGroup31(id, label interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, label) +func (c *current) onHeaderGroupElement243() (bool, error) { + return c.isSubstitutionEnabled(Replacements), nil } -func (p *parser) callonVerbatimGroup31() (interface{}, error) { +func (p *parser) callonHeaderGroupElement243() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onVerbatimGroup31(stack["id"], stack["label"]) + return p.cur.onHeaderGroupElement243() } -func (c *current) onVerbatimGroup116() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ - return string(c.text), nil +func (c *current) onHeaderGroupElement246() (interface{}, error) { + return types.NewStringElement("\u2019") } -func (p *parser) callonVerbatimGroup116() (interface{}, error) { +func (p *parser) callonHeaderGroupElement246() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onVerbatimGroup116() + return p.cur.onHeaderGroupElement246() } -func (c *current) onVerbatimGroup112(id interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, nil) +func (c *current) onHeaderGroupElement248() (interface{}, error) { + return types.NewStringElement("\u00a9") } -func (p *parser) callonVerbatimGroup112() (interface{}, error) { +func (p *parser) callonHeaderGroupElement248() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onVerbatimGroup112(stack["id"]) + return p.cur.onHeaderGroupElement248() } -func (c *current) onVerbatimGroup29() (interface{}, error) { - return types.NewStringElement(string(c.text)) +func (c *current) onHeaderGroupElement250() (interface{}, error) { + return types.NewStringElement("\u2122") } -func (p *parser) callonVerbatimGroup29() (interface{}, error) { +func (p *parser) callonHeaderGroupElement250() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onVerbatimGroup29() + return p.cur.onHeaderGroupElement250() } -func (c *current) onVerbatimGroup120() (interface{}, error) { - return types.NewSpecialCharacter(string(c.text)) +func (c *current) onHeaderGroupElement252() (interface{}, error) { + return types.NewStringElement("\u00ae") } -func (p *parser) callonVerbatimGroup120() (interface{}, error) { +func (p *parser) callonHeaderGroupElement252() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onVerbatimGroup120() + return p.cur.onHeaderGroupElement252() +} + +func (c *current) onHeaderGroupElement254() (interface{}, error) { + return types.NewStringElement("\u2026\u200b") + } -func (c *current) onVerbatimGroup24(element interface{}) (interface{}, error) { +func (p *parser) callonHeaderGroupElement254() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onHeaderGroupElement254() +} + +func (c *current) onHeaderGroupElement256() (interface{}, error) { + return types.NewStringElement(string(c.text[:1]) + "\u2019") + +} + +func (p *parser) callonHeaderGroupElement256() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onHeaderGroupElement256() +} + +func (c *current) onHeaderGroupElement241(element interface{}) (interface{}, error) { return element, nil } -func (p *parser) callonVerbatimGroup24() (interface{}, error) { +func (p *parser) callonHeaderGroupElement241() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onVerbatimGroup24(stack["element"]) + return p.cur.onHeaderGroupElement241(stack["element"]) } -func (c *current) onVerbatimGroup126() (interface{}, error) { +func (c *current) onHeaderGroupElement266() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ return string(c.text), nil + } -func (p *parser) callonVerbatimGroup126() (interface{}, error) { +func (p *parser) callonHeaderGroupElement266() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onVerbatimGroup126() + return p.cur.onHeaderGroupElement266() } -func (c *current) onVerbatimGroup122(ref interface{}) (interface{}, error) { - return types.NewElementPlaceHolder(ref.(string)) +func (c *current) onHeaderGroupElement262(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) callonVerbatimGroup122() (interface{}, error) { +func (p *parser) callonHeaderGroupElement262() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onVerbatimGroup122(stack["ref"]) + return p.cur.onHeaderGroupElement262(stack["id"]) } -func (c *current) onVerbatimGroup130() (interface{}, error) { +func (c *current) onHeaderGroupElement271() (interface{}, error) { return types.NewStringElement(string(c.text)) } -func (p *parser) callonVerbatimGroup130() (interface{}, error) { +func (p *parser) callonHeaderGroupElement271() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onVerbatimGroup130() + return p.cur.onHeaderGroupElement271() } -func (c *current) onVerbatimGroup1(elements interface{}) (interface{}, error) { - - return types.NewInlineElements(elements) +func (c *current) onHeaderGroupElement1(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonVerbatimGroup1() (interface{}, error) { +func (p *parser) callonHeaderGroupElement1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onVerbatimGroup1(stack["elements"]) + return p.cur.onHeaderGroupElement1(stack["element"]) } func (c *current) onInlineMacro3() (bool, error) { - return c.isSubstitutionEnabled(Macros) + return c.isSubstitutionEnabled(Macros), nil } @@ -104250,7 +79648,7 @@ func (p *parser) callonInlineMacro1() (interface{}, error) { } func (c *current) onInlinePassthrough3() (bool, error) { - return c.isSubstitutionEnabled(InlinePassthroughs) + return c.isSubstitutionEnabled(InlinePassthroughs), nil } @@ -104431,7 +79829,7 @@ func (p *parser) callonInlinePassthrough1() (interface{}, error) { } func (c *current) onQuote3() (bool, error) { - return c.isSubstitutionEnabled(Quotes) + return c.isSubstitutionEnabled(Quotes), nil } @@ -104705,38 +80103,38 @@ func (p *parser) callonInlineUserMacro1() (interface{}, error) { return p.cur.onInlineUserMacro1(stack["name"], stack["value"], stack["attributes"]) } -func (c *current) onFileLocation9() (interface{}, error) { +func (c *current) onFileLocation12() (interface{}, error) { // not supported for now: EOL, space, "{", "[", "]" return types.NewStringElement(string(c.text)) } -func (p *parser) callonFileLocation9() (interface{}, error) { +func (p *parser) callonFileLocation12() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileLocation9() + return p.cur.onFileLocation12() } -func (c *current) onFileLocation14() (bool, error) { - return c.isSubstitutionEnabled(Attributes) +func (c *current) onFileLocation22() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonFileLocation14() (bool, error) { +func (p *parser) callonFileLocation22() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileLocation14() + return p.cur.onFileLocation22() } -func (c *current) onFileLocation21() (interface{}, error) { - return string(c.text), nil +func (c *current) onFileLocation26() (bool, error) { + return c.isSubstitutionEnabled(Attributes), nil } -func (p *parser) callonFileLocation21() (interface{}, error) { +func (p *parser) callonFileLocation26() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileLocation21() + return p.cur.onFileLocation26() } func (c *current) onFileLocation33() (interface{}, error) { @@ -104750,415 +80148,148 @@ func (p *parser) callonFileLocation33() (interface{}, error) { return p.cur.onFileLocation33() } -func (c *current) onFileLocation35() (interface{}, error) { - - return strconv.Atoi(string(c.text)) - -} - -func (p *parser) callonFileLocation35() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onFileLocation35() -} - -func (c *current) onFileLocation28(start interface{}) (interface{}, error) { - return start, nil - -} - -func (p *parser) callonFileLocation28() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onFileLocation28(stack["start"]) -} - -func (c *current) onFileLocation17(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) -} - -func (p *parser) callonFileLocation17() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onFileLocation17(stack["name"], stack["start"]) -} - -func (c *current) onFileLocation43() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonFileLocation43() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onFileLocation43() -} - -func (c *current) onFileLocation55() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonFileLocation55() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onFileLocation55() -} - -func (c *current) onFileLocation57() (interface{}, error) { - - return strconv.Atoi(string(c.text)) - -} - -func (p *parser) callonFileLocation57() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onFileLocation57() -} - -func (c *current) onFileLocation50(start interface{}) (interface{}, error) { - return start, nil - -} - -func (p *parser) callonFileLocation50() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onFileLocation50(stack["start"]) -} - -func (c *current) onFileLocation39(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) -} - -func (p *parser) callonFileLocation39() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onFileLocation39(stack["name"], stack["start"]) -} - -func (c *current) onFileLocation65() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonFileLocation65() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onFileLocation65() -} - -func (c *current) onFileLocation61(name interface{}) (interface{}, error) { - - return types.NewAttributeSubstitution(name.(string), string(c.text)) -} - -func (p *parser) callonFileLocation61() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onFileLocation61(stack["name"]) -} - -func (c *current) onFileLocation12(element interface{}) (interface{}, error) { - return element, nil - -} - -func (p *parser) callonFileLocation12() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onFileLocation12(stack["element"]) -} - -func (c *current) onFileLocation73() (bool, error) { - return c.isSubstitutionEnabled(SpecialCharacters) - -} - -func (p *parser) callonFileLocation73() (bool, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onFileLocation73() -} - -func (c *current) onFileLocation82() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ - return string(c.text), nil - -} - -func (p *parser) callonFileLocation82() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onFileLocation82() -} - -func (c *current) onFileLocation86() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonFileLocation86() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onFileLocation86() -} - -func (c *current) onFileLocation92() (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) callonFileLocation92() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onFileLocation92() -} - -func (c *current) onFileLocation99() (bool, error) { - return c.isSubstitutionEnabled(Attributes) - -} - -func (p *parser) callonFileLocation99() (bool, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onFileLocation99() -} - -func (c *current) onFileLocation106() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonFileLocation106() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onFileLocation106() -} - -func (c *current) onFileLocation118() (interface{}, error) { +func (c *current) onFileLocation45() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonFileLocation118() (interface{}, error) { +func (p *parser) callonFileLocation45() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileLocation118() + return p.cur.onFileLocation45() } -func (c *current) onFileLocation120() (interface{}, error) { +func (c *current) onFileLocation47() (interface{}, error) { return strconv.Atoi(string(c.text)) } -func (p *parser) callonFileLocation120() (interface{}, error) { +func (p *parser) callonFileLocation47() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileLocation120() + return p.cur.onFileLocation47() } -func (c *current) onFileLocation113(start interface{}) (interface{}, error) { +func (c *current) onFileLocation40(start interface{}) (interface{}, error) { return start, nil } -func (p *parser) callonFileLocation113() (interface{}, error) { +func (p *parser) callonFileLocation40() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileLocation113(stack["start"]) + return p.cur.onFileLocation40(stack["start"]) } -func (c *current) onFileLocation102(name, start interface{}) (interface{}, error) { +func (c *current) onFileLocation29(name, start interface{}) (interface{}, error) { return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) } -func (p *parser) callonFileLocation102() (interface{}, error) { +func (p *parser) callonFileLocation29() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileLocation102(stack["name"], stack["start"]) + return p.cur.onFileLocation29(stack["name"], stack["start"]) } -func (c *current) onFileLocation128() (interface{}, error) { +func (c *current) onFileLocation55() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonFileLocation128() (interface{}, error) { +func (p *parser) callonFileLocation55() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileLocation128() + return p.cur.onFileLocation55() } -func (c *current) onFileLocation140() (interface{}, error) { +func (c *current) onFileLocation67() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonFileLocation140() (interface{}, error) { +func (p *parser) callonFileLocation67() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileLocation140() + return p.cur.onFileLocation67() } -func (c *current) onFileLocation142() (interface{}, error) { +func (c *current) onFileLocation69() (interface{}, error) { return strconv.Atoi(string(c.text)) } -func (p *parser) callonFileLocation142() (interface{}, error) { +func (p *parser) callonFileLocation69() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileLocation142() + return p.cur.onFileLocation69() } -func (c *current) onFileLocation135(start interface{}) (interface{}, error) { +func (c *current) onFileLocation62(start interface{}) (interface{}, error) { return start, nil } -func (p *parser) callonFileLocation135() (interface{}, error) { +func (p *parser) callonFileLocation62() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileLocation135(stack["start"]) + return p.cur.onFileLocation62(stack["start"]) } -func (c *current) onFileLocation124(name, start interface{}) (interface{}, error) { +func (c *current) onFileLocation51(name, start interface{}) (interface{}, error) { return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) } -func (p *parser) callonFileLocation124() (interface{}, error) { +func (p *parser) callonFileLocation51() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileLocation124(stack["name"], stack["start"]) + return p.cur.onFileLocation51(stack["name"], stack["start"]) } -func (c *current) onFileLocation150() (interface{}, error) { +func (c *current) onFileLocation77() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonFileLocation150() (interface{}, error) { +func (p *parser) callonFileLocation77() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileLocation150() + return p.cur.onFileLocation77() } -func (c *current) onFileLocation146(name interface{}) (interface{}, error) { +func (c *current) onFileLocation73(name interface{}) (interface{}, error) { return types.NewAttributeSubstitution(name.(string), string(c.text)) -} - -func (p *parser) callonFileLocation146() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onFileLocation146(stack["name"]) -} - -func (c *current) onFileLocation97(element interface{}) (interface{}, error) { - return element, nil - -} - -func (p *parser) callonFileLocation97() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onFileLocation97(stack["element"]) -} - -func (c *current) onFileLocation156() (interface{}, error) { - - return types.NewStringElement(string(c.text)) - -} - -func (p *parser) callonFileLocation156() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onFileLocation156() -} - -func (c *current) onFileLocation78(id, label interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, label) - -} - -func (p *parser) callonFileLocation78() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onFileLocation78(stack["id"], stack["label"]) -} - -func (c *current) onFileLocation163() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ - return string(c.text), nil - -} - -func (p *parser) callonFileLocation163() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onFileLocation163() -} - -func (c *current) onFileLocation159(id interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, nil) - -} - -func (p *parser) callonFileLocation159() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onFileLocation159(stack["id"]) -} - -func (c *current) onFileLocation76() (interface{}, error) { - return types.NewStringElement(string(c.text)) - -} - -func (p *parser) callonFileLocation76() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onFileLocation76() -} - -func (c *current) onFileLocation167() (interface{}, error) { - return types.NewSpecialCharacter(string(c.text)) } -func (p *parser) callonFileLocation167() (interface{}, error) { +func (p *parser) callonFileLocation73() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileLocation167() + return p.cur.onFileLocation73(stack["name"]) } -func (c *current) onFileLocation71(element interface{}) (interface{}, error) { +func (c *current) onFileLocation24(element interface{}) (interface{}, error) { return element, nil } -func (p *parser) callonFileLocation71() (interface{}, error) { +func (p *parser) callonFileLocation24() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileLocation71(stack["element"]) + return p.cur.onFileLocation24(stack["element"]) } -func (c *current) onFileLocation169() (interface{}, error) { +func (c *current) onFileLocation83() (interface{}, error) { return types.NewStringElement(string(c.text)) } -func (p *parser) callonFileLocation169() (interface{}, error) { +func (p *parser) callonFileLocation83() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileLocation169() + return p.cur.onFileLocation83() } func (c *current) onFileLocation5(elements interface{}) (interface{}, error) { @@ -105172,24 +80303,24 @@ func (p *parser) callonFileLocation5() (interface{}, error) { return p.cur.onFileLocation5(stack["elements"]) } -func (c *current) onFileLocation175() (interface{}, error) { +func (c *current) onFileLocation89() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonFileLocation175() (interface{}, error) { +func (p *parser) callonFileLocation89() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileLocation175() + return p.cur.onFileLocation89() } -func (c *current) onFileLocation171(ref interface{}) (interface{}, error) { +func (c *current) onFileLocation85(ref interface{}) (interface{}, error) { return types.NewElementPlaceHolder(ref.(string)) } -func (p *parser) callonFileLocation171() (interface{}, error) { +func (p *parser) callonFileLocation85() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileLocation171(stack["ref"]) + return p.cur.onFileLocation85(stack["ref"]) } func (c *current) onFileLocation1(path interface{}) (interface{}, error) { diff --git a/pkg/parser/parser.peg b/pkg/parser/parser.peg index e4578e91..a1fede4c 100644 --- a/pkg/parser/parser.peg +++ b/pkg/parser/parser.peg @@ -92,9 +92,9 @@ Ifeval <- "ifeval::" IfevalExpressionMember <- - ("\"" s:AttributeValueSubstitution "\"" { return s, nil }) - / ("'" s:AttributeValueSubstitution "'" { return s, nil }) - / (s:AttributeValueSubstitution { return s, nil }) + ("\"" s:(AttributeValueReference) "\"" { return s, nil }) + / ("'" s:(AttributeValueReference) "'" { return s, nil }) + / (s:(AttributeValueReference) { return s, nil }) / ("\"" w:([\pL0-9,?!;_-]+ { return string(c.text), nil}) "\"" { return w, nil }) / ("'" w:([\pL0-9,?!;_-]+ { return string(c.text), nil}) "'" { return w, nil }) / Integer @@ -263,7 +263,7 @@ DocumentFragment <- c.disableFrontMatterRule() // not allowed as soon as a single element is found c.disableDocumentHeaderRule(element) // not allowed anymore, based on element that was found - if element, ok := element.(types.BlockWithAttributes); ok && attributes != nil { + if element, ok := element.(types.WithAttributes); ok && attributes != nil { element.AddAttributes(attributes.(types.Attributes)) } return element, nil @@ -365,7 +365,7 @@ AttributeDeclarationValueElement <- return types.NewStringElement(string(c.text)) }) / Space - / AttributeSubstitution + / AttributeReference / ("{" { // standalone '{' return types.NewStringElement(string(c.text)) }) @@ -424,7 +424,7 @@ LegacyElementID <- return types.NewStringElement(string(c.text)) }) / ElementPlaceHolder - / AttributeSubstitution + / AttributeReference / ("{" { return types.NewStringElement(string(c.text)) }))+ { @@ -440,12 +440,12 @@ ShortHandTitle <- `.` title:( ![. ] // may not start with a dot or a space, to avoid confusion with list items or literal block delimiters elements:( ([^\r\n\uFFFD{]+ { - return types.NewStringElement(string(c.text)) + return string(c.text), nil }) - / ElementPlaceHolder - / AttributeSubstitution + // / ElementPlaceHolder + / AttributeValueReference / ("{" { - return types.NewStringElement(string(c.text)) + return string(c.text), nil }))+ { return types.Reduce(elements, strings.TrimSpace), nil } @@ -522,25 +522,27 @@ ShortHandOptionAttribute <- "%" option:(ShortHandAttributeValue) { // Shorthand Attribute Value. ShortHandAttributeValue <- - SingleQuotedAttributeRawValue - / DoubleQuotedAttributeRawValue + SingleQuotedAttributeValue + / DoubleQuotedAttributeValue / elements:( // unquoted shorthand value may include placeholders and substitutions but NOT comma, space, equal sign and dots // also, cannot be followed by an `=` sign ([^,=.%# \r\n\uFFFD{\]]+ { return types.NewStringElement(string(c.text)) }) - / ElementPlaceHolder - / AttributeSubstitution + // / ElementPlaceHolder + / AttributeReference / ("{" { return types.NewStringElement(string(c.text)) }) - )+ &(!(Space* "=")) { + )+ + &(!(Space* "=")) { return types.Reduce(elements, strings.TrimSpace), nil } + PositionalAttribute <- ( - value:(AttributeRawValue) (("," Space*)? / &"]") { // TODO: see if we can just use `((",")? / &"]")` instead (ie, no need to check for Space*) + value:(AttributeValue) (("," Space*)? / &"]") { // TODO: see if we can just use `((",")? / &"]")` instead (ie, no need to check for Space*) return types.NewPositionalAttribute(value) }) / @@ -556,7 +558,7 @@ PositionalAttribute <- ( return types.NewPositionalAttribute(nil) }) -NamedAttribute <- key:(NamedAttributeKey) "=" Space* value:(AttributeRawValue) ("," Space*)? { // TODO: include `,` or expect `]` +NamedAttribute <- key:(NamedAttributeKey) "=" Space* value:(AttributeValue) ("," Space*)? { // TODO: include `,` or expect `]` return types.NewNamedAttribute(key.(string), value) } @@ -565,28 +567,29 @@ NamedAttributeKey <- !Space [^\r\n=,\]]+ Space* { return strings.TrimSpace(string(c.text)), nil } -AttributeRawValue <- +AttributeValue <- value:( - SingleQuotedAttributeRawValue - / DoubleQuotedAttributeRawValue - / UnquotedAttributeRawValue + SingleQuotedAttributeValue + / DoubleQuotedAttributeValue + / UnquotedAttributeValue ) &(!(Space* "=")) { return value, nil } -SingleQuotedAttributeRawValue <- +SingleQuotedAttributeValue <- "'" !"`" // prevent entering when the value is a quoted string (eg: '`cookie`') - content:(SingleQuotedAttributeRawValueContent) + content:(SingleQuotedAttributeValueContent) "'" { return content, nil } -SingleQuotedAttributeRawValueContent <- +SingleQuotedAttributeValueContent <- elements:( Alphanums / Space - / AttributeSubstitution + / Quote + / AttributeReference / (`\'` { return types.NewStringElement(`'`) // escaped single quote }) @@ -600,17 +603,18 @@ SingleQuotedAttributeRawValueContent <- return types.Reduce(elements), nil } -DoubleQuotedAttributeRawValue <- +DoubleQuotedAttributeValue <- "\"" !"`" // prevent entering when the value is a quoted string (eg: "`cookie`") - content:(DoubleQuotedAttributeRawValueContent) + content:(DoubleQuotedAttributeValueContent) "\"" &(!(Space* "=")) { return content, nil } -DoubleQuotedAttributeRawValueContent <- +DoubleQuotedAttributeValueContent <- elements:( Alphanums / Space - / AttributeSubstitution + / Quote + / AttributeReference / (`\"` { return types.NewStringElement(`"`) // escaped double quote }) @@ -625,18 +629,20 @@ DoubleQuotedAttributeRawValueContent <- } // Unquoted Attribute Value, may include spaces but not on the first position -UnquotedAttributeRawValue <- +UnquotedAttributeValue <- // need to support value like `[.myrole1]_a_` in `a link to https://example.com[[.myrole1]_a_]` // so we need to count the `[` and `]` to balance !Space // can't start with a space (eg: can't have `[ cookie ]`) elements:( - ("[" UnquotedAttributeRawValue "]") // recursively within brackets (see comment above) - / ElementPlaceHolder - / AttributeSubstitution - / ([^=,\uFFFD\] ]+ { // not within brackets and stop on space + Quote // quotes can have their own attributes + / ("[" UnquotedAttributeValue "]") // recursively within brackets (see comment above) + // / ElementPlaceHolder + / ([^=,\uFFFD\]{ ]+ { // not within brackets and stop on space and `{` return string(c.text), nil }) / Space + / AttributeReference + / "{" )+ { return types.Reduce(elements, strings.TrimSpace), nil } @@ -644,21 +650,22 @@ UnquotedAttributeRawValue <- // ------------------------------------------------------------------------------------- // Attribute Substitution // ------------------------------------------------------------------------------------- -AttributeSubstitution <- +AttributeReference <- // check if enabled with the current substitution context &{ - return c.isSubstitutionEnabled(Attributes) + return c.isSubstitutionEnabled(Attributes), nil } - element:(CounterSubstitution / AttributeValueSubstitution) { + element:(CounterReference / AttributeValueReference) { return element, nil } -AttributeValueSubstitution <- "{" name:AttributeName "}" { - return types.NewAttributeSubstitution(name.(string), string(c.text)) -} - +AttributeValueReference <- + "{" name:AttributeName "}" { + return types.NewAttributeSubstitution(name.(string), string(c.text)) + } + // TODO: simplify the 'start' optional attribute -CounterSubstitution <- CounterSubstitution1 / CounterSubstitution2 +CounterReference <- CounterSubstitution1 / CounterSubstitution2 CounterSubstitution1 <- "{counter:" name:AttributeName start:(CounterStart)? "}" { return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) @@ -702,7 +709,7 @@ CrossReferenceLabel <- ( ([\pL0-9][^\r\n{<>]+ { // `{`, `>` and `>` characters are not allowed as they are used for attribute substitutions and cross-references return types.NewStringElement(string(c.text)) }) - / AttributeSubstitution + / AttributeValueReference / ("{" { return types.NewStringElement(string(c.text)) }) @@ -1091,7 +1098,7 @@ ElementPlaceHolder <- ElementPlaceHolderDelimiter ref:([0-9]+ { return string(c. // ----------------------------------------------------------------------------------------------------------------------- LineBreak <- &{ - return c.isPreceededBySpace(), nil + return c.isSubstitutionEnabled(PostReplacements) && c.isPreceededBySpace(), nil } "+" Space* &(EOL) { return types.NewLineBreak() @@ -1148,7 +1155,7 @@ InlineElement <- / !EOL ( SpecialCharacter / Quote - / AttributeSubstitution + / AttributeReference / InlineMacro / Symbol / ElementPlaceHolder // TODO: needed? @@ -1199,7 +1206,7 @@ ImageBlock <- } InlineImage <- "image:" !":" path:(Location) attributes:(InlineAttributes) { - return types.NewInlineImage(path.(*types.Location), attributes.(types.Attributes), c.globalStore["imagesdir"]) + return types.NewInlineImage(path.(*types.Location), attributes.(types.Attributes)) } // ------------------------------------------------------------------------------------------------------------------------------- @@ -1393,7 +1400,7 @@ ListElementContinuationElement <- // TODO: same as DelimitedBlockElement? / LiteralParagraph / ListContinuationParagraph // must be the last one... ) { - if element,ok := element.(types.BlockWithAttributes); ok && attributes != nil { + if element,ok := element.(types.WithAttributes); ok && attributes != nil { element.AddAttributes(attributes.(types.Attributes)) } // if log.IsLevelEnabled(log.DebugLevel) { @@ -1523,7 +1530,7 @@ LabeledListElement <- LabeledListElementTerm <- (!LabeledListElementSeparator !EOL .)+ { - return types.NewRawLine(string(c.text)) + return types.NewRawLine(strings.TrimSpace(string(c.text))) } LabeledListElementSeparator <- @@ -1565,7 +1572,7 @@ LabeledListElementDescription <- Callout <- // check if enabled with the current substitution context &{ - return c.isSubstitutionEnabled(Callouts) + return c.isSubstitutionEnabled(Callouts), nil } "<" ref:([0-9]+ { return strconv.Atoi(string(c.text)) }) ">" Space* &(EOL / Callout) { return types.NewCallout(ref.(int)) @@ -1647,10 +1654,10 @@ AdmonitionParagraph <- ParagraphRawLine <- content:([^\r\n]+ { - return string(c.text), nil + return strings.TrimRight(string(c.text), " \t"), nil // trim spaces and tabs }) &{ - return len(strings.TrimSpace(string(c.text))) > 0, nil + return len(strings.TrimSpace(content.(string))) > 0, nil } EOL { return types.NewRawLine(content.(string)) @@ -1761,7 +1768,7 @@ DoubleQuoteBoldTextElement <- BoldTextWord / Spaces // may start and end with spaces / Newline !Newline // 2 newlines split the paragraph - / AttributeSubstitution + / AttributeReference / SpecialCharacter / Symbol / InlineMacro @@ -1817,7 +1824,7 @@ SingleQuoteBoldTextElement <- BoldTextWord / Spaces / Newline !Newline // 2 newlines split the paragraph - / AttributeSubstitution + / AttributeReference / SpecialCharacter / Symbol / InlineMacro @@ -1886,7 +1893,7 @@ DoubleQuoteItalicTextElement <- ItalicTextWord / Spaces // may start and end with spaces / Newline !Newline // 2 newlines split the paragraph - / AttributeSubstitution + / AttributeReference / SpecialCharacter / Symbol / InlineMacro @@ -1941,7 +1948,7 @@ SingleQuoteItalicTextElement <- ItalicTextWord / Spaces / Newline !Newline // 2 newlines split the paragraph - / AttributeSubstitution + / AttributeReference / SpecialCharacter / Symbol / InlineMacro @@ -2009,7 +2016,7 @@ DoubleQuoteMonospaceTextElement <- MonospaceTextWord / Spaces // may start and end with spaces / Newline !Newline // 2 newlines split the paragraph - / AttributeSubstitution + / AttributeReference / SpecialCharacter / Symbol / InlineMacro @@ -2068,7 +2075,7 @@ SingleQuoteMonospaceTextElement <- Word / Spaces / Newline !Newline // 2 newlines split the paragraph - / AttributeSubstitution + / AttributeReference / SpecialCharacter / Symbol / InlineMacro @@ -2138,7 +2145,7 @@ DoubleQuoteMarkedTextElement <- // may start and end with spaces MarkedTextWord / Spaces // may start and end with spaces / Newline !Newline // 2 newlines split the paragraph - / AttributeSubstitution + / AttributeReference / SpecialCharacter / Symbol / InlineMacro @@ -2195,7 +2202,7 @@ SingleQuoteMarkedTextElement <- MarkedTextWord / Spaces / Newline !Newline // 2 newlines split the paragraph - / AttributeSubstitution + / AttributeReference / SpecialCharacter / Symbol / InlineMacro @@ -2318,7 +2325,7 @@ SingleQuotedStringElement <- QuotedStringWord / Space !SingleQuoteStringEnd / Newline !Newline // 2 newlines split the paragraph - / AttributeSubstitution + / AttributeReference / SpecialCharacter / InlineMacro / LineBreak !SingleQuoteStringEnd @@ -2363,7 +2370,7 @@ DoubleQuotedStringElement <- / Space !DoubleQuoteStringEnd / Newline !Newline // 2 newlines split the paragraph / LineBreak !SingleQuoteStringEnd - / AttributeSubstitution + / AttributeReference / SpecialCharacter / InlineMacro / QuotedTextInDoubleQuotedString @@ -2423,30 +2430,30 @@ SectionTitle <- [^\r\n]+ { // can't have empty title, that may collide with exam // Substitutions // ------------------------------------------------------------------------------------- -// Substitution group for 'attributes' only -AttributesGroup <- elements:( - Alphanums - / Space - / SpecialCharacter - / Quote - / InlinePassthrough - / AttributeSubstitution - / ElementPlaceHolder // needed when parsing a second time, after first pass returned attribute substitutions - / AnyChar)+ EOF { - return types.NewInlineElements(elements) - } - -// Substitution group element attributes -ElementAttributesGroup <- elements:( - InlineWord - / Space - / AttributeSubstitution - / Quote - / SpecialCharacter - / ElementPlaceHolder // needed when parsing a second time, after first pass returned attribute substitutions - / AnyChar)+ EOF { - return types.NewInlineElements(elements) - } +Substitutions <- // TODO: rename to `NormalGroup` + elements:( + !EOF + element:( + InlineWord + / Space + / Newline + / ElementPlaceHolder // needed when parsing a second time, after first pass returned attribute substitutions + / LineBreak + / Punctuation + / Quote + / InlinePassthrough + / InlineMacro // must be before 'specialcharacter' (because of 'crossreference') + / Callout // must be placed before SpecialCharacter + / SpecialCharacter + / AttributeReference + / Replacement + / AnyChar) { + c.trackSpaceSuffix(element) + return element, nil + } + )+ EOF { + return types.NewInlineElements(elements) + } // Default substitutions for Section Titles HeaderGroup <- @@ -2465,7 +2472,7 @@ HeaderGroupElement <- / Quote / Link / InlineIcon - / AttributeSubstitution + / AttributeReference / ElementPlaceHolder // needed when parsing a second time, after first pass returned attribute substitutions / Replacement / InlineAnchor // must be after LegacyElementID @@ -2474,116 +2481,10 @@ HeaderGroupElement <- return element, nil } -// Substitution group for 'macros' only -MacrosGroup <- elements:( - InlineWord - / InlineMacro - / ElementPlaceHolder // needed when parsing a second time, after first pass returned attribute substitutions - / AnyChar)+ EOF { - return types.NewInlineElements(elements) - } - -// TODO: do we really need a grammar rule? can't we just skip substitutions? -// The 'none' substitution -NoneGroup <- elements:(NoneGroupElement)+ EOF { - return types.NewInlineElements(elements) - } - -NoneGroupElement <- - !EOF - element:( - InlineWord - / ElementPlaceHolder // needed when parsing a second time, after first pass returned attribute substitutions - / AnyChar)+ EOF { - return element, nil - } - -// Default substitutions for Paragrapghs -// TODO: extract the substitutionContext once and check every rule choice here. Will also avoid setting "fake" context for BlockAttributes, SectionTitle, etc. -NormalGroup <- - elements:(NormalGroupElement)+ EOF { - c.resetSpaceSuffixTracking() - return types.NewInlineElements(elements) - } - -NormalGroupElement <- - !EOF - element:( - InlineWord - / Space - / Newline - / ElementPlaceHolder // needed when parsing a second time, after first pass returned attribute substitutions - / LineBreak - / Punctuation - / Quote - / InlinePassthrough - / InlineMacro // must be before 'specialcharacter' (because of 'crossreference') - / SpecialCharacter - / AttributeSubstitution - / Symbol - / AnyChar) { - c.trackSpaceSuffix(element) - return element, nil - } -PostReplacementsGroup <- - elements:(PostReplacementsGroupElement)+ EOF { - c.resetSpaceSuffixTracking() - return types.NewInlineElements(elements) - } - -PostReplacementsGroupElement <- - !EOF - element:( - InlineWord - / Space - / LineBreak - / Newline - / ElementPlaceHolder // needed when parsing a second time, after first pass returned attribute substitutions - / AnyChar) { - c.trackSpaceSuffix(element) - return element, nil - } - -// Substitution group for 'quotes' only -QuotesGroup <- elements:( - InlineWord - / Quote - / ElementPlaceHolder // needed when parsing a second time, after first pass returned attribute substitutions - / AnyChar)+ EOF { - return types.NewInlineElements(elements) - } - -// Substitution group for 'replacements' only -ReplacementsGroup <- elements:( - InlineWord - / Replacement - / ElementPlaceHolder // needed when parsing a second time, after first pass returned attribute substitutions - / AnyChar)+ EOF { - return types.NewInlineElements(elements) - } - -// Substitution group for 'specialcharacters' (or 'specialchars') only -SpecialCharactersGroup <- elements:( - InlineWord - / SpecialCharacter - / ElementPlaceHolder // needed when parsing a second time, after first pass returned attribute substitutions - / AnyChar)+ EOF { - return types.NewInlineElements(elements) - } - -VerbatimGroup <- elements:( - InlineWord - / Callout // must be placed before SpecialCharacter - / SpecialCharacter - / ElementPlaceHolder // needed when parsing a second time, after first pass returned attribute substitutions - / AnyChar)+ EOF { - return types.NewInlineElements(elements) - } - InlineMacro <- // check if enabled with the current substitution context &{ - return c.isSubstitutionEnabled(Macros) + return c.isSubstitutionEnabled(Macros), nil } element:( InlineIcon @@ -2603,7 +2504,7 @@ InlineMacro <- InlinePassthrough <- // check if enabled with the current substitution context &{ - return c.isSubstitutionEnabled(InlinePassthroughs) + return c.isSubstitutionEnabled(InlinePassthroughs), nil } element:( TriplePlusPassthrough / SinglePlusPassthrough / PassthroughMacro @@ -2614,7 +2515,7 @@ InlinePassthrough <- Quote <- // check if enabled with the current substitution context &{ - return c.isSubstitutionEnabled(Quotes) + return c.isSubstitutionEnabled(Quotes), nil } element:( QuotedText @@ -2625,7 +2526,7 @@ Quote <- Replacement <- // check if enabled with the current substitution context &{ - return c.isSubstitutionEnabled(Replacements) + return c.isSubstitutionEnabled(Replacements), nil } element:( Symbol @@ -2636,7 +2537,7 @@ Replacement <- SpecialCharacter <- // check if enabled with the current substitution context &{ - return c.isSubstitutionEnabled(SpecialCharacters) + return c.isSubstitutionEnabled(SpecialCharacters), nil } element:( // if we have a InternalCrossReference we just return a StringElement. @@ -2860,7 +2761,7 @@ Alphanums <- [\pL0-9]+ { Word <- // very straightforward content: alphanums followed by attached single quote delimiter and more characters // (in this case, the quoted text delimiters are intepreted as regular characters) - // then followed by spaces but not the "+" signs because it needs a heading space to become a LineBreak element + // then followed by spaces but not the "+" signs because it needs a leading space to become a LineBreak element [\pL0-9]+ &([\r\n ,\]] / EOF) { return types.NewStringElement(string(c.text)) } / [\pL0-9]+ ([=*_`] [\pL0-9]+)+ { // allow ` @@ -2892,24 +2793,33 @@ Location <- scheme:(Scheme)? path:(Filename / ElementPlaceHolder)+ { return types.NewLocation(scheme, path.([]interface{})) } -LocationWithScheme <- !"[" scheme:(Scheme) path:(Filename / ElementPlaceHolder)+ { +// LocationWithScheme <- !"[" scheme:(Scheme) path:(Filename / ElementPlaceHolder)+ { +// return types.NewLocation(scheme, path.([]interface{})) +// } +LocationWithScheme <- !"[" scheme:(Scheme) path:(Filename)+ { return types.NewLocation(scheme, path.([]interface{})) } -Filename <- elements:( - ([^\r\n[\]\uFFFD&<>{ ])+ { // not supported for now: EOL, space, "{", "[", "]" - return types.NewStringElement(string(c.text)) - } - / AttributeSubstitution - / SpecialCharacter - / "{" { - return types.NewStringElement(string(c.text)) - })+ { +Scheme <- "http://" / "https://" / "ftp://" / "irc://" / "mailto:" + +Filename <- + !"[" // quick escape + elements:( + // ([^\r\n[\]\uFFFD&<>{ ])+ { // not supported for now: EOL, space, "{", "[", "]" + // return types.NewStringElement(string(c.text)) + // } + ([^\r\n[\]\uFFFD{ ])+ { // not supported for now: EOL, space, "{", "[", "]" + return types.NewStringElement(string(c.text)) + } + / "." &(!(EOF / Space)) + / AttributeReference + // / SpecialCharacter + / "{" { + return types.NewStringElement(string(c.text)) + })+ { return types.NewInlineElements(elements.([]interface{})) } -Scheme <- "http://" / "https://" / "ftp://" / "irc://" / "mailto:" - Id <- [^[\]<>,]+ { // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ return string(c.text), nil } diff --git a/pkg/parser/q_a_list_test.go b/pkg/parser/q_a_list_test.go index cc94c46f..3c4a70b2 100644 --- a/pkg/parser/q_a_list_test.go +++ b/pkg/parser/q_a_list_test.go @@ -37,7 +37,7 @@ What is the answer to the Ultimate Question?:: 42` &types.Paragraph{ Elements: []interface{}{ &types.StringElement{ - // heading spaces are trimmed + // leading spaces are trimmed Content: "An implementation of the AsciiDoc processor in Golang.", }, }, @@ -86,7 +86,7 @@ What is the answer to the Ultimate Question?:: 42` types.AttrTitle: "Q&A", types.AttrStyle: "qanda", types.AttrID: "quiz", - types.AttrRoles: []interface{}{"role1", "role2"}, + types.AttrRoles: types.Roles{"role1", "role2"}, }, Elements: []types.ListElement{ &types.LabeledListElement{ @@ -98,7 +98,7 @@ What is the answer to the Ultimate Question?:: 42` &types.Paragraph{ Elements: []interface{}{ &types.StringElement{ - Content: "An implementation of the AsciiDoc processor in Golang.", // heading spaces are trimmed + Content: "An implementation of the AsciiDoc processor in Golang.", // leading spaces are trimmed }, }, }, diff --git a/pkg/parser/quoted_string_test.go b/pkg/parser/quoted_string_test.go index f4b4bb75..95fc6097 100644 --- a/pkg/parser/quoted_string_test.go +++ b/pkg/parser/quoted_string_test.go @@ -212,7 +212,7 @@ var _ = Describe("quoted strings", func() { &types.QuotedText{ Kind: types.SingleQuoteMarked, Attributes: types.Attributes{ - types.AttrRoles: []interface{}{"strikeout"}, + types.AttrRoles: types.Roles{"strikeout"}, }, Elements: []interface{}{ &types.StringElement{ @@ -397,9 +397,7 @@ var _ = Describe("quoted strings", func() { &types.InlineLink{ Location: &types.Location{ Scheme: "https://", - Path: []interface{}{ - &types.StringElement{Content: "www.example.com/a"}, - }, + Path: "www.example.com/a", }, Attributes: types.Attributes{ types.AttrInlineLinkText: []interface{}{ @@ -430,9 +428,7 @@ var _ = Describe("quoted strings", func() { &types.InlineLink{ Location: &types.Location{ Scheme: "https://", - Path: []interface{}{ - &types.StringElement{Content: "www.example.com/a"}, - }, + Path: "www.example.com/a", }, Attributes: types.Attributes{ types.AttrInlineLinkText: []interface{}{ @@ -466,9 +462,7 @@ var _ = Describe("quoted strings", func() { &types.InlineLink{ Location: &types.Location{ Scheme: "https://", - Path: []interface{}{ - &types.StringElement{Content: "www.example.com/a"}, - }, + Path: "www.example.com/a", }, Attributes: types.Attributes{ types.AttrInlineLinkText: []interface{}{ @@ -505,11 +499,7 @@ var _ = Describe("quoted strings", func() { &types.StringElement{Content: "a "}, &types.InlineImage{ Location: &types.Location{ - Path: []interface{}{ - &types.StringElement{ - Content: "foo.png", - }, - }, + Path: "foo.png", }, }, }, @@ -671,7 +661,7 @@ var _ = Describe("quoted strings", func() { &types.QuotedText{ Kind: types.SingleQuoteMarked, Attributes: types.Attributes{ - types.AttrRoles: []interface{}{"strikeout"}, + types.AttrRoles: types.Roles{"strikeout"}, }, Elements: []interface{}{ &types.StringElement{ @@ -857,9 +847,7 @@ var _ = Describe("quoted strings", func() { &types.InlineLink{ Location: &types.Location{ Scheme: "https://", - Path: []interface{}{ - &types.StringElement{Content: "www.example.com/a"}, - }, + Path: "www.example.com/a", }, Attributes: types.Attributes{ types.AttrInlineLinkText: []interface{}{ @@ -891,9 +879,7 @@ var _ = Describe("quoted strings", func() { &types.InlineLink{ Location: &types.Location{ Scheme: "https://", - Path: []interface{}{ - &types.StringElement{Content: "www.example.com/a"}, - }, + Path: "www.example.com/a", }, Attributes: types.Attributes{ types.AttrInlineLinkText: []interface{}{ @@ -925,9 +911,7 @@ var _ = Describe("quoted strings", func() { &types.InlineLink{ Location: &types.Location{ Scheme: "https://", - Path: []interface{}{ - &types.StringElement{Content: "www.example.com/a"}, - }, + Path: "www.example.com/a", }, Attributes: types.Attributes{ types.AttrInlineLinkText: []interface{}{ @@ -961,11 +945,7 @@ var _ = Describe("quoted strings", func() { &types.StringElement{Content: "a "}, &types.InlineImage{ Location: &types.Location{ - Path: []interface{}{ - &types.StringElement{ - Content: "foo.png", - }, - }, + Path: "foo.png", }, }, }, diff --git a/pkg/parser/quoted_text_test.go b/pkg/parser/quoted_text_test.go index a15246dd..734bb1a9 100644 --- a/pkg/parser/quoted_text_test.go +++ b/pkg/parser/quoted_text_test.go @@ -379,7 +379,7 @@ var _ = Describe("quoted texts", func() { &types.QuotedText{ Kind: types.SingleQuoteItalic, Attributes: types.Attributes{ - types.AttrRoles: []interface{}{ + types.AttrRoles: types.Roles{ "myrole", }, "and": "nothing_else", @@ -395,6 +395,30 @@ var _ = Describe("quoted texts", func() { Expect(ParseDocument(source)).To(MatchDocument(expected)) }) + It("with role attribute", func() { + source := "[myrole]*bold*" + expected := &types.Document{ + Elements: []interface{}{ + &types.Paragraph{ + Elements: []interface{}{ + &types.QuotedText{ + Kind: types.SingleQuoteBold, + Attributes: types.Attributes{ + types.AttrRoles: types.Roles{ + "myrole", + }, + }, + Elements: []interface{}{ + &types.StringElement{Content: "bold"}, + }, + }, + }, + }, + }, + } + Expect(ParseDocument(source)).To(MatchDocument(expected)) + }) + It("bold with delimiter within", func() { source := "Write result to file *OUT*FILE*." expected := &types.Document{ @@ -713,7 +737,7 @@ var _ = Describe("quoted texts", func() { &types.QuotedText{ Kind: types.DoubleQuoteBold, Attributes: types.Attributes{ - types.AttrRoles: []interface{}{ + types.AttrRoles: types.Roles{ "something ", // TODO: do we need to parse SpecialCharacters in inline attributes? }, }, @@ -1485,11 +1509,7 @@ var _ = Describe("quoted texts", func() { types.AttrInlineLinkText: "b", }, Location: &types.Location{ - Path: []interface{}{ - &types.StringElement{ - Content: "/", - }, - }, + Path: "/", }, }, }, @@ -1513,11 +1533,7 @@ var _ = Describe("quoted texts", func() { &types.StringElement{Content: "a "}, &types.InlineImage{ Location: &types.Location{ - Path: []interface{}{ - &types.StringElement{ - Content: "foo.png", - }, - }, + Path: "foo.png", }, }, }, @@ -1594,11 +1610,7 @@ var _ = Describe("quoted texts", func() { types.AttrInlineLinkText: "b", }, Location: &types.Location{ - Path: []interface{}{ - &types.StringElement{ - Content: "/", - }, - }, + Path: "/", }, }, }, @@ -1622,11 +1634,7 @@ var _ = Describe("quoted texts", func() { &types.StringElement{Content: "a "}, &types.InlineImage{ Location: &types.Location{ - Path: []interface{}{ - &types.StringElement{ - Content: "foo.png", - }, - }, + Path: "foo.png", }, }, }, @@ -1703,11 +1711,7 @@ var _ = Describe("quoted texts", func() { types.AttrInlineLinkText: "b", }, Location: &types.Location{ - Path: []interface{}{ - &types.StringElement{ - Content: "/", - }, - }, + Path: "/", }, }, }, @@ -1731,11 +1735,7 @@ var _ = Describe("quoted texts", func() { &types.StringElement{Content: "a "}, &types.InlineImage{ Location: &types.Location{ - Path: []interface{}{ - &types.StringElement{ - Content: "foo.png", - }, - }, + Path: "foo.png", }, }, }, @@ -2695,11 +2695,7 @@ var _ = Describe("quoted texts", func() { &types.StringElement{Content: "a "}, &types.InlineImage{ Location: &types.Location{ - Path: []interface{}{ - &types.StringElement{ - Content: "foo.png", - }, - }, + Path: "foo.png", }, }, }, @@ -2723,11 +2719,7 @@ var _ = Describe("quoted texts", func() { &types.StringElement{Content: "a "}, &types.InlineImage{ Location: &types.Location{ - Path: []interface{}{ - &types.StringElement{ - Content: "foo.png", - }, - }, + Path: "foo.png", }, }, }, @@ -2751,11 +2743,7 @@ var _ = Describe("quoted texts", func() { &types.StringElement{Content: "a "}, &types.InlineImage{ Location: &types.Location{ - Path: []interface{}{ - &types.StringElement{ - Content: "foo.png", - }, - }, + Path: "foo.png", }, }, }, diff --git a/pkg/parser/section_test.go b/pkg/parser/section_test.go index ed23452a..fa69ca63 100644 --- a/pkg/parser/section_test.go +++ b/pkg/parser/section_test.go @@ -1137,9 +1137,7 @@ and a paragraph` &types.InlineLink{ Location: &types.Location{ Scheme: "https://", - Path: []interface{}{ - &types.StringElement{Content: "foo.bar"}, - }, + Path: "foo.bar", }, }, } @@ -1830,7 +1828,8 @@ a paragraph` &types.StringElement{Content: "a header"}, }, Attributes: types.Attributes{ - types.AttrID: "custom_header", + types.AttrID: "custom_header", + types.AttrCustomID: true, }, }, &types.Section{ diff --git a/pkg/parser/table_test.go b/pkg/parser/table_test.go index 17b13ee5..bdfed868 100644 --- a/pkg/parser/table_test.go +++ b/pkg/parser/table_test.go @@ -192,7 +192,7 @@ var _ = Describe("tables", func() { It("table with title, headers and 1 line per cell", func() { source := `.table title |=== -|heading 1 |heading 2 +|header 1 |header 2 |row 1, column 1 |row 1, column 2 @@ -211,14 +211,14 @@ var _ = Describe("tables", func() { { Elements: []interface{}{ &types.StringElement{ - Content: "heading 1 ", + Content: "header 1 ", }, }, }, { Elements: []interface{}{ &types.StringElement{ - Content: "heading 2", + Content: "header 2", }, }, }, @@ -273,7 +273,7 @@ var _ = Describe("tables", func() { source := `.table title [#anchor.role1%autowidth.stretch] |=== -|heading 1 |heading 2 +|header 1 |header 2 |row 1, column 1 |row 1, column 2 @@ -286,8 +286,8 @@ var _ = Describe("tables", func() { &types.Table{ Attributes: types.Attributes{ types.AttrTitle: "table title", - types.AttrOptions: []interface{}{"autowidth"}, - types.AttrRoles: []interface{}{"role1", "stretch"}, + types.AttrOptions: types.Options{"autowidth"}, + types.AttrRoles: types.Roles{"role1", "stretch"}, types.AttrID: "anchor", }, Header: &types.TableRow{ @@ -295,14 +295,14 @@ var _ = Describe("tables", func() { { Elements: []interface{}{ &types.StringElement{ - Content: "heading 1 ", + Content: "header 1 ", }, }, }, { Elements: []interface{}{ &types.StringElement{ - Content: "heading 2", + Content: "header 2", }, }, }, @@ -465,7 +465,7 @@ var _ = Describe("tables", func() { Weight: 1, }, }, - types.AttrOptions: []interface{}{"header"}, + types.AttrOptions: types.Options{"header"}, }, Header: &types.TableRow{ Cells: []*types.TableCell{ @@ -614,7 +614,7 @@ var _ = Describe("tables", func() { Weight: 1, }, }, - types.AttrOptions: []interface{}{"header", "footer"}, + types.AttrOptions: types.Options{"header", "footer"}, }, Header: &types.TableRow{ Cells: []*types.TableCell{ diff --git a/pkg/parser/unordered_list_test.go b/pkg/parser/unordered_list_test.go index 51763305..6b28ab7d 100644 --- a/pkg/parser/unordered_list_test.go +++ b/pkg/parser/unordered_list_test.go @@ -51,7 +51,7 @@ var _ = Describe("unordered lists", func() { Attributes: types.Attributes{ types.AttrID: "listID", types.AttrTitle: "mytitle", - types.AttrRoles: []interface{}{"myrole"}, + types.AttrRoles: types.Roles{"myrole"}, }, Elements: []types.ListElement{ &types.UnorderedListElement{ @@ -466,7 +466,7 @@ on 2 lines, too.` Elements: []interface{}{ &types.Paragraph{ Elements: []interface{}{ - &types.StringElement{Content: "item 1\non 2 lines."}, // heading spaces are trimmed + &types.StringElement{Content: "item 1\non 2 lines."}, // leading spaces are trimmed }, }, }, diff --git a/pkg/renderer/sgml/attribute_substitution.go b/pkg/renderer/sgml/attribute_substitution.go index 18826d76..0ee8ce91 100644 --- a/pkg/renderer/sgml/attribute_substitution.go +++ b/pkg/renderer/sgml/attribute_substitution.go @@ -5,7 +5,8 @@ import ( "github.com/bytesparadise/libasciidoc/pkg/types" ) -func (r *sgmlRenderer) renderAttributeSubstitution(ctx *renderer.Context, e *types.AttributeSubstitution) (string, error) { +// TODO: deprecated? +func (r *sgmlRenderer) renderAttributeSubstitution(ctx *renderer.Context, e *types.AttributeReference) (string, error) { if v, found := ctx.Attributes[e.Name]; found { switch v := v.(type) { case string: diff --git a/pkg/renderer/sgml/attribution.go b/pkg/renderer/sgml/attribution.go index 1e382d48..de09069f 100644 --- a/pkg/renderer/sgml/attribution.go +++ b/pkg/renderer/sgml/attribution.go @@ -8,7 +8,7 @@ type Attribution struct { // TODO: unexport this type? Second string } -func newAttribution(b types.BlockWithAttributes) (Attribution, error) { +func newAttribution(b types.WithAttributes) (Attribution, error) { result := Attribution{} if author, found, err := b.GetAttributes().GetAsString(types.AttrQuoteAuthor); err != nil { return Attribution{}, err diff --git a/pkg/renderer/sgml/delimited_block_discard_lines.go b/pkg/renderer/sgml/delimited_block_discard_lines.go index 0ee3cd4a..ef145f33 100644 --- a/pkg/renderer/sgml/delimited_block_discard_lines.go +++ b/pkg/renderer/sgml/delimited_block_discard_lines.go @@ -9,7 +9,7 @@ func discardBlankLines(lines []interface{}) []interface{} { // log.Debugf("discarding blank lines on %d elements...", len(lines)) filteredLines := make([]interface{}, len(lines)) copy(filteredLines, lines) - // heading empty lines + // leading empty lines for { if len(filteredLines) == 0 { break diff --git a/pkg/renderer/sgml/delimited_block_fenced.go b/pkg/renderer/sgml/delimited_block_fenced.go index 8cb5e099..eacf6ea4 100644 --- a/pkg/renderer/sgml/delimited_block_fenced.go +++ b/pkg/renderer/sgml/delimited_block_fenced.go @@ -40,7 +40,7 @@ func (r *sgmlRenderer) renderFencedBlock(ctx *renderer.Context, b *types.Delimit ID: r.renderElementID(b.Attributes), Title: title, Roles: roles, - Content: content, + Content: strings.Trim(content, "\n"), }) return result.String(), err } diff --git a/pkg/renderer/sgml/delimited_block_listing.go b/pkg/renderer/sgml/delimited_block_listing.go index 8397271c..c41c58ac 100644 --- a/pkg/renderer/sgml/delimited_block_listing.go +++ b/pkg/renderer/sgml/delimited_block_listing.go @@ -18,7 +18,6 @@ func (r *sgmlRenderer) renderListingBlock(ctx *renderer.Context, b *types.Delimi }() ctx.WithinDelimitedBlock = true result := &strings.Builder{} - // lines := [][]interface{}{} // discardEmptyLines(b.Elements) content, err := r.renderElements(ctx, b.Elements) if err != nil { return "", errors.Wrap(err, "unable to render listing block content") @@ -43,7 +42,7 @@ func (r *sgmlRenderer) renderListingBlock(ctx *renderer.Context, b *types.Delimi ID: r.renderElementID(b.Attributes), Title: title, Roles: roles, - Content: content, + Content: strings.Trim(content, "\n"), }) return result.String(), err } diff --git a/pkg/renderer/sgml/delimited_block_markdown_quote.go b/pkg/renderer/sgml/delimited_block_markdown_quote.go index dc1697c2..dfd3815a 100644 --- a/pkg/renderer/sgml/delimited_block_markdown_quote.go +++ b/pkg/renderer/sgml/delimited_block_markdown_quote.go @@ -40,7 +40,7 @@ func (r *sgmlRenderer) renderMarkdownQuoteBlock(ctx *renderer.Context, b *types. Title: title, Roles: roles, Attribution: attribution, - Content: content, + Content: strings.Trim(content, "\n"), }) return result.String(), err } diff --git a/pkg/renderer/sgml/delimited_block_passthrough.go b/pkg/renderer/sgml/delimited_block_passthrough.go index a373d1e6..befc7390 100644 --- a/pkg/renderer/sgml/delimited_block_passthrough.go +++ b/pkg/renderer/sgml/delimited_block_passthrough.go @@ -33,7 +33,7 @@ func (r *sgmlRenderer) renderPassthroughBlock(ctx *renderer.Context, b *types.De Context: ctx, ID: r.renderElementID(b.Attributes), Roles: roles, - Content: content, + Content: strings.Trim(content, "\n"), }) return result.String(), err } diff --git a/pkg/renderer/sgml/delimited_block_source.go b/pkg/renderer/sgml/delimited_block_source.go index b7508196..accf0819 100644 --- a/pkg/renderer/sgml/delimited_block_source.go +++ b/pkg/renderer/sgml/delimited_block_source.go @@ -27,7 +27,7 @@ func (r *sgmlRenderer) renderSourceBlock(ctx *renderer.Context, b *types.Delimit return "", errors.Wrap(err, "unable to render source block roles") } var nowrap bool - if options, ok := b.Attributes[types.AttrOptions].([]interface{}); ok { + if options, ok := b.Attributes[types.AttrOptions].(types.Options); ok { for _, opt := range options { if opt == "nowrap" { nowrap = true @@ -56,7 +56,7 @@ func (r *sgmlRenderer) renderSourceBlock(ctx *renderer.Context, b *types.Delimit Roles: roles, Language: language, Nowrap: nowrap, - Content: content, + Content: strings.Trim(content, "\n"), }) return result.String(), err diff --git a/pkg/renderer/sgml/delimited_block_verse.go b/pkg/renderer/sgml/delimited_block_verse.go index b993a930..ee62c92c 100644 --- a/pkg/renderer/sgml/delimited_block_verse.go +++ b/pkg/renderer/sgml/delimited_block_verse.go @@ -46,7 +46,7 @@ func (r *sgmlRenderer) renderVerseBlock(ctx *renderer.Context, b *types.Delimite Title: title, Roles: roles, Attribution: attribution, - Content: string(content), + Content: strings.Trim(string(content), "\n"), }) return result.String(), err } diff --git a/pkg/renderer/sgml/element_role.go b/pkg/renderer/sgml/element_role.go index e6b62529..92e5cf4b 100644 --- a/pkg/renderer/sgml/element_role.go +++ b/pkg/renderer/sgml/element_role.go @@ -8,7 +8,7 @@ import ( ) func (r *sgmlRenderer) renderElementRoles(ctx *Context, attrs types.Attributes) (string, error) { - if roles, ok := attrs[types.AttrRoles].([]interface{}); ok { + if roles, ok := attrs[types.AttrRoles].(types.Roles); ok { result := make([]string, len(roles)) for i, e := range roles { s, err := r.renderElementRole(ctx, e) @@ -35,7 +35,7 @@ func (r *sgmlRenderer) renderImageRoles(ctx *Context, attrs types.Attributes) (s } else if ok { result = append(result, "text-"+val) } - if roles, ok := attrs[types.AttrRoles].([]interface{}); ok { + if roles, ok := attrs[types.AttrRoles].(types.Roles); ok { for _, e := range roles { s, err := r.renderElementRole(ctx, e) if err != nil { diff --git a/pkg/renderer/sgml/elements.go b/pkg/renderer/sgml/elements.go index 6e8ee5c5..48479c61 100644 --- a/pkg/renderer/sgml/elements.go +++ b/pkg/renderer/sgml/elements.go @@ -110,7 +110,7 @@ func (r *sgmlRenderer) renderElement(ctx *renderer.Context, element interface{}) case *types.FrontMatter: ctx.Attributes.AddAll(e.Attributes) return "", nil - case *types.AttributeSubstitution: + case *types.AttributeReference: return r.renderAttributeSubstitution(ctx, e) default: return "", errors.Errorf("unsupported type of element: %T", element) diff --git a/pkg/renderer/sgml/html5/delimited_block_example_test.go b/pkg/renderer/sgml/html5/delimited_block_example_test.go index f737705c..12a38484 100644 --- a/pkg/renderer/sgml/html5/delimited_block_example_test.go +++ b/pkg/renderer/sgml/html5/delimited_block_example_test.go @@ -178,8 +178,8 @@ some example content source := `:github-url: https://github.com -[subs="$SUBS"] ==== +[subs="$SUBS"] a link to https://example.com[] <1> and on the + *next* lines with a link to {github-url}[] diff --git a/pkg/renderer/sgml/html5/delimited_block_literal_test.go b/pkg/renderer/sgml/html5/delimited_block_literal_test.go index 3e217978..a5bca714 100644 --- a/pkg/renderer/sgml/html5/delimited_block_literal_test.go +++ b/pkg/renderer/sgml/html5/delimited_block_literal_test.go @@ -55,13 +55,13 @@ lines. It("literal block from paragraph with single spaces on each line", func() { source := ` literal content on many lines - has some heading spaces preserved.` + has some leading spaces preserved.` // note: trailing spaces are removed expected := `
literal content
   on many lines
-    has some heading spaces preserved.
+ has some leading spaces preserved.
` @@ -110,6 +110,42 @@ a normal paragraph.` Expect(RenderHTML(source)).To(MatchHTML(expected)) }) + It("with empty blank line around content", func() { + source := `.... + +some content + +....` + expected := `
+
+
some content
+
+
+` + Expect(RenderHTML(source)).To(MatchHTML(expected)) + }) + + It("with preserved spaces and followed by 1-line paragraph", func() { + source := `[#ID] +.title +.... + some literal + content +.... +a normal paragraph.` + expected := `
+
title
+
+
   some literal
+   content
+
+
+
+

a normal paragraph.

+
+` + Expect(RenderHTML(source)).To(MatchHTML(expected)) + }) }) Context("with literal attribute", func() { @@ -118,14 +154,14 @@ a normal paragraph.` source := `[literal] literal content on many lines - has its heading spaces preserved. + has its leading spaces preserved. a normal paragraph.` expected := `
 literal content
   on many lines
- has its heading spaces preserved.
+ has its leading spaces preserved.
diff --git a/pkg/renderer/sgml/html5/delimited_block_verse_test.go b/pkg/renderer/sgml/html5/delimited_block_verse_test.go index 4f826cc3..69adfd46 100644 --- a/pkg/renderer/sgml/html5/delimited_block_verse_test.go +++ b/pkg/renderer/sgml/html5/delimited_block_verse_test.go @@ -18,6 +18,24 @@ var _ = Describe("verse blocks", func() { ____ some *verse* content +____` + expected := `
+
some verse content
+
+— john doe
+verse title +
+
+` + Expect(RenderHTML(source)).To(MatchHTML(expected)) + }) + + It("single line verse with author and title and empty lines around", func() { + source := `[verse, john doe, verse title] +____ + +some *verse* content + ____` expected := `
some verse content
diff --git a/pkg/renderer/sgml/html5/document_details_test.go b/pkg/renderer/sgml/html5/document_details_test.go index 41c8970d..cb3ec1c0 100644 --- a/pkg/renderer/sgml/html5/document_details_test.go +++ b/pkg/renderer/sgml/html5/document_details_test.go @@ -17,7 +17,7 @@ var _ = Describe("document details", func() { It("header with author and revision", func() { source := `= Document Title -Xavier +Xavier v1.0, March 22, 2020: Containment {author} wrote this doc on {revdate}. @@ -37,7 +37,7 @@ v1.0, March 22, 2020: Containment

Document Title

Xavier
-
+
version 1.0, March 22, 2020
Containment diff --git a/pkg/renderer/sgml/html5/html5_test.go b/pkg/renderer/sgml/html5/html5_test.go index b699a0be..b8f327f7 100644 --- a/pkg/renderer/sgml/html5/html5_test.go +++ b/pkg/renderer/sgml/html5/html5_test.go @@ -276,7 +276,7 @@ Image is not a picture of a life form. == Resources -*Project web site:* http://eve.example.org +*Project web site:* http://eve.example.com == Copying @@ -351,7 +351,7 @@ Image is not a picture of a life form.

Resources

-

Project web site: http://eve.example.org

+

Project web site: http://eve.example.com

@@ -419,7 +419,7 @@ Image is not a picture of a life form. == Resources -*Project web site:* http://eve.example.org +*Project web site:* http://eve.example.com == Copying @@ -478,7 +478,7 @@ Image is not a picture of a life form.

Resources

-

Project web site: http://eve.example.org

+

Project web site: http://eve.example.com

diff --git a/pkg/renderer/sgml/html5/index_terms_test.go b/pkg/renderer/sgml/html5/index_terms_test.go index 00af1b2b..bfc5f67f 100644 --- a/pkg/renderer/sgml/html5/index_terms_test.go +++ b/pkg/renderer/sgml/html5/index_terms_test.go @@ -44,10 +44,9 @@ var _ = Describe("concealed index terms", func() { It("concealed index term in single paragraph line", func() { source := `(((index, term))) a paragraph with an index term.` - // paragraph content starts with a `\n` because index terms are not rendered in HTML + // paragraph content doesn't start with a `\n` even of index terms are not rendered in HTML expected := `
-

-a paragraph with an index term.

+

a paragraph with an index term.

` Expect(RenderHTML(source)).To(MatchHTML(expected)) diff --git a/pkg/renderer/sgml/html5/ordered_list_test.go b/pkg/renderer/sgml/html5/ordered_list_test.go index cabb7066..b384dc5d 100644 --- a/pkg/renderer/sgml/html5/ordered_list_test.go +++ b/pkg/renderer/sgml/html5/ordered_list_test.go @@ -22,8 +22,8 @@ var _ = Describe("ordered lists", func() { Expect(RenderHTML(source)).To(MatchHTML(expected)) }) - It("with implicit numbering style on multiple lines with heading tabs", func() { - // heading tabs should be trimmed + It("with implicit numbering style on multiple lines with leading tabs", func() { + // leading tabs should be trimmed source := `. item on multiple diff --git a/pkg/renderer/sgml/html5/paragraph_test.go b/pkg/renderer/sgml/html5/paragraph_test.go index 3a93d4a9..13b9f15d 100644 --- a/pkg/renderer/sgml/html5/paragraph_test.go +++ b/pkg/renderer/sgml/html5/paragraph_test.go @@ -1,6 +1,8 @@ package html5_test import ( + "strings" + . "github.com/bytesparadise/libasciidoc/testsupport" . "github.com/onsi/ginkgo" //nolint golint @@ -208,19 +210,34 @@ image::cookie.jpg[cookie] Context("with custom substitutions", func() { - It("with attributes substitution", func() { - source := `:github-url: https://github.com + // using the same input for all substitution tests + source := `:github-url: https://github.com +:github-title: GitHub + +[subs="$SUBS"] +links to {github-title}: https://github.com[{github-title}] and ** +and another one using attribute substitution: {github-url}[{github-title}]... +// a single-line comment.` -[subs="attributes"] -a link to https://github.com[] -another one using attribute substitution: {github-url}[]... -// a single-line comment` + It("should apply the 'attributes' substitution", func() { + s := strings.ReplaceAll(source, "$SUBS", "attributes") expected := `
-

a link to https://github.com[] -another one using attribute substitution: https://github.com[]...

+

links to GitHub: https://github.com[GitHub] and ** +and another one using attribute substitution: https://github.com[GitHub]...

` - Expect(RenderHTML(source)).To(MatchHTML(expected)) + Expect(RenderHTML(s)).To(MatchHTML(expected)) + }) + + It("should apply the 'attributes,macros' substitution", func() { + s := strings.ReplaceAll(source, "$SUBS", "macros,attributes") + // differs from Asciidoctor + expected := `
+

links to GitHub: GitHub and *<_GitHub_>* +and another one using attribute substitution: https://github.com[GitHub]...

+
+` + Expect(RenderHTML(s)).To(MatchHTML(expected)) }) }) diff --git a/pkg/renderer/sgml/html5/section_test.go b/pkg/renderer/sgml/html5/section_test.go index 468d37cc..d01197f0 100644 --- a/pkg/renderer/sgml/html5/section_test.go +++ b/pkg/renderer/sgml/html5/section_test.go @@ -256,7 +256,7 @@ with some text, too` }) It("section with listing block and subsection", func() { - source := `==== Third level heading + source := `==== Third level header [#id-for-listing-block] .Listing block title @@ -265,11 +265,11 @@ Content in a listing block is subject to verbatim substitutions. Listing block content is commonly used to preserve code input. ---- -===== Fourth level heading +===== Fourth level header foo` expected := `
-

Third level heading

+

Third level header

Listing block title
@@ -278,7 +278,7 @@ Listing block content is commonly used to preserve code input.
-
Fourth level heading
+
Fourth level header

foo

diff --git a/pkg/renderer/sgml/html5/table_test.go b/pkg/renderer/sgml/html5/table_test.go index 7231504e..c5d2cd65 100644 --- a/pkg/renderer/sgml/html5/table_test.go +++ b/pkg/renderer/sgml/html5/table_test.go @@ -54,7 +54,7 @@ var _ = Describe("tables", func() { It("table with title, headers and 1 line per cell", func() { source := `.table title |=== -|Column heading 1 |Column heading 2 +|Column header 1 |Column header 2 |Column 1, row 1 |Column 2, row 1 @@ -70,8 +70,8 @@ var _ = Describe("tables", func() { -Column heading 1 -Column heading 2 +Column header 1 +Column header 2 @@ -93,7 +93,7 @@ var _ = Describe("tables", func() { source := `.table title [caption="Example I. "] |=== -|Column heading 1 |Column heading 2 +|Column header 1 |Column header 2 |Column 1, row 1 |Column 2, row 1 @@ -109,8 +109,8 @@ var _ = Describe("tables", func() { -Column heading 1 -Column heading 2 +Column header 1 +Column header 2 diff --git a/pkg/renderer/sgml/image.go b/pkg/renderer/sgml/image.go index 438dc251..b32b2f7b 100644 --- a/pkg/renderer/sgml/image.go +++ b/pkg/renderer/sgml/image.go @@ -132,6 +132,9 @@ func (r *sgmlRenderer) renderInlineImage(ctx *Context, img *types.InlineImage) ( } func (r *sgmlRenderer) getImageSrc(ctx *Context, location *types.Location) string { + if imagesdir, found, err := ctx.Attributes.GetAsString(types.AttrImagesDir); err == nil && found { + location.SetPathPrefix(imagesdir) + } src := location.Stringify() // if Data URI is enables, then include the content of the file in the `src` attribute of the `` tag diff --git a/pkg/renderer/sgml/literal_blocks.go b/pkg/renderer/sgml/literal_blocks.go index f04b44e5..d5eaaf99 100644 --- a/pkg/renderer/sgml/literal_blocks.go +++ b/pkg/renderer/sgml/literal_blocks.go @@ -12,7 +12,7 @@ import ( func (r *sgmlRenderer) renderLiteralBlock(ctx *renderer.Context, b *types.DelimitedBlock) (string, error) { log.Debugf("rendering literal block") - elements, err := r.renderElements(ctx, b.Elements) + content, err := r.renderElements(ctx, b.Elements) if err != nil { return "", err } @@ -38,7 +38,7 @@ func (r *sgmlRenderer) renderLiteralBlock(ctx *renderer.Context, b *types.Delimi ID: r.renderElementID(b.Attributes), Title: title, Roles: roles, - Content: elements, + Content: strings.Trim(content, "\n"), }) if err != nil { return "", errors.Wrap(err, "unable to render literal block") diff --git a/pkg/renderer/sgml/paragraph.go b/pkg/renderer/sgml/paragraph.go index 092f8b9d..596d140c 100644 --- a/pkg/renderer/sgml/paragraph.go +++ b/pkg/renderer/sgml/paragraph.go @@ -69,7 +69,7 @@ func (r *sgmlRenderer) renderRegularParagraph(ctx *renderer.Context, p *types.Pa ID: r.renderElementID(p.Attributes), Title: title, Roles: roles, - Content: string(content), + Content: strings.Trim(string(content), "\n"), }) if err != nil { return "", errors.Wrap(err, "unable to render paragraph") diff --git a/pkg/renderer/sgml/passthrough.go b/pkg/renderer/sgml/passthrough.go index 08be24ee..cba482e7 100644 --- a/pkg/renderer/sgml/passthrough.go +++ b/pkg/renderer/sgml/passthrough.go @@ -35,12 +35,12 @@ func (r *sgmlRenderer) renderInlinePassthrough(ctx *renderer.Context, p *types.I // renderPassthroughMacro renders the passthrough content in its raw from func (r *sgmlRenderer) renderPassthroughContent(ctx *renderer.Context, elements []interface{}) (string, error) { - buf := &strings.Builder{} + result := &strings.Builder{} for _, element := range elements { switch element := element.(type) { case *types.StringElement: // "string" elements must be rendered as-is, ie, without any HTML escaping. - _, err := buf.WriteString(element.Content) + _, err := result.WriteString(element.Content) if err != nil { return "", err } @@ -49,12 +49,12 @@ func (r *sgmlRenderer) renderPassthroughContent(ctx *renderer.Context, elements if err != nil { return "", err } - _, err = buf.WriteString(renderedElement) + _, err = result.WriteString(renderedElement) if err != nil { return "", err } } } - return buf.String(), nil + return strings.Trim(result.String(), "\n"), nil // remove leading and trailing empty lines } diff --git a/pkg/renderer/sgml/xhtml5/delimited_block_example_test.go b/pkg/renderer/sgml/xhtml5/delimited_block_example_test.go index e404304e..265ed260 100644 --- a/pkg/renderer/sgml/xhtml5/delimited_block_example_test.go +++ b/pkg/renderer/sgml/xhtml5/delimited_block_example_test.go @@ -242,9 +242,9 @@ and <more text> on the
expected := `
-

a link to https://example.com[] <1> -and on the + -next lines with a link to {github-url}[]

+

a link to https://example.com <1> +and <more text> on the
+next lines with a link to https://github.com

    @@ -271,9 +271,9 @@ and on the + expected := `
    -

    a link to https://example.com <1> -and on the + -*next* lines with a link to {github-url}[]

    +

    a link to https://example.com <1> +and <more text> on the
    +next lines with a link to https://github.com

      @@ -300,9 +300,9 @@ and on the + expected := `
      -

      a link to https://example.com[] <1> -and on the + -*next* lines with a link to https://github.com[]

      +

      a link to https://example.com <1> +and <more text> on the
      +next lines with a link to https://github.com

        @@ -329,9 +329,9 @@ and on the + expected := `
        -

        a link to https://example.com <1> -and on the + -*next* lines with a link to https://github.com

        +

        a link to https://example.com <1> +and <more text> on the
        +next lines with a link to https://github.com

          @@ -358,9 +358,9 @@ and on the + expected := `
          -

          a link to https://example.com[] <1> -and <more text> on the + -*next* lines with a link to {github-url}[]

          +

          a link to https://example.com <1> +and <more text> on the
          +next lines with a link to https://github.com

            @@ -387,9 +387,9 @@ and <more text> on the + expected := `
            -

            a link to https://example.com[] <1> -and on the + -*next* lines with a link to {github-url}[]

            +

            a link to https://example.com <1> +and <more text> on the
            +next lines with a link to https://github.com

              @@ -416,9 +416,9 @@ and on the + expected := `
              -

              a link to https://example.com[] <1> -and on the
              -*next* lines with a link to {github-url}[]

              +

              a link to https://example.com <1> +and <more text> on the
              +next lines with a link to https://github.com

                @@ -445,9 +445,9 @@ and on the
                expected := `
                -

                a link to https://example.com <1> -and on the + -next lines with a link to {github-url}[]

                +

                a link to https://example.com <1> +and <more text> on the
                +next lines with a link to https://github.com

                  @@ -474,9 +474,9 @@ and on the + expected := `
                  -

                  a link to https://example.com <1> -and on the + -next lines with a link to {github-url}[]

                  +

                  a link to https://example.com <1> +and <more text> on the
                  +next lines with a link to https://github.com

                    @@ -503,9 +503,9 @@ and on the + expected := `
                    -

                    a link to https://example.com[] <1> -and on the + -*next* lines with a link to {github-url}[]

                    +

                    a link to https://example.com <1> +and <more text> on the
                    +next lines with a link to https://github.com

                      diff --git a/pkg/renderer/sgml/xhtml5/delimited_block_literal_test.go b/pkg/renderer/sgml/xhtml5/delimited_block_literal_test.go index a8ef2417..074cf68a 100644 --- a/pkg/renderer/sgml/xhtml5/delimited_block_literal_test.go +++ b/pkg/renderer/sgml/xhtml5/delimited_block_literal_test.go @@ -55,13 +55,13 @@ lines. It("literal block from paragraph with single spaces on each line", func() { source := ` literal content on many lines - has some heading spaces preserved.` + has some leading spaces preserved.` // note: trailing spaces are removed expected := `
                      literal content
                         on many lines
                      -    has some heading spaces preserved.
                      + has some leading spaces preserved.
                      ` @@ -118,7 +118,7 @@ a normal paragraph.` source := `[literal] literal content on many lines - has its heading spaces preserved. + has its leading spaces preserved. a normal paragraph.` // note: trailing spaces are removed @@ -126,7 +126,7 @@ a normal paragraph.`
                       literal content
                         on many lines
                      - has its heading spaces preserved.
                      + has its leading spaces preserved.
                    diff --git a/pkg/renderer/sgml/xhtml5/document_details_test.go b/pkg/renderer/sgml/xhtml5/document_details_test.go index 727f38c3..a3afa56f 100644 --- a/pkg/renderer/sgml/xhtml5/document_details_test.go +++ b/pkg/renderer/sgml/xhtml5/document_details_test.go @@ -17,7 +17,7 @@ var _ = Describe("document details", func() { It("header with author and revision", func() { source := `= Document Title -Xavier +Xavier v1.0, March 22, 2020: Containment {author} wrote this doc on {revdate}. @@ -37,7 +37,7 @@ v1.0, March 22, 2020: Containment

                    Document Title

                    Xavier
                    -
                    +
                    version 1.0, March 22, 2020
                    Containment diff --git a/pkg/renderer/sgml/xhtml5/index_terms_test.go b/pkg/renderer/sgml/xhtml5/index_terms_test.go index d8d94c3d..e9be9bad 100644 --- a/pkg/renderer/sgml/xhtml5/index_terms_test.go +++ b/pkg/renderer/sgml/xhtml5/index_terms_test.go @@ -45,8 +45,7 @@ var _ = Describe("concealed index terms", func() { source := `(((index, term))) a paragraph with an index term.` expected := `
                    -

                    -a paragraph with an index term.

                    +

                    a paragraph with an index term.

                    ` Expect(RenderXHTML(source)).To(MatchHTML(expected)) @@ -56,8 +55,7 @@ a paragraph with an index term.

                    source := `(((index, term))) a paragraph with an index term.` expected := `
                    -

                    -a paragraph with an index term.

                    +

                    a paragraph with an index term.

                    ` Expect(RenderXHTML(source)).To(MatchHTML(expected)) diff --git a/pkg/renderer/sgml/xhtml5/section_test.go b/pkg/renderer/sgml/xhtml5/section_test.go index 56760683..55aa48e3 100644 --- a/pkg/renderer/sgml/xhtml5/section_test.go +++ b/pkg/renderer/sgml/xhtml5/section_test.go @@ -243,7 +243,7 @@ with some text, too` }) It("section with listing block and subsection", func() { - source := `==== Third level heading + source := `==== Third level header [#id-for-listing-block] .Listing block title @@ -252,11 +252,11 @@ Content in a listing block is subject to verbatim substitutions. Listing block content is commonly used to preserve code input. ---- -===== Fourth level heading +===== Fourth level header foo` expected := `
                    -

                    Third level heading

                    +

                    Third level header

                    Listing block title
                    @@ -265,7 +265,7 @@ Listing block content is commonly used to preserve code input.
                    -
                    Fourth level heading
                    +
                    Fourth level header

                    foo

                    diff --git a/pkg/renderer/sgml/xhtml5/table_of_contents_test.go b/pkg/renderer/sgml/xhtml5/table_of_contents_test.go index f10b83bf..a5cae9b9 100644 --- a/pkg/renderer/sgml/xhtml5/table_of_contents_test.go +++ b/pkg/renderer/sgml/xhtml5/table_of_contents_test.go @@ -190,223 +190,3 @@ level 1 sections not exists.` }) }) }) - -// var _ = Describe("table of contents initialization", func() { - -// Context("document without section", func() { - -// It("should return empty table of contents when doc has no section", func() { -// actual := &types.Document{ -// Attributes: types.Attributes{}, -// ElementReferences: types.ElementReferences{}, -// Footnotes: []*types.Footnote{}, -// Elements: []interface{}{ -// types.Paragraph{ -// Attributes: types.Attributes{}, -// Lines: [][]interface{}{ -// { -// &types.StringElement{Content: "a paragraph"}, -// }, -// }, -// }, -// }, -// } -// expected := types.TableOfContents{ -// Sections: []*types.ToCSection{}, -// } -// Expect(TableOfContents(actual)).To(Equal(expected)) -// }) -// }) - -// Context("document with sections", func() { - -// doctitle := []interface{}{ -// &types.StringElement{Content: "a header"}, -// } -// sectionATitle := []interface{}{ -// &types.StringElement{Content: "Section A with link to "}, -// &types.InlineLink{ -// Location: &types.Location{ -// Scheme: "https://", -// Path: []interface{}{ -// &types.StringElement{ -// Content: "redhat.com", -// }, -// }, -// }, -// }, -// } -// sectionAaTitle := []interface{}{ -// &types.StringElement{Content: "Section A.a "}, -// &types.FootnoteReference{ -// ID: 1, -// Ref: "foo", -// }, -// } -// sectionAa1Title := []interface{}{ -// &types.StringElement{Content: "Section A.a.1"}, -// } -// sectionBTitle := []interface{}{ -// &types.StringElement{Content: "Section B"}, -// } -// document := &types.Document{ -// Attributes: types.Attributes{}, -// ElementReferences: types.ElementReferences{ -// "_a_header": doctitle, -// "_section_a": sectionATitle, -// "_section_a_a": sectionAaTitle, -// "_section_b": sectionBTitle, -// }, -// Footnotes: []*types.Footnote{ -// { -// ID: 1, -// Ref: "foo", -// }, -// }, -// Elements: []interface{}{ -// types.Section{ -// Attributes: types.Attributes{ -// types.AttrID: "_a_header", -// }, -// Level: 0, -// Title: doctitle, -// Elements: []interface{}{ -// types.Section{ -// Attributes: types.Attributes{ -// types.AttrID: "_section_a", -// }, -// Level: 1, -// Title: sectionATitle, -// Elements: []interface{}{ -// types.Paragraph{ -// Attributes: types.Attributes{}, -// Lines: [][]interface{}{ -// { -// &types.StringElement{Content: "a paragraph"}, -// }, -// }, -// }, -// types.Section{ -// Attributes: types.Attributes{ -// types.AttrID: "_section_a_a", -// }, -// Level: 2, -// Title: sectionAaTitle, -// Elements: []interface{}{ -// types.Paragraph{ -// Attributes: types.Attributes{}, -// Lines: [][]interface{}{ -// { -// &types.StringElement{Content: "a paragraph"}, -// }, -// }, -// }, -// types.Section{ -// Attributes: types.Attributes{ -// types.AttrID: "_section_a_a_1", -// }, -// Level: 3, -// Title: sectionAa1Title, -// Elements: []interface{}{ -// types.Paragraph{ -// Attributes: types.Attributes{}, -// Lines: [][]interface{}{ -// {types.StringElement{Content: "a paragraph"}}, -// }, -// }, -// }, -// }, -// }, -// }, -// }, -// }, -// types.Section{ -// Attributes: types.Attributes{ -// types.AttrID: "_section_b", -// }, -// Level: 1, -// Title: sectionBTitle, -// Elements: []interface{}{ -// types.Paragraph{ -// Attributes: types.Attributes{}, -// Lines: [][]interface{}{ -// { -// &types.StringElement{Content: "a paragraph"}, -// }, -// }, -// }, -// }, -// }, -// }, -// }, -// }, -// } - -// It("should return table of contents with section level 1,2,3,2 with default level", func() { -// delete(document.Attributes, types.AttrTableOfContentsLevels) -// expected := types.TableOfContents{ -// Sections: []*types.ToCSection{ -// { -// ID: "_section_a", -// Level: 1, -// Title: "Section A with link to https://redhat.com", -// Children: []*types.ToCSection{ -// { - -// ID: "_section_a_a", -// Level: 2, -// Title: "Section A.a [1]", -// Children: []*types.ToCSection{}, -// }, -// }, -// }, -// { -// ID: "_section_b", -// Level: 1, -// Title: "Section B", -// Children: []*types.ToCSection{}, -// }, -// }, -// } -// Expect(TableOfContents(document)).To(Equal(expected)) -// }) - -// It("should return table of contents with section level 1,2,3,2 with custom level", func() { -// document.Attributes[types.AttrTableOfContentsLevels] = "4" // must be a string -// expected := types.TableOfContents{ -// Sections: []*types.ToCSection{ -// { -// ID: "_section_a", -// Level: 1, -// Title: "Section A with link to https://redhat.com", -// Children: []*types.ToCSection{ -// { - -// ID: "_section_a_a", -// Level: 2, -// Title: "Section A.a [1]", -// Children: []*types.ToCSection{ -// { - -// ID: "_section_a_a_1", -// Level: 3, -// Title: "Section A.a.1", -// Children: []*types.ToCSection{}, -// }, -// }, -// }, -// }, -// }, -// { -// ID: "_section_b", -// Level: 1, -// Title: "Section B", -// Children: []*types.ToCSection{}, -// }, -// }, -// } -// Expect(TableOfContents(document)).To(Equal(expected)) -// }) -// }) - -// }) diff --git a/pkg/renderer/sgml/xhtml5/table_test.go b/pkg/renderer/sgml/xhtml5/table_test.go index 5de6ae7f..e413b636 100644 --- a/pkg/renderer/sgml/xhtml5/table_test.go +++ b/pkg/renderer/sgml/xhtml5/table_test.go @@ -54,7 +54,7 @@ var _ = Describe("tables", func() { It("table with title, headers and 1 line per cell", func() { source := `.table title |=== -|Column heading 1 |Column heading 2 +|Column header 1 |Column header 2 |Column 1, row 1 |Column 2, row 1 @@ -70,8 +70,8 @@ var _ = Describe("tables", func() { -Column heading 1 -Column heading 2 +Column header 1 +Column header 2 @@ -93,7 +93,7 @@ var _ = Describe("tables", func() { source := `.table title [caption="Example I. "] |=== -|Column heading 1 |Column heading 2 +|Column header 1 |Column header 2 |Column 1, row 1 |Column 2, row 1 @@ -109,8 +109,8 @@ var _ = Describe("tables", func() { -Column heading 1 -Column heading 2 +Column header 1 +Column header 2 diff --git a/pkg/renderer/sgml/xhtml5/xhtml5_test.go b/pkg/renderer/sgml/xhtml5/xhtml5_test.go index f275710b..7026fe76 100644 --- a/pkg/renderer/sgml/xhtml5/xhtml5_test.go +++ b/pkg/renderer/sgml/xhtml5/xhtml5_test.go @@ -228,7 +228,7 @@ Image is not a picture of a life form. == Resources -*Project web site:* http://eve.example.org +*Project web site:* http://eve.example.com == Copying @@ -303,7 +303,7 @@ Image is not a picture of a life form.

                    Resources

                    -

                    Project web site: http://eve.example.org

                    +

                    Project web site: http://eve.example.com

                    @@ -371,7 +371,7 @@ Image is not a picture of a life form. == Resources -*Project web site:* http://eve.example.org +*Project web site:* http://eve.example.com == Copying @@ -430,7 +430,7 @@ Image is not a picture of a life form.

                    Resources

                    -

                    Project web site: http://eve.example.org

                    +

                    Project web site: http://eve.example.com

                    diff --git a/pkg/types/attributes.go b/pkg/types/attributes.go index 5ba84be4..04c4c760 100644 --- a/pkg/types/attributes.go +++ b/pkg/types/attributes.go @@ -5,6 +5,7 @@ import ( "strconv" "strings" + "github.com/davecgh/go-spew/spew" log "github.com/sirupsen/logrus" ) @@ -235,7 +236,7 @@ func toAttributesWithMapping(attrs interface{}, mapping map[string]string) Attri if v != nil && v != "" { // nil and empty values are discarded (ie, not mapped to target key) // (a bit hack-ish) make sure that `roles` is an `[]interface{}` if it came from a positional (1) attribute if source == AttrPositional1 && target == AttrRoles { - v = []interface{}{v} + v = Roles{v} } // do not override if already exists @@ -309,6 +310,7 @@ type PositionalAttribute struct { // NewPositionalAttribute returns a new attribute who key is the position in the group func NewPositionalAttribute(value interface{}) (*PositionalAttribute, error) { + // log.Debugf("new positional attribute: '%s'", value) return &PositionalAttribute{ Value: value, }, nil @@ -319,11 +321,17 @@ func (a *PositionalAttribute) Key() string { return AttrPositionalIndex + strconv.Itoa(a.Index) } +type Options []interface{} // more explicit than `[]interface{}`, and to bypass the `Reduce` func that would merge all roles into a single string :/ + // NewOptionAttribute sets a boolean option. -func NewOptionAttribute(options interface{}) (*Attribute, error) { +func NewOptionAttribute(option interface{}) (*Attribute, error) { + option = Reduce(option) + if log.IsLevelEnabled(log.DebugLevel) { + log.Debugf("new option attribute: '%s'", spew.Sdump(option)) + } return &Attribute{ Key: AttrOption, - Value: Reduce(options), + Value: option, }, nil } @@ -341,7 +349,9 @@ func NewNamedAttribute(key string, value interface{}) (*Attribute, error) { // NewTitleAttribute initializes a new attribute map with a single entry for the title using the given value func NewTitleAttribute(title interface{}) (*Attribute, error) { - // log.Debugf("initializing a new Title attribute with content=%v", title) + if log.IsLevelEnabled(log.DebugLevel) { + log.Debugf("initializing a new Title attribute with %s", spew.Sdump(title)) + } return &Attribute{ Key: AttrTitle, Value: title, @@ -351,12 +361,17 @@ func NewTitleAttribute(title interface{}) (*Attribute, error) { // NewRoleAttribute initializes a new attribute map with a single entry for the title using the given value func NewRoleAttribute(role interface{}) (*Attribute, error) { role = Reduce(role) + if log.IsLevelEnabled(log.DebugLevel) { + log.Debugf("new role attribute: '%s'", spew.Sdump(role)) + } return &Attribute{ Key: AttrRole, Value: role, }, nil } +type Roles []interface{} // more explicit than `[]interface{}`, and to bypass the `Reduce` func that would merge all roles into a single string :/ + // NewIDAttribute initializes a new attribute map with a single entry for the ID using the given value func NewIDAttribute(id interface{}) (*Attribute, error) { return &Attribute{ @@ -377,42 +392,42 @@ func (a Attributes) Set(key string, value interface{}) Attributes { } switch key { case AttrRole: - if roles, ok := a[AttrRoles].([]interface{}); ok { + if roles, ok := a[AttrRoles].(Roles); ok { log.Debugf("appending role to existing ones: %v", value) a[AttrRoles] = append(roles, value) } else { log.Debugf("setting first role: %v", value) - a[AttrRoles] = []interface{}{value} + a[AttrRoles] = Roles{value} } case AttrRoles: - if r, ok := value.([]interface{}); ok { // value should be an []interface{} - if roles, ok := a[AttrRoles].([]interface{}); ok { + if r, ok := value.(Roles); ok { + if roles, ok := a[AttrRoles].(Roles); ok { log.Debugf("appending role to existing ones: %v", value) a[AttrRoles] = append(roles, r...) } else { log.Debugf("overridding roles: %v -> %v", a[AttrRoles], r) - a[AttrRoles] = r + a[AttrRoles] = Roles(r) } } case AttrOption: // move into `options` - if options, ok := a[AttrOptions].([]interface{}); ok { + if options, ok := a[AttrOptions].(Options); ok { a[AttrOptions] = append(options, value) } else { - a[AttrOptions] = []interface{}{value} + a[AttrOptions] = Options{value} } case AttrOptions: // make sure the value is wrapped into a []interface{} switch v := value.(type) { - case []interface{}: + case Options: a[AttrOptions] = v case string: values := strings.Split(v, ",") - options := make([]interface{}, len(values)) + options := make(Options, len(values)) for i, v := range values { options[i] = v } a[AttrOptions] = options default: - a[AttrOptions] = []interface{}{value} + a[AttrOptions] = Options{value} } default: a[key] = value @@ -456,7 +471,7 @@ func (a Attributes) Has(key string) bool { // HasOption returns true if the option is set. func (a Attributes) HasOption(key string) bool { // in block attributes: search key in the `Options` - if opts, ok := a[AttrOptions].([]interface{}); ok { + if opts, ok := a[AttrOptions].(Options); ok { for _, opt := range opts { if opt == key { return true diff --git a/pkg/types/non_alphanumeric_replacement_test.go b/pkg/types/non_alphanumeric_replacement_test.go index f1af5a27..892c26ed 100644 --- a/pkg/types/non_alphanumeric_replacement_test.go +++ b/pkg/types/non_alphanumeric_replacement_test.go @@ -66,11 +66,7 @@ var _ = Describe("normalizing string", func() { Attributes: types.Attributes{}, Location: &types.Location{ Scheme: "https://", - Path: []interface{}{ - &types.StringElement{ - Content: "foo.bar", - }, - }, + Path: "foo.bar", }, }, } diff --git a/pkg/types/types.go b/pkg/types/types.go index 23d37dfc..f325a1ad 100644 --- a/pkg/types/types.go +++ b/pkg/types/types.go @@ -28,8 +28,8 @@ type RawText interface { RawText() (string, error) } -// BlockWithAttributes base interface for types on which attributes can be substituted -type BlockWithAttributes interface { +// WithAttributes base interface for types on which attributes can be substituted +type WithAttributes interface { GetAttributes() Attributes AddAttributes(Attributes) SetAttributes(Attributes) @@ -39,18 +39,25 @@ type WithElementAddition interface { AddElement(interface{}) error } -type WithConditionalElementAddition interface { +type WithConditionalElementAddition interface { // TODO: still needed? WithElementAddition CanAddElement(interface{}) bool } -type BlockWithElements interface { - BlockWithAttributes + +type WithElements interface { + WithAttributes GetElements() []interface{} SetElements([]interface{}) error } -type BlockWithLocation interface { - BlockWithAttributes +type WithTitle interface { + WithAttributes + GetTitle() []interface{} + SetTitle([]interface{}) error +} + +type WithLocation interface { + WithAttributes GetLocation() *Location SetLocation(*Location) // TODO: unused? } @@ -268,7 +275,18 @@ func (h *DocumentHeader) Revision() *DocumentRevision { return nil } -var _ BlockWithAttributes = &DocumentHeader{} +var _ WithTitle = &DocumentHeader{} + +func (h *DocumentHeader) GetTitle() []interface{} { + return h.Title +} + +func (h *DocumentHeader) SetTitle(title []interface{}) error { + h.Title = title + return nil +} + +var _ WithAttributes = &DocumentHeader{} func (h *DocumentHeader) GetAttributes() Attributes { return h.Attributes @@ -348,7 +366,6 @@ func (authors DocumentAuthors) Expand() Attributes { result[key("email", i)] = author.Email } } - // result = append(result, NewAttributeDeclaration(AttrAuthors, authors)) if log.IsLevelEnabled(log.DebugLevel) { log.Debugf("authors: %s", spew.Sdump(result)) } @@ -467,7 +484,7 @@ func NewDocumentRevision(revnumber, revdate, revremark interface{}) (*DocumentRe }) } if revremark, ok := revremark.(string); ok { - // then we need to strip the heading ":" and spaces + // then we need to strip the leading ":" and spaces remark = Apply(revremark, func(s string) string { return strings.TrimPrefix(s, ":") @@ -550,8 +567,8 @@ func (a *AttributeReset) RawText() (string, error) { return a.rawText, nil } -// AttributeSubstitution the type for AttributeSubstitution -type AttributeSubstitution struct { +// AttributeReference the type for AttributeReference +type AttributeReference struct { Name string rawText string } @@ -564,22 +581,22 @@ func NewAttributeSubstitution(name, rawText string) (interface{}, error) { rawText: rawText}, nil } - return &AttributeSubstitution{ + return &AttributeReference{ Name: name, rawText: rawText}, nil } -var _ RawText = &AttributeSubstitution{} +var _ RawText = &AttributeReference{} // RawText returns the raw text representation of this element as it was (supposedly) written in the source document -func (s *AttributeSubstitution) RawText() (string, error) { +func (s *AttributeReference) RawText() (string, error) { return s.rawText, nil } // PredefinedAttribute a special kind of attribute substitution, which // uses a predefined attribute -type PredefinedAttribute AttributeSubstitution +type PredefinedAttribute AttributeReference // CounterSubstitution is a counter, that may increment when it is substituted. // If Increment is set, then it will increment before being expanded. @@ -591,11 +608,11 @@ type CounterSubstitution struct { } // NewCounterSubstitution returns a counter substitution. -func NewCounterSubstitution(name string, hidden bool, val interface{}, rawText string) (CounterSubstitution, error) { +func NewCounterSubstitution(name string, hidden bool, val interface{}, rawText string) (*CounterSubstitution, error) { if v, ok := val.(string); ok { val = rune(v[0]) } - return CounterSubstitution{ + return &CounterSubstitution{ Name: name, Hidden: hidden, Value: val, @@ -663,7 +680,7 @@ func NewYamlFrontMatter(content string) (*FrontMatter, error) { // ListElement a list item type ListElement interface { // TODO: convert to struct and use as composant in OrderedListElement, etc. - BlockWithElements + WithElements WithElementAddition LastElement() interface{} ListKind() ListKind @@ -701,6 +718,41 @@ type List struct { var _ WithConditionalElementAddition = &List{} +var _ WithElements = &List{} + +func (l *List) GetAttributes() Attributes { + return l.Attributes +} + +func (l *List) AddAttributes(attrs Attributes) { + l.Attributes.AddAll(attrs) +} + +func (l *List) SetAttributes(attrs Attributes) { + l.Attributes.SetAll(attrs) +} + +func (l *List) GetElements() []interface{} { + elements := make([]interface{}, len(l.Elements)) + for i, e := range l.Elements { + elements[i] = e + } + return elements +} + +func (l *List) SetElements(elements []interface{}) error { + elmts := make([]ListElement, len(elements)) + for i, e := range elements { + if e, ok := e.(ListElement); ok { + elmts[i] = e + continue + } + return fmt.Errorf("unexpected type of list element: '%T'", e) + } + l.Elements = elmts + return nil +} + // CanAddElement checks if the given element can be added func (l *List) CanAddElement(element interface{}) bool { switch e := element.(type) { @@ -773,7 +825,7 @@ func NewListElements(elements []interface{}) (*ListElements, error) { switch e := e.(type) { case Attributes: attrs = attrs.AddAll(e) - case BlockWithAttributes: + case WithAttributes: if attrs != nil { e.SetAttributes(attrs) attrs = nil @@ -810,7 +862,7 @@ func NewListElements(elements []interface{}) (*ListElements, error) { return result, nil } -var _ BlockWithElements = &ListElements{} +var _ WithElements = &ListElements{} func (l *ListElements) GetAttributes() Attributes { return nil // unused @@ -1126,7 +1178,7 @@ func (e *OrderedListElement) AddElement(element interface{}) error { return addToListElement(e, element) } -var _ BlockWithAttributes = &OrderedListElement{} +var _ WithAttributes = &OrderedListElement{} // GetAttributes returns this list item's attributes func (e *OrderedListElement) GetAttributes() Attributes { @@ -1292,7 +1344,7 @@ func (e *UnorderedListElement) SetElements(elements []interface{}) error { return nil } -var _ BlockWithAttributes = &UnorderedListElement{} +var _ WithAttributes = &UnorderedListElement{} // GetAttributes returns this list item's attributes func (e *UnorderedListElement) GetAttributes() Attributes { @@ -1525,7 +1577,7 @@ func (e *LabeledListElement) SetElements(elements []interface{}) error { return nil } -var _ BlockWithAttributes = &LabeledListElement{} +var _ WithAttributes = &LabeledListElement{} // GetAttributes returns this list item's attributes func (e *LabeledListElement) GetAttributes() Attributes { @@ -1587,31 +1639,37 @@ const DocumentAttrHardBreaks = "hardbreaks" // NewParagraph initializes a new `Paragraph` func NewParagraph(elements ...interface{}) (*Paragraph, error) { // log.Debugf("new paragraph with attributes: '%v'", attributes) + for i, l := range elements { + if l, ok := l.(RawLine); ok { + // add `\n` unless the we're on the last element + if i < len(elements)-1 { + elements[i] = RawLine(l + "\n") + } + } + } return &Paragraph{ Elements: elements, }, nil } func NewAdmonitionParagraph(kind string, elements []interface{}) (*Paragraph, error) { - return &Paragraph{ - Attributes: Attributes{ - AttrStyle: kind, - }, - Elements: elements, - }, nil + p, _ := NewParagraph(elements...) + p.Attributes = Attributes{ + AttrStyle: kind, + } + return p, nil } func NewLiteralParagraph(kind string, elements []interface{}) (*Paragraph, error) { - return &Paragraph{ - Attributes: Attributes{ - AttrStyle: Literal, - AttrLiteralBlockType: kind, - }, - Elements: elements, - }, nil + p, _ := NewParagraph(elements...) + p.Attributes = Attributes{ + AttrStyle: Literal, + AttrLiteralBlockType: kind, + } + return p, nil } -var _ BlockWithElements = &Paragraph{} +var _ WithElements = &Paragraph{} // GetElements returns this paragraph's elements (or lines) func (p *Paragraph) GetElements() []interface{} { @@ -1627,11 +1685,14 @@ func (p *Paragraph) SetElements(elements []interface{}) error { var _ WithElementAddition = &Paragraph{} func (p *Paragraph) AddElement(e interface{}) error { + if r, ok := p.Elements[len(p.Elements)-1].(RawLine); ok { + p.Elements[len(p.Elements)-1] = RawLine(r + "\n") + } p.Elements = append(p.Elements, e) return nil } -var _ BlockWithAttributes = &Paragraph{} +var _ WithAttributes = &Paragraph{} // GetAttributes returns the attributes of this paragraph so that substitutions can be applied onto them func (p *Paragraph) GetAttributes() Attributes { @@ -1769,7 +1830,7 @@ func NewExternalCrossReference(location *Location, attributes interface{}) (*Ext }, nil } -var _ BlockWithLocation = &ExternalCrossReference{} +var _ WithLocation = &ExternalCrossReference{} func (x *ExternalCrossReference) GetLocation() *Location { return x.Location @@ -1820,7 +1881,7 @@ func NewImageBlock(location *Location, inlineAttributes Attributes) (*ImageBlock }, nil } -var _ BlockWithAttributes = &ImageBlock{} +var _ WithAttributes = &ImageBlock{} // GetAttributes returns this list item's attributes func (i *ImageBlock) GetAttributes() Attributes { @@ -1837,7 +1898,7 @@ func (i *ImageBlock) SetAttributes(attributes Attributes) { i.Attributes = attributes } -var _ BlockWithLocation = &ImageBlock{} +var _ WithLocation = &ImageBlock{} func (i *ImageBlock) GetLocation() *Location { return i.Location @@ -1854,8 +1915,7 @@ type InlineImage struct { } // NewInlineImage initializes a new `InlineImage` (similar to ImageBlock, but without attributes) -func NewInlineImage(location *Location, attributes interface{}, imagesdir interface{}) (*InlineImage, error) { - location.SetPathPrefix(imagesdir) +func NewInlineImage(location *Location, attributes interface{}) (*InlineImage, error) { attrs := toAttributesWithMapping(attributes, map[string]string{ AttrPositional1: AttrImageAlt, AttrPositional2: AttrWidth, @@ -1867,7 +1927,7 @@ func NewInlineImage(location *Location, attributes interface{}, imagesdir interf }, nil } -var _ BlockWithAttributes = &InlineImage{} +var _ WithAttributes = &InlineImage{} // GetAttributes returns this inline image's attributes func (i *InlineImage) GetAttributes() Attributes { @@ -1884,7 +1944,7 @@ func (i *InlineImage) SetAttributes(attributes Attributes) { i.Attributes = attributes } -var _ BlockWithLocation = &InlineImage{} +var _ WithLocation = &InlineImage{} func (i *InlineImage) GetLocation() *Location { return i.Location @@ -2080,13 +2140,21 @@ type DelimitedBlock struct { } func NewDelimitedBlock(kind string, elements []interface{}) (*DelimitedBlock, error) { + for i, l := range elements { + if l, ok := l.(RawLine); ok { + // add `\n` unless the we're on the last element + if i < len(elements)-1 { + elements[i] = RawLine(l + "\n") + } + } + } return &DelimitedBlock{ Kind: kind, Elements: elements, }, nil } -var _ BlockWithElements = &DelimitedBlock{} +var _ WithElements = &DelimitedBlock{} // GetElements returns this paragraph's elements (or lines) func (b *DelimitedBlock) GetElements() []interface{} { @@ -2099,20 +2167,20 @@ func (b *DelimitedBlock) SetElements(elements []interface{}) error { switch b.Kind { case Listing, Literal: // preserve space but discard empty lines - log.Debugf("discarding heading crlf on elements in block of kind '%s'", b.Kind) - // discard heading spaces and CR/LF + // log.Debugf("discarding leading crlf on elements in block of kind '%s'", b.Kind) + // discard leading spaces and CR/LF if s, ok := elements[0].(*StringElement); ok { s.Content = strings.TrimLeft(s.Content, "\r\n") } default: - log.Debugf("discarding heading spaces+crlf on elements in block of kind '%s'", b.Kind) - // discard heading spaces and CR/LF + // log.Debugf("discarding leading spaces+crlf on elements in block of kind '%s'", b.Kind) + // discard leading spaces and CR/LF if s, ok := elements[0].(*StringElement); ok { s.Content = strings.TrimLeft(s.Content, " \t\r\n") } } // discard trailing spaces and CR/LF - log.Debugf("discarding trailing spaces+crlf on elements in block of kind '%s'", b.Kind) + // log.Debugf("discarding trailing spaces+crlf on elements in block of kind '%s'", b.Kind) if s, ok := elements[len(elements)-1].(*StringElement); ok { s.Content = strings.TrimRight(s.Content, " \t\r\n") } @@ -2121,7 +2189,7 @@ func (b *DelimitedBlock) SetElements(elements []interface{}) error { return nil } -var _ BlockWithAttributes = &DelimitedBlock{} +var _ WithAttributes = &DelimitedBlock{} // GetAttributes returns the attributes of this paragraph so that substitutions can be applied onto them func (b *DelimitedBlock) GetAttributes() Attributes { @@ -2236,15 +2304,15 @@ func NewSection(level int, title []interface{}) (*Section, error) { }, nil } -var _ BlockWithElements = &Section{} +var _ WithTitle = &Section{} -// GetElements returns this section's title -func (s *Section) GetElements() []interface{} { +// GetTitle returns this section's title +func (s *Section) GetTitle() []interface{} { return s.Title } -// SetElements sets this section's title -func (s *Section) SetElements(title []interface{}) error { +// SetTitle sets this section's title +func (s *Section) SetTitle(title []interface{}) error { // 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) @@ -2558,7 +2626,7 @@ func toRawText(elements []interface{}) (string, error) { return result.String(), nil } -var _ BlockWithElements = &QuotedText{} +var _ WithElements = &QuotedText{} // GetElements returns this QuotedText's elements func (t *QuotedText) GetElements() []interface{} { @@ -2571,7 +2639,7 @@ func (t *QuotedText) SetElements(elements []interface{}) error { return nil } -var _ BlockWithAttributes = &QuotedText{} +var _ WithAttributes = &QuotedText{} // GetAttributes returns the attributes of this QuotedText func (t *QuotedText) GetAttributes() Attributes { @@ -2745,7 +2813,7 @@ func NewInlineLink(url *Location, attributes interface{}) (*InlineLink, error) { }, nil } -var _ BlockWithAttributes = &InlineLink{} +var _ WithAttributes = &InlineLink{} // GetAttributes returns this link's attributes func (l *InlineLink) GetAttributes() Attributes { @@ -2761,7 +2829,7 @@ func (l *InlineLink) SetAttributes(attributes Attributes) { l.Attributes = attributes } -var _ BlockWithLocation = &InlineLink{} +var _ WithLocation = &InlineLink{} func (l *InlineLink) GetLocation() *Location { return l.Location @@ -2867,7 +2935,7 @@ func (c *IfevalCondition) Eval(attributes map[string]interface{}) bool { } func (c *IfevalCondition) left(attributes map[string]interface{}) interface{} { - if s, ok := c.Left.(*AttributeSubstitution); ok { + if s, ok := c.Left.(*AttributeReference); ok { if v, found := attributes[s.Name]; found { return v } @@ -2876,7 +2944,7 @@ func (c *IfevalCondition) left(attributes map[string]interface{}) interface{} { } func (c *IfevalCondition) right(attributes map[string]interface{}) interface{} { - if s, ok := c.Right.(*AttributeSubstitution); ok { + if s, ok := c.Right.(*AttributeReference); ok { if v, found := attributes[s.Name]; found { return v } @@ -3094,7 +3162,7 @@ func NewFileInclusion(location *Location, attributes interface{}, rawtext string }, nil } -var _ BlockWithLocation = &FileInclusion{} +var _ WithLocation = &FileInclusion{} func (f *FileInclusion) GetLocation() *Location { return f.Location @@ -3365,12 +3433,11 @@ func NewIncludedFileEndTag(tag string) (IncludedFileEndTag, error) { // Location a Location contains characters and optionaly, document attributes type Location struct { Scheme string - Path []interface{} + Path interface{} } // NewLocation return a new location with the given elements func NewLocation(scheme interface{}, path []interface{}) (*Location, error) { - path = merge(path) // log.Debugf("new location: scheme='%v' path='%+v", scheme, path) s := "" if scheme, ok := scheme.([]byte); ok { @@ -3378,17 +3445,24 @@ func NewLocation(scheme interface{}, path []interface{}) (*Location, error) { } return &Location{ Scheme: s, - Path: path, + Path: Reduce(path), }, nil } -func (l *Location) SetPath(elements []interface{}) { - l.Path = merge(elements) +func (l *Location) SetPath(path interface{}) { + p := Reduce(path) + if log.IsLevelEnabled(log.DebugLevel) { + log.Debugf("setting path in location: %v", p) + } + l.Path = p } // SetPathPrefix adds the given prefix to the path if this latter is NOT an absolute // path and if there is no defined scheme func (l *Location) SetPathPrefix(p interface{}) { + if log.IsLevelEnabled(log.DebugLevel) { + log.Debugf("setting path with prefix: '%s' + '%s'", p, spew.Sdump(l.Path)) + } if p, ok := p.(string); ok && p != "" { if !strings.HasSuffix(p, "/") { p = p + "/" @@ -3396,14 +3470,14 @@ func (l *Location) SetPathPrefix(p interface{}) { if l.Scheme == "" && !strings.HasPrefix(l.Stringify(), "/") { if u, err := url.Parse(l.Stringify()); err == nil { if !u.IsAbs() { - l.Path = merge(p, l.Path) + l.SetPath(merge(p, l.Path)) } } } } - // if log.IsLevelEnabled(log.DebugLevel) { - // log.Debugf("set path with prefix: '%s'", spew.Sdump(l.Path...)) - // } + if log.IsLevelEnabled(log.DebugLevel) { + log.Debugf("set path with prefix: '%s'", spew.Sdump(l.Path)) + } } // Stringify returns a string representation of the location @@ -3527,6 +3601,8 @@ func NewTable(header interface{}, elements []interface{}) (*Table, error) { return t, nil } +var _ WithElements = &Table{} + // return the optional header line and the cell lines func (t *Table) GetElements() []interface{} { rows := make([]interface{}, len(t.Rows)) @@ -3554,7 +3630,7 @@ func (t *Table) SetElements(elements []interface{}) error { return nil } -var _ BlockWithAttributes = &Table{} +var _ WithAttributes = &Table{} func (t *Table) GetAttributes() Attributes { return t.Attributes @@ -3750,7 +3826,7 @@ func NewTableRow(elements []interface{}) (*TableRow, error) { }, nil } -var _ BlockWithElements = &TableRow{} +var _ WithElements = &TableRow{} func (r *TableRow) GetAttributes() Attributes { return nil @@ -3797,7 +3873,7 @@ func NewTableCell(content RawContent) (*TableCell, error) { }, nil } -var _ BlockWithElements = &TableCell{} +var _ WithElements = &TableCell{} func (c *TableCell) GetAttributes() Attributes { return nil diff --git a/pkg/types/types_test.go b/pkg/types/types_test.go index 0b970cfe..0976ad7d 100644 --- a/pkg/types/types_test.go +++ b/pkg/types/types_test.go @@ -513,11 +513,7 @@ var _ = Describe("section id resolution", func() { &types.InlineLink{ Location: &types.Location{ Scheme: "https://", - Path: []interface{}{ - &types.StringElement{ - Content: "foo.com", - }, - }, + Path: "foo.com", }, }, }, @@ -585,11 +581,7 @@ var _ = Describe("section id resolution", func() { &types.InlineLink{ Location: &types.Location{ Scheme: "https://", - Path: []interface{}{ - &types.StringElement{ - Content: "foo.com", - }, - }, + Path: "foo.com", }, }, }, @@ -648,11 +640,7 @@ var _ = Describe("section id resolution", func() { &types.InlineLink{ Location: &types.Location{ Scheme: "https://", - Path: []interface{}{ - &types.StringElement{ - Content: "foo.com", - }, - }, + Path: "foo.com", }, }, }, diff --git a/pkg/types/types_utils.go b/pkg/types/types_utils.go index 1b30d828..6d86f370 100644 --- a/pkg/types/types_utils.go +++ b/pkg/types/types_utils.go @@ -145,7 +145,7 @@ func stringify(element interface{}) string { return element.Content case *SpecialCharacter: return element.Name - case *AttributeSubstitution: // TODO: should never happen? + case *AttributeReference: // TODO: should never happen? return "{" + element.Name + "}" default: return fmt.Sprintf("%v", element) // "best-effort" here diff --git a/testsupport/document_matcher.go b/testsupport/document_matcher.go index 4103e75a..7ddaeb30 100644 --- a/testsupport/document_matcher.go +++ b/testsupport/document_matcher.go @@ -32,7 +32,7 @@ var opts = []cmp.Option{cmpopts.IgnoreUnexported( types.Footnotes{}, types.TableOfContents{}, types.AttributeDeclaration{}, - types.AttributeSubstitution{}, + types.AttributeReference{}, types.AttributeReset{}, types.CounterSubstitution{}, types.PredefinedAttribute{}, diff --git a/testsupport/html5_matcher.go b/testsupport/html5_matcher.go index aad21a68..4fb1c0f3 100644 --- a/testsupport/html5_matcher.go +++ b/testsupport/html5_matcher.go @@ -27,8 +27,8 @@ func (m *htmlMatcher) Match(actual interface{}) (success bool, err error) { return false, errors.Errorf("MatchHTML matcher expects a string (actual: %T)", actual) } if m.expected != actual { - GinkgoT().Logf("actual HTML:\n%s", actual) - GinkgoT().Logf("expected HTML:\n%s", m.expected) + GinkgoT().Logf("actual HTML:\n'%s'", actual) + GinkgoT().Logf("expected HTML:\n'%s'", m.expected) dmp := diffmatchpatch.New() diffs := dmp.DiffMain(actual.(string), m.expected, true) m.diffs = dmp.DiffPrettyText(diffs) diff --git a/testsupport/parse_document.go b/testsupport/parse_document.go index 0d935c29..c7dcb6a6 100644 --- a/testsupport/parse_document.go +++ b/testsupport/parse_document.go @@ -33,7 +33,7 @@ func ParseDocument(actual string, options ...interface{}) (*types.Document, erro return nil, err } if log.IsLevelEnabled(log.DebugLevel) { - log.Debugf("preparsed document:\n'%s'", p) + log.Debugf("preparsed document:\n%s", p) } return parser.ParseDocument(strings.NewReader(p), c, opts...) } diff --git a/testsupport/preparse_document.go b/testsupport/preparse_document.go index bce8c37c..4d97a336 100644 --- a/testsupport/preparse_document.go +++ b/testsupport/preparse_document.go @@ -27,7 +27,7 @@ func PreparseDocument(source string, options ...interface{}) (string, error) { } result, err := parser.Preprocess(strings.NewReader(source), configuration.NewConfiguration(settings...), opts...) if log.IsLevelEnabled(log.DebugLevel) && err == nil { - log.Debugf("preparsed document:\n'%s'", result) + log.Debugf("preparsed document:\n%s", result) } return result, err