From e0902fb9e09621cb3cf99471379a0b1c9f802a9a Mon Sep 17 00:00:00 2001 From: Xavier Coulon Date: Tue, 15 Feb 2022 21:56:19 +0100 Subject: [PATCH] feat(parser): support escape with backslahes (#935) Fixes #933 Signed-off-by: Xavier Coulon --- pkg/parser/escape_backslash_test.go | 722 + pkg/parser/parser.go | 58544 +++++++++++++++----------- pkg/parser/parser.peg | 255 +- pkg/types/types.go | 13 +- 4 files changed, 35247 insertions(+), 24287 deletions(-) create mode 100644 pkg/parser/escape_backslash_test.go diff --git a/pkg/parser/escape_backslash_test.go b/pkg/parser/escape_backslash_test.go new file mode 100644 index 00000000..a818257a --- /dev/null +++ b/pkg/parser/escape_backslash_test.go @@ -0,0 +1,722 @@ +package parser_test + +import ( + "github.com/bytesparadise/libasciidoc/pkg/types" + . "github.com/bytesparadise/libasciidoc/testsupport" + + . "github.com/onsi/ginkgo" // nolint:golint + . "github.com/onsi/gomega" // nolint:golintt +) + +var _ = Describe("escapes with backslashes", func() { + + Context("in final documents", func() { + + It("should escape attribute reference", func() { + source := `:id: cookie + +In /items/\{id}, the id attribute is not replaced.` + expected := &types.Document{ + Elements: []interface{}{ + &types.AttributeDeclaration{ + Name: "id", + Value: "cookie", + }, + &types.Paragraph{ + Elements: []interface{}{ + &types.StringElement{ + Content: `In /items/{id}, the id attribute is not replaced.`, + }, + }, + }, + }, + } + Expect(ParseDocument(source)).To(MatchDocument(expected)) + }) + + It("should parse attribute reference", func() { + source := `:id: cookie + +In /items/{id}, the id attribute is replaced.` + expected := &types.Document{ + Elements: []interface{}{ + &types.AttributeDeclaration{ + Name: "id", + Value: "cookie", + }, + &types.Paragraph{ + Elements: []interface{}{ + &types.StringElement{ + Content: `In /items/cookie, the id attribute is replaced.`, + }, + }, + }, + }, + } + Expect(ParseDocument(source)).To(MatchDocument(expected)) + }) + + It("should escape single quoted bold text", func() { + source := `\*Content* is not displayed as bold text.` + expected := &types.Document{ + Elements: []interface{}{ + &types.Paragraph{ + Elements: []interface{}{ + &types.StringElement{ + Content: `*Content* is not displayed as bold text.`, + }, + }, + }, + }, + } + Expect(ParseDocument(source)).To(MatchDocument(expected)) + }) + + It("should parse single quoted bold text", func() { + source := `*Content* is displayed as bold text.` + expected := &types.Document{ + Elements: []interface{}{ + &types.Paragraph{ + Elements: []interface{}{ + &types.QuotedText{ + Kind: types.SingleQuoteBold, + Elements: []interface{}{ + &types.StringElement{ + Content: "Content", + }, + }, + }, + &types.StringElement{ + Content: ` is displayed as bold text.`, + }, + }, + }, + }, + } + Expect(ParseDocument(source)).To(MatchDocument(expected)) + }) + + It("should escape single quoted italic text", func() { + source := `\_Content_ is not displayed as italic text.` + expected := &types.Document{ + Elements: []interface{}{ + &types.Paragraph{ + Elements: []interface{}{ + &types.StringElement{ + Content: `_Content_ is not displayed as italic text.`, + }, + }, + }, + }, + } + Expect(ParseDocument(source)).To(MatchDocument(expected)) + }) + + It("should parse single quoted italic text", func() { + source := `_Content_ is displayed as italic text.` + expected := &types.Document{ + Elements: []interface{}{ + &types.Paragraph{ + Elements: []interface{}{ + &types.QuotedText{ + Kind: types.SingleQuoteItalic, + Elements: []interface{}{ + &types.StringElement{ + Content: "Content", + }, + }, + }, + &types.StringElement{ + Content: ` is displayed as italic text.`, + }, + }, + }, + }, + } + Expect(ParseDocument(source)).To(MatchDocument(expected)) + }) + + It("should escape single bold text but not italic content", func() { + source := `\*_Content_* is not displayed as bold text.` + expected := &types.Document{ + Elements: []interface{}{ + &types.Paragraph{ + Elements: []interface{}{ + &types.StringElement{ + Content: "*", + }, + &types.QuotedText{ + Kind: types.SingleQuoteItalic, + Elements: []interface{}{ + &types.StringElement{ + Content: "Content", + }, + }, + }, + &types.StringElement{ + Content: `* is not displayed as bold text.`, + }, + }, + }, + }, + } + Expect(ParseDocument(source)).To(MatchDocument(expected)) + }) + + // TODO: test all combinations of embedded quoted text, with and without attributes + It("should escape single bold text and italic content", func() { + source := `\*\_Stars_* is not displayed as bold text.` + expected := &types.Document{ + Elements: []interface{}{ + &types.Paragraph{ + Elements: []interface{}{ + &types.StringElement{ + Content: `*_Stars_* is not displayed as bold text.`, + }, + }, + }, + }, + } + Expect(ParseDocument(source)).To(MatchDocument(expected)) + }) + + It("should parse single bold text with italic content", func() { + source := `*_Content_* is displayed as bold and italic text.` + expected := &types.Document{ + Elements: []interface{}{ + &types.Paragraph{ + Elements: []interface{}{ + &types.QuotedText{ + Kind: types.SingleQuoteBold, + Elements: []interface{}{ + &types.QuotedText{ + Kind: types.SingleQuoteItalic, + Elements: []interface{}{ + &types.StringElement{ + Content: "Content", + }, + }, + }, + }, + }, + &types.StringElement{ + Content: ` is displayed as bold and italic text.`, + }, + }, + }, + }, + } + Expect(ParseDocument(source)).To(MatchDocument(expected)) + }) + + It("should escape single quoted monospace text", func() { + source := "\\`Content` is not displayed as monospace text" + expected := &types.Document{ + Elements: []interface{}{ + &types.Paragraph{ + Elements: []interface{}{ + &types.StringElement{ + Content: "`Content` is not displayed as monospace text", + }, + }, + }, + }, + } + Expect(ParseDocument(source)).To(MatchDocument(expected)) + }) + + It("should parse single quoted monospace text", func() { + source := "`Content` is displayed as monospace text" + expected := &types.Document{ + Elements: []interface{}{ + &types.Paragraph{ + Elements: []interface{}{ + &types.QuotedText{ + Kind: types.SingleQuoteMonospace, + Elements: []interface{}{ + &types.StringElement{ + Content: "Content", + }, + }, + }, + &types.StringElement{ + Content: " is displayed as monospace text", + }, + }, + }, + }, + } + Expect(ParseDocument(source)).To(MatchDocument(expected)) + }) + + It("should escape attributes on bold text", func() { + Skip("needs clarification...") + source := `\[.role]*bold* is displayed as bold text, but without attributes.` + expected := &types.Document{ + Elements: []interface{}{ + &types.Paragraph{ + Elements: []interface{}{ + &types.StringElement{ + Content: "[.role]", + }, + &types.QuotedText{ + Kind: types.SingleQuoteBold, + Elements: []interface{}{ + &types.StringElement{ + Content: "bold", + }, + }, + }, + &types.StringElement{ + Content: " is displayed as bold text, but without attributes.", + }, + }, + }, + }, + } + Expect(ParseDocument(source)).To(MatchDocument(expected)) + }) + + It("should escape attributes and bold text", func() { + source := `[.role]\*bold* is not displayed as bold text.` + expected := &types.Document{ + Elements: []interface{}{ + &types.Paragraph{ + Elements: []interface{}{ + &types.StringElement{ + Content: "[.role]*bold* is not displayed as bold text.", + }, + }, + }, + }, + } + Expect(ParseDocument(source)).To(MatchDocument(expected)) + }) + + It("should parse attributes and bold text", func() { + source := `[.role]*bold* is displayed as bold text.` + expected := &types.Document{ + Elements: []interface{}{ + &types.Paragraph{ + Elements: []interface{}{ + &types.QuotedText{ + Kind: types.SingleQuoteBold, + Attributes: types.Attributes{ + types.AttrRoles: types.Roles{"role"}, + }, + Elements: []interface{}{ + &types.StringElement{ + Content: "bold", + }, + }, + }, + &types.StringElement{ + Content: " is displayed as bold text.", + }, + }, + }, + }, + } + Expect(ParseDocument(source)).To(MatchDocument(expected)) + }) + + It("should escape anchor", func() { + source := `\[[Word]] is not interpreted as an anchor. +The double brackets around it are preserved.` + expected := &types.Document{ + Elements: []interface{}{ + &types.Paragraph{ + Elements: []interface{}{ + &types.StringElement{ + Content: `[[Word]] is not interpreted as an anchor. +The double brackets around it are preserved.`, + }, + }, + }, + }, + } + Expect(ParseDocument(source)).To(MatchDocument(expected)) + }) + + It("should parse anchor", func() { + source := `[[Word]] is interpreted as an anchor.` + expected := &types.Document{ + Elements: []interface{}{ + &types.Paragraph{ + Elements: []interface{}{ + &types.InlineLink{ + Attributes: types.Attributes{ + types.AttrID: "Word", + }, + }, + &types.StringElement{ + Content: ` is interpreted as an anchor.`, + }, + }, + }, + }, + } + Expect(ParseDocument(source)).To(MatchDocument(expected)) + }) + + It("should escape relative link without attributes", func() { + source := `The URL \link:cookie.adoc[] is not converted into an active link.` + expected := &types.Document{ + Elements: []interface{}{ + &types.Paragraph{ + Elements: []interface{}{ + &types.StringElement{ + Content: `The URL link:cookie.adoc[] is not converted into an active link.`, + }, + }, + }, + }, + } + Expect(ParseDocument(source)).To(MatchDocument(expected)) + }) + + It("should parse relative link without attributes", func() { + source := `The URL link:cookie.adoc[] is converted into an active link.` + expected := &types.Document{ + Elements: []interface{}{ + &types.Paragraph{ + Elements: []interface{}{ + &types.StringElement{ + Content: `The URL `, + }, + &types.InlineLink{ + Location: &types.Location{ + Path: "cookie.adoc", + }, + }, + &types.StringElement{ + Content: ` is converted into an active link.`, + }, + }, + }, + }, + } + Expect(ParseDocument(source)).To(MatchDocument(expected)) + }) + + It("should escape relative link with attributes", func() { + source := `The URL \link:cookie.adoc[yummy] is not converted into an active link.` + expected := &types.Document{ + Elements: []interface{}{ + &types.Paragraph{ + Elements: []interface{}{ + &types.StringElement{ + Content: `The URL link:cookie.adoc[yummy] is not converted into an active link.`, + }, + }, + }, + }, + } + Expect(ParseDocument(source)).To(MatchDocument(expected)) + }) + + It("should parse relative link with attributes", func() { + source := `The URL link:cookie.adoc[yummy] is converted into an active link.` + expected := &types.Document{ + Elements: []interface{}{ + &types.Paragraph{ + Elements: []interface{}{ + &types.StringElement{ + Content: `The URL `, + }, + &types.InlineLink{ + Attributes: types.Attributes{ + types.AttrInlineLinkText: "yummy", + }, + Location: &types.Location{ + Path: "cookie.adoc", + }, + }, + &types.StringElement{ + Content: ` is converted into an active link.`, + }, + }, + }, + }, + } + Expect(ParseDocument(source)).To(MatchDocument(expected)) + }) + + It("should escape external link without attributes", func() { + source := `The URL \https://example.org is not converted into an active link.` + expected := &types.Document{ + Elements: []interface{}{ + &types.Paragraph{ + Elements: []interface{}{ + &types.StringElement{ + Content: `The URL https://example.org is not converted into an active link.`, + }, + }, + }, + }, + } + Expect(ParseDocument(source)).To(MatchDocument(expected)) + }) + + It("should parse external link without attributes", func() { + source := `The URL https://example.org is converted into an active link.` + expected := &types.Document{ + Elements: []interface{}{ + &types.Paragraph{ + Elements: []interface{}{ + &types.StringElement{ + Content: `The URL `, + }, + &types.InlineLink{ + Location: &types.Location{ + Scheme: "https://", + Path: "example.org", + }, + }, + &types.StringElement{ + Content: ` is converted into an active link.`, + }, + }, + }, + }, + } + Expect(ParseDocument(source)).To(MatchDocument(expected)) + }) + + It("should escape external link with attributes", func() { + source := `The URL \https://example.org[example] is not converted into an active link.` + expected := &types.Document{ + Elements: []interface{}{ + &types.Paragraph{ + Elements: []interface{}{ + &types.StringElement{ + Content: `The URL https://example.org[example] is not converted into an active link.`, + }, + }, + }, + }, + } + Expect(ParseDocument(source)).To(MatchDocument(expected)) + }) + + It("should parse external link with attributes", func() { + source := `The URL https://example.org[example] is converted into an active link.` + expected := &types.Document{ + Elements: []interface{}{ + &types.Paragraph{ + Elements: []interface{}{ + &types.StringElement{ + Content: `The URL `, + }, + &types.InlineLink{ + Attributes: types.Attributes{ + types.AttrInlineLinkText: "example", + }, + Location: &types.Location{ + Scheme: "https://", + Path: "example.org", + }, + }, + &types.StringElement{ + Content: ` is converted into an active link.`, + }, + }, + }, + }, + } + Expect(ParseDocument(source)).To(MatchDocument(expected)) + }) + + It("should escape apostrophe", func() { + source := "Here\\`'" + expected := &types.Document{ + Elements: []interface{}{ + &types.Paragraph{ + Elements: []interface{}{ + &types.StringElement{ + Content: "Here`'", + }, + }, + }, + }, + } + Expect(ParseDocument(source)).To(MatchDocument(expected)) + }) + + It("should parse apostrophe", func() { + source := "Here`'" + expected := &types.Document{ + Elements: []interface{}{ + &types.Paragraph{ + Elements: []interface{}{ + &types.StringElement{ + Content: "Here\u2019", + }, + }, + }, + }, + } + Expect(ParseDocument(source)).To(MatchDocument(expected)) + }) + + It("should escape copyright symbol", func() { + source := `Copyright \(C)` + expected := &types.Document{ + Elements: []interface{}{ + &types.Paragraph{ + Elements: []interface{}{ + &types.StringElement{ + Content: "Copyright (C)", + }, + }, + }, + }, + } + Expect(ParseDocument(source)).To(MatchDocument(expected)) + }) + + It("should parse copyright symbol", func() { + source := `Copyright (C)` + expected := &types.Document{ + Elements: []interface{}{ + &types.Paragraph{ + Elements: []interface{}{ + &types.StringElement{ + Content: "Copyright \u00a9", + }, + }, + }, + }, + } + Expect(ParseDocument(source)).To(MatchDocument(expected)) + }) + + It("should escape trademark symbol", func() { + source := `Trademark \(TM)` + expected := &types.Document{ + Elements: []interface{}{ + &types.Paragraph{ + Elements: []interface{}{ + &types.StringElement{ + Content: "Trademark (TM)", + }, + }, + }, + }, + } + Expect(ParseDocument(source)).To(MatchDocument(expected)) + }) + + It("should parse trademark symbol", func() { + source := `Trademark (TM)` + expected := &types.Document{ + Elements: []interface{}{ + &types.Paragraph{ + Elements: []interface{}{ + &types.StringElement{ + Content: "Trademark \u2122", + }, + }, + }, + }, + } + Expect(ParseDocument(source)).To(MatchDocument(expected)) + }) + + It("should escape registered symbol", func() { + source := `Registered \(R)` + expected := &types.Document{ + Elements: []interface{}{ + &types.Paragraph{ + Elements: []interface{}{ + &types.StringElement{ + Content: "Registered (R)", + }, + }, + }, + }, + } + Expect(ParseDocument(source)).To(MatchDocument(expected)) + }) + + It("should parse registered symbol", func() { + source := `Registered (R)` + expected := &types.Document{ + Elements: []interface{}{ + &types.Paragraph{ + Elements: []interface{}{ + &types.StringElement{ + Content: "Registered \u00ae", + }, + }, + }, + }, + } + Expect(ParseDocument(source)).To(MatchDocument(expected)) + }) + + It("should escape elipsis symbol", func() { + source := `Elipsis\...` + expected := &types.Document{ + Elements: []interface{}{ + &types.Paragraph{ + Elements: []interface{}{ + &types.StringElement{ + Content: "Elipsis...", + }, + }, + }, + }, + } + Expect(ParseDocument(source)).To(MatchDocument(expected)) + }) + + It("should parse registered symbol", func() { + source := `Elipsis...` + expected := &types.Document{ + Elements: []interface{}{ + &types.Paragraph{ + Elements: []interface{}{ + &types.StringElement{ + Content: "Elipsis\u2026\u200b", + }, + }, + }, + }, + } + Expect(ParseDocument(source)).To(MatchDocument(expected)) + }) + + It("should escape typographic quote", func() { + source := `Here\'s` + expected := &types.Document{ + Elements: []interface{}{ + &types.Paragraph{ + Elements: []interface{}{ + &types.StringElement{ + Content: "Here's", + }, + }, + }, + }, + } + Expect(ParseDocument(source)).To(MatchDocument(expected)) + }) + + It("should parse typographic quote", func() { + source := `Here's` + expected := &types.Document{ + Elements: []interface{}{ + &types.Paragraph{ + Elements: []interface{}{ + &types.StringElement{ + Content: "Here\u2019s", + }, + }, + }, + }, + } + Expect(ParseDocument(source)).To(MatchDocument(expected)) + }) + }) +}) diff --git a/pkg/parser/parser.go b/pkg/parser/parser.go index 2259a51d..93b26ae1 100644 --- a/pkg/parser/parser.go +++ b/pkg/parser/parser.go @@ -17,6 +17,8 @@ import ( "unicode/utf8" "github.com/bytesparadise/libasciidoc/pkg/types" + + log "github.com/sirupsen/logrus" ) var g = &grammar{ @@ -41,28 +43,28 @@ var g = &grammar{ name: "AttributeDeclaration", }, &actionExpr{ - pos: position{line: 372, col: 19, offset: 11492}, + pos: position{line: 364, col: 19, offset: 11153}, run: (*parser).callonDocumentRawLine6, expr: &seqExpr{ - pos: position{line: 372, col: 19, offset: 11492}, + pos: position{line: 364, col: 19, offset: 11153}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 372, col: 19, offset: 11492}, + pos: position{line: 364, col: 19, offset: 11153}, val: ":!", ignoreCase: false, want: "\":!\"", }, &labeledExpr{ - pos: position{line: 372, col: 24, offset: 11497}, + pos: position{line: 364, col: 24, offset: 11158}, label: "name", expr: &actionExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, run: (*parser).callonDocumentRawLine10, expr: &seqExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -71,9 +73,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 332, col: 28, offset: 10403}, + pos: position{line: 324, col: 28, offset: 10064}, expr: &charClassMatcher{ - pos: position{line: 332, col: 29, offset: 10404}, + pos: position{line: 324, col: 29, offset: 10065}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -87,18 +89,18 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 372, col: 45, offset: 11518}, + pos: position{line: 364, col: 45, offset: 11179}, val: ":", ignoreCase: false, want: "\":\"", }, &zeroOrMoreExpr{ - pos: position{line: 372, col: 49, offset: 11522}, + pos: position{line: 364, col: 49, offset: 11183}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonDocumentRawLine17, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -107,28 +109,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonDocumentRawLine20, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -137,9 +139,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -148,28 +150,28 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 374, col: 5, offset: 11605}, + pos: position{line: 366, col: 5, offset: 11266}, run: (*parser).callonDocumentRawLine27, expr: &seqExpr{ - pos: position{line: 374, col: 5, offset: 11605}, + pos: position{line: 366, col: 5, offset: 11266}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 374, col: 5, offset: 11605}, + pos: position{line: 366, col: 5, offset: 11266}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 374, col: 9, offset: 11609}, + pos: position{line: 366, col: 9, offset: 11270}, label: "name", expr: &actionExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, run: (*parser).callonDocumentRawLine31, expr: &seqExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -178,9 +180,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 332, col: 28, offset: 10403}, + pos: position{line: 324, col: 28, offset: 10064}, expr: &charClassMatcher{ - pos: position{line: 332, col: 29, offset: 10404}, + pos: position{line: 324, col: 29, offset: 10065}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -194,18 +196,18 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 374, col: 30, offset: 11630}, + pos: position{line: 366, col: 30, offset: 11291}, val: "!:", ignoreCase: false, want: "\"!:\"", }, &zeroOrMoreExpr{ - pos: position{line: 374, col: 35, offset: 11635}, + pos: position{line: 366, col: 35, offset: 11296}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonDocumentRawLine38, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -214,28 +216,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonDocumentRawLine41, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -244,9 +246,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -324,10 +326,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 71, col: 97, offset: 1860}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonDocumentRawLine64, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -336,9 +338,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -410,10 +412,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 75, col: 99, offset: 2038}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonDocumentRawLine83, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -422,9 +424,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -463,29 +465,303 @@ var g = &grammar{ &labeledExpr{ pos: position{line: 93, col: 11, offset: 2511}, label: "s", - expr: &actionExpr{ - pos: position{line: 659, col: 5, offset: 21191}, - run: (*parser).callonDocumentRawLine96, + expr: &choiceExpr{ + pos: position{line: 650, col: 5, offset: 20786}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 650, col: 5, offset: 20786}, + run: (*parser).callonDocumentRawLine97, + expr: &seqExpr{ + pos: position{line: 650, col: 5, offset: 20786}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 650, col: 5, offset: 20786}, + val: "\\{", + ignoreCase: false, + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 650, col: 13, offset: 20794}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + run: (*parser).callonDocumentRawLine101, + expr: &seqExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 324, col: 18, offset: 10054}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 324, col: 28, offset: 10064}, + expr: &charClassMatcher{ + pos: position{line: 324, col: 29, offset: 10065}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 650, col: 32, offset: 20813}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 657, col: 5, offset: 21054}, + run: (*parser).callonDocumentRawLine107, + expr: &seqExpr{ + pos: position{line: 657, col: 5, offset: 21054}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 657, col: 5, offset: 21054}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + &labeledExpr{ + pos: position{line: 657, col: 9, offset: 21058}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + run: (*parser).callonDocumentRawLine111, + expr: &seqExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 324, col: 18, offset: 10054}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 324, col: 28, offset: 10064}, + expr: &charClassMatcher{ + pos: position{line: 324, col: 29, offset: 10065}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 657, col: 28, offset: 21077}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 93, col: 39, offset: 2539}, + val: "\"", + ignoreCase: false, + want: "\"\\\"\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 94, col: 8, offset: 2570}, + run: (*parser).callonDocumentRawLine118, + expr: &seqExpr{ + pos: position{line: 94, col: 8, offset: 2570}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 94, col: 8, offset: 2570}, + val: "'", + ignoreCase: false, + want: "\"'\"", + }, + &labeledExpr{ + pos: position{line: 94, col: 12, offset: 2574}, + label: "s", + expr: &choiceExpr{ + pos: position{line: 650, col: 5, offset: 20786}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 650, col: 5, offset: 20786}, + run: (*parser).callonDocumentRawLine123, + expr: &seqExpr{ + pos: position{line: 650, col: 5, offset: 20786}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 650, col: 5, offset: 20786}, + val: "\\{", + ignoreCase: false, + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 650, col: 13, offset: 20794}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + run: (*parser).callonDocumentRawLine127, + expr: &seqExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 324, col: 18, offset: 10054}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 324, col: 28, offset: 10064}, + expr: &charClassMatcher{ + pos: position{line: 324, col: 29, offset: 10065}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 650, col: 32, offset: 20813}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 657, col: 5, offset: 21054}, + run: (*parser).callonDocumentRawLine133, + expr: &seqExpr{ + pos: position{line: 657, col: 5, offset: 21054}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 657, col: 5, offset: 21054}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + &labeledExpr{ + pos: position{line: 657, col: 9, offset: 21058}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + run: (*parser).callonDocumentRawLine137, + expr: &seqExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 324, col: 18, offset: 10054}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 324, col: 28, offset: 10064}, + expr: &charClassMatcher{ + pos: position{line: 324, col: 29, offset: 10065}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 657, col: 28, offset: 21077}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 94, col: 40, offset: 2602}, + val: "'", + ignoreCase: false, + want: "\"'\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 95, col: 8, offset: 2632}, + run: (*parser).callonDocumentRawLine144, + expr: &labeledExpr{ + pos: position{line: 95, col: 8, offset: 2632}, + label: "s", + expr: &choiceExpr{ + pos: position{line: 650, col: 5, offset: 20786}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 650, col: 5, offset: 20786}, + run: (*parser).callonDocumentRawLine147, expr: &seqExpr{ - pos: position{line: 659, col: 5, offset: 21191}, + pos: position{line: 650, col: 5, offset: 20786}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 659, col: 5, offset: 21191}, - val: "{", + pos: position{line: 650, col: 5, offset: 20786}, + val: "\\{", ignoreCase: false, - want: "\"{\"", + want: "\"\\\\{\"", }, &labeledExpr{ - pos: position{line: 659, col: 9, offset: 21195}, + pos: position{line: 650, col: 13, offset: 20794}, label: "name", expr: &actionExpr{ - pos: position{line: 332, col: 18, offset: 10393}, - run: (*parser).callonDocumentRawLine100, + pos: position{line: 324, col: 18, offset: 10054}, + run: (*parser).callonDocumentRawLine151, expr: &seqExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -494,9 +770,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 332, col: 28, offset: 10403}, + pos: position{line: 324, col: 28, offset: 10064}, expr: &charClassMatcher{ - pos: position{line: 332, col: 29, offset: 10404}, + pos: position{line: 324, col: 29, offset: 10065}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -510,7 +786,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 659, col: 28, offset: 21214}, + pos: position{line: 650, col: 32, offset: 20813}, val: "}", ignoreCase: false, want: "\"}\"", @@ -518,54 +794,29 @@ var g = &grammar{ }, }, }, - }, - &litMatcher{ - pos: position{line: 93, col: 39, offset: 2539}, - val: "\"", - ignoreCase: false, - want: "\"\\\"\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 94, col: 8, offset: 2570}, - run: (*parser).callonDocumentRawLine107, - expr: &seqExpr{ - pos: position{line: 94, col: 8, offset: 2570}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 94, col: 8, offset: 2570}, - val: "'", - ignoreCase: false, - want: "\"'\"", - }, - &labeledExpr{ - pos: position{line: 94, col: 12, offset: 2574}, - label: "s", - expr: &actionExpr{ - pos: position{line: 659, col: 5, offset: 21191}, - run: (*parser).callonDocumentRawLine111, + &actionExpr{ + pos: position{line: 657, col: 5, offset: 21054}, + run: (*parser).callonDocumentRawLine157, expr: &seqExpr{ - pos: position{line: 659, col: 5, offset: 21191}, + pos: position{line: 657, col: 5, offset: 21054}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 659, col: 5, offset: 21191}, + pos: position{line: 657, col: 5, offset: 21054}, val: "{", ignoreCase: false, want: "\"{\"", }, &labeledExpr{ - pos: position{line: 659, col: 9, offset: 21195}, + pos: position{line: 657, col: 9, offset: 21058}, label: "name", expr: &actionExpr{ - pos: position{line: 332, col: 18, offset: 10393}, - run: (*parser).callonDocumentRawLine115, + pos: position{line: 324, col: 18, offset: 10054}, + run: (*parser).callonDocumentRawLine161, expr: &seqExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -574,9 +825,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 332, col: 28, offset: 10403}, + pos: position{line: 324, col: 28, offset: 10064}, expr: &charClassMatcher{ - pos: position{line: 332, col: 29, offset: 10404}, + pos: position{line: 324, col: 29, offset: 10065}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -590,7 +841,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 659, col: 28, offset: 21214}, + pos: position{line: 657, col: 28, offset: 21077}, val: "}", ignoreCase: false, want: "\"}\"", @@ -599,81 +850,12 @@ var g = &grammar{ }, }, }, - &litMatcher{ - pos: position{line: 94, col: 40, offset: 2602}, - val: "'", - ignoreCase: false, - want: "\"'\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 95, col: 8, offset: 2632}, - run: (*parser).callonDocumentRawLine122, - expr: &labeledExpr{ - pos: position{line: 95, col: 8, offset: 2632}, - label: "s", - expr: &actionExpr{ - pos: position{line: 659, col: 5, offset: 21191}, - run: (*parser).callonDocumentRawLine124, - expr: &seqExpr{ - pos: position{line: 659, col: 5, offset: 21191}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 659, col: 5, offset: 21191}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - &labeledExpr{ - pos: position{line: 659, col: 9, offset: 21195}, - label: "name", - expr: &actionExpr{ - pos: position{line: 332, col: 18, offset: 10393}, - run: (*parser).callonDocumentRawLine128, - expr: &seqExpr{ - pos: position{line: 332, col: 18, offset: 10393}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 332, col: 18, offset: 10393}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 332, col: 28, offset: 10403}, - expr: &charClassMatcher{ - pos: position{line: 332, col: 29, offset: 10404}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 659, col: 28, offset: 21214}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, }, }, }, &actionExpr{ pos: position{line: 96, col: 8, offset: 2686}, - run: (*parser).callonDocumentRawLine134, + run: (*parser).callonDocumentRawLine167, expr: &seqExpr{ pos: position{line: 96, col: 8, offset: 2686}, exprs: []interface{}{ @@ -688,7 +870,7 @@ var g = &grammar{ label: "w", expr: &actionExpr{ pos: position{line: 96, col: 16, offset: 2694}, - run: (*parser).callonDocumentRawLine138, + run: (*parser).callonDocumentRawLine171, expr: &oneOrMoreExpr{ pos: position{line: 96, col: 16, offset: 2694}, expr: &charClassMatcher{ @@ -714,7 +896,7 @@ var g = &grammar{ }, &actionExpr{ pos: position{line: 97, col: 8, offset: 2772}, - run: (*parser).callonDocumentRawLine142, + run: (*parser).callonDocumentRawLine175, expr: &seqExpr{ pos: position{line: 97, col: 8, offset: 2772}, exprs: []interface{}{ @@ -729,7 +911,7 @@ var g = &grammar{ label: "w", expr: &actionExpr{ pos: position{line: 97, col: 15, offset: 2779}, - run: (*parser).callonDocumentRawLine146, + run: (*parser).callonDocumentRawLine179, expr: &oneOrMoreExpr{ pos: position{line: 97, col: 15, offset: 2779}, expr: &charClassMatcher{ @@ -754,24 +936,24 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2891, col: 12, offset: 96014}, - run: (*parser).callonDocumentRawLine150, + pos: position{line: 3050, col: 12, offset: 99438}, + run: (*parser).callonDocumentRawLine183, expr: &seqExpr{ - pos: position{line: 2891, col: 13, offset: 96015}, + pos: position{line: 3050, col: 13, offset: 99439}, exprs: []interface{}{ &zeroOrOneExpr{ - pos: position{line: 2891, col: 13, offset: 96015}, + pos: position{line: 3050, col: 13, offset: 99439}, expr: &litMatcher{ - pos: position{line: 2891, col: 13, offset: 96015}, + pos: position{line: 3050, col: 13, offset: 99439}, val: "-", ignoreCase: false, want: "\"-\"", }, }, &oneOrMoreExpr{ - pos: position{line: 2891, col: 18, offset: 96020}, + pos: position{line: 3050, col: 18, offset: 99444}, expr: &charClassMatcher{ - pos: position{line: 2891, col: 18, offset: 96020}, + pos: position{line: 3050, col: 18, offset: 99444}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -787,10 +969,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 85, col: 35, offset: 2272}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, - run: (*parser).callonDocumentRawLine157, + pos: position{line: 3058, col: 10, offset: 99611}, + run: (*parser).callonDocumentRawLine190, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -806,7 +988,7 @@ var g = &grammar{ alternatives: []interface{}{ &actionExpr{ pos: position{line: 101, col: 6, offset: 2896}, - run: (*parser).callonDocumentRawLine161, + run: (*parser).callonDocumentRawLine194, expr: &litMatcher{ pos: position{line: 101, col: 6, offset: 2896}, val: "==", @@ -816,7 +998,7 @@ var g = &grammar{ }, &actionExpr{ pos: position{line: 104, col: 8, offset: 2956}, - run: (*parser).callonDocumentRawLine163, + run: (*parser).callonDocumentRawLine196, expr: &litMatcher{ pos: position{line: 104, col: 8, offset: 2956}, val: "!=", @@ -826,7 +1008,7 @@ var g = &grammar{ }, &actionExpr{ pos: position{line: 107, col: 8, offset: 3019}, - run: (*parser).callonDocumentRawLine165, + run: (*parser).callonDocumentRawLine198, expr: &litMatcher{ pos: position{line: 107, col: 8, offset: 3019}, val: "<", @@ -836,7 +1018,7 @@ var g = &grammar{ }, &actionExpr{ pos: position{line: 110, col: 8, offset: 3081}, - run: (*parser).callonDocumentRawLine167, + run: (*parser).callonDocumentRawLine200, expr: &litMatcher{ pos: position{line: 110, col: 8, offset: 3081}, val: "<=", @@ -846,7 +1028,7 @@ var g = &grammar{ }, &actionExpr{ pos: position{line: 113, col: 8, offset: 3147}, - run: (*parser).callonDocumentRawLine169, + run: (*parser).callonDocumentRawLine202, expr: &litMatcher{ pos: position{line: 113, col: 8, offset: 3147}, val: ">", @@ -856,7 +1038,7 @@ var g = &grammar{ }, &actionExpr{ pos: position{line: 116, col: 8, offset: 3212}, - run: (*parser).callonDocumentRawLine171, + run: (*parser).callonDocumentRawLine204, expr: &litMatcher{ pos: position{line: 116, col: 8, offset: 3212}, val: ">=", @@ -870,10 +1052,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 86, col: 39, offset: 2318}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, - run: (*parser).callonDocumentRawLine174, + pos: position{line: 3058, col: 10, offset: 99611}, + run: (*parser).callonDocumentRawLine207, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -889,7 +1071,7 @@ var g = &grammar{ alternatives: []interface{}{ &actionExpr{ pos: position{line: 93, col: 6, offset: 2506}, - run: (*parser).callonDocumentRawLine178, + run: (*parser).callonDocumentRawLine211, expr: &seqExpr{ pos: position{line: 93, col: 6, offset: 2506}, exprs: []interface{}{ @@ -902,29 +1084,303 @@ var g = &grammar{ &labeledExpr{ pos: position{line: 93, col: 11, offset: 2511}, label: "s", - expr: &actionExpr{ - pos: position{line: 659, col: 5, offset: 21191}, - run: (*parser).callonDocumentRawLine182, + expr: &choiceExpr{ + pos: position{line: 650, col: 5, offset: 20786}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 650, col: 5, offset: 20786}, + run: (*parser).callonDocumentRawLine216, + expr: &seqExpr{ + pos: position{line: 650, col: 5, offset: 20786}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 650, col: 5, offset: 20786}, + val: "\\{", + ignoreCase: false, + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 650, col: 13, offset: 20794}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + run: (*parser).callonDocumentRawLine220, + expr: &seqExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 324, col: 18, offset: 10054}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 324, col: 28, offset: 10064}, + expr: &charClassMatcher{ + pos: position{line: 324, col: 29, offset: 10065}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 650, col: 32, offset: 20813}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 657, col: 5, offset: 21054}, + run: (*parser).callonDocumentRawLine226, + expr: &seqExpr{ + pos: position{line: 657, col: 5, offset: 21054}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 657, col: 5, offset: 21054}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + &labeledExpr{ + pos: position{line: 657, col: 9, offset: 21058}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + run: (*parser).callonDocumentRawLine230, + expr: &seqExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 324, col: 18, offset: 10054}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 324, col: 28, offset: 10064}, + expr: &charClassMatcher{ + pos: position{line: 324, col: 29, offset: 10065}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 657, col: 28, offset: 21077}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 93, col: 39, offset: 2539}, + val: "\"", + ignoreCase: false, + want: "\"\\\"\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 94, col: 8, offset: 2570}, + run: (*parser).callonDocumentRawLine237, + expr: &seqExpr{ + pos: position{line: 94, col: 8, offset: 2570}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 94, col: 8, offset: 2570}, + val: "'", + ignoreCase: false, + want: "\"'\"", + }, + &labeledExpr{ + pos: position{line: 94, col: 12, offset: 2574}, + label: "s", + expr: &choiceExpr{ + pos: position{line: 650, col: 5, offset: 20786}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 650, col: 5, offset: 20786}, + run: (*parser).callonDocumentRawLine242, + expr: &seqExpr{ + pos: position{line: 650, col: 5, offset: 20786}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 650, col: 5, offset: 20786}, + val: "\\{", + ignoreCase: false, + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 650, col: 13, offset: 20794}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + run: (*parser).callonDocumentRawLine246, + expr: &seqExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 324, col: 18, offset: 10054}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 324, col: 28, offset: 10064}, + expr: &charClassMatcher{ + pos: position{line: 324, col: 29, offset: 10065}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 650, col: 32, offset: 20813}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 657, col: 5, offset: 21054}, + run: (*parser).callonDocumentRawLine252, + expr: &seqExpr{ + pos: position{line: 657, col: 5, offset: 21054}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 657, col: 5, offset: 21054}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + &labeledExpr{ + pos: position{line: 657, col: 9, offset: 21058}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + run: (*parser).callonDocumentRawLine256, + expr: &seqExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 324, col: 18, offset: 10054}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 324, col: 28, offset: 10064}, + expr: &charClassMatcher{ + pos: position{line: 324, col: 29, offset: 10065}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 657, col: 28, offset: 21077}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 94, col: 40, offset: 2602}, + val: "'", + ignoreCase: false, + want: "\"'\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 95, col: 8, offset: 2632}, + run: (*parser).callonDocumentRawLine263, + expr: &labeledExpr{ + pos: position{line: 95, col: 8, offset: 2632}, + label: "s", + expr: &choiceExpr{ + pos: position{line: 650, col: 5, offset: 20786}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 650, col: 5, offset: 20786}, + run: (*parser).callonDocumentRawLine266, expr: &seqExpr{ - pos: position{line: 659, col: 5, offset: 21191}, + pos: position{line: 650, col: 5, offset: 20786}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 659, col: 5, offset: 21191}, - val: "{", + pos: position{line: 650, col: 5, offset: 20786}, + val: "\\{", ignoreCase: false, - want: "\"{\"", + want: "\"\\\\{\"", }, &labeledExpr{ - pos: position{line: 659, col: 9, offset: 21195}, + pos: position{line: 650, col: 13, offset: 20794}, label: "name", expr: &actionExpr{ - pos: position{line: 332, col: 18, offset: 10393}, - run: (*parser).callonDocumentRawLine186, + pos: position{line: 324, col: 18, offset: 10054}, + run: (*parser).callonDocumentRawLine270, expr: &seqExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -933,9 +1389,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 332, col: 28, offset: 10403}, + pos: position{line: 324, col: 28, offset: 10064}, expr: &charClassMatcher{ - pos: position{line: 332, col: 29, offset: 10404}, + pos: position{line: 324, col: 29, offset: 10065}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -949,7 +1405,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 659, col: 28, offset: 21214}, + pos: position{line: 650, col: 32, offset: 20813}, val: "}", ignoreCase: false, want: "\"}\"", @@ -957,54 +1413,29 @@ var g = &grammar{ }, }, }, - }, - &litMatcher{ - pos: position{line: 93, col: 39, offset: 2539}, - val: "\"", - ignoreCase: false, - want: "\"\\\"\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 94, col: 8, offset: 2570}, - run: (*parser).callonDocumentRawLine193, - expr: &seqExpr{ - pos: position{line: 94, col: 8, offset: 2570}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 94, col: 8, offset: 2570}, - val: "'", - ignoreCase: false, - want: "\"'\"", - }, - &labeledExpr{ - pos: position{line: 94, col: 12, offset: 2574}, - label: "s", - expr: &actionExpr{ - pos: position{line: 659, col: 5, offset: 21191}, - run: (*parser).callonDocumentRawLine197, + &actionExpr{ + pos: position{line: 657, col: 5, offset: 21054}, + run: (*parser).callonDocumentRawLine276, expr: &seqExpr{ - pos: position{line: 659, col: 5, offset: 21191}, + pos: position{line: 657, col: 5, offset: 21054}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 659, col: 5, offset: 21191}, + pos: position{line: 657, col: 5, offset: 21054}, val: "{", ignoreCase: false, want: "\"{\"", }, &labeledExpr{ - pos: position{line: 659, col: 9, offset: 21195}, + pos: position{line: 657, col: 9, offset: 21058}, label: "name", expr: &actionExpr{ - pos: position{line: 332, col: 18, offset: 10393}, - run: (*parser).callonDocumentRawLine201, + pos: position{line: 324, col: 18, offset: 10054}, + run: (*parser).callonDocumentRawLine280, expr: &seqExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -1013,9 +1444,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 332, col: 28, offset: 10403}, + pos: position{line: 324, col: 28, offset: 10064}, expr: &charClassMatcher{ - pos: position{line: 332, col: 29, offset: 10404}, + pos: position{line: 324, col: 29, offset: 10065}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -1029,7 +1460,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 659, col: 28, offset: 21214}, + pos: position{line: 657, col: 28, offset: 21077}, val: "}", ignoreCase: false, want: "\"}\"", @@ -1038,81 +1469,12 @@ var g = &grammar{ }, }, }, - &litMatcher{ - pos: position{line: 94, col: 40, offset: 2602}, - val: "'", - ignoreCase: false, - want: "\"'\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 95, col: 8, offset: 2632}, - run: (*parser).callonDocumentRawLine208, - expr: &labeledExpr{ - pos: position{line: 95, col: 8, offset: 2632}, - label: "s", - expr: &actionExpr{ - pos: position{line: 659, col: 5, offset: 21191}, - run: (*parser).callonDocumentRawLine210, - expr: &seqExpr{ - pos: position{line: 659, col: 5, offset: 21191}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 659, col: 5, offset: 21191}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - &labeledExpr{ - pos: position{line: 659, col: 9, offset: 21195}, - label: "name", - expr: &actionExpr{ - pos: position{line: 332, col: 18, offset: 10393}, - run: (*parser).callonDocumentRawLine214, - expr: &seqExpr{ - pos: position{line: 332, col: 18, offset: 10393}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 332, col: 18, offset: 10393}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 332, col: 28, offset: 10403}, - expr: &charClassMatcher{ - pos: position{line: 332, col: 29, offset: 10404}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 659, col: 28, offset: 21214}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, }, }, }, &actionExpr{ pos: position{line: 96, col: 8, offset: 2686}, - run: (*parser).callonDocumentRawLine220, + run: (*parser).callonDocumentRawLine286, expr: &seqExpr{ pos: position{line: 96, col: 8, offset: 2686}, exprs: []interface{}{ @@ -1127,7 +1489,7 @@ var g = &grammar{ label: "w", expr: &actionExpr{ pos: position{line: 96, col: 16, offset: 2694}, - run: (*parser).callonDocumentRawLine224, + run: (*parser).callonDocumentRawLine290, expr: &oneOrMoreExpr{ pos: position{line: 96, col: 16, offset: 2694}, expr: &charClassMatcher{ @@ -1153,7 +1515,7 @@ var g = &grammar{ }, &actionExpr{ pos: position{line: 97, col: 8, offset: 2772}, - run: (*parser).callonDocumentRawLine228, + run: (*parser).callonDocumentRawLine294, expr: &seqExpr{ pos: position{line: 97, col: 8, offset: 2772}, exprs: []interface{}{ @@ -1168,7 +1530,7 @@ var g = &grammar{ label: "w", expr: &actionExpr{ pos: position{line: 97, col: 15, offset: 2779}, - run: (*parser).callonDocumentRawLine232, + run: (*parser).callonDocumentRawLine298, expr: &oneOrMoreExpr{ pos: position{line: 97, col: 15, offset: 2779}, expr: &charClassMatcher{ @@ -1193,24 +1555,24 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2891, col: 12, offset: 96014}, - run: (*parser).callonDocumentRawLine236, + pos: position{line: 3050, col: 12, offset: 99438}, + run: (*parser).callonDocumentRawLine302, expr: &seqExpr{ - pos: position{line: 2891, col: 13, offset: 96015}, + pos: position{line: 3050, col: 13, offset: 99439}, exprs: []interface{}{ &zeroOrOneExpr{ - pos: position{line: 2891, col: 13, offset: 96015}, + pos: position{line: 3050, col: 13, offset: 99439}, expr: &litMatcher{ - pos: position{line: 2891, col: 13, offset: 96015}, + pos: position{line: 3050, col: 13, offset: 99439}, val: "-", ignoreCase: false, want: "\"-\"", }, }, &oneOrMoreExpr{ - pos: position{line: 2891, col: 18, offset: 96020}, + pos: position{line: 3050, col: 18, offset: 99444}, expr: &charClassMatcher{ - pos: position{line: 2891, col: 18, offset: 96020}, + pos: position{line: 3050, col: 18, offset: 99444}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -1232,10 +1594,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 88, col: 5, offset: 2370}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, - run: (*parser).callonDocumentRawLine244, + pos: position{line: 3058, col: 10, offset: 99611}, + run: (*parser).callonDocumentRawLine310, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -1244,9 +1606,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -1254,7 +1616,7 @@ var g = &grammar{ }, &actionExpr{ pos: position{line: 124, col: 10, offset: 3339}, - run: (*parser).callonDocumentRawLine248, + run: (*parser).callonDocumentRawLine314, expr: &seqExpr{ pos: position{line: 124, col: 10, offset: 3339}, exprs: []interface{}{ @@ -1271,7 +1633,7 @@ var g = &grammar{ pos: position{line: 124, col: 25, offset: 3354}, expr: &actionExpr{ pos: position{line: 128, col: 28, offset: 3562}, - run: (*parser).callonDocumentRawLine253, + run: (*parser).callonDocumentRawLine319, expr: &oneOrMoreExpr{ pos: position{line: 128, col: 28, offset: 3562}, expr: &charClassMatcher{ @@ -1298,7 +1660,7 @@ var g = &grammar{ pos: position{line: 124, col: 61, offset: 3390}, expr: &actionExpr{ pos: position{line: 79, col: 34, offset: 2152}, - run: (*parser).callonDocumentRawLine259, + run: (*parser).callonDocumentRawLine325, expr: &oneOrMoreExpr{ pos: position{line: 79, col: 34, offset: 2152}, expr: &charClassMatcher{ @@ -1321,10 +1683,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 124, col: 98, offset: 3427}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, - run: (*parser).callonDocumentRawLine264, + pos: position{line: 3058, col: 10, offset: 99611}, + run: (*parser).callonDocumentRawLine330, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -1333,24 +1695,24 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, }, }, &actionExpr{ - pos: position{line: 731, col: 5, offset: 23680}, - run: (*parser).callonDocumentRawLine268, + pos: position{line: 729, col: 5, offset: 23543}, + run: (*parser).callonDocumentRawLine334, expr: &seqExpr{ - pos: position{line: 731, col: 5, offset: 23680}, + pos: position{line: 729, col: 5, offset: 23543}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 731, col: 5, offset: 23680}, + pos: position{line: 729, col: 5, offset: 23543}, expr: &charClassMatcher{ - pos: position{line: 2813, col: 13, offset: 93503}, + pos: position{line: 2972, col: 13, offset: 96927}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -1359,30 +1721,30 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 732, col: 5, offset: 23710}, + pos: position{line: 730, col: 5, offset: 23573}, label: "delimiter", expr: &choiceExpr{ - pos: position{line: 733, col: 9, offset: 23730}, + pos: position{line: 731, col: 9, offset: 23593}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 746, col: 26, offset: 24217}, - run: (*parser).callonDocumentRawLine274, + pos: position{line: 744, col: 26, offset: 24080}, + run: (*parser).callonDocumentRawLine340, expr: &seqExpr{ - pos: position{line: 746, col: 26, offset: 24217}, + pos: position{line: 744, col: 26, offset: 24080}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 746, col: 26, offset: 24217}, + pos: position{line: 744, col: 26, offset: 24080}, val: "////", ignoreCase: false, want: "\"////\"", }, &zeroOrMoreExpr{ - pos: position{line: 746, col: 33, offset: 24224}, + pos: position{line: 744, col: 33, offset: 24087}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, - run: (*parser).callonDocumentRawLine278, + pos: position{line: 3058, col: 10, offset: 99611}, + run: (*parser).callonDocumentRawLine344, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -1391,28 +1753,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, - run: (*parser).callonDocumentRawLine281, + pos: position{line: 3067, col: 12, offset: 99795}, + run: (*parser).callonDocumentRawLine347, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -1421,9 +1783,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -1432,24 +1794,24 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 750, col: 26, offset: 24331}, - run: (*parser).callonDocumentRawLine288, + pos: position{line: 748, col: 26, offset: 24194}, + run: (*parser).callonDocumentRawLine354, expr: &seqExpr{ - pos: position{line: 750, col: 26, offset: 24331}, + pos: position{line: 748, col: 26, offset: 24194}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 750, col: 26, offset: 24331}, + pos: position{line: 748, col: 26, offset: 24194}, val: "====", ignoreCase: false, want: "\"====\"", }, &zeroOrMoreExpr{ - pos: position{line: 750, col: 33, offset: 24338}, + pos: position{line: 748, col: 33, offset: 24201}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, - run: (*parser).callonDocumentRawLine292, + pos: position{line: 3058, col: 10, offset: 99611}, + run: (*parser).callonDocumentRawLine358, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -1458,28 +1820,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, - run: (*parser).callonDocumentRawLine295, + pos: position{line: 3067, col: 12, offset: 99795}, + run: (*parser).callonDocumentRawLine361, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -1488,9 +1850,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -1499,27 +1861,27 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 758, col: 26, offset: 24556}, - run: (*parser).callonDocumentRawLine302, + pos: position{line: 756, col: 26, offset: 24419}, + run: (*parser).callonDocumentRawLine368, expr: &seqExpr{ - pos: position{line: 758, col: 26, offset: 24556}, + pos: position{line: 756, col: 26, offset: 24419}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 758, col: 26, offset: 24556}, + pos: position{line: 756, col: 26, offset: 24419}, val: "```", ignoreCase: false, want: "\"```\"", }, &labeledExpr{ - pos: position{line: 758, col: 32, offset: 24562}, + pos: position{line: 756, col: 32, offset: 24425}, label: "language", expr: &actionExpr{ - pos: position{line: 762, col: 13, offset: 24692}, - run: (*parser).callonDocumentRawLine306, + pos: position{line: 760, col: 13, offset: 24555}, + run: (*parser).callonDocumentRawLine372, expr: &oneOrMoreExpr{ - pos: position{line: 762, col: 14, offset: 24693}, + pos: position{line: 760, col: 14, offset: 24556}, expr: &charClassMatcher{ - pos: position{line: 762, col: 14, offset: 24693}, + pos: position{line: 760, col: 14, offset: 24556}, val: "[^\\r\\n ]", chars: []rune{'\r', '\n', ' '}, ignoreCase: false, @@ -1529,12 +1891,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 758, col: 52, offset: 24582}, + pos: position{line: 756, col: 52, offset: 24445}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, - run: (*parser).callonDocumentRawLine310, + pos: position{line: 3058, col: 10, offset: 99611}, + run: (*parser).callonDocumentRawLine376, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -1543,28 +1905,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, - run: (*parser).callonDocumentRawLine313, + pos: position{line: 3067, col: 12, offset: 99795}, + run: (*parser).callonDocumentRawLine379, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -1573,9 +1935,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -1584,24 +1946,24 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 754, col: 25, offset: 24444}, - run: (*parser).callonDocumentRawLine320, + pos: position{line: 752, col: 25, offset: 24307}, + run: (*parser).callonDocumentRawLine386, expr: &seqExpr{ - pos: position{line: 754, col: 25, offset: 24444}, + pos: position{line: 752, col: 25, offset: 24307}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 754, col: 25, offset: 24444}, + pos: position{line: 752, col: 25, offset: 24307}, val: "```", ignoreCase: false, want: "\"```\"", }, &zeroOrMoreExpr{ - pos: position{line: 754, col: 31, offset: 24450}, + pos: position{line: 752, col: 31, offset: 24313}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, - run: (*parser).callonDocumentRawLine324, + pos: position{line: 3058, col: 10, offset: 99611}, + run: (*parser).callonDocumentRawLine390, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -1610,28 +1972,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, - run: (*parser).callonDocumentRawLine327, + pos: position{line: 3067, col: 12, offset: 99795}, + run: (*parser).callonDocumentRawLine393, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -1640,9 +2002,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -1651,24 +2013,24 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 766, col: 26, offset: 24765}, - run: (*parser).callonDocumentRawLine334, + pos: position{line: 764, col: 26, offset: 24628}, + run: (*parser).callonDocumentRawLine400, expr: &seqExpr{ - pos: position{line: 766, col: 26, offset: 24765}, + pos: position{line: 764, col: 26, offset: 24628}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 766, col: 26, offset: 24765}, + pos: position{line: 764, col: 26, offset: 24628}, val: "----", ignoreCase: false, want: "\"----\"", }, &zeroOrMoreExpr{ - pos: position{line: 766, col: 33, offset: 24772}, + pos: position{line: 764, col: 33, offset: 24635}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, - run: (*parser).callonDocumentRawLine338, + pos: position{line: 3058, col: 10, offset: 99611}, + run: (*parser).callonDocumentRawLine404, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -1677,28 +2039,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, - run: (*parser).callonDocumentRawLine341, + pos: position{line: 3067, col: 12, offset: 99795}, + run: (*parser).callonDocumentRawLine407, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -1707,9 +2069,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -1718,24 +2080,24 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 770, col: 26, offset: 24879}, - run: (*parser).callonDocumentRawLine348, + pos: position{line: 768, col: 26, offset: 24742}, + run: (*parser).callonDocumentRawLine414, expr: &seqExpr{ - pos: position{line: 770, col: 26, offset: 24879}, + pos: position{line: 768, col: 26, offset: 24742}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 770, col: 26, offset: 24879}, + pos: position{line: 768, col: 26, offset: 24742}, val: "....", ignoreCase: false, want: "\"....\"", }, &zeroOrMoreExpr{ - pos: position{line: 770, col: 33, offset: 24886}, + pos: position{line: 768, col: 33, offset: 24749}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, - run: (*parser).callonDocumentRawLine352, + pos: position{line: 3058, col: 10, offset: 99611}, + run: (*parser).callonDocumentRawLine418, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -1744,28 +2106,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, - run: (*parser).callonDocumentRawLine355, + pos: position{line: 3067, col: 12, offset: 99795}, + run: (*parser).callonDocumentRawLine421, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -1774,9 +2136,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -1785,24 +2147,24 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 774, col: 30, offset: 24997}, - run: (*parser).callonDocumentRawLine362, + pos: position{line: 772, col: 30, offset: 24860}, + run: (*parser).callonDocumentRawLine428, expr: &seqExpr{ - pos: position{line: 774, col: 30, offset: 24997}, + pos: position{line: 772, col: 30, offset: 24860}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 774, col: 30, offset: 24997}, + pos: position{line: 772, col: 30, offset: 24860}, val: "++++", ignoreCase: false, want: "\"++++\"", }, &zeroOrMoreExpr{ - pos: position{line: 774, col: 37, offset: 25004}, + pos: position{line: 772, col: 37, offset: 24867}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, - run: (*parser).callonDocumentRawLine366, + pos: position{line: 3058, col: 10, offset: 99611}, + run: (*parser).callonDocumentRawLine432, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -1811,28 +2173,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, - run: (*parser).callonDocumentRawLine369, + pos: position{line: 3067, col: 12, offset: 99795}, + run: (*parser).callonDocumentRawLine435, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -1841,9 +2203,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -1852,24 +2214,24 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 778, col: 24, offset: 25113}, - run: (*parser).callonDocumentRawLine376, + pos: position{line: 776, col: 24, offset: 24976}, + run: (*parser).callonDocumentRawLine442, expr: &seqExpr{ - pos: position{line: 778, col: 24, offset: 25113}, + pos: position{line: 776, col: 24, offset: 24976}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 778, col: 24, offset: 25113}, + pos: position{line: 776, col: 24, offset: 24976}, val: "____", ignoreCase: false, want: "\"____\"", }, &zeroOrMoreExpr{ - pos: position{line: 778, col: 31, offset: 25120}, + pos: position{line: 776, col: 31, offset: 24983}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, - run: (*parser).callonDocumentRawLine380, + pos: position{line: 3058, col: 10, offset: 99611}, + run: (*parser).callonDocumentRawLine446, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -1878,28 +2240,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, - run: (*parser).callonDocumentRawLine383, + pos: position{line: 3067, col: 12, offset: 99795}, + run: (*parser).callonDocumentRawLine449, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -1908,9 +2270,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -1919,24 +2281,24 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 782, col: 26, offset: 25225}, - run: (*parser).callonDocumentRawLine390, + pos: position{line: 780, col: 26, offset: 25088}, + run: (*parser).callonDocumentRawLine456, expr: &seqExpr{ - pos: position{line: 782, col: 26, offset: 25225}, + pos: position{line: 780, col: 26, offset: 25088}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 782, col: 26, offset: 25225}, + pos: position{line: 780, col: 26, offset: 25088}, val: "****", ignoreCase: false, want: "\"****\"", }, &zeroOrMoreExpr{ - pos: position{line: 782, col: 33, offset: 25232}, + pos: position{line: 780, col: 33, offset: 25095}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, - run: (*parser).callonDocumentRawLine394, + pos: position{line: 3058, col: 10, offset: 99611}, + run: (*parser).callonDocumentRawLine460, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -1945,28 +2307,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, - run: (*parser).callonDocumentRawLine397, + pos: position{line: 3067, col: 12, offset: 99795}, + run: (*parser).callonDocumentRawLine463, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -1975,9 +2337,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -1993,24 +2355,24 @@ var g = &grammar{ }, &actionExpr{ pos: position{line: 43, col: 5, offset: 940}, - run: (*parser).callonDocumentRawLine404, + run: (*parser).callonDocumentRawLine470, expr: &seqExpr{ pos: position{line: 43, col: 5, offset: 940}, exprs: []interface{}{ &andCodeExpr{ pos: position{line: 43, col: 5, offset: 940}, - run: (*parser).callonDocumentRawLine406, + run: (*parser).callonDocumentRawLine472, }, &andCodeExpr{ pos: position{line: 47, col: 5, offset: 1084}, - run: (*parser).callonDocumentRawLine407, + run: (*parser).callonDocumentRawLine473, }, &labeledExpr{ pos: position{line: 50, col: 5, offset: 1147}, label: "level", expr: &actionExpr{ pos: position{line: 50, col: 12, offset: 1154}, - run: (*parser).callonDocumentRawLine409, + run: (*parser).callonDocumentRawLine475, expr: &oneOrMoreExpr{ pos: position{line: 50, col: 12, offset: 1154}, expr: &litMatcher{ @@ -2024,15 +2386,15 @@ var g = &grammar{ }, &andCodeExpr{ pos: position{line: 54, col: 5, offset: 1263}, - run: (*parser).callonDocumentRawLine412, + run: (*parser).callonDocumentRawLine478, }, &actionExpr{ - pos: position{line: 2903, col: 11, offset: 96254}, - run: (*parser).callonDocumentRawLine413, + pos: position{line: 3062, col: 11, offset: 99678}, + run: (*parser).callonDocumentRawLine479, expr: &oneOrMoreExpr{ - pos: position{line: 2903, col: 11, offset: 96254}, + pos: position{line: 3062, col: 11, offset: 99678}, expr: &charClassMatcher{ - pos: position{line: 2903, col: 12, offset: 96255}, + pos: position{line: 3062, col: 12, offset: 99679}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -2051,9 +2413,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -2063,9 +2425,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -2100,46 +2462,46 @@ var g = &grammar{ pos: position{line: 138, col: 9, offset: 3820}, label: "path", expr: &actionExpr{ - pos: position{line: 2855, col: 17, offset: 94805}, + pos: position{line: 3014, col: 17, offset: 98229}, run: (*parser).callonFileInclusion8, expr: &labeledExpr{ - pos: position{line: 2855, col: 17, offset: 94805}, + pos: position{line: 3014, col: 17, offset: 98229}, label: "path", expr: &oneOrMoreExpr{ - pos: position{line: 2855, col: 22, offset: 94810}, + pos: position{line: 3014, col: 22, offset: 98234}, expr: &choiceExpr{ - pos: position{line: 2855, col: 23, offset: 94811}, + pos: position{line: 3014, col: 23, offset: 98235}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2870, col: 5, offset: 95267}, + pos: position{line: 3029, col: 5, offset: 98691}, run: (*parser).callonFileInclusion12, expr: &seqExpr{ - pos: position{line: 2870, col: 5, offset: 95267}, + pos: position{line: 3029, col: 5, offset: 98691}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 2870, col: 5, offset: 95267}, + pos: position{line: 3029, col: 5, offset: 98691}, expr: &litMatcher{ - pos: position{line: 2870, col: 6, offset: 95268}, + pos: position{line: 3029, col: 6, offset: 98692}, val: "[", ignoreCase: false, want: "\"[\"", }, }, &labeledExpr{ - pos: position{line: 2871, col: 5, offset: 95292}, + pos: position{line: 3030, col: 5, offset: 98716}, label: "elements", expr: &oneOrMoreExpr{ - pos: position{line: 2871, col: 14, offset: 95301}, + pos: position{line: 3030, col: 14, offset: 98725}, expr: &choiceExpr{ - pos: position{line: 2872, col: 9, offset: 95311}, + pos: position{line: 3031, col: 9, offset: 98735}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2872, col: 9, offset: 95311}, + pos: position{line: 3031, col: 9, offset: 98735}, run: (*parser).callonFileInclusion19, expr: &oneOrMoreExpr{ - pos: position{line: 2872, col: 9, offset: 95311}, + pos: position{line: 3031, col: 9, offset: 98735}, expr: &charClassMatcher{ - pos: position{line: 2872, col: 10, offset: 95312}, + pos: position{line: 3031, col: 10, offset: 98736}, val: "[^\\r\\n[]�{.,;?!<> ]", chars: []rune{'\r', '\n', '[', ']', '�', '{', '.', ',', ';', '?', '!', '<', '>', ' '}, ignoreCase: false, @@ -2148,13 +2510,13 @@ var g = &grammar{ }, }, &seqExpr{ - pos: position{line: 2875, col: 11, offset: 95577}, + pos: position{line: 3034, col: 11, offset: 99001}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 2845, col: 25, offset: 94548}, + pos: position{line: 3004, col: 25, offset: 97972}, run: (*parser).callonFileInclusion23, expr: &charClassMatcher{ - pos: position{line: 2845, col: 25, offset: 94548}, + pos: position{line: 3004, col: 25, offset: 97972}, val: "[.,;?!]", chars: []rune{'.', ',', ';', '?', '!'}, ignoreCase: false, @@ -2162,23 +2524,23 @@ var g = &grammar{ }, }, &andExpr{ - pos: position{line: 2875, col: 32, offset: 95598}, + pos: position{line: 3034, col: 32, offset: 99022}, expr: ¬Expr{ - pos: position{line: 2875, col: 34, offset: 95600}, + pos: position{line: 3034, col: 34, offset: 99024}, expr: &choiceExpr{ - pos: position{line: 2875, col: 36, offset: 95602}, + pos: position{line: 3034, col: 36, offset: 99026}, alternatives: []interface{}{ ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonFileInclusion30, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -2192,44 +2554,44 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 651, col: 5, offset: 21000}, + pos: position{line: 641, col: 5, offset: 20579}, run: (*parser).callonFileInclusion32, expr: &seqExpr{ - pos: position{line: 651, col: 5, offset: 21000}, + pos: position{line: 641, col: 5, offset: 20579}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 651, col: 5, offset: 21000}, + pos: position{line: 641, col: 5, offset: 20579}, run: (*parser).callonFileInclusion34, }, &labeledExpr{ - pos: position{line: 654, col: 5, offset: 21069}, + pos: position{line: 644, col: 5, offset: 20648}, label: "element", expr: &choiceExpr{ - pos: position{line: 654, col: 14, offset: 21078}, + pos: position{line: 644, col: 14, offset: 20657}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 666, col: 25, offset: 21447}, + pos: position{line: 664, col: 25, offset: 21310}, run: (*parser).callonFileInclusion37, expr: &seqExpr{ - pos: position{line: 666, col: 25, offset: 21447}, + pos: position{line: 664, col: 25, offset: 21310}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 666, col: 25, offset: 21447}, + pos: position{line: 664, col: 25, offset: 21310}, val: "{counter:", ignoreCase: false, want: "\"{counter:\"", }, &labeledExpr{ - pos: position{line: 666, col: 37, offset: 21459}, + pos: position{line: 664, col: 37, offset: 21322}, label: "name", expr: &actionExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, run: (*parser).callonFileInclusion41, expr: &seqExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -2238,9 +2600,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 332, col: 28, offset: 10403}, + pos: position{line: 324, col: 28, offset: 10064}, expr: &charClassMatcher{ - pos: position{line: 332, col: 29, offset: 10404}, + pos: position{line: 324, col: 29, offset: 10065}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -2254,33 +2616,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 666, col: 56, offset: 21478}, + pos: position{line: 664, col: 56, offset: 21341}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 666, col: 62, offset: 21484}, + pos: position{line: 664, col: 62, offset: 21347}, expr: &actionExpr{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, run: (*parser).callonFileInclusion48, expr: &seqExpr{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 674, col: 21, offset: 21783}, + pos: position{line: 672, col: 21, offset: 21646}, label: "start", expr: &choiceExpr{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, run: (*parser).callonFileInclusion53, expr: &charClassMatcher{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -2288,12 +2650,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, run: (*parser).callonFileInclusion55, expr: &oneOrMoreExpr{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, expr: &charClassMatcher{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -2310,7 +2672,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 666, col: 78, offset: 21500}, + pos: position{line: 664, col: 78, offset: 21363}, val: "}", ignoreCase: false, want: "\"}\"", @@ -2319,28 +2681,28 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 670, col: 25, offset: 21618}, + pos: position{line: 668, col: 25, offset: 21481}, run: (*parser).callonFileInclusion59, expr: &seqExpr{ - pos: position{line: 670, col: 25, offset: 21618}, + pos: position{line: 668, col: 25, offset: 21481}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 670, col: 25, offset: 21618}, + pos: position{line: 668, col: 25, offset: 21481}, val: "{counter2:", ignoreCase: false, want: "\"{counter2:\"", }, &labeledExpr{ - pos: position{line: 670, col: 38, offset: 21631}, + pos: position{line: 668, col: 38, offset: 21494}, label: "name", expr: &actionExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, run: (*parser).callonFileInclusion63, expr: &seqExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -2349,9 +2711,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 332, col: 28, offset: 10403}, + pos: position{line: 324, col: 28, offset: 10064}, expr: &charClassMatcher{ - pos: position{line: 332, col: 29, offset: 10404}, + pos: position{line: 324, col: 29, offset: 10065}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -2365,33 +2727,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 670, col: 57, offset: 21650}, + pos: position{line: 668, col: 57, offset: 21513}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 670, col: 63, offset: 21656}, + pos: position{line: 668, col: 63, offset: 21519}, expr: &actionExpr{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, run: (*parser).callonFileInclusion70, expr: &seqExpr{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 674, col: 21, offset: 21783}, + pos: position{line: 672, col: 21, offset: 21646}, label: "start", expr: &choiceExpr{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, run: (*parser).callonFileInclusion75, expr: &charClassMatcher{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -2399,12 +2761,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, run: (*parser).callonFileInclusion77, expr: &oneOrMoreExpr{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, expr: &charClassMatcher{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -2421,7 +2783,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 670, col: 79, offset: 21672}, + pos: position{line: 668, col: 79, offset: 21535}, val: "}", ignoreCase: false, want: "\"}\"", @@ -2430,28 +2792,83 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 659, col: 5, offset: 21191}, + pos: position{line: 650, col: 5, offset: 20786}, run: (*parser).callonFileInclusion81, expr: &seqExpr{ - pos: position{line: 659, col: 5, offset: 21191}, + pos: position{line: 650, col: 5, offset: 20786}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 659, col: 5, offset: 21191}, + pos: position{line: 650, col: 5, offset: 20786}, + val: "\\{", + ignoreCase: false, + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 650, col: 13, offset: 20794}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + run: (*parser).callonFileInclusion85, + expr: &seqExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 324, col: 18, offset: 10054}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 324, col: 28, offset: 10064}, + expr: &charClassMatcher{ + pos: position{line: 324, col: 29, offset: 10065}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 650, col: 32, offset: 20813}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 657, col: 5, offset: 21054}, + run: (*parser).callonFileInclusion91, + expr: &seqExpr{ + pos: position{line: 657, col: 5, offset: 21054}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 657, col: 5, offset: 21054}, val: "{", ignoreCase: false, want: "\"{\"", }, &labeledExpr{ - pos: position{line: 659, col: 9, offset: 21195}, + pos: position{line: 657, col: 9, offset: 21058}, label: "name", expr: &actionExpr{ - pos: position{line: 332, col: 18, offset: 10393}, - run: (*parser).callonFileInclusion85, + pos: position{line: 324, col: 18, offset: 10054}, + run: (*parser).callonFileInclusion95, expr: &seqExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -2460,9 +2877,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 332, col: 28, offset: 10403}, + pos: position{line: 324, col: 28, offset: 10064}, expr: &charClassMatcher{ - pos: position{line: 332, col: 29, offset: 10404}, + pos: position{line: 324, col: 29, offset: 10065}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -2476,7 +2893,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 659, col: 28, offset: 21214}, + pos: position{line: 657, col: 28, offset: 21077}, val: "}", ignoreCase: false, want: "\"}\"", @@ -2491,49 +2908,49 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2599, col: 5, offset: 86909}, - run: (*parser).callonFileInclusion91, + pos: position{line: 2743, col: 5, offset: 89823}, + run: (*parser).callonFileInclusion101, expr: &seqExpr{ - pos: position{line: 2599, col: 5, offset: 86909}, + pos: position{line: 2743, col: 5, offset: 89823}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 2599, col: 5, offset: 86909}, - run: (*parser).callonFileInclusion93, + pos: position{line: 2743, col: 5, offset: 89823}, + run: (*parser).callonFileInclusion103, }, &labeledExpr{ - pos: position{line: 2602, col: 5, offset: 86985}, + pos: position{line: 2746, col: 5, offset: 89899}, label: "element", expr: &choiceExpr{ - pos: position{line: 2604, col: 9, offset: 87083}, + pos: position{line: 2748, col: 9, offset: 89997}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2604, col: 9, offset: 87083}, - run: (*parser).callonFileInclusion96, + pos: position{line: 2748, col: 9, offset: 89997}, + run: (*parser).callonFileInclusion106, expr: &choiceExpr{ - pos: position{line: 694, col: 27, offset: 22498}, + pos: position{line: 692, col: 27, offset: 22361}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 694, col: 27, offset: 22498}, - run: (*parser).callonFileInclusion98, + pos: position{line: 692, col: 27, offset: 22361}, + run: (*parser).callonFileInclusion108, expr: &seqExpr{ - pos: position{line: 694, col: 27, offset: 22498}, + pos: position{line: 692, col: 27, offset: 22361}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 694, col: 27, offset: 22498}, + pos: position{line: 692, col: 27, offset: 22361}, val: "<<", ignoreCase: false, want: "\"<<\"", }, &labeledExpr{ - pos: position{line: 694, col: 32, offset: 22503}, + pos: position{line: 692, col: 32, offset: 22366}, label: "id", expr: &actionExpr{ - pos: position{line: 2884, col: 7, offset: 95839}, - run: (*parser).callonFileInclusion102, + pos: position{line: 3043, col: 7, offset: 99263}, + run: (*parser).callonFileInclusion112, expr: &oneOrMoreExpr{ - pos: position{line: 2884, col: 7, offset: 95839}, + pos: position{line: 3043, col: 7, offset: 99263}, expr: &charClassMatcher{ - pos: position{line: 2884, col: 7, offset: 95839}, + pos: position{line: 3043, col: 7, offset: 99263}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -2543,12 +2960,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 694, col: 40, offset: 22511}, + pos: position{line: 692, col: 40, offset: 22374}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, - run: (*parser).callonFileInclusion106, + pos: position{line: 3058, col: 10, offset: 99611}, + run: (*parser).callonFileInclusion116, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -2557,27 +2974,27 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 694, col: 47, offset: 22518}, + pos: position{line: 692, col: 47, offset: 22381}, val: ",", ignoreCase: false, want: "\",\"", }, &labeledExpr{ - pos: position{line: 694, col: 51, offset: 22522}, + pos: position{line: 692, col: 51, offset: 22385}, label: "label", expr: &oneOrMoreExpr{ - pos: position{line: 704, col: 24, offset: 22923}, + pos: position{line: 702, col: 24, offset: 22786}, expr: &choiceExpr{ - pos: position{line: 705, col: 5, offset: 22929}, + pos: position{line: 703, col: 5, offset: 22792}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 705, col: 6, offset: 22930}, - run: (*parser).callonFileInclusion112, + pos: position{line: 703, col: 6, offset: 22793}, + run: (*parser).callonFileInclusion122, expr: &seqExpr{ - pos: position{line: 705, col: 6, offset: 22930}, + pos: position{line: 703, col: 6, offset: 22793}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 705, col: 6, offset: 22930}, + pos: position{line: 703, col: 6, offset: 22793}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -2585,9 +3002,9 @@ var g = &grammar{ inverted: false, }, &oneOrMoreExpr{ - pos: position{line: 705, col: 14, offset: 22938}, + pos: position{line: 703, col: 14, offset: 22801}, expr: &charClassMatcher{ - pos: position{line: 705, col: 14, offset: 22938}, + pos: position{line: 703, col: 14, offset: 22801}, val: "[^\\r\\n{<>]", chars: []rune{'\r', '\n', '{', '<', '>'}, ignoreCase: false, @@ -2598,28 +3015,83 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 659, col: 5, offset: 21191}, - run: (*parser).callonFileInclusion117, + pos: position{line: 650, col: 5, offset: 20786}, + run: (*parser).callonFileInclusion127, expr: &seqExpr{ - pos: position{line: 659, col: 5, offset: 21191}, + pos: position{line: 650, col: 5, offset: 20786}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 659, col: 5, offset: 21191}, + pos: position{line: 650, col: 5, offset: 20786}, + val: "\\{", + ignoreCase: false, + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 650, col: 13, offset: 20794}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + run: (*parser).callonFileInclusion131, + expr: &seqExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 324, col: 18, offset: 10054}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 324, col: 28, offset: 10064}, + expr: &charClassMatcher{ + pos: position{line: 324, col: 29, offset: 10065}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 650, col: 32, offset: 20813}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 657, col: 5, offset: 21054}, + run: (*parser).callonFileInclusion137, + expr: &seqExpr{ + pos: position{line: 657, col: 5, offset: 21054}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 657, col: 5, offset: 21054}, val: "{", ignoreCase: false, want: "\"{\"", }, &labeledExpr{ - pos: position{line: 659, col: 9, offset: 21195}, + pos: position{line: 657, col: 9, offset: 21058}, label: "name", expr: &actionExpr{ - pos: position{line: 332, col: 18, offset: 10393}, - run: (*parser).callonFileInclusion121, + pos: position{line: 324, col: 18, offset: 10054}, + run: (*parser).callonFileInclusion141, expr: &seqExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -2628,9 +3100,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 332, col: 28, offset: 10403}, + pos: position{line: 324, col: 28, offset: 10064}, expr: &charClassMatcher{ - pos: position{line: 332, col: 29, offset: 10404}, + pos: position{line: 324, col: 29, offset: 10065}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -2644,7 +3116,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 659, col: 28, offset: 21214}, + pos: position{line: 657, col: 28, offset: 21077}, val: "}", ignoreCase: false, want: "\"}\"", @@ -2653,10 +3125,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 709, col: 8, offset: 23164}, - run: (*parser).callonFileInclusion127, + pos: position{line: 707, col: 8, offset: 23027}, + run: (*parser).callonFileInclusion147, expr: &litMatcher{ - pos: position{line: 709, col: 8, offset: 23164}, + pos: position{line: 707, col: 8, offset: 23027}, val: "{", ignoreCase: false, want: "\"{\"", @@ -2667,7 +3139,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 694, col: 79, offset: 22550}, + pos: position{line: 692, col: 79, offset: 22413}, val: ">>", ignoreCase: false, want: "\">>\"", @@ -2676,27 +3148,27 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 696, col: 9, offset: 22623}, - run: (*parser).callonFileInclusion130, + pos: position{line: 694, col: 9, offset: 22486}, + run: (*parser).callonFileInclusion150, expr: &seqExpr{ - pos: position{line: 696, col: 9, offset: 22623}, + pos: position{line: 694, col: 9, offset: 22486}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 696, col: 9, offset: 22623}, + pos: position{line: 694, col: 9, offset: 22486}, val: "<<", ignoreCase: false, want: "\"<<\"", }, &labeledExpr{ - pos: position{line: 696, col: 14, offset: 22628}, + pos: position{line: 694, col: 14, offset: 22491}, label: "id", expr: &actionExpr{ - pos: position{line: 2884, col: 7, offset: 95839}, - run: (*parser).callonFileInclusion134, + pos: position{line: 3043, col: 7, offset: 99263}, + run: (*parser).callonFileInclusion154, expr: &oneOrMoreExpr{ - pos: position{line: 2884, col: 7, offset: 95839}, + pos: position{line: 3043, col: 7, offset: 99263}, expr: &charClassMatcher{ - pos: position{line: 2884, col: 7, offset: 95839}, + pos: position{line: 3043, col: 7, offset: 99263}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -2706,7 +3178,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 696, col: 22, offset: 22636}, + pos: position{line: 694, col: 22, offset: 22499}, val: ">>", ignoreCase: false, want: "\">>\"", @@ -2718,10 +3190,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2607, col: 11, offset: 87187}, - run: (*parser).callonFileInclusion138, + pos: position{line: 2751, col: 11, offset: 90101}, + run: (*parser).callonFileInclusion158, expr: &charClassMatcher{ - pos: position{line: 2607, col: 12, offset: 87188}, + pos: position{line: 2751, col: 12, offset: 90102}, val: "[<>&]", chars: []rune{'<', '>', '&'}, ignoreCase: false, @@ -2735,10 +3207,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2878, col: 11, offset: 95683}, - run: (*parser).callonFileInclusion140, + pos: position{line: 3037, col: 11, offset: 99107}, + run: (*parser).callonFileInclusion160, expr: &litMatcher{ - pos: position{line: 2878, col: 11, offset: 95683}, + pos: position{line: 3037, col: 11, offset: 99107}, val: "{", ignoreCase: false, want: "\"{\"", @@ -2752,27 +3224,27 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1122, col: 23, offset: 34991}, - run: (*parser).callonFileInclusion142, + pos: position{line: 1120, col: 23, offset: 34854}, + run: (*parser).callonFileInclusion162, expr: &seqExpr{ - pos: position{line: 1122, col: 23, offset: 34991}, + pos: position{line: 1120, col: 23, offset: 34854}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1120, col: 32, offset: 34959}, + pos: position{line: 1118, col: 32, offset: 34822}, val: "�", ignoreCase: false, want: "\"�\"", }, &labeledExpr{ - pos: position{line: 1122, col: 51, offset: 35019}, + pos: position{line: 1120, col: 51, offset: 34882}, label: "ref", expr: &actionExpr{ - pos: position{line: 1122, col: 56, offset: 35024}, - run: (*parser).callonFileInclusion146, + pos: position{line: 1120, col: 56, offset: 34887}, + run: (*parser).callonFileInclusion166, expr: &oneOrMoreExpr{ - pos: position{line: 1122, col: 56, offset: 35024}, + pos: position{line: 1120, col: 56, offset: 34887}, expr: &charClassMatcher{ - pos: position{line: 1122, col: 56, offset: 35024}, + pos: position{line: 1120, col: 56, offset: 34887}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -2782,7 +3254,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1120, col: 32, offset: 34959}, + pos: position{line: 1118, col: 32, offset: 34822}, val: "�", ignoreCase: false, want: "\"�\"", @@ -2811,10 +3283,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 143, col: 5, offset: 4016}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, - run: (*parser).callonFileInclusion153, + pos: position{line: 3058, col: 10, offset: 99611}, + run: (*parser).callonFileInclusion173, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -2823,28 +3295,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, - run: (*parser).callonFileInclusion156, + pos: position{line: 3067, col: 12, offset: 99795}, + run: (*parser).callonFileInclusion176, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -2853,9 +3325,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -2901,24 +3373,24 @@ var g = &grammar{ pos: position{line: 166, col: 19, offset: 4718}, label: "start", expr: &actionExpr{ - pos: position{line: 2891, col: 12, offset: 96014}, + pos: position{line: 3050, col: 12, offset: 99438}, run: (*parser).callonLineRanges12, expr: &seqExpr{ - pos: position{line: 2891, col: 13, offset: 96015}, + pos: position{line: 3050, col: 13, offset: 99439}, exprs: []interface{}{ &zeroOrOneExpr{ - pos: position{line: 2891, col: 13, offset: 96015}, + pos: position{line: 3050, col: 13, offset: 99439}, expr: &litMatcher{ - pos: position{line: 2891, col: 13, offset: 96015}, + pos: position{line: 3050, col: 13, offset: 99439}, val: "-", ignoreCase: false, want: "\"-\"", }, }, &oneOrMoreExpr{ - pos: position{line: 2891, col: 18, offset: 96020}, + pos: position{line: 3050, col: 18, offset: 99444}, expr: &charClassMatcher{ - pos: position{line: 2891, col: 18, offset: 96020}, + pos: position{line: 3050, col: 18, offset: 99444}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -2939,24 +3411,24 @@ var g = &grammar{ pos: position{line: 166, col: 40, offset: 4739}, label: "end", expr: &actionExpr{ - pos: position{line: 2891, col: 12, offset: 96014}, + pos: position{line: 3050, col: 12, offset: 99438}, run: (*parser).callonLineRanges20, expr: &seqExpr{ - pos: position{line: 2891, col: 13, offset: 96015}, + pos: position{line: 3050, col: 13, offset: 99439}, exprs: []interface{}{ &zeroOrOneExpr{ - pos: position{line: 2891, col: 13, offset: 96015}, + pos: position{line: 3050, col: 13, offset: 99439}, expr: &litMatcher{ - pos: position{line: 2891, col: 13, offset: 96015}, + pos: position{line: 3050, col: 13, offset: 99439}, val: "-", ignoreCase: false, want: "\"-\"", }, }, &oneOrMoreExpr{ - pos: position{line: 2891, col: 18, offset: 96020}, + pos: position{line: 3050, col: 18, offset: 99444}, expr: &charClassMatcher{ - pos: position{line: 2891, col: 18, offset: 96020}, + pos: position{line: 3050, col: 18, offset: 99444}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -2977,24 +3449,24 @@ var g = &grammar{ pos: position{line: 170, col: 20, offset: 4860}, label: "singleline", expr: &actionExpr{ - pos: position{line: 2891, col: 12, offset: 96014}, + pos: position{line: 3050, col: 12, offset: 99438}, run: (*parser).callonLineRanges28, expr: &seqExpr{ - pos: position{line: 2891, col: 13, offset: 96015}, + pos: position{line: 3050, col: 13, offset: 99439}, exprs: []interface{}{ &zeroOrOneExpr{ - pos: position{line: 2891, col: 13, offset: 96015}, + pos: position{line: 3050, col: 13, offset: 99439}, expr: &litMatcher{ - pos: position{line: 2891, col: 13, offset: 96015}, + pos: position{line: 3050, col: 13, offset: 99439}, val: "-", ignoreCase: false, want: "\"-\"", }, }, &oneOrMoreExpr{ - pos: position{line: 2891, col: 18, offset: 96020}, + pos: position{line: 3050, col: 18, offset: 99444}, expr: &charClassMatcher{ - pos: position{line: 2891, col: 18, offset: 96020}, + pos: position{line: 3050, col: 18, offset: 99444}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -3043,24 +3515,24 @@ var g = &grammar{ pos: position{line: 166, col: 19, offset: 4718}, label: "start", expr: &actionExpr{ - pos: position{line: 2891, col: 12, offset: 96014}, + pos: position{line: 3050, col: 12, offset: 99438}, run: (*parser).callonLineRanges44, expr: &seqExpr{ - pos: position{line: 2891, col: 13, offset: 96015}, + pos: position{line: 3050, col: 13, offset: 99439}, exprs: []interface{}{ &zeroOrOneExpr{ - pos: position{line: 2891, col: 13, offset: 96015}, + pos: position{line: 3050, col: 13, offset: 99439}, expr: &litMatcher{ - pos: position{line: 2891, col: 13, offset: 96015}, + pos: position{line: 3050, col: 13, offset: 99439}, val: "-", ignoreCase: false, want: "\"-\"", }, }, &oneOrMoreExpr{ - pos: position{line: 2891, col: 18, offset: 96020}, + pos: position{line: 3050, col: 18, offset: 99444}, expr: &charClassMatcher{ - pos: position{line: 2891, col: 18, offset: 96020}, + pos: position{line: 3050, col: 18, offset: 99444}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -3081,24 +3553,24 @@ var g = &grammar{ pos: position{line: 166, col: 40, offset: 4739}, label: "end", expr: &actionExpr{ - pos: position{line: 2891, col: 12, offset: 96014}, + pos: position{line: 3050, col: 12, offset: 99438}, run: (*parser).callonLineRanges52, expr: &seqExpr{ - pos: position{line: 2891, col: 13, offset: 96015}, + pos: position{line: 3050, col: 13, offset: 99439}, exprs: []interface{}{ &zeroOrOneExpr{ - pos: position{line: 2891, col: 13, offset: 96015}, + pos: position{line: 3050, col: 13, offset: 99439}, expr: &litMatcher{ - pos: position{line: 2891, col: 13, offset: 96015}, + pos: position{line: 3050, col: 13, offset: 99439}, val: "-", ignoreCase: false, want: "\"-\"", }, }, &oneOrMoreExpr{ - pos: position{line: 2891, col: 18, offset: 96020}, + pos: position{line: 3050, col: 18, offset: 99444}, expr: &charClassMatcher{ - pos: position{line: 2891, col: 18, offset: 96020}, + pos: position{line: 3050, col: 18, offset: 99444}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -3119,24 +3591,24 @@ var g = &grammar{ pos: position{line: 170, col: 20, offset: 4860}, label: "singleline", expr: &actionExpr{ - pos: position{line: 2891, col: 12, offset: 96014}, + pos: position{line: 3050, col: 12, offset: 99438}, run: (*parser).callonLineRanges60, expr: &seqExpr{ - pos: position{line: 2891, col: 13, offset: 96015}, + pos: position{line: 3050, col: 13, offset: 99439}, exprs: []interface{}{ &zeroOrOneExpr{ - pos: position{line: 2891, col: 13, offset: 96015}, + pos: position{line: 3050, col: 13, offset: 99439}, expr: &litMatcher{ - pos: position{line: 2891, col: 13, offset: 96015}, + pos: position{line: 3050, col: 13, offset: 99439}, val: "-", ignoreCase: false, want: "\"-\"", }, }, &oneOrMoreExpr{ - pos: position{line: 2891, col: 18, offset: 96020}, + pos: position{line: 3050, col: 18, offset: 99444}, expr: &charClassMatcher{ - pos: position{line: 2891, col: 18, offset: 96020}, + pos: position{line: 3050, col: 18, offset: 99444}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -3169,24 +3641,24 @@ var g = &grammar{ pos: position{line: 166, col: 19, offset: 4718}, label: "start", expr: &actionExpr{ - pos: position{line: 2891, col: 12, offset: 96014}, + pos: position{line: 3050, col: 12, offset: 99438}, run: (*parser).callonLineRanges69, expr: &seqExpr{ - pos: position{line: 2891, col: 13, offset: 96015}, + pos: position{line: 3050, col: 13, offset: 99439}, exprs: []interface{}{ &zeroOrOneExpr{ - pos: position{line: 2891, col: 13, offset: 96015}, + pos: position{line: 3050, col: 13, offset: 99439}, expr: &litMatcher{ - pos: position{line: 2891, col: 13, offset: 96015}, + pos: position{line: 3050, col: 13, offset: 99439}, val: "-", ignoreCase: false, want: "\"-\"", }, }, &oneOrMoreExpr{ - pos: position{line: 2891, col: 18, offset: 96020}, + pos: position{line: 3050, col: 18, offset: 99444}, expr: &charClassMatcher{ - pos: position{line: 2891, col: 18, offset: 96020}, + pos: position{line: 3050, col: 18, offset: 99444}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -3207,24 +3679,24 @@ var g = &grammar{ pos: position{line: 166, col: 40, offset: 4739}, label: "end", expr: &actionExpr{ - pos: position{line: 2891, col: 12, offset: 96014}, + pos: position{line: 3050, col: 12, offset: 99438}, run: (*parser).callonLineRanges77, expr: &seqExpr{ - pos: position{line: 2891, col: 13, offset: 96015}, + pos: position{line: 3050, col: 13, offset: 99439}, exprs: []interface{}{ &zeroOrOneExpr{ - pos: position{line: 2891, col: 13, offset: 96015}, + pos: position{line: 3050, col: 13, offset: 99439}, expr: &litMatcher{ - pos: position{line: 2891, col: 13, offset: 96015}, + pos: position{line: 3050, col: 13, offset: 99439}, val: "-", ignoreCase: false, want: "\"-\"", }, }, &oneOrMoreExpr{ - pos: position{line: 2891, col: 18, offset: 96020}, + pos: position{line: 3050, col: 18, offset: 99444}, expr: &charClassMatcher{ - pos: position{line: 2891, col: 18, offset: 96020}, + pos: position{line: 3050, col: 18, offset: 99444}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -3245,24 +3717,24 @@ var g = &grammar{ pos: position{line: 170, col: 20, offset: 4860}, label: "singleline", expr: &actionExpr{ - pos: position{line: 2891, col: 12, offset: 96014}, + pos: position{line: 3050, col: 12, offset: 99438}, run: (*parser).callonLineRanges85, expr: &seqExpr{ - pos: position{line: 2891, col: 13, offset: 96015}, + pos: position{line: 3050, col: 13, offset: 99439}, exprs: []interface{}{ &zeroOrOneExpr{ - pos: position{line: 2891, col: 13, offset: 96015}, + pos: position{line: 3050, col: 13, offset: 99439}, expr: &litMatcher{ - pos: position{line: 2891, col: 13, offset: 96015}, + pos: position{line: 3050, col: 13, offset: 99439}, val: "-", ignoreCase: false, want: "\"-\"", }, }, &oneOrMoreExpr{ - pos: position{line: 2891, col: 18, offset: 96020}, + pos: position{line: 3050, col: 18, offset: 99444}, expr: &charClassMatcher{ - pos: position{line: 2891, col: 18, offset: 96020}, + pos: position{line: 3050, col: 18, offset: 99444}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -3278,9 +3750,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -3321,12 +3793,12 @@ var g = &grammar{ pos: position{line: 188, col: 18, offset: 5461}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2817, col: 14, offset: 93577}, + pos: position{line: 2976, col: 14, offset: 97001}, run: (*parser).callonTagRanges11, expr: &oneOrMoreExpr{ - pos: position{line: 2817, col: 14, offset: 93577}, + pos: position{line: 2976, col: 14, offset: 97001}, expr: &charClassMatcher{ - pos: position{line: 2817, col: 14, offset: 93577}, + pos: position{line: 2976, col: 14, offset: 97001}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -3388,12 +3860,12 @@ var g = &grammar{ pos: position{line: 190, col: 18, offset: 5558}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2817, col: 14, offset: 93577}, + pos: position{line: 2976, col: 14, offset: 97001}, run: (*parser).callonTagRanges26, expr: &oneOrMoreExpr{ - pos: position{line: 2817, col: 14, offset: 93577}, + pos: position{line: 2976, col: 14, offset: 97001}, expr: &charClassMatcher{ - pos: position{line: 2817, col: 14, offset: 93577}, + pos: position{line: 2976, col: 14, offset: 97001}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -3475,12 +3947,12 @@ var g = &grammar{ pos: position{line: 188, col: 18, offset: 5461}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2817, col: 14, offset: 93577}, + pos: position{line: 2976, col: 14, offset: 97001}, run: (*parser).callonTagRanges46, expr: &oneOrMoreExpr{ - pos: position{line: 2817, col: 14, offset: 93577}, + pos: position{line: 2976, col: 14, offset: 97001}, expr: &charClassMatcher{ - pos: position{line: 2817, col: 14, offset: 93577}, + pos: position{line: 2976, col: 14, offset: 97001}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -3542,12 +4014,12 @@ var g = &grammar{ pos: position{line: 190, col: 18, offset: 5558}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2817, col: 14, offset: 93577}, + pos: position{line: 2976, col: 14, offset: 97001}, run: (*parser).callonTagRanges61, expr: &oneOrMoreExpr{ - pos: position{line: 2817, col: 14, offset: 93577}, + pos: position{line: 2976, col: 14, offset: 97001}, expr: &charClassMatcher{ - pos: position{line: 2817, col: 14, offset: 93577}, + pos: position{line: 2976, col: 14, offset: 97001}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -3605,9 +4077,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -3650,12 +4122,12 @@ var g = &grammar{ pos: position{line: 208, col: 38, offset: 6112}, run: (*parser).callonIncludedFileLine10, expr: &actionExpr{ - pos: position{line: 2817, col: 14, offset: 93577}, + pos: position{line: 2976, col: 14, offset: 97001}, run: (*parser).callonIncludedFileLine11, expr: &oneOrMoreExpr{ - pos: position{line: 2817, col: 14, offset: 93577}, + pos: position{line: 2976, col: 14, offset: 97001}, expr: &charClassMatcher{ - pos: position{line: 2817, col: 14, offset: 93577}, + pos: position{line: 2976, col: 14, offset: 97001}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -3694,12 +4166,12 @@ var g = &grammar{ pos: position{line: 212, col: 36, offset: 6260}, run: (*parser).callonIncludedFileLine19, expr: &actionExpr{ - pos: position{line: 2817, col: 14, offset: 93577}, + pos: position{line: 2976, col: 14, offset: 97001}, run: (*parser).callonIncludedFileLine20, expr: &oneOrMoreExpr{ - pos: position{line: 2817, col: 14, offset: 93577}, + pos: position{line: 2976, col: 14, offset: 97001}, expr: &charClassMatcher{ - pos: position{line: 2817, col: 14, offset: 93577}, + pos: position{line: 2976, col: 14, offset: 97001}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -3731,28 +4203,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonIncludedFileLine27, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -3761,9 +4233,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -3784,9 +4256,9 @@ var g = &grammar{ ¬Expr{ pos: position{line: 229, col: 5, offset: 6810}, expr: ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -3826,28 +4298,28 @@ var g = &grammar{ name: "AttributeDeclaration", }, &actionExpr{ - pos: position{line: 372, col: 19, offset: 11492}, + pos: position{line: 364, col: 19, offset: 11153}, run: (*parser).callonDocumentFragment16, expr: &seqExpr{ - pos: position{line: 372, col: 19, offset: 11492}, + pos: position{line: 364, col: 19, offset: 11153}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 372, col: 19, offset: 11492}, + pos: position{line: 364, col: 19, offset: 11153}, val: ":!", ignoreCase: false, want: "\":!\"", }, &labeledExpr{ - pos: position{line: 372, col: 24, offset: 11497}, + pos: position{line: 364, col: 24, offset: 11158}, label: "name", expr: &actionExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, run: (*parser).callonDocumentFragment20, expr: &seqExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -3856,9 +4328,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 332, col: 28, offset: 10403}, + pos: position{line: 324, col: 28, offset: 10064}, expr: &charClassMatcher{ - pos: position{line: 332, col: 29, offset: 10404}, + pos: position{line: 324, col: 29, offset: 10065}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -3872,18 +4344,18 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 372, col: 45, offset: 11518}, + pos: position{line: 364, col: 45, offset: 11179}, val: ":", ignoreCase: false, want: "\":\"", }, &zeroOrMoreExpr{ - pos: position{line: 372, col: 49, offset: 11522}, + pos: position{line: 364, col: 49, offset: 11183}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonDocumentFragment27, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -3892,28 +4364,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonDocumentFragment30, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -3922,9 +4394,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -3933,28 +4405,28 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 374, col: 5, offset: 11605}, + pos: position{line: 366, col: 5, offset: 11266}, run: (*parser).callonDocumentFragment37, expr: &seqExpr{ - pos: position{line: 374, col: 5, offset: 11605}, + pos: position{line: 366, col: 5, offset: 11266}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 374, col: 5, offset: 11605}, + pos: position{line: 366, col: 5, offset: 11266}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 374, col: 9, offset: 11609}, + pos: position{line: 366, col: 9, offset: 11270}, label: "name", expr: &actionExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, run: (*parser).callonDocumentFragment41, expr: &seqExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -3963,9 +4435,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 332, col: 28, offset: 10403}, + pos: position{line: 324, col: 28, offset: 10064}, expr: &charClassMatcher{ - pos: position{line: 332, col: 29, offset: 10404}, + pos: position{line: 324, col: 29, offset: 10065}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -3979,18 +4451,18 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 374, col: 30, offset: 11630}, + pos: position{line: 366, col: 30, offset: 11291}, val: "!:", ignoreCase: false, want: "\"!:\"", }, &zeroOrMoreExpr{ - pos: position{line: 374, col: 35, offset: 11635}, + pos: position{line: 366, col: 35, offset: 11296}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonDocumentFragment48, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -3999,28 +4471,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonDocumentFragment51, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -4029,9 +4501,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -4044,27 +4516,27 @@ var g = &grammar{ name: "DocumentHeader", }, &actionExpr{ - pos: position{line: 685, col: 14, offset: 22145}, + pos: position{line: 683, col: 14, offset: 22008}, run: (*parser).callonDocumentFragment59, expr: &seqExpr{ - pos: position{line: 685, col: 14, offset: 22145}, + pos: position{line: 683, col: 14, offset: 22008}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 685, col: 14, offset: 22145}, + pos: position{line: 683, col: 14, offset: 22008}, expr: ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, &zeroOrMoreExpr{ - pos: position{line: 685, col: 19, offset: 22150}, + pos: position{line: 683, col: 19, offset: 22013}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonDocumentFragment65, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -4073,28 +4545,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonDocumentFragment68, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -4103,9 +4575,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -4114,25 +4586,25 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2468, col: 5, offset: 83103}, + pos: position{line: 2612, col: 5, offset: 86017}, run: (*parser).callonDocumentFragment75, expr: &seqExpr{ - pos: position{line: 2468, col: 5, offset: 83103}, + pos: position{line: 2612, col: 5, offset: 86017}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 2468, col: 5, offset: 83103}, + pos: position{line: 2612, col: 5, offset: 86017}, run: (*parser).callonDocumentFragment77, }, &labeledExpr{ - pos: position{line: 2471, col: 5, offset: 83166}, + pos: position{line: 2615, col: 5, offset: 86080}, label: "level", expr: &actionExpr{ - pos: position{line: 2471, col: 12, offset: 83173}, + pos: position{line: 2615, col: 12, offset: 86087}, run: (*parser).callonDocumentFragment79, expr: &oneOrMoreExpr{ - pos: position{line: 2471, col: 12, offset: 83173}, + pos: position{line: 2615, col: 12, offset: 86087}, expr: &litMatcher{ - pos: position{line: 2471, col: 13, offset: 83174}, + pos: position{line: 2615, col: 13, offset: 86088}, val: "=", ignoreCase: false, want: "\"=\"", @@ -4141,16 +4613,16 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 2475, col: 5, offset: 83282}, + pos: position{line: 2619, col: 5, offset: 86196}, run: (*parser).callonDocumentFragment82, }, &actionExpr{ - pos: position{line: 2903, col: 11, offset: 96254}, + pos: position{line: 3062, col: 11, offset: 99678}, run: (*parser).callonDocumentFragment83, expr: &oneOrMoreExpr{ - pos: position{line: 2903, col: 11, offset: 96254}, + pos: position{line: 3062, col: 11, offset: 99678}, expr: &charClassMatcher{ - pos: position{line: 2903, col: 12, offset: 96255}, + pos: position{line: 3062, col: 12, offset: 99679}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -4159,15 +4631,15 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 2479, col: 12, offset: 83441}, + pos: position{line: 2623, col: 12, offset: 86355}, label: "title", expr: &actionExpr{ - pos: position{line: 2483, col: 17, offset: 83560}, + pos: position{line: 2627, col: 17, offset: 86474}, run: (*parser).callonDocumentFragment87, expr: &oneOrMoreExpr{ - pos: position{line: 2483, col: 17, offset: 83560}, + pos: position{line: 2627, col: 17, offset: 86474}, expr: &charClassMatcher{ - pos: position{line: 2483, col: 17, offset: 83560}, + pos: position{line: 2627, col: 17, offset: 86474}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -4177,28 +4649,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonDocumentFragment91, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -4207,9 +4679,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -4218,30 +4690,30 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 798, col: 5, offset: 25649}, + pos: position{line: 796, col: 5, offset: 25512}, run: (*parser).callonDocumentFragment98, expr: &seqExpr{ - pos: position{line: 798, col: 5, offset: 25649}, + pos: position{line: 796, col: 5, offset: 25512}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 746, col: 26, offset: 24217}, + pos: position{line: 744, col: 26, offset: 24080}, run: (*parser).callonDocumentFragment100, expr: &seqExpr{ - pos: position{line: 746, col: 26, offset: 24217}, + pos: position{line: 744, col: 26, offset: 24080}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 746, col: 26, offset: 24217}, + pos: position{line: 744, col: 26, offset: 24080}, val: "////", ignoreCase: false, want: "\"////\"", }, &zeroOrMoreExpr{ - pos: position{line: 746, col: 33, offset: 24224}, + pos: position{line: 744, col: 33, offset: 24087}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonDocumentFragment104, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -4250,28 +4722,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonDocumentFragment107, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -4280,9 +4752,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -4291,40 +4763,40 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 799, col: 5, offset: 25680}, + pos: position{line: 797, col: 5, offset: 25543}, label: "content", expr: &zeroOrMoreExpr{ - pos: position{line: 810, col: 5, offset: 26004}, + pos: position{line: 808, col: 5, offset: 25867}, expr: &actionExpr{ - pos: position{line: 810, col: 6, offset: 26005}, + pos: position{line: 808, col: 6, offset: 25868}, run: (*parser).callonDocumentFragment116, expr: &seqExpr{ - pos: position{line: 810, col: 6, offset: 26005}, + pos: position{line: 808, col: 6, offset: 25868}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 810, col: 6, offset: 26005}, + pos: position{line: 808, col: 6, offset: 25868}, expr: &choiceExpr{ - pos: position{line: 807, col: 29, offset: 25947}, + pos: position{line: 805, col: 29, offset: 25810}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 746, col: 26, offset: 24217}, + pos: position{line: 744, col: 26, offset: 24080}, run: (*parser).callonDocumentFragment120, expr: &seqExpr{ - pos: position{line: 746, col: 26, offset: 24217}, + pos: position{line: 744, col: 26, offset: 24080}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 746, col: 26, offset: 24217}, + pos: position{line: 744, col: 26, offset: 24080}, val: "////", ignoreCase: false, want: "\"////\"", }, &zeroOrMoreExpr{ - pos: position{line: 746, col: 33, offset: 24224}, + pos: position{line: 744, col: 33, offset: 24087}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonDocumentFragment124, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -4333,28 +4805,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonDocumentFragment127, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -4363,9 +4835,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -4374,42 +4846,42 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, }, }, &labeledExpr{ - pos: position{line: 811, col: 5, offset: 26035}, + pos: position{line: 809, col: 5, offset: 25898}, label: "line", expr: &actionExpr{ - pos: position{line: 787, col: 5, offset: 25344}, + pos: position{line: 785, col: 5, offset: 25207}, run: (*parser).callonDocumentFragment137, expr: &seqExpr{ - pos: position{line: 787, col: 5, offset: 25344}, + pos: position{line: 785, col: 5, offset: 25207}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 787, col: 5, offset: 25344}, + pos: position{line: 785, col: 5, offset: 25207}, expr: ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, &labeledExpr{ - pos: position{line: 788, col: 5, offset: 25417}, + pos: position{line: 786, col: 5, offset: 25280}, label: "content", expr: &actionExpr{ - pos: position{line: 788, col: 14, offset: 25426}, + pos: position{line: 786, col: 14, offset: 25289}, run: (*parser).callonDocumentFragment143, expr: &zeroOrMoreExpr{ - pos: position{line: 788, col: 14, offset: 25426}, + pos: position{line: 786, col: 14, offset: 25289}, expr: &charClassMatcher{ - pos: position{line: 788, col: 14, offset: 25426}, + pos: position{line: 786, col: 14, offset: 25289}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -4419,28 +4891,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonDocumentFragment147, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -4449,9 +4921,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -4466,29 +4938,29 @@ var g = &grammar{ }, }, &zeroOrOneExpr{ - pos: position{line: 800, col: 5, offset: 25714}, + pos: position{line: 798, col: 5, offset: 25577}, expr: &choiceExpr{ - pos: position{line: 807, col: 29, offset: 25947}, + pos: position{line: 805, col: 29, offset: 25810}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 746, col: 26, offset: 24217}, + pos: position{line: 744, col: 26, offset: 24080}, run: (*parser).callonDocumentFragment156, expr: &seqExpr{ - pos: position{line: 746, col: 26, offset: 24217}, + pos: position{line: 744, col: 26, offset: 24080}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 746, col: 26, offset: 24217}, + pos: position{line: 744, col: 26, offset: 24080}, val: "////", ignoreCase: false, want: "\"////\"", }, &zeroOrMoreExpr{ - pos: position{line: 746, col: 33, offset: 24224}, + pos: position{line: 744, col: 33, offset: 24087}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonDocumentFragment160, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -4497,28 +4969,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonDocumentFragment163, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -4527,9 +4999,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -4538,9 +5010,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -4550,30 +5022,30 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 819, col: 5, offset: 26188}, + pos: position{line: 817, col: 5, offset: 26051}, run: (*parser).callonDocumentFragment172, expr: &seqExpr{ - pos: position{line: 819, col: 5, offset: 26188}, + pos: position{line: 817, col: 5, offset: 26051}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 750, col: 26, offset: 24331}, + pos: position{line: 748, col: 26, offset: 24194}, run: (*parser).callonDocumentFragment174, expr: &seqExpr{ - pos: position{line: 750, col: 26, offset: 24331}, + pos: position{line: 748, col: 26, offset: 24194}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 750, col: 26, offset: 24331}, + pos: position{line: 748, col: 26, offset: 24194}, val: "====", ignoreCase: false, want: "\"====\"", }, &zeroOrMoreExpr{ - pos: position{line: 750, col: 33, offset: 24338}, + pos: position{line: 748, col: 33, offset: 24201}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonDocumentFragment178, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -4582,28 +5054,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonDocumentFragment181, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -4612,9 +5084,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -4623,40 +5095,40 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 820, col: 5, offset: 26219}, + pos: position{line: 818, col: 5, offset: 26082}, label: "content", expr: &zeroOrMoreExpr{ - pos: position{line: 831, col: 4, offset: 26542}, + pos: position{line: 829, col: 4, offset: 26405}, expr: &actionExpr{ - pos: position{line: 831, col: 5, offset: 26543}, + pos: position{line: 829, col: 5, offset: 26406}, run: (*parser).callonDocumentFragment190, expr: &seqExpr{ - pos: position{line: 831, col: 5, offset: 26543}, + pos: position{line: 829, col: 5, offset: 26406}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 831, col: 5, offset: 26543}, + pos: position{line: 829, col: 5, offset: 26406}, expr: &choiceExpr{ - pos: position{line: 828, col: 29, offset: 26486}, + pos: position{line: 826, col: 29, offset: 26349}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 750, col: 26, offset: 24331}, + pos: position{line: 748, col: 26, offset: 24194}, run: (*parser).callonDocumentFragment194, expr: &seqExpr{ - pos: position{line: 750, col: 26, offset: 24331}, + pos: position{line: 748, col: 26, offset: 24194}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 750, col: 26, offset: 24331}, + pos: position{line: 748, col: 26, offset: 24194}, val: "====", ignoreCase: false, want: "\"====\"", }, &zeroOrMoreExpr{ - pos: position{line: 750, col: 33, offset: 24338}, + pos: position{line: 748, col: 33, offset: 24201}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonDocumentFragment198, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -4665,28 +5137,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonDocumentFragment201, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -4695,9 +5167,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -4706,42 +5178,42 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, }, }, &labeledExpr{ - pos: position{line: 832, col: 5, offset: 26573}, + pos: position{line: 830, col: 5, offset: 26436}, label: "line", expr: &actionExpr{ - pos: position{line: 787, col: 5, offset: 25344}, + pos: position{line: 785, col: 5, offset: 25207}, run: (*parser).callonDocumentFragment211, expr: &seqExpr{ - pos: position{line: 787, col: 5, offset: 25344}, + pos: position{line: 785, col: 5, offset: 25207}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 787, col: 5, offset: 25344}, + pos: position{line: 785, col: 5, offset: 25207}, expr: ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, &labeledExpr{ - pos: position{line: 788, col: 5, offset: 25417}, + pos: position{line: 786, col: 5, offset: 25280}, label: "content", expr: &actionExpr{ - pos: position{line: 788, col: 14, offset: 25426}, + pos: position{line: 786, col: 14, offset: 25289}, run: (*parser).callonDocumentFragment217, expr: &zeroOrMoreExpr{ - pos: position{line: 788, col: 14, offset: 25426}, + pos: position{line: 786, col: 14, offset: 25289}, expr: &charClassMatcher{ - pos: position{line: 788, col: 14, offset: 25426}, + pos: position{line: 786, col: 14, offset: 25289}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -4751,28 +5223,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonDocumentFragment221, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -4781,9 +5253,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -4798,29 +5270,29 @@ var g = &grammar{ }, }, &zeroOrOneExpr{ - pos: position{line: 821, col: 5, offset: 26253}, + pos: position{line: 819, col: 5, offset: 26116}, expr: &choiceExpr{ - pos: position{line: 828, col: 29, offset: 26486}, + pos: position{line: 826, col: 29, offset: 26349}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 750, col: 26, offset: 24331}, + pos: position{line: 748, col: 26, offset: 24194}, run: (*parser).callonDocumentFragment230, expr: &seqExpr{ - pos: position{line: 750, col: 26, offset: 24331}, + pos: position{line: 748, col: 26, offset: 24194}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 750, col: 26, offset: 24331}, + pos: position{line: 748, col: 26, offset: 24194}, val: "====", ignoreCase: false, want: "\"====\"", }, &zeroOrMoreExpr{ - pos: position{line: 750, col: 33, offset: 24338}, + pos: position{line: 748, col: 33, offset: 24201}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonDocumentFragment234, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -4829,28 +5301,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonDocumentFragment237, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -4859,9 +5331,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -4870,9 +5342,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -4882,36 +5354,36 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 903, col: 5, offset: 28353}, + pos: position{line: 901, col: 5, offset: 28216}, run: (*parser).callonDocumentFragment246, expr: &seqExpr{ - pos: position{line: 903, col: 5, offset: 28353}, + pos: position{line: 901, col: 5, offset: 28216}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 903, col: 5, offset: 28353}, + pos: position{line: 901, col: 5, offset: 28216}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 758, col: 26, offset: 24556}, + pos: position{line: 756, col: 26, offset: 24419}, run: (*parser).callonDocumentFragment249, expr: &seqExpr{ - pos: position{line: 758, col: 26, offset: 24556}, + pos: position{line: 756, col: 26, offset: 24419}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 758, col: 26, offset: 24556}, + pos: position{line: 756, col: 26, offset: 24419}, val: "```", ignoreCase: false, want: "\"```\"", }, &labeledExpr{ - pos: position{line: 758, col: 32, offset: 24562}, + pos: position{line: 756, col: 32, offset: 24425}, label: "language", expr: &actionExpr{ - pos: position{line: 762, col: 13, offset: 24692}, + pos: position{line: 760, col: 13, offset: 24555}, run: (*parser).callonDocumentFragment253, expr: &oneOrMoreExpr{ - pos: position{line: 762, col: 14, offset: 24693}, + pos: position{line: 760, col: 14, offset: 24556}, expr: &charClassMatcher{ - pos: position{line: 762, col: 14, offset: 24693}, + pos: position{line: 760, col: 14, offset: 24556}, val: "[^\\r\\n ]", chars: []rune{'\r', '\n', ' '}, ignoreCase: false, @@ -4921,12 +5393,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 758, col: 52, offset: 24582}, + pos: position{line: 756, col: 52, offset: 24445}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonDocumentFragment257, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -4935,28 +5407,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonDocumentFragment260, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -4965,9 +5437,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -4977,40 +5449,40 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 904, col: 5, offset: 28399}, + pos: position{line: 902, col: 5, offset: 28262}, label: "content", expr: &zeroOrMoreExpr{ - pos: position{line: 918, col: 5, offset: 28916}, + pos: position{line: 916, col: 5, offset: 28779}, expr: &actionExpr{ - pos: position{line: 918, col: 6, offset: 28917}, + pos: position{line: 916, col: 6, offset: 28780}, run: (*parser).callonDocumentFragment269, expr: &seqExpr{ - pos: position{line: 918, col: 6, offset: 28917}, + pos: position{line: 916, col: 6, offset: 28780}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 918, col: 6, offset: 28917}, + pos: position{line: 916, col: 6, offset: 28780}, expr: &choiceExpr{ - pos: position{line: 849, col: 28, offset: 27022}, + pos: position{line: 847, col: 28, offset: 26885}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 754, col: 25, offset: 24444}, + pos: position{line: 752, col: 25, offset: 24307}, run: (*parser).callonDocumentFragment273, expr: &seqExpr{ - pos: position{line: 754, col: 25, offset: 24444}, + pos: position{line: 752, col: 25, offset: 24307}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 754, col: 25, offset: 24444}, + pos: position{line: 752, col: 25, offset: 24307}, val: "```", ignoreCase: false, want: "\"```\"", }, &zeroOrMoreExpr{ - pos: position{line: 754, col: 31, offset: 24450}, + pos: position{line: 752, col: 31, offset: 24313}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonDocumentFragment277, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -5019,28 +5491,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonDocumentFragment280, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -5049,9 +5521,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -5060,42 +5532,42 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, }, }, &labeledExpr{ - pos: position{line: 919, col: 5, offset: 28952}, + pos: position{line: 917, col: 5, offset: 28815}, label: "line", expr: &actionExpr{ - pos: position{line: 787, col: 5, offset: 25344}, + pos: position{line: 785, col: 5, offset: 25207}, run: (*parser).callonDocumentFragment290, expr: &seqExpr{ - pos: position{line: 787, col: 5, offset: 25344}, + pos: position{line: 785, col: 5, offset: 25207}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 787, col: 5, offset: 25344}, + pos: position{line: 785, col: 5, offset: 25207}, expr: ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, &labeledExpr{ - pos: position{line: 788, col: 5, offset: 25417}, + pos: position{line: 786, col: 5, offset: 25280}, label: "content", expr: &actionExpr{ - pos: position{line: 788, col: 14, offset: 25426}, + pos: position{line: 786, col: 14, offset: 25289}, run: (*parser).callonDocumentFragment296, expr: &zeroOrMoreExpr{ - pos: position{line: 788, col: 14, offset: 25426}, + pos: position{line: 786, col: 14, offset: 25289}, expr: &charClassMatcher{ - pos: position{line: 788, col: 14, offset: 25426}, + pos: position{line: 786, col: 14, offset: 25289}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -5105,28 +5577,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonDocumentFragment300, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -5135,9 +5607,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -5152,29 +5624,29 @@ var g = &grammar{ }, }, &zeroOrOneExpr{ - pos: position{line: 905, col: 5, offset: 28438}, + pos: position{line: 903, col: 5, offset: 28301}, expr: &choiceExpr{ - pos: position{line: 849, col: 28, offset: 27022}, + pos: position{line: 847, col: 28, offset: 26885}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 754, col: 25, offset: 24444}, + pos: position{line: 752, col: 25, offset: 24307}, run: (*parser).callonDocumentFragment309, expr: &seqExpr{ - pos: position{line: 754, col: 25, offset: 24444}, + pos: position{line: 752, col: 25, offset: 24307}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 754, col: 25, offset: 24444}, + pos: position{line: 752, col: 25, offset: 24307}, val: "```", ignoreCase: false, want: "\"```\"", }, &zeroOrMoreExpr{ - pos: position{line: 754, col: 31, offset: 24450}, + pos: position{line: 752, col: 31, offset: 24313}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonDocumentFragment313, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -5183,28 +5655,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonDocumentFragment316, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -5213,9 +5685,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -5224,9 +5696,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -5236,30 +5708,30 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 840, col: 5, offset: 26726}, + pos: position{line: 838, col: 5, offset: 26589}, run: (*parser).callonDocumentFragment325, expr: &seqExpr{ - pos: position{line: 840, col: 5, offset: 26726}, + pos: position{line: 838, col: 5, offset: 26589}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 754, col: 25, offset: 24444}, + pos: position{line: 752, col: 25, offset: 24307}, run: (*parser).callonDocumentFragment327, expr: &seqExpr{ - pos: position{line: 754, col: 25, offset: 24444}, + pos: position{line: 752, col: 25, offset: 24307}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 754, col: 25, offset: 24444}, + pos: position{line: 752, col: 25, offset: 24307}, val: "```", ignoreCase: false, want: "\"```\"", }, &zeroOrMoreExpr{ - pos: position{line: 754, col: 31, offset: 24450}, + pos: position{line: 752, col: 31, offset: 24313}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonDocumentFragment331, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -5268,28 +5740,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonDocumentFragment334, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -5298,9 +5770,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -5309,40 +5781,40 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 841, col: 5, offset: 26756}, + pos: position{line: 839, col: 5, offset: 26619}, label: "content", expr: &zeroOrMoreExpr{ - pos: position{line: 852, col: 5, offset: 27077}, + pos: position{line: 850, col: 5, offset: 26940}, expr: &actionExpr{ - pos: position{line: 852, col: 6, offset: 27078}, + pos: position{line: 850, col: 6, offset: 26941}, run: (*parser).callonDocumentFragment343, expr: &seqExpr{ - pos: position{line: 852, col: 6, offset: 27078}, + pos: position{line: 850, col: 6, offset: 26941}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 852, col: 6, offset: 27078}, + pos: position{line: 850, col: 6, offset: 26941}, expr: &choiceExpr{ - pos: position{line: 849, col: 28, offset: 27022}, + pos: position{line: 847, col: 28, offset: 26885}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 754, col: 25, offset: 24444}, + pos: position{line: 752, col: 25, offset: 24307}, run: (*parser).callonDocumentFragment347, expr: &seqExpr{ - pos: position{line: 754, col: 25, offset: 24444}, + pos: position{line: 752, col: 25, offset: 24307}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 754, col: 25, offset: 24444}, + pos: position{line: 752, col: 25, offset: 24307}, val: "```", ignoreCase: false, want: "\"```\"", }, &zeroOrMoreExpr{ - pos: position{line: 754, col: 31, offset: 24450}, + pos: position{line: 752, col: 31, offset: 24313}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonDocumentFragment351, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -5351,28 +5823,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonDocumentFragment354, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -5381,9 +5853,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -5392,42 +5864,42 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, }, }, &labeledExpr{ - pos: position{line: 853, col: 5, offset: 27107}, + pos: position{line: 851, col: 5, offset: 26970}, label: "line", expr: &actionExpr{ - pos: position{line: 787, col: 5, offset: 25344}, + pos: position{line: 785, col: 5, offset: 25207}, run: (*parser).callonDocumentFragment364, expr: &seqExpr{ - pos: position{line: 787, col: 5, offset: 25344}, + pos: position{line: 785, col: 5, offset: 25207}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 787, col: 5, offset: 25344}, + pos: position{line: 785, col: 5, offset: 25207}, expr: ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, &labeledExpr{ - pos: position{line: 788, col: 5, offset: 25417}, + pos: position{line: 786, col: 5, offset: 25280}, label: "content", expr: &actionExpr{ - pos: position{line: 788, col: 14, offset: 25426}, + pos: position{line: 786, col: 14, offset: 25289}, run: (*parser).callonDocumentFragment370, expr: &zeroOrMoreExpr{ - pos: position{line: 788, col: 14, offset: 25426}, + pos: position{line: 786, col: 14, offset: 25289}, expr: &charClassMatcher{ - pos: position{line: 788, col: 14, offset: 25426}, + pos: position{line: 786, col: 14, offset: 25289}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -5437,28 +5909,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonDocumentFragment374, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -5467,9 +5939,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -5484,29 +5956,29 @@ var g = &grammar{ }, }, &zeroOrOneExpr{ - pos: position{line: 842, col: 5, offset: 26789}, + pos: position{line: 840, col: 5, offset: 26652}, expr: &choiceExpr{ - pos: position{line: 849, col: 28, offset: 27022}, + pos: position{line: 847, col: 28, offset: 26885}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 754, col: 25, offset: 24444}, + pos: position{line: 752, col: 25, offset: 24307}, run: (*parser).callonDocumentFragment383, expr: &seqExpr{ - pos: position{line: 754, col: 25, offset: 24444}, + pos: position{line: 752, col: 25, offset: 24307}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 754, col: 25, offset: 24444}, + pos: position{line: 752, col: 25, offset: 24307}, val: "```", ignoreCase: false, want: "\"```\"", }, &zeroOrMoreExpr{ - pos: position{line: 754, col: 31, offset: 24450}, + pos: position{line: 752, col: 31, offset: 24313}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonDocumentFragment387, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -5515,28 +5987,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonDocumentFragment390, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -5545,9 +6017,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -5556,9 +6028,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -5568,30 +6040,30 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 861, col: 5, offset: 27262}, + pos: position{line: 859, col: 5, offset: 27125}, run: (*parser).callonDocumentFragment399, expr: &seqExpr{ - pos: position{line: 861, col: 5, offset: 27262}, + pos: position{line: 859, col: 5, offset: 27125}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 766, col: 26, offset: 24765}, + pos: position{line: 764, col: 26, offset: 24628}, run: (*parser).callonDocumentFragment401, expr: &seqExpr{ - pos: position{line: 766, col: 26, offset: 24765}, + pos: position{line: 764, col: 26, offset: 24628}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 766, col: 26, offset: 24765}, + pos: position{line: 764, col: 26, offset: 24628}, val: "----", ignoreCase: false, want: "\"----\"", }, &zeroOrMoreExpr{ - pos: position{line: 766, col: 33, offset: 24772}, + pos: position{line: 764, col: 33, offset: 24635}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonDocumentFragment405, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -5600,28 +6072,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonDocumentFragment408, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -5630,9 +6102,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -5641,40 +6113,40 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 862, col: 5, offset: 27293}, + pos: position{line: 860, col: 5, offset: 27156}, label: "content", expr: &zeroOrMoreExpr{ - pos: position{line: 873, col: 5, offset: 27622}, + pos: position{line: 871, col: 5, offset: 27485}, expr: &actionExpr{ - pos: position{line: 873, col: 6, offset: 27623}, + pos: position{line: 871, col: 6, offset: 27486}, run: (*parser).callonDocumentFragment417, expr: &seqExpr{ - pos: position{line: 873, col: 6, offset: 27623}, + pos: position{line: 871, col: 6, offset: 27486}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 873, col: 6, offset: 27623}, + pos: position{line: 871, col: 6, offset: 27486}, expr: &choiceExpr{ - pos: position{line: 870, col: 29, offset: 27565}, + pos: position{line: 868, col: 29, offset: 27428}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 766, col: 26, offset: 24765}, + pos: position{line: 764, col: 26, offset: 24628}, run: (*parser).callonDocumentFragment421, expr: &seqExpr{ - pos: position{line: 766, col: 26, offset: 24765}, + pos: position{line: 764, col: 26, offset: 24628}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 766, col: 26, offset: 24765}, + pos: position{line: 764, col: 26, offset: 24628}, val: "----", ignoreCase: false, want: "\"----\"", }, &zeroOrMoreExpr{ - pos: position{line: 766, col: 33, offset: 24772}, + pos: position{line: 764, col: 33, offset: 24635}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonDocumentFragment425, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -5683,28 +6155,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonDocumentFragment428, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -5713,9 +6185,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -5724,42 +6196,42 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, }, }, &labeledExpr{ - pos: position{line: 874, col: 5, offset: 27653}, + pos: position{line: 872, col: 5, offset: 27516}, label: "line", expr: &actionExpr{ - pos: position{line: 787, col: 5, offset: 25344}, + pos: position{line: 785, col: 5, offset: 25207}, run: (*parser).callonDocumentFragment438, expr: &seqExpr{ - pos: position{line: 787, col: 5, offset: 25344}, + pos: position{line: 785, col: 5, offset: 25207}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 787, col: 5, offset: 25344}, + pos: position{line: 785, col: 5, offset: 25207}, expr: ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, &labeledExpr{ - pos: position{line: 788, col: 5, offset: 25417}, + pos: position{line: 786, col: 5, offset: 25280}, label: "content", expr: &actionExpr{ - pos: position{line: 788, col: 14, offset: 25426}, + pos: position{line: 786, col: 14, offset: 25289}, run: (*parser).callonDocumentFragment444, expr: &zeroOrMoreExpr{ - pos: position{line: 788, col: 14, offset: 25426}, + pos: position{line: 786, col: 14, offset: 25289}, expr: &charClassMatcher{ - pos: position{line: 788, col: 14, offset: 25426}, + pos: position{line: 786, col: 14, offset: 25289}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -5769,28 +6241,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonDocumentFragment448, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -5799,9 +6271,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -5816,29 +6288,29 @@ var g = &grammar{ }, }, &zeroOrOneExpr{ - pos: position{line: 863, col: 5, offset: 27327}, + pos: position{line: 861, col: 5, offset: 27190}, expr: &choiceExpr{ - pos: position{line: 870, col: 29, offset: 27565}, + pos: position{line: 868, col: 29, offset: 27428}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 766, col: 26, offset: 24765}, + pos: position{line: 764, col: 26, offset: 24628}, run: (*parser).callonDocumentFragment457, expr: &seqExpr{ - pos: position{line: 766, col: 26, offset: 24765}, + pos: position{line: 764, col: 26, offset: 24628}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 766, col: 26, offset: 24765}, + pos: position{line: 764, col: 26, offset: 24628}, val: "----", ignoreCase: false, want: "\"----\"", }, &zeroOrMoreExpr{ - pos: position{line: 766, col: 33, offset: 24772}, + pos: position{line: 764, col: 33, offset: 24635}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonDocumentFragment461, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -5847,28 +6319,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonDocumentFragment464, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -5877,9 +6349,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -5888,9 +6360,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -5900,30 +6372,30 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 882, col: 5, offset: 27808}, + pos: position{line: 880, col: 5, offset: 27671}, run: (*parser).callonDocumentFragment473, expr: &seqExpr{ - pos: position{line: 882, col: 5, offset: 27808}, + pos: position{line: 880, col: 5, offset: 27671}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 770, col: 26, offset: 24879}, + pos: position{line: 768, col: 26, offset: 24742}, run: (*parser).callonDocumentFragment475, expr: &seqExpr{ - pos: position{line: 770, col: 26, offset: 24879}, + pos: position{line: 768, col: 26, offset: 24742}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 770, col: 26, offset: 24879}, + pos: position{line: 768, col: 26, offset: 24742}, val: "....", ignoreCase: false, want: "\"....\"", }, &zeroOrMoreExpr{ - pos: position{line: 770, col: 33, offset: 24886}, + pos: position{line: 768, col: 33, offset: 24749}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonDocumentFragment479, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -5932,28 +6404,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonDocumentFragment482, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -5962,9 +6434,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -5973,40 +6445,40 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 883, col: 5, offset: 27839}, + pos: position{line: 881, col: 5, offset: 27702}, label: "content", expr: &zeroOrMoreExpr{ - pos: position{line: 894, col: 5, offset: 28163}, + pos: position{line: 892, col: 5, offset: 28026}, expr: &actionExpr{ - pos: position{line: 894, col: 6, offset: 28164}, + pos: position{line: 892, col: 6, offset: 28027}, run: (*parser).callonDocumentFragment491, expr: &seqExpr{ - pos: position{line: 894, col: 6, offset: 28164}, + pos: position{line: 892, col: 6, offset: 28027}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 894, col: 6, offset: 28164}, + pos: position{line: 892, col: 6, offset: 28027}, expr: &choiceExpr{ - pos: position{line: 891, col: 29, offset: 28106}, + pos: position{line: 889, col: 29, offset: 27969}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 770, col: 26, offset: 24879}, + pos: position{line: 768, col: 26, offset: 24742}, run: (*parser).callonDocumentFragment495, expr: &seqExpr{ - pos: position{line: 770, col: 26, offset: 24879}, + pos: position{line: 768, col: 26, offset: 24742}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 770, col: 26, offset: 24879}, + pos: position{line: 768, col: 26, offset: 24742}, val: "....", ignoreCase: false, want: "\"....\"", }, &zeroOrMoreExpr{ - pos: position{line: 770, col: 33, offset: 24886}, + pos: position{line: 768, col: 33, offset: 24749}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonDocumentFragment499, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -6015,28 +6487,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonDocumentFragment502, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -6045,9 +6517,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -6056,42 +6528,42 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, }, }, &labeledExpr{ - pos: position{line: 895, col: 5, offset: 28194}, + pos: position{line: 893, col: 5, offset: 28057}, label: "line", expr: &actionExpr{ - pos: position{line: 787, col: 5, offset: 25344}, + pos: position{line: 785, col: 5, offset: 25207}, run: (*parser).callonDocumentFragment512, expr: &seqExpr{ - pos: position{line: 787, col: 5, offset: 25344}, + pos: position{line: 785, col: 5, offset: 25207}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 787, col: 5, offset: 25344}, + pos: position{line: 785, col: 5, offset: 25207}, expr: ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, &labeledExpr{ - pos: position{line: 788, col: 5, offset: 25417}, + pos: position{line: 786, col: 5, offset: 25280}, label: "content", expr: &actionExpr{ - pos: position{line: 788, col: 14, offset: 25426}, + pos: position{line: 786, col: 14, offset: 25289}, run: (*parser).callonDocumentFragment518, expr: &zeroOrMoreExpr{ - pos: position{line: 788, col: 14, offset: 25426}, + pos: position{line: 786, col: 14, offset: 25289}, expr: &charClassMatcher{ - pos: position{line: 788, col: 14, offset: 25426}, + pos: position{line: 786, col: 14, offset: 25289}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -6101,28 +6573,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonDocumentFragment522, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -6131,9 +6603,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -6148,29 +6620,29 @@ var g = &grammar{ }, }, &zeroOrOneExpr{ - pos: position{line: 884, col: 5, offset: 27873}, + pos: position{line: 882, col: 5, offset: 27736}, expr: &choiceExpr{ - pos: position{line: 891, col: 29, offset: 28106}, + pos: position{line: 889, col: 29, offset: 27969}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 770, col: 26, offset: 24879}, + pos: position{line: 768, col: 26, offset: 24742}, run: (*parser).callonDocumentFragment531, expr: &seqExpr{ - pos: position{line: 770, col: 26, offset: 24879}, + pos: position{line: 768, col: 26, offset: 24742}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 770, col: 26, offset: 24879}, + pos: position{line: 768, col: 26, offset: 24742}, val: "....", ignoreCase: false, want: "\"....\"", }, &zeroOrMoreExpr{ - pos: position{line: 770, col: 33, offset: 24886}, + pos: position{line: 768, col: 33, offset: 24749}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonDocumentFragment535, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -6179,28 +6651,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonDocumentFragment538, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -6209,9 +6681,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -6220,9 +6692,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -6232,44 +6704,44 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 927, col: 5, offset: 29121}, + pos: position{line: 925, col: 5, offset: 28984}, run: (*parser).callonDocumentFragment547, expr: &seqExpr{ - pos: position{line: 927, col: 5, offset: 29121}, + pos: position{line: 925, col: 5, offset: 28984}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 927, col: 5, offset: 29121}, + pos: position{line: 925, col: 5, offset: 28984}, label: "firstLine", expr: &actionExpr{ - pos: position{line: 934, col: 5, offset: 29380}, + pos: position{line: 932, col: 5, offset: 29243}, run: (*parser).callonDocumentFragment550, expr: &seqExpr{ - pos: position{line: 934, col: 5, offset: 29380}, + pos: position{line: 932, col: 5, offset: 29243}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 934, col: 5, offset: 29380}, + pos: position{line: 932, col: 5, offset: 29243}, expr: &actionExpr{ - pos: position{line: 685, col: 14, offset: 22145}, + pos: position{line: 683, col: 14, offset: 22008}, run: (*parser).callonDocumentFragment553, expr: &seqExpr{ - pos: position{line: 685, col: 14, offset: 22145}, + pos: position{line: 683, col: 14, offset: 22008}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 685, col: 14, offset: 22145}, + pos: position{line: 683, col: 14, offset: 22008}, expr: ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, &zeroOrMoreExpr{ - pos: position{line: 685, col: 19, offset: 22150}, + pos: position{line: 683, col: 19, offset: 22013}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonDocumentFragment559, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -6278,28 +6750,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonDocumentFragment562, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -6308,9 +6780,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -6320,21 +6792,21 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 935, col: 5, offset: 29395}, + pos: position{line: 933, col: 5, offset: 29258}, val: "> ", ignoreCase: false, want: "\"> \"", }, &labeledExpr{ - pos: position{line: 936, col: 5, offset: 29405}, + pos: position{line: 934, col: 5, offset: 29268}, label: "content", expr: &actionExpr{ - pos: position{line: 936, col: 14, offset: 29414}, + pos: position{line: 934, col: 14, offset: 29277}, run: (*parser).callonDocumentFragment571, expr: &oneOrMoreExpr{ - pos: position{line: 936, col: 15, offset: 29415}, + pos: position{line: 934, col: 15, offset: 29278}, expr: &charClassMatcher{ - pos: position{line: 936, col: 15, offset: 29415}, + pos: position{line: 934, col: 15, offset: 29278}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -6344,28 +6816,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonDocumentFragment575, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -6374,9 +6846,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -6386,43 +6858,43 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 928, col: 5, offset: 29158}, + pos: position{line: 926, col: 5, offset: 29021}, label: "otherLines", expr: &zeroOrMoreExpr{ - pos: position{line: 928, col: 16, offset: 29169}, + pos: position{line: 926, col: 16, offset: 29032}, expr: &choiceExpr{ - pos: position{line: 928, col: 17, offset: 29170}, + pos: position{line: 926, col: 17, offset: 29033}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 934, col: 5, offset: 29380}, + pos: position{line: 932, col: 5, offset: 29243}, run: (*parser).callonDocumentFragment585, expr: &seqExpr{ - pos: position{line: 934, col: 5, offset: 29380}, + pos: position{line: 932, col: 5, offset: 29243}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 934, col: 5, offset: 29380}, + pos: position{line: 932, col: 5, offset: 29243}, expr: &actionExpr{ - pos: position{line: 685, col: 14, offset: 22145}, + pos: position{line: 683, col: 14, offset: 22008}, run: (*parser).callonDocumentFragment588, expr: &seqExpr{ - pos: position{line: 685, col: 14, offset: 22145}, + pos: position{line: 683, col: 14, offset: 22008}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 685, col: 14, offset: 22145}, + pos: position{line: 683, col: 14, offset: 22008}, expr: ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, &zeroOrMoreExpr{ - pos: position{line: 685, col: 19, offset: 22150}, + pos: position{line: 683, col: 19, offset: 22013}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonDocumentFragment594, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -6431,28 +6903,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonDocumentFragment597, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -6461,9 +6933,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -6473,21 +6945,21 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 935, col: 5, offset: 29395}, + pos: position{line: 933, col: 5, offset: 29258}, val: "> ", ignoreCase: false, want: "\"> \"", }, &labeledExpr{ - pos: position{line: 936, col: 5, offset: 29405}, + pos: position{line: 934, col: 5, offset: 29268}, label: "content", expr: &actionExpr{ - pos: position{line: 936, col: 14, offset: 29414}, + pos: position{line: 934, col: 14, offset: 29277}, run: (*parser).callonDocumentFragment606, expr: &oneOrMoreExpr{ - pos: position{line: 936, col: 15, offset: 29415}, + pos: position{line: 934, col: 15, offset: 29278}, expr: &charClassMatcher{ - pos: position{line: 936, col: 15, offset: 29415}, + pos: position{line: 934, col: 15, offset: 29278}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -6497,28 +6969,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonDocumentFragment610, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -6527,9 +6999,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -6538,21 +7010,21 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1716, col: 5, offset: 56453}, + pos: position{line: 1736, col: 5, offset: 56955}, run: (*parser).callonDocumentFragment617, expr: &seqExpr{ - pos: position{line: 1716, col: 5, offset: 56453}, + pos: position{line: 1736, col: 5, offset: 56955}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1716, col: 5, offset: 56453}, + pos: position{line: 1736, col: 5, offset: 56955}, label: "content", expr: &actionExpr{ - pos: position{line: 1716, col: 14, offset: 56462}, + pos: position{line: 1736, col: 14, offset: 56964}, run: (*parser).callonDocumentFragment620, expr: &oneOrMoreExpr{ - pos: position{line: 1716, col: 14, offset: 56462}, + pos: position{line: 1736, col: 14, offset: 56964}, expr: &charClassMatcher{ - pos: position{line: 1716, col: 14, offset: 56462}, + pos: position{line: 1736, col: 14, offset: 56964}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -6562,32 +7034,32 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1719, col: 5, offset: 56569}, + pos: position{line: 1739, col: 5, offset: 57071}, run: (*parser).callonDocumentFragment623, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonDocumentFragment625, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -6596,9 +7068,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -6614,30 +7086,30 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 953, col: 5, offset: 29773}, + pos: position{line: 951, col: 5, offset: 29636}, run: (*parser).callonDocumentFragment632, expr: &seqExpr{ - pos: position{line: 953, col: 5, offset: 29773}, + pos: position{line: 951, col: 5, offset: 29636}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 774, col: 30, offset: 24997}, + pos: position{line: 772, col: 30, offset: 24860}, run: (*parser).callonDocumentFragment634, expr: &seqExpr{ - pos: position{line: 774, col: 30, offset: 24997}, + pos: position{line: 772, col: 30, offset: 24860}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 774, col: 30, offset: 24997}, + pos: position{line: 772, col: 30, offset: 24860}, val: "++++", ignoreCase: false, want: "\"++++\"", }, &zeroOrMoreExpr{ - pos: position{line: 774, col: 37, offset: 25004}, + pos: position{line: 772, col: 37, offset: 24867}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonDocumentFragment638, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -6646,28 +7118,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonDocumentFragment641, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -6676,9 +7148,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -6687,40 +7159,40 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 954, col: 5, offset: 29808}, + pos: position{line: 952, col: 5, offset: 29671}, label: "content", expr: &zeroOrMoreExpr{ - pos: position{line: 965, col: 5, offset: 30164}, + pos: position{line: 963, col: 5, offset: 30027}, expr: &actionExpr{ - pos: position{line: 965, col: 6, offset: 30165}, + pos: position{line: 963, col: 6, offset: 30028}, run: (*parser).callonDocumentFragment650, expr: &seqExpr{ - pos: position{line: 965, col: 6, offset: 30165}, + pos: position{line: 963, col: 6, offset: 30028}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 965, col: 6, offset: 30165}, + pos: position{line: 963, col: 6, offset: 30028}, expr: &choiceExpr{ - pos: position{line: 962, col: 33, offset: 30099}, + pos: position{line: 960, col: 33, offset: 29962}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 774, col: 30, offset: 24997}, + pos: position{line: 772, col: 30, offset: 24860}, run: (*parser).callonDocumentFragment654, expr: &seqExpr{ - pos: position{line: 774, col: 30, offset: 24997}, + pos: position{line: 772, col: 30, offset: 24860}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 774, col: 30, offset: 24997}, + pos: position{line: 772, col: 30, offset: 24860}, val: "++++", ignoreCase: false, want: "\"++++\"", }, &zeroOrMoreExpr{ - pos: position{line: 774, col: 37, offset: 25004}, + pos: position{line: 772, col: 37, offset: 24867}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonDocumentFragment658, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -6729,28 +7201,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonDocumentFragment661, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -6759,9 +7231,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -6770,42 +7242,42 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, }, }, &labeledExpr{ - pos: position{line: 966, col: 5, offset: 30199}, + pos: position{line: 964, col: 5, offset: 30062}, label: "line", expr: &actionExpr{ - pos: position{line: 787, col: 5, offset: 25344}, + pos: position{line: 785, col: 5, offset: 25207}, run: (*parser).callonDocumentFragment671, expr: &seqExpr{ - pos: position{line: 787, col: 5, offset: 25344}, + pos: position{line: 785, col: 5, offset: 25207}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 787, col: 5, offset: 25344}, + pos: position{line: 785, col: 5, offset: 25207}, expr: ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, &labeledExpr{ - pos: position{line: 788, col: 5, offset: 25417}, + pos: position{line: 786, col: 5, offset: 25280}, label: "content", expr: &actionExpr{ - pos: position{line: 788, col: 14, offset: 25426}, + pos: position{line: 786, col: 14, offset: 25289}, run: (*parser).callonDocumentFragment677, expr: &zeroOrMoreExpr{ - pos: position{line: 788, col: 14, offset: 25426}, + pos: position{line: 786, col: 14, offset: 25289}, expr: &charClassMatcher{ - pos: position{line: 788, col: 14, offset: 25426}, + pos: position{line: 786, col: 14, offset: 25289}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -6815,28 +7287,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonDocumentFragment681, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -6845,9 +7317,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -6862,29 +7334,29 @@ var g = &grammar{ }, }, &zeroOrOneExpr{ - pos: position{line: 955, col: 5, offset: 29846}, + pos: position{line: 953, col: 5, offset: 29709}, expr: &choiceExpr{ - pos: position{line: 962, col: 33, offset: 30099}, + pos: position{line: 960, col: 33, offset: 29962}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 774, col: 30, offset: 24997}, + pos: position{line: 772, col: 30, offset: 24860}, run: (*parser).callonDocumentFragment690, expr: &seqExpr{ - pos: position{line: 774, col: 30, offset: 24997}, + pos: position{line: 772, col: 30, offset: 24860}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 774, col: 30, offset: 24997}, + pos: position{line: 772, col: 30, offset: 24860}, val: "++++", ignoreCase: false, want: "\"++++\"", }, &zeroOrMoreExpr{ - pos: position{line: 774, col: 37, offset: 25004}, + pos: position{line: 772, col: 37, offset: 24867}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonDocumentFragment694, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -6893,28 +7365,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonDocumentFragment697, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -6923,9 +7395,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -6934,9 +7406,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -6946,30 +7418,30 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 974, col: 5, offset: 30350}, + pos: position{line: 972, col: 5, offset: 30213}, run: (*parser).callonDocumentFragment706, expr: &seqExpr{ - pos: position{line: 974, col: 5, offset: 30350}, + pos: position{line: 972, col: 5, offset: 30213}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 778, col: 24, offset: 25113}, + pos: position{line: 776, col: 24, offset: 24976}, run: (*parser).callonDocumentFragment708, expr: &seqExpr{ - pos: position{line: 778, col: 24, offset: 25113}, + pos: position{line: 776, col: 24, offset: 24976}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 778, col: 24, offset: 25113}, + pos: position{line: 776, col: 24, offset: 24976}, val: "____", ignoreCase: false, want: "\"____\"", }, &zeroOrMoreExpr{ - pos: position{line: 778, col: 31, offset: 25120}, + pos: position{line: 776, col: 31, offset: 24983}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonDocumentFragment712, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -6978,28 +7450,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonDocumentFragment715, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -7008,9 +7480,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -7019,40 +7491,40 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 975, col: 5, offset: 30379}, + pos: position{line: 973, col: 5, offset: 30242}, label: "content", expr: &zeroOrMoreExpr{ - pos: position{line: 986, col: 4, offset: 30686}, + pos: position{line: 984, col: 4, offset: 30549}, expr: &actionExpr{ - pos: position{line: 986, col: 5, offset: 30687}, + pos: position{line: 984, col: 5, offset: 30550}, run: (*parser).callonDocumentFragment724, expr: &seqExpr{ - pos: position{line: 986, col: 5, offset: 30687}, + pos: position{line: 984, col: 5, offset: 30550}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 986, col: 5, offset: 30687}, + pos: position{line: 984, col: 5, offset: 30550}, expr: &choiceExpr{ - pos: position{line: 983, col: 27, offset: 30634}, + pos: position{line: 981, col: 27, offset: 30497}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 778, col: 24, offset: 25113}, + pos: position{line: 776, col: 24, offset: 24976}, run: (*parser).callonDocumentFragment728, expr: &seqExpr{ - pos: position{line: 778, col: 24, offset: 25113}, + pos: position{line: 776, col: 24, offset: 24976}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 778, col: 24, offset: 25113}, + pos: position{line: 776, col: 24, offset: 24976}, val: "____", ignoreCase: false, want: "\"____\"", }, &zeroOrMoreExpr{ - pos: position{line: 778, col: 31, offset: 25120}, + pos: position{line: 776, col: 31, offset: 24983}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonDocumentFragment732, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -7061,28 +7533,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonDocumentFragment735, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -7091,9 +7563,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -7102,42 +7574,42 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, }, }, &labeledExpr{ - pos: position{line: 987, col: 5, offset: 30715}, + pos: position{line: 985, col: 5, offset: 30578}, label: "line", expr: &actionExpr{ - pos: position{line: 787, col: 5, offset: 25344}, + pos: position{line: 785, col: 5, offset: 25207}, run: (*parser).callonDocumentFragment745, expr: &seqExpr{ - pos: position{line: 787, col: 5, offset: 25344}, + pos: position{line: 785, col: 5, offset: 25207}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 787, col: 5, offset: 25344}, + pos: position{line: 785, col: 5, offset: 25207}, expr: ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, &labeledExpr{ - pos: position{line: 788, col: 5, offset: 25417}, + pos: position{line: 786, col: 5, offset: 25280}, label: "content", expr: &actionExpr{ - pos: position{line: 788, col: 14, offset: 25426}, + pos: position{line: 786, col: 14, offset: 25289}, run: (*parser).callonDocumentFragment751, expr: &zeroOrMoreExpr{ - pos: position{line: 788, col: 14, offset: 25426}, + pos: position{line: 786, col: 14, offset: 25289}, expr: &charClassMatcher{ - pos: position{line: 788, col: 14, offset: 25426}, + pos: position{line: 786, col: 14, offset: 25289}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -7147,28 +7619,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonDocumentFragment755, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -7177,9 +7649,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -7194,29 +7666,29 @@ var g = &grammar{ }, }, &zeroOrOneExpr{ - pos: position{line: 976, col: 5, offset: 30411}, + pos: position{line: 974, col: 5, offset: 30274}, expr: &choiceExpr{ - pos: position{line: 983, col: 27, offset: 30634}, + pos: position{line: 981, col: 27, offset: 30497}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 778, col: 24, offset: 25113}, + pos: position{line: 776, col: 24, offset: 24976}, run: (*parser).callonDocumentFragment764, expr: &seqExpr{ - pos: position{line: 778, col: 24, offset: 25113}, + pos: position{line: 776, col: 24, offset: 24976}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 778, col: 24, offset: 25113}, + pos: position{line: 776, col: 24, offset: 24976}, val: "____", ignoreCase: false, want: "\"____\"", }, &zeroOrMoreExpr{ - pos: position{line: 778, col: 31, offset: 25120}, + pos: position{line: 776, col: 31, offset: 24983}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonDocumentFragment768, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -7225,28 +7697,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonDocumentFragment771, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -7255,9 +7727,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -7266,9 +7738,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -7278,30 +7750,30 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 995, col: 5, offset: 30870}, + pos: position{line: 993, col: 5, offset: 30733}, run: (*parser).callonDocumentFragment780, expr: &seqExpr{ - pos: position{line: 995, col: 5, offset: 30870}, + pos: position{line: 993, col: 5, offset: 30733}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 782, col: 26, offset: 25225}, + pos: position{line: 780, col: 26, offset: 25088}, run: (*parser).callonDocumentFragment782, expr: &seqExpr{ - pos: position{line: 782, col: 26, offset: 25225}, + pos: position{line: 780, col: 26, offset: 25088}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 782, col: 26, offset: 25225}, + pos: position{line: 780, col: 26, offset: 25088}, val: "****", ignoreCase: false, want: "\"****\"", }, &zeroOrMoreExpr{ - pos: position{line: 782, col: 33, offset: 25232}, + pos: position{line: 780, col: 33, offset: 25095}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonDocumentFragment786, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -7310,28 +7782,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonDocumentFragment789, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -7340,9 +7812,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -7351,40 +7823,40 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 996, col: 5, offset: 30901}, + pos: position{line: 994, col: 5, offset: 30764}, label: "content", expr: &zeroOrMoreExpr{ - pos: position{line: 1007, col: 4, offset: 31226}, + pos: position{line: 1005, col: 4, offset: 31089}, expr: &actionExpr{ - pos: position{line: 1007, col: 5, offset: 31227}, + pos: position{line: 1005, col: 5, offset: 31090}, run: (*parser).callonDocumentFragment798, expr: &seqExpr{ - pos: position{line: 1007, col: 5, offset: 31227}, + pos: position{line: 1005, col: 5, offset: 31090}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 1007, col: 5, offset: 31227}, + pos: position{line: 1005, col: 5, offset: 31090}, expr: &choiceExpr{ - pos: position{line: 1004, col: 29, offset: 31169}, + pos: position{line: 1002, col: 29, offset: 31032}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 782, col: 26, offset: 25225}, + pos: position{line: 780, col: 26, offset: 25088}, run: (*parser).callonDocumentFragment802, expr: &seqExpr{ - pos: position{line: 782, col: 26, offset: 25225}, + pos: position{line: 780, col: 26, offset: 25088}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 782, col: 26, offset: 25225}, + pos: position{line: 780, col: 26, offset: 25088}, val: "****", ignoreCase: false, want: "\"****\"", }, &zeroOrMoreExpr{ - pos: position{line: 782, col: 33, offset: 25232}, + pos: position{line: 780, col: 33, offset: 25095}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonDocumentFragment806, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -7393,28 +7865,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonDocumentFragment809, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -7423,9 +7895,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -7434,42 +7906,42 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, }, }, &labeledExpr{ - pos: position{line: 1008, col: 5, offset: 31257}, + pos: position{line: 1006, col: 5, offset: 31120}, label: "line", expr: &actionExpr{ - pos: position{line: 787, col: 5, offset: 25344}, + pos: position{line: 785, col: 5, offset: 25207}, run: (*parser).callonDocumentFragment819, expr: &seqExpr{ - pos: position{line: 787, col: 5, offset: 25344}, + pos: position{line: 785, col: 5, offset: 25207}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 787, col: 5, offset: 25344}, + pos: position{line: 785, col: 5, offset: 25207}, expr: ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, &labeledExpr{ - pos: position{line: 788, col: 5, offset: 25417}, + pos: position{line: 786, col: 5, offset: 25280}, label: "content", expr: &actionExpr{ - pos: position{line: 788, col: 14, offset: 25426}, + pos: position{line: 786, col: 14, offset: 25289}, run: (*parser).callonDocumentFragment825, expr: &zeroOrMoreExpr{ - pos: position{line: 788, col: 14, offset: 25426}, + pos: position{line: 786, col: 14, offset: 25289}, expr: &charClassMatcher{ - pos: position{line: 788, col: 14, offset: 25426}, + pos: position{line: 786, col: 14, offset: 25289}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -7479,28 +7951,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonDocumentFragment829, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -7509,9 +7981,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -7526,29 +7998,29 @@ var g = &grammar{ }, }, &zeroOrOneExpr{ - pos: position{line: 997, col: 5, offset: 30935}, + pos: position{line: 995, col: 5, offset: 30798}, expr: &choiceExpr{ - pos: position{line: 1004, col: 29, offset: 31169}, + pos: position{line: 1002, col: 29, offset: 31032}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 782, col: 26, offset: 25225}, + pos: position{line: 780, col: 26, offset: 25088}, run: (*parser).callonDocumentFragment838, expr: &seqExpr{ - pos: position{line: 782, col: 26, offset: 25225}, + pos: position{line: 780, col: 26, offset: 25088}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 782, col: 26, offset: 25225}, + pos: position{line: 780, col: 26, offset: 25088}, val: "****", ignoreCase: false, want: "\"****\"", }, &zeroOrMoreExpr{ - pos: position{line: 782, col: 33, offset: 25232}, + pos: position{line: 780, col: 33, offset: 25095}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonDocumentFragment842, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -7557,28 +8029,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonDocumentFragment845, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -7587,9 +8059,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -7598,9 +8070,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -7610,52 +8082,52 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2768, col: 18, offset: 91974}, + pos: position{line: 2927, col: 18, offset: 95398}, run: (*parser).callonDocumentFragment854, expr: &seqExpr{ - pos: position{line: 2768, col: 18, offset: 91974}, + pos: position{line: 2927, col: 18, offset: 95398}, exprs: []interface{}{ &choiceExpr{ - pos: position{line: 2769, col: 9, offset: 91984}, + pos: position{line: 2928, col: 9, offset: 95408}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2769, col: 9, offset: 91984}, + pos: position{line: 2928, col: 9, offset: 95408}, val: "'''", ignoreCase: false, want: "\"'''\"", }, &litMatcher{ - pos: position{line: 2770, col: 11, offset: 92020}, + pos: position{line: 2929, col: 11, offset: 95444}, val: "***", ignoreCase: false, want: "\"***\"", }, &litMatcher{ - pos: position{line: 2770, col: 19, offset: 92028}, + pos: position{line: 2929, col: 19, offset: 95452}, val: "* * *", ignoreCase: false, want: "\"* * *\"", }, &litMatcher{ - pos: position{line: 2770, col: 29, offset: 92038}, + pos: position{line: 2929, col: 29, offset: 95462}, val: "---", ignoreCase: false, want: "\"---\"", }, &litMatcher{ - pos: position{line: 2770, col: 37, offset: 92046}, + pos: position{line: 2929, col: 37, offset: 95470}, val: "- - -", ignoreCase: false, want: "\"- - -\"", }, &litMatcher{ - pos: position{line: 2770, col: 47, offset: 92056}, + pos: position{line: 2929, col: 47, offset: 95480}, val: "___", ignoreCase: false, want: "\"___\"", }, &litMatcher{ - pos: position{line: 2770, col: 55, offset: 92064}, + pos: position{line: 2929, col: 55, offset: 95488}, val: "_ _ _", ignoreCase: false, want: "\"_ _ _\"", @@ -7663,12 +8135,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 2771, col: 11, offset: 92122}, + pos: position{line: 2930, col: 11, offset: 95546}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonDocumentFragment865, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -7677,28 +8149,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonDocumentFragment868, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -7707,36 +8179,36 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonDocumentFragment876, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -7745,9 +8217,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -7760,24 +8232,24 @@ var g = &grammar{ name: "ListElements", }, &actionExpr{ - pos: position{line: 2666, col: 5, offset: 89103}, + pos: position{line: 2825, col: 5, offset: 92527}, run: (*parser).callonDocumentFragment884, expr: &seqExpr{ - pos: position{line: 2666, col: 5, offset: 89103}, + pos: position{line: 2825, col: 5, offset: 92527}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2674, col: 19, offset: 89280}, + pos: position{line: 2833, col: 19, offset: 92704}, val: "|===", ignoreCase: false, want: "\"|===\"", }, &zeroOrMoreExpr{ - pos: position{line: 2674, col: 26, offset: 89287}, + pos: position{line: 2833, col: 26, offset: 92711}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonDocumentFragment888, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -7786,28 +8258,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonDocumentFragment891, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -7816,48 +8288,48 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, }, &labeledExpr{ - pos: position{line: 2667, col: 5, offset: 89127}, + pos: position{line: 2826, col: 5, offset: 92551}, label: "header", expr: &zeroOrOneExpr{ - pos: position{line: 2667, col: 12, offset: 89134}, + pos: position{line: 2826, col: 12, offset: 92558}, expr: &actionExpr{ - pos: position{line: 2682, col: 5, offset: 89447}, + pos: position{line: 2841, col: 5, offset: 92871}, run: (*parser).callonDocumentFragment900, expr: &seqExpr{ - pos: position{line: 2682, col: 5, offset: 89447}, + pos: position{line: 2841, col: 5, offset: 92871}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 2682, col: 5, offset: 89447}, + pos: position{line: 2841, col: 5, offset: 92871}, label: "cells", expr: &oneOrMoreExpr{ - pos: position{line: 2682, col: 11, offset: 89453}, + pos: position{line: 2841, col: 11, offset: 92877}, expr: &actionExpr{ - pos: position{line: 2688, col: 5, offset: 89570}, + pos: position{line: 2847, col: 5, offset: 92994}, run: (*parser).callonDocumentFragment904, expr: &seqExpr{ - pos: position{line: 2688, col: 5, offset: 89570}, + pos: position{line: 2847, col: 5, offset: 92994}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2688, col: 5, offset: 89570}, + pos: position{line: 2847, col: 5, offset: 92994}, val: "|", ignoreCase: false, want: "\"|\"", }, &zeroOrMoreExpr{ - pos: position{line: 2688, col: 9, offset: 89574}, + pos: position{line: 2847, col: 9, offset: 92998}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonDocumentFragment908, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -7866,23 +8338,23 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 2689, col: 5, offset: 89586}, + pos: position{line: 2848, col: 5, offset: 93010}, label: "content", expr: &zeroOrOneExpr{ - pos: position{line: 2689, col: 14, offset: 89595}, + pos: position{line: 2848, col: 14, offset: 93019}, expr: &actionExpr{ - pos: position{line: 2721, col: 5, offset: 90383}, + pos: position{line: 2880, col: 5, offset: 93807}, run: (*parser).callonDocumentFragment912, expr: &labeledExpr{ - pos: position{line: 2721, col: 5, offset: 90383}, + pos: position{line: 2880, col: 5, offset: 93807}, label: "content", expr: &actionExpr{ - pos: position{line: 2721, col: 14, offset: 90392}, + pos: position{line: 2880, col: 14, offset: 93816}, run: (*parser).callonDocumentFragment914, expr: &oneOrMoreExpr{ - pos: position{line: 2721, col: 14, offset: 90392}, + pos: position{line: 2880, col: 14, offset: 93816}, expr: &charClassMatcher{ - pos: position{line: 2721, col: 14, offset: 90392}, + pos: position{line: 2880, col: 14, offset: 93816}, val: "[^\\r\\n|]", chars: []rune{'\r', '\n', '|'}, ignoreCase: false, @@ -7900,28 +8372,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonDocumentFragment918, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -7930,37 +8402,37 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, }, &oneOrMoreExpr{ - pos: position{line: 2683, col: 5, offset: 89475}, + pos: position{line: 2842, col: 5, offset: 92899}, expr: &actionExpr{ - pos: position{line: 685, col: 14, offset: 22145}, + pos: position{line: 683, col: 14, offset: 22008}, run: (*parser).callonDocumentFragment926, expr: &seqExpr{ - pos: position{line: 685, col: 14, offset: 22145}, + pos: position{line: 683, col: 14, offset: 22008}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 685, col: 14, offset: 22145}, + pos: position{line: 683, col: 14, offset: 22008}, expr: ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, &zeroOrMoreExpr{ - pos: position{line: 685, col: 19, offset: 22150}, + pos: position{line: 683, col: 19, offset: 22013}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonDocumentFragment932, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -7969,28 +8441,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonDocumentFragment935, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -7999,9 +8471,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -8016,40 +8488,40 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 2668, col: 5, offset: 89153}, + pos: position{line: 2827, col: 5, offset: 92577}, label: "rows", expr: &zeroOrMoreExpr{ - pos: position{line: 2668, col: 10, offset: 89158}, + pos: position{line: 2827, col: 10, offset: 92582}, expr: &choiceExpr{ - pos: position{line: 2693, col: 13, offset: 89692}, + pos: position{line: 2852, col: 13, offset: 93116}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2703, col: 5, offset: 89911}, + pos: position{line: 2862, col: 5, offset: 93335}, run: (*parser).callonDocumentFragment945, expr: &seqExpr{ - pos: position{line: 2703, col: 5, offset: 89911}, + pos: position{line: 2862, col: 5, offset: 93335}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 2703, col: 5, offset: 89911}, + pos: position{line: 2862, col: 5, offset: 93335}, expr: &choiceExpr{ - pos: position{line: 2678, col: 22, offset: 89360}, + pos: position{line: 2837, col: 22, offset: 92784}, alternatives: []interface{}{ &seqExpr{ - pos: position{line: 2674, col: 19, offset: 89280}, + pos: position{line: 2833, col: 19, offset: 92704}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2674, col: 19, offset: 89280}, + pos: position{line: 2833, col: 19, offset: 92704}, val: "|===", ignoreCase: false, want: "\"|===\"", }, &zeroOrMoreExpr{ - pos: position{line: 2674, col: 26, offset: 89287}, + pos: position{line: 2833, col: 26, offset: 92711}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonDocumentFragment952, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -8058,28 +8530,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonDocumentFragment955, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -8088,9 +8560,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -8098,55 +8570,55 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, }, }, &labeledExpr{ - pos: position{line: 2704, col: 5, offset: 89934}, + pos: position{line: 2863, col: 5, offset: 93358}, label: "cells", expr: &oneOrMoreExpr{ - pos: position{line: 2704, col: 11, offset: 89940}, + pos: position{line: 2863, col: 11, offset: 93364}, expr: &actionExpr{ - pos: position{line: 2704, col: 12, offset: 89941}, + pos: position{line: 2863, col: 12, offset: 93365}, run: (*parser).callonDocumentFragment966, expr: &seqExpr{ - pos: position{line: 2704, col: 12, offset: 89941}, + pos: position{line: 2863, col: 12, offset: 93365}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 2704, col: 12, offset: 89941}, + pos: position{line: 2863, col: 12, offset: 93365}, label: "cell", expr: &actionExpr{ - pos: position{line: 2713, col: 5, offset: 90182}, + pos: position{line: 2872, col: 5, offset: 93606}, run: (*parser).callonDocumentFragment969, expr: &seqExpr{ - pos: position{line: 2713, col: 5, offset: 90182}, + pos: position{line: 2872, col: 5, offset: 93606}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 2713, col: 5, offset: 90182}, + pos: position{line: 2872, col: 5, offset: 93606}, expr: &choiceExpr{ - pos: position{line: 2678, col: 22, offset: 89360}, + pos: position{line: 2837, col: 22, offset: 92784}, alternatives: []interface{}{ &seqExpr{ - pos: position{line: 2674, col: 19, offset: 89280}, + pos: position{line: 2833, col: 19, offset: 92704}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2674, col: 19, offset: 89280}, + pos: position{line: 2833, col: 19, offset: 92704}, val: "|===", ignoreCase: false, want: "\"|===\"", }, &zeroOrMoreExpr{ - pos: position{line: 2674, col: 26, offset: 89287}, + pos: position{line: 2833, col: 26, offset: 92711}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonDocumentFragment976, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -8155,28 +8627,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonDocumentFragment979, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -8185,9 +8657,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -8195,38 +8667,38 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, }, }, ¬Expr{ - pos: position{line: 2714, col: 5, offset: 90205}, + pos: position{line: 2873, col: 5, offset: 93629}, expr: &actionExpr{ - pos: position{line: 685, col: 14, offset: 22145}, + pos: position{line: 683, col: 14, offset: 22008}, run: (*parser).callonDocumentFragment989, expr: &seqExpr{ - pos: position{line: 685, col: 14, offset: 22145}, + pos: position{line: 683, col: 14, offset: 22008}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 685, col: 14, offset: 22145}, + pos: position{line: 683, col: 14, offset: 22008}, expr: ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, &zeroOrMoreExpr{ - pos: position{line: 685, col: 19, offset: 22150}, + pos: position{line: 683, col: 19, offset: 22013}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonDocumentFragment995, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -8235,28 +8707,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonDocumentFragment998, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -8265,9 +8737,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -8277,18 +8749,18 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 2715, col: 5, offset: 90220}, + pos: position{line: 2874, col: 5, offset: 93644}, val: "|", ignoreCase: false, want: "\"|\"", }, &zeroOrMoreExpr{ - pos: position{line: 2715, col: 9, offset: 90224}, + pos: position{line: 2874, col: 9, offset: 93648}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonDocumentFragment1007, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -8297,23 +8769,23 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 2715, col: 16, offset: 90231}, + pos: position{line: 2874, col: 16, offset: 93655}, label: "content", expr: &zeroOrOneExpr{ - pos: position{line: 2715, col: 25, offset: 90240}, + pos: position{line: 2874, col: 25, offset: 93664}, expr: &actionExpr{ - pos: position{line: 2721, col: 5, offset: 90383}, + pos: position{line: 2880, col: 5, offset: 93807}, run: (*parser).callonDocumentFragment1011, expr: &labeledExpr{ - pos: position{line: 2721, col: 5, offset: 90383}, + pos: position{line: 2880, col: 5, offset: 93807}, label: "content", expr: &actionExpr{ - pos: position{line: 2721, col: 14, offset: 90392}, + pos: position{line: 2880, col: 14, offset: 93816}, run: (*parser).callonDocumentFragment1013, expr: &oneOrMoreExpr{ - pos: position{line: 2721, col: 14, offset: 90392}, + pos: position{line: 2880, col: 14, offset: 93816}, expr: &charClassMatcher{ - pos: position{line: 2721, col: 14, offset: 90392}, + pos: position{line: 2880, col: 14, offset: 93816}, val: "[^\\r\\n|]", chars: []rune{'\r', '\n', '|'}, ignoreCase: false, @@ -8330,28 +8802,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonDocumentFragment1017, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -8360,9 +8832,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -8373,32 +8845,32 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2707, col: 6, offset: 90003}, + pos: position{line: 2866, col: 6, offset: 93427}, alternatives: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 2707, col: 6, offset: 90003}, + pos: position{line: 2866, col: 6, offset: 93427}, expr: &actionExpr{ - pos: position{line: 685, col: 14, offset: 22145}, + pos: position{line: 683, col: 14, offset: 22008}, run: (*parser).callonDocumentFragment1026, expr: &seqExpr{ - pos: position{line: 685, col: 14, offset: 22145}, + pos: position{line: 683, col: 14, offset: 22008}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 685, col: 14, offset: 22145}, + pos: position{line: 683, col: 14, offset: 22008}, expr: ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, &zeroOrMoreExpr{ - pos: position{line: 685, col: 19, offset: 22150}, + pos: position{line: 683, col: 19, offset: 22013}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonDocumentFragment1032, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -8407,28 +8879,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonDocumentFragment1035, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -8437,9 +8909,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -8449,26 +8921,26 @@ var g = &grammar{ }, }, &andExpr{ - pos: position{line: 2707, col: 19, offset: 90016}, + pos: position{line: 2866, col: 19, offset: 93440}, expr: &choiceExpr{ - pos: position{line: 2678, col: 22, offset: 89360}, + pos: position{line: 2837, col: 22, offset: 92784}, alternatives: []interface{}{ &seqExpr{ - pos: position{line: 2674, col: 19, offset: 89280}, + pos: position{line: 2833, col: 19, offset: 92704}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2674, col: 19, offset: 89280}, + pos: position{line: 2833, col: 19, offset: 92704}, val: "|===", ignoreCase: false, want: "\"|===\"", }, &zeroOrMoreExpr{ - pos: position{line: 2674, col: 26, offset: 89287}, + pos: position{line: 2833, col: 26, offset: 92711}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonDocumentFragment1047, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -8477,28 +8949,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonDocumentFragment1050, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -8507,9 +8979,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -8517,9 +8989,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -8531,32 +9003,32 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2696, col: 5, offset: 89759}, + pos: position{line: 2855, col: 5, offset: 93183}, run: (*parser).callonDocumentFragment1059, expr: &seqExpr{ - pos: position{line: 2696, col: 5, offset: 89759}, + pos: position{line: 2855, col: 5, offset: 93183}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 2696, col: 5, offset: 89759}, + pos: position{line: 2855, col: 5, offset: 93183}, expr: &choiceExpr{ - pos: position{line: 2678, col: 22, offset: 89360}, + pos: position{line: 2837, col: 22, offset: 92784}, alternatives: []interface{}{ &seqExpr{ - pos: position{line: 2674, col: 19, offset: 89280}, + pos: position{line: 2833, col: 19, offset: 92704}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2674, col: 19, offset: 89280}, + pos: position{line: 2833, col: 19, offset: 92704}, val: "|===", ignoreCase: false, want: "\"|===\"", }, &zeroOrMoreExpr{ - pos: position{line: 2674, col: 26, offset: 89287}, + pos: position{line: 2833, col: 26, offset: 92711}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonDocumentFragment1066, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -8565,28 +9037,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonDocumentFragment1069, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -8595,9 +9067,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -8605,46 +9077,46 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, }, }, &labeledExpr{ - pos: position{line: 2697, col: 5, offset: 89782}, + pos: position{line: 2856, col: 5, offset: 93206}, label: "cells", expr: &oneOrMoreExpr{ - pos: position{line: 2697, col: 11, offset: 89788}, + pos: position{line: 2856, col: 11, offset: 93212}, expr: &actionExpr{ - pos: position{line: 2713, col: 5, offset: 90182}, + pos: position{line: 2872, col: 5, offset: 93606}, run: (*parser).callonDocumentFragment1080, expr: &seqExpr{ - pos: position{line: 2713, col: 5, offset: 90182}, + pos: position{line: 2872, col: 5, offset: 93606}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 2713, col: 5, offset: 90182}, + pos: position{line: 2872, col: 5, offset: 93606}, expr: &choiceExpr{ - pos: position{line: 2678, col: 22, offset: 89360}, + pos: position{line: 2837, col: 22, offset: 92784}, alternatives: []interface{}{ &seqExpr{ - pos: position{line: 2674, col: 19, offset: 89280}, + pos: position{line: 2833, col: 19, offset: 92704}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2674, col: 19, offset: 89280}, + pos: position{line: 2833, col: 19, offset: 92704}, val: "|===", ignoreCase: false, want: "\"|===\"", }, &zeroOrMoreExpr{ - pos: position{line: 2674, col: 26, offset: 89287}, + pos: position{line: 2833, col: 26, offset: 92711}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonDocumentFragment1087, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -8653,28 +9125,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonDocumentFragment1090, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -8683,9 +9155,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -8693,38 +9165,38 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, }, }, ¬Expr{ - pos: position{line: 2714, col: 5, offset: 90205}, + pos: position{line: 2873, col: 5, offset: 93629}, expr: &actionExpr{ - pos: position{line: 685, col: 14, offset: 22145}, + pos: position{line: 683, col: 14, offset: 22008}, run: (*parser).callonDocumentFragment1100, expr: &seqExpr{ - pos: position{line: 685, col: 14, offset: 22145}, + pos: position{line: 683, col: 14, offset: 22008}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 685, col: 14, offset: 22145}, + pos: position{line: 683, col: 14, offset: 22008}, expr: ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, &zeroOrMoreExpr{ - pos: position{line: 685, col: 19, offset: 22150}, + pos: position{line: 683, col: 19, offset: 22013}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonDocumentFragment1106, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -8733,28 +9205,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonDocumentFragment1109, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -8763,9 +9235,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -8775,18 +9247,18 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 2715, col: 5, offset: 90220}, + pos: position{line: 2874, col: 5, offset: 93644}, val: "|", ignoreCase: false, want: "\"|\"", }, &zeroOrMoreExpr{ - pos: position{line: 2715, col: 9, offset: 90224}, + pos: position{line: 2874, col: 9, offset: 93648}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonDocumentFragment1118, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -8795,23 +9267,23 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 2715, col: 16, offset: 90231}, + pos: position{line: 2874, col: 16, offset: 93655}, label: "content", expr: &zeroOrOneExpr{ - pos: position{line: 2715, col: 25, offset: 90240}, + pos: position{line: 2874, col: 25, offset: 93664}, expr: &actionExpr{ - pos: position{line: 2721, col: 5, offset: 90383}, + pos: position{line: 2880, col: 5, offset: 93807}, run: (*parser).callonDocumentFragment1122, expr: &labeledExpr{ - pos: position{line: 2721, col: 5, offset: 90383}, + pos: position{line: 2880, col: 5, offset: 93807}, label: "content", expr: &actionExpr{ - pos: position{line: 2721, col: 14, offset: 90392}, + pos: position{line: 2880, col: 14, offset: 93816}, run: (*parser).callonDocumentFragment1124, expr: &oneOrMoreExpr{ - pos: position{line: 2721, col: 14, offset: 90392}, + pos: position{line: 2880, col: 14, offset: 93816}, expr: &charClassMatcher{ - pos: position{line: 2721, col: 14, offset: 90392}, + pos: position{line: 2880, col: 14, offset: 93816}, val: "[^\\r\\n|]", chars: []rune{'\r', '\n', '|'}, ignoreCase: false, @@ -8829,28 +9301,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonDocumentFragment1128, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -8859,37 +9331,37 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, }, &zeroOrMoreExpr{ - pos: position{line: 2698, col: 5, offset: 89809}, + pos: position{line: 2857, col: 5, offset: 93233}, expr: &actionExpr{ - pos: position{line: 685, col: 14, offset: 22145}, + pos: position{line: 683, col: 14, offset: 22008}, run: (*parser).callonDocumentFragment1136, expr: &seqExpr{ - pos: position{line: 685, col: 14, offset: 22145}, + pos: position{line: 683, col: 14, offset: 22008}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 685, col: 14, offset: 22145}, + pos: position{line: 683, col: 14, offset: 22008}, expr: ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, &zeroOrMoreExpr{ - pos: position{line: 685, col: 19, offset: 22150}, + pos: position{line: 683, col: 19, offset: 22013}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonDocumentFragment1142, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -8898,28 +9370,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonDocumentFragment1145, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -8928,9 +9400,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -8947,24 +9419,24 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2678, col: 22, offset: 89360}, + pos: position{line: 2837, col: 22, offset: 92784}, alternatives: []interface{}{ &seqExpr{ - pos: position{line: 2674, col: 19, offset: 89280}, + pos: position{line: 2833, col: 19, offset: 92704}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2674, col: 19, offset: 89280}, + pos: position{line: 2833, col: 19, offset: 92704}, val: "|===", ignoreCase: false, want: "\"|===\"", }, &zeroOrMoreExpr{ - pos: position{line: 2674, col: 26, offset: 89287}, + pos: position{line: 2833, col: 26, offset: 92711}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonDocumentFragment1156, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -8973,28 +9445,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonDocumentFragment1159, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -9003,9 +9475,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -9013,9 +9485,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -9024,36 +9496,36 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2616, col: 22, offset: 87547}, + pos: position{line: 2760, col: 22, offset: 90461}, run: (*parser).callonDocumentFragment1168, expr: &seqExpr{ - pos: position{line: 2616, col: 22, offset: 87547}, + pos: position{line: 2760, col: 22, offset: 90461}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2621, col: 31, offset: 87768}, + pos: position{line: 2765, col: 31, offset: 90682}, val: "//", ignoreCase: false, want: "\"//\"", }, ¬Expr{ - pos: position{line: 2621, col: 36, offset: 87773}, + pos: position{line: 2765, col: 36, offset: 90687}, expr: &litMatcher{ - pos: position{line: 2621, col: 37, offset: 87774}, + pos: position{line: 2765, col: 37, offset: 90688}, val: "//", ignoreCase: false, want: "\"//\"", }, }, &labeledExpr{ - pos: position{line: 2616, col: 49, offset: 87574}, + pos: position{line: 2760, col: 49, offset: 90488}, label: "content", expr: &actionExpr{ - pos: position{line: 2623, col: 29, offset: 87809}, + pos: position{line: 2767, col: 29, offset: 90723}, run: (*parser).callonDocumentFragment1174, expr: &zeroOrMoreExpr{ - pos: position{line: 2623, col: 29, offset: 87809}, + pos: position{line: 2767, col: 29, offset: 90723}, expr: &charClassMatcher{ - pos: position{line: 2623, col: 29, offset: 87809}, + pos: position{line: 2767, col: 29, offset: 90723}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -9063,28 +9535,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonDocumentFragment1178, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -9093,9 +9565,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -9104,62 +9576,62 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1704, col: 5, offset: 56077}, + pos: position{line: 1724, col: 5, offset: 56579}, run: (*parser).callonDocumentFragment1185, expr: &seqExpr{ - pos: position{line: 1704, col: 5, offset: 56077}, + pos: position{line: 1724, col: 5, offset: 56579}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1704, col: 5, offset: 56077}, + pos: position{line: 1724, col: 5, offset: 56579}, label: "kind", expr: &choiceExpr{ - pos: position{line: 301, col: 19, offset: 9383}, + pos: position{line: 293, col: 19, offset: 9044}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 301, col: 19, offset: 9383}, + pos: position{line: 293, col: 19, offset: 9044}, run: (*parser).callonDocumentFragment1189, expr: &litMatcher{ - pos: position{line: 301, col: 19, offset: 9383}, + pos: position{line: 293, col: 19, offset: 9044}, val: "TIP", ignoreCase: false, want: "\"TIP\"", }, }, &actionExpr{ - pos: position{line: 303, col: 5, offset: 9421}, + pos: position{line: 295, col: 5, offset: 9082}, run: (*parser).callonDocumentFragment1191, expr: &litMatcher{ - pos: position{line: 303, col: 5, offset: 9421}, + pos: position{line: 295, col: 5, offset: 9082}, val: "NOTE", ignoreCase: false, want: "\"NOTE\"", }, }, &actionExpr{ - pos: position{line: 305, col: 5, offset: 9461}, + pos: position{line: 297, col: 5, offset: 9122}, run: (*parser).callonDocumentFragment1193, expr: &litMatcher{ - pos: position{line: 305, col: 5, offset: 9461}, + pos: position{line: 297, col: 5, offset: 9122}, val: "IMPORTANT", ignoreCase: false, want: "\"IMPORTANT\"", }, }, &actionExpr{ - pos: position{line: 307, col: 5, offset: 9511}, + pos: position{line: 299, col: 5, offset: 9172}, run: (*parser).callonDocumentFragment1195, expr: &litMatcher{ - pos: position{line: 307, col: 5, offset: 9511}, + pos: position{line: 299, col: 5, offset: 9172}, val: "WARNING", ignoreCase: false, want: "\"WARNING\"", }, }, &actionExpr{ - pos: position{line: 309, col: 5, offset: 9557}, + pos: position{line: 301, col: 5, offset: 9218}, run: (*parser).callonDocumentFragment1197, expr: &litMatcher{ - pos: position{line: 309, col: 5, offset: 9557}, + pos: position{line: 301, col: 5, offset: 9218}, val: "CAUTION", ignoreCase: false, want: "\"CAUTION\"", @@ -9169,30 +9641,30 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1704, col: 27, offset: 56099}, + pos: position{line: 1724, col: 27, offset: 56601}, val: ": ", ignoreCase: false, want: "\": \"", }, &labeledExpr{ - pos: position{line: 1705, col: 5, offset: 56109}, + pos: position{line: 1725, col: 5, offset: 56611}, label: "firstLine", expr: &actionExpr{ - pos: position{line: 1716, col: 5, offset: 56453}, + pos: position{line: 1736, col: 5, offset: 56955}, run: (*parser).callonDocumentFragment1201, expr: &seqExpr{ - pos: position{line: 1716, col: 5, offset: 56453}, + pos: position{line: 1736, col: 5, offset: 56955}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1716, col: 5, offset: 56453}, + pos: position{line: 1736, col: 5, offset: 56955}, label: "content", expr: &actionExpr{ - pos: position{line: 1716, col: 14, offset: 56462}, + pos: position{line: 1736, col: 14, offset: 56964}, run: (*parser).callonDocumentFragment1204, expr: &oneOrMoreExpr{ - pos: position{line: 1716, col: 14, offset: 56462}, + pos: position{line: 1736, col: 14, offset: 56964}, expr: &charClassMatcher{ - pos: position{line: 1716, col: 14, offset: 56462}, + pos: position{line: 1736, col: 14, offset: 56964}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -9202,32 +9674,32 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1719, col: 5, offset: 56569}, + pos: position{line: 1739, col: 5, offset: 57071}, run: (*parser).callonDocumentFragment1207, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonDocumentFragment1209, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -9236,9 +9708,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -9248,34 +9720,34 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1706, col: 5, offset: 56143}, + pos: position{line: 1726, col: 5, offset: 56645}, label: "otherLines", expr: &zeroOrMoreExpr{ - pos: position{line: 1706, col: 16, offset: 56154}, + pos: position{line: 1726, col: 16, offset: 56656}, expr: &actionExpr{ - pos: position{line: 1707, col: 9, offset: 56164}, + pos: position{line: 1727, col: 9, offset: 56666}, run: (*parser).callonDocumentFragment1218, expr: &seqExpr{ - pos: position{line: 1707, col: 9, offset: 56164}, + pos: position{line: 1727, col: 9, offset: 56666}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 1707, col: 9, offset: 56164}, + pos: position{line: 1727, col: 9, offset: 56666}, expr: &seqExpr{ - pos: position{line: 1444, col: 34, offset: 47455}, + pos: position{line: 1464, col: 34, offset: 47957}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1444, col: 34, offset: 47455}, + pos: position{line: 1464, col: 34, offset: 47957}, val: "+", ignoreCase: false, want: "\"+\"", }, &zeroOrMoreExpr{ - pos: position{line: 1444, col: 38, offset: 47459}, + pos: position{line: 1464, col: 38, offset: 47961}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonDocumentFragment1224, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -9284,25 +9756,25 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonDocumentFragment1226, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -9314,42 +9786,42 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1708, col: 9, offset: 56203}, + pos: position{line: 1728, col: 9, offset: 56705}, label: "line", expr: &choiceExpr{ - pos: position{line: 1708, col: 15, offset: 56209}, + pos: position{line: 1728, col: 15, offset: 56711}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2616, col: 22, offset: 87547}, + pos: position{line: 2760, col: 22, offset: 90461}, run: (*parser).callonDocumentFragment1233, expr: &seqExpr{ - pos: position{line: 2616, col: 22, offset: 87547}, + pos: position{line: 2760, col: 22, offset: 90461}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2621, col: 31, offset: 87768}, + pos: position{line: 2765, col: 31, offset: 90682}, val: "//", ignoreCase: false, want: "\"//\"", }, ¬Expr{ - pos: position{line: 2621, col: 36, offset: 87773}, + pos: position{line: 2765, col: 36, offset: 90687}, expr: &litMatcher{ - pos: position{line: 2621, col: 37, offset: 87774}, + pos: position{line: 2765, col: 37, offset: 90688}, val: "//", ignoreCase: false, want: "\"//\"", }, }, &labeledExpr{ - pos: position{line: 2616, col: 49, offset: 87574}, + pos: position{line: 2760, col: 49, offset: 90488}, label: "content", expr: &actionExpr{ - pos: position{line: 2623, col: 29, offset: 87809}, + pos: position{line: 2767, col: 29, offset: 90723}, run: (*parser).callonDocumentFragment1239, expr: &zeroOrMoreExpr{ - pos: position{line: 2623, col: 29, offset: 87809}, + pos: position{line: 2767, col: 29, offset: 90723}, expr: &charClassMatcher{ - pos: position{line: 2623, col: 29, offset: 87809}, + pos: position{line: 2767, col: 29, offset: 90723}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -9359,28 +9831,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonDocumentFragment1243, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -9389,9 +9861,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -9400,21 +9872,21 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1716, col: 5, offset: 56453}, + pos: position{line: 1736, col: 5, offset: 56955}, run: (*parser).callonDocumentFragment1250, expr: &seqExpr{ - pos: position{line: 1716, col: 5, offset: 56453}, + pos: position{line: 1736, col: 5, offset: 56955}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1716, col: 5, offset: 56453}, + pos: position{line: 1736, col: 5, offset: 56955}, label: "content", expr: &actionExpr{ - pos: position{line: 1716, col: 14, offset: 56462}, + pos: position{line: 1736, col: 14, offset: 56964}, run: (*parser).callonDocumentFragment1253, expr: &oneOrMoreExpr{ - pos: position{line: 1716, col: 14, offset: 56462}, + pos: position{line: 1736, col: 14, offset: 56964}, expr: &charClassMatcher{ - pos: position{line: 1716, col: 14, offset: 56462}, + pos: position{line: 1736, col: 14, offset: 56964}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -9424,32 +9896,32 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1719, col: 5, offset: 56569}, + pos: position{line: 1739, col: 5, offset: 57071}, run: (*parser).callonDocumentFragment1256, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonDocumentFragment1258, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -9458,9 +9930,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -9480,36 +9952,36 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1727, col: 5, offset: 56735}, + pos: position{line: 1747, col: 5, offset: 57237}, run: (*parser).callonDocumentFragment1265, expr: &seqExpr{ - pos: position{line: 1727, col: 5, offset: 56735}, + pos: position{line: 1747, col: 5, offset: 57237}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1727, col: 5, offset: 56735}, + pos: position{line: 1747, col: 5, offset: 57237}, label: "firstLine", expr: &actionExpr{ - pos: position{line: 1734, col: 5, offset: 57020}, + pos: position{line: 1754, col: 5, offset: 57522}, run: (*parser).callonDocumentFragment1268, expr: &seqExpr{ - pos: position{line: 1734, col: 5, offset: 57020}, + pos: position{line: 1754, col: 5, offset: 57522}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1734, col: 5, offset: 57020}, + pos: position{line: 1754, col: 5, offset: 57522}, label: "content", expr: &actionExpr{ - pos: position{line: 1734, col: 14, offset: 57029}, + pos: position{line: 1754, col: 14, offset: 57531}, run: (*parser).callonDocumentFragment1271, expr: &seqExpr{ - pos: position{line: 1734, col: 14, offset: 57029}, + pos: position{line: 1754, col: 14, offset: 57531}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 2903, col: 11, offset: 96254}, + pos: position{line: 3062, col: 11, offset: 99678}, run: (*parser).callonDocumentFragment1273, expr: &oneOrMoreExpr{ - pos: position{line: 2903, col: 11, offset: 96254}, + pos: position{line: 3062, col: 11, offset: 99678}, expr: &charClassMatcher{ - pos: position{line: 2903, col: 12, offset: 96255}, + pos: position{line: 3062, col: 12, offset: 99679}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -9518,9 +9990,9 @@ var g = &grammar{ }, }, &oneOrMoreExpr{ - pos: position{line: 1734, col: 21, offset: 57036}, + pos: position{line: 1754, col: 21, offset: 57538}, expr: &charClassMatcher{ - pos: position{line: 1734, col: 21, offset: 57036}, + pos: position{line: 1754, col: 21, offset: 57538}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -9532,32 +10004,32 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1737, col: 5, offset: 57093}, + pos: position{line: 1757, col: 5, offset: 57595}, run: (*parser).callonDocumentFragment1278, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonDocumentFragment1280, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -9566,9 +10038,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -9578,44 +10050,44 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1728, col: 5, offset: 56776}, + pos: position{line: 1748, col: 5, offset: 57278}, label: "otherLines", expr: &zeroOrMoreExpr{ - pos: position{line: 1728, col: 16, offset: 56787}, + pos: position{line: 1748, col: 16, offset: 57289}, expr: &choiceExpr{ - pos: position{line: 1728, col: 17, offset: 56788}, + pos: position{line: 1748, col: 17, offset: 57290}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2616, col: 22, offset: 87547}, + pos: position{line: 2760, col: 22, offset: 90461}, run: (*parser).callonDocumentFragment1290, expr: &seqExpr{ - pos: position{line: 2616, col: 22, offset: 87547}, + pos: position{line: 2760, col: 22, offset: 90461}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2621, col: 31, offset: 87768}, + pos: position{line: 2765, col: 31, offset: 90682}, val: "//", ignoreCase: false, want: "\"//\"", }, ¬Expr{ - pos: position{line: 2621, col: 36, offset: 87773}, + pos: position{line: 2765, col: 36, offset: 90687}, expr: &litMatcher{ - pos: position{line: 2621, col: 37, offset: 87774}, + pos: position{line: 2765, col: 37, offset: 90688}, val: "//", ignoreCase: false, want: "\"//\"", }, }, &labeledExpr{ - pos: position{line: 2616, col: 49, offset: 87574}, + pos: position{line: 2760, col: 49, offset: 90488}, label: "content", expr: &actionExpr{ - pos: position{line: 2623, col: 29, offset: 87809}, + pos: position{line: 2767, col: 29, offset: 90723}, run: (*parser).callonDocumentFragment1296, expr: &zeroOrMoreExpr{ - pos: position{line: 2623, col: 29, offset: 87809}, + pos: position{line: 2767, col: 29, offset: 90723}, expr: &charClassMatcher{ - pos: position{line: 2623, col: 29, offset: 87809}, + pos: position{line: 2767, col: 29, offset: 90723}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -9625,28 +10097,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonDocumentFragment1300, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -9655,9 +10127,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -9666,21 +10138,21 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1716, col: 5, offset: 56453}, + pos: position{line: 1736, col: 5, offset: 56955}, run: (*parser).callonDocumentFragment1307, expr: &seqExpr{ - pos: position{line: 1716, col: 5, offset: 56453}, + pos: position{line: 1736, col: 5, offset: 56955}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1716, col: 5, offset: 56453}, + pos: position{line: 1736, col: 5, offset: 56955}, label: "content", expr: &actionExpr{ - pos: position{line: 1716, col: 14, offset: 56462}, + pos: position{line: 1736, col: 14, offset: 56964}, run: (*parser).callonDocumentFragment1310, expr: &oneOrMoreExpr{ - pos: position{line: 1716, col: 14, offset: 56462}, + pos: position{line: 1736, col: 14, offset: 56964}, expr: &charClassMatcher{ - pos: position{line: 1716, col: 14, offset: 56462}, + pos: position{line: 1736, col: 14, offset: 56964}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -9690,32 +10162,32 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1719, col: 5, offset: 56569}, + pos: position{line: 1739, col: 5, offset: 57071}, run: (*parser).callonDocumentFragment1313, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonDocumentFragment1315, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -9724,9 +10196,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -9742,37 +10214,37 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1141, col: 5, offset: 35820}, + pos: position{line: 1139, col: 5, offset: 35683}, run: (*parser).callonDocumentFragment1322, expr: &seqExpr{ - pos: position{line: 1141, col: 5, offset: 35820}, + pos: position{line: 1139, col: 5, offset: 35683}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 1141, col: 5, offset: 35820}, + pos: position{line: 1139, col: 5, offset: 35683}, run: (*parser).callonDocumentFragment1324, }, &labeledExpr{ - pos: position{line: 1144, col: 5, offset: 35878}, + pos: position{line: 1142, col: 5, offset: 35741}, label: "frontmatter", expr: &actionExpr{ - pos: position{line: 1149, col: 20, offset: 35973}, + pos: position{line: 1147, col: 20, offset: 35836}, run: (*parser).callonDocumentFragment1326, expr: &seqExpr{ - pos: position{line: 1149, col: 20, offset: 35973}, + pos: position{line: 1147, col: 20, offset: 35836}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1153, col: 30, offset: 36145}, + pos: position{line: 1151, col: 30, offset: 36008}, val: "---", ignoreCase: false, want: "\"---\"", }, &zeroOrMoreExpr{ - pos: position{line: 1153, col: 36, offset: 36151}, + pos: position{line: 1151, col: 36, offset: 36014}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonDocumentFragment1330, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -9781,28 +10253,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonDocumentFragment1333, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -9811,46 +10283,46 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, }, &labeledExpr{ - pos: position{line: 1149, col: 45, offset: 35998}, + pos: position{line: 1147, col: 45, offset: 35861}, label: "content", expr: &zeroOrOneExpr{ - pos: position{line: 1149, col: 53, offset: 36006}, + pos: position{line: 1147, col: 53, offset: 35869}, expr: &actionExpr{ - pos: position{line: 1155, col: 27, offset: 36189}, + pos: position{line: 1153, col: 27, offset: 36052}, run: (*parser).callonDocumentFragment1342, expr: &zeroOrMoreExpr{ - pos: position{line: 1155, col: 27, offset: 36189}, + pos: position{line: 1153, col: 27, offset: 36052}, expr: &oneOrMoreExpr{ - pos: position{line: 1155, col: 28, offset: 36190}, + pos: position{line: 1153, col: 28, offset: 36053}, expr: &seqExpr{ - pos: position{line: 1155, col: 29, offset: 36191}, + pos: position{line: 1153, col: 29, offset: 36054}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 1155, col: 29, offset: 36191}, + pos: position{line: 1153, col: 29, offset: 36054}, expr: &seqExpr{ - pos: position{line: 1153, col: 30, offset: 36145}, + pos: position{line: 1151, col: 30, offset: 36008}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1153, col: 30, offset: 36145}, + pos: position{line: 1151, col: 30, offset: 36008}, val: "---", ignoreCase: false, want: "\"---\"", }, &zeroOrMoreExpr{ - pos: position{line: 1153, col: 36, offset: 36151}, + pos: position{line: 1151, col: 36, offset: 36014}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonDocumentFragment1350, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -9859,28 +10331,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonDocumentFragment1353, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -9889,9 +10361,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -9900,7 +10372,7 @@ var g = &grammar{ }, }, &anyMatcher{ - line: 1155, col: 55, offset: 36217, + line: 1153, col: 55, offset: 36080, }, }, }, @@ -9910,18 +10382,18 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1153, col: 30, offset: 36145}, + pos: position{line: 1151, col: 30, offset: 36008}, val: "---", ignoreCase: false, want: "\"---\"", }, &zeroOrMoreExpr{ - pos: position{line: 1153, col: 36, offset: 36151}, + pos: position{line: 1151, col: 36, offset: 36014}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonDocumentFragment1363, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -9930,28 +10402,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonDocumentFragment1366, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -9960,9 +10432,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -9988,43 +10460,43 @@ var g = &grammar{ }, { name: "DelimitedBlockElements", - pos: position{line: 279, col: 1, offset: 8572}, + pos: position{line: 271, col: 1, offset: 8233}, expr: &actionExpr{ - pos: position{line: 280, col: 5, offset: 8603}, + pos: position{line: 272, col: 5, offset: 8264}, run: (*parser).callonDelimitedBlockElements1, expr: &seqExpr{ - pos: position{line: 280, col: 5, offset: 8603}, + pos: position{line: 272, col: 5, offset: 8264}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 280, col: 5, offset: 8603}, + pos: position{line: 272, col: 5, offset: 8264}, label: "elements", expr: &zeroOrMoreExpr{ - pos: position{line: 280, col: 14, offset: 8612}, + pos: position{line: 272, col: 14, offset: 8273}, expr: &choiceExpr{ - pos: position{line: 281, col: 9, offset: 8622}, + pos: position{line: 273, col: 9, offset: 8283}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1122, col: 23, offset: 34991}, + pos: position{line: 1120, col: 23, offset: 34854}, run: (*parser).callonDelimitedBlockElements6, expr: &seqExpr{ - pos: position{line: 1122, col: 23, offset: 34991}, + pos: position{line: 1120, col: 23, offset: 34854}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1120, col: 32, offset: 34959}, + pos: position{line: 1118, col: 32, offset: 34822}, val: "�", ignoreCase: false, want: "\"�\"", }, &labeledExpr{ - pos: position{line: 1122, col: 51, offset: 35019}, + pos: position{line: 1120, col: 51, offset: 34882}, label: "ref", expr: &actionExpr{ - pos: position{line: 1122, col: 56, offset: 35024}, + pos: position{line: 1120, col: 56, offset: 34887}, run: (*parser).callonDelimitedBlockElements10, expr: &oneOrMoreExpr{ - pos: position{line: 1122, col: 56, offset: 35024}, + pos: position{line: 1120, col: 56, offset: 34887}, expr: &charClassMatcher{ - pos: position{line: 1122, col: 56, offset: 35024}, + pos: position{line: 1120, col: 56, offset: 34887}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -10034,7 +10506,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1120, col: 32, offset: 34959}, + pos: position{line: 1118, col: 32, offset: 34822}, val: "�", ignoreCase: false, want: "\"�\"", @@ -10043,7 +10515,7 @@ var g = &grammar{ }, }, &ruleRefExpr{ - pos: position{line: 282, col: 11, offset: 8684}, + pos: position{line: 274, col: 11, offset: 8345}, name: "DocumentFragment", }, }, @@ -10051,9 +10523,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -10062,30 +10534,30 @@ var g = &grammar{ }, { name: "AttributeDeclaration", - pos: position{line: 316, col: 1, offset: 9817}, + pos: position{line: 308, col: 1, offset: 9478}, expr: &actionExpr{ - pos: position{line: 317, col: 5, offset: 9846}, + pos: position{line: 309, col: 5, offset: 9507}, run: (*parser).callonAttributeDeclaration1, expr: &seqExpr{ - pos: position{line: 317, col: 5, offset: 9846}, + pos: position{line: 309, col: 5, offset: 9507}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 317, col: 5, offset: 9846}, + pos: position{line: 309, col: 5, offset: 9507}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 317, col: 9, offset: 9850}, + pos: position{line: 309, col: 9, offset: 9511}, label: "name", expr: &actionExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, run: (*parser).callonAttributeDeclaration5, expr: &seqExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -10094,9 +10566,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 332, col: 28, offset: 10403}, + pos: position{line: 324, col: 28, offset: 10064}, expr: &charClassMatcher{ - pos: position{line: 332, col: 29, offset: 10404}, + pos: position{line: 324, col: 29, offset: 10065}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -10110,29 +10582,29 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 317, col: 30, offset: 9871}, + pos: position{line: 309, col: 30, offset: 9532}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 318, col: 5, offset: 9880}, + pos: position{line: 310, col: 5, offset: 9541}, label: "value", expr: &zeroOrOneExpr{ - pos: position{line: 318, col: 11, offset: 9886}, + pos: position{line: 310, col: 11, offset: 9547}, expr: &actionExpr{ - pos: position{line: 319, col: 9, offset: 9896}, + pos: position{line: 311, col: 9, offset: 9557}, run: (*parser).callonAttributeDeclaration13, expr: &seqExpr{ - pos: position{line: 319, col: 9, offset: 9896}, + pos: position{line: 311, col: 9, offset: 9557}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 2903, col: 11, offset: 96254}, + pos: position{line: 3062, col: 11, offset: 99678}, run: (*parser).callonAttributeDeclaration15, expr: &oneOrMoreExpr{ - pos: position{line: 2903, col: 11, offset: 96254}, + pos: position{line: 3062, col: 11, offset: 99678}, expr: &charClassMatcher{ - pos: position{line: 2903, col: 12, offset: 96255}, + pos: position{line: 3062, col: 12, offset: 99679}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -10141,10 +10613,10 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 320, col: 9, offset: 9988}, + pos: position{line: 312, col: 9, offset: 9649}, label: "value", expr: &ruleRefExpr{ - pos: position{line: 320, col: 16, offset: 9995}, + pos: position{line: 312, col: 16, offset: 9656}, name: "AttributeDeclarationValue", }, }, @@ -10154,28 +10626,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonAttributeDeclaration21, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -10184,9 +10656,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -10197,51 +10669,51 @@ var g = &grammar{ }, { name: "AttributeDeclarationValue", - pos: position{line: 336, col: 1, offset: 10460}, + pos: position{line: 328, col: 1, offset: 10121}, expr: &actionExpr{ - pos: position{line: 337, col: 5, offset: 10494}, + pos: position{line: 329, col: 5, offset: 10155}, run: (*parser).callonAttributeDeclarationValue1, expr: &seqExpr{ - pos: position{line: 337, col: 5, offset: 10494}, + pos: position{line: 329, col: 5, offset: 10155}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 337, col: 5, offset: 10494}, + pos: position{line: 329, col: 5, offset: 10155}, label: "elements", expr: &actionExpr{ - pos: position{line: 353, col: 5, offset: 11012}, + pos: position{line: 345, col: 5, offset: 10673}, run: (*parser).callonAttributeDeclarationValue4, expr: &labeledExpr{ - pos: position{line: 353, col: 5, offset: 11012}, + pos: position{line: 345, col: 5, offset: 10673}, label: "elements", expr: &zeroOrMoreExpr{ - pos: position{line: 353, col: 14, offset: 11021}, + pos: position{line: 345, col: 14, offset: 10682}, expr: &actionExpr{ - pos: position{line: 358, col: 5, offset: 11152}, + pos: position{line: 350, col: 5, offset: 10813}, run: (*parser).callonAttributeDeclarationValue7, expr: &seqExpr{ - pos: position{line: 358, col: 5, offset: 11152}, + pos: position{line: 350, col: 5, offset: 10813}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 358, col: 5, offset: 11152}, + pos: position{line: 350, col: 5, offset: 10813}, expr: &seqExpr{ - pos: position{line: 358, col: 7, offset: 11154}, + pos: position{line: 350, col: 7, offset: 10815}, exprs: []interface{}{ &zeroOrOneExpr{ - pos: position{line: 358, col: 7, offset: 11154}, + pos: position{line: 350, col: 7, offset: 10815}, expr: &litMatcher{ - pos: position{line: 358, col: 7, offset: 11154}, + pos: position{line: 350, col: 7, offset: 10815}, val: "\\", ignoreCase: false, want: "\"\\\\\"", }, }, &zeroOrMoreExpr{ - pos: position{line: 358, col: 13, offset: 11160}, + pos: position{line: 350, col: 13, offset: 10821}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonAttributeDeclarationValue14, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -10250,28 +10722,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonAttributeDeclarationValue17, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -10280,9 +10752,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -10291,18 +10763,18 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 359, col: 5, offset: 11176}, + pos: position{line: 351, col: 5, offset: 10837}, label: "element", expr: &choiceExpr{ - pos: position{line: 360, col: 9, offset: 11194}, + pos: position{line: 352, col: 9, offset: 10855}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 360, col: 10, offset: 11195}, + pos: position{line: 352, col: 10, offset: 10856}, run: (*parser).callonAttributeDeclarationValue26, expr: &oneOrMoreExpr{ - pos: position{line: 360, col: 10, offset: 11195}, + pos: position{line: 352, col: 10, offset: 10856}, expr: &charClassMatcher{ - pos: position{line: 360, col: 10, offset: 11195}, + pos: position{line: 352, col: 10, offset: 10856}, val: "[^\\r\\n{ ]", chars: []rune{'\r', '\n', '{', ' '}, ignoreCase: false, @@ -10311,10 +10783,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonAttributeDeclarationValue29, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -10322,44 +10794,44 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 651, col: 5, offset: 21000}, + pos: position{line: 641, col: 5, offset: 20579}, run: (*parser).callonAttributeDeclarationValue31, expr: &seqExpr{ - pos: position{line: 651, col: 5, offset: 21000}, + pos: position{line: 641, col: 5, offset: 20579}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 651, col: 5, offset: 21000}, + pos: position{line: 641, col: 5, offset: 20579}, run: (*parser).callonAttributeDeclarationValue33, }, &labeledExpr{ - pos: position{line: 654, col: 5, offset: 21069}, + pos: position{line: 644, col: 5, offset: 20648}, label: "element", expr: &choiceExpr{ - pos: position{line: 654, col: 14, offset: 21078}, + pos: position{line: 644, col: 14, offset: 20657}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 666, col: 25, offset: 21447}, + pos: position{line: 664, col: 25, offset: 21310}, run: (*parser).callonAttributeDeclarationValue36, expr: &seqExpr{ - pos: position{line: 666, col: 25, offset: 21447}, + pos: position{line: 664, col: 25, offset: 21310}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 666, col: 25, offset: 21447}, + pos: position{line: 664, col: 25, offset: 21310}, val: "{counter:", ignoreCase: false, want: "\"{counter:\"", }, &labeledExpr{ - pos: position{line: 666, col: 37, offset: 21459}, + pos: position{line: 664, col: 37, offset: 21322}, label: "name", expr: &actionExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, run: (*parser).callonAttributeDeclarationValue40, expr: &seqExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -10368,9 +10840,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 332, col: 28, offset: 10403}, + pos: position{line: 324, col: 28, offset: 10064}, expr: &charClassMatcher{ - pos: position{line: 332, col: 29, offset: 10404}, + pos: position{line: 324, col: 29, offset: 10065}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -10384,33 +10856,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 666, col: 56, offset: 21478}, + pos: position{line: 664, col: 56, offset: 21341}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 666, col: 62, offset: 21484}, + pos: position{line: 664, col: 62, offset: 21347}, expr: &actionExpr{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, run: (*parser).callonAttributeDeclarationValue47, expr: &seqExpr{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 674, col: 21, offset: 21783}, + pos: position{line: 672, col: 21, offset: 21646}, label: "start", expr: &choiceExpr{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, run: (*parser).callonAttributeDeclarationValue52, expr: &charClassMatcher{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -10418,12 +10890,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, run: (*parser).callonAttributeDeclarationValue54, expr: &oneOrMoreExpr{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, expr: &charClassMatcher{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -10440,7 +10912,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 666, col: 78, offset: 21500}, + pos: position{line: 664, col: 78, offset: 21363}, val: "}", ignoreCase: false, want: "\"}\"", @@ -10449,28 +10921,28 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 670, col: 25, offset: 21618}, + pos: position{line: 668, col: 25, offset: 21481}, run: (*parser).callonAttributeDeclarationValue58, expr: &seqExpr{ - pos: position{line: 670, col: 25, offset: 21618}, + pos: position{line: 668, col: 25, offset: 21481}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 670, col: 25, offset: 21618}, + pos: position{line: 668, col: 25, offset: 21481}, val: "{counter2:", ignoreCase: false, want: "\"{counter2:\"", }, &labeledExpr{ - pos: position{line: 670, col: 38, offset: 21631}, + pos: position{line: 668, col: 38, offset: 21494}, label: "name", expr: &actionExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, run: (*parser).callonAttributeDeclarationValue62, expr: &seqExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -10479,9 +10951,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 332, col: 28, offset: 10403}, + pos: position{line: 324, col: 28, offset: 10064}, expr: &charClassMatcher{ - pos: position{line: 332, col: 29, offset: 10404}, + pos: position{line: 324, col: 29, offset: 10065}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -10495,33 +10967,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 670, col: 57, offset: 21650}, + pos: position{line: 668, col: 57, offset: 21513}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 670, col: 63, offset: 21656}, + pos: position{line: 668, col: 63, offset: 21519}, expr: &actionExpr{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, run: (*parser).callonAttributeDeclarationValue69, expr: &seqExpr{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 674, col: 21, offset: 21783}, + pos: position{line: 672, col: 21, offset: 21646}, label: "start", expr: &choiceExpr{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, run: (*parser).callonAttributeDeclarationValue74, expr: &charClassMatcher{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -10529,12 +11001,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, run: (*parser).callonAttributeDeclarationValue76, expr: &oneOrMoreExpr{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, expr: &charClassMatcher{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -10551,7 +11023,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 670, col: 79, offset: 21672}, + pos: position{line: 668, col: 79, offset: 21535}, val: "}", ignoreCase: false, want: "\"}\"", @@ -10560,28 +11032,83 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 659, col: 5, offset: 21191}, + pos: position{line: 650, col: 5, offset: 20786}, run: (*parser).callonAttributeDeclarationValue80, expr: &seqExpr{ - pos: position{line: 659, col: 5, offset: 21191}, + pos: position{line: 650, col: 5, offset: 20786}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 650, col: 5, offset: 20786}, + val: "\\{", + ignoreCase: false, + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 650, col: 13, offset: 20794}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + run: (*parser).callonAttributeDeclarationValue84, + expr: &seqExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 324, col: 18, offset: 10054}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 324, col: 28, offset: 10064}, + expr: &charClassMatcher{ + pos: position{line: 324, col: 29, offset: 10065}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 650, col: 32, offset: 20813}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 657, col: 5, offset: 21054}, + run: (*parser).callonAttributeDeclarationValue90, + expr: &seqExpr{ + pos: position{line: 657, col: 5, offset: 21054}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 659, col: 5, offset: 21191}, + pos: position{line: 657, col: 5, offset: 21054}, val: "{", ignoreCase: false, want: "\"{\"", }, &labeledExpr{ - pos: position{line: 659, col: 9, offset: 21195}, + pos: position{line: 657, col: 9, offset: 21058}, label: "name", expr: &actionExpr{ - pos: position{line: 332, col: 18, offset: 10393}, - run: (*parser).callonAttributeDeclarationValue84, + pos: position{line: 324, col: 18, offset: 10054}, + run: (*parser).callonAttributeDeclarationValue94, expr: &seqExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -10590,9 +11117,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 332, col: 28, offset: 10403}, + pos: position{line: 324, col: 28, offset: 10064}, expr: &charClassMatcher{ - pos: position{line: 332, col: 29, offset: 10404}, + pos: position{line: 324, col: 29, offset: 10065}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -10606,7 +11133,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 659, col: 28, offset: 21214}, + pos: position{line: 657, col: 28, offset: 21077}, val: "}", ignoreCase: false, want: "\"}\"", @@ -10621,10 +11148,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 365, col: 12, offset: 11337}, - run: (*parser).callonAttributeDeclarationValue90, + pos: position{line: 357, col: 12, offset: 10998}, + run: (*parser).callonAttributeDeclarationValue100, expr: &litMatcher{ - pos: position{line: 365, col: 12, offset: 11337}, + pos: position{line: 357, col: 12, offset: 10998}, val: "{", ignoreCase: false, want: "\"{\"", @@ -10641,42 +11168,42 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 338, col: 5, offset: 10544}, + pos: position{line: 330, col: 5, offset: 10205}, label: "otherElements", expr: &zeroOrMoreExpr{ - pos: position{line: 338, col: 19, offset: 10558}, + pos: position{line: 330, col: 19, offset: 10219}, expr: &actionExpr{ - pos: position{line: 339, col: 9, offset: 10568}, - run: (*parser).callonAttributeDeclarationValue94, + pos: position{line: 331, col: 9, offset: 10229}, + run: (*parser).callonAttributeDeclarationValue104, expr: &seqExpr{ - pos: position{line: 339, col: 9, offset: 10568}, + pos: position{line: 331, col: 9, offset: 10229}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 339, col: 9, offset: 10568}, + pos: position{line: 331, col: 9, offset: 10229}, val: "\\", ignoreCase: false, want: "\"\\\\\"", }, &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, - run: (*parser).callonAttributeDeclarationValue97, + pos: position{line: 3067, col: 12, offset: 99795}, + run: (*parser).callonAttributeDeclarationValue107, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -10685,12 +11212,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 340, col: 9, offset: 10590}, + pos: position{line: 332, col: 9, offset: 10251}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, - run: (*parser).callonAttributeDeclarationValue103, + pos: position{line: 3058, col: 10, offset: 99611}, + run: (*parser).callonAttributeDeclarationValue113, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -10699,10 +11226,10 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 341, col: 9, offset: 10605}, + pos: position{line: 333, col: 9, offset: 10266}, label: "elements", expr: &ruleRefExpr{ - pos: position{line: 341, col: 19, offset: 10615}, + pos: position{line: 333, col: 19, offset: 10276}, name: "AttributeDeclarationValue", }, }, @@ -10717,60 +11244,60 @@ var g = &grammar{ }, { name: "BlockAttributes", - pos: position{line: 381, col: 1, offset: 11926}, + pos: position{line: 373, col: 1, offset: 11587}, expr: &actionExpr{ - pos: position{line: 382, col: 5, offset: 11949}, + pos: position{line: 374, col: 5, offset: 11610}, run: (*parser).callonBlockAttributes1, expr: &labeledExpr{ - pos: position{line: 382, col: 5, offset: 11949}, + pos: position{line: 374, col: 5, offset: 11610}, label: "attributes", expr: &oneOrMoreExpr{ - pos: position{line: 382, col: 16, offset: 11960}, + pos: position{line: 374, col: 16, offset: 11621}, expr: &choiceExpr{ - pos: position{line: 384, col: 9, offset: 12027}, + pos: position{line: 376, col: 9, offset: 11688}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 384, col: 10, offset: 12028}, + pos: position{line: 376, col: 10, offset: 11689}, run: (*parser).callonBlockAttributes5, expr: &seqExpr{ - pos: position{line: 384, col: 10, offset: 12028}, + pos: position{line: 376, col: 10, offset: 11689}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 384, col: 10, offset: 12028}, + pos: position{line: 376, col: 10, offset: 11689}, label: "anchor", expr: &actionExpr{ - pos: position{line: 416, col: 4, offset: 12902}, + pos: position{line: 408, col: 5, offset: 12564}, run: (*parser).callonBlockAttributes8, expr: &seqExpr{ - pos: position{line: 416, col: 4, offset: 12902}, + pos: position{line: 408, col: 5, offset: 12564}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 416, col: 4, offset: 12902}, + pos: position{line: 408, col: 5, offset: 12564}, val: "[[", ignoreCase: false, want: "\"[[\"", }, &labeledExpr{ - pos: position{line: 417, col: 5, offset: 12912}, + pos: position{line: 409, col: 5, offset: 12574}, label: "id", expr: &actionExpr{ - pos: position{line: 418, col: 9, offset: 12925}, + pos: position{line: 410, col: 9, offset: 12587}, run: (*parser).callonBlockAttributes12, expr: &labeledExpr{ - pos: position{line: 418, col: 9, offset: 12925}, + pos: position{line: 410, col: 9, offset: 12587}, label: "elements", expr: &oneOrMoreExpr{ - pos: position{line: 418, col: 18, offset: 12934}, + pos: position{line: 410, col: 18, offset: 12596}, expr: &choiceExpr{ - pos: position{line: 419, col: 13, offset: 12948}, + pos: position{line: 411, col: 13, offset: 12610}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 419, col: 14, offset: 12949}, + pos: position{line: 411, col: 14, offset: 12611}, run: (*parser).callonBlockAttributes16, expr: &oneOrMoreExpr{ - pos: position{line: 419, col: 14, offset: 12949}, + pos: position{line: 411, col: 14, offset: 12611}, expr: &charClassMatcher{ - pos: position{line: 419, col: 14, offset: 12949}, + pos: position{line: 411, col: 14, offset: 12611}, val: "[^=\\r\\n�{]]", chars: []rune{'=', '\r', '\n', '�', '{', ']'}, ignoreCase: false, @@ -10779,27 +11306,27 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1122, col: 23, offset: 34991}, + pos: position{line: 1120, col: 23, offset: 34854}, run: (*parser).callonBlockAttributes19, expr: &seqExpr{ - pos: position{line: 1122, col: 23, offset: 34991}, + pos: position{line: 1120, col: 23, offset: 34854}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1120, col: 32, offset: 34959}, + pos: position{line: 1118, col: 32, offset: 34822}, val: "�", ignoreCase: false, want: "\"�\"", }, &labeledExpr{ - pos: position{line: 1122, col: 51, offset: 35019}, + pos: position{line: 1120, col: 51, offset: 34882}, label: "ref", expr: &actionExpr{ - pos: position{line: 1122, col: 56, offset: 35024}, + pos: position{line: 1120, col: 56, offset: 34887}, run: (*parser).callonBlockAttributes23, expr: &oneOrMoreExpr{ - pos: position{line: 1122, col: 56, offset: 35024}, + pos: position{line: 1120, col: 56, offset: 34887}, expr: &charClassMatcher{ - pos: position{line: 1122, col: 56, offset: 35024}, + pos: position{line: 1120, col: 56, offset: 34887}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -10809,7 +11336,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1120, col: 32, offset: 34959}, + pos: position{line: 1118, col: 32, offset: 34822}, val: "�", ignoreCase: false, want: "\"�\"", @@ -10818,44 +11345,44 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 651, col: 5, offset: 21000}, + pos: position{line: 641, col: 5, offset: 20579}, run: (*parser).callonBlockAttributes27, expr: &seqExpr{ - pos: position{line: 651, col: 5, offset: 21000}, + pos: position{line: 641, col: 5, offset: 20579}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 651, col: 5, offset: 21000}, + pos: position{line: 641, col: 5, offset: 20579}, run: (*parser).callonBlockAttributes29, }, &labeledExpr{ - pos: position{line: 654, col: 5, offset: 21069}, + pos: position{line: 644, col: 5, offset: 20648}, label: "element", expr: &choiceExpr{ - pos: position{line: 654, col: 14, offset: 21078}, + pos: position{line: 644, col: 14, offset: 20657}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 666, col: 25, offset: 21447}, + pos: position{line: 664, col: 25, offset: 21310}, run: (*parser).callonBlockAttributes32, expr: &seqExpr{ - pos: position{line: 666, col: 25, offset: 21447}, + pos: position{line: 664, col: 25, offset: 21310}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 666, col: 25, offset: 21447}, + pos: position{line: 664, col: 25, offset: 21310}, val: "{counter:", ignoreCase: false, want: "\"{counter:\"", }, &labeledExpr{ - pos: position{line: 666, col: 37, offset: 21459}, + pos: position{line: 664, col: 37, offset: 21322}, label: "name", expr: &actionExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, run: (*parser).callonBlockAttributes36, expr: &seqExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -10864,9 +11391,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 332, col: 28, offset: 10403}, + pos: position{line: 324, col: 28, offset: 10064}, expr: &charClassMatcher{ - pos: position{line: 332, col: 29, offset: 10404}, + pos: position{line: 324, col: 29, offset: 10065}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -10880,33 +11407,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 666, col: 56, offset: 21478}, + pos: position{line: 664, col: 56, offset: 21341}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 666, col: 62, offset: 21484}, + pos: position{line: 664, col: 62, offset: 21347}, expr: &actionExpr{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, run: (*parser).callonBlockAttributes43, expr: &seqExpr{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 674, col: 21, offset: 21783}, + pos: position{line: 672, col: 21, offset: 21646}, label: "start", expr: &choiceExpr{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, run: (*parser).callonBlockAttributes48, expr: &charClassMatcher{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -10914,12 +11441,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, run: (*parser).callonBlockAttributes50, expr: &oneOrMoreExpr{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, expr: &charClassMatcher{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -10936,7 +11463,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 666, col: 78, offset: 21500}, + pos: position{line: 664, col: 78, offset: 21363}, val: "}", ignoreCase: false, want: "\"}\"", @@ -10945,28 +11472,28 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 670, col: 25, offset: 21618}, + pos: position{line: 668, col: 25, offset: 21481}, run: (*parser).callonBlockAttributes54, expr: &seqExpr{ - pos: position{line: 670, col: 25, offset: 21618}, + pos: position{line: 668, col: 25, offset: 21481}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 670, col: 25, offset: 21618}, + pos: position{line: 668, col: 25, offset: 21481}, val: "{counter2:", ignoreCase: false, want: "\"{counter2:\"", }, &labeledExpr{ - pos: position{line: 670, col: 38, offset: 21631}, + pos: position{line: 668, col: 38, offset: 21494}, label: "name", expr: &actionExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, run: (*parser).callonBlockAttributes58, expr: &seqExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -10975,9 +11502,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 332, col: 28, offset: 10403}, + pos: position{line: 324, col: 28, offset: 10064}, expr: &charClassMatcher{ - pos: position{line: 332, col: 29, offset: 10404}, + pos: position{line: 324, col: 29, offset: 10065}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -10991,33 +11518,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 670, col: 57, offset: 21650}, + pos: position{line: 668, col: 57, offset: 21513}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 670, col: 63, offset: 21656}, + pos: position{line: 668, col: 63, offset: 21519}, expr: &actionExpr{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, run: (*parser).callonBlockAttributes65, expr: &seqExpr{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 674, col: 21, offset: 21783}, + pos: position{line: 672, col: 21, offset: 21646}, label: "start", expr: &choiceExpr{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, run: (*parser).callonBlockAttributes70, expr: &charClassMatcher{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -11025,12 +11552,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, run: (*parser).callonBlockAttributes72, expr: &oneOrMoreExpr{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, expr: &charClassMatcher{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -11047,7 +11574,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 670, col: 79, offset: 21672}, + pos: position{line: 668, col: 79, offset: 21535}, val: "}", ignoreCase: false, want: "\"}\"", @@ -11056,28 +11583,83 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 659, col: 5, offset: 21191}, + pos: position{line: 650, col: 5, offset: 20786}, run: (*parser).callonBlockAttributes76, expr: &seqExpr{ - pos: position{line: 659, col: 5, offset: 21191}, + pos: position{line: 650, col: 5, offset: 20786}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 659, col: 5, offset: 21191}, + pos: position{line: 650, col: 5, offset: 20786}, + val: "\\{", + ignoreCase: false, + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 650, col: 13, offset: 20794}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + run: (*parser).callonBlockAttributes80, + expr: &seqExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 324, col: 18, offset: 10054}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 324, col: 28, offset: 10064}, + expr: &charClassMatcher{ + pos: position{line: 324, col: 29, offset: 10065}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 650, col: 32, offset: 20813}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 657, col: 5, offset: 21054}, + run: (*parser).callonBlockAttributes86, + expr: &seqExpr{ + pos: position{line: 657, col: 5, offset: 21054}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 657, col: 5, offset: 21054}, val: "{", ignoreCase: false, want: "\"{\"", }, &labeledExpr{ - pos: position{line: 659, col: 9, offset: 21195}, + pos: position{line: 657, col: 9, offset: 21058}, label: "name", expr: &actionExpr{ - pos: position{line: 332, col: 18, offset: 10393}, - run: (*parser).callonBlockAttributes80, + pos: position{line: 324, col: 18, offset: 10054}, + run: (*parser).callonBlockAttributes90, expr: &seqExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -11086,9 +11668,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 332, col: 28, offset: 10403}, + pos: position{line: 324, col: 28, offset: 10064}, expr: &charClassMatcher{ - pos: position{line: 332, col: 29, offset: 10404}, + pos: position{line: 324, col: 29, offset: 10065}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -11102,7 +11684,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 659, col: 28, offset: 21214}, + pos: position{line: 657, col: 28, offset: 21077}, val: "}", ignoreCase: false, want: "\"}\"", @@ -11117,10 +11699,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 424, col: 16, offset: 13182}, - run: (*parser).callonBlockAttributes86, + pos: position{line: 416, col: 16, offset: 12844}, + run: (*parser).callonBlockAttributes96, expr: &litMatcher{ - pos: position{line: 424, col: 16, offset: 13182}, + pos: position{line: 416, col: 16, offset: 12844}, val: "{", ignoreCase: false, want: "\"{\"", @@ -11133,7 +11715,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 430, col: 5, offset: 13368}, + pos: position{line: 422, col: 5, offset: 13030}, val: "]]", ignoreCase: false, want: "\"]]\"", @@ -11143,12 +11725,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 384, col: 35, offset: 12053}, + pos: position{line: 376, col: 35, offset: 11714}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, - run: (*parser).callonBlockAttributes90, + pos: position{line: 3058, col: 10, offset: 99611}, + run: (*parser).callonBlockAttributes100, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -11157,28 +11739,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, - run: (*parser).callonBlockAttributes93, + pos: position{line: 3067, col: 12, offset: 99795}, + run: (*parser).callonBlockAttributes103, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -11187,37 +11769,37 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, }, &zeroOrMoreExpr{ - pos: position{line: 384, col: 46, offset: 12064}, + pos: position{line: 376, col: 46, offset: 11725}, expr: &actionExpr{ - pos: position{line: 685, col: 14, offset: 22145}, - run: (*parser).callonBlockAttributes101, + pos: position{line: 683, col: 14, offset: 22008}, + run: (*parser).callonBlockAttributes111, expr: &seqExpr{ - pos: position{line: 685, col: 14, offset: 22145}, + pos: position{line: 683, col: 14, offset: 22008}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 685, col: 14, offset: 22145}, + pos: position{line: 683, col: 14, offset: 22008}, expr: ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, &zeroOrMoreExpr{ - pos: position{line: 685, col: 19, offset: 22150}, + pos: position{line: 683, col: 19, offset: 22013}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, - run: (*parser).callonBlockAttributes107, + pos: position{line: 3058, col: 10, offset: 99611}, + run: (*parser).callonBlockAttributes117, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -11226,28 +11808,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, - run: (*parser).callonBlockAttributes110, + pos: position{line: 3067, col: 12, offset: 99795}, + run: (*parser).callonBlockAttributes120, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -11256,9 +11838,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -11271,39 +11853,39 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 388, col: 12, offset: 12185}, - run: (*parser).callonBlockAttributes117, + pos: position{line: 380, col: 12, offset: 11846}, + run: (*parser).callonBlockAttributes127, expr: &seqExpr{ - pos: position{line: 388, col: 12, offset: 12185}, + pos: position{line: 380, col: 12, offset: 11846}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 388, col: 12, offset: 12185}, + pos: position{line: 380, col: 12, offset: 11846}, label: "title", expr: &actionExpr{ - pos: position{line: 435, col: 19, offset: 13487}, - run: (*parser).callonBlockAttributes120, + pos: position{line: 427, col: 19, offset: 13149}, + run: (*parser).callonBlockAttributes130, expr: &seqExpr{ - pos: position{line: 435, col: 19, offset: 13487}, + pos: position{line: 427, col: 19, offset: 13149}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 435, col: 19, offset: 13487}, + pos: position{line: 427, col: 19, offset: 13149}, val: ".", ignoreCase: false, want: "\".\"", }, &labeledExpr{ - pos: position{line: 435, col: 23, offset: 13491}, + pos: position{line: 427, col: 23, offset: 13153}, label: "title", expr: &actionExpr{ - pos: position{line: 436, col: 5, offset: 13503}, - run: (*parser).callonBlockAttributes124, + pos: position{line: 428, col: 5, offset: 13165}, + run: (*parser).callonBlockAttributes134, expr: &seqExpr{ - pos: position{line: 436, col: 5, offset: 13503}, + pos: position{line: 428, col: 5, offset: 13165}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 436, col: 5, offset: 13503}, + pos: position{line: 428, col: 5, offset: 13165}, expr: &charClassMatcher{ - pos: position{line: 436, col: 6, offset: 13504}, + pos: position{line: 428, col: 6, offset: 13166}, val: "[. ]", chars: []rune{'.', ' '}, ignoreCase: false, @@ -11311,20 +11893,20 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 437, col: 5, offset: 13616}, + pos: position{line: 429, col: 5, offset: 13278}, label: "elements", expr: &oneOrMoreExpr{ - pos: position{line: 437, col: 14, offset: 13625}, + pos: position{line: 429, col: 14, offset: 13287}, expr: &choiceExpr{ - pos: position{line: 438, col: 9, offset: 13635}, + pos: position{line: 430, col: 9, offset: 13297}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 438, col: 10, offset: 13636}, - run: (*parser).callonBlockAttributes131, + pos: position{line: 430, col: 10, offset: 13298}, + run: (*parser).callonBlockAttributes141, expr: &oneOrMoreExpr{ - pos: position{line: 438, col: 10, offset: 13636}, + pos: position{line: 430, col: 10, offset: 13298}, expr: &charClassMatcher{ - pos: position{line: 438, col: 10, offset: 13636}, + pos: position{line: 430, col: 10, offset: 13298}, val: "[^\\r\\n�{]", chars: []rune{'\r', '\n', '�', '{'}, ignoreCase: false, @@ -11333,28 +11915,83 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 659, col: 5, offset: 21191}, - run: (*parser).callonBlockAttributes134, + pos: position{line: 650, col: 5, offset: 20786}, + run: (*parser).callonBlockAttributes144, + expr: &seqExpr{ + pos: position{line: 650, col: 5, offset: 20786}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 650, col: 5, offset: 20786}, + val: "\\{", + ignoreCase: false, + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 650, col: 13, offset: 20794}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + run: (*parser).callonBlockAttributes148, + expr: &seqExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 324, col: 18, offset: 10054}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 324, col: 28, offset: 10064}, + expr: &charClassMatcher{ + pos: position{line: 324, col: 29, offset: 10065}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 650, col: 32, offset: 20813}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 657, col: 5, offset: 21054}, + run: (*parser).callonBlockAttributes154, expr: &seqExpr{ - pos: position{line: 659, col: 5, offset: 21191}, + pos: position{line: 657, col: 5, offset: 21054}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 659, col: 5, offset: 21191}, + pos: position{line: 657, col: 5, offset: 21054}, val: "{", ignoreCase: false, want: "\"{\"", }, &labeledExpr{ - pos: position{line: 659, col: 9, offset: 21195}, + pos: position{line: 657, col: 9, offset: 21058}, label: "name", expr: &actionExpr{ - pos: position{line: 332, col: 18, offset: 10393}, - run: (*parser).callonBlockAttributes138, + pos: position{line: 324, col: 18, offset: 10054}, + run: (*parser).callonBlockAttributes158, expr: &seqExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -11363,9 +12000,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 332, col: 28, offset: 10403}, + pos: position{line: 324, col: 28, offset: 10064}, expr: &charClassMatcher{ - pos: position{line: 332, col: 29, offset: 10404}, + pos: position{line: 324, col: 29, offset: 10065}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -11379,7 +12016,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 659, col: 28, offset: 21214}, + pos: position{line: 657, col: 28, offset: 21077}, val: "}", ignoreCase: false, want: "\"}\"", @@ -11388,10 +12025,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 443, col: 12, offset: 13781}, - run: (*parser).callonBlockAttributes144, + pos: position{line: 434, col: 12, offset: 13411}, + run: (*parser).callonBlockAttributes164, expr: &litMatcher{ - pos: position{line: 443, col: 12, offset: 13781}, + pos: position{line: 434, col: 12, offset: 13411}, val: "{", ignoreCase: false, want: "\"{\"", @@ -11410,12 +12047,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 388, col: 35, offset: 12208}, + pos: position{line: 380, col: 35, offset: 11869}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, - run: (*parser).callonBlockAttributes147, + pos: position{line: 3058, col: 10, offset: 99611}, + run: (*parser).callonBlockAttributes167, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -11424,28 +12061,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, - run: (*parser).callonBlockAttributes150, + pos: position{line: 3067, col: 12, offset: 99795}, + run: (*parser).callonBlockAttributes170, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -11454,37 +12091,37 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, }, &zeroOrMoreExpr{ - pos: position{line: 388, col: 46, offset: 12219}, + pos: position{line: 380, col: 46, offset: 11880}, expr: &actionExpr{ - pos: position{line: 685, col: 14, offset: 22145}, - run: (*parser).callonBlockAttributes158, + pos: position{line: 683, col: 14, offset: 22008}, + run: (*parser).callonBlockAttributes178, expr: &seqExpr{ - pos: position{line: 685, col: 14, offset: 22145}, + pos: position{line: 683, col: 14, offset: 22008}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 685, col: 14, offset: 22145}, + pos: position{line: 683, col: 14, offset: 22008}, expr: ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, &zeroOrMoreExpr{ - pos: position{line: 685, col: 19, offset: 22150}, + pos: position{line: 683, col: 19, offset: 22013}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, - run: (*parser).callonBlockAttributes164, + pos: position{line: 3058, col: 10, offset: 99611}, + run: (*parser).callonBlockAttributes184, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -11493,28 +12130,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, - run: (*parser).callonBlockAttributes167, + pos: position{line: 3067, col: 12, offset: 99795}, + run: (*parser).callonBlockAttributes187, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -11523,9 +12160,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -11538,26 +12175,26 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 392, col: 12, offset: 12309}, - run: (*parser).callonBlockAttributes174, + pos: position{line: 384, col: 12, offset: 11970}, + run: (*parser).callonBlockAttributes194, expr: &seqExpr{ - pos: position{line: 392, col: 12, offset: 12309}, + pos: position{line: 384, col: 12, offset: 11970}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 392, col: 12, offset: 12309}, + pos: position{line: 384, col: 12, offset: 11970}, label: "attributes", expr: &ruleRefExpr{ - pos: position{line: 392, col: 24, offset: 12321}, + pos: position{line: 384, col: 24, offset: 11982}, name: "LongHandAttributes", }, }, &zeroOrMoreExpr{ - pos: position{line: 392, col: 44, offset: 12341}, + pos: position{line: 384, col: 44, offset: 12002}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, - run: (*parser).callonBlockAttributes179, + pos: position{line: 3058, col: 10, offset: 99611}, + run: (*parser).callonBlockAttributes199, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -11566,28 +12203,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, - run: (*parser).callonBlockAttributes182, + pos: position{line: 3067, col: 12, offset: 99795}, + run: (*parser).callonBlockAttributes202, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -11596,37 +12233,37 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, }, &zeroOrMoreExpr{ - pos: position{line: 392, col: 55, offset: 12352}, + pos: position{line: 384, col: 55, offset: 12013}, expr: &actionExpr{ - pos: position{line: 685, col: 14, offset: 22145}, - run: (*parser).callonBlockAttributes190, + pos: position{line: 683, col: 14, offset: 22008}, + run: (*parser).callonBlockAttributes210, expr: &seqExpr{ - pos: position{line: 685, col: 14, offset: 22145}, + pos: position{line: 683, col: 14, offset: 22008}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 685, col: 14, offset: 22145}, + pos: position{line: 683, col: 14, offset: 22008}, expr: ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, &zeroOrMoreExpr{ - pos: position{line: 685, col: 19, offset: 22150}, + pos: position{line: 683, col: 19, offset: 22013}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, - run: (*parser).callonBlockAttributes196, + pos: position{line: 3058, col: 10, offset: 99611}, + run: (*parser).callonBlockAttributes216, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -11635,28 +12272,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, - run: (*parser).callonBlockAttributes199, + pos: position{line: 3067, col: 12, offset: 99795}, + run: (*parser).callonBlockAttributes219, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -11665,9 +12302,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -11687,51 +12324,51 @@ var g = &grammar{ }, { name: "InlineAttributes", - pos: position{line: 400, col: 1, offset: 12536}, + pos: position{line: 392, col: 1, offset: 12197}, expr: &actionExpr{ - pos: position{line: 401, col: 5, offset: 12560}, + pos: position{line: 393, col: 5, offset: 12221}, run: (*parser).callonInlineAttributes1, expr: &seqExpr{ - pos: position{line: 401, col: 5, offset: 12560}, + pos: position{line: 393, col: 5, offset: 12221}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 401, col: 5, offset: 12560}, + pos: position{line: 393, col: 5, offset: 12221}, val: "[", ignoreCase: false, want: "\"[\"", }, &labeledExpr{ - pos: position{line: 402, col: 5, offset: 12568}, + pos: position{line: 394, col: 5, offset: 12229}, label: "attributes", expr: &zeroOrMoreExpr{ - pos: position{line: 402, col: 16, offset: 12579}, + pos: position{line: 394, col: 16, offset: 12240}, expr: &actionExpr{ - pos: position{line: 403, col: 9, offset: 12589}, + pos: position{line: 395, col: 9, offset: 12250}, run: (*parser).callonInlineAttributes6, expr: &seqExpr{ - pos: position{line: 404, col: 13, offset: 12603}, + pos: position{line: 396, col: 13, offset: 12264}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 404, col: 13, offset: 12603}, + pos: position{line: 396, col: 13, offset: 12264}, expr: &litMatcher{ - pos: position{line: 404, col: 14, offset: 12604}, + pos: position{line: 396, col: 14, offset: 12265}, val: "]", ignoreCase: false, want: "\"]\"", }, }, &labeledExpr{ - pos: position{line: 405, col: 13, offset: 12636}, + pos: position{line: 397, col: 13, offset: 12297}, label: "attribute", expr: &choiceExpr{ - pos: position{line: 405, col: 24, offset: 12647}, + pos: position{line: 397, col: 24, offset: 12308}, alternatives: []interface{}{ &ruleRefExpr{ - pos: position{line: 405, col: 24, offset: 12647}, + pos: position{line: 397, col: 24, offset: 12308}, name: "PositionalAttribute", }, &ruleRefExpr{ - pos: position{line: 405, col: 46, offset: 12669}, + pos: position{line: 397, col: 46, offset: 12330}, name: "NamedAttribute", }, }, @@ -11743,7 +12380,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 410, col: 5, offset: 12752}, + pos: position{line: 402, col: 5, offset: 12413}, val: "]", ignoreCase: false, want: "\"]\"", @@ -11754,53 +12391,62 @@ var g = &grammar{ }, { name: "LongHandAttributes", - pos: position{line: 454, col: 1, offset: 14162}, + pos: position{line: 445, col: 1, offset: 13792}, expr: &actionExpr{ - pos: position{line: 455, col: 5, offset: 14188}, + pos: position{line: 446, col: 5, offset: 13818}, run: (*parser).callonLongHandAttributes1, expr: &seqExpr{ - pos: position{line: 455, col: 5, offset: 14188}, + pos: position{line: 446, col: 5, offset: 13818}, exprs: []interface{}{ + ¬Expr{ + pos: position{line: 446, col: 5, offset: 13818}, + expr: &litMatcher{ + pos: position{line: 446, col: 6, offset: 13819}, + val: "\\", + ignoreCase: false, + want: "\"\\\\\"", + }, + }, &litMatcher{ - pos: position{line: 455, col: 5, offset: 14188}, + pos: position{line: 446, col: 10, offset: 13823}, val: "[", ignoreCase: false, want: "\"[\"", }, ¬Expr{ - pos: position{line: 455, col: 9, offset: 14192}, + pos: position{line: 446, col: 14, offset: 13827}, expr: &litMatcher{ - pos: position{line: 455, col: 10, offset: 14193}, + pos: position{line: 446, col: 15, offset: 13828}, val: "[", ignoreCase: false, want: "\"[\"", }, }, &labeledExpr{ - pos: position{line: 457, col: 5, offset: 14362}, + pos: position{line: 447, col: 5, offset: 13941}, label: "firstPositionalAttributes", expr: &zeroOrOneExpr{ - pos: position{line: 457, col: 31, offset: 14388}, + pos: position{line: 447, col: 31, offset: 13967}, expr: &ruleRefExpr{ - pos: position{line: 457, col: 32, offset: 14389}, + pos: position{line: 447, col: 32, offset: 13968}, name: "FirstPositionalAttributes", }, }, }, &labeledExpr{ - pos: position{line: 458, col: 5, offset: 14421}, + pos: position{line: 448, col: 5, offset: 14000}, label: "otherAttributes", expr: &zeroOrMoreExpr{ - pos: position{line: 458, col: 21, offset: 14437}, + pos: position{line: 448, col: 21, offset: 14016}, expr: &choiceExpr{ - pos: position{line: 458, col: 22, offset: 14438}, + pos: position{line: 448, col: 22, offset: 14017}, alternatives: []interface{}{ &ruleRefExpr{ - pos: position{line: 458, col: 22, offset: 14438}, + pos: position{line: 448, col: 22, offset: 14017}, name: "PositionalAttribute", }, &ruleRefExpr{ - pos: position{line: 458, col: 44, offset: 14460}, + pos: position{line: 448, col: 44, offset: 14039}, name: "NamedAttribute", }, }, @@ -11808,7 +12454,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 459, col: 5, offset: 14481}, + pos: position{line: 449, col: 5, offset: 14060}, val: "]", ignoreCase: false, want: "\"]\"", @@ -11819,69 +12465,69 @@ var g = &grammar{ }, { name: "FirstPositionalAttributes", - pos: position{line: 472, col: 1, offset: 15009}, + pos: position{line: 462, col: 1, offset: 14588}, expr: &actionExpr{ - pos: position{line: 473, col: 5, offset: 15043}, + pos: position{line: 463, col: 5, offset: 14622}, run: (*parser).callonFirstPositionalAttributes1, expr: &seqExpr{ - pos: position{line: 473, col: 5, offset: 15043}, + pos: position{line: 463, col: 5, offset: 14622}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 473, col: 5, offset: 15043}, + pos: position{line: 463, col: 5, offset: 14622}, label: "main", expr: &zeroOrOneExpr{ - pos: position{line: 473, col: 10, offset: 15048}, + pos: position{line: 463, col: 10, offset: 14627}, expr: &ruleRefExpr{ - pos: position{line: 474, col: 9, offset: 15058}, + pos: position{line: 464, col: 9, offset: 14637}, name: "ShortHandAttribute", }, }, }, &labeledExpr{ - pos: position{line: 476, col: 5, offset: 15088}, + pos: position{line: 466, col: 5, offset: 14667}, label: "extras", expr: &zeroOrMoreExpr{ - pos: position{line: 476, col: 12, offset: 15095}, + pos: position{line: 466, col: 12, offset: 14674}, expr: &actionExpr{ - pos: position{line: 477, col: 9, offset: 15106}, + pos: position{line: 467, col: 9, offset: 14685}, run: (*parser).callonFirstPositionalAttributes8, expr: &seqExpr{ - pos: position{line: 477, col: 9, offset: 15106}, + pos: position{line: 467, col: 9, offset: 14685}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 477, col: 9, offset: 15106}, + pos: position{line: 467, col: 9, offset: 14685}, expr: &litMatcher{ - pos: position{line: 477, col: 10, offset: 15107}, + pos: position{line: 467, col: 10, offset: 14686}, val: ",", ignoreCase: false, want: "\",\"", }, }, ¬Expr{ - pos: position{line: 477, col: 14, offset: 15111}, + pos: position{line: 467, col: 14, offset: 14690}, expr: &litMatcher{ - pos: position{line: 477, col: 15, offset: 15112}, + pos: position{line: 467, col: 15, offset: 14691}, val: "]", ignoreCase: false, want: "\"]\"", }, }, &labeledExpr{ - pos: position{line: 478, col: 9, offset: 15124}, + pos: position{line: 468, col: 9, offset: 14703}, label: "extra", expr: &choiceExpr{ - pos: position{line: 479, col: 13, offset: 15144}, + pos: position{line: 469, col: 13, offset: 14723}, alternatives: []interface{}{ &ruleRefExpr{ - pos: position{line: 479, col: 13, offset: 15144}, + pos: position{line: 469, col: 13, offset: 14723}, name: "ShortHandIDAttribute", }, &ruleRefExpr{ - pos: position{line: 480, col: 15, offset: 15180}, + pos: position{line: 470, col: 15, offset: 14759}, name: "ShortHandOptionAttribute", }, &ruleRefExpr{ - pos: position{line: 481, col: 15, offset: 15219}, + pos: position{line: 471, col: 15, offset: 14798}, name: "ShortHandDotRoleAttribute", }, }, @@ -11893,23 +12539,23 @@ var g = &grammar{ }, }, &zeroOrOneExpr{ - pos: position{line: 484, col: 8, offset: 15295}, + pos: position{line: 474, col: 8, offset: 14874}, expr: &seqExpr{ - pos: position{line: 484, col: 9, offset: 15296}, + pos: position{line: 474, col: 9, offset: 14875}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 484, col: 9, offset: 15296}, + pos: position{line: 474, col: 9, offset: 14875}, val: ",", ignoreCase: false, want: "\",\"", }, &zeroOrMoreExpr{ - pos: position{line: 484, col: 13, offset: 15300}, + pos: position{line: 474, col: 13, offset: 14879}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonFirstPositionalAttributes23, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -11921,7 +12567,7 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 485, col: 5, offset: 15314}, + pos: position{line: 475, col: 5, offset: 14893}, run: (*parser).callonFirstPositionalAttributes25, }, }, @@ -11930,24 +12576,24 @@ var g = &grammar{ }, { name: "ShortHandIDAttribute", - pos: position{line: 501, col: 1, offset: 15730}, + pos: position{line: 491, col: 1, offset: 15309}, expr: &actionExpr{ - pos: position{line: 501, col: 25, offset: 15754}, + pos: position{line: 491, col: 25, offset: 15333}, run: (*parser).callonShortHandIDAttribute1, expr: &seqExpr{ - pos: position{line: 501, col: 25, offset: 15754}, + pos: position{line: 491, col: 25, offset: 15333}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 501, col: 25, offset: 15754}, + pos: position{line: 491, col: 25, offset: 15333}, val: "#", ignoreCase: false, want: "\"#\"", }, &labeledExpr{ - pos: position{line: 501, col: 29, offset: 15758}, + pos: position{line: 491, col: 29, offset: 15337}, label: "id", expr: &ruleRefExpr{ - pos: position{line: 501, col: 33, offset: 15762}, + pos: position{line: 491, col: 33, offset: 15341}, name: "ShortHandAttributeValue", }, }, @@ -11957,15 +12603,15 @@ var g = &grammar{ }, { name: "ShortHandAttribute", - pos: position{line: 505, col: 1, offset: 15836}, + pos: position{line: 495, col: 1, offset: 15415}, expr: &actionExpr{ - pos: position{line: 505, col: 23, offset: 15858}, + pos: position{line: 495, col: 23, offset: 15437}, run: (*parser).callonShortHandAttribute1, expr: &labeledExpr{ - pos: position{line: 505, col: 23, offset: 15858}, + pos: position{line: 495, col: 23, offset: 15437}, label: "value", expr: &ruleRefExpr{ - pos: position{line: 505, col: 30, offset: 15865}, + pos: position{line: 495, col: 30, offset: 15444}, name: "ShortHandAttributeValue", }, }, @@ -11973,24 +12619,24 @@ var g = &grammar{ }, { name: "ShortHandDotRoleAttribute", - pos: position{line: 510, col: 1, offset: 15991}, + pos: position{line: 500, col: 1, offset: 15570}, expr: &actionExpr{ - pos: position{line: 510, col: 30, offset: 16020}, + pos: position{line: 500, col: 30, offset: 15599}, run: (*parser).callonShortHandDotRoleAttribute1, expr: &seqExpr{ - pos: position{line: 510, col: 30, offset: 16020}, + pos: position{line: 500, col: 30, offset: 15599}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 510, col: 30, offset: 16020}, + pos: position{line: 500, col: 30, offset: 15599}, val: ".", ignoreCase: false, want: "\".\"", }, &labeledExpr{ - pos: position{line: 510, col: 34, offset: 16024}, + pos: position{line: 500, col: 34, offset: 15603}, label: "role", expr: &ruleRefExpr{ - pos: position{line: 510, col: 40, offset: 16030}, + pos: position{line: 500, col: 40, offset: 15609}, name: "ShortHandAttributeValue", }, }, @@ -12000,24 +12646,24 @@ var g = &grammar{ }, { name: "ShortHandOptionAttribute", - pos: position{line: 515, col: 1, offset: 16152}, + pos: position{line: 505, col: 1, offset: 15731}, expr: &actionExpr{ - pos: position{line: 515, col: 29, offset: 16180}, + pos: position{line: 505, col: 29, offset: 15759}, run: (*parser).callonShortHandOptionAttribute1, expr: &seqExpr{ - pos: position{line: 515, col: 29, offset: 16180}, + pos: position{line: 505, col: 29, offset: 15759}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 515, col: 29, offset: 16180}, + pos: position{line: 505, col: 29, offset: 15759}, val: "%", ignoreCase: false, want: "\"%\"", }, &labeledExpr{ - pos: position{line: 515, col: 33, offset: 16184}, + pos: position{line: 505, col: 33, offset: 15763}, label: "option", expr: &ruleRefExpr{ - pos: position{line: 515, col: 41, offset: 16192}, + pos: position{line: 505, col: 41, offset: 15771}, name: "ShortHandAttributeValue", }, }, @@ -12027,39 +12673,39 @@ var g = &grammar{ }, { name: "ShortHandAttributeValue", - pos: position{line: 520, col: 1, offset: 16305}, + pos: position{line: 510, col: 1, offset: 15884}, expr: &choiceExpr{ - pos: position{line: 521, col: 5, offset: 16337}, + pos: position{line: 511, col: 5, offset: 15916}, alternatives: []interface{}{ &ruleRefExpr{ - pos: position{line: 521, col: 5, offset: 16337}, + pos: position{line: 511, col: 5, offset: 15916}, name: "SingleQuotedAttributeValue", }, &ruleRefExpr{ - pos: position{line: 522, col: 7, offset: 16371}, + pos: position{line: 512, col: 7, offset: 15950}, name: "DoubleQuotedAttributeValue", }, &actionExpr{ - pos: position{line: 523, col: 7, offset: 16405}, + pos: position{line: 513, col: 7, offset: 15984}, run: (*parser).callonShortHandAttributeValue4, expr: &seqExpr{ - pos: position{line: 523, col: 7, offset: 16405}, + pos: position{line: 513, col: 7, offset: 15984}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 523, col: 7, offset: 16405}, + pos: position{line: 513, col: 7, offset: 15984}, label: "elements", expr: &oneOrMoreExpr{ - pos: position{line: 523, col: 16, offset: 16414}, + pos: position{line: 513, col: 16, offset: 15993}, expr: &choiceExpr{ - pos: position{line: 526, col: 9, offset: 16596}, + pos: position{line: 516, col: 9, offset: 16175}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 526, col: 10, offset: 16597}, + pos: position{line: 516, col: 10, offset: 16176}, run: (*parser).callonShortHandAttributeValue9, expr: &oneOrMoreExpr{ - pos: position{line: 526, col: 10, offset: 16597}, + pos: position{line: 516, col: 10, offset: 16176}, expr: &charClassMatcher{ - pos: position{line: 526, col: 10, offset: 16597}, + pos: position{line: 516, col: 10, offset: 16176}, val: "[^,=.%# \\r\\n�{]]", chars: []rune{',', '=', '.', '%', '#', ' ', '\r', '\n', '�', '{', ']'}, ignoreCase: false, @@ -12068,44 +12714,44 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 651, col: 5, offset: 21000}, + pos: position{line: 641, col: 5, offset: 20579}, run: (*parser).callonShortHandAttributeValue12, expr: &seqExpr{ - pos: position{line: 651, col: 5, offset: 21000}, + pos: position{line: 641, col: 5, offset: 20579}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 651, col: 5, offset: 21000}, + pos: position{line: 641, col: 5, offset: 20579}, run: (*parser).callonShortHandAttributeValue14, }, &labeledExpr{ - pos: position{line: 654, col: 5, offset: 21069}, + pos: position{line: 644, col: 5, offset: 20648}, label: "element", expr: &choiceExpr{ - pos: position{line: 654, col: 14, offset: 21078}, + pos: position{line: 644, col: 14, offset: 20657}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 666, col: 25, offset: 21447}, + pos: position{line: 664, col: 25, offset: 21310}, run: (*parser).callonShortHandAttributeValue17, expr: &seqExpr{ - pos: position{line: 666, col: 25, offset: 21447}, + pos: position{line: 664, col: 25, offset: 21310}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 666, col: 25, offset: 21447}, + pos: position{line: 664, col: 25, offset: 21310}, val: "{counter:", ignoreCase: false, want: "\"{counter:\"", }, &labeledExpr{ - pos: position{line: 666, col: 37, offset: 21459}, + pos: position{line: 664, col: 37, offset: 21322}, label: "name", expr: &actionExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, run: (*parser).callonShortHandAttributeValue21, expr: &seqExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -12114,9 +12760,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 332, col: 28, offset: 10403}, + pos: position{line: 324, col: 28, offset: 10064}, expr: &charClassMatcher{ - pos: position{line: 332, col: 29, offset: 10404}, + pos: position{line: 324, col: 29, offset: 10065}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -12130,33 +12776,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 666, col: 56, offset: 21478}, + pos: position{line: 664, col: 56, offset: 21341}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 666, col: 62, offset: 21484}, + pos: position{line: 664, col: 62, offset: 21347}, expr: &actionExpr{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, run: (*parser).callonShortHandAttributeValue28, expr: &seqExpr{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 674, col: 21, offset: 21783}, + pos: position{line: 672, col: 21, offset: 21646}, label: "start", expr: &choiceExpr{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, run: (*parser).callonShortHandAttributeValue33, expr: &charClassMatcher{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -12164,12 +12810,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, run: (*parser).callonShortHandAttributeValue35, expr: &oneOrMoreExpr{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, expr: &charClassMatcher{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -12186,7 +12832,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 666, col: 78, offset: 21500}, + pos: position{line: 664, col: 78, offset: 21363}, val: "}", ignoreCase: false, want: "\"}\"", @@ -12195,28 +12841,28 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 670, col: 25, offset: 21618}, + pos: position{line: 668, col: 25, offset: 21481}, run: (*parser).callonShortHandAttributeValue39, expr: &seqExpr{ - pos: position{line: 670, col: 25, offset: 21618}, + pos: position{line: 668, col: 25, offset: 21481}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 670, col: 25, offset: 21618}, + pos: position{line: 668, col: 25, offset: 21481}, val: "{counter2:", ignoreCase: false, want: "\"{counter2:\"", }, &labeledExpr{ - pos: position{line: 670, col: 38, offset: 21631}, + pos: position{line: 668, col: 38, offset: 21494}, label: "name", expr: &actionExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, run: (*parser).callonShortHandAttributeValue43, expr: &seqExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -12225,9 +12871,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 332, col: 28, offset: 10403}, + pos: position{line: 324, col: 28, offset: 10064}, expr: &charClassMatcher{ - pos: position{line: 332, col: 29, offset: 10404}, + pos: position{line: 324, col: 29, offset: 10065}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -12241,33 +12887,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 670, col: 57, offset: 21650}, + pos: position{line: 668, col: 57, offset: 21513}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 670, col: 63, offset: 21656}, + pos: position{line: 668, col: 63, offset: 21519}, expr: &actionExpr{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, run: (*parser).callonShortHandAttributeValue50, expr: &seqExpr{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 674, col: 21, offset: 21783}, + pos: position{line: 672, col: 21, offset: 21646}, label: "start", expr: &choiceExpr{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, run: (*parser).callonShortHandAttributeValue55, expr: &charClassMatcher{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -12275,12 +12921,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, run: (*parser).callonShortHandAttributeValue57, expr: &oneOrMoreExpr{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, expr: &charClassMatcher{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -12297,7 +12943,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 670, col: 79, offset: 21672}, + pos: position{line: 668, col: 79, offset: 21535}, val: "}", ignoreCase: false, want: "\"}\"", @@ -12306,28 +12952,83 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 659, col: 5, offset: 21191}, + pos: position{line: 650, col: 5, offset: 20786}, run: (*parser).callonShortHandAttributeValue61, expr: &seqExpr{ - pos: position{line: 659, col: 5, offset: 21191}, + pos: position{line: 650, col: 5, offset: 20786}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 650, col: 5, offset: 20786}, + val: "\\{", + ignoreCase: false, + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 650, col: 13, offset: 20794}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + run: (*parser).callonShortHandAttributeValue65, + expr: &seqExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 324, col: 18, offset: 10054}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 324, col: 28, offset: 10064}, + expr: &charClassMatcher{ + pos: position{line: 324, col: 29, offset: 10065}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 650, col: 32, offset: 20813}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 657, col: 5, offset: 21054}, + run: (*parser).callonShortHandAttributeValue71, + expr: &seqExpr{ + pos: position{line: 657, col: 5, offset: 21054}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 659, col: 5, offset: 21191}, + pos: position{line: 657, col: 5, offset: 21054}, val: "{", ignoreCase: false, want: "\"{\"", }, &labeledExpr{ - pos: position{line: 659, col: 9, offset: 21195}, + pos: position{line: 657, col: 9, offset: 21058}, label: "name", expr: &actionExpr{ - pos: position{line: 332, col: 18, offset: 10393}, - run: (*parser).callonShortHandAttributeValue65, + pos: position{line: 324, col: 18, offset: 10054}, + run: (*parser).callonShortHandAttributeValue75, expr: &seqExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -12336,9 +13037,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 332, col: 28, offset: 10403}, + pos: position{line: 324, col: 28, offset: 10064}, expr: &charClassMatcher{ - pos: position{line: 332, col: 29, offset: 10404}, + pos: position{line: 324, col: 29, offset: 10065}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -12352,7 +13053,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 659, col: 28, offset: 21214}, + pos: position{line: 657, col: 28, offset: 21077}, val: "}", ignoreCase: false, want: "\"}\"", @@ -12367,10 +13068,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 531, col: 12, offset: 16765}, - run: (*parser).callonShortHandAttributeValue71, + pos: position{line: 521, col: 12, offset: 16344}, + run: (*parser).callonShortHandAttributeValue81, expr: &litMatcher{ - pos: position{line: 531, col: 12, offset: 16765}, + pos: position{line: 521, col: 12, offset: 16344}, val: "{", ignoreCase: false, want: "\"{\"", @@ -12381,19 +13082,19 @@ var g = &grammar{ }, }, &andExpr{ - pos: position{line: 535, col: 5, offset: 16853}, + pos: position{line: 525, col: 5, offset: 16432}, expr: ¬Expr{ - pos: position{line: 535, col: 7, offset: 16855}, + pos: position{line: 525, col: 7, offset: 16434}, expr: &seqExpr{ - pos: position{line: 535, col: 9, offset: 16857}, + pos: position{line: 525, col: 9, offset: 16436}, exprs: []interface{}{ &zeroOrMoreExpr{ - pos: position{line: 535, col: 9, offset: 16857}, + pos: position{line: 525, col: 9, offset: 16436}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, - run: (*parser).callonShortHandAttributeValue77, + pos: position{line: 3058, col: 10, offset: 99611}, + run: (*parser).callonShortHandAttributeValue87, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -12402,7 +13103,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 535, col: 16, offset: 16864}, + pos: position{line: 525, col: 16, offset: 16443}, val: "=", ignoreCase: false, want: "\"=\"", @@ -12419,45 +13120,45 @@ var g = &grammar{ }, { name: "PositionalAttribute", - pos: position{line: 540, col: 1, offset: 16942}, + pos: position{line: 530, col: 1, offset: 16521}, expr: &choiceExpr{ - pos: position{line: 540, col: 24, offset: 16965}, + pos: position{line: 530, col: 24, offset: 16544}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 541, col: 5, offset: 16971}, + pos: position{line: 531, col: 5, offset: 16550}, run: (*parser).callonPositionalAttribute2, expr: &seqExpr{ - pos: position{line: 541, col: 5, offset: 16971}, + pos: position{line: 531, col: 5, offset: 16550}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 541, col: 5, offset: 16971}, + pos: position{line: 531, col: 5, offset: 16550}, label: "value", expr: &ruleRefExpr{ - pos: position{line: 541, col: 12, offset: 16978}, + pos: position{line: 531, col: 12, offset: 16557}, name: "AttributeValue", }, }, &choiceExpr{ - pos: position{line: 541, col: 29, offset: 16995}, + pos: position{line: 531, col: 29, offset: 16574}, alternatives: []interface{}{ &zeroOrOneExpr{ - pos: position{line: 541, col: 29, offset: 16995}, + pos: position{line: 531, col: 29, offset: 16574}, expr: &seqExpr{ - pos: position{line: 541, col: 30, offset: 16996}, + pos: position{line: 531, col: 30, offset: 16575}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 541, col: 30, offset: 16996}, + pos: position{line: 531, col: 30, offset: 16575}, val: ",", ignoreCase: false, want: "\",\"", }, &zeroOrMoreExpr{ - pos: position{line: 541, col: 34, offset: 17000}, + pos: position{line: 531, col: 34, offset: 16579}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonPositionalAttribute11, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -12469,9 +13170,9 @@ var g = &grammar{ }, }, &andExpr{ - pos: position{line: 541, col: 45, offset: 17011}, + pos: position{line: 531, col: 45, offset: 16590}, expr: &litMatcher{ - pos: position{line: 541, col: 46, offset: 17012}, + pos: position{line: 531, col: 46, offset: 16591}, val: "]", ignoreCase: false, want: "\"]\"", @@ -12483,24 +13184,24 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 546, col: 6, offset: 17249}, + pos: position{line: 536, col: 6, offset: 16828}, run: (*parser).callonPositionalAttribute15, expr: &seqExpr{ - pos: position{line: 546, col: 6, offset: 17249}, + pos: position{line: 536, col: 6, offset: 16828}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 546, col: 6, offset: 17249}, + pos: position{line: 536, col: 6, offset: 16828}, label: "value", expr: &seqExpr{ - pos: position{line: 546, col: 13, offset: 17256}, + pos: position{line: 536, col: 13, offset: 16835}, exprs: []interface{}{ &zeroOrMoreExpr{ - pos: position{line: 546, col: 13, offset: 17256}, + pos: position{line: 536, col: 13, offset: 16835}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonPositionalAttribute20, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -12509,24 +13210,24 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 546, col: 21, offset: 17264}, + pos: position{line: 536, col: 21, offset: 16843}, alternatives: []interface{}{ &seqExpr{ - pos: position{line: 546, col: 22, offset: 17265}, + pos: position{line: 536, col: 22, offset: 16844}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 546, col: 22, offset: 17265}, + pos: position{line: 536, col: 22, offset: 16844}, val: ",", ignoreCase: false, want: "\",\"", }, &zeroOrMoreExpr{ - pos: position{line: 546, col: 26, offset: 17269}, + pos: position{line: 536, col: 26, offset: 16848}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonPositionalAttribute26, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -12537,9 +13238,9 @@ var g = &grammar{ }, }, &andExpr{ - pos: position{line: 546, col: 36, offset: 17279}, + pos: position{line: 536, col: 36, offset: 16858}, expr: &litMatcher{ - pos: position{line: 546, col: 37, offset: 17280}, + pos: position{line: 536, col: 37, offset: 16859}, val: "]", ignoreCase: false, want: "\"]\"", @@ -12551,7 +13252,7 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 547, col: 5, offset: 17290}, + pos: position{line: 537, col: 5, offset: 16869}, run: (*parser).callonPositionalAttribute30, }, }, @@ -12562,29 +13263,29 @@ var g = &grammar{ }, { name: "NamedAttribute", - pos: position{line: 557, col: 1, offset: 17605}, + pos: position{line: 547, col: 1, offset: 17184}, expr: &actionExpr{ - pos: position{line: 557, col: 19, offset: 17623}, + pos: position{line: 547, col: 19, offset: 17202}, run: (*parser).callonNamedAttribute1, expr: &seqExpr{ - pos: position{line: 557, col: 19, offset: 17623}, + pos: position{line: 547, col: 19, offset: 17202}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 557, col: 19, offset: 17623}, + pos: position{line: 547, col: 19, offset: 17202}, label: "key", expr: &actionExpr{ - pos: position{line: 562, col: 22, offset: 17931}, + pos: position{line: 552, col: 22, offset: 17510}, run: (*parser).callonNamedAttribute4, expr: &seqExpr{ - pos: position{line: 562, col: 22, offset: 17931}, + pos: position{line: 552, col: 22, offset: 17510}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 562, col: 22, offset: 17931}, + pos: position{line: 552, col: 22, offset: 17510}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonNamedAttribute7, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -12593,9 +13294,9 @@ var g = &grammar{ }, }, &oneOrMoreExpr{ - pos: position{line: 562, col: 29, offset: 17938}, + pos: position{line: 552, col: 29, offset: 17517}, expr: &charClassMatcher{ - pos: position{line: 562, col: 29, offset: 17938}, + pos: position{line: 552, col: 29, offset: 17517}, val: "[^\\r\\n=,]]", chars: []rune{'\r', '\n', '=', ',', ']'}, ignoreCase: false, @@ -12603,12 +13304,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 562, col: 42, offset: 17951}, + pos: position{line: 552, col: 42, offset: 17530}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonNamedAttribute12, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -12621,18 +13322,18 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 557, col: 43, offset: 17647}, + pos: position{line: 547, col: 43, offset: 17226}, val: "=", ignoreCase: false, want: "\"=\"", }, &zeroOrMoreExpr{ - pos: position{line: 557, col: 47, offset: 17651}, + pos: position{line: 547, col: 47, offset: 17230}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonNamedAttribute16, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -12641,31 +13342,31 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 557, col: 54, offset: 17658}, + pos: position{line: 547, col: 54, offset: 17237}, label: "value", expr: &ruleRefExpr{ - pos: position{line: 557, col: 61, offset: 17665}, + pos: position{line: 547, col: 61, offset: 17244}, name: "AttributeValue", }, }, &zeroOrOneExpr{ - pos: position{line: 557, col: 77, offset: 17681}, + pos: position{line: 547, col: 77, offset: 17260}, expr: &seqExpr{ - pos: position{line: 557, col: 78, offset: 17682}, + pos: position{line: 547, col: 78, offset: 17261}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 557, col: 78, offset: 17682}, + pos: position{line: 547, col: 78, offset: 17261}, val: ",", ignoreCase: false, want: "\",\"", }, &zeroOrMoreExpr{ - pos: position{line: 557, col: 82, offset: 17686}, + pos: position{line: 547, col: 82, offset: 17265}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonNamedAttribute24, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -12682,48 +13383,48 @@ var g = &grammar{ }, { name: "AttributeValue", - pos: position{line: 566, col: 1, offset: 18021}, + pos: position{line: 556, col: 1, offset: 17600}, expr: &actionExpr{ - pos: position{line: 567, col: 5, offset: 18044}, + pos: position{line: 557, col: 5, offset: 17623}, run: (*parser).callonAttributeValue1, expr: &seqExpr{ - pos: position{line: 567, col: 5, offset: 18044}, + pos: position{line: 557, col: 5, offset: 17623}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 567, col: 5, offset: 18044}, + pos: position{line: 557, col: 5, offset: 17623}, label: "value", expr: &choiceExpr{ - pos: position{line: 568, col: 9, offset: 18060}, + pos: position{line: 558, col: 9, offset: 17639}, alternatives: []interface{}{ &ruleRefExpr{ - pos: position{line: 568, col: 9, offset: 18060}, + pos: position{line: 558, col: 9, offset: 17639}, name: "SingleQuotedAttributeValue", }, &ruleRefExpr{ - pos: position{line: 569, col: 11, offset: 18098}, + pos: position{line: 559, col: 11, offset: 17677}, name: "DoubleQuotedAttributeValue", }, &ruleRefExpr{ - pos: position{line: 570, col: 11, offset: 18136}, + pos: position{line: 560, col: 11, offset: 17715}, name: "UnquotedAttributeValue", }, }, }, }, &andExpr{ - pos: position{line: 572, col: 5, offset: 18170}, + pos: position{line: 562, col: 5, offset: 17749}, expr: ¬Expr{ - pos: position{line: 572, col: 7, offset: 18172}, + pos: position{line: 562, col: 7, offset: 17751}, expr: &seqExpr{ - pos: position{line: 572, col: 9, offset: 18174}, + pos: position{line: 562, col: 9, offset: 17753}, exprs: []interface{}{ &zeroOrMoreExpr{ - pos: position{line: 572, col: 9, offset: 18174}, + pos: position{line: 562, col: 9, offset: 17753}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonAttributeValue12, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -12732,7 +13433,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 572, col: 16, offset: 18181}, + pos: position{line: 562, col: 16, offset: 17760}, val: "=", ignoreCase: false, want: "\"=\"", @@ -12747,38 +13448,38 @@ var g = &grammar{ }, { name: "SingleQuotedAttributeValue", - pos: position{line: 576, col: 1, offset: 18222}, + pos: position{line: 566, col: 1, offset: 17801}, expr: &actionExpr{ - pos: position{line: 577, col: 5, offset: 18257}, + pos: position{line: 567, col: 5, offset: 17836}, run: (*parser).callonSingleQuotedAttributeValue1, expr: &seqExpr{ - pos: position{line: 577, col: 5, offset: 18257}, + pos: position{line: 567, col: 5, offset: 17836}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 577, col: 5, offset: 18257}, + pos: position{line: 567, col: 5, offset: 17836}, val: "'", ignoreCase: false, want: "\"'\"", }, ¬Expr{ - pos: position{line: 577, col: 9, offset: 18261}, + pos: position{line: 567, col: 9, offset: 17840}, expr: &litMatcher{ - pos: position{line: 577, col: 10, offset: 18262}, + pos: position{line: 567, col: 10, offset: 17841}, val: "`", ignoreCase: false, want: "\"`\"", }, }, &labeledExpr{ - pos: position{line: 578, col: 5, offset: 18341}, + pos: position{line: 568, col: 5, offset: 17920}, label: "content", expr: &ruleRefExpr{ - pos: position{line: 578, col: 14, offset: 18350}, + pos: position{line: 568, col: 14, offset: 17929}, name: "SingleQuotedAttributeValueContent", }, }, &litMatcher{ - pos: position{line: 579, col: 5, offset: 18389}, + pos: position{line: 569, col: 5, offset: 17968}, val: "'", ignoreCase: false, want: "\"'\"", @@ -12789,25 +13490,25 @@ var g = &grammar{ }, { name: "SingleQuotedAttributeValueContent", - pos: position{line: 583, col: 1, offset: 18430}, + pos: position{line: 573, col: 1, offset: 18009}, expr: &actionExpr{ - pos: position{line: 584, col: 5, offset: 18472}, + pos: position{line: 574, col: 5, offset: 18051}, run: (*parser).callonSingleQuotedAttributeValueContent1, expr: &labeledExpr{ - pos: position{line: 584, col: 5, offset: 18472}, + pos: position{line: 574, col: 5, offset: 18051}, label: "elements", expr: &oneOrMoreExpr{ - pos: position{line: 584, col: 14, offset: 18481}, + pos: position{line: 574, col: 14, offset: 18060}, expr: &choiceExpr{ - pos: position{line: 585, col: 9, offset: 18491}, + pos: position{line: 575, col: 9, offset: 18070}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2817, col: 14, offset: 93577}, + pos: position{line: 2976, col: 14, offset: 97001}, run: (*parser).callonSingleQuotedAttributeValueContent5, expr: &oneOrMoreExpr{ - pos: position{line: 2817, col: 14, offset: 93577}, + pos: position{line: 2976, col: 14, offset: 97001}, expr: &charClassMatcher{ - pos: position{line: 2817, col: 14, offset: 93577}, + pos: position{line: 2976, col: 14, offset: 97001}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -12817,10 +13518,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonSingleQuotedAttributeValueContent8, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -12828,48 +13529,48 @@ var g = &grammar{ }, }, &ruleRefExpr{ - pos: position{line: 587, col: 11, offset: 18527}, + pos: position{line: 577, col: 11, offset: 18106}, name: "Quote", }, &actionExpr{ - pos: position{line: 651, col: 5, offset: 21000}, + pos: position{line: 641, col: 5, offset: 20579}, run: (*parser).callonSingleQuotedAttributeValueContent11, expr: &seqExpr{ - pos: position{line: 651, col: 5, offset: 21000}, + pos: position{line: 641, col: 5, offset: 20579}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 651, col: 5, offset: 21000}, + pos: position{line: 641, col: 5, offset: 20579}, run: (*parser).callonSingleQuotedAttributeValueContent13, }, &labeledExpr{ - pos: position{line: 654, col: 5, offset: 21069}, + pos: position{line: 644, col: 5, offset: 20648}, label: "element", expr: &choiceExpr{ - pos: position{line: 654, col: 14, offset: 21078}, + pos: position{line: 644, col: 14, offset: 20657}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 666, col: 25, offset: 21447}, + pos: position{line: 664, col: 25, offset: 21310}, run: (*parser).callonSingleQuotedAttributeValueContent16, expr: &seqExpr{ - pos: position{line: 666, col: 25, offset: 21447}, + pos: position{line: 664, col: 25, offset: 21310}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 666, col: 25, offset: 21447}, + pos: position{line: 664, col: 25, offset: 21310}, val: "{counter:", ignoreCase: false, want: "\"{counter:\"", }, &labeledExpr{ - pos: position{line: 666, col: 37, offset: 21459}, + pos: position{line: 664, col: 37, offset: 21322}, label: "name", expr: &actionExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, run: (*parser).callonSingleQuotedAttributeValueContent20, expr: &seqExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -12878,9 +13579,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 332, col: 28, offset: 10403}, + pos: position{line: 324, col: 28, offset: 10064}, expr: &charClassMatcher{ - pos: position{line: 332, col: 29, offset: 10404}, + pos: position{line: 324, col: 29, offset: 10065}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -12894,33 +13595,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 666, col: 56, offset: 21478}, + pos: position{line: 664, col: 56, offset: 21341}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 666, col: 62, offset: 21484}, + pos: position{line: 664, col: 62, offset: 21347}, expr: &actionExpr{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, run: (*parser).callonSingleQuotedAttributeValueContent27, expr: &seqExpr{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 674, col: 21, offset: 21783}, + pos: position{line: 672, col: 21, offset: 21646}, label: "start", expr: &choiceExpr{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, run: (*parser).callonSingleQuotedAttributeValueContent32, expr: &charClassMatcher{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -12928,12 +13629,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, run: (*parser).callonSingleQuotedAttributeValueContent34, expr: &oneOrMoreExpr{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, expr: &charClassMatcher{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -12950,7 +13651,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 666, col: 78, offset: 21500}, + pos: position{line: 664, col: 78, offset: 21363}, val: "}", ignoreCase: false, want: "\"}\"", @@ -12959,28 +13660,28 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 670, col: 25, offset: 21618}, + pos: position{line: 668, col: 25, offset: 21481}, run: (*parser).callonSingleQuotedAttributeValueContent38, expr: &seqExpr{ - pos: position{line: 670, col: 25, offset: 21618}, + pos: position{line: 668, col: 25, offset: 21481}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 670, col: 25, offset: 21618}, + pos: position{line: 668, col: 25, offset: 21481}, val: "{counter2:", ignoreCase: false, want: "\"{counter2:\"", }, &labeledExpr{ - pos: position{line: 670, col: 38, offset: 21631}, + pos: position{line: 668, col: 38, offset: 21494}, label: "name", expr: &actionExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, run: (*parser).callonSingleQuotedAttributeValueContent42, expr: &seqExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -12989,9 +13690,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 332, col: 28, offset: 10403}, + pos: position{line: 324, col: 28, offset: 10064}, expr: &charClassMatcher{ - pos: position{line: 332, col: 29, offset: 10404}, + pos: position{line: 324, col: 29, offset: 10065}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -13005,33 +13706,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 670, col: 57, offset: 21650}, + pos: position{line: 668, col: 57, offset: 21513}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 670, col: 63, offset: 21656}, + pos: position{line: 668, col: 63, offset: 21519}, expr: &actionExpr{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, run: (*parser).callonSingleQuotedAttributeValueContent49, expr: &seqExpr{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 674, col: 21, offset: 21783}, + pos: position{line: 672, col: 21, offset: 21646}, label: "start", expr: &choiceExpr{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, run: (*parser).callonSingleQuotedAttributeValueContent54, expr: &charClassMatcher{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -13039,12 +13740,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, run: (*parser).callonSingleQuotedAttributeValueContent56, expr: &oneOrMoreExpr{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, expr: &charClassMatcher{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -13061,7 +13762,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 670, col: 79, offset: 21672}, + pos: position{line: 668, col: 79, offset: 21535}, val: "}", ignoreCase: false, want: "\"}\"", @@ -13070,28 +13771,83 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 659, col: 5, offset: 21191}, + pos: position{line: 650, col: 5, offset: 20786}, run: (*parser).callonSingleQuotedAttributeValueContent60, expr: &seqExpr{ - pos: position{line: 659, col: 5, offset: 21191}, + pos: position{line: 650, col: 5, offset: 20786}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 659, col: 5, offset: 21191}, + pos: position{line: 650, col: 5, offset: 20786}, + val: "\\{", + ignoreCase: false, + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 650, col: 13, offset: 20794}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + run: (*parser).callonSingleQuotedAttributeValueContent64, + expr: &seqExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 324, col: 18, offset: 10054}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 324, col: 28, offset: 10064}, + expr: &charClassMatcher{ + pos: position{line: 324, col: 29, offset: 10065}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 650, col: 32, offset: 20813}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 657, col: 5, offset: 21054}, + run: (*parser).callonSingleQuotedAttributeValueContent70, + expr: &seqExpr{ + pos: position{line: 657, col: 5, offset: 21054}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 657, col: 5, offset: 21054}, val: "{", ignoreCase: false, want: "\"{\"", }, &labeledExpr{ - pos: position{line: 659, col: 9, offset: 21195}, + pos: position{line: 657, col: 9, offset: 21058}, label: "name", expr: &actionExpr{ - pos: position{line: 332, col: 18, offset: 10393}, - run: (*parser).callonSingleQuotedAttributeValueContent64, + pos: position{line: 324, col: 18, offset: 10054}, + run: (*parser).callonSingleQuotedAttributeValueContent74, expr: &seqExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -13100,9 +13856,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 332, col: 28, offset: 10403}, + pos: position{line: 324, col: 28, offset: 10064}, expr: &charClassMatcher{ - pos: position{line: 332, col: 29, offset: 10404}, + pos: position{line: 324, col: 29, offset: 10065}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -13116,7 +13872,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 659, col: 28, offset: 21214}, + pos: position{line: 657, col: 28, offset: 21077}, val: "}", ignoreCase: false, want: "\"}\"", @@ -13131,44 +13887,44 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 589, col: 12, offset: 18573}, - run: (*parser).callonSingleQuotedAttributeValueContent70, + pos: position{line: 579, col: 12, offset: 18152}, + run: (*parser).callonSingleQuotedAttributeValueContent80, expr: &litMatcher{ - pos: position{line: 589, col: 12, offset: 18573}, + pos: position{line: 579, col: 12, offset: 18152}, val: "\\'", ignoreCase: false, want: "\"\\\\'\"", }, }, &litMatcher{ - pos: position{line: 592, col: 13, offset: 18675}, + pos: position{line: 582, col: 13, offset: 18254}, val: "'`", ignoreCase: false, want: "\"'`\"", }, &litMatcher{ - pos: position{line: 592, col: 20, offset: 18682}, + pos: position{line: 582, col: 20, offset: 18261}, val: "`'", ignoreCase: false, want: "\"`'\"", }, &actionExpr{ - pos: position{line: 592, col: 27, offset: 18689}, - run: (*parser).callonSingleQuotedAttributeValueContent74, + pos: position{line: 582, col: 27, offset: 18268}, + run: (*parser).callonSingleQuotedAttributeValueContent84, expr: &litMatcher{ - pos: position{line: 592, col: 27, offset: 18689}, + pos: position{line: 582, col: 27, offset: 18268}, val: "\\", ignoreCase: false, want: "\"\\\\\"", }, }, &actionExpr{ - pos: position{line: 595, col: 12, offset: 18849}, - run: (*parser).callonSingleQuotedAttributeValueContent76, + pos: position{line: 585, col: 12, offset: 18428}, + run: (*parser).callonSingleQuotedAttributeValueContent86, expr: &oneOrMoreExpr{ - pos: position{line: 595, col: 12, offset: 18849}, + pos: position{line: 585, col: 12, offset: 18428}, expr: &charClassMatcher{ - pos: position{line: 595, col: 12, offset: 18849}, + pos: position{line: 585, col: 12, offset: 18428}, val: "[^\\r\\n\\\\\\ ]", chars: []rune{'\r', '\n', '\\', '\'', ' '}, ignoreCase: false, @@ -13184,56 +13940,56 @@ var g = &grammar{ }, { name: "DoubleQuotedAttributeValue", - pos: position{line: 602, col: 1, offset: 19046}, + pos: position{line: 592, col: 1, offset: 18625}, expr: &actionExpr{ - pos: position{line: 603, col: 5, offset: 19081}, + pos: position{line: 593, col: 5, offset: 18660}, run: (*parser).callonDoubleQuotedAttributeValue1, expr: &seqExpr{ - pos: position{line: 603, col: 5, offset: 19081}, + pos: position{line: 593, col: 5, offset: 18660}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 603, col: 5, offset: 19081}, + pos: position{line: 593, col: 5, offset: 18660}, val: "\"", ignoreCase: false, want: "\"\\\"\"", }, ¬Expr{ - pos: position{line: 603, col: 10, offset: 19086}, + pos: position{line: 593, col: 10, offset: 18665}, expr: &litMatcher{ - pos: position{line: 603, col: 11, offset: 19087}, + pos: position{line: 593, col: 11, offset: 18666}, val: "`", ignoreCase: false, want: "\"`\"", }, }, &labeledExpr{ - pos: position{line: 604, col: 5, offset: 19166}, + pos: position{line: 594, col: 5, offset: 18745}, label: "content", expr: &ruleRefExpr{ - pos: position{line: 604, col: 14, offset: 19175}, + pos: position{line: 594, col: 14, offset: 18754}, name: "DoubleQuotedAttributeValueContent", }, }, &litMatcher{ - pos: position{line: 605, col: 5, offset: 19214}, + pos: position{line: 595, col: 5, offset: 18793}, val: "\"", ignoreCase: false, want: "\"\\\"\"", }, &andExpr{ - pos: position{line: 605, col: 10, offset: 19219}, + pos: position{line: 595, col: 10, offset: 18798}, expr: ¬Expr{ - pos: position{line: 605, col: 12, offset: 19221}, + pos: position{line: 595, col: 12, offset: 18800}, expr: &seqExpr{ - pos: position{line: 605, col: 14, offset: 19223}, + pos: position{line: 595, col: 14, offset: 18802}, exprs: []interface{}{ &zeroOrMoreExpr{ - pos: position{line: 605, col: 14, offset: 19223}, + pos: position{line: 595, col: 14, offset: 18802}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonDoubleQuotedAttributeValue13, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -13242,7 +13998,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 605, col: 21, offset: 19230}, + pos: position{line: 595, col: 21, offset: 18809}, val: "=", ignoreCase: false, want: "\"=\"", @@ -13257,25 +14013,25 @@ var g = &grammar{ }, { name: "DoubleQuotedAttributeValueContent", - pos: position{line: 608, col: 1, offset: 19272}, + pos: position{line: 598, col: 1, offset: 18851}, expr: &actionExpr{ - pos: position{line: 609, col: 5, offset: 19314}, + pos: position{line: 599, col: 5, offset: 18893}, run: (*parser).callonDoubleQuotedAttributeValueContent1, expr: &labeledExpr{ - pos: position{line: 609, col: 5, offset: 19314}, + pos: position{line: 599, col: 5, offset: 18893}, label: "elements", expr: &oneOrMoreExpr{ - pos: position{line: 609, col: 14, offset: 19323}, + pos: position{line: 599, col: 14, offset: 18902}, expr: &choiceExpr{ - pos: position{line: 610, col: 9, offset: 19333}, + pos: position{line: 600, col: 9, offset: 18912}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2817, col: 14, offset: 93577}, + pos: position{line: 2976, col: 14, offset: 97001}, run: (*parser).callonDoubleQuotedAttributeValueContent5, expr: &oneOrMoreExpr{ - pos: position{line: 2817, col: 14, offset: 93577}, + pos: position{line: 2976, col: 14, offset: 97001}, expr: &charClassMatcher{ - pos: position{line: 2817, col: 14, offset: 93577}, + pos: position{line: 2976, col: 14, offset: 97001}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -13285,10 +14041,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonDoubleQuotedAttributeValueContent8, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -13296,48 +14052,48 @@ var g = &grammar{ }, }, &ruleRefExpr{ - pos: position{line: 612, col: 11, offset: 19369}, + pos: position{line: 602, col: 11, offset: 18948}, name: "Quote", }, &actionExpr{ - pos: position{line: 651, col: 5, offset: 21000}, + pos: position{line: 641, col: 5, offset: 20579}, run: (*parser).callonDoubleQuotedAttributeValueContent11, expr: &seqExpr{ - pos: position{line: 651, col: 5, offset: 21000}, + pos: position{line: 641, col: 5, offset: 20579}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 651, col: 5, offset: 21000}, + pos: position{line: 641, col: 5, offset: 20579}, run: (*parser).callonDoubleQuotedAttributeValueContent13, }, &labeledExpr{ - pos: position{line: 654, col: 5, offset: 21069}, + pos: position{line: 644, col: 5, offset: 20648}, label: "element", expr: &choiceExpr{ - pos: position{line: 654, col: 14, offset: 21078}, + pos: position{line: 644, col: 14, offset: 20657}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 666, col: 25, offset: 21447}, + pos: position{line: 664, col: 25, offset: 21310}, run: (*parser).callonDoubleQuotedAttributeValueContent16, expr: &seqExpr{ - pos: position{line: 666, col: 25, offset: 21447}, + pos: position{line: 664, col: 25, offset: 21310}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 666, col: 25, offset: 21447}, + pos: position{line: 664, col: 25, offset: 21310}, val: "{counter:", ignoreCase: false, want: "\"{counter:\"", }, &labeledExpr{ - pos: position{line: 666, col: 37, offset: 21459}, + pos: position{line: 664, col: 37, offset: 21322}, label: "name", expr: &actionExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, run: (*parser).callonDoubleQuotedAttributeValueContent20, expr: &seqExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -13346,9 +14102,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 332, col: 28, offset: 10403}, + pos: position{line: 324, col: 28, offset: 10064}, expr: &charClassMatcher{ - pos: position{line: 332, col: 29, offset: 10404}, + pos: position{line: 324, col: 29, offset: 10065}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -13362,33 +14118,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 666, col: 56, offset: 21478}, + pos: position{line: 664, col: 56, offset: 21341}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 666, col: 62, offset: 21484}, + pos: position{line: 664, col: 62, offset: 21347}, expr: &actionExpr{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, run: (*parser).callonDoubleQuotedAttributeValueContent27, expr: &seqExpr{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 674, col: 21, offset: 21783}, + pos: position{line: 672, col: 21, offset: 21646}, label: "start", expr: &choiceExpr{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, run: (*parser).callonDoubleQuotedAttributeValueContent32, expr: &charClassMatcher{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -13396,12 +14152,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, run: (*parser).callonDoubleQuotedAttributeValueContent34, expr: &oneOrMoreExpr{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, expr: &charClassMatcher{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -13418,7 +14174,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 666, col: 78, offset: 21500}, + pos: position{line: 664, col: 78, offset: 21363}, val: "}", ignoreCase: false, want: "\"}\"", @@ -13427,28 +14183,28 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 670, col: 25, offset: 21618}, + pos: position{line: 668, col: 25, offset: 21481}, run: (*parser).callonDoubleQuotedAttributeValueContent38, expr: &seqExpr{ - pos: position{line: 670, col: 25, offset: 21618}, + pos: position{line: 668, col: 25, offset: 21481}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 670, col: 25, offset: 21618}, + pos: position{line: 668, col: 25, offset: 21481}, val: "{counter2:", ignoreCase: false, want: "\"{counter2:\"", }, &labeledExpr{ - pos: position{line: 670, col: 38, offset: 21631}, + pos: position{line: 668, col: 38, offset: 21494}, label: "name", expr: &actionExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, run: (*parser).callonDoubleQuotedAttributeValueContent42, expr: &seqExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -13457,9 +14213,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 332, col: 28, offset: 10403}, + pos: position{line: 324, col: 28, offset: 10064}, expr: &charClassMatcher{ - pos: position{line: 332, col: 29, offset: 10404}, + pos: position{line: 324, col: 29, offset: 10065}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -13473,33 +14229,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 670, col: 57, offset: 21650}, + pos: position{line: 668, col: 57, offset: 21513}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 670, col: 63, offset: 21656}, + pos: position{line: 668, col: 63, offset: 21519}, expr: &actionExpr{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, run: (*parser).callonDoubleQuotedAttributeValueContent49, expr: &seqExpr{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 674, col: 21, offset: 21783}, + pos: position{line: 672, col: 21, offset: 21646}, label: "start", expr: &choiceExpr{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, run: (*parser).callonDoubleQuotedAttributeValueContent54, expr: &charClassMatcher{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -13507,12 +14263,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, run: (*parser).callonDoubleQuotedAttributeValueContent56, expr: &oneOrMoreExpr{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, expr: &charClassMatcher{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -13529,7 +14285,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 670, col: 79, offset: 21672}, + pos: position{line: 668, col: 79, offset: 21535}, val: "}", ignoreCase: false, want: "\"}\"", @@ -13538,28 +14294,83 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 659, col: 5, offset: 21191}, + pos: position{line: 650, col: 5, offset: 20786}, run: (*parser).callonDoubleQuotedAttributeValueContent60, expr: &seqExpr{ - pos: position{line: 659, col: 5, offset: 21191}, + pos: position{line: 650, col: 5, offset: 20786}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 650, col: 5, offset: 20786}, + val: "\\{", + ignoreCase: false, + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 650, col: 13, offset: 20794}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + run: (*parser).callonDoubleQuotedAttributeValueContent64, + expr: &seqExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 324, col: 18, offset: 10054}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 324, col: 28, offset: 10064}, + expr: &charClassMatcher{ + pos: position{line: 324, col: 29, offset: 10065}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 650, col: 32, offset: 20813}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 657, col: 5, offset: 21054}, + run: (*parser).callonDoubleQuotedAttributeValueContent70, + expr: &seqExpr{ + pos: position{line: 657, col: 5, offset: 21054}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 659, col: 5, offset: 21191}, + pos: position{line: 657, col: 5, offset: 21054}, val: "{", ignoreCase: false, want: "\"{\"", }, &labeledExpr{ - pos: position{line: 659, col: 9, offset: 21195}, + pos: position{line: 657, col: 9, offset: 21058}, label: "name", expr: &actionExpr{ - pos: position{line: 332, col: 18, offset: 10393}, - run: (*parser).callonDoubleQuotedAttributeValueContent64, + pos: position{line: 324, col: 18, offset: 10054}, + run: (*parser).callonDoubleQuotedAttributeValueContent74, expr: &seqExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -13568,9 +14379,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 332, col: 28, offset: 10403}, + pos: position{line: 324, col: 28, offset: 10064}, expr: &charClassMatcher{ - pos: position{line: 332, col: 29, offset: 10404}, + pos: position{line: 324, col: 29, offset: 10065}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -13584,7 +14395,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 659, col: 28, offset: 21214}, + pos: position{line: 657, col: 28, offset: 21077}, val: "}", ignoreCase: false, want: "\"}\"", @@ -13599,50 +14410,50 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 614, col: 12, offset: 19416}, - run: (*parser).callonDoubleQuotedAttributeValueContent70, + pos: position{line: 604, col: 12, offset: 18995}, + run: (*parser).callonDoubleQuotedAttributeValueContent80, expr: &litMatcher{ - pos: position{line: 614, col: 12, offset: 19416}, + pos: position{line: 604, col: 12, offset: 18995}, val: "\\\"", ignoreCase: false, want: "\"\\\\\\\"\"", }, }, &litMatcher{ - pos: position{line: 617, col: 13, offset: 19518}, + pos: position{line: 607, col: 13, offset: 19097}, val: "\"`", ignoreCase: false, want: "\"\\\"`\"", }, &litMatcher{ - pos: position{line: 617, col: 21, offset: 19526}, + pos: position{line: 607, col: 21, offset: 19105}, val: "`\"", ignoreCase: false, want: "\"`\\\"\"", }, &litMatcher{ - pos: position{line: 617, col: 29, offset: 19534}, + pos: position{line: 607, col: 29, offset: 19113}, val: "\\", ignoreCase: false, want: "\"\\\\\"", }, &actionExpr{ - pos: position{line: 617, col: 35, offset: 19540}, - run: (*parser).callonDoubleQuotedAttributeValueContent75, + pos: position{line: 607, col: 35, offset: 19119}, + run: (*parser).callonDoubleQuotedAttributeValueContent85, expr: &litMatcher{ - pos: position{line: 617, col: 35, offset: 19540}, + pos: position{line: 607, col: 35, offset: 19119}, val: "`", ignoreCase: false, want: "\"`\"", }, }, &actionExpr{ - pos: position{line: 620, col: 12, offset: 19723}, - run: (*parser).callonDoubleQuotedAttributeValueContent77, + pos: position{line: 610, col: 12, offset: 19302}, + run: (*parser).callonDoubleQuotedAttributeValueContent87, expr: &oneOrMoreExpr{ - pos: position{line: 620, col: 12, offset: 19723}, + pos: position{line: 610, col: 12, offset: 19302}, expr: &charClassMatcher{ - pos: position{line: 620, col: 12, offset: 19723}, + pos: position{line: 610, col: 12, offset: 19302}, val: "[^\\r\\n\\\\\"` ]", chars: []rune{'\r', '\n', '\\', '"', '`', ' '}, ignoreCase: false, @@ -13658,20 +14469,20 @@ var g = &grammar{ }, { name: "UnquotedAttributeValue", - pos: position{line: 628, col: 1, offset: 19997}, + pos: position{line: 618, col: 1, offset: 19576}, expr: &actionExpr{ - pos: position{line: 631, col: 5, offset: 20181}, + pos: position{line: 621, col: 5, offset: 19760}, run: (*parser).callonUnquotedAttributeValue1, expr: &seqExpr{ - pos: position{line: 631, col: 5, offset: 20181}, + pos: position{line: 621, col: 5, offset: 19760}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 631, col: 5, offset: 20181}, + pos: position{line: 621, col: 5, offset: 19760}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonUnquotedAttributeValue4, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -13680,32 +14491,32 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 632, col: 5, offset: 20250}, + pos: position{line: 622, col: 5, offset: 19829}, label: "elements", expr: &oneOrMoreExpr{ - pos: position{line: 632, col: 14, offset: 20259}, + pos: position{line: 622, col: 14, offset: 19838}, expr: &choiceExpr{ - pos: position{line: 633, col: 9, offset: 20269}, + pos: position{line: 623, col: 9, offset: 19848}, alternatives: []interface{}{ &ruleRefExpr{ - pos: position{line: 633, col: 9, offset: 20269}, + pos: position{line: 623, col: 9, offset: 19848}, name: "Quote", }, &seqExpr{ - pos: position{line: 634, col: 12, offset: 20326}, + pos: position{line: 624, col: 12, offset: 19905}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 634, col: 12, offset: 20326}, + pos: position{line: 624, col: 12, offset: 19905}, val: "[", ignoreCase: false, want: "\"[\"", }, &ruleRefExpr{ - pos: position{line: 634, col: 16, offset: 20330}, + pos: position{line: 624, col: 16, offset: 19909}, name: "UnquotedAttributeValue", }, &litMatcher{ - pos: position{line: 634, col: 39, offset: 20353}, + pos: position{line: 624, col: 39, offset: 19932}, val: "]", ignoreCase: false, want: "\"]\"", @@ -13713,12 +14524,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 636, col: 12, offset: 20452}, + pos: position{line: 626, col: 12, offset: 20031}, run: (*parser).callonUnquotedAttributeValue14, expr: &oneOrMoreExpr{ - pos: position{line: 636, col: 12, offset: 20452}, + pos: position{line: 626, col: 12, offset: 20031}, expr: &charClassMatcher{ - pos: position{line: 636, col: 12, offset: 20452}, + pos: position{line: 626, col: 12, offset: 20031}, val: "[^=,�]{ ]", chars: []rune{'=', ',', '�', ']', '{', ' '}, ignoreCase: false, @@ -13727,10 +14538,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonUnquotedAttributeValue17, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -13738,44 +14549,44 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 651, col: 5, offset: 21000}, + pos: position{line: 641, col: 5, offset: 20579}, run: (*parser).callonUnquotedAttributeValue19, expr: &seqExpr{ - pos: position{line: 651, col: 5, offset: 21000}, + pos: position{line: 641, col: 5, offset: 20579}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 651, col: 5, offset: 21000}, + pos: position{line: 641, col: 5, offset: 20579}, run: (*parser).callonUnquotedAttributeValue21, }, &labeledExpr{ - pos: position{line: 654, col: 5, offset: 21069}, + pos: position{line: 644, col: 5, offset: 20648}, label: "element", expr: &choiceExpr{ - pos: position{line: 654, col: 14, offset: 21078}, + pos: position{line: 644, col: 14, offset: 20657}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 666, col: 25, offset: 21447}, + pos: position{line: 664, col: 25, offset: 21310}, run: (*parser).callonUnquotedAttributeValue24, expr: &seqExpr{ - pos: position{line: 666, col: 25, offset: 21447}, + pos: position{line: 664, col: 25, offset: 21310}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 666, col: 25, offset: 21447}, + pos: position{line: 664, col: 25, offset: 21310}, val: "{counter:", ignoreCase: false, want: "\"{counter:\"", }, &labeledExpr{ - pos: position{line: 666, col: 37, offset: 21459}, + pos: position{line: 664, col: 37, offset: 21322}, label: "name", expr: &actionExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, run: (*parser).callonUnquotedAttributeValue28, expr: &seqExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -13784,9 +14595,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 332, col: 28, offset: 10403}, + pos: position{line: 324, col: 28, offset: 10064}, expr: &charClassMatcher{ - pos: position{line: 332, col: 29, offset: 10404}, + pos: position{line: 324, col: 29, offset: 10065}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -13800,33 +14611,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 666, col: 56, offset: 21478}, + pos: position{line: 664, col: 56, offset: 21341}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 666, col: 62, offset: 21484}, + pos: position{line: 664, col: 62, offset: 21347}, expr: &actionExpr{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, run: (*parser).callonUnquotedAttributeValue35, expr: &seqExpr{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 674, col: 21, offset: 21783}, + pos: position{line: 672, col: 21, offset: 21646}, label: "start", expr: &choiceExpr{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, run: (*parser).callonUnquotedAttributeValue40, expr: &charClassMatcher{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -13834,12 +14645,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, run: (*parser).callonUnquotedAttributeValue42, expr: &oneOrMoreExpr{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, expr: &charClassMatcher{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -13856,7 +14667,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 666, col: 78, offset: 21500}, + pos: position{line: 664, col: 78, offset: 21363}, val: "}", ignoreCase: false, want: "\"}\"", @@ -13865,28 +14676,28 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 670, col: 25, offset: 21618}, + pos: position{line: 668, col: 25, offset: 21481}, run: (*parser).callonUnquotedAttributeValue46, expr: &seqExpr{ - pos: position{line: 670, col: 25, offset: 21618}, + pos: position{line: 668, col: 25, offset: 21481}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 670, col: 25, offset: 21618}, + pos: position{line: 668, col: 25, offset: 21481}, val: "{counter2:", ignoreCase: false, want: "\"{counter2:\"", }, &labeledExpr{ - pos: position{line: 670, col: 38, offset: 21631}, + pos: position{line: 668, col: 38, offset: 21494}, label: "name", expr: &actionExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, run: (*parser).callonUnquotedAttributeValue50, expr: &seqExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -13895,9 +14706,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 332, col: 28, offset: 10403}, + pos: position{line: 324, col: 28, offset: 10064}, expr: &charClassMatcher{ - pos: position{line: 332, col: 29, offset: 10404}, + pos: position{line: 324, col: 29, offset: 10065}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -13911,33 +14722,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 670, col: 57, offset: 21650}, + pos: position{line: 668, col: 57, offset: 21513}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 670, col: 63, offset: 21656}, + pos: position{line: 668, col: 63, offset: 21519}, expr: &actionExpr{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, run: (*parser).callonUnquotedAttributeValue57, expr: &seqExpr{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 674, col: 21, offset: 21783}, + pos: position{line: 672, col: 21, offset: 21646}, label: "start", expr: &choiceExpr{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, run: (*parser).callonUnquotedAttributeValue62, expr: &charClassMatcher{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -13945,12 +14756,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, run: (*parser).callonUnquotedAttributeValue64, expr: &oneOrMoreExpr{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, expr: &charClassMatcher{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -13967,7 +14778,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 670, col: 79, offset: 21672}, + pos: position{line: 668, col: 79, offset: 21535}, val: "}", ignoreCase: false, want: "\"}\"", @@ -13976,28 +14787,83 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 659, col: 5, offset: 21191}, + pos: position{line: 650, col: 5, offset: 20786}, run: (*parser).callonUnquotedAttributeValue68, expr: &seqExpr{ - pos: position{line: 659, col: 5, offset: 21191}, + pos: position{line: 650, col: 5, offset: 20786}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 659, col: 5, offset: 21191}, + pos: position{line: 650, col: 5, offset: 20786}, + val: "\\{", + ignoreCase: false, + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 650, col: 13, offset: 20794}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + run: (*parser).callonUnquotedAttributeValue72, + expr: &seqExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 324, col: 18, offset: 10054}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 324, col: 28, offset: 10064}, + expr: &charClassMatcher{ + pos: position{line: 324, col: 29, offset: 10065}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 650, col: 32, offset: 20813}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 657, col: 5, offset: 21054}, + run: (*parser).callonUnquotedAttributeValue78, + expr: &seqExpr{ + pos: position{line: 657, col: 5, offset: 21054}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 657, col: 5, offset: 21054}, val: "{", ignoreCase: false, want: "\"{\"", }, &labeledExpr{ - pos: position{line: 659, col: 9, offset: 21195}, + pos: position{line: 657, col: 9, offset: 21058}, label: "name", expr: &actionExpr{ - pos: position{line: 332, col: 18, offset: 10393}, - run: (*parser).callonUnquotedAttributeValue72, + pos: position{line: 324, col: 18, offset: 10054}, + run: (*parser).callonUnquotedAttributeValue82, expr: &seqExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -14006,9 +14872,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 332, col: 28, offset: 10403}, + pos: position{line: 324, col: 28, offset: 10064}, expr: &charClassMatcher{ - pos: position{line: 332, col: 29, offset: 10404}, + pos: position{line: 324, col: 29, offset: 10065}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -14022,7 +14888,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 659, col: 28, offset: 21214}, + pos: position{line: 657, col: 28, offset: 21077}, val: "}", ignoreCase: false, want: "\"}\"", @@ -14037,7 +14903,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 641, col: 11, offset: 20626}, + pos: position{line: 631, col: 11, offset: 20205}, val: "{", ignoreCase: false, want: "\"{\"", @@ -14052,32 +14918,32 @@ var g = &grammar{ }, { name: "CrossReference", - pos: position{line: 692, col: 1, offset: 22404}, + pos: position{line: 690, col: 1, offset: 22267}, expr: &choiceExpr{ - pos: position{line: 692, col: 19, offset: 22422}, + pos: position{line: 690, col: 19, offset: 22285}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 694, col: 27, offset: 22498}, + pos: position{line: 692, col: 27, offset: 22361}, run: (*parser).callonCrossReference2, expr: &seqExpr{ - pos: position{line: 694, col: 27, offset: 22498}, + pos: position{line: 692, col: 27, offset: 22361}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 694, col: 27, offset: 22498}, + pos: position{line: 692, col: 27, offset: 22361}, val: "<<", ignoreCase: false, want: "\"<<\"", }, &labeledExpr{ - pos: position{line: 694, col: 32, offset: 22503}, + pos: position{line: 692, col: 32, offset: 22366}, label: "id", expr: &actionExpr{ - pos: position{line: 2884, col: 7, offset: 95839}, + pos: position{line: 3043, col: 7, offset: 99263}, run: (*parser).callonCrossReference6, expr: &oneOrMoreExpr{ - pos: position{line: 2884, col: 7, offset: 95839}, + pos: position{line: 3043, col: 7, offset: 99263}, expr: &charClassMatcher{ - pos: position{line: 2884, col: 7, offset: 95839}, + pos: position{line: 3043, col: 7, offset: 99263}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -14087,12 +14953,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 694, col: 40, offset: 22511}, + pos: position{line: 692, col: 40, offset: 22374}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonCrossReference10, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -14101,27 +14967,27 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 694, col: 47, offset: 22518}, + pos: position{line: 692, col: 47, offset: 22381}, val: ",", ignoreCase: false, want: "\",\"", }, &labeledExpr{ - pos: position{line: 694, col: 51, offset: 22522}, + pos: position{line: 692, col: 51, offset: 22385}, label: "label", expr: &oneOrMoreExpr{ - pos: position{line: 704, col: 24, offset: 22923}, + pos: position{line: 702, col: 24, offset: 22786}, expr: &choiceExpr{ - pos: position{line: 705, col: 5, offset: 22929}, + pos: position{line: 703, col: 5, offset: 22792}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 705, col: 6, offset: 22930}, + pos: position{line: 703, col: 6, offset: 22793}, run: (*parser).callonCrossReference16, expr: &seqExpr{ - pos: position{line: 705, col: 6, offset: 22930}, + pos: position{line: 703, col: 6, offset: 22793}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 705, col: 6, offset: 22930}, + pos: position{line: 703, col: 6, offset: 22793}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -14129,9 +14995,9 @@ var g = &grammar{ inverted: false, }, &oneOrMoreExpr{ - pos: position{line: 705, col: 14, offset: 22938}, + pos: position{line: 703, col: 14, offset: 22801}, expr: &charClassMatcher{ - pos: position{line: 705, col: 14, offset: 22938}, + pos: position{line: 703, col: 14, offset: 22801}, val: "[^\\r\\n{<>]", chars: []rune{'\r', '\n', '{', '<', '>'}, ignoreCase: false, @@ -14142,28 +15008,28 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 659, col: 5, offset: 21191}, + pos: position{line: 650, col: 5, offset: 20786}, run: (*parser).callonCrossReference21, expr: &seqExpr{ - pos: position{line: 659, col: 5, offset: 21191}, + pos: position{line: 650, col: 5, offset: 20786}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 659, col: 5, offset: 21191}, - val: "{", + pos: position{line: 650, col: 5, offset: 20786}, + val: "\\{", ignoreCase: false, - want: "\"{\"", + want: "\"\\\\{\"", }, &labeledExpr{ - pos: position{line: 659, col: 9, offset: 21195}, + pos: position{line: 650, col: 13, offset: 20794}, label: "name", expr: &actionExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, run: (*parser).callonCrossReference25, expr: &seqExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -14172,9 +15038,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 332, col: 28, offset: 10403}, + pos: position{line: 324, col: 28, offset: 10064}, expr: &charClassMatcher{ - pos: position{line: 332, col: 29, offset: 10404}, + pos: position{line: 324, col: 29, offset: 10065}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -14188,7 +15054,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 659, col: 28, offset: 21214}, + pos: position{line: 650, col: 32, offset: 20813}, val: "}", ignoreCase: false, want: "\"}\"", @@ -14197,10 +15063,65 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 709, col: 8, offset: 23164}, + pos: position{line: 657, col: 5, offset: 21054}, run: (*parser).callonCrossReference31, + expr: &seqExpr{ + pos: position{line: 657, col: 5, offset: 21054}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 657, col: 5, offset: 21054}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + &labeledExpr{ + pos: position{line: 657, col: 9, offset: 21058}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + run: (*parser).callonCrossReference35, + expr: &seqExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 324, col: 18, offset: 10054}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 324, col: 28, offset: 10064}, + expr: &charClassMatcher{ + pos: position{line: 324, col: 29, offset: 10065}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 657, col: 28, offset: 21077}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 707, col: 8, offset: 23027}, + run: (*parser).callonCrossReference41, expr: &litMatcher{ - pos: position{line: 709, col: 8, offset: 23164}, + pos: position{line: 707, col: 8, offset: 23027}, val: "{", ignoreCase: false, want: "\"{\"", @@ -14211,7 +15132,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 694, col: 79, offset: 22550}, + pos: position{line: 692, col: 79, offset: 22413}, val: ">>", ignoreCase: false, want: "\">>\"", @@ -14220,27 +15141,27 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 696, col: 9, offset: 22623}, - run: (*parser).callonCrossReference34, + pos: position{line: 694, col: 9, offset: 22486}, + run: (*parser).callonCrossReference44, expr: &seqExpr{ - pos: position{line: 696, col: 9, offset: 22623}, + pos: position{line: 694, col: 9, offset: 22486}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 696, col: 9, offset: 22623}, + pos: position{line: 694, col: 9, offset: 22486}, val: "<<", ignoreCase: false, want: "\"<<\"", }, &labeledExpr{ - pos: position{line: 696, col: 14, offset: 22628}, + pos: position{line: 694, col: 14, offset: 22491}, label: "id", expr: &actionExpr{ - pos: position{line: 2884, col: 7, offset: 95839}, - run: (*parser).callonCrossReference38, + pos: position{line: 3043, col: 7, offset: 99263}, + run: (*parser).callonCrossReference48, expr: &oneOrMoreExpr{ - pos: position{line: 2884, col: 7, offset: 95839}, + pos: position{line: 3043, col: 7, offset: 99263}, expr: &charClassMatcher{ - pos: position{line: 2884, col: 7, offset: 95839}, + pos: position{line: 3043, col: 7, offset: 99263}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -14250,7 +15171,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 696, col: 22, offset: 22636}, + pos: position{line: 694, col: 22, offset: 22499}, val: ">>", ignoreCase: false, want: "\">>\"", @@ -14259,7 +15180,7 @@ var g = &grammar{ }, }, &ruleRefExpr{ - pos: position{line: 692, col: 44, offset: 22447}, + pos: position{line: 690, col: 44, offset: 22310}, name: "ExternalCrossReference", }, }, @@ -14267,63 +15188,63 @@ var g = &grammar{ }, { name: "ExternalCrossReference", - pos: position{line: 700, col: 1, offset: 22707}, + pos: position{line: 698, col: 1, offset: 22570}, expr: &actionExpr{ - pos: position{line: 700, col: 27, offset: 22733}, + pos: position{line: 698, col: 27, offset: 22596}, run: (*parser).callonExternalCrossReference1, expr: &seqExpr{ - pos: position{line: 700, col: 27, offset: 22733}, + pos: position{line: 698, col: 27, offset: 22596}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 700, col: 27, offset: 22733}, + pos: position{line: 698, col: 27, offset: 22596}, val: "xref:", ignoreCase: false, want: "\"xref:\"", }, &labeledExpr{ - pos: position{line: 700, col: 35, offset: 22741}, + pos: position{line: 698, col: 35, offset: 22604}, label: "url", expr: &actionExpr{ - pos: position{line: 2855, col: 17, offset: 94805}, + pos: position{line: 3014, col: 17, offset: 98229}, run: (*parser).callonExternalCrossReference5, expr: &labeledExpr{ - pos: position{line: 2855, col: 17, offset: 94805}, + pos: position{line: 3014, col: 17, offset: 98229}, label: "path", expr: &oneOrMoreExpr{ - pos: position{line: 2855, col: 22, offset: 94810}, + pos: position{line: 3014, col: 22, offset: 98234}, expr: &choiceExpr{ - pos: position{line: 2855, col: 23, offset: 94811}, + pos: position{line: 3014, col: 23, offset: 98235}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2870, col: 5, offset: 95267}, + pos: position{line: 3029, col: 5, offset: 98691}, run: (*parser).callonExternalCrossReference9, expr: &seqExpr{ - pos: position{line: 2870, col: 5, offset: 95267}, + pos: position{line: 3029, col: 5, offset: 98691}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 2870, col: 5, offset: 95267}, + pos: position{line: 3029, col: 5, offset: 98691}, expr: &litMatcher{ - pos: position{line: 2870, col: 6, offset: 95268}, + pos: position{line: 3029, col: 6, offset: 98692}, val: "[", ignoreCase: false, want: "\"[\"", }, }, &labeledExpr{ - pos: position{line: 2871, col: 5, offset: 95292}, + pos: position{line: 3030, col: 5, offset: 98716}, label: "elements", expr: &oneOrMoreExpr{ - pos: position{line: 2871, col: 14, offset: 95301}, + pos: position{line: 3030, col: 14, offset: 98725}, expr: &choiceExpr{ - pos: position{line: 2872, col: 9, offset: 95311}, + pos: position{line: 3031, col: 9, offset: 98735}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2872, col: 9, offset: 95311}, + pos: position{line: 3031, col: 9, offset: 98735}, run: (*parser).callonExternalCrossReference16, expr: &oneOrMoreExpr{ - pos: position{line: 2872, col: 9, offset: 95311}, + pos: position{line: 3031, col: 9, offset: 98735}, expr: &charClassMatcher{ - pos: position{line: 2872, col: 10, offset: 95312}, + pos: position{line: 3031, col: 10, offset: 98736}, val: "[^\\r\\n[]�{.,;?!<> ]", chars: []rune{'\r', '\n', '[', ']', '�', '{', '.', ',', ';', '?', '!', '<', '>', ' '}, ignoreCase: false, @@ -14332,13 +15253,13 @@ var g = &grammar{ }, }, &seqExpr{ - pos: position{line: 2875, col: 11, offset: 95577}, + pos: position{line: 3034, col: 11, offset: 99001}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 2845, col: 25, offset: 94548}, + pos: position{line: 3004, col: 25, offset: 97972}, run: (*parser).callonExternalCrossReference20, expr: &charClassMatcher{ - pos: position{line: 2845, col: 25, offset: 94548}, + pos: position{line: 3004, col: 25, offset: 97972}, val: "[.,;?!]", chars: []rune{'.', ',', ';', '?', '!'}, ignoreCase: false, @@ -14346,23 +15267,23 @@ var g = &grammar{ }, }, &andExpr{ - pos: position{line: 2875, col: 32, offset: 95598}, + pos: position{line: 3034, col: 32, offset: 99022}, expr: ¬Expr{ - pos: position{line: 2875, col: 34, offset: 95600}, + pos: position{line: 3034, col: 34, offset: 99024}, expr: &choiceExpr{ - pos: position{line: 2875, col: 36, offset: 95602}, + pos: position{line: 3034, col: 36, offset: 99026}, alternatives: []interface{}{ ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonExternalCrossReference27, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -14376,44 +15297,44 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 651, col: 5, offset: 21000}, + pos: position{line: 641, col: 5, offset: 20579}, run: (*parser).callonExternalCrossReference29, expr: &seqExpr{ - pos: position{line: 651, col: 5, offset: 21000}, + pos: position{line: 641, col: 5, offset: 20579}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 651, col: 5, offset: 21000}, + pos: position{line: 641, col: 5, offset: 20579}, run: (*parser).callonExternalCrossReference31, }, &labeledExpr{ - pos: position{line: 654, col: 5, offset: 21069}, + pos: position{line: 644, col: 5, offset: 20648}, label: "element", expr: &choiceExpr{ - pos: position{line: 654, col: 14, offset: 21078}, + pos: position{line: 644, col: 14, offset: 20657}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 666, col: 25, offset: 21447}, + pos: position{line: 664, col: 25, offset: 21310}, run: (*parser).callonExternalCrossReference34, expr: &seqExpr{ - pos: position{line: 666, col: 25, offset: 21447}, + pos: position{line: 664, col: 25, offset: 21310}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 666, col: 25, offset: 21447}, + pos: position{line: 664, col: 25, offset: 21310}, val: "{counter:", ignoreCase: false, want: "\"{counter:\"", }, &labeledExpr{ - pos: position{line: 666, col: 37, offset: 21459}, + pos: position{line: 664, col: 37, offset: 21322}, label: "name", expr: &actionExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, run: (*parser).callonExternalCrossReference38, expr: &seqExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -14422,9 +15343,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 332, col: 28, offset: 10403}, + pos: position{line: 324, col: 28, offset: 10064}, expr: &charClassMatcher{ - pos: position{line: 332, col: 29, offset: 10404}, + pos: position{line: 324, col: 29, offset: 10065}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -14438,33 +15359,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 666, col: 56, offset: 21478}, + pos: position{line: 664, col: 56, offset: 21341}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 666, col: 62, offset: 21484}, + pos: position{line: 664, col: 62, offset: 21347}, expr: &actionExpr{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, run: (*parser).callonExternalCrossReference45, expr: &seqExpr{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 674, col: 21, offset: 21783}, + pos: position{line: 672, col: 21, offset: 21646}, label: "start", expr: &choiceExpr{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, run: (*parser).callonExternalCrossReference50, expr: &charClassMatcher{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -14472,12 +15393,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, run: (*parser).callonExternalCrossReference52, expr: &oneOrMoreExpr{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, expr: &charClassMatcher{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -14494,7 +15415,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 666, col: 78, offset: 21500}, + pos: position{line: 664, col: 78, offset: 21363}, val: "}", ignoreCase: false, want: "\"}\"", @@ -14503,28 +15424,28 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 670, col: 25, offset: 21618}, + pos: position{line: 668, col: 25, offset: 21481}, run: (*parser).callonExternalCrossReference56, expr: &seqExpr{ - pos: position{line: 670, col: 25, offset: 21618}, + pos: position{line: 668, col: 25, offset: 21481}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 670, col: 25, offset: 21618}, + pos: position{line: 668, col: 25, offset: 21481}, val: "{counter2:", ignoreCase: false, want: "\"{counter2:\"", }, &labeledExpr{ - pos: position{line: 670, col: 38, offset: 21631}, + pos: position{line: 668, col: 38, offset: 21494}, label: "name", expr: &actionExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, run: (*parser).callonExternalCrossReference60, expr: &seqExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -14533,9 +15454,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 332, col: 28, offset: 10403}, + pos: position{line: 324, col: 28, offset: 10064}, expr: &charClassMatcher{ - pos: position{line: 332, col: 29, offset: 10404}, + pos: position{line: 324, col: 29, offset: 10065}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -14549,33 +15470,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 670, col: 57, offset: 21650}, + pos: position{line: 668, col: 57, offset: 21513}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 670, col: 63, offset: 21656}, + pos: position{line: 668, col: 63, offset: 21519}, expr: &actionExpr{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, run: (*parser).callonExternalCrossReference67, expr: &seqExpr{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 674, col: 21, offset: 21783}, + pos: position{line: 672, col: 21, offset: 21646}, label: "start", expr: &choiceExpr{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, run: (*parser).callonExternalCrossReference72, expr: &charClassMatcher{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -14583,12 +15504,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, run: (*parser).callonExternalCrossReference74, expr: &oneOrMoreExpr{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, expr: &charClassMatcher{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -14605,7 +15526,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 670, col: 79, offset: 21672}, + pos: position{line: 668, col: 79, offset: 21535}, val: "}", ignoreCase: false, want: "\"}\"", @@ -14614,28 +15535,83 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 659, col: 5, offset: 21191}, + pos: position{line: 650, col: 5, offset: 20786}, run: (*parser).callonExternalCrossReference78, expr: &seqExpr{ - pos: position{line: 659, col: 5, offset: 21191}, + pos: position{line: 650, col: 5, offset: 20786}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 659, col: 5, offset: 21191}, + pos: position{line: 650, col: 5, offset: 20786}, + val: "\\{", + ignoreCase: false, + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 650, col: 13, offset: 20794}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + run: (*parser).callonExternalCrossReference82, + expr: &seqExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 324, col: 18, offset: 10054}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 324, col: 28, offset: 10064}, + expr: &charClassMatcher{ + pos: position{line: 324, col: 29, offset: 10065}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 650, col: 32, offset: 20813}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 657, col: 5, offset: 21054}, + run: (*parser).callonExternalCrossReference88, + expr: &seqExpr{ + pos: position{line: 657, col: 5, offset: 21054}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 657, col: 5, offset: 21054}, val: "{", ignoreCase: false, want: "\"{\"", }, &labeledExpr{ - pos: position{line: 659, col: 9, offset: 21195}, + pos: position{line: 657, col: 9, offset: 21058}, label: "name", expr: &actionExpr{ - pos: position{line: 332, col: 18, offset: 10393}, - run: (*parser).callonExternalCrossReference82, + pos: position{line: 324, col: 18, offset: 10054}, + run: (*parser).callonExternalCrossReference92, expr: &seqExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -14644,9 +15620,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 332, col: 28, offset: 10403}, + pos: position{line: 324, col: 28, offset: 10064}, expr: &charClassMatcher{ - pos: position{line: 332, col: 29, offset: 10404}, + pos: position{line: 324, col: 29, offset: 10065}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -14660,7 +15636,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 659, col: 28, offset: 21214}, + pos: position{line: 657, col: 28, offset: 21077}, val: "}", ignoreCase: false, want: "\"}\"", @@ -14675,49 +15651,49 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2599, col: 5, offset: 86909}, - run: (*parser).callonExternalCrossReference88, + pos: position{line: 2743, col: 5, offset: 89823}, + run: (*parser).callonExternalCrossReference98, expr: &seqExpr{ - pos: position{line: 2599, col: 5, offset: 86909}, + pos: position{line: 2743, col: 5, offset: 89823}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 2599, col: 5, offset: 86909}, - run: (*parser).callonExternalCrossReference90, + pos: position{line: 2743, col: 5, offset: 89823}, + run: (*parser).callonExternalCrossReference100, }, &labeledExpr{ - pos: position{line: 2602, col: 5, offset: 86985}, + pos: position{line: 2746, col: 5, offset: 89899}, label: "element", expr: &choiceExpr{ - pos: position{line: 2604, col: 9, offset: 87083}, + pos: position{line: 2748, col: 9, offset: 89997}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2604, col: 9, offset: 87083}, - run: (*parser).callonExternalCrossReference93, + pos: position{line: 2748, col: 9, offset: 89997}, + run: (*parser).callonExternalCrossReference103, expr: &choiceExpr{ - pos: position{line: 694, col: 27, offset: 22498}, + pos: position{line: 692, col: 27, offset: 22361}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 694, col: 27, offset: 22498}, - run: (*parser).callonExternalCrossReference95, + pos: position{line: 692, col: 27, offset: 22361}, + run: (*parser).callonExternalCrossReference105, expr: &seqExpr{ - pos: position{line: 694, col: 27, offset: 22498}, + pos: position{line: 692, col: 27, offset: 22361}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 694, col: 27, offset: 22498}, + pos: position{line: 692, col: 27, offset: 22361}, val: "<<", ignoreCase: false, want: "\"<<\"", }, &labeledExpr{ - pos: position{line: 694, col: 32, offset: 22503}, + pos: position{line: 692, col: 32, offset: 22366}, label: "id", expr: &actionExpr{ - pos: position{line: 2884, col: 7, offset: 95839}, - run: (*parser).callonExternalCrossReference99, + pos: position{line: 3043, col: 7, offset: 99263}, + run: (*parser).callonExternalCrossReference109, expr: &oneOrMoreExpr{ - pos: position{line: 2884, col: 7, offset: 95839}, + pos: position{line: 3043, col: 7, offset: 99263}, expr: &charClassMatcher{ - pos: position{line: 2884, col: 7, offset: 95839}, + pos: position{line: 3043, col: 7, offset: 99263}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -14727,12 +15703,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 694, col: 40, offset: 22511}, + pos: position{line: 692, col: 40, offset: 22374}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, - run: (*parser).callonExternalCrossReference103, + pos: position{line: 3058, col: 10, offset: 99611}, + run: (*parser).callonExternalCrossReference113, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -14741,27 +15717,27 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 694, col: 47, offset: 22518}, + pos: position{line: 692, col: 47, offset: 22381}, val: ",", ignoreCase: false, want: "\",\"", }, &labeledExpr{ - pos: position{line: 694, col: 51, offset: 22522}, + pos: position{line: 692, col: 51, offset: 22385}, label: "label", expr: &oneOrMoreExpr{ - pos: position{line: 704, col: 24, offset: 22923}, + pos: position{line: 702, col: 24, offset: 22786}, expr: &choiceExpr{ - pos: position{line: 705, col: 5, offset: 22929}, + pos: position{line: 703, col: 5, offset: 22792}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 705, col: 6, offset: 22930}, - run: (*parser).callonExternalCrossReference109, + pos: position{line: 703, col: 6, offset: 22793}, + run: (*parser).callonExternalCrossReference119, expr: &seqExpr{ - pos: position{line: 705, col: 6, offset: 22930}, + pos: position{line: 703, col: 6, offset: 22793}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 705, col: 6, offset: 22930}, + pos: position{line: 703, col: 6, offset: 22793}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -14769,9 +15745,9 @@ var g = &grammar{ inverted: false, }, &oneOrMoreExpr{ - pos: position{line: 705, col: 14, offset: 22938}, + pos: position{line: 703, col: 14, offset: 22801}, expr: &charClassMatcher{ - pos: position{line: 705, col: 14, offset: 22938}, + pos: position{line: 703, col: 14, offset: 22801}, val: "[^\\r\\n{<>]", chars: []rune{'\r', '\n', '{', '<', '>'}, ignoreCase: false, @@ -14782,28 +15758,83 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 659, col: 5, offset: 21191}, - run: (*parser).callonExternalCrossReference114, + pos: position{line: 650, col: 5, offset: 20786}, + run: (*parser).callonExternalCrossReference124, + expr: &seqExpr{ + pos: position{line: 650, col: 5, offset: 20786}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 650, col: 5, offset: 20786}, + val: "\\{", + ignoreCase: false, + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 650, col: 13, offset: 20794}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + run: (*parser).callonExternalCrossReference128, + expr: &seqExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 324, col: 18, offset: 10054}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 324, col: 28, offset: 10064}, + expr: &charClassMatcher{ + pos: position{line: 324, col: 29, offset: 10065}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 650, col: 32, offset: 20813}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 657, col: 5, offset: 21054}, + run: (*parser).callonExternalCrossReference134, expr: &seqExpr{ - pos: position{line: 659, col: 5, offset: 21191}, + pos: position{line: 657, col: 5, offset: 21054}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 659, col: 5, offset: 21191}, + pos: position{line: 657, col: 5, offset: 21054}, val: "{", ignoreCase: false, want: "\"{\"", }, &labeledExpr{ - pos: position{line: 659, col: 9, offset: 21195}, + pos: position{line: 657, col: 9, offset: 21058}, label: "name", expr: &actionExpr{ - pos: position{line: 332, col: 18, offset: 10393}, - run: (*parser).callonExternalCrossReference118, + pos: position{line: 324, col: 18, offset: 10054}, + run: (*parser).callonExternalCrossReference138, expr: &seqExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -14812,9 +15843,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 332, col: 28, offset: 10403}, + pos: position{line: 324, col: 28, offset: 10064}, expr: &charClassMatcher{ - pos: position{line: 332, col: 29, offset: 10404}, + pos: position{line: 324, col: 29, offset: 10065}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -14828,7 +15859,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 659, col: 28, offset: 21214}, + pos: position{line: 657, col: 28, offset: 21077}, val: "}", ignoreCase: false, want: "\"}\"", @@ -14837,10 +15868,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 709, col: 8, offset: 23164}, - run: (*parser).callonExternalCrossReference124, + pos: position{line: 707, col: 8, offset: 23027}, + run: (*parser).callonExternalCrossReference144, expr: &litMatcher{ - pos: position{line: 709, col: 8, offset: 23164}, + pos: position{line: 707, col: 8, offset: 23027}, val: "{", ignoreCase: false, want: "\"{\"", @@ -14851,7 +15882,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 694, col: 79, offset: 22550}, + pos: position{line: 692, col: 79, offset: 22413}, val: ">>", ignoreCase: false, want: "\">>\"", @@ -14860,27 +15891,27 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 696, col: 9, offset: 22623}, - run: (*parser).callonExternalCrossReference127, + pos: position{line: 694, col: 9, offset: 22486}, + run: (*parser).callonExternalCrossReference147, expr: &seqExpr{ - pos: position{line: 696, col: 9, offset: 22623}, + pos: position{line: 694, col: 9, offset: 22486}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 696, col: 9, offset: 22623}, + pos: position{line: 694, col: 9, offset: 22486}, val: "<<", ignoreCase: false, want: "\"<<\"", }, &labeledExpr{ - pos: position{line: 696, col: 14, offset: 22628}, + pos: position{line: 694, col: 14, offset: 22491}, label: "id", expr: &actionExpr{ - pos: position{line: 2884, col: 7, offset: 95839}, - run: (*parser).callonExternalCrossReference131, + pos: position{line: 3043, col: 7, offset: 99263}, + run: (*parser).callonExternalCrossReference151, expr: &oneOrMoreExpr{ - pos: position{line: 2884, col: 7, offset: 95839}, + pos: position{line: 3043, col: 7, offset: 99263}, expr: &charClassMatcher{ - pos: position{line: 2884, col: 7, offset: 95839}, + pos: position{line: 3043, col: 7, offset: 99263}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -14890,7 +15921,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 696, col: 22, offset: 22636}, + pos: position{line: 694, col: 22, offset: 22499}, val: ">>", ignoreCase: false, want: "\">>\"", @@ -14902,10 +15933,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2607, col: 11, offset: 87187}, - run: (*parser).callonExternalCrossReference135, + pos: position{line: 2751, col: 11, offset: 90101}, + run: (*parser).callonExternalCrossReference155, expr: &charClassMatcher{ - pos: position{line: 2607, col: 12, offset: 87188}, + pos: position{line: 2751, col: 12, offset: 90102}, val: "[<>&]", chars: []rune{'<', '>', '&'}, ignoreCase: false, @@ -14919,10 +15950,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2878, col: 11, offset: 95683}, - run: (*parser).callonExternalCrossReference137, + pos: position{line: 3037, col: 11, offset: 99107}, + run: (*parser).callonExternalCrossReference157, expr: &litMatcher{ - pos: position{line: 2878, col: 11, offset: 95683}, + pos: position{line: 3037, col: 11, offset: 99107}, val: "{", ignoreCase: false, want: "\"{\"", @@ -14936,27 +15967,27 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1122, col: 23, offset: 34991}, - run: (*parser).callonExternalCrossReference139, + pos: position{line: 1120, col: 23, offset: 34854}, + run: (*parser).callonExternalCrossReference159, expr: &seqExpr{ - pos: position{line: 1122, col: 23, offset: 34991}, + pos: position{line: 1120, col: 23, offset: 34854}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1120, col: 32, offset: 34959}, + pos: position{line: 1118, col: 32, offset: 34822}, val: "�", ignoreCase: false, want: "\"�\"", }, &labeledExpr{ - pos: position{line: 1122, col: 51, offset: 35019}, + pos: position{line: 1120, col: 51, offset: 34882}, label: "ref", expr: &actionExpr{ - pos: position{line: 1122, col: 56, offset: 35024}, - run: (*parser).callonExternalCrossReference143, + pos: position{line: 1120, col: 56, offset: 34887}, + run: (*parser).callonExternalCrossReference163, expr: &oneOrMoreExpr{ - pos: position{line: 1122, col: 56, offset: 35024}, + pos: position{line: 1120, col: 56, offset: 34887}, expr: &charClassMatcher{ - pos: position{line: 1122, col: 56, offset: 35024}, + pos: position{line: 1120, col: 56, offset: 34887}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -14966,7 +15997,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1120, col: 32, offset: 34959}, + pos: position{line: 1118, col: 32, offset: 34822}, val: "�", ignoreCase: false, want: "\"�\"", @@ -14981,10 +16012,10 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 700, col: 54, offset: 22760}, + pos: position{line: 698, col: 54, offset: 22623}, label: "attributes", expr: &ruleRefExpr{ - pos: position{line: 700, col: 66, offset: 22772}, + pos: position{line: 698, col: 66, offset: 22635}, name: "InlineAttributes", }, }, @@ -14994,29 +16025,29 @@ var g = &grammar{ }, { name: "MarkdownQuoteAttribution", - pos: position{line: 942, col: 1, offset: 29533}, + pos: position{line: 940, col: 1, offset: 29396}, expr: &actionExpr{ - pos: position{line: 943, col: 5, offset: 29566}, + pos: position{line: 941, col: 5, offset: 29429}, run: (*parser).callonMarkdownQuoteAttribution1, expr: &seqExpr{ - pos: position{line: 943, col: 5, offset: 29566}, + pos: position{line: 941, col: 5, offset: 29429}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 943, col: 5, offset: 29566}, + pos: position{line: 941, col: 5, offset: 29429}, val: "-- ", ignoreCase: false, want: "\"-- \"", }, &labeledExpr{ - pos: position{line: 943, col: 11, offset: 29572}, + pos: position{line: 941, col: 11, offset: 29435}, label: "author", expr: &actionExpr{ - pos: position{line: 943, col: 19, offset: 29580}, + pos: position{line: 941, col: 19, offset: 29443}, run: (*parser).callonMarkdownQuoteAttribution5, expr: &oneOrMoreExpr{ - pos: position{line: 943, col: 20, offset: 29581}, + pos: position{line: 941, col: 20, offset: 29444}, expr: &charClassMatcher{ - pos: position{line: 943, col: 20, offset: 29581}, + pos: position{line: 941, col: 20, offset: 29444}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -15026,28 +16057,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonMarkdownQuoteAttribution9, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -15056,9 +16087,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -15069,41 +16100,41 @@ var g = &grammar{ }, { name: "DocumentHeader", - pos: position{line: 1015, col: 1, offset: 31532}, + pos: position{line: 1013, col: 1, offset: 31395}, expr: &actionExpr{ - pos: position{line: 1016, col: 5, offset: 31555}, + pos: position{line: 1014, col: 5, offset: 31418}, run: (*parser).callonDocumentHeader1, expr: &seqExpr{ - pos: position{line: 1016, col: 5, offset: 31555}, + pos: position{line: 1014, col: 5, offset: 31418}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 1016, col: 5, offset: 31555}, + pos: position{line: 1014, col: 5, offset: 31418}, run: (*parser).callonDocumentHeader3, }, &zeroOrMoreExpr{ - pos: position{line: 1019, col: 5, offset: 31616}, + pos: position{line: 1017, col: 5, offset: 31479}, expr: &actionExpr{ - pos: position{line: 685, col: 14, offset: 22145}, + pos: position{line: 683, col: 14, offset: 22008}, run: (*parser).callonDocumentHeader5, expr: &seqExpr{ - pos: position{line: 685, col: 14, offset: 22145}, + pos: position{line: 683, col: 14, offset: 22008}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 685, col: 14, offset: 22145}, + pos: position{line: 683, col: 14, offset: 22008}, expr: ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, &zeroOrMoreExpr{ - pos: position{line: 685, col: 19, offset: 22150}, + pos: position{line: 683, col: 19, offset: 22013}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonDocumentHeader11, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -15112,28 +16143,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonDocumentHeader14, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -15142,9 +16173,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -15154,27 +16185,27 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1020, col: 5, offset: 31666}, + pos: position{line: 1018, col: 5, offset: 31529}, label: "title", expr: &actionExpr{ - pos: position{line: 1028, col: 5, offset: 32009}, + pos: position{line: 1026, col: 5, offset: 31872}, run: (*parser).callonDocumentHeader22, expr: &seqExpr{ - pos: position{line: 1028, col: 5, offset: 32009}, + pos: position{line: 1026, col: 5, offset: 31872}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1028, col: 5, offset: 32009}, + pos: position{line: 1026, col: 5, offset: 31872}, val: "=", ignoreCase: false, want: "\"=\"", }, &actionExpr{ - pos: position{line: 2903, col: 11, offset: 96254}, + pos: position{line: 3062, col: 11, offset: 99678}, run: (*parser).callonDocumentHeader25, expr: &oneOrMoreExpr{ - pos: position{line: 2903, col: 11, offset: 96254}, + pos: position{line: 3062, col: 11, offset: 99678}, expr: &charClassMatcher{ - pos: position{line: 2903, col: 12, offset: 96255}, + pos: position{line: 3062, col: 12, offset: 99679}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -15183,15 +16214,15 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1028, col: 16, offset: 32020}, + pos: position{line: 1026, col: 16, offset: 31883}, label: "title", expr: &actionExpr{ - pos: position{line: 2483, col: 17, offset: 83560}, + pos: position{line: 2627, col: 17, offset: 86474}, run: (*parser).callonDocumentHeader29, expr: &oneOrMoreExpr{ - pos: position{line: 2483, col: 17, offset: 83560}, + pos: position{line: 2627, col: 17, offset: 86474}, expr: &charClassMatcher{ - pos: position{line: 2483, col: 17, offset: 83560}, + pos: position{line: 2627, col: 17, offset: 86474}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -15201,28 +16232,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonDocumentHeader33, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -15231,9 +16262,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -15243,40 +16274,40 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1021, col: 5, offset: 31690}, + pos: position{line: 1019, col: 5, offset: 31553}, label: "info", expr: &zeroOrOneExpr{ - pos: position{line: 1021, col: 10, offset: 31695}, + pos: position{line: 1019, col: 10, offset: 31558}, expr: &actionExpr{ - pos: position{line: 1033, col: 5, offset: 32114}, + pos: position{line: 1031, col: 5, offset: 31977}, run: (*parser).callonDocumentHeader42, expr: &seqExpr{ - pos: position{line: 1033, col: 5, offset: 32114}, + pos: position{line: 1031, col: 5, offset: 31977}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 1033, col: 5, offset: 32114}, + pos: position{line: 1031, col: 5, offset: 31977}, expr: &actionExpr{ - pos: position{line: 685, col: 14, offset: 22145}, + pos: position{line: 683, col: 14, offset: 22008}, run: (*parser).callonDocumentHeader45, expr: &seqExpr{ - pos: position{line: 685, col: 14, offset: 22145}, + pos: position{line: 683, col: 14, offset: 22008}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 685, col: 14, offset: 22145}, + pos: position{line: 683, col: 14, offset: 22008}, expr: ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, &zeroOrMoreExpr{ - pos: position{line: 685, col: 19, offset: 22150}, + pos: position{line: 683, col: 19, offset: 22013}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonDocumentHeader51, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -15285,28 +16316,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonDocumentHeader54, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -15315,9 +16346,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -15327,41 +16358,41 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 1034, col: 5, offset: 32129}, + pos: position{line: 1032, col: 5, offset: 31992}, expr: &choiceExpr{ - pos: position{line: 1034, col: 6, offset: 32130}, + pos: position{line: 1032, col: 6, offset: 31993}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2616, col: 22, offset: 87547}, + pos: position{line: 2760, col: 22, offset: 90461}, run: (*parser).callonDocumentHeader63, expr: &seqExpr{ - pos: position{line: 2616, col: 22, offset: 87547}, + pos: position{line: 2760, col: 22, offset: 90461}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2621, col: 31, offset: 87768}, + pos: position{line: 2765, col: 31, offset: 90682}, val: "//", ignoreCase: false, want: "\"//\"", }, ¬Expr{ - pos: position{line: 2621, col: 36, offset: 87773}, + pos: position{line: 2765, col: 36, offset: 90687}, expr: &litMatcher{ - pos: position{line: 2621, col: 37, offset: 87774}, + pos: position{line: 2765, col: 37, offset: 90688}, val: "//", ignoreCase: false, want: "\"//\"", }, }, &labeledExpr{ - pos: position{line: 2616, col: 49, offset: 87574}, + pos: position{line: 2760, col: 49, offset: 90488}, label: "content", expr: &actionExpr{ - pos: position{line: 2623, col: 29, offset: 87809}, + pos: position{line: 2767, col: 29, offset: 90723}, run: (*parser).callonDocumentHeader69, expr: &zeroOrMoreExpr{ - pos: position{line: 2623, col: 29, offset: 87809}, + pos: position{line: 2767, col: 29, offset: 90723}, expr: &charClassMatcher{ - pos: position{line: 2623, col: 29, offset: 87809}, + pos: position{line: 2767, col: 29, offset: 90723}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -15371,28 +16402,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonDocumentHeader73, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -15401,9 +16432,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -15412,30 +16443,30 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 798, col: 5, offset: 25649}, + pos: position{line: 796, col: 5, offset: 25512}, run: (*parser).callonDocumentHeader80, expr: &seqExpr{ - pos: position{line: 798, col: 5, offset: 25649}, + pos: position{line: 796, col: 5, offset: 25512}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 746, col: 26, offset: 24217}, + pos: position{line: 744, col: 26, offset: 24080}, run: (*parser).callonDocumentHeader82, expr: &seqExpr{ - pos: position{line: 746, col: 26, offset: 24217}, + pos: position{line: 744, col: 26, offset: 24080}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 746, col: 26, offset: 24217}, + pos: position{line: 744, col: 26, offset: 24080}, val: "////", ignoreCase: false, want: "\"////\"", }, &zeroOrMoreExpr{ - pos: position{line: 746, col: 33, offset: 24224}, + pos: position{line: 744, col: 33, offset: 24087}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonDocumentHeader86, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -15444,28 +16475,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonDocumentHeader89, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -15474,9 +16505,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -15485,40 +16516,40 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 799, col: 5, offset: 25680}, + pos: position{line: 797, col: 5, offset: 25543}, label: "content", expr: &zeroOrMoreExpr{ - pos: position{line: 810, col: 5, offset: 26004}, + pos: position{line: 808, col: 5, offset: 25867}, expr: &actionExpr{ - pos: position{line: 810, col: 6, offset: 26005}, + pos: position{line: 808, col: 6, offset: 25868}, run: (*parser).callonDocumentHeader98, expr: &seqExpr{ - pos: position{line: 810, col: 6, offset: 26005}, + pos: position{line: 808, col: 6, offset: 25868}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 810, col: 6, offset: 26005}, + pos: position{line: 808, col: 6, offset: 25868}, expr: &choiceExpr{ - pos: position{line: 807, col: 29, offset: 25947}, + pos: position{line: 805, col: 29, offset: 25810}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 746, col: 26, offset: 24217}, + pos: position{line: 744, col: 26, offset: 24080}, run: (*parser).callonDocumentHeader102, expr: &seqExpr{ - pos: position{line: 746, col: 26, offset: 24217}, + pos: position{line: 744, col: 26, offset: 24080}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 746, col: 26, offset: 24217}, + pos: position{line: 744, col: 26, offset: 24080}, val: "////", ignoreCase: false, want: "\"////\"", }, &zeroOrMoreExpr{ - pos: position{line: 746, col: 33, offset: 24224}, + pos: position{line: 744, col: 33, offset: 24087}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonDocumentHeader106, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -15527,28 +16558,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonDocumentHeader109, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -15557,9 +16588,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -15568,42 +16599,42 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, }, }, &labeledExpr{ - pos: position{line: 811, col: 5, offset: 26035}, + pos: position{line: 809, col: 5, offset: 25898}, label: "line", expr: &actionExpr{ - pos: position{line: 787, col: 5, offset: 25344}, + pos: position{line: 785, col: 5, offset: 25207}, run: (*parser).callonDocumentHeader119, expr: &seqExpr{ - pos: position{line: 787, col: 5, offset: 25344}, + pos: position{line: 785, col: 5, offset: 25207}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 787, col: 5, offset: 25344}, + pos: position{line: 785, col: 5, offset: 25207}, expr: ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, &labeledExpr{ - pos: position{line: 788, col: 5, offset: 25417}, + pos: position{line: 786, col: 5, offset: 25280}, label: "content", expr: &actionExpr{ - pos: position{line: 788, col: 14, offset: 25426}, + pos: position{line: 786, col: 14, offset: 25289}, run: (*parser).callonDocumentHeader125, expr: &zeroOrMoreExpr{ - pos: position{line: 788, col: 14, offset: 25426}, + pos: position{line: 786, col: 14, offset: 25289}, expr: &charClassMatcher{ - pos: position{line: 788, col: 14, offset: 25426}, + pos: position{line: 786, col: 14, offset: 25289}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -15613,28 +16644,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonDocumentHeader129, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -15643,9 +16674,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -15660,29 +16691,29 @@ var g = &grammar{ }, }, &zeroOrOneExpr{ - pos: position{line: 800, col: 5, offset: 25714}, + pos: position{line: 798, col: 5, offset: 25577}, expr: &choiceExpr{ - pos: position{line: 807, col: 29, offset: 25947}, + pos: position{line: 805, col: 29, offset: 25810}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 746, col: 26, offset: 24217}, + pos: position{line: 744, col: 26, offset: 24080}, run: (*parser).callonDocumentHeader138, expr: &seqExpr{ - pos: position{line: 746, col: 26, offset: 24217}, + pos: position{line: 744, col: 26, offset: 24080}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 746, col: 26, offset: 24217}, + pos: position{line: 744, col: 26, offset: 24080}, val: "////", ignoreCase: false, want: "\"////\"", }, &zeroOrMoreExpr{ - pos: position{line: 746, col: 33, offset: 24224}, + pos: position{line: 744, col: 33, offset: 24087}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonDocumentHeader142, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -15691,28 +16722,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonDocumentHeader145, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -15721,9 +16752,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -15732,9 +16763,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -15747,21 +16778,21 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1035, col: 5, offset: 32204}, + pos: position{line: 1033, col: 5, offset: 32067}, label: "authors", expr: &actionExpr{ - pos: position{line: 1041, col: 20, offset: 32454}, + pos: position{line: 1039, col: 20, offset: 32317}, run: (*parser).callonDocumentHeader155, expr: &seqExpr{ - pos: position{line: 1041, col: 20, offset: 32454}, + pos: position{line: 1039, col: 20, offset: 32317}, exprs: []interface{}{ &zeroOrMoreExpr{ - pos: position{line: 1041, col: 20, offset: 32454}, + pos: position{line: 1039, col: 20, offset: 32317}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonDocumentHeader158, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -15770,58 +16801,58 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1041, col: 27, offset: 32461}, + pos: position{line: 1039, col: 27, offset: 32324}, label: "authors", expr: &choiceExpr{ - pos: position{line: 1041, col: 36, offset: 32470}, + pos: position{line: 1039, col: 36, offset: 32333}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1045, col: 30, offset: 32590}, + pos: position{line: 1043, col: 30, offset: 32453}, run: (*parser).callonDocumentHeader162, expr: &seqExpr{ - pos: position{line: 1045, col: 30, offset: 32590}, + pos: position{line: 1043, col: 30, offset: 32453}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 1045, col: 30, offset: 32590}, + pos: position{line: 1043, col: 30, offset: 32453}, expr: &litMatcher{ - pos: position{line: 1045, col: 31, offset: 32591}, + pos: position{line: 1043, col: 31, offset: 32454}, val: ":", ignoreCase: false, want: "\":\"", }, }, &labeledExpr{ - pos: position{line: 1045, col: 35, offset: 32595}, + pos: position{line: 1043, col: 35, offset: 32458}, label: "authors", expr: &oneOrMoreExpr{ - pos: position{line: 1045, col: 44, offset: 32604}, + pos: position{line: 1043, col: 44, offset: 32467}, expr: &actionExpr{ - pos: position{line: 1054, col: 5, offset: 32836}, + pos: position{line: 1052, col: 5, offset: 32699}, run: (*parser).callonDocumentHeader168, expr: &seqExpr{ - pos: position{line: 1054, col: 5, offset: 32836}, + pos: position{line: 1052, col: 5, offset: 32699}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1054, col: 5, offset: 32836}, + pos: position{line: 1052, col: 5, offset: 32699}, label: "fullName", expr: &zeroOrOneExpr{ - pos: position{line: 1054, col: 14, offset: 32845}, + pos: position{line: 1052, col: 14, offset: 32708}, expr: &actionExpr{ - pos: position{line: 1065, col: 5, offset: 33225}, + pos: position{line: 1063, col: 5, offset: 33088}, run: (*parser).callonDocumentHeader172, expr: &seqExpr{ - pos: position{line: 1065, col: 5, offset: 33225}, + pos: position{line: 1063, col: 5, offset: 33088}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1065, col: 5, offset: 33225}, + pos: position{line: 1063, col: 5, offset: 33088}, label: "part1", expr: &actionExpr{ - pos: position{line: 1065, col: 12, offset: 33232}, + pos: position{line: 1063, col: 12, offset: 33095}, run: (*parser).callonDocumentHeader175, expr: &oneOrMoreExpr{ - pos: position{line: 1065, col: 12, offset: 33232}, + pos: position{line: 1063, col: 12, offset: 33095}, expr: &charClassMatcher{ - pos: position{line: 1065, col: 12, offset: 33232}, + pos: position{line: 1063, col: 12, offset: 33095}, val: "[^<;\\r\\n ]", chars: []rune{'<', ';', '\r', '\n', ' '}, ignoreCase: false, @@ -15831,12 +16862,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 1068, col: 5, offset: 33312}, + pos: position{line: 1066, col: 5, offset: 33175}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonDocumentHeader179, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -15845,17 +16876,17 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1069, col: 5, offset: 33323}, + pos: position{line: 1067, col: 5, offset: 33186}, label: "part2", expr: &zeroOrOneExpr{ - pos: position{line: 1069, col: 11, offset: 33329}, + pos: position{line: 1067, col: 11, offset: 33192}, expr: &actionExpr{ - pos: position{line: 1069, col: 12, offset: 33330}, + pos: position{line: 1067, col: 12, offset: 33193}, run: (*parser).callonDocumentHeader183, expr: &oneOrMoreExpr{ - pos: position{line: 1069, col: 12, offset: 33330}, + pos: position{line: 1067, col: 12, offset: 33193}, expr: &charClassMatcher{ - pos: position{line: 1069, col: 12, offset: 33330}, + pos: position{line: 1067, col: 12, offset: 33193}, val: "[^<;\\r\\n ]", chars: []rune{'<', ';', '\r', '\n', ' '}, ignoreCase: false, @@ -15866,12 +16897,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 1072, col: 5, offset: 33411}, + pos: position{line: 1070, col: 5, offset: 33274}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonDocumentHeader187, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -15880,17 +16911,17 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1073, col: 5, offset: 33422}, + pos: position{line: 1071, col: 5, offset: 33285}, label: "part3", expr: &zeroOrOneExpr{ - pos: position{line: 1073, col: 11, offset: 33428}, + pos: position{line: 1071, col: 11, offset: 33291}, expr: &actionExpr{ - pos: position{line: 1073, col: 12, offset: 33429}, + pos: position{line: 1071, col: 12, offset: 33292}, run: (*parser).callonDocumentHeader191, expr: &oneOrMoreExpr{ - pos: position{line: 1073, col: 12, offset: 33429}, + pos: position{line: 1071, col: 12, offset: 33292}, expr: &charClassMatcher{ - pos: position{line: 1073, col: 12, offset: 33429}, + pos: position{line: 1071, col: 12, offset: 33292}, val: "[^<;\\r\\n]", chars: []rune{'<', ';', '\r', '\n'}, ignoreCase: false, @@ -15901,12 +16932,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 1076, col: 5, offset: 33508}, + pos: position{line: 1074, col: 5, offset: 33371}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonDocumentHeader195, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -15920,41 +16951,41 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1054, col: 40, offset: 32871}, + pos: position{line: 1052, col: 40, offset: 32734}, label: "email", expr: &zeroOrOneExpr{ - pos: position{line: 1054, col: 46, offset: 32877}, + pos: position{line: 1052, col: 46, offset: 32740}, expr: &actionExpr{ - pos: position{line: 1082, col: 5, offset: 33630}, + pos: position{line: 1080, col: 5, offset: 33493}, run: (*parser).callonDocumentHeader199, expr: &seqExpr{ - pos: position{line: 1082, col: 5, offset: 33630}, + pos: position{line: 1080, col: 5, offset: 33493}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 1082, col: 5, offset: 33630}, + pos: position{line: 1080, col: 5, offset: 33493}, expr: ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, &litMatcher{ - pos: position{line: 1083, col: 5, offset: 33640}, + pos: position{line: 1081, col: 5, offset: 33503}, val: "<", ignoreCase: false, want: "\"<\"", }, &labeledExpr{ - pos: position{line: 1084, col: 5, offset: 33649}, + pos: position{line: 1082, col: 5, offset: 33512}, label: "email", expr: &actionExpr{ - pos: position{line: 1084, col: 12, offset: 33656}, + pos: position{line: 1082, col: 12, offset: 33519}, run: (*parser).callonDocumentHeader206, expr: &oneOrMoreExpr{ - pos: position{line: 1084, col: 13, offset: 33657}, + pos: position{line: 1082, col: 13, offset: 33520}, expr: &charClassMatcher{ - pos: position{line: 1084, col: 13, offset: 33657}, + pos: position{line: 1082, col: 13, offset: 33520}, val: "[^>\\r\\n]", chars: []rune{'>', '\r', '\n'}, ignoreCase: false, @@ -15964,7 +16995,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1087, col: 5, offset: 33717}, + pos: position{line: 1085, col: 5, offset: 33580}, val: ">", ignoreCase: false, want: "\">\"", @@ -15975,12 +17006,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 1054, col: 69, offset: 32900}, + pos: position{line: 1052, col: 69, offset: 32763}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonDocumentHeader211, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -15989,21 +17020,21 @@ var g = &grammar{ }, }, &zeroOrOneExpr{ - pos: position{line: 1054, col: 76, offset: 32907}, + pos: position{line: 1052, col: 76, offset: 32770}, expr: &litMatcher{ - pos: position{line: 1054, col: 76, offset: 32907}, + pos: position{line: 1052, col: 76, offset: 32770}, val: ";", ignoreCase: false, want: "\";\"", }, }, &zeroOrMoreExpr{ - pos: position{line: 1054, col: 81, offset: 32912}, + pos: position{line: 1052, col: 81, offset: 32775}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonDocumentHeader216, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -16012,7 +17043,7 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1055, col: 5, offset: 32924}, + pos: position{line: 1053, col: 5, offset: 32787}, run: (*parser).callonDocumentHeader218, }, }, @@ -16024,24 +17055,24 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1049, col: 33, offset: 32722}, + pos: position{line: 1047, col: 33, offset: 32585}, run: (*parser).callonDocumentHeader219, expr: &seqExpr{ - pos: position{line: 1049, col: 33, offset: 32722}, + pos: position{line: 1047, col: 33, offset: 32585}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1049, col: 33, offset: 32722}, + pos: position{line: 1047, col: 33, offset: 32585}, val: ":author:", ignoreCase: false, want: "\":author:\"", }, &zeroOrMoreExpr{ - pos: position{line: 1049, col: 44, offset: 32733}, + pos: position{line: 1047, col: 44, offset: 32596}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonDocumentHeader223, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -16050,35 +17081,35 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1049, col: 51, offset: 32740}, + pos: position{line: 1047, col: 51, offset: 32603}, label: "author", expr: &actionExpr{ - pos: position{line: 1054, col: 5, offset: 32836}, + pos: position{line: 1052, col: 5, offset: 32699}, run: (*parser).callonDocumentHeader226, expr: &seqExpr{ - pos: position{line: 1054, col: 5, offset: 32836}, + pos: position{line: 1052, col: 5, offset: 32699}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1054, col: 5, offset: 32836}, + pos: position{line: 1052, col: 5, offset: 32699}, label: "fullName", expr: &zeroOrOneExpr{ - pos: position{line: 1054, col: 14, offset: 32845}, + pos: position{line: 1052, col: 14, offset: 32708}, expr: &actionExpr{ - pos: position{line: 1065, col: 5, offset: 33225}, + pos: position{line: 1063, col: 5, offset: 33088}, run: (*parser).callonDocumentHeader230, expr: &seqExpr{ - pos: position{line: 1065, col: 5, offset: 33225}, + pos: position{line: 1063, col: 5, offset: 33088}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1065, col: 5, offset: 33225}, + pos: position{line: 1063, col: 5, offset: 33088}, label: "part1", expr: &actionExpr{ - pos: position{line: 1065, col: 12, offset: 33232}, + pos: position{line: 1063, col: 12, offset: 33095}, run: (*parser).callonDocumentHeader233, expr: &oneOrMoreExpr{ - pos: position{line: 1065, col: 12, offset: 33232}, + pos: position{line: 1063, col: 12, offset: 33095}, expr: &charClassMatcher{ - pos: position{line: 1065, col: 12, offset: 33232}, + pos: position{line: 1063, col: 12, offset: 33095}, val: "[^<;\\r\\n ]", chars: []rune{'<', ';', '\r', '\n', ' '}, ignoreCase: false, @@ -16088,12 +17119,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 1068, col: 5, offset: 33312}, + pos: position{line: 1066, col: 5, offset: 33175}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonDocumentHeader237, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -16102,17 +17133,17 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1069, col: 5, offset: 33323}, + pos: position{line: 1067, col: 5, offset: 33186}, label: "part2", expr: &zeroOrOneExpr{ - pos: position{line: 1069, col: 11, offset: 33329}, + pos: position{line: 1067, col: 11, offset: 33192}, expr: &actionExpr{ - pos: position{line: 1069, col: 12, offset: 33330}, + pos: position{line: 1067, col: 12, offset: 33193}, run: (*parser).callonDocumentHeader241, expr: &oneOrMoreExpr{ - pos: position{line: 1069, col: 12, offset: 33330}, + pos: position{line: 1067, col: 12, offset: 33193}, expr: &charClassMatcher{ - pos: position{line: 1069, col: 12, offset: 33330}, + pos: position{line: 1067, col: 12, offset: 33193}, val: "[^<;\\r\\n ]", chars: []rune{'<', ';', '\r', '\n', ' '}, ignoreCase: false, @@ -16123,12 +17154,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 1072, col: 5, offset: 33411}, + pos: position{line: 1070, col: 5, offset: 33274}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonDocumentHeader245, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -16137,17 +17168,17 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1073, col: 5, offset: 33422}, + pos: position{line: 1071, col: 5, offset: 33285}, label: "part3", expr: &zeroOrOneExpr{ - pos: position{line: 1073, col: 11, offset: 33428}, + pos: position{line: 1071, col: 11, offset: 33291}, expr: &actionExpr{ - pos: position{line: 1073, col: 12, offset: 33429}, + pos: position{line: 1071, col: 12, offset: 33292}, run: (*parser).callonDocumentHeader249, expr: &oneOrMoreExpr{ - pos: position{line: 1073, col: 12, offset: 33429}, + pos: position{line: 1071, col: 12, offset: 33292}, expr: &charClassMatcher{ - pos: position{line: 1073, col: 12, offset: 33429}, + pos: position{line: 1071, col: 12, offset: 33292}, val: "[^<;\\r\\n]", chars: []rune{'<', ';', '\r', '\n'}, ignoreCase: false, @@ -16158,12 +17189,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 1076, col: 5, offset: 33508}, + pos: position{line: 1074, col: 5, offset: 33371}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonDocumentHeader253, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -16177,41 +17208,41 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1054, col: 40, offset: 32871}, + pos: position{line: 1052, col: 40, offset: 32734}, label: "email", expr: &zeroOrOneExpr{ - pos: position{line: 1054, col: 46, offset: 32877}, + pos: position{line: 1052, col: 46, offset: 32740}, expr: &actionExpr{ - pos: position{line: 1082, col: 5, offset: 33630}, + pos: position{line: 1080, col: 5, offset: 33493}, run: (*parser).callonDocumentHeader257, expr: &seqExpr{ - pos: position{line: 1082, col: 5, offset: 33630}, + pos: position{line: 1080, col: 5, offset: 33493}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 1082, col: 5, offset: 33630}, + pos: position{line: 1080, col: 5, offset: 33493}, expr: ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, &litMatcher{ - pos: position{line: 1083, col: 5, offset: 33640}, + pos: position{line: 1081, col: 5, offset: 33503}, val: "<", ignoreCase: false, want: "\"<\"", }, &labeledExpr{ - pos: position{line: 1084, col: 5, offset: 33649}, + pos: position{line: 1082, col: 5, offset: 33512}, label: "email", expr: &actionExpr{ - pos: position{line: 1084, col: 12, offset: 33656}, + pos: position{line: 1082, col: 12, offset: 33519}, run: (*parser).callonDocumentHeader264, expr: &oneOrMoreExpr{ - pos: position{line: 1084, col: 13, offset: 33657}, + pos: position{line: 1082, col: 13, offset: 33520}, expr: &charClassMatcher{ - pos: position{line: 1084, col: 13, offset: 33657}, + pos: position{line: 1082, col: 13, offset: 33520}, val: "[^>\\r\\n]", chars: []rune{'>', '\r', '\n'}, ignoreCase: false, @@ -16221,7 +17252,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1087, col: 5, offset: 33717}, + pos: position{line: 1085, col: 5, offset: 33580}, val: ">", ignoreCase: false, want: "\">\"", @@ -16232,12 +17263,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 1054, col: 69, offset: 32900}, + pos: position{line: 1052, col: 69, offset: 32763}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonDocumentHeader269, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -16246,21 +17277,21 @@ var g = &grammar{ }, }, &zeroOrOneExpr{ - pos: position{line: 1054, col: 76, offset: 32907}, + pos: position{line: 1052, col: 76, offset: 32770}, expr: &litMatcher{ - pos: position{line: 1054, col: 76, offset: 32907}, + pos: position{line: 1052, col: 76, offset: 32770}, val: ";", ignoreCase: false, want: "\";\"", }, }, &zeroOrMoreExpr{ - pos: position{line: 1054, col: 81, offset: 32912}, + pos: position{line: 1052, col: 81, offset: 32775}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonDocumentHeader274, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -16269,7 +17300,7 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1055, col: 5, offset: 32924}, + pos: position{line: 1053, col: 5, offset: 32787}, run: (*parser).callonDocumentHeader276, }, }, @@ -16283,28 +17314,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonDocumentHeader278, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -16313,9 +17344,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -16325,41 +17356,41 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 1036, col: 5, offset: 32235}, + pos: position{line: 1034, col: 5, offset: 32098}, expr: &choiceExpr{ - pos: position{line: 1036, col: 6, offset: 32236}, + pos: position{line: 1034, col: 6, offset: 32099}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2616, col: 22, offset: 87547}, + pos: position{line: 2760, col: 22, offset: 90461}, run: (*parser).callonDocumentHeader287, expr: &seqExpr{ - pos: position{line: 2616, col: 22, offset: 87547}, + pos: position{line: 2760, col: 22, offset: 90461}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2621, col: 31, offset: 87768}, + pos: position{line: 2765, col: 31, offset: 90682}, val: "//", ignoreCase: false, want: "\"//\"", }, ¬Expr{ - pos: position{line: 2621, col: 36, offset: 87773}, + pos: position{line: 2765, col: 36, offset: 90687}, expr: &litMatcher{ - pos: position{line: 2621, col: 37, offset: 87774}, + pos: position{line: 2765, col: 37, offset: 90688}, val: "//", ignoreCase: false, want: "\"//\"", }, }, &labeledExpr{ - pos: position{line: 2616, col: 49, offset: 87574}, + pos: position{line: 2760, col: 49, offset: 90488}, label: "content", expr: &actionExpr{ - pos: position{line: 2623, col: 29, offset: 87809}, + pos: position{line: 2767, col: 29, offset: 90723}, run: (*parser).callonDocumentHeader293, expr: &zeroOrMoreExpr{ - pos: position{line: 2623, col: 29, offset: 87809}, + pos: position{line: 2767, col: 29, offset: 90723}, expr: &charClassMatcher{ - pos: position{line: 2623, col: 29, offset: 87809}, + pos: position{line: 2767, col: 29, offset: 90723}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -16369,28 +17400,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonDocumentHeader297, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -16399,9 +17430,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -16410,30 +17441,30 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 798, col: 5, offset: 25649}, + pos: position{line: 796, col: 5, offset: 25512}, run: (*parser).callonDocumentHeader304, expr: &seqExpr{ - pos: position{line: 798, col: 5, offset: 25649}, + pos: position{line: 796, col: 5, offset: 25512}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 746, col: 26, offset: 24217}, + pos: position{line: 744, col: 26, offset: 24080}, run: (*parser).callonDocumentHeader306, expr: &seqExpr{ - pos: position{line: 746, col: 26, offset: 24217}, + pos: position{line: 744, col: 26, offset: 24080}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 746, col: 26, offset: 24217}, + pos: position{line: 744, col: 26, offset: 24080}, val: "////", ignoreCase: false, want: "\"////\"", }, &zeroOrMoreExpr{ - pos: position{line: 746, col: 33, offset: 24224}, + pos: position{line: 744, col: 33, offset: 24087}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonDocumentHeader310, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -16442,28 +17473,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonDocumentHeader313, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -16472,9 +17503,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -16483,40 +17514,40 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 799, col: 5, offset: 25680}, + pos: position{line: 797, col: 5, offset: 25543}, label: "content", expr: &zeroOrMoreExpr{ - pos: position{line: 810, col: 5, offset: 26004}, + pos: position{line: 808, col: 5, offset: 25867}, expr: &actionExpr{ - pos: position{line: 810, col: 6, offset: 26005}, + pos: position{line: 808, col: 6, offset: 25868}, run: (*parser).callonDocumentHeader322, expr: &seqExpr{ - pos: position{line: 810, col: 6, offset: 26005}, + pos: position{line: 808, col: 6, offset: 25868}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 810, col: 6, offset: 26005}, + pos: position{line: 808, col: 6, offset: 25868}, expr: &choiceExpr{ - pos: position{line: 807, col: 29, offset: 25947}, + pos: position{line: 805, col: 29, offset: 25810}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 746, col: 26, offset: 24217}, + pos: position{line: 744, col: 26, offset: 24080}, run: (*parser).callonDocumentHeader326, expr: &seqExpr{ - pos: position{line: 746, col: 26, offset: 24217}, + pos: position{line: 744, col: 26, offset: 24080}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 746, col: 26, offset: 24217}, + pos: position{line: 744, col: 26, offset: 24080}, val: "////", ignoreCase: false, want: "\"////\"", }, &zeroOrMoreExpr{ - pos: position{line: 746, col: 33, offset: 24224}, + pos: position{line: 744, col: 33, offset: 24087}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonDocumentHeader330, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -16525,28 +17556,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonDocumentHeader333, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -16555,9 +17586,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -16566,42 +17597,42 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, }, }, &labeledExpr{ - pos: position{line: 811, col: 5, offset: 26035}, + pos: position{line: 809, col: 5, offset: 25898}, label: "line", expr: &actionExpr{ - pos: position{line: 787, col: 5, offset: 25344}, + pos: position{line: 785, col: 5, offset: 25207}, run: (*parser).callonDocumentHeader343, expr: &seqExpr{ - pos: position{line: 787, col: 5, offset: 25344}, + pos: position{line: 785, col: 5, offset: 25207}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 787, col: 5, offset: 25344}, + pos: position{line: 785, col: 5, offset: 25207}, expr: ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, &labeledExpr{ - pos: position{line: 788, col: 5, offset: 25417}, + pos: position{line: 786, col: 5, offset: 25280}, label: "content", expr: &actionExpr{ - pos: position{line: 788, col: 14, offset: 25426}, + pos: position{line: 786, col: 14, offset: 25289}, run: (*parser).callonDocumentHeader349, expr: &zeroOrMoreExpr{ - pos: position{line: 788, col: 14, offset: 25426}, + pos: position{line: 786, col: 14, offset: 25289}, expr: &charClassMatcher{ - pos: position{line: 788, col: 14, offset: 25426}, + pos: position{line: 786, col: 14, offset: 25289}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -16611,28 +17642,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonDocumentHeader353, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -16641,9 +17672,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -16658,29 +17689,29 @@ var g = &grammar{ }, }, &zeroOrOneExpr{ - pos: position{line: 800, col: 5, offset: 25714}, + pos: position{line: 798, col: 5, offset: 25577}, expr: &choiceExpr{ - pos: position{line: 807, col: 29, offset: 25947}, + pos: position{line: 805, col: 29, offset: 25810}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 746, col: 26, offset: 24217}, + pos: position{line: 744, col: 26, offset: 24080}, run: (*parser).callonDocumentHeader362, expr: &seqExpr{ - pos: position{line: 746, col: 26, offset: 24217}, + pos: position{line: 744, col: 26, offset: 24080}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 746, col: 26, offset: 24217}, + pos: position{line: 744, col: 26, offset: 24080}, val: "////", ignoreCase: false, want: "\"////\"", }, &zeroOrMoreExpr{ - pos: position{line: 746, col: 33, offset: 24224}, + pos: position{line: 744, col: 33, offset: 24087}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonDocumentHeader366, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -16689,28 +17720,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonDocumentHeader369, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -16719,9 +17750,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -16730,9 +17761,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -16745,23 +17776,23 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1037, col: 5, offset: 32310}, + pos: position{line: 1035, col: 5, offset: 32173}, label: "revision", expr: &zeroOrOneExpr{ - pos: position{line: 1037, col: 14, offset: 32319}, + pos: position{line: 1035, col: 14, offset: 32182}, expr: &actionExpr{ - pos: position{line: 1093, col: 21, offset: 33906}, + pos: position{line: 1091, col: 21, offset: 33769}, run: (*parser).callonDocumentHeader380, expr: &seqExpr{ - pos: position{line: 1093, col: 21, offset: 33906}, + pos: position{line: 1091, col: 21, offset: 33769}, exprs: []interface{}{ &zeroOrMoreExpr{ - pos: position{line: 1093, col: 21, offset: 33906}, + pos: position{line: 1091, col: 21, offset: 33769}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonDocumentHeader383, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -16770,55 +17801,55 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 1093, col: 28, offset: 33913}, + pos: position{line: 1091, col: 28, offset: 33776}, expr: &litMatcher{ - pos: position{line: 1093, col: 29, offset: 33914}, + pos: position{line: 1091, col: 29, offset: 33777}, val: ":", ignoreCase: false, want: "\":\"", }, }, &labeledExpr{ - pos: position{line: 1093, col: 33, offset: 33918}, + pos: position{line: 1091, col: 33, offset: 33781}, label: "revision", expr: &choiceExpr{ - pos: position{line: 1094, col: 9, offset: 33937}, + pos: position{line: 1092, col: 9, offset: 33800}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1094, col: 10, offset: 33938}, + pos: position{line: 1092, col: 10, offset: 33801}, run: (*parser).callonDocumentHeader389, expr: &seqExpr{ - pos: position{line: 1094, col: 10, offset: 33938}, + pos: position{line: 1092, col: 10, offset: 33801}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1094, col: 10, offset: 33938}, + pos: position{line: 1092, col: 10, offset: 33801}, label: "revnumber", expr: &choiceExpr{ - pos: position{line: 1103, col: 27, offset: 34455}, + pos: position{line: 1101, col: 27, offset: 34318}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1103, col: 27, offset: 34455}, + pos: position{line: 1101, col: 27, offset: 34318}, run: (*parser).callonDocumentHeader393, expr: &seqExpr{ - pos: position{line: 1103, col: 27, offset: 34455}, + pos: position{line: 1101, col: 27, offset: 34318}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1103, col: 27, offset: 34455}, + pos: position{line: 1101, col: 27, offset: 34318}, val: "v", ignoreCase: true, want: "\"v\"i", }, &charClassMatcher{ - pos: position{line: 1103, col: 32, offset: 34460}, + pos: position{line: 1101, col: 32, offset: 34323}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, inverted: false, }, &oneOrMoreExpr{ - pos: position{line: 1103, col: 38, offset: 34466}, + pos: position{line: 1101, col: 38, offset: 34329}, expr: &charClassMatcher{ - pos: position{line: 1103, col: 38, offset: 34466}, + pos: position{line: 1101, col: 38, offset: 34329}, val: "[^:,\\r\\n]", chars: []rune{':', ',', '\r', '\n'}, ignoreCase: false, @@ -16829,31 +17860,31 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1105, col: 5, offset: 34514}, + pos: position{line: 1103, col: 5, offset: 34377}, run: (*parser).callonDocumentHeader399, expr: &seqExpr{ - pos: position{line: 1105, col: 5, offset: 34514}, + pos: position{line: 1103, col: 5, offset: 34377}, exprs: []interface{}{ &zeroOrOneExpr{ - pos: position{line: 1105, col: 5, offset: 34514}, + pos: position{line: 1103, col: 5, offset: 34377}, expr: &litMatcher{ - pos: position{line: 1105, col: 5, offset: 34514}, + pos: position{line: 1103, col: 5, offset: 34377}, val: "v", ignoreCase: true, want: "\"v\"i", }, }, &charClassMatcher{ - pos: position{line: 1105, col: 11, offset: 34520}, + pos: position{line: 1103, col: 11, offset: 34383}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, inverted: false, }, &oneOrMoreExpr{ - pos: position{line: 1105, col: 17, offset: 34526}, + pos: position{line: 1103, col: 17, offset: 34389}, expr: &charClassMatcher{ - pos: position{line: 1105, col: 17, offset: 34526}, + pos: position{line: 1103, col: 17, offset: 34389}, val: "[^:,\\r\\n]", chars: []rune{':', ',', '\r', '\n'}, ignoreCase: false, @@ -16861,12 +17892,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 1105, col: 28, offset: 34537}, + pos: position{line: 1103, col: 28, offset: 34400}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonDocumentHeader407, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -16875,9 +17906,9 @@ var g = &grammar{ }, }, &andExpr{ - pos: position{line: 1105, col: 35, offset: 34544}, + pos: position{line: 1103, col: 35, offset: 34407}, expr: &litMatcher{ - pos: position{line: 1105, col: 36, offset: 34545}, + pos: position{line: 1103, col: 36, offset: 34408}, val: ",", ignoreCase: false, want: "\",\"", @@ -16890,26 +17921,26 @@ var g = &grammar{ }, }, &zeroOrOneExpr{ - pos: position{line: 1094, col: 45, offset: 33973}, + pos: position{line: 1092, col: 45, offset: 33836}, expr: &litMatcher{ - pos: position{line: 1094, col: 45, offset: 33973}, + pos: position{line: 1092, col: 45, offset: 33836}, val: ",", ignoreCase: false, want: "\",\"", }, }, &labeledExpr{ - pos: position{line: 1094, col: 50, offset: 33978}, + pos: position{line: 1092, col: 50, offset: 33841}, label: "revdate", expr: &zeroOrOneExpr{ - pos: position{line: 1094, col: 58, offset: 33986}, + pos: position{line: 1092, col: 58, offset: 33849}, expr: &actionExpr{ - pos: position{line: 1109, col: 25, offset: 34609}, + pos: position{line: 1107, col: 25, offset: 34472}, run: (*parser).callonDocumentHeader415, expr: &oneOrMoreExpr{ - pos: position{line: 1109, col: 25, offset: 34609}, + pos: position{line: 1107, col: 25, offset: 34472}, expr: &charClassMatcher{ - pos: position{line: 1109, col: 25, offset: 34609}, + pos: position{line: 1107, col: 25, offset: 34472}, val: "[^:\\r\\n]", chars: []rune{':', '\r', '\n'}, ignoreCase: false, @@ -16920,26 +17951,26 @@ var g = &grammar{ }, }, &zeroOrOneExpr{ - pos: position{line: 1094, col: 82, offset: 34010}, + pos: position{line: 1092, col: 82, offset: 33873}, expr: &litMatcher{ - pos: position{line: 1094, col: 82, offset: 34010}, + pos: position{line: 1092, col: 82, offset: 33873}, val: ":", ignoreCase: false, want: "\":\"", }, }, &labeledExpr{ - pos: position{line: 1094, col: 87, offset: 34015}, + pos: position{line: 1092, col: 87, offset: 33878}, label: "revremark", expr: &zeroOrOneExpr{ - pos: position{line: 1094, col: 97, offset: 34025}, + pos: position{line: 1092, col: 97, offset: 33888}, expr: &actionExpr{ - pos: position{line: 1113, col: 27, offset: 34681}, + pos: position{line: 1111, col: 27, offset: 34544}, run: (*parser).callonDocumentHeader422, expr: &oneOrMoreExpr{ - pos: position{line: 1113, col: 27, offset: 34681}, + pos: position{line: 1111, col: 27, offset: 34544}, expr: &charClassMatcher{ - pos: position{line: 1113, col: 27, offset: 34681}, + pos: position{line: 1111, col: 27, offset: 34544}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -16953,21 +17984,21 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1096, col: 15, offset: 34143}, + pos: position{line: 1094, col: 15, offset: 34006}, run: (*parser).callonDocumentHeader425, expr: &seqExpr{ - pos: position{line: 1096, col: 15, offset: 34143}, + pos: position{line: 1094, col: 15, offset: 34006}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1096, col: 15, offset: 34143}, + pos: position{line: 1094, col: 15, offset: 34006}, label: "revdate", expr: &actionExpr{ - pos: position{line: 1109, col: 25, offset: 34609}, + pos: position{line: 1107, col: 25, offset: 34472}, run: (*parser).callonDocumentHeader428, expr: &oneOrMoreExpr{ - pos: position{line: 1109, col: 25, offset: 34609}, + pos: position{line: 1107, col: 25, offset: 34472}, expr: &charClassMatcher{ - pos: position{line: 1109, col: 25, offset: 34609}, + pos: position{line: 1107, col: 25, offset: 34472}, val: "[^:\\r\\n]", chars: []rune{':', '\r', '\n'}, ignoreCase: false, @@ -16977,26 +18008,26 @@ var g = &grammar{ }, }, &zeroOrOneExpr{ - pos: position{line: 1096, col: 46, offset: 34174}, + pos: position{line: 1094, col: 46, offset: 34037}, expr: &litMatcher{ - pos: position{line: 1096, col: 46, offset: 34174}, + pos: position{line: 1094, col: 46, offset: 34037}, val: ":", ignoreCase: false, want: "\":\"", }, }, &labeledExpr{ - pos: position{line: 1096, col: 51, offset: 34179}, + pos: position{line: 1094, col: 51, offset: 34042}, label: "revremark", expr: &zeroOrOneExpr{ - pos: position{line: 1096, col: 61, offset: 34189}, + pos: position{line: 1094, col: 61, offset: 34052}, expr: &actionExpr{ - pos: position{line: 1113, col: 27, offset: 34681}, + pos: position{line: 1111, col: 27, offset: 34544}, run: (*parser).callonDocumentHeader435, expr: &oneOrMoreExpr{ - pos: position{line: 1113, col: 27, offset: 34681}, + pos: position{line: 1111, col: 27, offset: 34544}, expr: &charClassMatcher{ - pos: position{line: 1113, col: 27, offset: 34681}, + pos: position{line: 1111, col: 27, offset: 34544}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -17013,28 +18044,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonDocumentHeader439, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -17043,9 +18074,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -17061,40 +18092,40 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1022, col: 5, offset: 31720}, + pos: position{line: 1020, col: 5, offset: 31583}, label: "extraAttrs", expr: &zeroOrMoreExpr{ - pos: position{line: 1022, col: 16, offset: 31731}, + pos: position{line: 1020, col: 16, offset: 31594}, expr: &choiceExpr{ - pos: position{line: 1022, col: 17, offset: 31732}, + pos: position{line: 1020, col: 17, offset: 31595}, alternatives: []interface{}{ &ruleRefExpr{ - pos: position{line: 1022, col: 17, offset: 31732}, + pos: position{line: 1020, col: 17, offset: 31595}, name: "AttributeDeclaration", }, &actionExpr{ - pos: position{line: 372, col: 19, offset: 11492}, + pos: position{line: 364, col: 19, offset: 11153}, run: (*parser).callonDocumentHeader450, expr: &seqExpr{ - pos: position{line: 372, col: 19, offset: 11492}, + pos: position{line: 364, col: 19, offset: 11153}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 372, col: 19, offset: 11492}, + pos: position{line: 364, col: 19, offset: 11153}, val: ":!", ignoreCase: false, want: "\":!\"", }, &labeledExpr{ - pos: position{line: 372, col: 24, offset: 11497}, + pos: position{line: 364, col: 24, offset: 11158}, label: "name", expr: &actionExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, run: (*parser).callonDocumentHeader454, expr: &seqExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -17103,9 +18134,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 332, col: 28, offset: 10403}, + pos: position{line: 324, col: 28, offset: 10064}, expr: &charClassMatcher{ - pos: position{line: 332, col: 29, offset: 10404}, + pos: position{line: 324, col: 29, offset: 10065}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -17119,18 +18150,18 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 372, col: 45, offset: 11518}, + pos: position{line: 364, col: 45, offset: 11179}, val: ":", ignoreCase: false, want: "\":\"", }, &zeroOrMoreExpr{ - pos: position{line: 372, col: 49, offset: 11522}, + pos: position{line: 364, col: 49, offset: 11183}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonDocumentHeader461, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -17139,28 +18170,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonDocumentHeader464, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -17169,9 +18200,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -17180,28 +18211,28 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 374, col: 5, offset: 11605}, + pos: position{line: 366, col: 5, offset: 11266}, run: (*parser).callonDocumentHeader471, expr: &seqExpr{ - pos: position{line: 374, col: 5, offset: 11605}, + pos: position{line: 366, col: 5, offset: 11266}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 374, col: 5, offset: 11605}, + pos: position{line: 366, col: 5, offset: 11266}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 374, col: 9, offset: 11609}, + pos: position{line: 366, col: 9, offset: 11270}, label: "name", expr: &actionExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, run: (*parser).callonDocumentHeader475, expr: &seqExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -17210,9 +18241,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 332, col: 28, offset: 10403}, + pos: position{line: 324, col: 28, offset: 10064}, expr: &charClassMatcher{ - pos: position{line: 332, col: 29, offset: 10404}, + pos: position{line: 324, col: 29, offset: 10065}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -17226,18 +18257,18 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 374, col: 30, offset: 11630}, + pos: position{line: 366, col: 30, offset: 11291}, val: "!:", ignoreCase: false, want: "\"!:\"", }, &zeroOrMoreExpr{ - pos: position{line: 374, col: 35, offset: 11635}, + pos: position{line: 366, col: 35, offset: 11296}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonDocumentHeader482, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -17246,28 +18277,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonDocumentHeader485, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -17276,9 +18307,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -17287,36 +18318,36 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2616, col: 22, offset: 87547}, + pos: position{line: 2760, col: 22, offset: 90461}, run: (*parser).callonDocumentHeader492, expr: &seqExpr{ - pos: position{line: 2616, col: 22, offset: 87547}, + pos: position{line: 2760, col: 22, offset: 90461}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2621, col: 31, offset: 87768}, + pos: position{line: 2765, col: 31, offset: 90682}, val: "//", ignoreCase: false, want: "\"//\"", }, ¬Expr{ - pos: position{line: 2621, col: 36, offset: 87773}, + pos: position{line: 2765, col: 36, offset: 90687}, expr: &litMatcher{ - pos: position{line: 2621, col: 37, offset: 87774}, + pos: position{line: 2765, col: 37, offset: 90688}, val: "//", ignoreCase: false, want: "\"//\"", }, }, &labeledExpr{ - pos: position{line: 2616, col: 49, offset: 87574}, + pos: position{line: 2760, col: 49, offset: 90488}, label: "content", expr: &actionExpr{ - pos: position{line: 2623, col: 29, offset: 87809}, + pos: position{line: 2767, col: 29, offset: 90723}, run: (*parser).callonDocumentHeader498, expr: &zeroOrMoreExpr{ - pos: position{line: 2623, col: 29, offset: 87809}, + pos: position{line: 2767, col: 29, offset: 90723}, expr: &charClassMatcher{ - pos: position{line: 2623, col: 29, offset: 87809}, + pos: position{line: 2767, col: 29, offset: 90723}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -17326,28 +18357,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonDocumentHeader502, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -17356,9 +18387,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -17367,30 +18398,30 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 798, col: 5, offset: 25649}, + pos: position{line: 796, col: 5, offset: 25512}, run: (*parser).callonDocumentHeader509, expr: &seqExpr{ - pos: position{line: 798, col: 5, offset: 25649}, + pos: position{line: 796, col: 5, offset: 25512}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 746, col: 26, offset: 24217}, + pos: position{line: 744, col: 26, offset: 24080}, run: (*parser).callonDocumentHeader511, expr: &seqExpr{ - pos: position{line: 746, col: 26, offset: 24217}, + pos: position{line: 744, col: 26, offset: 24080}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 746, col: 26, offset: 24217}, + pos: position{line: 744, col: 26, offset: 24080}, val: "////", ignoreCase: false, want: "\"////\"", }, &zeroOrMoreExpr{ - pos: position{line: 746, col: 33, offset: 24224}, + pos: position{line: 744, col: 33, offset: 24087}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonDocumentHeader515, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -17399,28 +18430,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonDocumentHeader518, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -17429,9 +18460,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -17440,40 +18471,40 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 799, col: 5, offset: 25680}, + pos: position{line: 797, col: 5, offset: 25543}, label: "content", expr: &zeroOrMoreExpr{ - pos: position{line: 810, col: 5, offset: 26004}, + pos: position{line: 808, col: 5, offset: 25867}, expr: &actionExpr{ - pos: position{line: 810, col: 6, offset: 26005}, + pos: position{line: 808, col: 6, offset: 25868}, run: (*parser).callonDocumentHeader527, expr: &seqExpr{ - pos: position{line: 810, col: 6, offset: 26005}, + pos: position{line: 808, col: 6, offset: 25868}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 810, col: 6, offset: 26005}, + pos: position{line: 808, col: 6, offset: 25868}, expr: &choiceExpr{ - pos: position{line: 807, col: 29, offset: 25947}, + pos: position{line: 805, col: 29, offset: 25810}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 746, col: 26, offset: 24217}, + pos: position{line: 744, col: 26, offset: 24080}, run: (*parser).callonDocumentHeader531, expr: &seqExpr{ - pos: position{line: 746, col: 26, offset: 24217}, + pos: position{line: 744, col: 26, offset: 24080}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 746, col: 26, offset: 24217}, + pos: position{line: 744, col: 26, offset: 24080}, val: "////", ignoreCase: false, want: "\"////\"", }, &zeroOrMoreExpr{ - pos: position{line: 746, col: 33, offset: 24224}, + pos: position{line: 744, col: 33, offset: 24087}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonDocumentHeader535, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -17482,28 +18513,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonDocumentHeader538, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -17512,9 +18543,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -17523,42 +18554,42 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, }, }, &labeledExpr{ - pos: position{line: 811, col: 5, offset: 26035}, + pos: position{line: 809, col: 5, offset: 25898}, label: "line", expr: &actionExpr{ - pos: position{line: 787, col: 5, offset: 25344}, + pos: position{line: 785, col: 5, offset: 25207}, run: (*parser).callonDocumentHeader548, expr: &seqExpr{ - pos: position{line: 787, col: 5, offset: 25344}, + pos: position{line: 785, col: 5, offset: 25207}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 787, col: 5, offset: 25344}, + pos: position{line: 785, col: 5, offset: 25207}, expr: ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, &labeledExpr{ - pos: position{line: 788, col: 5, offset: 25417}, + pos: position{line: 786, col: 5, offset: 25280}, label: "content", expr: &actionExpr{ - pos: position{line: 788, col: 14, offset: 25426}, + pos: position{line: 786, col: 14, offset: 25289}, run: (*parser).callonDocumentHeader554, expr: &zeroOrMoreExpr{ - pos: position{line: 788, col: 14, offset: 25426}, + pos: position{line: 786, col: 14, offset: 25289}, expr: &charClassMatcher{ - pos: position{line: 788, col: 14, offset: 25426}, + pos: position{line: 786, col: 14, offset: 25289}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -17568,28 +18599,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonDocumentHeader558, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -17598,9 +18629,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -17615,29 +18646,29 @@ var g = &grammar{ }, }, &zeroOrOneExpr{ - pos: position{line: 800, col: 5, offset: 25714}, + pos: position{line: 798, col: 5, offset: 25577}, expr: &choiceExpr{ - pos: position{line: 807, col: 29, offset: 25947}, + pos: position{line: 805, col: 29, offset: 25810}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 746, col: 26, offset: 24217}, + pos: position{line: 744, col: 26, offset: 24080}, run: (*parser).callonDocumentHeader567, expr: &seqExpr{ - pos: position{line: 746, col: 26, offset: 24217}, + pos: position{line: 744, col: 26, offset: 24080}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 746, col: 26, offset: 24217}, + pos: position{line: 744, col: 26, offset: 24080}, val: "////", ignoreCase: false, want: "\"////\"", }, &zeroOrMoreExpr{ - pos: position{line: 746, col: 33, offset: 24224}, + pos: position{line: 744, col: 33, offset: 24087}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonDocumentHeader571, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -17646,28 +18677,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonDocumentHeader574, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -17676,9 +18707,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -17687,9 +18718,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -17708,26 +18739,26 @@ var g = &grammar{ }, { name: "InlineElement", - pos: position{line: 1180, col: 1, offset: 36851}, + pos: position{line: 1178, col: 1, offset: 36714}, expr: &actionExpr{ - pos: position{line: 1181, col: 5, offset: 36874}, + pos: position{line: 1179, col: 5, offset: 36737}, run: (*parser).callonInlineElement1, expr: &labeledExpr{ - pos: position{line: 1181, col: 5, offset: 36874}, + pos: position{line: 1179, col: 5, offset: 36737}, label: "element", expr: &choiceExpr{ - pos: position{line: 1182, col: 9, offset: 36892}, + pos: position{line: 1180, col: 9, offset: 36755}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2832, col: 5, offset: 94176}, + pos: position{line: 2991, col: 5, offset: 97600}, run: (*parser).callonInlineElement4, expr: &seqExpr{ - pos: position{line: 2832, col: 5, offset: 94176}, + pos: position{line: 2991, col: 5, offset: 97600}, exprs: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 2832, col: 5, offset: 94176}, + pos: position{line: 2991, col: 5, offset: 97600}, expr: &charClassMatcher{ - pos: position{line: 2832, col: 5, offset: 94176}, + pos: position{line: 2991, col: 5, offset: 97600}, val: "[,;!?0-9\\pL]", chars: []rune{',', ';', '!', '?'}, ranges: []rune{'0', '9'}, @@ -17737,13 +18768,13 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2833, col: 6, offset: 94226}, + pos: position{line: 2992, col: 6, offset: 97650}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonInlineElement9, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -17751,37 +18782,37 @@ var g = &grammar{ }, }, &andExpr{ - pos: position{line: 2833, col: 14, offset: 94234}, + pos: position{line: 2992, col: 14, offset: 97658}, expr: &choiceExpr{ - pos: position{line: 2833, col: 16, offset: 94236}, + pos: position{line: 2992, col: 16, offset: 97660}, alternatives: []interface{}{ &charClassMatcher{ - pos: position{line: 2833, col: 16, offset: 94236}, + pos: position{line: 2992, col: 16, offset: 97660}, val: "[.�]", chars: []rune{'.', '�'}, ignoreCase: false, inverted: false, }, &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonInlineElement14, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -17790,9 +18821,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -17804,12 +18835,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2903, col: 11, offset: 96254}, + pos: position{line: 3062, col: 11, offset: 99678}, run: (*parser).callonInlineElement21, expr: &oneOrMoreExpr{ - pos: position{line: 2903, col: 11, offset: 96254}, + pos: position{line: 3062, col: 11, offset: 99678}, expr: &charClassMatcher{ - pos: position{line: 2903, col: 12, offset: 96255}, + pos: position{line: 3062, col: 12, offset: 99679}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -17818,28 +18849,28 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1130, col: 5, offset: 35437}, + pos: position{line: 1128, col: 5, offset: 35300}, run: (*parser).callonInlineElement24, expr: &seqExpr{ - pos: position{line: 1130, col: 5, offset: 35437}, + pos: position{line: 1128, col: 5, offset: 35300}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 1130, col: 5, offset: 35437}, + pos: position{line: 1128, col: 5, offset: 35300}, run: (*parser).callonInlineElement26, }, &litMatcher{ - pos: position{line: 1133, col: 5, offset: 35539}, + pos: position{line: 1131, col: 5, offset: 35402}, val: "+", ignoreCase: false, want: "\"+\"", }, &zeroOrMoreExpr{ - pos: position{line: 1133, col: 9, offset: 35543}, + pos: position{line: 1131, col: 9, offset: 35406}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonInlineElement29, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -17848,30 +18879,30 @@ var g = &grammar{ }, }, &andExpr{ - pos: position{line: 1133, col: 16, offset: 35550}, + pos: position{line: 1131, col: 16, offset: 35413}, expr: &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonInlineElement33, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -17880,9 +18911,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -17892,33 +18923,33 @@ var g = &grammar{ }, }, &seqExpr{ - pos: position{line: 1185, col: 11, offset: 36991}, + pos: position{line: 1183, col: 11, offset: 36854}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 1185, col: 11, offset: 36991}, + pos: position{line: 1183, col: 11, offset: 36854}, expr: &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonInlineElement43, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -17927,60 +18958,60 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, }, }, &choiceExpr{ - pos: position{line: 1186, col: 13, offset: 37010}, + pos: position{line: 1184, col: 13, offset: 36897}, alternatives: []interface{}{ &ruleRefExpr{ - pos: position{line: 1186, col: 13, offset: 37010}, + pos: position{line: 1184, col: 13, offset: 36897}, name: "Quote", }, &actionExpr{ - pos: position{line: 651, col: 5, offset: 21000}, + pos: position{line: 641, col: 5, offset: 20579}, run: (*parser).callonInlineElement52, expr: &seqExpr{ - pos: position{line: 651, col: 5, offset: 21000}, + pos: position{line: 641, col: 5, offset: 20579}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 651, col: 5, offset: 21000}, + pos: position{line: 641, col: 5, offset: 20579}, run: (*parser).callonInlineElement54, }, &labeledExpr{ - pos: position{line: 654, col: 5, offset: 21069}, + pos: position{line: 644, col: 5, offset: 20648}, label: "element", expr: &choiceExpr{ - pos: position{line: 654, col: 14, offset: 21078}, + pos: position{line: 644, col: 14, offset: 20657}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 666, col: 25, offset: 21447}, + pos: position{line: 664, col: 25, offset: 21310}, run: (*parser).callonInlineElement57, expr: &seqExpr{ - pos: position{line: 666, col: 25, offset: 21447}, + pos: position{line: 664, col: 25, offset: 21310}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 666, col: 25, offset: 21447}, + pos: position{line: 664, col: 25, offset: 21310}, val: "{counter:", ignoreCase: false, want: "\"{counter:\"", }, &labeledExpr{ - pos: position{line: 666, col: 37, offset: 21459}, + pos: position{line: 664, col: 37, offset: 21322}, label: "name", expr: &actionExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, run: (*parser).callonInlineElement61, expr: &seqExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -17989,9 +19020,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 332, col: 28, offset: 10403}, + pos: position{line: 324, col: 28, offset: 10064}, expr: &charClassMatcher{ - pos: position{line: 332, col: 29, offset: 10404}, + pos: position{line: 324, col: 29, offset: 10065}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -18005,33 +19036,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 666, col: 56, offset: 21478}, + pos: position{line: 664, col: 56, offset: 21341}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 666, col: 62, offset: 21484}, + pos: position{line: 664, col: 62, offset: 21347}, expr: &actionExpr{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, run: (*parser).callonInlineElement68, expr: &seqExpr{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 674, col: 21, offset: 21783}, + pos: position{line: 672, col: 21, offset: 21646}, label: "start", expr: &choiceExpr{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, run: (*parser).callonInlineElement73, expr: &charClassMatcher{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -18039,12 +19070,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, run: (*parser).callonInlineElement75, expr: &oneOrMoreExpr{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, expr: &charClassMatcher{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -18061,7 +19092,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 666, col: 78, offset: 21500}, + pos: position{line: 664, col: 78, offset: 21363}, val: "}", ignoreCase: false, want: "\"}\"", @@ -18070,28 +19101,28 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 670, col: 25, offset: 21618}, + pos: position{line: 668, col: 25, offset: 21481}, run: (*parser).callonInlineElement79, expr: &seqExpr{ - pos: position{line: 670, col: 25, offset: 21618}, + pos: position{line: 668, col: 25, offset: 21481}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 670, col: 25, offset: 21618}, + pos: position{line: 668, col: 25, offset: 21481}, val: "{counter2:", ignoreCase: false, want: "\"{counter2:\"", }, &labeledExpr{ - pos: position{line: 670, col: 38, offset: 21631}, + pos: position{line: 668, col: 38, offset: 21494}, label: "name", expr: &actionExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, run: (*parser).callonInlineElement83, expr: &seqExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -18100,9 +19131,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 332, col: 28, offset: 10403}, + pos: position{line: 324, col: 28, offset: 10064}, expr: &charClassMatcher{ - pos: position{line: 332, col: 29, offset: 10404}, + pos: position{line: 324, col: 29, offset: 10065}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -18116,33 +19147,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 670, col: 57, offset: 21650}, + pos: position{line: 668, col: 57, offset: 21513}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 670, col: 63, offset: 21656}, + pos: position{line: 668, col: 63, offset: 21519}, expr: &actionExpr{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, run: (*parser).callonInlineElement90, expr: &seqExpr{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 674, col: 21, offset: 21783}, + pos: position{line: 672, col: 21, offset: 21646}, label: "start", expr: &choiceExpr{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, run: (*parser).callonInlineElement95, expr: &charClassMatcher{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -18150,12 +19181,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, run: (*parser).callonInlineElement97, expr: &oneOrMoreExpr{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, expr: &charClassMatcher{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -18172,7 +19203,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 670, col: 79, offset: 21672}, + pos: position{line: 668, col: 79, offset: 21535}, val: "}", ignoreCase: false, want: "\"}\"", @@ -18181,28 +19212,83 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 659, col: 5, offset: 21191}, + pos: position{line: 650, col: 5, offset: 20786}, run: (*parser).callonInlineElement101, expr: &seqExpr{ - pos: position{line: 659, col: 5, offset: 21191}, + pos: position{line: 650, col: 5, offset: 20786}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 650, col: 5, offset: 20786}, + val: "\\{", + ignoreCase: false, + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 650, col: 13, offset: 20794}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + run: (*parser).callonInlineElement105, + expr: &seqExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 324, col: 18, offset: 10054}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 324, col: 28, offset: 10064}, + expr: &charClassMatcher{ + pos: position{line: 324, col: 29, offset: 10065}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 650, col: 32, offset: 20813}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 657, col: 5, offset: 21054}, + run: (*parser).callonInlineElement111, + expr: &seqExpr{ + pos: position{line: 657, col: 5, offset: 21054}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 659, col: 5, offset: 21191}, + pos: position{line: 657, col: 5, offset: 21054}, val: "{", ignoreCase: false, want: "\"{\"", }, &labeledExpr{ - pos: position{line: 659, col: 9, offset: 21195}, + pos: position{line: 657, col: 9, offset: 21058}, label: "name", expr: &actionExpr{ - pos: position{line: 332, col: 18, offset: 10393}, - run: (*parser).callonInlineElement105, + pos: position{line: 324, col: 18, offset: 10054}, + run: (*parser).callonInlineElement115, expr: &seqExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -18211,9 +19297,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 332, col: 28, offset: 10403}, + pos: position{line: 324, col: 28, offset: 10064}, expr: &charClassMatcher{ - pos: position{line: 332, col: 29, offset: 10404}, + pos: position{line: 324, col: 29, offset: 10065}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -18227,7 +19313,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 659, col: 28, offset: 21214}, + pos: position{line: 657, col: 28, offset: 21077}, val: "}", ignoreCase: false, want: "\"}\"", @@ -18242,53 +19328,53 @@ var g = &grammar{ }, }, &ruleRefExpr{ - pos: position{line: 1188, col: 15, offset: 37064}, + pos: position{line: 1186, col: 15, offset: 36951}, name: "InlineMacro", }, &actionExpr{ - pos: position{line: 2599, col: 5, offset: 86909}, - run: (*parser).callonInlineElement112, + pos: position{line: 2743, col: 5, offset: 89823}, + run: (*parser).callonInlineElement122, expr: &seqExpr{ - pos: position{line: 2599, col: 5, offset: 86909}, + pos: position{line: 2743, col: 5, offset: 89823}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 2599, col: 5, offset: 86909}, - run: (*parser).callonInlineElement114, + pos: position{line: 2743, col: 5, offset: 89823}, + run: (*parser).callonInlineElement124, }, &labeledExpr{ - pos: position{line: 2602, col: 5, offset: 86985}, + pos: position{line: 2746, col: 5, offset: 89899}, label: "element", expr: &choiceExpr{ - pos: position{line: 2604, col: 9, offset: 87083}, + pos: position{line: 2748, col: 9, offset: 89997}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2604, col: 9, offset: 87083}, - run: (*parser).callonInlineElement117, + pos: position{line: 2748, col: 9, offset: 89997}, + run: (*parser).callonInlineElement127, expr: &choiceExpr{ - pos: position{line: 694, col: 27, offset: 22498}, + pos: position{line: 692, col: 27, offset: 22361}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 694, col: 27, offset: 22498}, - run: (*parser).callonInlineElement119, + pos: position{line: 692, col: 27, offset: 22361}, + run: (*parser).callonInlineElement129, expr: &seqExpr{ - pos: position{line: 694, col: 27, offset: 22498}, + pos: position{line: 692, col: 27, offset: 22361}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 694, col: 27, offset: 22498}, + pos: position{line: 692, col: 27, offset: 22361}, val: "<<", ignoreCase: false, want: "\"<<\"", }, &labeledExpr{ - pos: position{line: 694, col: 32, offset: 22503}, + pos: position{line: 692, col: 32, offset: 22366}, label: "id", expr: &actionExpr{ - pos: position{line: 2884, col: 7, offset: 95839}, - run: (*parser).callonInlineElement123, + pos: position{line: 3043, col: 7, offset: 99263}, + run: (*parser).callonInlineElement133, expr: &oneOrMoreExpr{ - pos: position{line: 2884, col: 7, offset: 95839}, + pos: position{line: 3043, col: 7, offset: 99263}, expr: &charClassMatcher{ - pos: position{line: 2884, col: 7, offset: 95839}, + pos: position{line: 3043, col: 7, offset: 99263}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -18298,12 +19384,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 694, col: 40, offset: 22511}, + pos: position{line: 692, col: 40, offset: 22374}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, - run: (*parser).callonInlineElement127, + pos: position{line: 3058, col: 10, offset: 99611}, + run: (*parser).callonInlineElement137, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -18312,27 +19398,27 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 694, col: 47, offset: 22518}, + pos: position{line: 692, col: 47, offset: 22381}, val: ",", ignoreCase: false, want: "\",\"", }, &labeledExpr{ - pos: position{line: 694, col: 51, offset: 22522}, + pos: position{line: 692, col: 51, offset: 22385}, label: "label", expr: &oneOrMoreExpr{ - pos: position{line: 704, col: 24, offset: 22923}, + pos: position{line: 702, col: 24, offset: 22786}, expr: &choiceExpr{ - pos: position{line: 705, col: 5, offset: 22929}, + pos: position{line: 703, col: 5, offset: 22792}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 705, col: 6, offset: 22930}, - run: (*parser).callonInlineElement133, + pos: position{line: 703, col: 6, offset: 22793}, + run: (*parser).callonInlineElement143, expr: &seqExpr{ - pos: position{line: 705, col: 6, offset: 22930}, + pos: position{line: 703, col: 6, offset: 22793}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 705, col: 6, offset: 22930}, + pos: position{line: 703, col: 6, offset: 22793}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -18340,9 +19426,9 @@ var g = &grammar{ inverted: false, }, &oneOrMoreExpr{ - pos: position{line: 705, col: 14, offset: 22938}, + pos: position{line: 703, col: 14, offset: 22801}, expr: &charClassMatcher{ - pos: position{line: 705, col: 14, offset: 22938}, + pos: position{line: 703, col: 14, offset: 22801}, val: "[^\\r\\n{<>]", chars: []rune{'\r', '\n', '{', '<', '>'}, ignoreCase: false, @@ -18353,28 +19439,83 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 659, col: 5, offset: 21191}, - run: (*parser).callonInlineElement138, + pos: position{line: 650, col: 5, offset: 20786}, + run: (*parser).callonInlineElement148, expr: &seqExpr{ - pos: position{line: 659, col: 5, offset: 21191}, + pos: position{line: 650, col: 5, offset: 20786}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 659, col: 5, offset: 21191}, + pos: position{line: 650, col: 5, offset: 20786}, + val: "\\{", + ignoreCase: false, + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 650, col: 13, offset: 20794}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + run: (*parser).callonInlineElement152, + expr: &seqExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 324, col: 18, offset: 10054}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 324, col: 28, offset: 10064}, + expr: &charClassMatcher{ + pos: position{line: 324, col: 29, offset: 10065}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 650, col: 32, offset: 20813}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 657, col: 5, offset: 21054}, + run: (*parser).callonInlineElement158, + expr: &seqExpr{ + pos: position{line: 657, col: 5, offset: 21054}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 657, col: 5, offset: 21054}, val: "{", ignoreCase: false, want: "\"{\"", }, &labeledExpr{ - pos: position{line: 659, col: 9, offset: 21195}, + pos: position{line: 657, col: 9, offset: 21058}, label: "name", expr: &actionExpr{ - pos: position{line: 332, col: 18, offset: 10393}, - run: (*parser).callonInlineElement142, + pos: position{line: 324, col: 18, offset: 10054}, + run: (*parser).callonInlineElement162, expr: &seqExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -18383,9 +19524,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 332, col: 28, offset: 10403}, + pos: position{line: 324, col: 28, offset: 10064}, expr: &charClassMatcher{ - pos: position{line: 332, col: 29, offset: 10404}, + pos: position{line: 324, col: 29, offset: 10065}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -18399,7 +19540,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 659, col: 28, offset: 21214}, + pos: position{line: 657, col: 28, offset: 21077}, val: "}", ignoreCase: false, want: "\"}\"", @@ -18408,10 +19549,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 709, col: 8, offset: 23164}, - run: (*parser).callonInlineElement148, + pos: position{line: 707, col: 8, offset: 23027}, + run: (*parser).callonInlineElement168, expr: &litMatcher{ - pos: position{line: 709, col: 8, offset: 23164}, + pos: position{line: 707, col: 8, offset: 23027}, val: "{", ignoreCase: false, want: "\"{\"", @@ -18422,7 +19563,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 694, col: 79, offset: 22550}, + pos: position{line: 692, col: 79, offset: 22413}, val: ">>", ignoreCase: false, want: "\">>\"", @@ -18431,27 +19572,27 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 696, col: 9, offset: 22623}, - run: (*parser).callonInlineElement151, + pos: position{line: 694, col: 9, offset: 22486}, + run: (*parser).callonInlineElement171, expr: &seqExpr{ - pos: position{line: 696, col: 9, offset: 22623}, + pos: position{line: 694, col: 9, offset: 22486}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 696, col: 9, offset: 22623}, + pos: position{line: 694, col: 9, offset: 22486}, val: "<<", ignoreCase: false, want: "\"<<\"", }, &labeledExpr{ - pos: position{line: 696, col: 14, offset: 22628}, + pos: position{line: 694, col: 14, offset: 22491}, label: "id", expr: &actionExpr{ - pos: position{line: 2884, col: 7, offset: 95839}, - run: (*parser).callonInlineElement155, + pos: position{line: 3043, col: 7, offset: 99263}, + run: (*parser).callonInlineElement175, expr: &oneOrMoreExpr{ - pos: position{line: 2884, col: 7, offset: 95839}, + pos: position{line: 3043, col: 7, offset: 99263}, expr: &charClassMatcher{ - pos: position{line: 2884, col: 7, offset: 95839}, + pos: position{line: 3043, col: 7, offset: 99263}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -18461,7 +19602,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 696, col: 22, offset: 22636}, + pos: position{line: 694, col: 22, offset: 22499}, val: ">>", ignoreCase: false, want: "\">>\"", @@ -18473,10 +19614,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2607, col: 11, offset: 87187}, - run: (*parser).callonInlineElement159, + pos: position{line: 2751, col: 11, offset: 90101}, + run: (*parser).callonInlineElement179, expr: &charClassMatcher{ - pos: position{line: 2607, col: 12, offset: 87188}, + pos: position{line: 2751, col: 12, offset: 90102}, val: "[<>&]", chars: []rune{'<', '>', '&'}, ignoreCase: false, @@ -18490,63 +19631,166 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2632, col: 15, offset: 88155}, - run: (*parser).callonInlineElement161, + pos: position{line: 2776, col: 5, offset: 90995}, + run: (*parser).callonInlineElement181, + expr: &seqExpr{ + pos: position{line: 2776, col: 5, offset: 90995}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2776, col: 5, offset: 90995}, + val: "\\", + ignoreCase: false, + want: "\"\\\\\"", + }, + &choiceExpr{ + pos: position{line: 2776, col: 10, offset: 91000}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2784, col: 15, offset: 91276}, + run: (*parser).callonInlineElement185, + expr: &litMatcher{ + pos: position{line: 2784, col: 15, offset: 91276}, + val: "`'", + ignoreCase: false, + want: "\"`'\"", + }, + }, + &actionExpr{ + pos: position{line: 2790, col: 14, offset: 91391}, + run: (*parser).callonInlineElement187, + expr: &litMatcher{ + pos: position{line: 2790, col: 14, offset: 91391}, + val: "(C)", + ignoreCase: false, + want: "\"(C)\"", + }, + }, + &actionExpr{ + pos: position{line: 2794, col: 14, offset: 91467}, + run: (*parser).callonInlineElement189, + expr: &litMatcher{ + pos: position{line: 2794, col: 14, offset: 91467}, + val: "(TM)", + ignoreCase: false, + want: "\"(TM)\"", + }, + }, + &actionExpr{ + pos: position{line: 2798, col: 15, offset: 91545}, + run: (*parser).callonInlineElement191, + expr: &litMatcher{ + pos: position{line: 2798, col: 15, offset: 91545}, + val: "(R)", + ignoreCase: false, + want: "\"(R)\"", + }, + }, + &actionExpr{ + pos: position{line: 2802, col: 13, offset: 91620}, + run: (*parser).callonInlineElement193, + expr: &litMatcher{ + pos: position{line: 2802, col: 13, offset: 91620}, + val: "...", + ignoreCase: false, + want: "\"...\"", + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2784, col: 15, offset: 91276}, + run: (*parser).callonInlineElement195, expr: &litMatcher{ - pos: position{line: 2632, col: 15, offset: 88155}, + pos: position{line: 2784, col: 15, offset: 91276}, val: "`'", ignoreCase: false, want: "\"`'\"", }, }, &actionExpr{ - pos: position{line: 2638, col: 14, offset: 88270}, - run: (*parser).callonInlineElement163, + pos: position{line: 2790, col: 14, offset: 91391}, + run: (*parser).callonInlineElement197, expr: &litMatcher{ - pos: position{line: 2638, col: 14, offset: 88270}, + pos: position{line: 2790, col: 14, offset: 91391}, val: "(C)", ignoreCase: false, want: "\"(C)\"", }, }, &actionExpr{ - pos: position{line: 2642, col: 14, offset: 88346}, - run: (*parser).callonInlineElement165, + pos: position{line: 2794, col: 14, offset: 91467}, + run: (*parser).callonInlineElement199, expr: &litMatcher{ - pos: position{line: 2642, col: 14, offset: 88346}, + pos: position{line: 2794, col: 14, offset: 91467}, val: "(TM)", ignoreCase: false, want: "\"(TM)\"", }, }, &actionExpr{ - pos: position{line: 2646, col: 15, offset: 88424}, - run: (*parser).callonInlineElement167, + pos: position{line: 2798, col: 15, offset: 91545}, + run: (*parser).callonInlineElement201, expr: &litMatcher{ - pos: position{line: 2646, col: 15, offset: 88424}, + pos: position{line: 2798, col: 15, offset: 91545}, val: "(R)", ignoreCase: false, want: "\"(R)\"", }, }, &actionExpr{ - pos: position{line: 2650, col: 13, offset: 88499}, - run: (*parser).callonInlineElement169, + pos: position{line: 2802, col: 13, offset: 91620}, + run: (*parser).callonInlineElement203, expr: &litMatcher{ - pos: position{line: 2650, col: 13, offset: 88499}, + pos: position{line: 2802, col: 13, offset: 91620}, val: "...", ignoreCase: false, want: "\"...\"", }, }, &actionExpr{ - pos: position{line: 2658, col: 22, offset: 88805}, - run: (*parser).callonInlineElement171, + pos: position{line: 2811, col: 5, offset: 91944}, + run: (*parser).callonInlineElement205, + expr: &seqExpr{ + pos: position{line: 2811, col: 5, offset: 91944}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 2972, col: 13, offset: 96927}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &litMatcher{ + pos: position{line: 2811, col: 14, offset: 91953}, + val: "\\'", + ignoreCase: false, + want: "\"\\\\'\"", + }, + &andExpr{ + pos: position{line: 2811, col: 19, offset: 91958}, + expr: &charClassMatcher{ + pos: position{line: 2811, col: 20, offset: 91959}, + val: "[\\pL]", + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2817, col: 5, offset: 92190}, + run: (*parser).callonInlineElement211, expr: &seqExpr{ - pos: position{line: 2658, col: 22, offset: 88805}, + pos: position{line: 2817, col: 5, offset: 92190}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 2813, col: 13, offset: 93503}, + pos: position{line: 2972, col: 13, offset: 96927}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -18554,15 +19798,15 @@ var g = &grammar{ inverted: false, }, &litMatcher{ - pos: position{line: 2658, col: 31, offset: 88814}, + pos: position{line: 2817, col: 14, offset: 92199}, val: "'", ignoreCase: false, want: "\"'\"", }, &andExpr{ - pos: position{line: 2658, col: 35, offset: 88818}, + pos: position{line: 2817, col: 18, offset: 92203}, expr: &charClassMatcher{ - pos: position{line: 2658, col: 36, offset: 88819}, + pos: position{line: 2817, col: 19, offset: 92204}, val: "[\\pL]", classes: []*unicode.RangeTable{rangeTable("L")}, ignoreCase: false, @@ -18573,27 +19817,27 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1122, col: 23, offset: 34991}, - run: (*parser).callonInlineElement177, + pos: position{line: 1120, col: 23, offset: 34854}, + run: (*parser).callonInlineElement217, expr: &seqExpr{ - pos: position{line: 1122, col: 23, offset: 34991}, + pos: position{line: 1120, col: 23, offset: 34854}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1120, col: 32, offset: 34959}, + pos: position{line: 1118, col: 32, offset: 34822}, val: "�", ignoreCase: false, want: "\"�\"", }, &labeledExpr{ - pos: position{line: 1122, col: 51, offset: 35019}, + pos: position{line: 1120, col: 51, offset: 34882}, label: "ref", expr: &actionExpr{ - pos: position{line: 1122, col: 56, offset: 35024}, - run: (*parser).callonInlineElement181, + pos: position{line: 1120, col: 56, offset: 34887}, + run: (*parser).callonInlineElement221, expr: &oneOrMoreExpr{ - pos: position{line: 1122, col: 56, offset: 35024}, + pos: position{line: 1120, col: 56, offset: 34887}, expr: &charClassMatcher{ - pos: position{line: 1122, col: 56, offset: 35024}, + pos: position{line: 1120, col: 56, offset: 34887}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -18603,7 +19847,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1120, col: 32, offset: 34959}, + pos: position{line: 1118, col: 32, offset: 34822}, val: "�", ignoreCase: false, want: "\"�\"", @@ -18612,10 +19856,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2851, col: 12, offset: 94722}, - run: (*parser).callonInlineElement185, + pos: position{line: 3010, col: 12, offset: 98146}, + run: (*parser).callonInlineElement225, expr: &anyMatcher{ - line: 2851, col: 12, offset: 94722, + line: 3010, col: 12, offset: 98146, }, }, }, @@ -18629,29 +19873,29 @@ var g = &grammar{ }, { name: "IndexTerm", - pos: position{line: 1208, col: 1, offset: 37912}, + pos: position{line: 1214, col: 1, offset: 38030}, expr: &actionExpr{ - pos: position{line: 1208, col: 14, offset: 37925}, + pos: position{line: 1214, col: 14, offset: 38043}, run: (*parser).callonIndexTerm1, expr: &seqExpr{ - pos: position{line: 1208, col: 14, offset: 37925}, + pos: position{line: 1214, col: 14, offset: 38043}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1208, col: 14, offset: 37925}, + pos: position{line: 1214, col: 14, offset: 38043}, val: "((", ignoreCase: false, want: "\"((\"", }, &labeledExpr{ - pos: position{line: 1208, col: 19, offset: 37930}, + pos: position{line: 1214, col: 19, offset: 38048}, label: "term", expr: &ruleRefExpr{ - pos: position{line: 1208, col: 25, offset: 37936}, + pos: position{line: 1214, col: 25, offset: 38054}, name: "IndexTermContent", }, }, &litMatcher{ - pos: position{line: 1208, col: 43, offset: 37954}, + pos: position{line: 1214, col: 43, offset: 38072}, val: "))", ignoreCase: false, want: "\"))\"", @@ -18662,28 +19906,28 @@ var g = &grammar{ }, { name: "IndexTermContent", - pos: position{line: 1212, col: 1, offset: 38023}, + pos: position{line: 1218, col: 1, offset: 38141}, expr: &actionExpr{ - pos: position{line: 1212, col: 21, offset: 38043}, + pos: position{line: 1218, col: 21, offset: 38161}, run: (*parser).callonIndexTermContent1, expr: &labeledExpr{ - pos: position{line: 1212, col: 21, offset: 38043}, + pos: position{line: 1218, col: 21, offset: 38161}, label: "elements", expr: &oneOrMoreExpr{ - pos: position{line: 1212, col: 30, offset: 38052}, + pos: position{line: 1218, col: 30, offset: 38170}, expr: &choiceExpr{ - pos: position{line: 1212, col: 31, offset: 38053}, + pos: position{line: 1218, col: 31, offset: 38171}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2825, col: 5, offset: 93958}, + pos: position{line: 2984, col: 5, offset: 97382}, run: (*parser).callonIndexTermContent5, expr: &seqExpr{ - pos: position{line: 2825, col: 5, offset: 93958}, + pos: position{line: 2984, col: 5, offset: 97382}, exprs: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 2825, col: 5, offset: 93958}, + pos: position{line: 2984, col: 5, offset: 97382}, expr: &charClassMatcher{ - pos: position{line: 2825, col: 5, offset: 93958}, + pos: position{line: 2984, col: 5, offset: 97382}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -18692,21 +19936,21 @@ var g = &grammar{ }, }, &andExpr{ - pos: position{line: 2825, col: 15, offset: 93968}, + pos: position{line: 2984, col: 15, offset: 97392}, expr: &choiceExpr{ - pos: position{line: 2825, col: 17, offset: 93970}, + pos: position{line: 2984, col: 17, offset: 97394}, alternatives: []interface{}{ &charClassMatcher{ - pos: position{line: 2825, col: 17, offset: 93970}, + pos: position{line: 2984, col: 17, offset: 97394}, val: "[\\r\\n ,]]", chars: []rune{'\r', '\n', ' ', ',', ']'}, ignoreCase: false, inverted: false, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -18716,15 +19960,15 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2827, col: 9, offset: 94052}, + pos: position{line: 2986, col: 9, offset: 97476}, run: (*parser).callonIndexTermContent14, expr: &seqExpr{ - pos: position{line: 2827, col: 9, offset: 94052}, + pos: position{line: 2986, col: 9, offset: 97476}, exprs: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 2827, col: 9, offset: 94052}, + pos: position{line: 2986, col: 9, offset: 97476}, expr: &charClassMatcher{ - pos: position{line: 2827, col: 9, offset: 94052}, + pos: position{line: 2986, col: 9, offset: 97476}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -18733,21 +19977,21 @@ var g = &grammar{ }, }, &oneOrMoreExpr{ - pos: position{line: 2827, col: 19, offset: 94062}, + pos: position{line: 2986, col: 19, offset: 97486}, expr: &seqExpr{ - pos: position{line: 2827, col: 20, offset: 94063}, + pos: position{line: 2986, col: 20, offset: 97487}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 2827, col: 20, offset: 94063}, + pos: position{line: 2986, col: 20, offset: 97487}, val: "[=*_`]", chars: []rune{'=', '*', '_', '`'}, ignoreCase: false, inverted: false, }, &oneOrMoreExpr{ - pos: position{line: 2827, col: 27, offset: 94070}, + pos: position{line: 2986, col: 27, offset: 97494}, expr: &charClassMatcher{ - pos: position{line: 2827, col: 27, offset: 94070}, + pos: position{line: 2986, col: 27, offset: 97494}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -18762,18 +20006,18 @@ var g = &grammar{ }, }, &ruleRefExpr{ - pos: position{line: 1212, col: 38, offset: 38060}, + pos: position{line: 1218, col: 38, offset: 38178}, name: "QuotedString", }, &ruleRefExpr{ - pos: position{line: 1212, col: 53, offset: 38075}, + pos: position{line: 1218, col: 53, offset: 38193}, name: "QuotedText", }, &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonIndexTermContent25, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -18781,49 +20025,49 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2599, col: 5, offset: 86909}, + pos: position{line: 2743, col: 5, offset: 89823}, run: (*parser).callonIndexTermContent27, expr: &seqExpr{ - pos: position{line: 2599, col: 5, offset: 86909}, + pos: position{line: 2743, col: 5, offset: 89823}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 2599, col: 5, offset: 86909}, + pos: position{line: 2743, col: 5, offset: 89823}, run: (*parser).callonIndexTermContent29, }, &labeledExpr{ - pos: position{line: 2602, col: 5, offset: 86985}, + pos: position{line: 2746, col: 5, offset: 89899}, label: "element", expr: &choiceExpr{ - pos: position{line: 2604, col: 9, offset: 87083}, + pos: position{line: 2748, col: 9, offset: 89997}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2604, col: 9, offset: 87083}, + pos: position{line: 2748, col: 9, offset: 89997}, run: (*parser).callonIndexTermContent32, expr: &choiceExpr{ - pos: position{line: 694, col: 27, offset: 22498}, + pos: position{line: 692, col: 27, offset: 22361}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 694, col: 27, offset: 22498}, + pos: position{line: 692, col: 27, offset: 22361}, run: (*parser).callonIndexTermContent34, expr: &seqExpr{ - pos: position{line: 694, col: 27, offset: 22498}, + pos: position{line: 692, col: 27, offset: 22361}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 694, col: 27, offset: 22498}, + pos: position{line: 692, col: 27, offset: 22361}, val: "<<", ignoreCase: false, want: "\"<<\"", }, &labeledExpr{ - pos: position{line: 694, col: 32, offset: 22503}, + pos: position{line: 692, col: 32, offset: 22366}, label: "id", expr: &actionExpr{ - pos: position{line: 2884, col: 7, offset: 95839}, + pos: position{line: 3043, col: 7, offset: 99263}, run: (*parser).callonIndexTermContent38, expr: &oneOrMoreExpr{ - pos: position{line: 2884, col: 7, offset: 95839}, + pos: position{line: 3043, col: 7, offset: 99263}, expr: &charClassMatcher{ - pos: position{line: 2884, col: 7, offset: 95839}, + pos: position{line: 3043, col: 7, offset: 99263}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -18833,12 +20077,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 694, col: 40, offset: 22511}, + pos: position{line: 692, col: 40, offset: 22374}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonIndexTermContent42, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -18847,27 +20091,27 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 694, col: 47, offset: 22518}, + pos: position{line: 692, col: 47, offset: 22381}, val: ",", ignoreCase: false, want: "\",\"", }, &labeledExpr{ - pos: position{line: 694, col: 51, offset: 22522}, + pos: position{line: 692, col: 51, offset: 22385}, label: "label", expr: &oneOrMoreExpr{ - pos: position{line: 704, col: 24, offset: 22923}, + pos: position{line: 702, col: 24, offset: 22786}, expr: &choiceExpr{ - pos: position{line: 705, col: 5, offset: 22929}, + pos: position{line: 703, col: 5, offset: 22792}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 705, col: 6, offset: 22930}, + pos: position{line: 703, col: 6, offset: 22793}, run: (*parser).callonIndexTermContent48, expr: &seqExpr{ - pos: position{line: 705, col: 6, offset: 22930}, + pos: position{line: 703, col: 6, offset: 22793}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 705, col: 6, offset: 22930}, + pos: position{line: 703, col: 6, offset: 22793}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -18875,9 +20119,9 @@ var g = &grammar{ inverted: false, }, &oneOrMoreExpr{ - pos: position{line: 705, col: 14, offset: 22938}, + pos: position{line: 703, col: 14, offset: 22801}, expr: &charClassMatcher{ - pos: position{line: 705, col: 14, offset: 22938}, + pos: position{line: 703, col: 14, offset: 22801}, val: "[^\\r\\n{<>]", chars: []rune{'\r', '\n', '{', '<', '>'}, ignoreCase: false, @@ -18888,28 +20132,28 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 659, col: 5, offset: 21191}, + pos: position{line: 650, col: 5, offset: 20786}, run: (*parser).callonIndexTermContent53, expr: &seqExpr{ - pos: position{line: 659, col: 5, offset: 21191}, + pos: position{line: 650, col: 5, offset: 20786}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 659, col: 5, offset: 21191}, - val: "{", + pos: position{line: 650, col: 5, offset: 20786}, + val: "\\{", ignoreCase: false, - want: "\"{\"", + want: "\"\\\\{\"", }, &labeledExpr{ - pos: position{line: 659, col: 9, offset: 21195}, + pos: position{line: 650, col: 13, offset: 20794}, label: "name", expr: &actionExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, run: (*parser).callonIndexTermContent57, expr: &seqExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -18918,9 +20162,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 332, col: 28, offset: 10403}, + pos: position{line: 324, col: 28, offset: 10064}, expr: &charClassMatcher{ - pos: position{line: 332, col: 29, offset: 10404}, + pos: position{line: 324, col: 29, offset: 10065}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -18934,7 +20178,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 659, col: 28, offset: 21214}, + pos: position{line: 650, col: 32, offset: 20813}, val: "}", ignoreCase: false, want: "\"}\"", @@ -18943,10 +20187,65 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 709, col: 8, offset: 23164}, + pos: position{line: 657, col: 5, offset: 21054}, run: (*parser).callonIndexTermContent63, + expr: &seqExpr{ + pos: position{line: 657, col: 5, offset: 21054}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 657, col: 5, offset: 21054}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + &labeledExpr{ + pos: position{line: 657, col: 9, offset: 21058}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + run: (*parser).callonIndexTermContent67, + expr: &seqExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 324, col: 18, offset: 10054}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 324, col: 28, offset: 10064}, + expr: &charClassMatcher{ + pos: position{line: 324, col: 29, offset: 10065}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 657, col: 28, offset: 21077}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 707, col: 8, offset: 23027}, + run: (*parser).callonIndexTermContent73, expr: &litMatcher{ - pos: position{line: 709, col: 8, offset: 23164}, + pos: position{line: 707, col: 8, offset: 23027}, val: "{", ignoreCase: false, want: "\"{\"", @@ -18957,7 +20256,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 694, col: 79, offset: 22550}, + pos: position{line: 692, col: 79, offset: 22413}, val: ">>", ignoreCase: false, want: "\">>\"", @@ -18966,27 +20265,27 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 696, col: 9, offset: 22623}, - run: (*parser).callonIndexTermContent66, + pos: position{line: 694, col: 9, offset: 22486}, + run: (*parser).callonIndexTermContent76, expr: &seqExpr{ - pos: position{line: 696, col: 9, offset: 22623}, + pos: position{line: 694, col: 9, offset: 22486}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 696, col: 9, offset: 22623}, + pos: position{line: 694, col: 9, offset: 22486}, val: "<<", ignoreCase: false, want: "\"<<\"", }, &labeledExpr{ - pos: position{line: 696, col: 14, offset: 22628}, + pos: position{line: 694, col: 14, offset: 22491}, label: "id", expr: &actionExpr{ - pos: position{line: 2884, col: 7, offset: 95839}, - run: (*parser).callonIndexTermContent70, + pos: position{line: 3043, col: 7, offset: 99263}, + run: (*parser).callonIndexTermContent80, expr: &oneOrMoreExpr{ - pos: position{line: 2884, col: 7, offset: 95839}, + pos: position{line: 3043, col: 7, offset: 99263}, expr: &charClassMatcher{ - pos: position{line: 2884, col: 7, offset: 95839}, + pos: position{line: 3043, col: 7, offset: 99263}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -18996,7 +20295,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 696, col: 22, offset: 22636}, + pos: position{line: 694, col: 22, offset: 22499}, val: ">>", ignoreCase: false, want: "\">>\"", @@ -19008,10 +20307,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2607, col: 11, offset: 87187}, - run: (*parser).callonIndexTermContent74, + pos: position{line: 2751, col: 11, offset: 90101}, + run: (*parser).callonIndexTermContent84, expr: &charClassMatcher{ - pos: position{line: 2607, col: 12, offset: 87188}, + pos: position{line: 2751, col: 12, offset: 90102}, val: "[<>&]", chars: []rune{'<', '>', '&'}, ignoreCase: false, @@ -19025,27 +20324,27 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1122, col: 23, offset: 34991}, - run: (*parser).callonIndexTermContent76, + pos: position{line: 1120, col: 23, offset: 34854}, + run: (*parser).callonIndexTermContent86, expr: &seqExpr{ - pos: position{line: 1122, col: 23, offset: 34991}, + pos: position{line: 1120, col: 23, offset: 34854}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1120, col: 32, offset: 34959}, + pos: position{line: 1118, col: 32, offset: 34822}, val: "�", ignoreCase: false, want: "\"�\"", }, &labeledExpr{ - pos: position{line: 1122, col: 51, offset: 35019}, + pos: position{line: 1120, col: 51, offset: 34882}, label: "ref", expr: &actionExpr{ - pos: position{line: 1122, col: 56, offset: 35024}, - run: (*parser).callonIndexTermContent80, + pos: position{line: 1120, col: 56, offset: 34887}, + run: (*parser).callonIndexTermContent90, expr: &oneOrMoreExpr{ - pos: position{line: 1122, col: 56, offset: 35024}, + pos: position{line: 1120, col: 56, offset: 34887}, expr: &charClassMatcher{ - pos: position{line: 1122, col: 56, offset: 35024}, + pos: position{line: 1120, col: 56, offset: 34887}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -19055,7 +20354,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1120, col: 32, offset: 34959}, + pos: position{line: 1118, col: 32, offset: 34822}, val: "�", ignoreCase: false, want: "\"�\"", @@ -19064,22 +20363,22 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1212, col: 114, offset: 38136}, - run: (*parser).callonIndexTermContent84, + pos: position{line: 1218, col: 114, offset: 38254}, + run: (*parser).callonIndexTermContent94, expr: &seqExpr{ - pos: position{line: 1212, col: 115, offset: 38137}, + pos: position{line: 1218, col: 115, offset: 38255}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 1212, col: 115, offset: 38137}, + pos: position{line: 1218, col: 115, offset: 38255}, expr: &litMatcher{ - pos: position{line: 1212, col: 116, offset: 38138}, + pos: position{line: 1218, col: 116, offset: 38256}, val: "))", ignoreCase: false, want: "\"))\"", }, }, &anyMatcher{ - line: 1212, col: 121, offset: 38143, + line: 1218, col: 121, offset: 38261, }, }, }, @@ -19092,62 +20391,62 @@ var g = &grammar{ }, { name: "ImageBlock", - pos: position{line: 1232, col: 1, offset: 38852}, + pos: position{line: 1238, col: 1, offset: 38970}, expr: &actionExpr{ - pos: position{line: 1233, col: 5, offset: 38871}, + pos: position{line: 1239, col: 5, offset: 38989}, run: (*parser).callonImageBlock1, expr: &seqExpr{ - pos: position{line: 1233, col: 5, offset: 38871}, + pos: position{line: 1239, col: 5, offset: 38989}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1233, col: 5, offset: 38871}, + pos: position{line: 1239, col: 5, offset: 38989}, val: "image::", ignoreCase: false, want: "\"image::\"", }, &labeledExpr{ - pos: position{line: 1233, col: 15, offset: 38881}, + pos: position{line: 1239, col: 15, offset: 38999}, label: "path", expr: &actionExpr{ - pos: position{line: 2859, col: 13, offset: 94923}, + pos: position{line: 3018, col: 13, offset: 98347}, run: (*parser).callonImageBlock5, expr: &seqExpr{ - pos: position{line: 2859, col: 13, offset: 94923}, + pos: position{line: 3018, col: 13, offset: 98347}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 2859, col: 13, offset: 94923}, + pos: position{line: 3018, col: 13, offset: 98347}, label: "scheme", expr: &zeroOrOneExpr{ - pos: position{line: 2859, col: 20, offset: 94930}, + pos: position{line: 3018, col: 20, offset: 98354}, expr: &choiceExpr{ - pos: position{line: 2867, col: 11, offset: 95192}, + pos: position{line: 3026, col: 11, offset: 98616}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2867, col: 11, offset: 95192}, + pos: position{line: 3026, col: 11, offset: 98616}, val: "http://", ignoreCase: false, want: "\"http://\"", }, &litMatcher{ - pos: position{line: 2867, col: 23, offset: 95204}, + pos: position{line: 3026, col: 23, offset: 98628}, val: "https://", ignoreCase: false, want: "\"https://\"", }, &litMatcher{ - pos: position{line: 2867, col: 36, offset: 95217}, + pos: position{line: 3026, col: 36, offset: 98641}, val: "ftp://", ignoreCase: false, want: "\"ftp://\"", }, &litMatcher{ - pos: position{line: 2867, col: 47, offset: 95228}, + pos: position{line: 3026, col: 47, offset: 98652}, val: "irc://", ignoreCase: false, want: "\"irc://\"", }, &litMatcher{ - pos: position{line: 2867, col: 58, offset: 95239}, + pos: position{line: 3026, col: 58, offset: 98663}, val: "mailto:", ignoreCase: false, want: "\"mailto:\"", @@ -19157,43 +20456,43 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 2859, col: 30, offset: 94940}, + pos: position{line: 3018, col: 30, offset: 98364}, label: "path", expr: &oneOrMoreExpr{ - pos: position{line: 2859, col: 35, offset: 94945}, + pos: position{line: 3018, col: 35, offset: 98369}, expr: &choiceExpr{ - pos: position{line: 2859, col: 36, offset: 94946}, + pos: position{line: 3018, col: 36, offset: 98370}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2870, col: 5, offset: 95267}, + pos: position{line: 3029, col: 5, offset: 98691}, run: (*parser).callonImageBlock18, expr: &seqExpr{ - pos: position{line: 2870, col: 5, offset: 95267}, + pos: position{line: 3029, col: 5, offset: 98691}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 2870, col: 5, offset: 95267}, + pos: position{line: 3029, col: 5, offset: 98691}, expr: &litMatcher{ - pos: position{line: 2870, col: 6, offset: 95268}, + pos: position{line: 3029, col: 6, offset: 98692}, val: "[", ignoreCase: false, want: "\"[\"", }, }, &labeledExpr{ - pos: position{line: 2871, col: 5, offset: 95292}, + pos: position{line: 3030, col: 5, offset: 98716}, label: "elements", expr: &oneOrMoreExpr{ - pos: position{line: 2871, col: 14, offset: 95301}, + pos: position{line: 3030, col: 14, offset: 98725}, expr: &choiceExpr{ - pos: position{line: 2872, col: 9, offset: 95311}, + pos: position{line: 3031, col: 9, offset: 98735}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2872, col: 9, offset: 95311}, + pos: position{line: 3031, col: 9, offset: 98735}, run: (*parser).callonImageBlock25, expr: &oneOrMoreExpr{ - pos: position{line: 2872, col: 9, offset: 95311}, + pos: position{line: 3031, col: 9, offset: 98735}, expr: &charClassMatcher{ - pos: position{line: 2872, col: 10, offset: 95312}, + pos: position{line: 3031, col: 10, offset: 98736}, val: "[^\\r\\n[]�{.,;?!<> ]", chars: []rune{'\r', '\n', '[', ']', '�', '{', '.', ',', ';', '?', '!', '<', '>', ' '}, ignoreCase: false, @@ -19202,13 +20501,13 @@ var g = &grammar{ }, }, &seqExpr{ - pos: position{line: 2875, col: 11, offset: 95577}, + pos: position{line: 3034, col: 11, offset: 99001}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 2845, col: 25, offset: 94548}, + pos: position{line: 3004, col: 25, offset: 97972}, run: (*parser).callonImageBlock29, expr: &charClassMatcher{ - pos: position{line: 2845, col: 25, offset: 94548}, + pos: position{line: 3004, col: 25, offset: 97972}, val: "[.,;?!]", chars: []rune{'.', ',', ';', '?', '!'}, ignoreCase: false, @@ -19216,23 +20515,23 @@ var g = &grammar{ }, }, &andExpr{ - pos: position{line: 2875, col: 32, offset: 95598}, + pos: position{line: 3034, col: 32, offset: 99022}, expr: ¬Expr{ - pos: position{line: 2875, col: 34, offset: 95600}, + pos: position{line: 3034, col: 34, offset: 99024}, expr: &choiceExpr{ - pos: position{line: 2875, col: 36, offset: 95602}, + pos: position{line: 3034, col: 36, offset: 99026}, alternatives: []interface{}{ ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonImageBlock36, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -19246,44 +20545,44 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 651, col: 5, offset: 21000}, + pos: position{line: 641, col: 5, offset: 20579}, run: (*parser).callonImageBlock38, expr: &seqExpr{ - pos: position{line: 651, col: 5, offset: 21000}, + pos: position{line: 641, col: 5, offset: 20579}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 651, col: 5, offset: 21000}, + pos: position{line: 641, col: 5, offset: 20579}, run: (*parser).callonImageBlock40, }, &labeledExpr{ - pos: position{line: 654, col: 5, offset: 21069}, + pos: position{line: 644, col: 5, offset: 20648}, label: "element", expr: &choiceExpr{ - pos: position{line: 654, col: 14, offset: 21078}, + pos: position{line: 644, col: 14, offset: 20657}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 666, col: 25, offset: 21447}, + pos: position{line: 664, col: 25, offset: 21310}, run: (*parser).callonImageBlock43, expr: &seqExpr{ - pos: position{line: 666, col: 25, offset: 21447}, + pos: position{line: 664, col: 25, offset: 21310}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 666, col: 25, offset: 21447}, + pos: position{line: 664, col: 25, offset: 21310}, val: "{counter:", ignoreCase: false, want: "\"{counter:\"", }, &labeledExpr{ - pos: position{line: 666, col: 37, offset: 21459}, + pos: position{line: 664, col: 37, offset: 21322}, label: "name", expr: &actionExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, run: (*parser).callonImageBlock47, expr: &seqExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -19292,9 +20591,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 332, col: 28, offset: 10403}, + pos: position{line: 324, col: 28, offset: 10064}, expr: &charClassMatcher{ - pos: position{line: 332, col: 29, offset: 10404}, + pos: position{line: 324, col: 29, offset: 10065}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -19308,33 +20607,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 666, col: 56, offset: 21478}, + pos: position{line: 664, col: 56, offset: 21341}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 666, col: 62, offset: 21484}, + pos: position{line: 664, col: 62, offset: 21347}, expr: &actionExpr{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, run: (*parser).callonImageBlock54, expr: &seqExpr{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 674, col: 21, offset: 21783}, + pos: position{line: 672, col: 21, offset: 21646}, label: "start", expr: &choiceExpr{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, run: (*parser).callonImageBlock59, expr: &charClassMatcher{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -19342,12 +20641,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, run: (*parser).callonImageBlock61, expr: &oneOrMoreExpr{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, expr: &charClassMatcher{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -19364,7 +20663,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 666, col: 78, offset: 21500}, + pos: position{line: 664, col: 78, offset: 21363}, val: "}", ignoreCase: false, want: "\"}\"", @@ -19373,28 +20672,28 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 670, col: 25, offset: 21618}, + pos: position{line: 668, col: 25, offset: 21481}, run: (*parser).callonImageBlock65, expr: &seqExpr{ - pos: position{line: 670, col: 25, offset: 21618}, + pos: position{line: 668, col: 25, offset: 21481}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 670, col: 25, offset: 21618}, + pos: position{line: 668, col: 25, offset: 21481}, val: "{counter2:", ignoreCase: false, want: "\"{counter2:\"", }, &labeledExpr{ - pos: position{line: 670, col: 38, offset: 21631}, + pos: position{line: 668, col: 38, offset: 21494}, label: "name", expr: &actionExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, run: (*parser).callonImageBlock69, expr: &seqExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -19403,9 +20702,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 332, col: 28, offset: 10403}, + pos: position{line: 324, col: 28, offset: 10064}, expr: &charClassMatcher{ - pos: position{line: 332, col: 29, offset: 10404}, + pos: position{line: 324, col: 29, offset: 10065}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -19419,33 +20718,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 670, col: 57, offset: 21650}, + pos: position{line: 668, col: 57, offset: 21513}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 670, col: 63, offset: 21656}, + pos: position{line: 668, col: 63, offset: 21519}, expr: &actionExpr{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, run: (*parser).callonImageBlock76, expr: &seqExpr{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 674, col: 21, offset: 21783}, + pos: position{line: 672, col: 21, offset: 21646}, label: "start", expr: &choiceExpr{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, run: (*parser).callonImageBlock81, expr: &charClassMatcher{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -19453,12 +20752,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, run: (*parser).callonImageBlock83, expr: &oneOrMoreExpr{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, expr: &charClassMatcher{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -19475,7 +20774,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 670, col: 79, offset: 21672}, + pos: position{line: 668, col: 79, offset: 21535}, val: "}", ignoreCase: false, want: "\"}\"", @@ -19484,28 +20783,83 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 659, col: 5, offset: 21191}, + pos: position{line: 650, col: 5, offset: 20786}, run: (*parser).callonImageBlock87, expr: &seqExpr{ - pos: position{line: 659, col: 5, offset: 21191}, + pos: position{line: 650, col: 5, offset: 20786}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 659, col: 5, offset: 21191}, + pos: position{line: 650, col: 5, offset: 20786}, + val: "\\{", + ignoreCase: false, + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 650, col: 13, offset: 20794}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + run: (*parser).callonImageBlock91, + expr: &seqExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 324, col: 18, offset: 10054}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 324, col: 28, offset: 10064}, + expr: &charClassMatcher{ + pos: position{line: 324, col: 29, offset: 10065}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 650, col: 32, offset: 20813}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 657, col: 5, offset: 21054}, + run: (*parser).callonImageBlock97, + expr: &seqExpr{ + pos: position{line: 657, col: 5, offset: 21054}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 657, col: 5, offset: 21054}, val: "{", ignoreCase: false, want: "\"{\"", }, &labeledExpr{ - pos: position{line: 659, col: 9, offset: 21195}, + pos: position{line: 657, col: 9, offset: 21058}, label: "name", expr: &actionExpr{ - pos: position{line: 332, col: 18, offset: 10393}, - run: (*parser).callonImageBlock91, + pos: position{line: 324, col: 18, offset: 10054}, + run: (*parser).callonImageBlock101, expr: &seqExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -19514,9 +20868,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 332, col: 28, offset: 10403}, + pos: position{line: 324, col: 28, offset: 10064}, expr: &charClassMatcher{ - pos: position{line: 332, col: 29, offset: 10404}, + pos: position{line: 324, col: 29, offset: 10065}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -19530,7 +20884,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 659, col: 28, offset: 21214}, + pos: position{line: 657, col: 28, offset: 21077}, val: "}", ignoreCase: false, want: "\"}\"", @@ -19545,49 +20899,49 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2599, col: 5, offset: 86909}, - run: (*parser).callonImageBlock97, + pos: position{line: 2743, col: 5, offset: 89823}, + run: (*parser).callonImageBlock107, expr: &seqExpr{ - pos: position{line: 2599, col: 5, offset: 86909}, + pos: position{line: 2743, col: 5, offset: 89823}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 2599, col: 5, offset: 86909}, - run: (*parser).callonImageBlock99, + pos: position{line: 2743, col: 5, offset: 89823}, + run: (*parser).callonImageBlock109, }, &labeledExpr{ - pos: position{line: 2602, col: 5, offset: 86985}, + pos: position{line: 2746, col: 5, offset: 89899}, label: "element", expr: &choiceExpr{ - pos: position{line: 2604, col: 9, offset: 87083}, + pos: position{line: 2748, col: 9, offset: 89997}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2604, col: 9, offset: 87083}, - run: (*parser).callonImageBlock102, + pos: position{line: 2748, col: 9, offset: 89997}, + run: (*parser).callonImageBlock112, expr: &choiceExpr{ - pos: position{line: 694, col: 27, offset: 22498}, + pos: position{line: 692, col: 27, offset: 22361}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 694, col: 27, offset: 22498}, - run: (*parser).callonImageBlock104, + pos: position{line: 692, col: 27, offset: 22361}, + run: (*parser).callonImageBlock114, expr: &seqExpr{ - pos: position{line: 694, col: 27, offset: 22498}, + pos: position{line: 692, col: 27, offset: 22361}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 694, col: 27, offset: 22498}, + pos: position{line: 692, col: 27, offset: 22361}, val: "<<", ignoreCase: false, want: "\"<<\"", }, &labeledExpr{ - pos: position{line: 694, col: 32, offset: 22503}, + pos: position{line: 692, col: 32, offset: 22366}, label: "id", expr: &actionExpr{ - pos: position{line: 2884, col: 7, offset: 95839}, - run: (*parser).callonImageBlock108, + pos: position{line: 3043, col: 7, offset: 99263}, + run: (*parser).callonImageBlock118, expr: &oneOrMoreExpr{ - pos: position{line: 2884, col: 7, offset: 95839}, + pos: position{line: 3043, col: 7, offset: 99263}, expr: &charClassMatcher{ - pos: position{line: 2884, col: 7, offset: 95839}, + pos: position{line: 3043, col: 7, offset: 99263}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -19597,12 +20951,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 694, col: 40, offset: 22511}, + pos: position{line: 692, col: 40, offset: 22374}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, - run: (*parser).callonImageBlock112, + pos: position{line: 3058, col: 10, offset: 99611}, + run: (*parser).callonImageBlock122, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -19611,27 +20965,27 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 694, col: 47, offset: 22518}, + pos: position{line: 692, col: 47, offset: 22381}, val: ",", ignoreCase: false, want: "\",\"", }, &labeledExpr{ - pos: position{line: 694, col: 51, offset: 22522}, + pos: position{line: 692, col: 51, offset: 22385}, label: "label", expr: &oneOrMoreExpr{ - pos: position{line: 704, col: 24, offset: 22923}, + pos: position{line: 702, col: 24, offset: 22786}, expr: &choiceExpr{ - pos: position{line: 705, col: 5, offset: 22929}, + pos: position{line: 703, col: 5, offset: 22792}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 705, col: 6, offset: 22930}, - run: (*parser).callonImageBlock118, + pos: position{line: 703, col: 6, offset: 22793}, + run: (*parser).callonImageBlock128, expr: &seqExpr{ - pos: position{line: 705, col: 6, offset: 22930}, + pos: position{line: 703, col: 6, offset: 22793}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 705, col: 6, offset: 22930}, + pos: position{line: 703, col: 6, offset: 22793}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -19639,9 +20993,9 @@ var g = &grammar{ inverted: false, }, &oneOrMoreExpr{ - pos: position{line: 705, col: 14, offset: 22938}, + pos: position{line: 703, col: 14, offset: 22801}, expr: &charClassMatcher{ - pos: position{line: 705, col: 14, offset: 22938}, + pos: position{line: 703, col: 14, offset: 22801}, val: "[^\\r\\n{<>]", chars: []rune{'\r', '\n', '{', '<', '>'}, ignoreCase: false, @@ -19652,28 +21006,83 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 659, col: 5, offset: 21191}, - run: (*parser).callonImageBlock123, + pos: position{line: 650, col: 5, offset: 20786}, + run: (*parser).callonImageBlock133, + expr: &seqExpr{ + pos: position{line: 650, col: 5, offset: 20786}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 650, col: 5, offset: 20786}, + val: "\\{", + ignoreCase: false, + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 650, col: 13, offset: 20794}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + run: (*parser).callonImageBlock137, + expr: &seqExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 324, col: 18, offset: 10054}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 324, col: 28, offset: 10064}, + expr: &charClassMatcher{ + pos: position{line: 324, col: 29, offset: 10065}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 650, col: 32, offset: 20813}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 657, col: 5, offset: 21054}, + run: (*parser).callonImageBlock143, expr: &seqExpr{ - pos: position{line: 659, col: 5, offset: 21191}, + pos: position{line: 657, col: 5, offset: 21054}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 659, col: 5, offset: 21191}, + pos: position{line: 657, col: 5, offset: 21054}, val: "{", ignoreCase: false, want: "\"{\"", }, &labeledExpr{ - pos: position{line: 659, col: 9, offset: 21195}, + pos: position{line: 657, col: 9, offset: 21058}, label: "name", expr: &actionExpr{ - pos: position{line: 332, col: 18, offset: 10393}, - run: (*parser).callonImageBlock127, + pos: position{line: 324, col: 18, offset: 10054}, + run: (*parser).callonImageBlock147, expr: &seqExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -19682,9 +21091,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 332, col: 28, offset: 10403}, + pos: position{line: 324, col: 28, offset: 10064}, expr: &charClassMatcher{ - pos: position{line: 332, col: 29, offset: 10404}, + pos: position{line: 324, col: 29, offset: 10065}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -19698,7 +21107,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 659, col: 28, offset: 21214}, + pos: position{line: 657, col: 28, offset: 21077}, val: "}", ignoreCase: false, want: "\"}\"", @@ -19707,10 +21116,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 709, col: 8, offset: 23164}, - run: (*parser).callonImageBlock133, + pos: position{line: 707, col: 8, offset: 23027}, + run: (*parser).callonImageBlock153, expr: &litMatcher{ - pos: position{line: 709, col: 8, offset: 23164}, + pos: position{line: 707, col: 8, offset: 23027}, val: "{", ignoreCase: false, want: "\"{\"", @@ -19721,7 +21130,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 694, col: 79, offset: 22550}, + pos: position{line: 692, col: 79, offset: 22413}, val: ">>", ignoreCase: false, want: "\">>\"", @@ -19730,27 +21139,27 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 696, col: 9, offset: 22623}, - run: (*parser).callonImageBlock136, + pos: position{line: 694, col: 9, offset: 22486}, + run: (*parser).callonImageBlock156, expr: &seqExpr{ - pos: position{line: 696, col: 9, offset: 22623}, + pos: position{line: 694, col: 9, offset: 22486}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 696, col: 9, offset: 22623}, + pos: position{line: 694, col: 9, offset: 22486}, val: "<<", ignoreCase: false, want: "\"<<\"", }, &labeledExpr{ - pos: position{line: 696, col: 14, offset: 22628}, + pos: position{line: 694, col: 14, offset: 22491}, label: "id", expr: &actionExpr{ - pos: position{line: 2884, col: 7, offset: 95839}, - run: (*parser).callonImageBlock140, + pos: position{line: 3043, col: 7, offset: 99263}, + run: (*parser).callonImageBlock160, expr: &oneOrMoreExpr{ - pos: position{line: 2884, col: 7, offset: 95839}, + pos: position{line: 3043, col: 7, offset: 99263}, expr: &charClassMatcher{ - pos: position{line: 2884, col: 7, offset: 95839}, + pos: position{line: 3043, col: 7, offset: 99263}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -19760,7 +21169,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 696, col: 22, offset: 22636}, + pos: position{line: 694, col: 22, offset: 22499}, val: ">>", ignoreCase: false, want: "\">>\"", @@ -19772,10 +21181,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2607, col: 11, offset: 87187}, - run: (*parser).callonImageBlock144, + pos: position{line: 2751, col: 11, offset: 90101}, + run: (*parser).callonImageBlock164, expr: &charClassMatcher{ - pos: position{line: 2607, col: 12, offset: 87188}, + pos: position{line: 2751, col: 12, offset: 90102}, val: "[<>&]", chars: []rune{'<', '>', '&'}, ignoreCase: false, @@ -19789,10 +21198,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2878, col: 11, offset: 95683}, - run: (*parser).callonImageBlock146, + pos: position{line: 3037, col: 11, offset: 99107}, + run: (*parser).callonImageBlock166, expr: &litMatcher{ - pos: position{line: 2878, col: 11, offset: 95683}, + pos: position{line: 3037, col: 11, offset: 99107}, val: "{", ignoreCase: false, want: "\"{\"", @@ -19806,27 +21215,27 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1122, col: 23, offset: 34991}, - run: (*parser).callonImageBlock148, + pos: position{line: 1120, col: 23, offset: 34854}, + run: (*parser).callonImageBlock168, expr: &seqExpr{ - pos: position{line: 1122, col: 23, offset: 34991}, + pos: position{line: 1120, col: 23, offset: 34854}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1120, col: 32, offset: 34959}, + pos: position{line: 1118, col: 32, offset: 34822}, val: "�", ignoreCase: false, want: "\"�\"", }, &labeledExpr{ - pos: position{line: 1122, col: 51, offset: 35019}, + pos: position{line: 1120, col: 51, offset: 34882}, label: "ref", expr: &actionExpr{ - pos: position{line: 1122, col: 56, offset: 35024}, - run: (*parser).callonImageBlock152, + pos: position{line: 1120, col: 56, offset: 34887}, + run: (*parser).callonImageBlock172, expr: &oneOrMoreExpr{ - pos: position{line: 1122, col: 56, offset: 35024}, + pos: position{line: 1120, col: 56, offset: 34887}, expr: &charClassMatcher{ - pos: position{line: 1122, col: 56, offset: 35024}, + pos: position{line: 1120, col: 56, offset: 34887}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -19836,7 +21245,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1120, col: 32, offset: 34959}, + pos: position{line: 1118, col: 32, offset: 34822}, val: "�", ignoreCase: false, want: "\"�\"", @@ -19853,20 +21262,20 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1233, col: 31, offset: 38897}, + pos: position{line: 1239, col: 31, offset: 39015}, label: "attributes", expr: &ruleRefExpr{ - pos: position{line: 1233, col: 43, offset: 38909}, + pos: position{line: 1239, col: 43, offset: 39027}, name: "InlineAttributes", }, }, &zeroOrMoreExpr{ - pos: position{line: 1233, col: 61, offset: 38927}, + pos: position{line: 1239, col: 61, offset: 39045}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, - run: (*parser).callonImageBlock159, + pos: position{line: 3058, col: 10, offset: 99611}, + run: (*parser).callonImageBlock179, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -19875,28 +21284,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, - run: (*parser).callonImageBlock162, + pos: position{line: 3067, col: 12, offset: 99795}, + run: (*parser).callonImageBlock182, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -19905,9 +21314,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -19918,71 +21327,71 @@ var g = &grammar{ }, { name: "InlineImage", - pos: position{line: 1238, col: 1, offset: 39144}, + pos: position{line: 1244, col: 1, offset: 39262}, expr: &actionExpr{ - pos: position{line: 1238, col: 16, offset: 39159}, + pos: position{line: 1244, col: 16, offset: 39277}, run: (*parser).callonInlineImage1, expr: &seqExpr{ - pos: position{line: 1238, col: 16, offset: 39159}, + pos: position{line: 1244, col: 16, offset: 39277}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1238, col: 16, offset: 39159}, + pos: position{line: 1244, col: 16, offset: 39277}, val: "image:", ignoreCase: false, want: "\"image:\"", }, ¬Expr{ - pos: position{line: 1238, col: 25, offset: 39168}, + pos: position{line: 1244, col: 25, offset: 39286}, expr: &litMatcher{ - pos: position{line: 1238, col: 26, offset: 39169}, + pos: position{line: 1244, col: 26, offset: 39287}, val: ":", ignoreCase: false, want: "\":\"", }, }, &labeledExpr{ - pos: position{line: 1238, col: 30, offset: 39173}, + pos: position{line: 1244, col: 30, offset: 39291}, label: "path", expr: &actionExpr{ - pos: position{line: 2859, col: 13, offset: 94923}, + pos: position{line: 3018, col: 13, offset: 98347}, run: (*parser).callonInlineImage7, expr: &seqExpr{ - pos: position{line: 2859, col: 13, offset: 94923}, + pos: position{line: 3018, col: 13, offset: 98347}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 2859, col: 13, offset: 94923}, + pos: position{line: 3018, col: 13, offset: 98347}, label: "scheme", expr: &zeroOrOneExpr{ - pos: position{line: 2859, col: 20, offset: 94930}, + pos: position{line: 3018, col: 20, offset: 98354}, expr: &choiceExpr{ - pos: position{line: 2867, col: 11, offset: 95192}, + pos: position{line: 3026, col: 11, offset: 98616}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2867, col: 11, offset: 95192}, + pos: position{line: 3026, col: 11, offset: 98616}, val: "http://", ignoreCase: false, want: "\"http://\"", }, &litMatcher{ - pos: position{line: 2867, col: 23, offset: 95204}, + pos: position{line: 3026, col: 23, offset: 98628}, val: "https://", ignoreCase: false, want: "\"https://\"", }, &litMatcher{ - pos: position{line: 2867, col: 36, offset: 95217}, + pos: position{line: 3026, col: 36, offset: 98641}, val: "ftp://", ignoreCase: false, want: "\"ftp://\"", }, &litMatcher{ - pos: position{line: 2867, col: 47, offset: 95228}, + pos: position{line: 3026, col: 47, offset: 98652}, val: "irc://", ignoreCase: false, want: "\"irc://\"", }, &litMatcher{ - pos: position{line: 2867, col: 58, offset: 95239}, + pos: position{line: 3026, col: 58, offset: 98663}, val: "mailto:", ignoreCase: false, want: "\"mailto:\"", @@ -19992,43 +21401,43 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 2859, col: 30, offset: 94940}, + pos: position{line: 3018, col: 30, offset: 98364}, label: "path", expr: &oneOrMoreExpr{ - pos: position{line: 2859, col: 35, offset: 94945}, + pos: position{line: 3018, col: 35, offset: 98369}, expr: &choiceExpr{ - pos: position{line: 2859, col: 36, offset: 94946}, + pos: position{line: 3018, col: 36, offset: 98370}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2870, col: 5, offset: 95267}, + pos: position{line: 3029, col: 5, offset: 98691}, run: (*parser).callonInlineImage20, expr: &seqExpr{ - pos: position{line: 2870, col: 5, offset: 95267}, + pos: position{line: 3029, col: 5, offset: 98691}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 2870, col: 5, offset: 95267}, + pos: position{line: 3029, col: 5, offset: 98691}, expr: &litMatcher{ - pos: position{line: 2870, col: 6, offset: 95268}, + pos: position{line: 3029, col: 6, offset: 98692}, val: "[", ignoreCase: false, want: "\"[\"", }, }, &labeledExpr{ - pos: position{line: 2871, col: 5, offset: 95292}, + pos: position{line: 3030, col: 5, offset: 98716}, label: "elements", expr: &oneOrMoreExpr{ - pos: position{line: 2871, col: 14, offset: 95301}, + pos: position{line: 3030, col: 14, offset: 98725}, expr: &choiceExpr{ - pos: position{line: 2872, col: 9, offset: 95311}, + pos: position{line: 3031, col: 9, offset: 98735}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2872, col: 9, offset: 95311}, + pos: position{line: 3031, col: 9, offset: 98735}, run: (*parser).callonInlineImage27, expr: &oneOrMoreExpr{ - pos: position{line: 2872, col: 9, offset: 95311}, + pos: position{line: 3031, col: 9, offset: 98735}, expr: &charClassMatcher{ - pos: position{line: 2872, col: 10, offset: 95312}, + pos: position{line: 3031, col: 10, offset: 98736}, val: "[^\\r\\n[]�{.,;?!<> ]", chars: []rune{'\r', '\n', '[', ']', '�', '{', '.', ',', ';', '?', '!', '<', '>', ' '}, ignoreCase: false, @@ -20037,13 +21446,13 @@ var g = &grammar{ }, }, &seqExpr{ - pos: position{line: 2875, col: 11, offset: 95577}, + pos: position{line: 3034, col: 11, offset: 99001}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 2845, col: 25, offset: 94548}, + pos: position{line: 3004, col: 25, offset: 97972}, run: (*parser).callonInlineImage31, expr: &charClassMatcher{ - pos: position{line: 2845, col: 25, offset: 94548}, + pos: position{line: 3004, col: 25, offset: 97972}, val: "[.,;?!]", chars: []rune{'.', ',', ';', '?', '!'}, ignoreCase: false, @@ -20051,23 +21460,23 @@ var g = &grammar{ }, }, &andExpr{ - pos: position{line: 2875, col: 32, offset: 95598}, + pos: position{line: 3034, col: 32, offset: 99022}, expr: ¬Expr{ - pos: position{line: 2875, col: 34, offset: 95600}, + pos: position{line: 3034, col: 34, offset: 99024}, expr: &choiceExpr{ - pos: position{line: 2875, col: 36, offset: 95602}, + pos: position{line: 3034, col: 36, offset: 99026}, alternatives: []interface{}{ ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonInlineImage38, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -20081,44 +21490,44 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 651, col: 5, offset: 21000}, + pos: position{line: 641, col: 5, offset: 20579}, run: (*parser).callonInlineImage40, expr: &seqExpr{ - pos: position{line: 651, col: 5, offset: 21000}, + pos: position{line: 641, col: 5, offset: 20579}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 651, col: 5, offset: 21000}, + pos: position{line: 641, col: 5, offset: 20579}, run: (*parser).callonInlineImage42, }, &labeledExpr{ - pos: position{line: 654, col: 5, offset: 21069}, + pos: position{line: 644, col: 5, offset: 20648}, label: "element", expr: &choiceExpr{ - pos: position{line: 654, col: 14, offset: 21078}, + pos: position{line: 644, col: 14, offset: 20657}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 666, col: 25, offset: 21447}, + pos: position{line: 664, col: 25, offset: 21310}, run: (*parser).callonInlineImage45, expr: &seqExpr{ - pos: position{line: 666, col: 25, offset: 21447}, + pos: position{line: 664, col: 25, offset: 21310}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 666, col: 25, offset: 21447}, + pos: position{line: 664, col: 25, offset: 21310}, val: "{counter:", ignoreCase: false, want: "\"{counter:\"", }, &labeledExpr{ - pos: position{line: 666, col: 37, offset: 21459}, + pos: position{line: 664, col: 37, offset: 21322}, label: "name", expr: &actionExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, run: (*parser).callonInlineImage49, expr: &seqExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -20127,9 +21536,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 332, col: 28, offset: 10403}, + pos: position{line: 324, col: 28, offset: 10064}, expr: &charClassMatcher{ - pos: position{line: 332, col: 29, offset: 10404}, + pos: position{line: 324, col: 29, offset: 10065}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -20143,33 +21552,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 666, col: 56, offset: 21478}, + pos: position{line: 664, col: 56, offset: 21341}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 666, col: 62, offset: 21484}, + pos: position{line: 664, col: 62, offset: 21347}, expr: &actionExpr{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, run: (*parser).callonInlineImage56, expr: &seqExpr{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 674, col: 21, offset: 21783}, + pos: position{line: 672, col: 21, offset: 21646}, label: "start", expr: &choiceExpr{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, run: (*parser).callonInlineImage61, expr: &charClassMatcher{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -20177,12 +21586,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, run: (*parser).callonInlineImage63, expr: &oneOrMoreExpr{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, expr: &charClassMatcher{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -20199,7 +21608,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 666, col: 78, offset: 21500}, + pos: position{line: 664, col: 78, offset: 21363}, val: "}", ignoreCase: false, want: "\"}\"", @@ -20208,28 +21617,28 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 670, col: 25, offset: 21618}, + pos: position{line: 668, col: 25, offset: 21481}, run: (*parser).callonInlineImage67, expr: &seqExpr{ - pos: position{line: 670, col: 25, offset: 21618}, + pos: position{line: 668, col: 25, offset: 21481}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 670, col: 25, offset: 21618}, + pos: position{line: 668, col: 25, offset: 21481}, val: "{counter2:", ignoreCase: false, want: "\"{counter2:\"", }, &labeledExpr{ - pos: position{line: 670, col: 38, offset: 21631}, + pos: position{line: 668, col: 38, offset: 21494}, label: "name", expr: &actionExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, run: (*parser).callonInlineImage71, expr: &seqExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -20238,9 +21647,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 332, col: 28, offset: 10403}, + pos: position{line: 324, col: 28, offset: 10064}, expr: &charClassMatcher{ - pos: position{line: 332, col: 29, offset: 10404}, + pos: position{line: 324, col: 29, offset: 10065}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -20254,33 +21663,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 670, col: 57, offset: 21650}, + pos: position{line: 668, col: 57, offset: 21513}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 670, col: 63, offset: 21656}, + pos: position{line: 668, col: 63, offset: 21519}, expr: &actionExpr{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, run: (*parser).callonInlineImage78, expr: &seqExpr{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 674, col: 21, offset: 21783}, + pos: position{line: 672, col: 21, offset: 21646}, label: "start", expr: &choiceExpr{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, run: (*parser).callonInlineImage83, expr: &charClassMatcher{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -20288,12 +21697,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, run: (*parser).callonInlineImage85, expr: &oneOrMoreExpr{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, expr: &charClassMatcher{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -20310,7 +21719,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 670, col: 79, offset: 21672}, + pos: position{line: 668, col: 79, offset: 21535}, val: "}", ignoreCase: false, want: "\"}\"", @@ -20319,28 +21728,83 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 659, col: 5, offset: 21191}, + pos: position{line: 650, col: 5, offset: 20786}, run: (*parser).callonInlineImage89, expr: &seqExpr{ - pos: position{line: 659, col: 5, offset: 21191}, + pos: position{line: 650, col: 5, offset: 20786}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 650, col: 5, offset: 20786}, + val: "\\{", + ignoreCase: false, + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 650, col: 13, offset: 20794}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + run: (*parser).callonInlineImage93, + expr: &seqExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 324, col: 18, offset: 10054}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 324, col: 28, offset: 10064}, + expr: &charClassMatcher{ + pos: position{line: 324, col: 29, offset: 10065}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 650, col: 32, offset: 20813}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 657, col: 5, offset: 21054}, + run: (*parser).callonInlineImage99, + expr: &seqExpr{ + pos: position{line: 657, col: 5, offset: 21054}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 659, col: 5, offset: 21191}, + pos: position{line: 657, col: 5, offset: 21054}, val: "{", ignoreCase: false, want: "\"{\"", }, &labeledExpr{ - pos: position{line: 659, col: 9, offset: 21195}, + pos: position{line: 657, col: 9, offset: 21058}, label: "name", expr: &actionExpr{ - pos: position{line: 332, col: 18, offset: 10393}, - run: (*parser).callonInlineImage93, + pos: position{line: 324, col: 18, offset: 10054}, + run: (*parser).callonInlineImage103, expr: &seqExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -20349,9 +21813,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 332, col: 28, offset: 10403}, + pos: position{line: 324, col: 28, offset: 10064}, expr: &charClassMatcher{ - pos: position{line: 332, col: 29, offset: 10404}, + pos: position{line: 324, col: 29, offset: 10065}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -20365,7 +21829,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 659, col: 28, offset: 21214}, + pos: position{line: 657, col: 28, offset: 21077}, val: "}", ignoreCase: false, want: "\"}\"", @@ -20380,49 +21844,49 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2599, col: 5, offset: 86909}, - run: (*parser).callonInlineImage99, + pos: position{line: 2743, col: 5, offset: 89823}, + run: (*parser).callonInlineImage109, expr: &seqExpr{ - pos: position{line: 2599, col: 5, offset: 86909}, + pos: position{line: 2743, col: 5, offset: 89823}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 2599, col: 5, offset: 86909}, - run: (*parser).callonInlineImage101, + pos: position{line: 2743, col: 5, offset: 89823}, + run: (*parser).callonInlineImage111, }, &labeledExpr{ - pos: position{line: 2602, col: 5, offset: 86985}, + pos: position{line: 2746, col: 5, offset: 89899}, label: "element", expr: &choiceExpr{ - pos: position{line: 2604, col: 9, offset: 87083}, + pos: position{line: 2748, col: 9, offset: 89997}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2604, col: 9, offset: 87083}, - run: (*parser).callonInlineImage104, + pos: position{line: 2748, col: 9, offset: 89997}, + run: (*parser).callonInlineImage114, expr: &choiceExpr{ - pos: position{line: 694, col: 27, offset: 22498}, + pos: position{line: 692, col: 27, offset: 22361}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 694, col: 27, offset: 22498}, - run: (*parser).callonInlineImage106, + pos: position{line: 692, col: 27, offset: 22361}, + run: (*parser).callonInlineImage116, expr: &seqExpr{ - pos: position{line: 694, col: 27, offset: 22498}, + pos: position{line: 692, col: 27, offset: 22361}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 694, col: 27, offset: 22498}, + pos: position{line: 692, col: 27, offset: 22361}, val: "<<", ignoreCase: false, want: "\"<<\"", }, &labeledExpr{ - pos: position{line: 694, col: 32, offset: 22503}, + pos: position{line: 692, col: 32, offset: 22366}, label: "id", expr: &actionExpr{ - pos: position{line: 2884, col: 7, offset: 95839}, - run: (*parser).callonInlineImage110, + pos: position{line: 3043, col: 7, offset: 99263}, + run: (*parser).callonInlineImage120, expr: &oneOrMoreExpr{ - pos: position{line: 2884, col: 7, offset: 95839}, + pos: position{line: 3043, col: 7, offset: 99263}, expr: &charClassMatcher{ - pos: position{line: 2884, col: 7, offset: 95839}, + pos: position{line: 3043, col: 7, offset: 99263}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -20432,12 +21896,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 694, col: 40, offset: 22511}, + pos: position{line: 692, col: 40, offset: 22374}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, - run: (*parser).callonInlineImage114, + pos: position{line: 3058, col: 10, offset: 99611}, + run: (*parser).callonInlineImage124, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -20446,27 +21910,27 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 694, col: 47, offset: 22518}, + pos: position{line: 692, col: 47, offset: 22381}, val: ",", ignoreCase: false, want: "\",\"", }, &labeledExpr{ - pos: position{line: 694, col: 51, offset: 22522}, + pos: position{line: 692, col: 51, offset: 22385}, label: "label", expr: &oneOrMoreExpr{ - pos: position{line: 704, col: 24, offset: 22923}, + pos: position{line: 702, col: 24, offset: 22786}, expr: &choiceExpr{ - pos: position{line: 705, col: 5, offset: 22929}, + pos: position{line: 703, col: 5, offset: 22792}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 705, col: 6, offset: 22930}, - run: (*parser).callonInlineImage120, + pos: position{line: 703, col: 6, offset: 22793}, + run: (*parser).callonInlineImage130, expr: &seqExpr{ - pos: position{line: 705, col: 6, offset: 22930}, + pos: position{line: 703, col: 6, offset: 22793}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 705, col: 6, offset: 22930}, + pos: position{line: 703, col: 6, offset: 22793}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -20474,9 +21938,9 @@ var g = &grammar{ inverted: false, }, &oneOrMoreExpr{ - pos: position{line: 705, col: 14, offset: 22938}, + pos: position{line: 703, col: 14, offset: 22801}, expr: &charClassMatcher{ - pos: position{line: 705, col: 14, offset: 22938}, + pos: position{line: 703, col: 14, offset: 22801}, val: "[^\\r\\n{<>]", chars: []rune{'\r', '\n', '{', '<', '>'}, ignoreCase: false, @@ -20487,28 +21951,83 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 659, col: 5, offset: 21191}, - run: (*parser).callonInlineImage125, + pos: position{line: 650, col: 5, offset: 20786}, + run: (*parser).callonInlineImage135, expr: &seqExpr{ - pos: position{line: 659, col: 5, offset: 21191}, + pos: position{line: 650, col: 5, offset: 20786}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 659, col: 5, offset: 21191}, + pos: position{line: 650, col: 5, offset: 20786}, + val: "\\{", + ignoreCase: false, + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 650, col: 13, offset: 20794}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + run: (*parser).callonInlineImage139, + expr: &seqExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 324, col: 18, offset: 10054}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 324, col: 28, offset: 10064}, + expr: &charClassMatcher{ + pos: position{line: 324, col: 29, offset: 10065}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 650, col: 32, offset: 20813}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 657, col: 5, offset: 21054}, + run: (*parser).callonInlineImage145, + expr: &seqExpr{ + pos: position{line: 657, col: 5, offset: 21054}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 657, col: 5, offset: 21054}, val: "{", ignoreCase: false, want: "\"{\"", }, &labeledExpr{ - pos: position{line: 659, col: 9, offset: 21195}, + pos: position{line: 657, col: 9, offset: 21058}, label: "name", expr: &actionExpr{ - pos: position{line: 332, col: 18, offset: 10393}, - run: (*parser).callonInlineImage129, + pos: position{line: 324, col: 18, offset: 10054}, + run: (*parser).callonInlineImage149, expr: &seqExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -20517,9 +22036,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 332, col: 28, offset: 10403}, + pos: position{line: 324, col: 28, offset: 10064}, expr: &charClassMatcher{ - pos: position{line: 332, col: 29, offset: 10404}, + pos: position{line: 324, col: 29, offset: 10065}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -20533,7 +22052,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 659, col: 28, offset: 21214}, + pos: position{line: 657, col: 28, offset: 21077}, val: "}", ignoreCase: false, want: "\"}\"", @@ -20542,10 +22061,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 709, col: 8, offset: 23164}, - run: (*parser).callonInlineImage135, + pos: position{line: 707, col: 8, offset: 23027}, + run: (*parser).callonInlineImage155, expr: &litMatcher{ - pos: position{line: 709, col: 8, offset: 23164}, + pos: position{line: 707, col: 8, offset: 23027}, val: "{", ignoreCase: false, want: "\"{\"", @@ -20556,7 +22075,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 694, col: 79, offset: 22550}, + pos: position{line: 692, col: 79, offset: 22413}, val: ">>", ignoreCase: false, want: "\">>\"", @@ -20565,27 +22084,27 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 696, col: 9, offset: 22623}, - run: (*parser).callonInlineImage138, + pos: position{line: 694, col: 9, offset: 22486}, + run: (*parser).callonInlineImage158, expr: &seqExpr{ - pos: position{line: 696, col: 9, offset: 22623}, + pos: position{line: 694, col: 9, offset: 22486}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 696, col: 9, offset: 22623}, + pos: position{line: 694, col: 9, offset: 22486}, val: "<<", ignoreCase: false, want: "\"<<\"", }, &labeledExpr{ - pos: position{line: 696, col: 14, offset: 22628}, + pos: position{line: 694, col: 14, offset: 22491}, label: "id", expr: &actionExpr{ - pos: position{line: 2884, col: 7, offset: 95839}, - run: (*parser).callonInlineImage142, + pos: position{line: 3043, col: 7, offset: 99263}, + run: (*parser).callonInlineImage162, expr: &oneOrMoreExpr{ - pos: position{line: 2884, col: 7, offset: 95839}, + pos: position{line: 3043, col: 7, offset: 99263}, expr: &charClassMatcher{ - pos: position{line: 2884, col: 7, offset: 95839}, + pos: position{line: 3043, col: 7, offset: 99263}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -20595,7 +22114,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 696, col: 22, offset: 22636}, + pos: position{line: 694, col: 22, offset: 22499}, val: ">>", ignoreCase: false, want: "\">>\"", @@ -20607,10 +22126,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2607, col: 11, offset: 87187}, - run: (*parser).callonInlineImage146, + pos: position{line: 2751, col: 11, offset: 90101}, + run: (*parser).callonInlineImage166, expr: &charClassMatcher{ - pos: position{line: 2607, col: 12, offset: 87188}, + pos: position{line: 2751, col: 12, offset: 90102}, val: "[<>&]", chars: []rune{'<', '>', '&'}, ignoreCase: false, @@ -20624,10 +22143,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2878, col: 11, offset: 95683}, - run: (*parser).callonInlineImage148, + pos: position{line: 3037, col: 11, offset: 99107}, + run: (*parser).callonInlineImage168, expr: &litMatcher{ - pos: position{line: 2878, col: 11, offset: 95683}, + pos: position{line: 3037, col: 11, offset: 99107}, val: "{", ignoreCase: false, want: "\"{\"", @@ -20641,27 +22160,27 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1122, col: 23, offset: 34991}, - run: (*parser).callonInlineImage150, + pos: position{line: 1120, col: 23, offset: 34854}, + run: (*parser).callonInlineImage170, expr: &seqExpr{ - pos: position{line: 1122, col: 23, offset: 34991}, + pos: position{line: 1120, col: 23, offset: 34854}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1120, col: 32, offset: 34959}, + pos: position{line: 1118, col: 32, offset: 34822}, val: "�", ignoreCase: false, want: "\"�\"", }, &labeledExpr{ - pos: position{line: 1122, col: 51, offset: 35019}, + pos: position{line: 1120, col: 51, offset: 34882}, label: "ref", expr: &actionExpr{ - pos: position{line: 1122, col: 56, offset: 35024}, - run: (*parser).callonInlineImage154, + pos: position{line: 1120, col: 56, offset: 34887}, + run: (*parser).callonInlineImage174, expr: &oneOrMoreExpr{ - pos: position{line: 1122, col: 56, offset: 35024}, + pos: position{line: 1120, col: 56, offset: 34887}, expr: &charClassMatcher{ - pos: position{line: 1122, col: 56, offset: 35024}, + pos: position{line: 1120, col: 56, offset: 34887}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -20671,7 +22190,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1120, col: 32, offset: 34959}, + pos: position{line: 1118, col: 32, offset: 34822}, val: "�", ignoreCase: false, want: "\"�\"", @@ -20688,10 +22207,10 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1238, col: 46, offset: 39189}, + pos: position{line: 1244, col: 46, offset: 39307}, label: "attributes", expr: &ruleRefExpr{ - pos: position{line: 1238, col: 58, offset: 39201}, + pos: position{line: 1244, col: 58, offset: 39319}, name: "InlineAttributes", }, }, @@ -20701,29 +22220,29 @@ var g = &grammar{ }, { name: "InlineIcon", - pos: position{line: 1245, col: 1, offset: 39597}, + pos: position{line: 1251, col: 1, offset: 39715}, expr: &actionExpr{ - pos: position{line: 1245, col: 15, offset: 39611}, + pos: position{line: 1251, col: 15, offset: 39729}, run: (*parser).callonInlineIcon1, expr: &seqExpr{ - pos: position{line: 1245, col: 15, offset: 39611}, + pos: position{line: 1251, col: 15, offset: 39729}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1245, col: 15, offset: 39611}, + pos: position{line: 1251, col: 15, offset: 39729}, val: "icon:", ignoreCase: false, want: "\"icon:\"", }, &labeledExpr{ - pos: position{line: 1245, col: 23, offset: 39619}, + pos: position{line: 1251, col: 23, offset: 39737}, label: "icon", expr: &actionExpr{ - pos: position{line: 1245, col: 29, offset: 39625}, + pos: position{line: 1251, col: 29, offset: 39743}, run: (*parser).callonInlineIcon5, expr: &oneOrMoreExpr{ - pos: position{line: 1245, col: 29, offset: 39625}, + pos: position{line: 1251, col: 29, offset: 39743}, expr: &charClassMatcher{ - pos: position{line: 1245, col: 29, offset: 39625}, + pos: position{line: 1251, col: 29, offset: 39743}, val: "[_-0-9\\pL]", chars: []rune{'_', '-'}, ranges: []rune{'0', '9'}, @@ -20735,10 +22254,10 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1245, col: 73, offset: 39669}, + pos: position{line: 1251, col: 73, offset: 39787}, label: "attributes", expr: &ruleRefExpr{ - pos: position{line: 1245, col: 85, offset: 39681}, + pos: position{line: 1251, col: 85, offset: 39799}, name: "InlineAttributes", }, }, @@ -20748,32 +22267,32 @@ var g = &grammar{ }, { name: "InlineFootnote", - pos: position{line: 1252, col: 1, offset: 40047}, + pos: position{line: 1258, col: 1, offset: 40165}, expr: &choiceExpr{ - pos: position{line: 1252, col: 19, offset: 40065}, + pos: position{line: 1258, col: 19, offset: 40183}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1252, col: 19, offset: 40065}, + pos: position{line: 1258, col: 19, offset: 40183}, run: (*parser).callonInlineFootnote2, expr: &seqExpr{ - pos: position{line: 1252, col: 19, offset: 40065}, + pos: position{line: 1258, col: 19, offset: 40183}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1252, col: 19, offset: 40065}, + pos: position{line: 1258, col: 19, offset: 40183}, val: "footnote:[", ignoreCase: false, want: "\"footnote:[\"", }, &labeledExpr{ - pos: position{line: 1252, col: 32, offset: 40078}, + pos: position{line: 1258, col: 32, offset: 40196}, label: "content", expr: &ruleRefExpr{ - pos: position{line: 1252, col: 41, offset: 40087}, + pos: position{line: 1258, col: 41, offset: 40205}, name: "FootnoteContent", }, }, &litMatcher{ - pos: position{line: 1252, col: 58, offset: 40104}, + pos: position{line: 1258, col: 58, offset: 40222}, val: "]", ignoreCase: false, want: "\"]\"", @@ -20782,27 +22301,27 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1254, col: 9, offset: 40164}, + pos: position{line: 1260, col: 9, offset: 40282}, run: (*parser).callonInlineFootnote8, expr: &seqExpr{ - pos: position{line: 1254, col: 9, offset: 40164}, + pos: position{line: 1260, col: 9, offset: 40282}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1254, col: 9, offset: 40164}, + pos: position{line: 1260, col: 9, offset: 40282}, val: "footnote:", ignoreCase: false, want: "\"footnote:\"", }, &labeledExpr{ - pos: position{line: 1254, col: 21, offset: 40176}, + pos: position{line: 1260, col: 21, offset: 40294}, label: "ref", expr: &actionExpr{ - pos: position{line: 2817, col: 14, offset: 93577}, + pos: position{line: 2976, col: 14, offset: 97001}, run: (*parser).callonInlineFootnote12, expr: &oneOrMoreExpr{ - pos: position{line: 2817, col: 14, offset: 93577}, + pos: position{line: 2976, col: 14, offset: 97001}, expr: &charClassMatcher{ - pos: position{line: 2817, col: 14, offset: 93577}, + pos: position{line: 2976, col: 14, offset: 97001}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -20813,24 +22332,24 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1254, col: 39, offset: 40194}, + pos: position{line: 1260, col: 39, offset: 40312}, val: "[", ignoreCase: false, want: "\"[\"", }, &labeledExpr{ - pos: position{line: 1254, col: 43, offset: 40198}, + pos: position{line: 1260, col: 43, offset: 40316}, label: "content", expr: &zeroOrOneExpr{ - pos: position{line: 1254, col: 51, offset: 40206}, + pos: position{line: 1260, col: 51, offset: 40324}, expr: &ruleRefExpr{ - pos: position{line: 1254, col: 52, offset: 40207}, + pos: position{line: 1260, col: 52, offset: 40325}, name: "FootnoteContent", }, }, }, &litMatcher{ - pos: position{line: 1254, col: 70, offset: 40225}, + pos: position{line: 1260, col: 70, offset: 40343}, val: "]", ignoreCase: false, want: "\"]\"", @@ -20843,29 +22362,29 @@ var g = &grammar{ }, { name: "FootnoteContent", - pos: position{line: 1260, col: 1, offset: 40374}, + pos: position{line: 1266, col: 1, offset: 40492}, expr: &actionExpr{ - pos: position{line: 1260, col: 20, offset: 40393}, + pos: position{line: 1266, col: 20, offset: 40511}, run: (*parser).callonFootnoteContent1, expr: &labeledExpr{ - pos: position{line: 1260, col: 20, offset: 40393}, + pos: position{line: 1266, col: 20, offset: 40511}, label: "elements", expr: &oneOrMoreExpr{ - pos: position{line: 1260, col: 29, offset: 40402}, + pos: position{line: 1266, col: 29, offset: 40520}, expr: &seqExpr{ - pos: position{line: 1260, col: 30, offset: 40403}, + pos: position{line: 1266, col: 30, offset: 40521}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 1260, col: 30, offset: 40403}, + pos: position{line: 1266, col: 30, offset: 40521}, expr: &litMatcher{ - pos: position{line: 1260, col: 31, offset: 40404}, + pos: position{line: 1266, col: 31, offset: 40522}, val: "]", ignoreCase: false, want: "\"]\"", }, }, &ruleRefExpr{ - pos: position{line: 1260, col: 35, offset: 40408}, + pos: position{line: 1266, col: 35, offset: 40526}, name: "InlineElement", }, }, @@ -20876,32 +22395,32 @@ var g = &grammar{ }, { name: "PassthroughMacro", - pos: position{line: 1292, col: 1, offset: 42097}, + pos: position{line: 1298, col: 1, offset: 42215}, expr: &choiceExpr{ - pos: position{line: 1292, col: 21, offset: 42117}, + pos: position{line: 1298, col: 21, offset: 42235}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1292, col: 21, offset: 42117}, + pos: position{line: 1298, col: 21, offset: 42235}, run: (*parser).callonPassthroughMacro2, expr: &seqExpr{ - pos: position{line: 1292, col: 21, offset: 42117}, + pos: position{line: 1298, col: 21, offset: 42235}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1292, col: 21, offset: 42117}, + pos: position{line: 1298, col: 21, offset: 42235}, val: "pass:[", ignoreCase: false, want: "\"pass:[\"", }, &labeledExpr{ - pos: position{line: 1292, col: 30, offset: 42126}, + pos: position{line: 1298, col: 30, offset: 42244}, label: "content", expr: &zeroOrMoreExpr{ - pos: position{line: 1292, col: 38, offset: 42134}, + pos: position{line: 1298, col: 38, offset: 42252}, expr: &actionExpr{ - pos: position{line: 1298, col: 30, offset: 42460}, + pos: position{line: 1304, col: 30, offset: 42578}, run: (*parser).callonPassthroughMacro7, expr: &charClassMatcher{ - pos: position{line: 1298, col: 30, offset: 42460}, + pos: position{line: 1304, col: 30, offset: 42578}, val: "[^]]", chars: []rune{']'}, ignoreCase: false, @@ -20911,7 +22430,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1292, col: 67, offset: 42163}, + pos: position{line: 1298, col: 67, offset: 42281}, val: "]", ignoreCase: false, want: "\"]\"", @@ -20920,34 +22439,34 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1294, col: 9, offset: 42267}, + pos: position{line: 1300, col: 9, offset: 42385}, run: (*parser).callonPassthroughMacro10, expr: &seqExpr{ - pos: position{line: 1294, col: 9, offset: 42267}, + pos: position{line: 1300, col: 9, offset: 42385}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1294, col: 9, offset: 42267}, + pos: position{line: 1300, col: 9, offset: 42385}, val: "pass:q[", ignoreCase: false, want: "\"pass:q[\"", }, &labeledExpr{ - pos: position{line: 1294, col: 19, offset: 42277}, + pos: position{line: 1300, col: 19, offset: 42395}, label: "content", expr: &zeroOrMoreExpr{ - pos: position{line: 1294, col: 27, offset: 42285}, + pos: position{line: 1300, col: 27, offset: 42403}, expr: &choiceExpr{ - pos: position{line: 1294, col: 28, offset: 42286}, + pos: position{line: 1300, col: 28, offset: 42404}, alternatives: []interface{}{ &ruleRefExpr{ - pos: position{line: 1294, col: 28, offset: 42286}, + pos: position{line: 1300, col: 28, offset: 42404}, name: "QuotedText", }, &actionExpr{ - pos: position{line: 1298, col: 30, offset: 42460}, + pos: position{line: 1304, col: 30, offset: 42578}, run: (*parser).callonPassthroughMacro17, expr: &charClassMatcher{ - pos: position{line: 1298, col: 30, offset: 42460}, + pos: position{line: 1304, col: 30, offset: 42578}, val: "[^]]", chars: []rune{']'}, ignoreCase: false, @@ -20959,7 +22478,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1294, col: 69, offset: 42327}, + pos: position{line: 1300, col: 69, offset: 42445}, val: "]", ignoreCase: false, want: "\"]\"", @@ -20972,72 +22491,72 @@ var g = &grammar{ }, { name: "Link", - pos: position{line: 1305, col: 1, offset: 42716}, + pos: position{line: 1311, col: 1, offset: 42834}, expr: &choiceExpr{ - pos: position{line: 1305, col: 9, offset: 42724}, + pos: position{line: 1311, col: 9, offset: 42842}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1308, col: 5, offset: 42779}, + pos: position{line: 1314, col: 5, offset: 42896}, run: (*parser).callonLink2, expr: &seqExpr{ - pos: position{line: 1308, col: 5, offset: 42779}, + pos: position{line: 1314, col: 5, offset: 42896}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1308, col: 5, offset: 42779}, + pos: position{line: 1314, col: 5, offset: 42896}, val: "<", ignoreCase: false, want: "\"<\"", }, &labeledExpr{ - pos: position{line: 1309, col: 5, offset: 42788}, + pos: position{line: 1315, col: 5, offset: 42905}, label: "url", expr: &actionExpr{ - pos: position{line: 2863, col: 23, offset: 95072}, + pos: position{line: 3022, col: 23, offset: 98496}, run: (*parser).callonLink6, expr: &seqExpr{ - pos: position{line: 2863, col: 23, offset: 95072}, + pos: position{line: 3022, col: 23, offset: 98496}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 2863, col: 23, offset: 95072}, + pos: position{line: 3022, col: 23, offset: 98496}, expr: &litMatcher{ - pos: position{line: 2863, col: 24, offset: 95073}, + pos: position{line: 3022, col: 24, offset: 98497}, val: "[", ignoreCase: false, want: "\"[\"", }, }, &labeledExpr{ - pos: position{line: 2863, col: 28, offset: 95077}, + pos: position{line: 3022, col: 28, offset: 98501}, label: "scheme", expr: &choiceExpr{ - pos: position{line: 2867, col: 11, offset: 95192}, + pos: position{line: 3026, col: 11, offset: 98616}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2867, col: 11, offset: 95192}, + pos: position{line: 3026, col: 11, offset: 98616}, val: "http://", ignoreCase: false, want: "\"http://\"", }, &litMatcher{ - pos: position{line: 2867, col: 23, offset: 95204}, + pos: position{line: 3026, col: 23, offset: 98628}, val: "https://", ignoreCase: false, want: "\"https://\"", }, &litMatcher{ - pos: position{line: 2867, col: 36, offset: 95217}, + pos: position{line: 3026, col: 36, offset: 98641}, val: "ftp://", ignoreCase: false, want: "\"ftp://\"", }, &litMatcher{ - pos: position{line: 2867, col: 47, offset: 95228}, + pos: position{line: 3026, col: 47, offset: 98652}, val: "irc://", ignoreCase: false, want: "\"irc://\"", }, &litMatcher{ - pos: position{line: 2867, col: 58, offset: 95239}, + pos: position{line: 3026, col: 58, offset: 98663}, val: "mailto:", ignoreCase: false, want: "\"mailto:\"", @@ -21046,40 +22565,40 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 2863, col: 44, offset: 95093}, + pos: position{line: 3022, col: 44, offset: 98517}, label: "path", expr: &oneOrMoreExpr{ - pos: position{line: 2863, col: 49, offset: 95098}, + pos: position{line: 3022, col: 49, offset: 98522}, expr: &actionExpr{ - pos: position{line: 2870, col: 5, offset: 95267}, + pos: position{line: 3029, col: 5, offset: 98691}, run: (*parser).callonLink19, expr: &seqExpr{ - pos: position{line: 2870, col: 5, offset: 95267}, + pos: position{line: 3029, col: 5, offset: 98691}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 2870, col: 5, offset: 95267}, + pos: position{line: 3029, col: 5, offset: 98691}, expr: &litMatcher{ - pos: position{line: 2870, col: 6, offset: 95268}, + pos: position{line: 3029, col: 6, offset: 98692}, val: "[", ignoreCase: false, want: "\"[\"", }, }, &labeledExpr{ - pos: position{line: 2871, col: 5, offset: 95292}, + pos: position{line: 3030, col: 5, offset: 98716}, label: "elements", expr: &oneOrMoreExpr{ - pos: position{line: 2871, col: 14, offset: 95301}, + pos: position{line: 3030, col: 14, offset: 98725}, expr: &choiceExpr{ - pos: position{line: 2872, col: 9, offset: 95311}, + pos: position{line: 3031, col: 9, offset: 98735}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2872, col: 9, offset: 95311}, + pos: position{line: 3031, col: 9, offset: 98735}, run: (*parser).callonLink26, expr: &oneOrMoreExpr{ - pos: position{line: 2872, col: 9, offset: 95311}, + pos: position{line: 3031, col: 9, offset: 98735}, expr: &charClassMatcher{ - pos: position{line: 2872, col: 10, offset: 95312}, + pos: position{line: 3031, col: 10, offset: 98736}, val: "[^\\r\\n[]�{.,;?!<> ]", chars: []rune{'\r', '\n', '[', ']', '�', '{', '.', ',', ';', '?', '!', '<', '>', ' '}, ignoreCase: false, @@ -21088,13 +22607,13 @@ var g = &grammar{ }, }, &seqExpr{ - pos: position{line: 2875, col: 11, offset: 95577}, + pos: position{line: 3034, col: 11, offset: 99001}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 2845, col: 25, offset: 94548}, + pos: position{line: 3004, col: 25, offset: 97972}, run: (*parser).callonLink30, expr: &charClassMatcher{ - pos: position{line: 2845, col: 25, offset: 94548}, + pos: position{line: 3004, col: 25, offset: 97972}, val: "[.,;?!]", chars: []rune{'.', ',', ';', '?', '!'}, ignoreCase: false, @@ -21102,23 +22621,23 @@ var g = &grammar{ }, }, &andExpr{ - pos: position{line: 2875, col: 32, offset: 95598}, + pos: position{line: 3034, col: 32, offset: 99022}, expr: ¬Expr{ - pos: position{line: 2875, col: 34, offset: 95600}, + pos: position{line: 3034, col: 34, offset: 99024}, expr: &choiceExpr{ - pos: position{line: 2875, col: 36, offset: 95602}, + pos: position{line: 3034, col: 36, offset: 99026}, alternatives: []interface{}{ ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonLink37, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -21132,44 +22651,44 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 651, col: 5, offset: 21000}, + pos: position{line: 641, col: 5, offset: 20579}, run: (*parser).callonLink39, expr: &seqExpr{ - pos: position{line: 651, col: 5, offset: 21000}, + pos: position{line: 641, col: 5, offset: 20579}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 651, col: 5, offset: 21000}, + pos: position{line: 641, col: 5, offset: 20579}, run: (*parser).callonLink41, }, &labeledExpr{ - pos: position{line: 654, col: 5, offset: 21069}, + pos: position{line: 644, col: 5, offset: 20648}, label: "element", expr: &choiceExpr{ - pos: position{line: 654, col: 14, offset: 21078}, + pos: position{line: 644, col: 14, offset: 20657}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 666, col: 25, offset: 21447}, + pos: position{line: 664, col: 25, offset: 21310}, run: (*parser).callonLink44, expr: &seqExpr{ - pos: position{line: 666, col: 25, offset: 21447}, + pos: position{line: 664, col: 25, offset: 21310}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 666, col: 25, offset: 21447}, + pos: position{line: 664, col: 25, offset: 21310}, val: "{counter:", ignoreCase: false, want: "\"{counter:\"", }, &labeledExpr{ - pos: position{line: 666, col: 37, offset: 21459}, + pos: position{line: 664, col: 37, offset: 21322}, label: "name", expr: &actionExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, run: (*parser).callonLink48, expr: &seqExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -21178,9 +22697,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 332, col: 28, offset: 10403}, + pos: position{line: 324, col: 28, offset: 10064}, expr: &charClassMatcher{ - pos: position{line: 332, col: 29, offset: 10404}, + pos: position{line: 324, col: 29, offset: 10065}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -21194,33 +22713,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 666, col: 56, offset: 21478}, + pos: position{line: 664, col: 56, offset: 21341}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 666, col: 62, offset: 21484}, + pos: position{line: 664, col: 62, offset: 21347}, expr: &actionExpr{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, run: (*parser).callonLink55, expr: &seqExpr{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 674, col: 21, offset: 21783}, + pos: position{line: 672, col: 21, offset: 21646}, label: "start", expr: &choiceExpr{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, run: (*parser).callonLink60, expr: &charClassMatcher{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -21228,12 +22747,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, run: (*parser).callonLink62, expr: &oneOrMoreExpr{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, expr: &charClassMatcher{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -21250,7 +22769,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 666, col: 78, offset: 21500}, + pos: position{line: 664, col: 78, offset: 21363}, val: "}", ignoreCase: false, want: "\"}\"", @@ -21259,28 +22778,28 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 670, col: 25, offset: 21618}, + pos: position{line: 668, col: 25, offset: 21481}, run: (*parser).callonLink66, expr: &seqExpr{ - pos: position{line: 670, col: 25, offset: 21618}, + pos: position{line: 668, col: 25, offset: 21481}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 670, col: 25, offset: 21618}, + pos: position{line: 668, col: 25, offset: 21481}, val: "{counter2:", ignoreCase: false, want: "\"{counter2:\"", }, &labeledExpr{ - pos: position{line: 670, col: 38, offset: 21631}, + pos: position{line: 668, col: 38, offset: 21494}, label: "name", expr: &actionExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, run: (*parser).callonLink70, expr: &seqExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -21289,9 +22808,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 332, col: 28, offset: 10403}, + pos: position{line: 324, col: 28, offset: 10064}, expr: &charClassMatcher{ - pos: position{line: 332, col: 29, offset: 10404}, + pos: position{line: 324, col: 29, offset: 10065}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -21305,33 +22824,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 670, col: 57, offset: 21650}, + pos: position{line: 668, col: 57, offset: 21513}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 670, col: 63, offset: 21656}, + pos: position{line: 668, col: 63, offset: 21519}, expr: &actionExpr{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, run: (*parser).callonLink77, expr: &seqExpr{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 674, col: 21, offset: 21783}, + pos: position{line: 672, col: 21, offset: 21646}, label: "start", expr: &choiceExpr{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, run: (*parser).callonLink82, expr: &charClassMatcher{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -21339,12 +22858,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, run: (*parser).callonLink84, expr: &oneOrMoreExpr{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, expr: &charClassMatcher{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -21361,7 +22880,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 670, col: 79, offset: 21672}, + pos: position{line: 668, col: 79, offset: 21535}, val: "}", ignoreCase: false, want: "\"}\"", @@ -21370,28 +22889,28 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 659, col: 5, offset: 21191}, + pos: position{line: 650, col: 5, offset: 20786}, run: (*parser).callonLink88, expr: &seqExpr{ - pos: position{line: 659, col: 5, offset: 21191}, + pos: position{line: 650, col: 5, offset: 20786}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 659, col: 5, offset: 21191}, - val: "{", + pos: position{line: 650, col: 5, offset: 20786}, + val: "\\{", ignoreCase: false, - want: "\"{\"", + want: "\"\\\\{\"", }, &labeledExpr{ - pos: position{line: 659, col: 9, offset: 21195}, + pos: position{line: 650, col: 13, offset: 20794}, label: "name", expr: &actionExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, run: (*parser).callonLink92, expr: &seqExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -21400,9 +22919,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 332, col: 28, offset: 10403}, + pos: position{line: 324, col: 28, offset: 10064}, expr: &charClassMatcher{ - pos: position{line: 332, col: 29, offset: 10404}, + pos: position{line: 324, col: 29, offset: 10065}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -21416,7 +22935,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 659, col: 28, offset: 21214}, + pos: position{line: 650, col: 32, offset: 20813}, val: "}", ignoreCase: false, want: "\"}\"", @@ -21424,504 +22943,29 @@ var g = &grammar{ }, }, }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2599, col: 5, offset: 86909}, - run: (*parser).callonLink98, - expr: &seqExpr{ - pos: position{line: 2599, col: 5, offset: 86909}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 2599, col: 5, offset: 86909}, - run: (*parser).callonLink100, - }, - &labeledExpr{ - pos: position{line: 2602, col: 5, offset: 86985}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 2604, col: 9, offset: 87083}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2604, col: 9, offset: 87083}, - run: (*parser).callonLink103, - expr: &choiceExpr{ - pos: position{line: 694, col: 27, offset: 22498}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 694, col: 27, offset: 22498}, - run: (*parser).callonLink105, - expr: &seqExpr{ - pos: position{line: 694, col: 27, offset: 22498}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 694, col: 27, offset: 22498}, - val: "<<", - ignoreCase: false, - want: "\"<<\"", - }, - &labeledExpr{ - pos: position{line: 694, col: 32, offset: 22503}, - label: "id", - expr: &actionExpr{ - pos: position{line: 2884, col: 7, offset: 95839}, - run: (*parser).callonLink109, - expr: &oneOrMoreExpr{ - pos: position{line: 2884, col: 7, offset: 95839}, - expr: &charClassMatcher{ - pos: position{line: 2884, col: 7, offset: 95839}, - val: "[^[]<>,]", - chars: []rune{'[', ']', '<', '>', ','}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - &zeroOrMoreExpr{ - pos: position{line: 694, col: 40, offset: 22511}, - expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, - run: (*parser).callonLink113, - expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &litMatcher{ - pos: position{line: 694, col: 47, offset: 22518}, - val: ",", - ignoreCase: false, - want: "\",\"", - }, - &labeledExpr{ - pos: position{line: 694, col: 51, offset: 22522}, - label: "label", - expr: &oneOrMoreExpr{ - pos: position{line: 704, col: 24, offset: 22923}, - expr: &choiceExpr{ - pos: position{line: 705, col: 5, offset: 22929}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 705, col: 6, offset: 22930}, - run: (*parser).callonLink119, - expr: &seqExpr{ - pos: position{line: 705, col: 6, offset: 22930}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 705, col: 6, offset: 22930}, - val: "[0-9\\pL]", - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &oneOrMoreExpr{ - pos: position{line: 705, col: 14, offset: 22938}, - expr: &charClassMatcher{ - pos: position{line: 705, col: 14, offset: 22938}, - val: "[^\\r\\n{<>]", - chars: []rune{'\r', '\n', '{', '<', '>'}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 659, col: 5, offset: 21191}, - run: (*parser).callonLink124, - expr: &seqExpr{ - pos: position{line: 659, col: 5, offset: 21191}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 659, col: 5, offset: 21191}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - &labeledExpr{ - pos: position{line: 659, col: 9, offset: 21195}, - label: "name", - expr: &actionExpr{ - pos: position{line: 332, col: 18, offset: 10393}, - run: (*parser).callonLink128, - expr: &seqExpr{ - pos: position{line: 332, col: 18, offset: 10393}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 332, col: 18, offset: 10393}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 332, col: 28, offset: 10403}, - expr: &charClassMatcher{ - pos: position{line: 332, col: 29, offset: 10404}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 659, col: 28, offset: 21214}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 709, col: 8, offset: 23164}, - run: (*parser).callonLink134, - expr: &litMatcher{ - pos: position{line: 709, col: 8, offset: 23164}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 694, col: 79, offset: 22550}, - val: ">>", - ignoreCase: false, - want: "\">>\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 696, col: 9, offset: 22623}, - run: (*parser).callonLink137, - expr: &seqExpr{ - pos: position{line: 696, col: 9, offset: 22623}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 696, col: 9, offset: 22623}, - val: "<<", - ignoreCase: false, - want: "\"<<\"", - }, - &labeledExpr{ - pos: position{line: 696, col: 14, offset: 22628}, - label: "id", - expr: &actionExpr{ - pos: position{line: 2884, col: 7, offset: 95839}, - run: (*parser).callonLink141, - expr: &oneOrMoreExpr{ - pos: position{line: 2884, col: 7, offset: 95839}, - expr: &charClassMatcher{ - pos: position{line: 2884, col: 7, offset: 95839}, - val: "[^[]<>,]", - chars: []rune{'[', ']', '<', '>', ','}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 696, col: 22, offset: 22636}, - val: ">>", - ignoreCase: false, - want: "\">>\"", - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2607, col: 11, offset: 87187}, - run: (*parser).callonLink145, - expr: &charClassMatcher{ - pos: position{line: 2607, col: 12, offset: 87188}, - val: "[<>&]", - chars: []rune{'<', '>', '&'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2878, col: 11, offset: 95683}, - run: (*parser).callonLink147, - expr: &litMatcher{ - pos: position{line: 2878, col: 11, offset: 95683}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 1310, col: 5, offset: 42855}, - label: "closingBracket", - expr: &zeroOrOneExpr{ - pos: position{line: 1310, col: 20, offset: 42870}, - expr: &litMatcher{ - pos: position{line: 1310, col: 21, offset: 42871}, - val: ">", - ignoreCase: false, - want: "\">\"", - }, - }, - }, - &andCodeExpr{ - pos: position{line: 1311, col: 5, offset: 42902}, - run: (*parser).callonLink152, - }, - }, - }, - }, - &ruleRefExpr{ - pos: position{line: 1305, col: 19, offset: 42734}, - name: "RelativeLink", - }, - &ruleRefExpr{ - pos: position{line: 1305, col: 34, offset: 42749}, - name: "ExternalLink", - }, - }, - }, - }, - { - name: "RelativeLink", - pos: position{line: 1319, col: 1, offset: 43117}, - expr: &actionExpr{ - pos: position{line: 1319, col: 17, offset: 43133}, - run: (*parser).callonRelativeLink1, - expr: &seqExpr{ - pos: position{line: 1319, col: 17, offset: 43133}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 1319, col: 17, offset: 43133}, - val: "link:", - ignoreCase: false, - want: "\"link:\"", - }, - &labeledExpr{ - pos: position{line: 1319, col: 25, offset: 43141}, - label: "url", - expr: &actionExpr{ - pos: position{line: 2859, col: 13, offset: 94923}, - run: (*parser).callonRelativeLink5, - expr: &seqExpr{ - pos: position{line: 2859, col: 13, offset: 94923}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 2859, col: 13, offset: 94923}, - label: "scheme", - expr: &zeroOrOneExpr{ - pos: position{line: 2859, col: 20, offset: 94930}, - expr: &choiceExpr{ - pos: position{line: 2867, col: 11, offset: 95192}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2867, col: 11, offset: 95192}, - val: "http://", - ignoreCase: false, - want: "\"http://\"", - }, - &litMatcher{ - pos: position{line: 2867, col: 23, offset: 95204}, - val: "https://", - ignoreCase: false, - want: "\"https://\"", - }, - &litMatcher{ - pos: position{line: 2867, col: 36, offset: 95217}, - val: "ftp://", - ignoreCase: false, - want: "\"ftp://\"", - }, - &litMatcher{ - pos: position{line: 2867, col: 47, offset: 95228}, - val: "irc://", - ignoreCase: false, - want: "\"irc://\"", - }, - &litMatcher{ - pos: position{line: 2867, col: 58, offset: 95239}, - val: "mailto:", - ignoreCase: false, - want: "\"mailto:\"", - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 2859, col: 30, offset: 94940}, - label: "path", - expr: &oneOrMoreExpr{ - pos: position{line: 2859, col: 35, offset: 94945}, - expr: &choiceExpr{ - pos: position{line: 2859, col: 36, offset: 94946}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2870, col: 5, offset: 95267}, - run: (*parser).callonRelativeLink18, - expr: &seqExpr{ - pos: position{line: 2870, col: 5, offset: 95267}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 2870, col: 5, offset: 95267}, - expr: &litMatcher{ - pos: position{line: 2870, col: 6, offset: 95268}, - val: "[", - ignoreCase: false, - want: "\"[\"", - }, - }, - &labeledExpr{ - pos: position{line: 2871, col: 5, offset: 95292}, - label: "elements", - expr: &oneOrMoreExpr{ - pos: position{line: 2871, col: 14, offset: 95301}, - expr: &choiceExpr{ - pos: position{line: 2872, col: 9, offset: 95311}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2872, col: 9, offset: 95311}, - run: (*parser).callonRelativeLink25, - expr: &oneOrMoreExpr{ - pos: position{line: 2872, col: 9, offset: 95311}, - expr: &charClassMatcher{ - pos: position{line: 2872, col: 10, offset: 95312}, - val: "[^\\r\\n[]�{.,;?!<> ]", - chars: []rune{'\r', '\n', '[', ']', '�', '{', '.', ',', ';', '?', '!', '<', '>', ' '}, - ignoreCase: false, - inverted: true, - }, - }, - }, - &seqExpr{ - pos: position{line: 2875, col: 11, offset: 95577}, - exprs: []interface{}{ - &actionExpr{ - pos: position{line: 2845, col: 25, offset: 94548}, - run: (*parser).callonRelativeLink29, - expr: &charClassMatcher{ - pos: position{line: 2845, col: 25, offset: 94548}, - val: "[.,;?!]", - chars: []rune{'.', ',', ';', '?', '!'}, - ignoreCase: false, - inverted: false, - }, - }, - &andExpr{ - pos: position{line: 2875, col: 32, offset: 95598}, - expr: ¬Expr{ - pos: position{line: 2875, col: 34, offset: 95600}, - expr: &choiceExpr{ - pos: position{line: 2875, col: 36, offset: 95602}, - alternatives: []interface{}{ - ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, - expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, - }, - }, &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, - run: (*parser).callonRelativeLink36, - expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 651, col: 5, offset: 21000}, - run: (*parser).callonRelativeLink38, - expr: &seqExpr{ - pos: position{line: 651, col: 5, offset: 21000}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 651, col: 5, offset: 21000}, - run: (*parser).callonRelativeLink40, - }, - &labeledExpr{ - pos: position{line: 654, col: 5, offset: 21069}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 654, col: 14, offset: 21078}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 666, col: 25, offset: 21447}, - run: (*parser).callonRelativeLink43, + pos: position{line: 657, col: 5, offset: 21054}, + run: (*parser).callonLink98, expr: &seqExpr{ - pos: position{line: 666, col: 25, offset: 21447}, + pos: position{line: 657, col: 5, offset: 21054}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 666, col: 25, offset: 21447}, - val: "{counter:", + pos: position{line: 657, col: 5, offset: 21054}, + val: "{", ignoreCase: false, - want: "\"{counter:\"", + want: "\"{\"", }, &labeledExpr{ - pos: position{line: 666, col: 37, offset: 21459}, + pos: position{line: 657, col: 9, offset: 21058}, label: "name", expr: &actionExpr{ - pos: position{line: 332, col: 18, offset: 10393}, - run: (*parser).callonRelativeLink47, + pos: position{line: 324, col: 18, offset: 10054}, + run: (*parser).callonLink102, expr: &seqExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -21930,231 +22974,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 332, col: 28, offset: 10403}, + pos: position{line: 324, col: 28, offset: 10064}, expr: &charClassMatcher{ - pos: position{line: 332, col: 29, offset: 10404}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 666, col: 56, offset: 21478}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 666, col: 62, offset: 21484}, - expr: &actionExpr{ - pos: position{line: 674, col: 17, offset: 21779}, - run: (*parser).callonRelativeLink54, - expr: &seqExpr{ - pos: position{line: 674, col: 17, offset: 21779}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 674, col: 17, offset: 21779}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 674, col: 21, offset: 21783}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 674, col: 28, offset: 21790}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 674, col: 28, offset: 21790}, - run: (*parser).callonRelativeLink59, - expr: &charClassMatcher{ - pos: position{line: 674, col: 28, offset: 21790}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 676, col: 9, offset: 21844}, - run: (*parser).callonRelativeLink61, - expr: &oneOrMoreExpr{ - pos: position{line: 676, col: 9, offset: 21844}, - expr: &charClassMatcher{ - pos: position{line: 676, col: 9, offset: 21844}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 666, col: 78, offset: 21500}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 670, col: 25, offset: 21618}, - run: (*parser).callonRelativeLink65, - expr: &seqExpr{ - pos: position{line: 670, col: 25, offset: 21618}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 670, col: 25, offset: 21618}, - val: "{counter2:", - ignoreCase: false, - want: "\"{counter2:\"", - }, - &labeledExpr{ - pos: position{line: 670, col: 38, offset: 21631}, - label: "name", - expr: &actionExpr{ - pos: position{line: 332, col: 18, offset: 10393}, - run: (*parser).callonRelativeLink69, - expr: &seqExpr{ - pos: position{line: 332, col: 18, offset: 10393}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 332, col: 18, offset: 10393}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 332, col: 28, offset: 10403}, - expr: &charClassMatcher{ - pos: position{line: 332, col: 29, offset: 10404}, - 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: 57, offset: 21650}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 670, col: 63, offset: 21656}, - expr: &actionExpr{ - pos: position{line: 674, col: 17, offset: 21779}, - run: (*parser).callonRelativeLink76, - expr: &seqExpr{ - pos: position{line: 674, col: 17, offset: 21779}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 674, col: 17, offset: 21779}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 674, col: 21, offset: 21783}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 674, col: 28, offset: 21790}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 674, col: 28, offset: 21790}, - run: (*parser).callonRelativeLink81, - expr: &charClassMatcher{ - pos: position{line: 674, col: 28, offset: 21790}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 676, col: 9, offset: 21844}, - run: (*parser).callonRelativeLink83, - expr: &oneOrMoreExpr{ - pos: position{line: 676, col: 9, offset: 21844}, - expr: &charClassMatcher{ - pos: position{line: 676, col: 9, offset: 21844}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 670, col: 79, offset: 21672}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 659, col: 5, offset: 21191}, - run: (*parser).callonRelativeLink87, - expr: &seqExpr{ - pos: position{line: 659, col: 5, offset: 21191}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 659, col: 5, offset: 21191}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - &labeledExpr{ - pos: position{line: 659, col: 9, offset: 21195}, - label: "name", - expr: &actionExpr{ - pos: position{line: 332, col: 18, offset: 10393}, - run: (*parser).callonRelativeLink91, - expr: &seqExpr{ - pos: position{line: 332, col: 18, offset: 10393}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 332, col: 18, offset: 10393}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 332, col: 28, offset: 10403}, - expr: &charClassMatcher{ - pos: position{line: 332, col: 29, offset: 10404}, + pos: position{line: 324, col: 29, offset: 10065}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -22168,7 +22990,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 659, col: 28, offset: 21214}, + pos: position{line: 657, col: 28, offset: 21077}, val: "}", ignoreCase: false, want: "\"}\"", @@ -22183,49 +23005,49 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2599, col: 5, offset: 86909}, - run: (*parser).callonRelativeLink97, + pos: position{line: 2743, col: 5, offset: 89823}, + run: (*parser).callonLink108, expr: &seqExpr{ - pos: position{line: 2599, col: 5, offset: 86909}, + pos: position{line: 2743, col: 5, offset: 89823}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 2599, col: 5, offset: 86909}, - run: (*parser).callonRelativeLink99, + pos: position{line: 2743, col: 5, offset: 89823}, + run: (*parser).callonLink110, }, &labeledExpr{ - pos: position{line: 2602, col: 5, offset: 86985}, + pos: position{line: 2746, col: 5, offset: 89899}, label: "element", expr: &choiceExpr{ - pos: position{line: 2604, col: 9, offset: 87083}, + pos: position{line: 2748, col: 9, offset: 89997}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2604, col: 9, offset: 87083}, - run: (*parser).callonRelativeLink102, + pos: position{line: 2748, col: 9, offset: 89997}, + run: (*parser).callonLink113, expr: &choiceExpr{ - pos: position{line: 694, col: 27, offset: 22498}, + pos: position{line: 692, col: 27, offset: 22361}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 694, col: 27, offset: 22498}, - run: (*parser).callonRelativeLink104, + pos: position{line: 692, col: 27, offset: 22361}, + run: (*parser).callonLink115, expr: &seqExpr{ - pos: position{line: 694, col: 27, offset: 22498}, + pos: position{line: 692, col: 27, offset: 22361}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 694, col: 27, offset: 22498}, + pos: position{line: 692, col: 27, offset: 22361}, val: "<<", ignoreCase: false, want: "\"<<\"", }, &labeledExpr{ - pos: position{line: 694, col: 32, offset: 22503}, + pos: position{line: 692, col: 32, offset: 22366}, label: "id", expr: &actionExpr{ - pos: position{line: 2884, col: 7, offset: 95839}, - run: (*parser).callonRelativeLink108, + pos: position{line: 3043, col: 7, offset: 99263}, + run: (*parser).callonLink119, expr: &oneOrMoreExpr{ - pos: position{line: 2884, col: 7, offset: 95839}, + pos: position{line: 3043, col: 7, offset: 99263}, expr: &charClassMatcher{ - pos: position{line: 2884, col: 7, offset: 95839}, + pos: position{line: 3043, col: 7, offset: 99263}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -22235,12 +23057,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 694, col: 40, offset: 22511}, + pos: position{line: 692, col: 40, offset: 22374}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, - run: (*parser).callonRelativeLink112, + pos: position{line: 3058, col: 10, offset: 99611}, + run: (*parser).callonLink123, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -22249,27 +23071,27 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 694, col: 47, offset: 22518}, + pos: position{line: 692, col: 47, offset: 22381}, val: ",", ignoreCase: false, want: "\",\"", }, &labeledExpr{ - pos: position{line: 694, col: 51, offset: 22522}, + pos: position{line: 692, col: 51, offset: 22385}, label: "label", expr: &oneOrMoreExpr{ - pos: position{line: 704, col: 24, offset: 22923}, + pos: position{line: 702, col: 24, offset: 22786}, expr: &choiceExpr{ - pos: position{line: 705, col: 5, offset: 22929}, + pos: position{line: 703, col: 5, offset: 22792}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 705, col: 6, offset: 22930}, - run: (*parser).callonRelativeLink118, + pos: position{line: 703, col: 6, offset: 22793}, + run: (*parser).callonLink129, expr: &seqExpr{ - pos: position{line: 705, col: 6, offset: 22930}, + pos: position{line: 703, col: 6, offset: 22793}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 705, col: 6, offset: 22930}, + pos: position{line: 703, col: 6, offset: 22793}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -22277,9 +23099,9 @@ var g = &grammar{ inverted: false, }, &oneOrMoreExpr{ - pos: position{line: 705, col: 14, offset: 22938}, + pos: position{line: 703, col: 14, offset: 22801}, expr: &charClassMatcher{ - pos: position{line: 705, col: 14, offset: 22938}, + pos: position{line: 703, col: 14, offset: 22801}, val: "[^\\r\\n{<>]", chars: []rune{'\r', '\n', '{', '<', '>'}, ignoreCase: false, @@ -22290,28 +23112,83 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 659, col: 5, offset: 21191}, - run: (*parser).callonRelativeLink123, + pos: position{line: 650, col: 5, offset: 20786}, + run: (*parser).callonLink134, + expr: &seqExpr{ + pos: position{line: 650, col: 5, offset: 20786}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 650, col: 5, offset: 20786}, + val: "\\{", + ignoreCase: false, + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 650, col: 13, offset: 20794}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + run: (*parser).callonLink138, + expr: &seqExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 324, col: 18, offset: 10054}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 324, col: 28, offset: 10064}, + expr: &charClassMatcher{ + pos: position{line: 324, col: 29, offset: 10065}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 650, col: 32, offset: 20813}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 657, col: 5, offset: 21054}, + run: (*parser).callonLink144, expr: &seqExpr{ - pos: position{line: 659, col: 5, offset: 21191}, + pos: position{line: 657, col: 5, offset: 21054}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 659, col: 5, offset: 21191}, + pos: position{line: 657, col: 5, offset: 21054}, val: "{", ignoreCase: false, want: "\"{\"", }, &labeledExpr{ - pos: position{line: 659, col: 9, offset: 21195}, + pos: position{line: 657, col: 9, offset: 21058}, label: "name", expr: &actionExpr{ - pos: position{line: 332, col: 18, offset: 10393}, - run: (*parser).callonRelativeLink127, + pos: position{line: 324, col: 18, offset: 10054}, + run: (*parser).callonLink148, expr: &seqExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -22320,9 +23197,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 332, col: 28, offset: 10403}, + pos: position{line: 324, col: 28, offset: 10064}, expr: &charClassMatcher{ - pos: position{line: 332, col: 29, offset: 10404}, + pos: position{line: 324, col: 29, offset: 10065}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -22336,7 +23213,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 659, col: 28, offset: 21214}, + pos: position{line: 657, col: 28, offset: 21077}, val: "}", ignoreCase: false, want: "\"}\"", @@ -22345,10 +23222,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 709, col: 8, offset: 23164}, - run: (*parser).callonRelativeLink133, + pos: position{line: 707, col: 8, offset: 23027}, + run: (*parser).callonLink154, expr: &litMatcher{ - pos: position{line: 709, col: 8, offset: 23164}, + pos: position{line: 707, col: 8, offset: 23027}, val: "{", ignoreCase: false, want: "\"{\"", @@ -22359,7 +23236,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 694, col: 79, offset: 22550}, + pos: position{line: 692, col: 79, offset: 22413}, val: ">>", ignoreCase: false, want: "\">>\"", @@ -22368,27 +23245,27 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 696, col: 9, offset: 22623}, - run: (*parser).callonRelativeLink136, + pos: position{line: 694, col: 9, offset: 22486}, + run: (*parser).callonLink157, expr: &seqExpr{ - pos: position{line: 696, col: 9, offset: 22623}, + pos: position{line: 694, col: 9, offset: 22486}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 696, col: 9, offset: 22623}, + pos: position{line: 694, col: 9, offset: 22486}, val: "<<", ignoreCase: false, want: "\"<<\"", }, &labeledExpr{ - pos: position{line: 696, col: 14, offset: 22628}, + pos: position{line: 694, col: 14, offset: 22491}, label: "id", expr: &actionExpr{ - pos: position{line: 2884, col: 7, offset: 95839}, - run: (*parser).callonRelativeLink140, + pos: position{line: 3043, col: 7, offset: 99263}, + run: (*parser).callonLink161, expr: &oneOrMoreExpr{ - pos: position{line: 2884, col: 7, offset: 95839}, + pos: position{line: 3043, col: 7, offset: 99263}, expr: &charClassMatcher{ - pos: position{line: 2884, col: 7, offset: 95839}, + pos: position{line: 3043, col: 7, offset: 99263}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -22398,7 +23275,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 696, col: 22, offset: 22636}, + pos: position{line: 694, col: 22, offset: 22499}, val: ">>", ignoreCase: false, want: "\">>\"", @@ -22410,10 +23287,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2607, col: 11, offset: 87187}, - run: (*parser).callonRelativeLink144, + pos: position{line: 2751, col: 11, offset: 90101}, + run: (*parser).callonLink165, expr: &charClassMatcher{ - pos: position{line: 2607, col: 12, offset: 87188}, + pos: position{line: 2751, col: 12, offset: 90102}, val: "[<>&]", chars: []rune{'<', '>', '&'}, ignoreCase: false, @@ -22427,10 +23304,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2878, col: 11, offset: 95683}, - run: (*parser).callonRelativeLink146, + pos: position{line: 3037, col: 11, offset: 99107}, + run: (*parser).callonLink167, expr: &litMatcher{ - pos: position{line: 2878, col: 11, offset: 95683}, + pos: position{line: 3037, col: 11, offset: 99107}, val: "{", ignoreCase: false, want: "\"{\"", @@ -22443,435 +23320,312 @@ var g = &grammar{ }, }, }, - &actionExpr{ - pos: position{line: 1122, col: 23, offset: 34991}, - run: (*parser).callonRelativeLink148, - expr: &seqExpr{ - pos: position{line: 1122, col: 23, offset: 34991}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 1120, col: 32, offset: 34959}, - val: "�", - ignoreCase: false, - want: "\"�\"", - }, - &labeledExpr{ - pos: position{line: 1122, col: 51, offset: 35019}, - label: "ref", - expr: &actionExpr{ - pos: position{line: 1122, col: 56, offset: 35024}, - run: (*parser).callonRelativeLink152, - expr: &oneOrMoreExpr{ - pos: position{line: 1122, col: 56, offset: 35024}, - expr: &charClassMatcher{ - pos: position{line: 1122, col: 56, offset: 35024}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 1120, col: 32, offset: 34959}, - val: "�", - ignoreCase: false, - want: "\"�\"", - }, - }, - }, - }, }, }, }, }, }, }, + &labeledExpr{ + pos: position{line: 1316, col: 5, offset: 42972}, + label: "closingBracket", + expr: &zeroOrOneExpr{ + pos: position{line: 1316, col: 20, offset: 42987}, + expr: &litMatcher{ + pos: position{line: 1316, col: 21, offset: 42988}, + val: ">", + ignoreCase: false, + want: "\">\"", + }, + }, + }, + &andCodeExpr{ + pos: position{line: 1317, col: 5, offset: 43019}, + run: (*parser).callonLink172, + }, }, }, - &labeledExpr{ - pos: position{line: 1319, col: 40, offset: 43156}, - label: "attributes", - expr: &ruleRefExpr{ - pos: position{line: 1319, col: 52, offset: 43168}, - name: "InlineAttributes", - }, - }, + }, + &ruleRefExpr{ + pos: position{line: 1311, col: 19, offset: 42852}, + name: "RelativeLink", + }, + &ruleRefExpr{ + pos: position{line: 1311, col: 34, offset: 42867}, + name: "ExternalLink", }, }, }, }, { - name: "ExternalLink", - pos: position{line: 1323, col: 1, offset: 43284}, - expr: &actionExpr{ - pos: position{line: 1323, col: 17, offset: 43300}, - run: (*parser).callonExternalLink1, - expr: &seqExpr{ - pos: position{line: 1323, col: 17, offset: 43300}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 1323, col: 17, offset: 43300}, - label: "url", - expr: &actionExpr{ - pos: position{line: 2863, col: 23, offset: 95072}, - run: (*parser).callonExternalLink4, - expr: &seqExpr{ - pos: position{line: 2863, col: 23, offset: 95072}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 2863, col: 23, offset: 95072}, - expr: &litMatcher{ - pos: position{line: 2863, col: 24, offset: 95073}, - val: "[", - ignoreCase: false, - want: "\"[\"", - }, - }, - &labeledExpr{ - pos: position{line: 2863, col: 28, offset: 95077}, - label: "scheme", - expr: &choiceExpr{ - pos: position{line: 2867, col: 11, offset: 95192}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2867, col: 11, offset: 95192}, - val: "http://", - ignoreCase: false, - want: "\"http://\"", - }, - &litMatcher{ - pos: position{line: 2867, col: 23, offset: 95204}, - val: "https://", - ignoreCase: false, - want: "\"https://\"", - }, - &litMatcher{ - pos: position{line: 2867, col: 36, offset: 95217}, - val: "ftp://", - ignoreCase: false, - want: "\"ftp://\"", - }, - &litMatcher{ - pos: position{line: 2867, col: 47, offset: 95228}, - val: "irc://", - ignoreCase: false, - want: "\"irc://\"", - }, - &litMatcher{ - pos: position{line: 2867, col: 58, offset: 95239}, - val: "mailto:", - ignoreCase: false, - want: "\"mailto:\"", - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 2863, col: 44, offset: 95093}, - label: "path", - expr: &oneOrMoreExpr{ - pos: position{line: 2863, col: 49, offset: 95098}, - expr: &actionExpr{ - pos: position{line: 2870, col: 5, offset: 95267}, - run: (*parser).callonExternalLink17, - expr: &seqExpr{ - pos: position{line: 2870, col: 5, offset: 95267}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 2870, col: 5, offset: 95267}, - expr: &litMatcher{ - pos: position{line: 2870, col: 6, offset: 95268}, - val: "[", + name: "RelativeLink", + pos: position{line: 1325, col: 1, offset: 43234}, + expr: &choiceExpr{ + pos: position{line: 1327, col: 5, offset: 43270}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 1327, col: 5, offset: 43270}, + run: (*parser).callonRelativeLink2, + expr: &seqExpr{ + pos: position{line: 1327, col: 5, offset: 43270}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1327, col: 5, offset: 43270}, + val: "\\link:", + ignoreCase: false, + want: "\"\\\\link:\"", + }, + &labeledExpr{ + pos: position{line: 1327, col: 17, offset: 43282}, + label: "url", + expr: &actionExpr{ + pos: position{line: 3018, col: 13, offset: 98347}, + run: (*parser).callonRelativeLink6, + expr: &seqExpr{ + pos: position{line: 3018, col: 13, offset: 98347}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 3018, col: 13, offset: 98347}, + label: "scheme", + expr: &zeroOrOneExpr{ + pos: position{line: 3018, col: 20, offset: 98354}, + expr: &choiceExpr{ + pos: position{line: 3026, col: 11, offset: 98616}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3026, col: 11, offset: 98616}, + val: "http://", ignoreCase: false, - want: "\"[\"", + want: "\"http://\"", + }, + &litMatcher{ + pos: position{line: 3026, col: 23, offset: 98628}, + val: "https://", + ignoreCase: false, + want: "\"https://\"", + }, + &litMatcher{ + pos: position{line: 3026, col: 36, offset: 98641}, + val: "ftp://", + ignoreCase: false, + want: "\"ftp://\"", + }, + &litMatcher{ + pos: position{line: 3026, col: 47, offset: 98652}, + val: "irc://", + ignoreCase: false, + want: "\"irc://\"", + }, + &litMatcher{ + pos: position{line: 3026, col: 58, offset: 98663}, + val: "mailto:", + ignoreCase: false, + want: "\"mailto:\"", }, }, - &labeledExpr{ - pos: position{line: 2871, col: 5, offset: 95292}, - label: "elements", - expr: &oneOrMoreExpr{ - pos: position{line: 2871, col: 14, offset: 95301}, - expr: &choiceExpr{ - pos: position{line: 2872, col: 9, offset: 95311}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2872, col: 9, offset: 95311}, - run: (*parser).callonExternalLink24, - expr: &oneOrMoreExpr{ - pos: position{line: 2872, col: 9, offset: 95311}, - expr: &charClassMatcher{ - pos: position{line: 2872, col: 10, offset: 95312}, - val: "[^\\r\\n[]�{.,;?!<> ]", - chars: []rune{'\r', '\n', '[', ']', '�', '{', '.', ',', ';', '?', '!', '<', '>', ' '}, - ignoreCase: false, - inverted: true, - }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 3018, col: 30, offset: 98364}, + label: "path", + expr: &oneOrMoreExpr{ + pos: position{line: 3018, col: 35, offset: 98369}, + expr: &choiceExpr{ + pos: position{line: 3018, col: 36, offset: 98370}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3029, col: 5, offset: 98691}, + run: (*parser).callonRelativeLink19, + expr: &seqExpr{ + pos: position{line: 3029, col: 5, offset: 98691}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 3029, col: 5, offset: 98691}, + expr: &litMatcher{ + pos: position{line: 3029, col: 6, offset: 98692}, + val: "[", + ignoreCase: false, + want: "\"[\"", }, }, - &seqExpr{ - pos: position{line: 2875, col: 11, offset: 95577}, - exprs: []interface{}{ - &actionExpr{ - pos: position{line: 2845, col: 25, offset: 94548}, - run: (*parser).callonExternalLink28, - expr: &charClassMatcher{ - pos: position{line: 2845, col: 25, offset: 94548}, - val: "[.,;?!]", - chars: []rune{'.', ',', ';', '?', '!'}, - ignoreCase: false, - inverted: false, - }, - }, - &andExpr{ - pos: position{line: 2875, col: 32, offset: 95598}, - expr: ¬Expr{ - pos: position{line: 2875, col: 34, offset: 95600}, - expr: &choiceExpr{ - pos: position{line: 2875, col: 36, offset: 95602}, - alternatives: []interface{}{ - ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, - expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, - }, + &labeledExpr{ + pos: position{line: 3030, col: 5, offset: 98716}, + label: "elements", + expr: &oneOrMoreExpr{ + pos: position{line: 3030, col: 14, offset: 98725}, + expr: &choiceExpr{ + pos: position{line: 3031, col: 9, offset: 98735}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3031, col: 9, offset: 98735}, + run: (*parser).callonRelativeLink26, + expr: &oneOrMoreExpr{ + pos: position{line: 3031, col: 9, offset: 98735}, + expr: &charClassMatcher{ + pos: position{line: 3031, col: 10, offset: 98736}, + val: "[^\\r\\n[]�{.,;?!<> ]", + chars: []rune{'\r', '\n', '[', ']', '�', '{', '.', ',', ';', '?', '!', '<', '>', ' '}, + ignoreCase: false, + inverted: true, }, + }, + }, + &seqExpr{ + pos: position{line: 3034, col: 11, offset: 99001}, + exprs: []interface{}{ &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, - run: (*parser).callonExternalLink35, + pos: position{line: 3004, col: 25, offset: 97972}, + run: (*parser).callonRelativeLink30, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 3004, col: 25, offset: 97972}, + val: "[.,;?!]", + chars: []rune{'.', ',', ';', '?', '!'}, ignoreCase: false, inverted: false, }, }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 651, col: 5, offset: 21000}, - run: (*parser).callonExternalLink37, - expr: &seqExpr{ - pos: position{line: 651, col: 5, offset: 21000}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 651, col: 5, offset: 21000}, - run: (*parser).callonExternalLink39, - }, - &labeledExpr{ - pos: position{line: 654, col: 5, offset: 21069}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 654, col: 14, offset: 21078}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 666, col: 25, offset: 21447}, - run: (*parser).callonExternalLink42, - expr: &seqExpr{ - pos: position{line: 666, col: 25, offset: 21447}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 666, col: 25, offset: 21447}, - val: "{counter:", - ignoreCase: false, - want: "\"{counter:\"", - }, - &labeledExpr{ - pos: position{line: 666, col: 37, offset: 21459}, - label: "name", - expr: &actionExpr{ - pos: position{line: 332, col: 18, offset: 10393}, - run: (*parser).callonExternalLink46, - expr: &seqExpr{ - pos: position{line: 332, col: 18, offset: 10393}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 332, col: 18, offset: 10393}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 332, col: 28, offset: 10403}, - expr: &charClassMatcher{ - pos: position{line: 332, col: 29, offset: 10404}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, + &andExpr{ + pos: position{line: 3034, col: 32, offset: 99022}, + expr: ¬Expr{ + pos: position{line: 3034, col: 34, offset: 99024}, + expr: &choiceExpr{ + pos: position{line: 3034, col: 36, offset: 99026}, + alternatives: []interface{}{ + ¬Expr{ + pos: position{line: 3071, col: 8, offset: 99885}, + expr: &anyMatcher{ + line: 3071, col: 9, offset: 99886, }, }, - }, - &labeledExpr{ - pos: position{line: 666, col: 56, offset: 21478}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 666, col: 62, offset: 21484}, - expr: &actionExpr{ - pos: position{line: 674, col: 17, offset: 21779}, - run: (*parser).callonExternalLink53, - expr: &seqExpr{ - pos: position{line: 674, col: 17, offset: 21779}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 674, col: 17, offset: 21779}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 674, col: 21, offset: 21783}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 674, col: 28, offset: 21790}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 674, col: 28, offset: 21790}, - run: (*parser).callonExternalLink58, - expr: &charClassMatcher{ - pos: position{line: 674, col: 28, offset: 21790}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 676, col: 9, offset: 21844}, - run: (*parser).callonExternalLink60, - expr: &oneOrMoreExpr{ - pos: position{line: 676, col: 9, offset: 21844}, - expr: &charClassMatcher{ - pos: position{line: 676, col: 9, offset: 21844}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, + &actionExpr{ + pos: position{line: 3058, col: 10, offset: 99611}, + run: (*parser).callonRelativeLink37, + expr: &charClassMatcher{ + pos: position{line: 3058, col: 11, offset: 99612}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, }, }, }, - &litMatcher{ - pos: position{line: 666, col: 78, offset: 21500}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, }, }, }, - &actionExpr{ - pos: position{line: 670, col: 25, offset: 21618}, - run: (*parser).callonExternalLink64, - expr: &seqExpr{ - pos: position{line: 670, col: 25, offset: 21618}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 670, col: 25, offset: 21618}, - val: "{counter2:", - ignoreCase: false, - want: "\"{counter2:\"", - }, - &labeledExpr{ - pos: position{line: 670, col: 38, offset: 21631}, - label: "name", - expr: &actionExpr{ - pos: position{line: 332, col: 18, offset: 10393}, - run: (*parser).callonExternalLink68, + }, + }, + &actionExpr{ + pos: position{line: 641, col: 5, offset: 20579}, + run: (*parser).callonRelativeLink39, + expr: &seqExpr{ + pos: position{line: 641, col: 5, offset: 20579}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 641, col: 5, offset: 20579}, + run: (*parser).callonRelativeLink41, + }, + &labeledExpr{ + pos: position{line: 644, col: 5, offset: 20648}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 644, col: 14, offset: 20657}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 664, col: 25, offset: 21310}, + run: (*parser).callonRelativeLink44, expr: &seqExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 664, col: 25, offset: 21310}, exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 332, col: 18, offset: 10393}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, + &litMatcher{ + pos: position{line: 664, col: 25, offset: 21310}, + val: "{counter:", ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 332, col: 28, offset: 10403}, - expr: &charClassMatcher{ - pos: position{line: 332, col: 29, offset: 10404}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, + want: "\"{counter:\"", }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 670, col: 57, offset: 21650}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 670, col: 63, offset: 21656}, - expr: &actionExpr{ - pos: position{line: 674, col: 17, offset: 21779}, - run: (*parser).callonExternalLink75, - expr: &seqExpr{ - pos: position{line: 674, col: 17, offset: 21779}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 674, col: 17, offset: 21779}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 674, col: 21, offset: 21783}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 674, col: 28, offset: 21790}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 674, col: 28, offset: 21790}, - run: (*parser).callonExternalLink80, + &labeledExpr{ + pos: position{line: 664, col: 37, offset: 21322}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + run: (*parser).callonRelativeLink48, + expr: &seqExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 324, col: 18, offset: 10054}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 324, col: 28, offset: 10064}, expr: &charClassMatcher{ - pos: position{line: 674, col: 28, offset: 21790}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, + pos: position{line: 324, col: 29, offset: 10065}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, ignoreCase: false, inverted: false, }, }, - &actionExpr{ - pos: position{line: 676, col: 9, offset: 21844}, - run: (*parser).callonExternalLink82, - expr: &oneOrMoreExpr{ - pos: position{line: 676, col: 9, offset: 21844}, - expr: &charClassMatcher{ - pos: position{line: 676, col: 9, offset: 21844}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 664, col: 56, offset: 21341}, + label: "start", + expr: &zeroOrOneExpr{ + pos: position{line: 664, col: 62, offset: 21347}, + expr: &actionExpr{ + pos: position{line: 672, col: 17, offset: 21642}, + run: (*parser).callonRelativeLink55, + expr: &seqExpr{ + pos: position{line: 672, col: 17, offset: 21642}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 672, col: 17, offset: 21642}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &labeledExpr{ + pos: position{line: 672, col: 21, offset: 21646}, + label: "start", + expr: &choiceExpr{ + pos: position{line: 672, col: 28, offset: 21653}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 672, col: 28, offset: 21653}, + run: (*parser).callonRelativeLink60, + expr: &charClassMatcher{ + pos: position{line: 672, col: 28, offset: 21653}, + val: "[A-Za-z]", + ranges: []rune{'A', 'Z', 'a', 'z'}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 674, col: 9, offset: 21707}, + run: (*parser).callonRelativeLink62, + expr: &oneOrMoreExpr{ + pos: position{line: 674, col: 9, offset: 21707}, + expr: &charClassMatcher{ + pos: position{line: 674, col: 9, offset: 21707}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, }, }, }, @@ -22879,300 +23633,233 @@ var g = &grammar{ }, }, }, + &litMatcher{ + pos: position{line: 664, col: 78, offset: 21363}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, }, }, }, - }, - &litMatcher{ - pos: position{line: 670, col: 79, offset: 21672}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 659, col: 5, offset: 21191}, - run: (*parser).callonExternalLink86, - expr: &seqExpr{ - pos: position{line: 659, col: 5, offset: 21191}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 659, col: 5, offset: 21191}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - &labeledExpr{ - pos: position{line: 659, col: 9, offset: 21195}, - label: "name", - expr: &actionExpr{ - pos: position{line: 332, col: 18, offset: 10393}, - run: (*parser).callonExternalLink90, + &actionExpr{ + pos: position{line: 668, col: 25, offset: 21481}, + run: (*parser).callonRelativeLink66, expr: &seqExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 668, col: 25, offset: 21481}, exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 332, col: 18, offset: 10393}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, + &litMatcher{ + pos: position{line: 668, col: 25, offset: 21481}, + val: "{counter2:", ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 332, col: 28, offset: 10403}, - expr: &charClassMatcher{ - pos: position{line: 332, col: 29, offset: 10404}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, + want: "\"{counter2:\"", }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 659, col: 28, offset: 21214}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2599, col: 5, offset: 86909}, - run: (*parser).callonExternalLink96, - expr: &seqExpr{ - pos: position{line: 2599, col: 5, offset: 86909}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 2599, col: 5, offset: 86909}, - run: (*parser).callonExternalLink98, - }, - &labeledExpr{ - pos: position{line: 2602, col: 5, offset: 86985}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 2604, col: 9, offset: 87083}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2604, col: 9, offset: 87083}, - run: (*parser).callonExternalLink101, - expr: &choiceExpr{ - pos: position{line: 694, col: 27, offset: 22498}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 694, col: 27, offset: 22498}, - run: (*parser).callonExternalLink103, - expr: &seqExpr{ - pos: position{line: 694, col: 27, offset: 22498}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 694, col: 27, offset: 22498}, - val: "<<", - ignoreCase: false, - want: "\"<<\"", - }, - &labeledExpr{ - pos: position{line: 694, col: 32, offset: 22503}, - label: "id", - expr: &actionExpr{ - pos: position{line: 2884, col: 7, offset: 95839}, - run: (*parser).callonExternalLink107, - expr: &oneOrMoreExpr{ - pos: position{line: 2884, col: 7, offset: 95839}, - expr: &charClassMatcher{ - pos: position{line: 2884, col: 7, offset: 95839}, - val: "[^[]<>,]", - chars: []rune{'[', ']', '<', '>', ','}, - ignoreCase: false, - inverted: true, + &labeledExpr{ + pos: position{line: 668, col: 38, offset: 21494}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + run: (*parser).callonRelativeLink70, + expr: &seqExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 324, col: 18, offset: 10054}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 324, col: 28, offset: 10064}, + expr: &charClassMatcher{ + pos: position{line: 324, col: 29, offset: 10065}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, }, }, }, - }, - &zeroOrMoreExpr{ - pos: position{line: 694, col: 40, offset: 22511}, - expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, - run: (*parser).callonExternalLink111, - expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &litMatcher{ - pos: position{line: 694, col: 47, offset: 22518}, - val: ",", - ignoreCase: false, - want: "\",\"", - }, - &labeledExpr{ - pos: position{line: 694, col: 51, offset: 22522}, - label: "label", - expr: &oneOrMoreExpr{ - pos: position{line: 704, col: 24, offset: 22923}, - expr: &choiceExpr{ - pos: position{line: 705, col: 5, offset: 22929}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 705, col: 6, offset: 22930}, - run: (*parser).callonExternalLink117, - expr: &seqExpr{ - pos: position{line: 705, col: 6, offset: 22930}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 705, col: 6, offset: 22930}, - val: "[0-9\\pL]", - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &oneOrMoreExpr{ - pos: position{line: 705, col: 14, offset: 22938}, - expr: &charClassMatcher{ - pos: position{line: 705, col: 14, offset: 22938}, - val: "[^\\r\\n{<>]", - chars: []rune{'\r', '\n', '{', '<', '>'}, - ignoreCase: false, - inverted: true, - }, - }, + &labeledExpr{ + pos: position{line: 668, col: 57, offset: 21513}, + label: "start", + expr: &zeroOrOneExpr{ + pos: position{line: 668, col: 63, offset: 21519}, + expr: &actionExpr{ + pos: position{line: 672, col: 17, offset: 21642}, + run: (*parser).callonRelativeLink77, + expr: &seqExpr{ + pos: position{line: 672, col: 17, offset: 21642}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 672, col: 17, offset: 21642}, + val: ":", + ignoreCase: false, + want: "\":\"", }, - }, - }, - &actionExpr{ - pos: position{line: 659, col: 5, offset: 21191}, - run: (*parser).callonExternalLink122, - expr: &seqExpr{ - pos: position{line: 659, col: 5, offset: 21191}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 659, col: 5, offset: 21191}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - &labeledExpr{ - pos: position{line: 659, col: 9, offset: 21195}, - label: "name", - expr: &actionExpr{ - pos: position{line: 332, col: 18, offset: 10393}, - run: (*parser).callonExternalLink126, - expr: &seqExpr{ - pos: position{line: 332, col: 18, offset: 10393}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 332, col: 18, offset: 10393}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, + &labeledExpr{ + pos: position{line: 672, col: 21, offset: 21646}, + label: "start", + expr: &choiceExpr{ + pos: position{line: 672, col: 28, offset: 21653}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 672, col: 28, offset: 21653}, + run: (*parser).callonRelativeLink82, + expr: &charClassMatcher{ + pos: position{line: 672, col: 28, offset: 21653}, + val: "[A-Za-z]", + ranges: []rune{'A', 'Z', 'a', 'z'}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 674, col: 9, offset: 21707}, + run: (*parser).callonRelativeLink84, + expr: &oneOrMoreExpr{ + pos: position{line: 674, col: 9, offset: 21707}, + expr: &charClassMatcher{ + pos: position{line: 674, col: 9, offset: 21707}, + val: "[0-9]", ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, ignoreCase: false, inverted: false, }, - &zeroOrMoreExpr{ - pos: position{line: 332, col: 28, offset: 10403}, - expr: &charClassMatcher{ - pos: position{line: 332, col: 29, offset: 10404}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, }, }, }, }, - &litMatcher{ - pos: position{line: 659, col: 28, offset: 21214}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, }, }, }, - &actionExpr{ - pos: position{line: 709, col: 8, offset: 23164}, - run: (*parser).callonExternalLink132, - expr: &litMatcher{ - pos: position{line: 709, col: 8, offset: 23164}, - val: "{", + }, + }, + }, + &litMatcher{ + pos: position{line: 668, col: 79, offset: 21535}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 650, col: 5, offset: 20786}, + run: (*parser).callonRelativeLink88, + expr: &seqExpr{ + pos: position{line: 650, col: 5, offset: 20786}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 650, col: 5, offset: 20786}, + val: "\\{", + ignoreCase: false, + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 650, col: 13, offset: 20794}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + run: (*parser).callonRelativeLink92, + expr: &seqExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 324, col: 18, offset: 10054}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, ignoreCase: false, - want: "\"{\"", + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 324, col: 28, offset: 10064}, + expr: &charClassMatcher{ + pos: position{line: 324, col: 29, offset: 10065}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, }, }, }, }, }, - }, - &litMatcher{ - pos: position{line: 694, col: 79, offset: 22550}, - val: ">>", - ignoreCase: false, - want: "\">>\"", + &litMatcher{ + pos: position{line: 650, col: 32, offset: 20813}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, }, }, }, - }, - &actionExpr{ - pos: position{line: 696, col: 9, offset: 22623}, - run: (*parser).callonExternalLink135, - expr: &seqExpr{ - pos: position{line: 696, col: 9, offset: 22623}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 696, col: 9, offset: 22623}, - val: "<<", - ignoreCase: false, - want: "\"<<\"", - }, - &labeledExpr{ - pos: position{line: 696, col: 14, offset: 22628}, - label: "id", - expr: &actionExpr{ - pos: position{line: 2884, col: 7, offset: 95839}, - run: (*parser).callonExternalLink139, - expr: &oneOrMoreExpr{ - pos: position{line: 2884, col: 7, offset: 95839}, - expr: &charClassMatcher{ - pos: position{line: 2884, col: 7, offset: 95839}, - val: "[^[]<>,]", - chars: []rune{'[', ']', '<', '>', ','}, - ignoreCase: false, - inverted: true, + &actionExpr{ + pos: position{line: 657, col: 5, offset: 21054}, + run: (*parser).callonRelativeLink98, + expr: &seqExpr{ + pos: position{line: 657, col: 5, offset: 21054}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 657, col: 5, offset: 21054}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + &labeledExpr{ + pos: position{line: 657, col: 9, offset: 21058}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + run: (*parser).callonRelativeLink102, + expr: &seqExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 324, col: 18, offset: 10054}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 324, col: 28, offset: 10064}, + expr: &charClassMatcher{ + pos: position{line: 324, col: 29, offset: 10065}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, }, }, }, - }, - &litMatcher{ - pos: position{line: 696, col: 22, offset: 22636}, - val: ">>", - ignoreCase: false, - want: "\">>\"", + &litMatcher{ + pos: position{line: 657, col: 28, offset: 21077}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, }, }, }, @@ -23180,257 +23867,318 @@ var g = &grammar{ }, }, }, - &actionExpr{ - pos: position{line: 2607, col: 11, offset: 87187}, - run: (*parser).callonExternalLink143, - expr: &charClassMatcher{ - pos: position{line: 2607, col: 12, offset: 87188}, - val: "[<>&]", - chars: []rune{'<', '>', '&'}, - ignoreCase: false, - inverted: false, - }, - }, }, }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2878, col: 11, offset: 95683}, - run: (*parser).callonExternalLink145, - expr: &litMatcher{ - pos: position{line: 2878, col: 11, offset: 95683}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 1323, col: 42, offset: 43325}, - label: "attributes", - expr: &zeroOrOneExpr{ - pos: position{line: 1323, col: 53, offset: 43336}, - expr: &ruleRefExpr{ - pos: position{line: 1323, col: 54, offset: 43337}, - name: "InlineAttributes", - }, - }, - }, - }, - }, - }, - }, - { - name: "ListElements", - pos: position{line: 1331, col: 1, offset: 43691}, - expr: &actionExpr{ - pos: position{line: 1332, col: 5, offset: 43712}, - run: (*parser).callonListElements1, - expr: &seqExpr{ - pos: position{line: 1332, col: 5, offset: 43712}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 1332, col: 5, offset: 43712}, - label: "firstElement", - expr: &choiceExpr{ - pos: position{line: 1338, col: 5, offset: 43914}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 1485, col: 5, offset: 48721}, - run: (*parser).callonListElements5, - expr: &seqExpr{ - pos: position{line: 1485, col: 5, offset: 48721}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 1485, col: 5, offset: 48721}, - label: "prefix", - expr: &actionExpr{ - pos: position{line: 1492, col: 5, offset: 48929}, - run: (*parser).callonListElements8, - expr: &seqExpr{ - pos: position{line: 1492, col: 5, offset: 48929}, - exprs: []interface{}{ - &zeroOrMoreExpr{ - pos: position{line: 1492, col: 5, offset: 48929}, - expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, - run: (*parser).callonListElements11, - expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &labeledExpr{ - pos: position{line: 1492, col: 12, offset: 48936}, - label: "prefix", - expr: &choiceExpr{ - pos: position{line: 1494, col: 9, offset: 48999}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 1494, col: 9, offset: 48999}, - run: (*parser).callonListElements15, - expr: &seqExpr{ - pos: position{line: 1494, col: 9, offset: 48999}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 1494, col: 9, offset: 48999}, - label: "depth", - expr: &actionExpr{ - pos: position{line: 1494, col: 16, offset: 49006}, - run: (*parser).callonListElements18, - expr: &oneOrMoreExpr{ - pos: position{line: 1494, col: 16, offset: 49006}, - expr: &litMatcher{ - pos: position{line: 1494, col: 17, offset: 49007}, - val: ".", - ignoreCase: false, - want: "\".\"", + &actionExpr{ + pos: position{line: 2743, col: 5, offset: 89823}, + run: (*parser).callonRelativeLink108, + expr: &seqExpr{ + pos: position{line: 2743, col: 5, offset: 89823}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2743, col: 5, offset: 89823}, + run: (*parser).callonRelativeLink110, + }, + &labeledExpr{ + pos: position{line: 2746, col: 5, offset: 89899}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 2748, col: 9, offset: 89997}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2748, col: 9, offset: 89997}, + run: (*parser).callonRelativeLink113, + expr: &choiceExpr{ + pos: position{line: 692, col: 27, offset: 22361}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 692, col: 27, offset: 22361}, + run: (*parser).callonRelativeLink115, + expr: &seqExpr{ + pos: position{line: 692, col: 27, offset: 22361}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 692, col: 27, offset: 22361}, + val: "<<", + ignoreCase: false, + want: "\"<<\"", + }, + &labeledExpr{ + pos: position{line: 692, col: 32, offset: 22366}, + label: "id", + expr: &actionExpr{ + pos: position{line: 3043, col: 7, offset: 99263}, + run: (*parser).callonRelativeLink119, + expr: &oneOrMoreExpr{ + pos: position{line: 3043, col: 7, offset: 99263}, + expr: &charClassMatcher{ + pos: position{line: 3043, col: 7, offset: 99263}, + val: "[^[]<>,]", + chars: []rune{'[', ']', '<', '>', ','}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 692, col: 40, offset: 22374}, + expr: &actionExpr{ + pos: position{line: 3058, col: 10, offset: 99611}, + run: (*parser).callonRelativeLink123, + expr: &charClassMatcher{ + pos: position{line: 3058, col: 11, offset: 99612}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &litMatcher{ + pos: position{line: 692, col: 47, offset: 22381}, + val: ",", + ignoreCase: false, + want: "\",\"", + }, + &labeledExpr{ + pos: position{line: 692, col: 51, offset: 22385}, + label: "label", + expr: &oneOrMoreExpr{ + pos: position{line: 702, col: 24, offset: 22786}, + expr: &choiceExpr{ + pos: position{line: 703, col: 5, offset: 22792}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 703, col: 6, offset: 22793}, + run: (*parser).callonRelativeLink129, + expr: &seqExpr{ + pos: position{line: 703, col: 6, offset: 22793}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 703, col: 6, offset: 22793}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &oneOrMoreExpr{ + pos: position{line: 703, col: 14, offset: 22801}, + expr: &charClassMatcher{ + pos: position{line: 703, col: 14, offset: 22801}, + val: "[^\\r\\n{<>]", + chars: []rune{'\r', '\n', '{', '<', '>'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 650, col: 5, offset: 20786}, + run: (*parser).callonRelativeLink134, + expr: &seqExpr{ + pos: position{line: 650, col: 5, offset: 20786}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 650, col: 5, offset: 20786}, + val: "\\{", + ignoreCase: false, + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 650, col: 13, offset: 20794}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + run: (*parser).callonRelativeLink138, + expr: &seqExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 324, col: 18, offset: 10054}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 324, col: 28, offset: 10064}, + expr: &charClassMatcher{ + pos: position{line: 324, col: 29, offset: 10065}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 650, col: 32, offset: 20813}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 657, col: 5, offset: 21054}, + run: (*parser).callonRelativeLink144, + expr: &seqExpr{ + pos: position{line: 657, col: 5, offset: 21054}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 657, col: 5, offset: 21054}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + &labeledExpr{ + pos: position{line: 657, col: 9, offset: 21058}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + run: (*parser).callonRelativeLink148, + expr: &seqExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 324, col: 18, offset: 10054}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 324, col: 28, offset: 10064}, + expr: &charClassMatcher{ + pos: position{line: 324, col: 29, offset: 10065}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 657, col: 28, offset: 21077}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 707, col: 8, offset: 23027}, + run: (*parser).callonRelativeLink154, + expr: &litMatcher{ + pos: position{line: 707, col: 8, offset: 23027}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 692, col: 79, offset: 22413}, + val: ">>", + ignoreCase: false, + want: "\">>\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 694, col: 9, offset: 22486}, + run: (*parser).callonRelativeLink157, + expr: &seqExpr{ + pos: position{line: 694, col: 9, offset: 22486}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 694, col: 9, offset: 22486}, + val: "<<", + ignoreCase: false, + want: "\"<<\"", + }, + &labeledExpr{ + pos: position{line: 694, col: 14, offset: 22491}, + label: "id", + expr: &actionExpr{ + pos: position{line: 3043, col: 7, offset: 99263}, + run: (*parser).callonRelativeLink161, + expr: &oneOrMoreExpr{ + pos: position{line: 3043, col: 7, offset: 99263}, + expr: &charClassMatcher{ + pos: position{line: 3043, col: 7, offset: 99263}, + val: "[^[]<>,]", + chars: []rune{'[', ']', '<', '>', ','}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 694, col: 22, offset: 22499}, + val: ">>", + ignoreCase: false, + want: "\">>\"", + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2751, col: 11, offset: 90101}, + run: (*parser).callonRelativeLink165, + expr: &charClassMatcher{ + pos: position{line: 2751, col: 12, offset: 90102}, + val: "[<>&]", + chars: []rune{'<', '>', '&'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, }, }, }, - }, - &andCodeExpr{ - pos: position{line: 1498, col: 9, offset: 49107}, - run: (*parser).callonListElements21, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 1517, col: 11, offset: 49824}, - run: (*parser).callonListElements22, - expr: &seqExpr{ - pos: position{line: 1517, col: 11, offset: 49824}, - exprs: []interface{}{ - &oneOrMoreExpr{ - pos: position{line: 1517, col: 11, offset: 49824}, - expr: &charClassMatcher{ - pos: position{line: 1517, col: 12, offset: 49825}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - &litMatcher{ - pos: position{line: 1517, col: 20, offset: 49833}, - val: ".", - ignoreCase: false, - want: "\".\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 1519, col: 13, offset: 49950}, - run: (*parser).callonListElements27, - expr: &seqExpr{ - pos: position{line: 1519, col: 13, offset: 49950}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 1519, col: 14, offset: 49951}, - val: "[a-z]", - ranges: []rune{'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - &litMatcher{ - pos: position{line: 1519, col: 21, offset: 49958}, - val: ".", - ignoreCase: false, - want: "\".\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 1521, col: 13, offset: 50078}, - run: (*parser).callonListElements31, - expr: &seqExpr{ - pos: position{line: 1521, col: 13, offset: 50078}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 1521, col: 14, offset: 50079}, - val: "[A-Z]", - ranges: []rune{'A', 'Z'}, - ignoreCase: false, - inverted: false, - }, - &litMatcher{ - pos: position{line: 1521, col: 21, offset: 50086}, - val: ".", - ignoreCase: false, - want: "\".\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 1523, col: 13, offset: 50206}, - run: (*parser).callonListElements35, - expr: &seqExpr{ - pos: position{line: 1523, col: 13, offset: 50206}, - exprs: []interface{}{ - &oneOrMoreExpr{ - pos: position{line: 1523, col: 13, offset: 50206}, - expr: &charClassMatcher{ - pos: position{line: 1523, col: 14, offset: 50207}, - val: "[ivxdlcm]", - chars: []rune{'i', 'v', 'x', 'd', 'l', 'c', 'm'}, - ignoreCase: false, - inverted: false, - }, - }, - &litMatcher{ - pos: position{line: 1523, col: 26, offset: 50219}, - val: ")", - ignoreCase: false, - want: "\")\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 1525, col: 13, offset: 50339}, - run: (*parser).callonListElements40, - expr: &seqExpr{ - pos: position{line: 1525, col: 13, offset: 50339}, - exprs: []interface{}{ - &oneOrMoreExpr{ - pos: position{line: 1525, col: 13, offset: 50339}, - expr: &charClassMatcher{ - pos: position{line: 1525, col: 14, offset: 50340}, - val: "[IVXDLCM]", - chars: []rune{'I', 'V', 'X', 'D', 'L', 'C', 'M'}, - ignoreCase: false, - inverted: false, + &actionExpr{ + pos: position{line: 3037, col: 11, offset: 99107}, + run: (*parser).callonRelativeLink167, + expr: &litMatcher{ + pos: position{line: 3037, col: 11, offset: 99107}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, }, }, - &litMatcher{ - pos: position{line: 1525, col: 26, offset: 50352}, - val: ")", - ignoreCase: false, - want: "\")\"", - }, }, }, }, @@ -23438,84 +24186,40 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2903, col: 11, offset: 96254}, - run: (*parser).callonListElements45, - expr: &oneOrMoreExpr{ - pos: position{line: 2903, col: 11, offset: 96254}, - expr: &charClassMatcher{ - pos: position{line: 2903, col: 12, offset: 96255}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 1486, col: 5, offset: 48760}, - label: "content", - expr: &actionExpr{ - pos: position{line: 1426, col: 5, offset: 46956}, - run: (*parser).callonListElements49, - expr: &seqExpr{ - pos: position{line: 1426, col: 5, offset: 46956}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 1426, col: 5, offset: 46956}, - label: "rawline", - expr: &actionExpr{ - pos: position{line: 1426, col: 14, offset: 46965}, - run: (*parser).callonListElements52, - expr: &oneOrMoreExpr{ - pos: position{line: 1426, col: 14, offset: 46965}, - expr: &charClassMatcher{ - pos: position{line: 1426, col: 14, offset: 46965}, - val: "[^\\r\\n]", - chars: []rune{'\r', '\n'}, + pos: position{line: 1120, col: 23, offset: 34854}, + run: (*parser).callonRelativeLink169, + expr: &seqExpr{ + pos: position{line: 1120, col: 23, offset: 34854}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1118, col: 32, offset: 34822}, + val: "�", ignoreCase: false, - inverted: true, + want: "\"�\"", }, - }, - }, - }, - &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, - run: (*parser).callonListElements56, - expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", + &labeledExpr{ + pos: position{line: 1120, col: 51, offset: 34882}, + label: "ref", + expr: &actionExpr{ + pos: position{line: 1120, col: 56, offset: 34887}, + run: (*parser).callonRelativeLink173, + expr: &oneOrMoreExpr{ + pos: position{line: 1120, col: 56, offset: 34887}, + expr: &charClassMatcher{ + pos: position{line: 1120, col: 56, offset: 34887}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, }, }, }, - }, - ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, - expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + &litMatcher{ + pos: position{line: 1118, col: 32, offset: 34822}, + val: "�", + ignoreCase: false, + want: "\"�\"", }, }, }, @@ -23527,1078 +24231,515 @@ var g = &grammar{ }, }, }, - &actionExpr{ - pos: position{line: 1535, col: 5, offset: 50618}, - run: (*parser).callonListElements63, + }, + &labeledExpr{ + pos: position{line: 1327, col: 32, offset: 43297}, + label: "attributes", + expr: &ruleRefExpr{ + pos: position{line: 1327, col: 44, offset: 43309}, + name: "InlineAttributes", + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1332, col: 5, offset: 43441}, + run: (*parser).callonRelativeLink179, + expr: &seqExpr{ + pos: position{line: 1332, col: 5, offset: 43441}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1332, col: 5, offset: 43441}, + val: "link:", + ignoreCase: false, + want: "\"link:\"", + }, + &labeledExpr{ + pos: position{line: 1332, col: 13, offset: 43449}, + label: "url", + expr: &actionExpr{ + pos: position{line: 3018, col: 13, offset: 98347}, + run: (*parser).callonRelativeLink183, expr: &seqExpr{ - pos: position{line: 1535, col: 5, offset: 50618}, + pos: position{line: 3018, col: 13, offset: 98347}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1535, col: 5, offset: 50618}, - label: "prefix", - expr: &actionExpr{ - pos: position{line: 1542, col: 5, offset: 50891}, - run: (*parser).callonListElements66, - expr: &seqExpr{ - pos: position{line: 1542, col: 5, offset: 50891}, - exprs: []interface{}{ - &zeroOrMoreExpr{ - pos: position{line: 1542, col: 5, offset: 50891}, - expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, - run: (*parser).callonListElements69, - expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, + pos: position{line: 3018, col: 13, offset: 98347}, + label: "scheme", + expr: &zeroOrOneExpr{ + pos: position{line: 3018, col: 20, offset: 98354}, + expr: &choiceExpr{ + pos: position{line: 3026, col: 11, offset: 98616}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3026, col: 11, offset: 98616}, + val: "http://", + ignoreCase: false, + want: "\"http://\"", }, - &labeledExpr{ - pos: position{line: 1542, col: 12, offset: 50898}, - label: "prefix", - expr: &choiceExpr{ - pos: position{line: 1542, col: 20, offset: 50906}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 1544, col: 9, offset: 50963}, - run: (*parser).callonListElements73, - expr: &seqExpr{ - pos: position{line: 1544, col: 9, offset: 50963}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 1544, col: 9, offset: 50963}, - label: "depth", - expr: &actionExpr{ - pos: position{line: 1544, col: 16, offset: 50970}, - run: (*parser).callonListElements76, - expr: &oneOrMoreExpr{ - pos: position{line: 1544, col: 16, offset: 50970}, - expr: &litMatcher{ - pos: position{line: 1544, col: 17, offset: 50971}, - val: "*", - ignoreCase: false, - want: "\"*\"", - }, - }, - }, - }, - &andCodeExpr{ - pos: position{line: 1548, col: 9, offset: 51071}, - run: (*parser).callonListElements79, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 1565, col: 14, offset: 51778}, - label: "depth", - expr: &actionExpr{ - pos: position{line: 1565, col: 21, offset: 51785}, - run: (*parser).callonListElements81, - expr: &litMatcher{ - pos: position{line: 1565, col: 22, offset: 51786}, - val: "-", - ignoreCase: false, - want: "\"-\"", - }, - }, - }, - }, - }, + &litMatcher{ + pos: position{line: 3026, col: 23, offset: 98628}, + val: "https://", + ignoreCase: false, + want: "\"https://\"", }, - &actionExpr{ - pos: position{line: 2903, col: 11, offset: 96254}, - run: (*parser).callonListElements83, - expr: &oneOrMoreExpr{ - pos: position{line: 2903, col: 11, offset: 96254}, - expr: &charClassMatcher{ - pos: position{line: 2903, col: 12, offset: 96255}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 1536, col: 5, offset: 50659}, - label: "checkstyle", - expr: &zeroOrOneExpr{ - pos: position{line: 1536, col: 16, offset: 50670}, - expr: &actionExpr{ - pos: position{line: 1572, col: 5, offset: 51947}, - run: (*parser).callonListElements88, - expr: &seqExpr{ - pos: position{line: 1572, col: 5, offset: 51947}, - exprs: []interface{}{ - &andExpr{ - pos: position{line: 1572, col: 5, offset: 51947}, - expr: &litMatcher{ - pos: position{line: 1572, col: 6, offset: 51948}, - val: "[", - ignoreCase: false, - want: "\"[\"", - }, - }, - &labeledExpr{ - pos: position{line: 1572, col: 10, offset: 51952}, - label: "style", - expr: &choiceExpr{ - pos: position{line: 1573, col: 7, offset: 51966}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 1573, col: 7, offset: 51966}, - run: (*parser).callonListElements94, - expr: &litMatcher{ - pos: position{line: 1573, col: 7, offset: 51966}, - val: "[ ]", - ignoreCase: false, - want: "\"[ ]\"", - }, - }, - &actionExpr{ - pos: position{line: 1574, col: 7, offset: 52011}, - run: (*parser).callonListElements96, - expr: &litMatcher{ - pos: position{line: 1574, col: 7, offset: 52011}, - val: "[*]", - ignoreCase: false, - want: "\"[*]\"", - }, - }, - &actionExpr{ - pos: position{line: 1575, col: 7, offset: 52054}, - run: (*parser).callonListElements98, - expr: &litMatcher{ - pos: position{line: 1575, col: 7, offset: 52054}, - val: "[x]", - ignoreCase: false, - want: "\"[x]\"", - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2903, col: 11, offset: 96254}, - run: (*parser).callonListElements100, - expr: &oneOrMoreExpr{ - pos: position{line: 2903, col: 11, offset: 96254}, - expr: &charClassMatcher{ - pos: position{line: 2903, col: 12, offset: 96255}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 1537, col: 5, offset: 50709}, - label: "content", - expr: &actionExpr{ - pos: position{line: 1426, col: 5, offset: 46956}, - run: (*parser).callonListElements104, - expr: &seqExpr{ - pos: position{line: 1426, col: 5, offset: 46956}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 1426, col: 5, offset: 46956}, - label: "rawline", - expr: &actionExpr{ - pos: position{line: 1426, col: 14, offset: 46965}, - run: (*parser).callonListElements107, - expr: &oneOrMoreExpr{ - pos: position{line: 1426, col: 14, offset: 46965}, - expr: &charClassMatcher{ - pos: position{line: 1426, col: 14, offset: 46965}, - val: "[^\\r\\n]", - chars: []rune{'\r', '\n'}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, - run: (*parser).callonListElements111, - expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, - expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 1642, col: 5, offset: 53927}, - run: (*parser).callonListElements118, - expr: &seqExpr{ - pos: position{line: 1642, col: 5, offset: 53927}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 1642, col: 5, offset: 53927}, - label: "ref", - expr: &actionExpr{ - pos: position{line: 1648, col: 5, offset: 54128}, - run: (*parser).callonListElements121, - expr: &seqExpr{ - pos: position{line: 1648, col: 5, offset: 54128}, - exprs: []interface{}{ &litMatcher{ - pos: position{line: 1648, col: 5, offset: 54128}, - val: "<", + pos: position{line: 3026, col: 36, offset: 98641}, + val: "ftp://", ignoreCase: false, - want: "\"<\"", - }, - &labeledExpr{ - pos: position{line: 1648, col: 9, offset: 54132}, - label: "ref", - expr: &actionExpr{ - pos: position{line: 1648, col: 14, offset: 54137}, - run: (*parser).callonListElements125, - expr: &oneOrMoreExpr{ - pos: position{line: 1648, col: 14, offset: 54137}, - expr: &charClassMatcher{ - pos: position{line: 1648, col: 14, offset: 54137}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, + want: "\"ftp://\"", }, &litMatcher{ - pos: position{line: 1648, col: 62, offset: 54185}, - val: ">", + pos: position{line: 3026, col: 47, offset: 98652}, + val: "irc://", ignoreCase: false, - want: "\">\"", - }, - &actionExpr{ - pos: position{line: 2903, col: 11, offset: 96254}, - run: (*parser).callonListElements129, - expr: &oneOrMoreExpr{ - pos: position{line: 2903, col: 11, offset: 96254}, - expr: &charClassMatcher{ - pos: position{line: 2903, col: 12, offset: 96255}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 1643, col: 5, offset: 53963}, - label: "description", - expr: &actionExpr{ - pos: position{line: 1653, col: 5, offset: 54311}, - run: (*parser).callonListElements133, - expr: &seqExpr{ - pos: position{line: 1653, col: 5, offset: 54311}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 1653, col: 5, offset: 54311}, - label: "rawline", - expr: &actionExpr{ - pos: position{line: 1653, col: 14, offset: 54320}, - run: (*parser).callonListElements136, - expr: &oneOrMoreExpr{ - pos: position{line: 1653, col: 14, offset: 54320}, - expr: &charClassMatcher{ - pos: position{line: 1653, col: 14, offset: 54320}, - val: "[^\\r\\n]", - chars: []rune{'\r', '\n'}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, - run: (*parser).callonListElements140, - expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, - expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 1584, col: 5, offset: 52247}, - run: (*parser).callonListElements147, - expr: &seqExpr{ - pos: position{line: 1584, col: 5, offset: 52247}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 1584, col: 5, offset: 52247}, - label: "term", - expr: &actionExpr{ - pos: position{line: 1592, col: 5, offset: 52506}, - run: (*parser).callonListElements150, - expr: &oneOrMoreExpr{ - pos: position{line: 1592, col: 5, offset: 52506}, - expr: &seqExpr{ - pos: position{line: 1592, col: 6, offset: 52507}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 1592, col: 6, offset: 52507}, - expr: &actionExpr{ - pos: position{line: 1597, col: 5, offset: 52657}, - run: (*parser).callonListElements154, - expr: &seqExpr{ - pos: position{line: 1597, col: 5, offset: 52657}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 1597, col: 5, offset: 52657}, - label: "separator", - expr: &actionExpr{ - pos: position{line: 1597, col: 16, offset: 52668}, - run: (*parser).callonListElements157, - expr: &oneOrMoreExpr{ - pos: position{line: 1597, col: 16, offset: 52668}, - expr: &litMatcher{ - pos: position{line: 1597, col: 17, offset: 52669}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - }, - }, - }, - &andCodeExpr{ - pos: position{line: 1600, col: 5, offset: 52726}, - run: (*parser).callonListElements160, - }, - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 1592, col: 35, offset: 52536}, - expr: &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, - run: (*parser).callonListElements163, - expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, - expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, - }, - }, - }, - }, - }, - &anyMatcher{ - line: 1592, col: 40, offset: 52541, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 1585, col: 5, offset: 52282}, - label: "separator", - expr: &actionExpr{ - pos: position{line: 1597, col: 5, offset: 52657}, - run: (*parser).callonListElements172, - expr: &seqExpr{ - pos: position{line: 1597, col: 5, offset: 52657}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 1597, col: 5, offset: 52657}, - label: "separator", - expr: &actionExpr{ - pos: position{line: 1597, col: 16, offset: 52668}, - run: (*parser).callonListElements175, - expr: &oneOrMoreExpr{ - pos: position{line: 1597, col: 16, offset: 52668}, - expr: &litMatcher{ - pos: position{line: 1597, col: 17, offset: 52669}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - }, - }, + want: "\"irc://\"", }, - &andCodeExpr{ - pos: position{line: 1600, col: 5, offset: 52726}, - run: (*parser).callonListElements178, + &litMatcher{ + pos: position{line: 3026, col: 58, offset: 98663}, + val: "mailto:", + ignoreCase: false, + want: "\"mailto:\"", }, }, }, }, }, &labeledExpr{ - pos: position{line: 1586, col: 5, offset: 52327}, - label: "description", - expr: &choiceExpr{ - pos: position{line: 1608, col: 5, offset: 52976}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 1610, col: 9, offset: 53041}, - run: (*parser).callonListElements181, - expr: &seqExpr{ - pos: position{line: 1610, col: 9, offset: 53041}, - exprs: []interface{}{ - &zeroOrMoreExpr{ - pos: position{line: 1610, col: 9, offset: 53041}, - expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, - run: (*parser).callonListElements184, - expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 3018, col: 30, offset: 98364}, + label: "path", + expr: &oneOrMoreExpr{ + pos: position{line: 3018, col: 35, offset: 98369}, + expr: &choiceExpr{ + pos: position{line: 3018, col: 36, offset: 98370}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3029, col: 5, offset: 98691}, + run: (*parser).callonRelativeLink196, + expr: &seqExpr{ + pos: position{line: 3029, col: 5, offset: 98691}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 3029, col: 5, offset: 98691}, + expr: &litMatcher{ + pos: position{line: 3029, col: 6, offset: 98692}, + val: "[", ignoreCase: false, - inverted: false, + want: "\"[\"", }, }, - }, - &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, - run: (*parser).callonListElements187, + &labeledExpr{ + pos: position{line: 3030, col: 5, offset: 98716}, + label: "elements", + expr: &oneOrMoreExpr{ + pos: position{line: 3030, col: 14, offset: 98725}, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3031, col: 9, offset: 98735}, alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, - expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, - }, - }, - }, - }, - &zeroOrMoreExpr{ - pos: position{line: 1611, col: 9, offset: 53061}, - expr: &actionExpr{ - pos: position{line: 685, col: 14, offset: 22145}, - run: (*parser).callonListElements195, - expr: &seqExpr{ - pos: position{line: 685, col: 14, offset: 22145}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 685, col: 14, offset: 22145}, - expr: ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, - expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, - }, - }, - }, - &zeroOrMoreExpr{ - pos: position{line: 685, col: 19, offset: 22150}, - expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, - run: (*parser).callonListElements201, - expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, + &actionExpr{ + pos: position{line: 3031, col: 9, offset: 98735}, + run: (*parser).callonRelativeLink203, + expr: &oneOrMoreExpr{ + pos: position{line: 3031, col: 9, offset: 98735}, + expr: &charClassMatcher{ + pos: position{line: 3031, col: 10, offset: 98736}, + val: "[^\\r\\n[]�{.,;?!<> ]", + chars: []rune{'\r', '\n', '[', ']', '�', '{', '.', ',', ';', '?', '!', '<', '>', ' '}, + ignoreCase: false, + inverted: true, + }, }, }, - }, - &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, - run: (*parser).callonListElements204, - expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, + &seqExpr{ + pos: position{line: 3034, col: 11, offset: 99001}, + exprs: []interface{}{ + &actionExpr{ + pos: position{line: 3004, col: 25, offset: 97972}, + run: (*parser).callonRelativeLink207, + expr: &charClassMatcher{ + pos: position{line: 3004, col: 25, offset: 97972}, + val: "[.,;?!]", + chars: []rune{'.', ',', ';', '?', '!'}, + ignoreCase: false, + inverted: false, }, }, - }, - ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, - expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + &andExpr{ + pos: position{line: 3034, col: 32, offset: 99022}, + expr: ¬Expr{ + pos: position{line: 3034, col: 34, offset: 99024}, + expr: &choiceExpr{ + pos: position{line: 3034, col: 36, offset: 99026}, + alternatives: []interface{}{ + ¬Expr{ + pos: position{line: 3071, col: 8, offset: 99885}, + expr: &anyMatcher{ + line: 3071, col: 9, offset: 99886, + }, + }, + &actionExpr{ + pos: position{line: 3058, col: 10, offset: 99611}, + run: (*parser).callonRelativeLink214, + expr: &charClassMatcher{ + pos: position{line: 3058, col: 11, offset: 99612}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, }, }, }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 1612, col: 9, offset: 53081}, - label: "content", - expr: &zeroOrOneExpr{ - pos: position{line: 1612, col: 17, offset: 53089}, - expr: &choiceExpr{ - pos: position{line: 1406, col: 5, offset: 46323}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 1406, col: 5, offset: 46323}, - run: (*parser).callonListElements214, - expr: &actionExpr{ - pos: position{line: 2616, col: 22, offset: 87547}, - run: (*parser).callonListElements215, + &actionExpr{ + pos: position{line: 641, col: 5, offset: 20579}, + run: (*parser).callonRelativeLink216, expr: &seqExpr{ - pos: position{line: 2616, col: 22, offset: 87547}, + pos: position{line: 641, col: 5, offset: 20579}, exprs: []interface{}{ - &litMatcher{ - pos: position{line: 2621, col: 31, offset: 87768}, - val: "//", - ignoreCase: false, - want: "\"//\"", - }, - ¬Expr{ - pos: position{line: 2621, col: 36, offset: 87773}, - expr: &litMatcher{ - pos: position{line: 2621, col: 37, offset: 87774}, - val: "//", - ignoreCase: false, - want: "\"//\"", - }, + &andCodeExpr{ + pos: position{line: 641, col: 5, offset: 20579}, + run: (*parser).callonRelativeLink218, }, &labeledExpr{ - pos: position{line: 2616, col: 49, offset: 87574}, - label: "content", - expr: &actionExpr{ - pos: position{line: 2623, col: 29, offset: 87809}, - run: (*parser).callonListElements221, - expr: &zeroOrMoreExpr{ - pos: position{line: 2623, col: 29, offset: 87809}, - expr: &charClassMatcher{ - pos: position{line: 2623, col: 29, offset: 87809}, - val: "[^\\r\\n]", - chars: []rune{'\r', '\n'}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, - run: (*parser).callonListElements225, - expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, - expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 1410, col: 9, offset: 46476}, - run: (*parser).callonListElements232, - expr: &seqExpr{ - pos: position{line: 1410, col: 9, offset: 46476}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 1410, col: 9, offset: 46476}, - expr: &actionExpr{ - pos: position{line: 685, col: 14, offset: 22145}, - run: (*parser).callonListElements235, - expr: &seqExpr{ - pos: position{line: 685, col: 14, offset: 22145}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 685, col: 14, offset: 22145}, - expr: ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, - expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, - }, - }, - }, - &zeroOrMoreExpr{ - pos: position{line: 685, col: 19, offset: 22150}, - expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, - run: (*parser).callonListElements241, - expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, - run: (*parser).callonListElements244, - expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", + pos: position{line: 644, col: 5, offset: 20648}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 644, col: 14, offset: 20657}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 664, col: 25, offset: 21310}, + run: (*parser).callonRelativeLink221, + expr: &seqExpr{ + pos: position{line: 664, col: 25, offset: 21310}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 664, col: 25, offset: 21310}, + val: "{counter:", + ignoreCase: false, + want: "\"{counter:\"", + }, + &labeledExpr{ + pos: position{line: 664, col: 37, offset: 21322}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + run: (*parser).callonRelativeLink225, + expr: &seqExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 324, col: 18, offset: 10054}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 324, col: 28, offset: 10064}, + expr: &charClassMatcher{ + pos: position{line: 324, col: 29, offset: 10065}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, }, }, }, - }, - ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, - expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, - }, - }, - }, - }, - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 1411, col: 9, offset: 46495}, - expr: &seqExpr{ - pos: position{line: 1444, col: 34, offset: 47455}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 1444, col: 34, offset: 47455}, - val: "+", - ignoreCase: false, - want: "\"+\"", - }, - &zeroOrMoreExpr{ - pos: position{line: 1444, col: 38, offset: 47459}, - expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, - run: (*parser).callonListElements255, - expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, - run: (*parser).callonListElements257, - expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 1412, col: 9, offset: 46534}, - expr: &actionExpr{ - pos: position{line: 1492, col: 5, offset: 48929}, - run: (*parser).callonListElements263, - expr: &seqExpr{ - pos: position{line: 1492, col: 5, offset: 48929}, - exprs: []interface{}{ - &zeroOrMoreExpr{ - pos: position{line: 1492, col: 5, offset: 48929}, - expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, - run: (*parser).callonListElements266, - expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &labeledExpr{ - pos: position{line: 1492, col: 12, offset: 48936}, - label: "prefix", - expr: &choiceExpr{ - pos: position{line: 1494, col: 9, offset: 48999}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 1494, col: 9, offset: 48999}, - run: (*parser).callonListElements270, - expr: &seqExpr{ - pos: position{line: 1494, col: 9, offset: 48999}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 1494, col: 9, offset: 48999}, - label: "depth", - expr: &actionExpr{ - pos: position{line: 1494, col: 16, offset: 49006}, - run: (*parser).callonListElements273, - expr: &oneOrMoreExpr{ - pos: position{line: 1494, col: 16, offset: 49006}, - expr: &litMatcher{ - pos: position{line: 1494, col: 17, offset: 49007}, - val: ".", - ignoreCase: false, - want: "\".\"", + &labeledExpr{ + pos: position{line: 664, col: 56, offset: 21341}, + label: "start", + expr: &zeroOrOneExpr{ + pos: position{line: 664, col: 62, offset: 21347}, + expr: &actionExpr{ + pos: position{line: 672, col: 17, offset: 21642}, + run: (*parser).callonRelativeLink232, + expr: &seqExpr{ + pos: position{line: 672, col: 17, offset: 21642}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 672, col: 17, offset: 21642}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &labeledExpr{ + pos: position{line: 672, col: 21, offset: 21646}, + label: "start", + expr: &choiceExpr{ + pos: position{line: 672, col: 28, offset: 21653}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 672, col: 28, offset: 21653}, + run: (*parser).callonRelativeLink237, + expr: &charClassMatcher{ + pos: position{line: 672, col: 28, offset: 21653}, + val: "[A-Za-z]", + ranges: []rune{'A', 'Z', 'a', 'z'}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 674, col: 9, offset: 21707}, + run: (*parser).callonRelativeLink239, + expr: &oneOrMoreExpr{ + pos: position{line: 674, col: 9, offset: 21707}, + expr: &charClassMatcher{ + pos: position{line: 674, col: 9, offset: 21707}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, }, }, }, }, - &andCodeExpr{ - pos: position{line: 1498, col: 9, offset: 49107}, - run: (*parser).callonListElements276, - }, }, }, }, - &actionExpr{ - pos: position{line: 1517, col: 11, offset: 49824}, - run: (*parser).callonListElements277, - expr: &seqExpr{ - pos: position{line: 1517, col: 11, offset: 49824}, - exprs: []interface{}{ - &oneOrMoreExpr{ - pos: position{line: 1517, col: 11, offset: 49824}, - expr: &charClassMatcher{ - pos: position{line: 1517, col: 12, offset: 49825}, - val: "[0-9]", + &litMatcher{ + pos: position{line: 664, col: 78, offset: 21363}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 668, col: 25, offset: 21481}, + run: (*parser).callonRelativeLink243, + expr: &seqExpr{ + pos: position{line: 668, col: 25, offset: 21481}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 668, col: 25, offset: 21481}, + val: "{counter2:", + ignoreCase: false, + want: "\"{counter2:\"", + }, + &labeledExpr{ + pos: position{line: 668, col: 38, offset: 21494}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + run: (*parser).callonRelativeLink247, + expr: &seqExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 324, col: 18, offset: 10054}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, ignoreCase: false, inverted: false, }, - }, - &litMatcher{ - pos: position{line: 1517, col: 20, offset: 49833}, - val: ".", - ignoreCase: false, - want: "\".\"", + &zeroOrMoreExpr{ + pos: position{line: 324, col: 28, offset: 10064}, + expr: &charClassMatcher{ + pos: position{line: 324, col: 29, offset: 10065}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, }, }, }, }, - &actionExpr{ - pos: position{line: 1519, col: 13, offset: 49950}, - run: (*parser).callonListElements282, - expr: &seqExpr{ - pos: position{line: 1519, col: 13, offset: 49950}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 1519, col: 14, offset: 49951}, - val: "[a-z]", - ranges: []rune{'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - &litMatcher{ - pos: position{line: 1519, col: 21, offset: 49958}, - val: ".", - ignoreCase: false, - want: "\".\"", + &labeledExpr{ + pos: position{line: 668, col: 57, offset: 21513}, + label: "start", + expr: &zeroOrOneExpr{ + pos: position{line: 668, col: 63, offset: 21519}, + expr: &actionExpr{ + pos: position{line: 672, col: 17, offset: 21642}, + run: (*parser).callonRelativeLink254, + expr: &seqExpr{ + pos: position{line: 672, col: 17, offset: 21642}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 672, col: 17, offset: 21642}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &labeledExpr{ + pos: position{line: 672, col: 21, offset: 21646}, + label: "start", + expr: &choiceExpr{ + pos: position{line: 672, col: 28, offset: 21653}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 672, col: 28, offset: 21653}, + run: (*parser).callonRelativeLink259, + expr: &charClassMatcher{ + pos: position{line: 672, col: 28, offset: 21653}, + val: "[A-Za-z]", + ranges: []rune{'A', 'Z', 'a', 'z'}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 674, col: 9, offset: 21707}, + run: (*parser).callonRelativeLink261, + expr: &oneOrMoreExpr{ + pos: position{line: 674, col: 9, offset: 21707}, + expr: &charClassMatcher{ + pos: position{line: 674, col: 9, offset: 21707}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, }, }, }, }, - &actionExpr{ - pos: position{line: 1521, col: 13, offset: 50078}, - run: (*parser).callonListElements286, - expr: &seqExpr{ - pos: position{line: 1521, col: 13, offset: 50078}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 1521, col: 14, offset: 50079}, - val: "[A-Z]", - ranges: []rune{'A', 'Z'}, - ignoreCase: false, - inverted: false, - }, - &litMatcher{ - pos: position{line: 1521, col: 21, offset: 50086}, - val: ".", - ignoreCase: false, - want: "\".\"", - }, - }, - }, + &litMatcher{ + pos: position{line: 668, col: 79, offset: 21535}, + val: "}", + ignoreCase: false, + want: "\"}\"", }, - &actionExpr{ - pos: position{line: 1523, col: 13, offset: 50206}, - run: (*parser).callonListElements290, - expr: &seqExpr{ - pos: position{line: 1523, col: 13, offset: 50206}, - exprs: []interface{}{ - &oneOrMoreExpr{ - pos: position{line: 1523, col: 13, offset: 50206}, - expr: &charClassMatcher{ - pos: position{line: 1523, col: 14, offset: 50207}, - val: "[ivxdlcm]", - chars: []rune{'i', 'v', 'x', 'd', 'l', 'c', 'm'}, + }, + }, + }, + &actionExpr{ + pos: position{line: 650, col: 5, offset: 20786}, + run: (*parser).callonRelativeLink265, + expr: &seqExpr{ + pos: position{line: 650, col: 5, offset: 20786}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 650, col: 5, offset: 20786}, + val: "\\{", + ignoreCase: false, + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 650, col: 13, offset: 20794}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + run: (*parser).callonRelativeLink269, + expr: &seqExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 324, col: 18, offset: 10054}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, ignoreCase: false, inverted: false, }, - }, - &litMatcher{ - pos: position{line: 1523, col: 26, offset: 50219}, - val: ")", - ignoreCase: false, - want: "\")\"", + &zeroOrMoreExpr{ + pos: position{line: 324, col: 28, offset: 10064}, + expr: &charClassMatcher{ + pos: position{line: 324, col: 29, offset: 10065}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, }, }, }, }, - &actionExpr{ - pos: position{line: 1525, col: 13, offset: 50339}, - run: (*parser).callonListElements295, - expr: &seqExpr{ - pos: position{line: 1525, col: 13, offset: 50339}, - exprs: []interface{}{ - &oneOrMoreExpr{ - pos: position{line: 1525, col: 13, offset: 50339}, - expr: &charClassMatcher{ - pos: position{line: 1525, col: 14, offset: 50340}, - val: "[IVXDLCM]", - chars: []rune{'I', 'V', 'X', 'D', 'L', 'C', 'M'}, + &litMatcher{ + pos: position{line: 650, col: 32, offset: 20813}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 657, col: 5, offset: 21054}, + run: (*parser).callonRelativeLink275, + expr: &seqExpr{ + pos: position{line: 657, col: 5, offset: 21054}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 657, col: 5, offset: 21054}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + &labeledExpr{ + pos: position{line: 657, col: 9, offset: 21058}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + run: (*parser).callonRelativeLink279, + expr: &seqExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 324, col: 18, offset: 10054}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, ignoreCase: false, inverted: false, }, - }, - &litMatcher{ - pos: position{line: 1525, col: 26, offset: 50352}, - val: ")", - ignoreCase: false, - want: "\")\"", + &zeroOrMoreExpr{ + pos: position{line: 324, col: 28, offset: 10064}, + expr: &charClassMatcher{ + pos: position{line: 324, col: 29, offset: 10065}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, }, }, }, }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2903, col: 11, offset: 96254}, - run: (*parser).callonListElements300, - expr: &oneOrMoreExpr{ - pos: position{line: 2903, col: 11, offset: 96254}, - expr: &charClassMatcher{ - pos: position{line: 2903, col: 12, offset: 96255}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, + &litMatcher{ + pos: position{line: 657, col: 28, offset: 21077}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, }, }, }, @@ -24606,326 +24747,67 @@ var g = &grammar{ }, }, }, - ¬Expr{ - pos: position{line: 1413, col: 9, offset: 46568}, - expr: &actionExpr{ - pos: position{line: 1542, col: 5, offset: 50891}, - run: (*parser).callonListElements304, - expr: &seqExpr{ - pos: position{line: 1542, col: 5, offset: 50891}, - exprs: []interface{}{ - &zeroOrMoreExpr{ - pos: position{line: 1542, col: 5, offset: 50891}, - expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, - run: (*parser).callonListElements307, - expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &labeledExpr{ - pos: position{line: 1542, col: 12, offset: 50898}, - label: "prefix", + }, + }, + &actionExpr{ + pos: position{line: 2743, col: 5, offset: 89823}, + run: (*parser).callonRelativeLink285, + expr: &seqExpr{ + pos: position{line: 2743, col: 5, offset: 89823}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2743, col: 5, offset: 89823}, + run: (*parser).callonRelativeLink287, + }, + &labeledExpr{ + pos: position{line: 2746, col: 5, offset: 89899}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 2748, col: 9, offset: 89997}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2748, col: 9, offset: 89997}, + run: (*parser).callonRelativeLink290, expr: &choiceExpr{ - pos: position{line: 1542, col: 20, offset: 50906}, + pos: position{line: 692, col: 27, offset: 22361}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1544, col: 9, offset: 50963}, - run: (*parser).callonListElements311, + pos: position{line: 692, col: 27, offset: 22361}, + run: (*parser).callonRelativeLink292, expr: &seqExpr{ - pos: position{line: 1544, col: 9, offset: 50963}, + pos: position{line: 692, col: 27, offset: 22361}, exprs: []interface{}{ + &litMatcher{ + pos: position{line: 692, col: 27, offset: 22361}, + val: "<<", + ignoreCase: false, + want: "\"<<\"", + }, &labeledExpr{ - pos: position{line: 1544, col: 9, offset: 50963}, - label: "depth", + pos: position{line: 692, col: 32, offset: 22366}, + label: "id", expr: &actionExpr{ - pos: position{line: 1544, col: 16, offset: 50970}, - run: (*parser).callonListElements314, + pos: position{line: 3043, col: 7, offset: 99263}, + run: (*parser).callonRelativeLink296, expr: &oneOrMoreExpr{ - pos: position{line: 1544, col: 16, offset: 50970}, - expr: &litMatcher{ - pos: position{line: 1544, col: 17, offset: 50971}, - val: "*", + pos: position{line: 3043, col: 7, offset: 99263}, + expr: &charClassMatcher{ + pos: position{line: 3043, col: 7, offset: 99263}, + val: "[^[]<>,]", + chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, - want: "\"*\"", + inverted: true, }, }, }, }, - &andCodeExpr{ - pos: position{line: 1548, col: 9, offset: 51071}, - run: (*parser).callonListElements317, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 1565, col: 14, offset: 51778}, - label: "depth", - expr: &actionExpr{ - pos: position{line: 1565, col: 21, offset: 51785}, - run: (*parser).callonListElements319, - expr: &litMatcher{ - pos: position{line: 1565, col: 22, offset: 51786}, - val: "-", - ignoreCase: false, - want: "\"-\"", - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2903, col: 11, offset: 96254}, - run: (*parser).callonListElements321, - expr: &oneOrMoreExpr{ - pos: position{line: 2903, col: 11, offset: 96254}, - expr: &charClassMatcher{ - pos: position{line: 2903, col: 12, offset: 96255}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 1414, col: 9, offset: 46604}, - expr: &actionExpr{ - pos: position{line: 1648, col: 5, offset: 54128}, - run: (*parser).callonListElements325, - expr: &seqExpr{ - pos: position{line: 1648, col: 5, offset: 54128}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 1648, col: 5, offset: 54128}, - val: "<", - ignoreCase: false, - want: "\"<\"", - }, - &labeledExpr{ - pos: position{line: 1648, col: 9, offset: 54132}, - label: "ref", - expr: &actionExpr{ - pos: position{line: 1648, col: 14, offset: 54137}, - run: (*parser).callonListElements329, - expr: &oneOrMoreExpr{ - pos: position{line: 1648, col: 14, offset: 54137}, - expr: &charClassMatcher{ - pos: position{line: 1648, col: 14, offset: 54137}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 1648, col: 62, offset: 54185}, - val: ">", - ignoreCase: false, - want: "\">\"", - }, - &actionExpr{ - pos: position{line: 2903, col: 11, offset: 96254}, - run: (*parser).callonListElements333, - expr: &oneOrMoreExpr{ - pos: position{line: 2903, col: 11, offset: 96254}, - expr: &charClassMatcher{ - pos: position{line: 2903, col: 12, offset: 96255}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 1415, col: 9, offset: 46638}, - expr: &seqExpr{ - pos: position{line: 1415, col: 11, offset: 46640}, - exprs: []interface{}{ - &actionExpr{ - pos: position{line: 1592, col: 5, offset: 52506}, - run: (*parser).callonListElements338, - expr: &oneOrMoreExpr{ - pos: position{line: 1592, col: 5, offset: 52506}, - expr: &seqExpr{ - pos: position{line: 1592, col: 6, offset: 52507}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 1592, col: 6, offset: 52507}, - expr: &actionExpr{ - pos: position{line: 1597, col: 5, offset: 52657}, - run: (*parser).callonListElements342, - expr: &seqExpr{ - pos: position{line: 1597, col: 5, offset: 52657}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 1597, col: 5, offset: 52657}, - label: "separator", - expr: &actionExpr{ - pos: position{line: 1597, col: 16, offset: 52668}, - run: (*parser).callonListElements345, - expr: &oneOrMoreExpr{ - pos: position{line: 1597, col: 16, offset: 52668}, - expr: &litMatcher{ - pos: position{line: 1597, col: 17, offset: 52669}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - }, - }, - }, - &andCodeExpr{ - pos: position{line: 1600, col: 5, offset: 52726}, - run: (*parser).callonListElements348, - }, - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 1592, col: 35, offset: 52536}, - expr: &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, - run: (*parser).callonListElements351, - expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, - expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, - }, - }, - }, - }, - }, - &anyMatcher{ - line: 1592, col: 40, offset: 52541, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 1597, col: 5, offset: 52657}, - run: (*parser).callonListElements359, - expr: &seqExpr{ - pos: position{line: 1597, col: 5, offset: 52657}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 1597, col: 5, offset: 52657}, - label: "separator", - expr: &actionExpr{ - pos: position{line: 1597, col: 16, offset: 52668}, - run: (*parser).callonListElements362, - expr: &oneOrMoreExpr{ - pos: position{line: 1597, col: 16, offset: 52668}, - expr: &litMatcher{ - pos: position{line: 1597, col: 17, offset: 52669}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - }, - }, - }, - &andCodeExpr{ - pos: position{line: 1600, col: 5, offset: 52726}, - run: (*parser).callonListElements365, - }, - }, - }, - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 1416, col: 9, offset: 46700}, - expr: &actionExpr{ - pos: position{line: 731, col: 5, offset: 23680}, - run: (*parser).callonListElements367, - expr: &seqExpr{ - pos: position{line: 731, col: 5, offset: 23680}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 731, col: 5, offset: 23680}, - expr: &charClassMatcher{ - pos: position{line: 2813, col: 13, offset: 93503}, - val: "[0-9\\pL]", - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - &labeledExpr{ - pos: position{line: 732, col: 5, offset: 23710}, - label: "delimiter", - expr: &choiceExpr{ - pos: position{line: 733, col: 9, offset: 23730}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 746, col: 26, offset: 24217}, - run: (*parser).callonListElements373, - expr: &seqExpr{ - pos: position{line: 746, col: 26, offset: 24217}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 746, col: 26, offset: 24217}, - val: "////", - ignoreCase: false, - want: "\"////\"", - }, &zeroOrMoreExpr{ - pos: position{line: 746, col: 33, offset: 24224}, + pos: position{line: 692, col: 40, offset: 22374}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, - run: (*parser).callonListElements377, + pos: position{line: 3058, col: 10, offset: 99611}, + run: (*parser).callonRelativeLink300, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -24933,597 +24815,215 @@ var g = &grammar{ }, }, }, - &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, - run: (*parser).callonListElements380, - expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, - expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 750, col: 26, offset: 24331}, - run: (*parser).callonListElements387, - expr: &seqExpr{ - pos: position{line: 750, col: 26, offset: 24331}, - exprs: []interface{}{ &litMatcher{ - pos: position{line: 750, col: 26, offset: 24331}, - val: "====", + pos: position{line: 692, col: 47, offset: 22381}, + val: ",", ignoreCase: false, - want: "\"====\"", - }, - &zeroOrMoreExpr{ - pos: position{line: 750, col: 33, offset: 24338}, - expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, - run: (*parser).callonListElements391, - expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, + want: "\",\"", }, - &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, - run: (*parser).callonListElements394, - expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", + &labeledExpr{ + pos: position{line: 692, col: 51, offset: 22385}, + label: "label", + expr: &oneOrMoreExpr{ + pos: position{line: 702, col: 24, offset: 22786}, + expr: &choiceExpr{ + pos: position{line: 703, col: 5, offset: 22792}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 703, col: 6, offset: 22793}, + run: (*parser).callonRelativeLink306, + expr: &seqExpr{ + pos: position{line: 703, col: 6, offset: 22793}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 703, col: 6, offset: 22793}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &oneOrMoreExpr{ + pos: position{line: 703, col: 14, offset: 22801}, + expr: &charClassMatcher{ + pos: position{line: 703, col: 14, offset: 22801}, + val: "[^\\r\\n{<>]", + chars: []rune{'\r', '\n', '{', '<', '>'}, + ignoreCase: false, + inverted: true, + }, + }, + }, }, - &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", + }, + &actionExpr{ + pos: position{line: 650, col: 5, offset: 20786}, + run: (*parser).callonRelativeLink311, + expr: &seqExpr{ + pos: position{line: 650, col: 5, offset: 20786}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 650, col: 5, offset: 20786}, + val: "\\{", + ignoreCase: false, + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 650, col: 13, offset: 20794}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + run: (*parser).callonRelativeLink315, + expr: &seqExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 324, col: 18, offset: 10054}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 324, col: 28, offset: 10064}, + expr: &charClassMatcher{ + pos: position{line: 324, col: 29, offset: 10065}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 650, col: 32, offset: 20813}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, }, - &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, - val: "\r", + }, + &actionExpr{ + pos: position{line: 657, col: 5, offset: 21054}, + run: (*parser).callonRelativeLink321, + expr: &seqExpr{ + pos: position{line: 657, col: 5, offset: 21054}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 657, col: 5, offset: 21054}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + &labeledExpr{ + pos: position{line: 657, col: 9, offset: 21058}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + run: (*parser).callonRelativeLink325, + expr: &seqExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 324, col: 18, offset: 10054}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 324, col: 28, offset: 10064}, + expr: &charClassMatcher{ + pos: position{line: 324, col: 29, offset: 10065}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 657, col: 28, offset: 21077}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 707, col: 8, offset: 23027}, + run: (*parser).callonRelativeLink331, + expr: &litMatcher{ + pos: position{line: 707, col: 8, offset: 23027}, + val: "{", ignoreCase: false, - want: "\"\\r\"", + want: "\"{\"", }, }, }, }, - ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, - expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, - }, - }, }, }, + &litMatcher{ + pos: position{line: 692, col: 79, offset: 22413}, + val: ">>", + ignoreCase: false, + want: "\">>\"", + }, }, }, }, &actionExpr{ - pos: position{line: 758, col: 26, offset: 24556}, - run: (*parser).callonListElements401, + pos: position{line: 694, col: 9, offset: 22486}, + run: (*parser).callonRelativeLink334, expr: &seqExpr{ - pos: position{line: 758, col: 26, offset: 24556}, + pos: position{line: 694, col: 9, offset: 22486}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 758, col: 26, offset: 24556}, - val: "```", + pos: position{line: 694, col: 9, offset: 22486}, + val: "<<", ignoreCase: false, - want: "\"```\"", + want: "\"<<\"", }, &labeledExpr{ - pos: position{line: 758, col: 32, offset: 24562}, - label: "language", + pos: position{line: 694, col: 14, offset: 22491}, + label: "id", expr: &actionExpr{ - pos: position{line: 762, col: 13, offset: 24692}, - run: (*parser).callonListElements405, + pos: position{line: 3043, col: 7, offset: 99263}, + run: (*parser).callonRelativeLink338, expr: &oneOrMoreExpr{ - pos: position{line: 762, col: 14, offset: 24693}, + pos: position{line: 3043, col: 7, offset: 99263}, expr: &charClassMatcher{ - pos: position{line: 762, col: 14, offset: 24693}, - val: "[^\\r\\n ]", - chars: []rune{'\r', '\n', ' '}, + pos: position{line: 3043, col: 7, offset: 99263}, + val: "[^[]<>,]", + chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, inverted: true, }, }, }, }, - &zeroOrMoreExpr{ - pos: position{line: 758, col: 52, offset: 24582}, - expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, - run: (*parser).callonListElements409, - expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, - run: (*parser).callonListElements412, - expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, - expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 754, col: 25, offset: 24444}, - run: (*parser).callonListElements419, - expr: &seqExpr{ - pos: position{line: 754, col: 25, offset: 24444}, - exprs: []interface{}{ &litMatcher{ - pos: position{line: 754, col: 25, offset: 24444}, - val: "```", + pos: position{line: 694, col: 22, offset: 22499}, + val: ">>", ignoreCase: false, - want: "\"```\"", - }, - &zeroOrMoreExpr{ - pos: position{line: 754, col: 31, offset: 24450}, - expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, - run: (*parser).callonListElements423, - expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, - run: (*parser).callonListElements426, - expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, - expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 766, col: 26, offset: 24765}, - run: (*parser).callonListElements433, - expr: &seqExpr{ - pos: position{line: 766, col: 26, offset: 24765}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 766, col: 26, offset: 24765}, - val: "----", - ignoreCase: false, - want: "\"----\"", - }, - &zeroOrMoreExpr{ - pos: position{line: 766, col: 33, offset: 24772}, - expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, - run: (*parser).callonListElements437, - expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, - run: (*parser).callonListElements440, - expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, - expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 770, col: 26, offset: 24879}, - run: (*parser).callonListElements447, - expr: &seqExpr{ - pos: position{line: 770, col: 26, offset: 24879}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 770, col: 26, offset: 24879}, - val: "....", - ignoreCase: false, - want: "\"....\"", - }, - &zeroOrMoreExpr{ - pos: position{line: 770, col: 33, offset: 24886}, - expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, - run: (*parser).callonListElements451, - expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, - run: (*parser).callonListElements454, - expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, - expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 774, col: 30, offset: 24997}, - run: (*parser).callonListElements461, - expr: &seqExpr{ - pos: position{line: 774, col: 30, offset: 24997}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 774, col: 30, offset: 24997}, - val: "++++", - ignoreCase: false, - want: "\"++++\"", - }, - &zeroOrMoreExpr{ - pos: position{line: 774, col: 37, offset: 25004}, - expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, - run: (*parser).callonListElements465, - expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, - run: (*parser).callonListElements468, - expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, - expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 778, col: 24, offset: 25113}, - run: (*parser).callonListElements475, - expr: &seqExpr{ - pos: position{line: 778, col: 24, offset: 25113}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 778, col: 24, offset: 25113}, - val: "____", - ignoreCase: false, - want: "\"____\"", - }, - &zeroOrMoreExpr{ - pos: position{line: 778, col: 31, offset: 25120}, - expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, - run: (*parser).callonListElements479, - expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, - run: (*parser).callonListElements482, - expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, - expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 782, col: 26, offset: 25225}, - run: (*parser).callonListElements489, - expr: &seqExpr{ - pos: position{line: 782, col: 26, offset: 25225}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 782, col: 26, offset: 25225}, - val: "****", - ignoreCase: false, - want: "\"****\"", - }, - &zeroOrMoreExpr{ - pos: position{line: 782, col: 33, offset: 25232}, - expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, - run: (*parser).callonListElements493, - expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, - run: (*parser).callonListElements496, - expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, - expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, - }, - }, - }, + want: "\">>\"", }, }, }, @@ -25531,68 +25031,33 @@ var g = &grammar{ }, }, }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 1417, col: 9, offset: 46724}, - label: "content", - expr: &actionExpr{ - pos: position{line: 1417, col: 18, offset: 46733}, - run: (*parser).callonListElements504, - expr: &oneOrMoreExpr{ - pos: position{line: 1417, col: 18, offset: 46733}, - expr: &charClassMatcher{ - pos: position{line: 1417, col: 18, offset: 46733}, - val: "[^\\r\\n]", - chars: []rune{'\r', '\n'}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, - run: (*parser).callonListElements508, - expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, - val: "\r", + &actionExpr{ + pos: position{line: 2751, col: 11, offset: 90101}, + run: (*parser).callonRelativeLink342, + expr: &charClassMatcher{ + pos: position{line: 2751, col: 12, offset: 90102}, + val: "[<>&]", + chars: []rune{'<', '>', '&'}, ignoreCase: false, - want: "\"\\r\"", + inverted: false, }, }, }, }, - ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, - expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, - }, - }, }, }, }, }, + &actionExpr{ + pos: position{line: 3037, col: 11, offset: 99107}, + run: (*parser).callonRelativeLink344, + expr: &litMatcher{ + pos: position{line: 3037, col: 11, offset: 99107}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + }, }, }, }, @@ -25600,81 +25065,41 @@ var g = &grammar{ }, }, }, - }, - &actionExpr{ - pos: position{line: 1620, col: 9, offset: 53324}, - run: (*parser).callonListElements515, - expr: &seqExpr{ - pos: position{line: 1620, col: 9, offset: 53324}, - exprs: []interface{}{ - &actionExpr{ - pos: position{line: 2903, col: 11, offset: 96254}, - run: (*parser).callonListElements517, - expr: &oneOrMoreExpr{ - pos: position{line: 2903, col: 11, offset: 96254}, - expr: &charClassMatcher{ - pos: position{line: 2903, col: 12, offset: 96255}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &labeledExpr{ - pos: position{line: 1621, col: 9, offset: 53376}, - label: "content", - expr: &actionExpr{ - pos: position{line: 1621, col: 18, offset: 53385}, - run: (*parser).callonListElements521, - expr: &oneOrMoreExpr{ - pos: position{line: 1621, col: 18, offset: 53385}, - expr: &charClassMatcher{ - pos: position{line: 1621, col: 18, offset: 53385}, - val: "[^\\r\\n]", - chars: []rune{'\r', '\n'}, - ignoreCase: false, - inverted: true, - }, - }, + &actionExpr{ + pos: position{line: 1120, col: 23, offset: 34854}, + run: (*parser).callonRelativeLink346, + expr: &seqExpr{ + pos: position{line: 1120, col: 23, offset: 34854}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1118, col: 32, offset: 34822}, + val: "�", + ignoreCase: false, + want: "\"�\"", }, - }, - &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, - run: (*parser).callonListElements525, - expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, + &labeledExpr{ + pos: position{line: 1120, col: 51, offset: 34882}, + label: "ref", + expr: &actionExpr{ + pos: position{line: 1120, col: 56, offset: 34887}, + run: (*parser).callonRelativeLink350, + expr: &oneOrMoreExpr{ + pos: position{line: 1120, col: 56, offset: 34887}, + expr: &charClassMatcher{ + pos: position{line: 1120, col: 56, offset: 34887}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, }, }, }, - ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, - expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, - }, - }, + }, + &litMatcher{ + pos: position{line: 1118, col: 32, offset: 34822}, + val: "�", + ignoreCase: false, + want: "\"�\"", }, }, }, @@ -25687,713 +25112,842 @@ var g = &grammar{ }, }, }, + &labeledExpr{ + pos: position{line: 1332, col: 28, offset: 43464}, + label: "attributes", + expr: &ruleRefExpr{ + pos: position{line: 1332, col: 40, offset: 43476}, + name: "InlineAttributes", + }, + }, }, }, - &labeledExpr{ - pos: position{line: 1333, col: 5, offset: 43743}, - label: "extraElements", - expr: &ruleRefExpr{ - pos: position{line: 1333, col: 20, offset: 43758}, - name: "ExtraListElements", - }, - }, - }, - }, - }, - }, - { - name: "ExtraListElements", - pos: position{line: 1343, col: 1, offset: 44013}, - expr: &actionExpr{ - pos: position{line: 1343, col: 22, offset: 44034}, - run: (*parser).callonExtraListElements1, - expr: &labeledExpr{ - pos: position{line: 1343, col: 22, offset: 44034}, - label: "elements", - expr: &zeroOrMoreExpr{ - pos: position{line: 1343, col: 31, offset: 44043}, - expr: &ruleRefExpr{ - pos: position{line: 1343, col: 32, offset: 44044}, - name: "ExtraListElement", - }, }, }, }, }, { - name: "ExtraListElement", - pos: position{line: 1347, col: 1, offset: 44124}, - expr: &actionExpr{ - pos: position{line: 1348, col: 5, offset: 44263}, - run: (*parser).callonExtraListElement1, - expr: &seqExpr{ - pos: position{line: 1348, col: 5, offset: 44263}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 1348, col: 5, offset: 44263}, - expr: ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, - expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + name: "ExternalLink", + pos: position{line: 1336, col: 1, offset: 43592}, + expr: &choiceExpr{ + pos: position{line: 1338, col: 5, offset: 43628}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 1338, col: 5, offset: 43628}, + run: (*parser).callonExternalLink2, + expr: &seqExpr{ + pos: position{line: 1338, col: 5, offset: 43628}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1338, col: 5, offset: 43628}, + val: "\\", + ignoreCase: false, + want: "\"\\\\\"", }, - }, - }, - &labeledExpr{ - pos: position{line: 1349, col: 5, offset: 44273}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 1350, col: 9, offset: 44291}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 1350, col: 13, offset: 44295}, - run: (*parser).callonExtraListElement8, + &labeledExpr{ + pos: position{line: 1338, col: 9, offset: 43632}, + label: "url", + expr: &actionExpr{ + pos: position{line: 3022, col: 23, offset: 98496}, + run: (*parser).callonExternalLink6, expr: &seqExpr{ - pos: position{line: 1350, col: 13, offset: 44295}, + pos: position{line: 3022, col: 23, offset: 98496}, exprs: []interface{}{ - &zeroOrMoreExpr{ - pos: position{line: 1350, col: 13, offset: 44295}, - expr: &actionExpr{ - pos: position{line: 685, col: 14, offset: 22145}, - run: (*parser).callonExtraListElement11, - expr: &seqExpr{ - pos: position{line: 685, col: 14, offset: 22145}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 685, col: 14, offset: 22145}, - expr: ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, - expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, - }, - }, - }, - &zeroOrMoreExpr{ - pos: position{line: 685, col: 19, offset: 22150}, - expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, - run: (*parser).callonExtraListElement17, - expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + ¬Expr{ + pos: position{line: 3022, col: 23, offset: 98496}, + expr: &litMatcher{ + pos: position{line: 3022, col: 24, offset: 98497}, + val: "[", + ignoreCase: false, + want: "\"[\"", + }, + }, + &labeledExpr{ + pos: position{line: 3022, col: 28, offset: 98501}, + label: "scheme", + expr: &choiceExpr{ + pos: position{line: 3026, col: 11, offset: 98616}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3026, col: 11, offset: 98616}, + val: "http://", + ignoreCase: false, + want: "\"http://\"", + }, + &litMatcher{ + pos: position{line: 3026, col: 23, offset: 98628}, + val: "https://", + ignoreCase: false, + want: "\"https://\"", + }, + &litMatcher{ + pos: position{line: 3026, col: 36, offset: 98641}, + val: "ftp://", + ignoreCase: false, + want: "\"ftp://\"", + }, + &litMatcher{ + pos: position{line: 3026, col: 47, offset: 98652}, + val: "irc://", + ignoreCase: false, + want: "\"irc://\"", + }, + &litMatcher{ + pos: position{line: 3026, col: 58, offset: 98663}, + val: "mailto:", + ignoreCase: false, + want: "\"mailto:\"", + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 3022, col: 44, offset: 98517}, + label: "path", + expr: &oneOrMoreExpr{ + pos: position{line: 3022, col: 49, offset: 98522}, + expr: &actionExpr{ + pos: position{line: 3029, col: 5, offset: 98691}, + run: (*parser).callonExternalLink19, + expr: &seqExpr{ + pos: position{line: 3029, col: 5, offset: 98691}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 3029, col: 5, offset: 98691}, + expr: &litMatcher{ + pos: position{line: 3029, col: 6, offset: 98692}, + val: "[", ignoreCase: false, - inverted: false, + want: "\"[\"", }, }, - }, - &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, - run: (*parser).callonExtraListElement20, + &labeledExpr{ + pos: position{line: 3030, col: 5, offset: 98716}, + label: "elements", + expr: &oneOrMoreExpr{ + pos: position{line: 3030, col: 14, offset: 98725}, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3031, col: 9, offset: 98735}, alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, - expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, - }, - }, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 1351, col: 13, offset: 44319}, - label: "element", - expr: &actionExpr{ - pos: position{line: 1485, col: 5, offset: 48721}, - run: (*parser).callonExtraListElement28, - expr: &seqExpr{ - pos: position{line: 1485, col: 5, offset: 48721}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 1485, col: 5, offset: 48721}, - label: "prefix", - expr: &actionExpr{ - pos: position{line: 1492, col: 5, offset: 48929}, - run: (*parser).callonExtraListElement31, - expr: &seqExpr{ - pos: position{line: 1492, col: 5, offset: 48929}, - exprs: []interface{}{ - &zeroOrMoreExpr{ - pos: position{line: 1492, col: 5, offset: 48929}, - expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, - run: (*parser).callonExtraListElement34, - expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, + &actionExpr{ + pos: position{line: 3031, col: 9, offset: 98735}, + run: (*parser).callonExternalLink26, + expr: &oneOrMoreExpr{ + pos: position{line: 3031, col: 9, offset: 98735}, + expr: &charClassMatcher{ + pos: position{line: 3031, col: 10, offset: 98736}, + val: "[^\\r\\n[]�{.,;?!<> ]", + chars: []rune{'\r', '\n', '[', ']', '�', '{', '.', ',', ';', '?', '!', '<', '>', ' '}, + ignoreCase: false, + inverted: true, + }, }, }, - }, - &labeledExpr{ - pos: position{line: 1492, col: 12, offset: 48936}, - label: "prefix", - expr: &choiceExpr{ - pos: position{line: 1494, col: 9, offset: 48999}, - alternatives: []interface{}{ + &seqExpr{ + pos: position{line: 3034, col: 11, offset: 99001}, + exprs: []interface{}{ &actionExpr{ - pos: position{line: 1494, col: 9, offset: 48999}, - run: (*parser).callonExtraListElement38, - expr: &seqExpr{ - pos: position{line: 1494, col: 9, offset: 48999}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 1494, col: 9, offset: 48999}, - label: "depth", - expr: &actionExpr{ - pos: position{line: 1494, col: 16, offset: 49006}, - run: (*parser).callonExtraListElement41, - expr: &oneOrMoreExpr{ - pos: position{line: 1494, col: 16, offset: 49006}, - expr: &litMatcher{ - pos: position{line: 1494, col: 17, offset: 49007}, - val: ".", - ignoreCase: false, - want: "\".\"", - }, - }, - }, - }, - &andCodeExpr{ - pos: position{line: 1498, col: 9, offset: 49107}, - run: (*parser).callonExtraListElement44, - }, - }, + pos: position{line: 3004, col: 25, offset: 97972}, + run: (*parser).callonExternalLink30, + expr: &charClassMatcher{ + pos: position{line: 3004, col: 25, offset: 97972}, + val: "[.,;?!]", + chars: []rune{'.', ',', ';', '?', '!'}, + ignoreCase: false, + inverted: false, }, }, - &actionExpr{ - pos: position{line: 1517, col: 11, offset: 49824}, - run: (*parser).callonExtraListElement45, - expr: &seqExpr{ - pos: position{line: 1517, col: 11, offset: 49824}, - exprs: []interface{}{ - &oneOrMoreExpr{ - pos: position{line: 1517, col: 11, offset: 49824}, - expr: &charClassMatcher{ - pos: position{line: 1517, col: 12, offset: 49825}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, + &andExpr{ + pos: position{line: 3034, col: 32, offset: 99022}, + expr: ¬Expr{ + pos: position{line: 3034, col: 34, offset: 99024}, + expr: &choiceExpr{ + pos: position{line: 3034, col: 36, offset: 99026}, + alternatives: []interface{}{ + ¬Expr{ + pos: position{line: 3071, col: 8, offset: 99885}, + expr: &anyMatcher{ + line: 3071, col: 9, offset: 99886, + }, + }, + &actionExpr{ + pos: position{line: 3058, col: 10, offset: 99611}, + run: (*parser).callonExternalLink37, + expr: &charClassMatcher{ + pos: position{line: 3058, col: 11, offset: 99612}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, }, - }, - &litMatcher{ - pos: position{line: 1517, col: 20, offset: 49833}, - val: ".", - ignoreCase: false, - want: "\".\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 1519, col: 13, offset: 49950}, - run: (*parser).callonExtraListElement50, - expr: &seqExpr{ - pos: position{line: 1519, col: 13, offset: 49950}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 1519, col: 14, offset: 49951}, - val: "[a-z]", - ranges: []rune{'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - &litMatcher{ - pos: position{line: 1519, col: 21, offset: 49958}, - val: ".", - ignoreCase: false, - want: "\".\"", }, }, }, }, - &actionExpr{ - pos: position{line: 1521, col: 13, offset: 50078}, - run: (*parser).callonExtraListElement54, - expr: &seqExpr{ - pos: position{line: 1521, col: 13, offset: 50078}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 1521, col: 14, offset: 50079}, - val: "[A-Z]", - ranges: []rune{'A', 'Z'}, - ignoreCase: false, - inverted: false, - }, - &litMatcher{ - pos: position{line: 1521, col: 21, offset: 50086}, - val: ".", - ignoreCase: false, - want: "\".\"", - }, - }, + }, + }, + &actionExpr{ + pos: position{line: 641, col: 5, offset: 20579}, + run: (*parser).callonExternalLink39, + expr: &seqExpr{ + pos: position{line: 641, col: 5, offset: 20579}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 641, col: 5, offset: 20579}, + run: (*parser).callonExternalLink41, }, - }, - &actionExpr{ - pos: position{line: 1523, col: 13, offset: 50206}, - run: (*parser).callonExtraListElement58, - expr: &seqExpr{ - pos: position{line: 1523, col: 13, offset: 50206}, - exprs: []interface{}{ - &oneOrMoreExpr{ - pos: position{line: 1523, col: 13, offset: 50206}, - expr: &charClassMatcher{ - pos: position{line: 1523, col: 14, offset: 50207}, - val: "[ivxdlcm]", - chars: []rune{'i', 'v', 'x', 'd', 'l', 'c', 'm'}, - ignoreCase: false, - inverted: false, + &labeledExpr{ + pos: position{line: 644, col: 5, offset: 20648}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 644, col: 14, offset: 20657}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 664, col: 25, offset: 21310}, + run: (*parser).callonExternalLink44, + expr: &seqExpr{ + pos: position{line: 664, col: 25, offset: 21310}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 664, col: 25, offset: 21310}, + val: "{counter:", + ignoreCase: false, + want: "\"{counter:\"", + }, + &labeledExpr{ + pos: position{line: 664, col: 37, offset: 21322}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + run: (*parser).callonExternalLink48, + expr: &seqExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 324, col: 18, offset: 10054}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 324, col: 28, offset: 10064}, + expr: &charClassMatcher{ + pos: position{line: 324, col: 29, offset: 10065}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 664, col: 56, offset: 21341}, + label: "start", + expr: &zeroOrOneExpr{ + pos: position{line: 664, col: 62, offset: 21347}, + expr: &actionExpr{ + pos: position{line: 672, col: 17, offset: 21642}, + run: (*parser).callonExternalLink55, + expr: &seqExpr{ + pos: position{line: 672, col: 17, offset: 21642}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 672, col: 17, offset: 21642}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &labeledExpr{ + pos: position{line: 672, col: 21, offset: 21646}, + label: "start", + expr: &choiceExpr{ + pos: position{line: 672, col: 28, offset: 21653}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 672, col: 28, offset: 21653}, + run: (*parser).callonExternalLink60, + expr: &charClassMatcher{ + pos: position{line: 672, col: 28, offset: 21653}, + val: "[A-Za-z]", + ranges: []rune{'A', 'Z', 'a', 'z'}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 674, col: 9, offset: 21707}, + run: (*parser).callonExternalLink62, + expr: &oneOrMoreExpr{ + pos: position{line: 674, col: 9, offset: 21707}, + expr: &charClassMatcher{ + pos: position{line: 674, col: 9, offset: 21707}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 664, col: 78, offset: 21363}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, }, - }, - &litMatcher{ - pos: position{line: 1523, col: 26, offset: 50219}, - val: ")", - ignoreCase: false, - want: "\")\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 1525, col: 13, offset: 50339}, - run: (*parser).callonExtraListElement63, - expr: &seqExpr{ - pos: position{line: 1525, col: 13, offset: 50339}, - exprs: []interface{}{ - &oneOrMoreExpr{ - pos: position{line: 1525, col: 13, offset: 50339}, - expr: &charClassMatcher{ - pos: position{line: 1525, col: 14, offset: 50340}, - val: "[IVXDLCM]", - chars: []rune{'I', 'V', 'X', 'D', 'L', 'C', 'M'}, - ignoreCase: false, - inverted: false, + &actionExpr{ + pos: position{line: 668, col: 25, offset: 21481}, + run: (*parser).callonExternalLink66, + expr: &seqExpr{ + pos: position{line: 668, col: 25, offset: 21481}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 668, col: 25, offset: 21481}, + val: "{counter2:", + ignoreCase: false, + want: "\"{counter2:\"", + }, + &labeledExpr{ + pos: position{line: 668, col: 38, offset: 21494}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + run: (*parser).callonExternalLink70, + expr: &seqExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 324, col: 18, offset: 10054}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 324, col: 28, offset: 10064}, + expr: &charClassMatcher{ + pos: position{line: 324, col: 29, offset: 10065}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 668, col: 57, offset: 21513}, + label: "start", + expr: &zeroOrOneExpr{ + pos: position{line: 668, col: 63, offset: 21519}, + expr: &actionExpr{ + pos: position{line: 672, col: 17, offset: 21642}, + run: (*parser).callonExternalLink77, + expr: &seqExpr{ + pos: position{line: 672, col: 17, offset: 21642}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 672, col: 17, offset: 21642}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &labeledExpr{ + pos: position{line: 672, col: 21, offset: 21646}, + label: "start", + expr: &choiceExpr{ + pos: position{line: 672, col: 28, offset: 21653}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 672, col: 28, offset: 21653}, + run: (*parser).callonExternalLink82, + expr: &charClassMatcher{ + pos: position{line: 672, col: 28, offset: 21653}, + val: "[A-Za-z]", + ranges: []rune{'A', 'Z', 'a', 'z'}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 674, col: 9, offset: 21707}, + run: (*parser).callonExternalLink84, + expr: &oneOrMoreExpr{ + pos: position{line: 674, col: 9, offset: 21707}, + expr: &charClassMatcher{ + pos: position{line: 674, col: 9, offset: 21707}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 668, col: 79, offset: 21535}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 650, col: 5, offset: 20786}, + run: (*parser).callonExternalLink88, + expr: &seqExpr{ + pos: position{line: 650, col: 5, offset: 20786}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 650, col: 5, offset: 20786}, + val: "\\{", + ignoreCase: false, + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 650, col: 13, offset: 20794}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + run: (*parser).callonExternalLink92, + expr: &seqExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 324, col: 18, offset: 10054}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 324, col: 28, offset: 10064}, + expr: &charClassMatcher{ + pos: position{line: 324, col: 29, offset: 10065}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 650, col: 32, offset: 20813}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 657, col: 5, offset: 21054}, + run: (*parser).callonExternalLink98, + expr: &seqExpr{ + pos: position{line: 657, col: 5, offset: 21054}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 657, col: 5, offset: 21054}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + &labeledExpr{ + pos: position{line: 657, col: 9, offset: 21058}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + run: (*parser).callonExternalLink102, + expr: &seqExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 324, col: 18, offset: 10054}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 324, col: 28, offset: 10064}, + expr: &charClassMatcher{ + pos: position{line: 324, col: 29, offset: 10065}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 657, col: 28, offset: 21077}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, }, - }, - &litMatcher{ - pos: position{line: 1525, col: 26, offset: 50352}, - val: ")", - ignoreCase: false, - want: "\")\"", }, }, }, }, }, }, - }, - &actionExpr{ - pos: position{line: 2903, col: 11, offset: 96254}, - run: (*parser).callonExtraListElement68, - expr: &oneOrMoreExpr{ - pos: position{line: 2903, col: 11, offset: 96254}, - expr: &charClassMatcher{ - pos: position{line: 2903, col: 12, offset: 96255}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 1486, col: 5, offset: 48760}, - label: "content", - expr: &actionExpr{ - pos: position{line: 1426, col: 5, offset: 46956}, - run: (*parser).callonExtraListElement72, - expr: &seqExpr{ - pos: position{line: 1426, col: 5, offset: 46956}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 1426, col: 5, offset: 46956}, - label: "rawline", - expr: &actionExpr{ - pos: position{line: 1426, col: 14, offset: 46965}, - run: (*parser).callonExtraListElement75, - expr: &oneOrMoreExpr{ - pos: position{line: 1426, col: 14, offset: 46965}, - expr: &charClassMatcher{ - pos: position{line: 1426, col: 14, offset: 46965}, - val: "[^\\r\\n]", - chars: []rune{'\r', '\n'}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, - run: (*parser).callonExtraListElement79, - expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, + &actionExpr{ + pos: position{line: 2743, col: 5, offset: 89823}, + run: (*parser).callonExternalLink108, + expr: &seqExpr{ + pos: position{line: 2743, col: 5, offset: 89823}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2743, col: 5, offset: 89823}, + run: (*parser).callonExternalLink110, }, - }, - }, - ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, - expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 1354, col: 13, offset: 44411}, - run: (*parser).callonExtraListElement86, - expr: &seqExpr{ - pos: position{line: 1354, col: 13, offset: 44411}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 1354, col: 13, offset: 44411}, - label: "attributes", - expr: &oneOrMoreExpr{ - pos: position{line: 1354, col: 24, offset: 44422}, - expr: &ruleRefExpr{ - pos: position{line: 1354, col: 25, offset: 44423}, - name: "BlockAttributes", - }, - }, - }, - &labeledExpr{ - pos: position{line: 1355, col: 13, offset: 44454}, - label: "element", - expr: &actionExpr{ - pos: position{line: 1485, col: 5, offset: 48721}, - run: (*parser).callonExtraListElement92, - expr: &seqExpr{ - pos: position{line: 1485, col: 5, offset: 48721}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 1485, col: 5, offset: 48721}, - label: "prefix", - expr: &actionExpr{ - pos: position{line: 1492, col: 5, offset: 48929}, - run: (*parser).callonExtraListElement95, - expr: &seqExpr{ - pos: position{line: 1492, col: 5, offset: 48929}, - exprs: []interface{}{ - &zeroOrMoreExpr{ - pos: position{line: 1492, col: 5, offset: 48929}, - expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, - run: (*parser).callonExtraListElement98, - expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &labeledExpr{ - pos: position{line: 1492, col: 12, offset: 48936}, - label: "prefix", - expr: &choiceExpr{ - pos: position{line: 1494, col: 9, offset: 48999}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 1494, col: 9, offset: 48999}, - run: (*parser).callonExtraListElement102, - expr: &seqExpr{ - pos: position{line: 1494, col: 9, offset: 48999}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 1494, col: 9, offset: 48999}, - label: "depth", - expr: &actionExpr{ - pos: position{line: 1494, col: 16, offset: 49006}, - run: (*parser).callonExtraListElement105, - expr: &oneOrMoreExpr{ - pos: position{line: 1494, col: 16, offset: 49006}, - expr: &litMatcher{ - pos: position{line: 1494, col: 17, offset: 49007}, - val: ".", - ignoreCase: false, - want: "\".\"", + &labeledExpr{ + pos: position{line: 2746, col: 5, offset: 89899}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 2748, col: 9, offset: 89997}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2748, col: 9, offset: 89997}, + run: (*parser).callonExternalLink113, + expr: &choiceExpr{ + pos: position{line: 692, col: 27, offset: 22361}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 692, col: 27, offset: 22361}, + run: (*parser).callonExternalLink115, + expr: &seqExpr{ + pos: position{line: 692, col: 27, offset: 22361}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 692, col: 27, offset: 22361}, + val: "<<", + ignoreCase: false, + want: "\"<<\"", + }, + &labeledExpr{ + pos: position{line: 692, col: 32, offset: 22366}, + label: "id", + expr: &actionExpr{ + pos: position{line: 3043, col: 7, offset: 99263}, + run: (*parser).callonExternalLink119, + expr: &oneOrMoreExpr{ + pos: position{line: 3043, col: 7, offset: 99263}, + expr: &charClassMatcher{ + pos: position{line: 3043, col: 7, offset: 99263}, + val: "[^[]<>,]", + chars: []rune{'[', ']', '<', '>', ','}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 692, col: 40, offset: 22374}, + expr: &actionExpr{ + pos: position{line: 3058, col: 10, offset: 99611}, + run: (*parser).callonExternalLink123, + expr: &charClassMatcher{ + pos: position{line: 3058, col: 11, offset: 99612}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &litMatcher{ + pos: position{line: 692, col: 47, offset: 22381}, + val: ",", + ignoreCase: false, + want: "\",\"", + }, + &labeledExpr{ + pos: position{line: 692, col: 51, offset: 22385}, + label: "label", + expr: &oneOrMoreExpr{ + pos: position{line: 702, col: 24, offset: 22786}, + expr: &choiceExpr{ + pos: position{line: 703, col: 5, offset: 22792}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 703, col: 6, offset: 22793}, + run: (*parser).callonExternalLink129, + expr: &seqExpr{ + pos: position{line: 703, col: 6, offset: 22793}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 703, col: 6, offset: 22793}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &oneOrMoreExpr{ + pos: position{line: 703, col: 14, offset: 22801}, + expr: &charClassMatcher{ + pos: position{line: 703, col: 14, offset: 22801}, + val: "[^\\r\\n{<>]", + chars: []rune{'\r', '\n', '{', '<', '>'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 650, col: 5, offset: 20786}, + run: (*parser).callonExternalLink134, + expr: &seqExpr{ + pos: position{line: 650, col: 5, offset: 20786}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 650, col: 5, offset: 20786}, + val: "\\{", + ignoreCase: false, + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 650, col: 13, offset: 20794}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + run: (*parser).callonExternalLink138, + expr: &seqExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 324, col: 18, offset: 10054}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 324, col: 28, offset: 10064}, + expr: &charClassMatcher{ + pos: position{line: 324, col: 29, offset: 10065}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 650, col: 32, offset: 20813}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 657, col: 5, offset: 21054}, + run: (*parser).callonExternalLink144, + expr: &seqExpr{ + pos: position{line: 657, col: 5, offset: 21054}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 657, col: 5, offset: 21054}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + &labeledExpr{ + pos: position{line: 657, col: 9, offset: 21058}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + run: (*parser).callonExternalLink148, + expr: &seqExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 324, col: 18, offset: 10054}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 324, col: 28, offset: 10064}, + expr: &charClassMatcher{ + pos: position{line: 324, col: 29, offset: 10065}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 657, col: 28, offset: 21077}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 707, col: 8, offset: 23027}, + run: (*parser).callonExternalLink154, + expr: &litMatcher{ + pos: position{line: 707, col: 8, offset: 23027}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 692, col: 79, offset: 22413}, + val: ">>", + ignoreCase: false, + want: "\">>\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 694, col: 9, offset: 22486}, + run: (*parser).callonExternalLink157, + expr: &seqExpr{ + pos: position{line: 694, col: 9, offset: 22486}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 694, col: 9, offset: 22486}, + val: "<<", + ignoreCase: false, + want: "\"<<\"", + }, + &labeledExpr{ + pos: position{line: 694, col: 14, offset: 22491}, + label: "id", + expr: &actionExpr{ + pos: position{line: 3043, col: 7, offset: 99263}, + run: (*parser).callonExternalLink161, + expr: &oneOrMoreExpr{ + pos: position{line: 3043, col: 7, offset: 99263}, + expr: &charClassMatcher{ + pos: position{line: 3043, col: 7, offset: 99263}, + val: "[^[]<>,]", + chars: []rune{'[', ']', '<', '>', ','}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 694, col: 22, offset: 22499}, + val: ">>", + ignoreCase: false, + want: "\">>\"", + }, + }, + }, + }, }, }, }, - }, - &andCodeExpr{ - pos: position{line: 1498, col: 9, offset: 49107}, - run: (*parser).callonExtraListElement108, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 1517, col: 11, offset: 49824}, - run: (*parser).callonExtraListElement109, - expr: &seqExpr{ - pos: position{line: 1517, col: 11, offset: 49824}, - exprs: []interface{}{ - &oneOrMoreExpr{ - pos: position{line: 1517, col: 11, offset: 49824}, - expr: &charClassMatcher{ - pos: position{line: 1517, col: 12, offset: 49825}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - &litMatcher{ - pos: position{line: 1517, col: 20, offset: 49833}, - val: ".", - ignoreCase: false, - want: "\".\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 1519, col: 13, offset: 49950}, - run: (*parser).callonExtraListElement114, - expr: &seqExpr{ - pos: position{line: 1519, col: 13, offset: 49950}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 1519, col: 14, offset: 49951}, - val: "[a-z]", - ranges: []rune{'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - &litMatcher{ - pos: position{line: 1519, col: 21, offset: 49958}, - val: ".", - ignoreCase: false, - want: "\".\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 1521, col: 13, offset: 50078}, - run: (*parser).callonExtraListElement118, - expr: &seqExpr{ - pos: position{line: 1521, col: 13, offset: 50078}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 1521, col: 14, offset: 50079}, - val: "[A-Z]", - ranges: []rune{'A', 'Z'}, - ignoreCase: false, - inverted: false, - }, - &litMatcher{ - pos: position{line: 1521, col: 21, offset: 50086}, - val: ".", - ignoreCase: false, - want: "\".\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 1523, col: 13, offset: 50206}, - run: (*parser).callonExtraListElement122, - expr: &seqExpr{ - pos: position{line: 1523, col: 13, offset: 50206}, - exprs: []interface{}{ - &oneOrMoreExpr{ - pos: position{line: 1523, col: 13, offset: 50206}, - expr: &charClassMatcher{ - pos: position{line: 1523, col: 14, offset: 50207}, - val: "[ivxdlcm]", - chars: []rune{'i', 'v', 'x', 'd', 'l', 'c', 'm'}, - ignoreCase: false, - inverted: false, - }, - }, - &litMatcher{ - pos: position{line: 1523, col: 26, offset: 50219}, - val: ")", - ignoreCase: false, - want: "\")\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 1525, col: 13, offset: 50339}, - run: (*parser).callonExtraListElement127, - expr: &seqExpr{ - pos: position{line: 1525, col: 13, offset: 50339}, - exprs: []interface{}{ - &oneOrMoreExpr{ - pos: position{line: 1525, col: 13, offset: 50339}, - expr: &charClassMatcher{ - pos: position{line: 1525, col: 14, offset: 50340}, - val: "[IVXDLCM]", - chars: []rune{'I', 'V', 'X', 'D', 'L', 'C', 'M'}, - ignoreCase: false, - inverted: false, + &actionExpr{ + pos: position{line: 2751, col: 11, offset: 90101}, + run: (*parser).callonExternalLink165, + expr: &charClassMatcher{ + pos: position{line: 2751, col: 12, offset: 90102}, + val: "[<>&]", + chars: []rune{'<', '>', '&'}, + ignoreCase: false, + inverted: false, + }, }, }, - &litMatcher{ - pos: position{line: 1525, col: 26, offset: 50352}, - val: ")", - ignoreCase: false, - want: "\")\"", - }, }, }, }, }, }, - }, - &actionExpr{ - pos: position{line: 2903, col: 11, offset: 96254}, - run: (*parser).callonExtraListElement132, - expr: &oneOrMoreExpr{ - pos: position{line: 2903, col: 11, offset: 96254}, - expr: &charClassMatcher{ - pos: position{line: 2903, col: 12, offset: 96255}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + &actionExpr{ + pos: position{line: 3037, col: 11, offset: 99107}, + run: (*parser).callonExternalLink167, + expr: &litMatcher{ + pos: position{line: 3037, col: 11, offset: 99107}, + val: "{", ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 1486, col: 5, offset: 48760}, - label: "content", - expr: &actionExpr{ - pos: position{line: 1426, col: 5, offset: 46956}, - run: (*parser).callonExtraListElement136, - expr: &seqExpr{ - pos: position{line: 1426, col: 5, offset: 46956}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 1426, col: 5, offset: 46956}, - label: "rawline", - expr: &actionExpr{ - pos: position{line: 1426, col: 14, offset: 46965}, - run: (*parser).callonExtraListElement139, - expr: &oneOrMoreExpr{ - pos: position{line: 1426, col: 14, offset: 46965}, - expr: &charClassMatcher{ - pos: position{line: 1426, col: 14, offset: 46965}, - val: "[^\\r\\n]", - chars: []rune{'\r', '\n'}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, - run: (*parser).callonExtraListElement143, - expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, - expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, - }, + want: "\"{\"", }, }, }, @@ -26408,687 +25962,834 @@ var g = &grammar{ }, }, }, - &actionExpr{ - pos: position{line: 1358, col: 13, offset: 44582}, - run: (*parser).callonExtraListElement150, + }, + &labeledExpr{ + pos: position{line: 1338, col: 34, offset: 43657}, + label: "attributes", + expr: &zeroOrOneExpr{ + pos: position{line: 1338, col: 45, offset: 43668}, + expr: &ruleRefExpr{ + pos: position{line: 1338, col: 46, offset: 43669}, + name: "InlineAttributes", + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1343, col: 5, offset: 43802}, + run: (*parser).callonExternalLink172, + expr: &seqExpr{ + pos: position{line: 1343, col: 5, offset: 43802}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1343, col: 5, offset: 43802}, + label: "url", + expr: &actionExpr{ + pos: position{line: 3022, col: 23, offset: 98496}, + run: (*parser).callonExternalLink175, expr: &seqExpr{ - pos: position{line: 1358, col: 13, offset: 44582}, + pos: position{line: 3022, col: 23, offset: 98496}, exprs: []interface{}{ - &zeroOrMoreExpr{ - pos: position{line: 1358, col: 13, offset: 44582}, - expr: &actionExpr{ - pos: position{line: 685, col: 14, offset: 22145}, - run: (*parser).callonExtraListElement153, - expr: &seqExpr{ - pos: position{line: 685, col: 14, offset: 22145}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 685, col: 14, offset: 22145}, - expr: ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, - expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, - }, - }, - }, - &zeroOrMoreExpr{ - pos: position{line: 685, col: 19, offset: 22150}, - expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, - run: (*parser).callonExtraListElement159, - expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, - run: (*parser).callonExtraListElement162, - expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, - expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, - }, - }, - }, - }, - }, - }, + ¬Expr{ + pos: position{line: 3022, col: 23, offset: 98496}, + expr: &litMatcher{ + pos: position{line: 3022, col: 24, offset: 98497}, + val: "[", + ignoreCase: false, + want: "\"[\"", }, }, &labeledExpr{ - pos: position{line: 1359, col: 13, offset: 44606}, - label: "element", - expr: &actionExpr{ - pos: position{line: 1535, col: 5, offset: 50618}, - run: (*parser).callonExtraListElement170, - expr: &seqExpr{ - pos: position{line: 1535, col: 5, offset: 50618}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 1535, col: 5, offset: 50618}, - label: "prefix", - expr: &actionExpr{ - pos: position{line: 1542, col: 5, offset: 50891}, - run: (*parser).callonExtraListElement173, - expr: &seqExpr{ - pos: position{line: 1542, col: 5, offset: 50891}, - exprs: []interface{}{ - &zeroOrMoreExpr{ - pos: position{line: 1542, col: 5, offset: 50891}, - expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, - run: (*parser).callonExtraListElement176, - expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &labeledExpr{ - pos: position{line: 1542, col: 12, offset: 50898}, - label: "prefix", - expr: &choiceExpr{ - pos: position{line: 1542, col: 20, offset: 50906}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 1544, col: 9, offset: 50963}, - run: (*parser).callonExtraListElement180, - expr: &seqExpr{ - pos: position{line: 1544, col: 9, offset: 50963}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 1544, col: 9, offset: 50963}, - label: "depth", - expr: &actionExpr{ - pos: position{line: 1544, col: 16, offset: 50970}, - run: (*parser).callonExtraListElement183, - expr: &oneOrMoreExpr{ - pos: position{line: 1544, col: 16, offset: 50970}, - expr: &litMatcher{ - pos: position{line: 1544, col: 17, offset: 50971}, - val: "*", - ignoreCase: false, - want: "\"*\"", - }, - }, - }, - }, - &andCodeExpr{ - pos: position{line: 1548, col: 9, offset: 51071}, - run: (*parser).callonExtraListElement186, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 1565, col: 14, offset: 51778}, - label: "depth", - expr: &actionExpr{ - pos: position{line: 1565, col: 21, offset: 51785}, - run: (*parser).callonExtraListElement188, - expr: &litMatcher{ - pos: position{line: 1565, col: 22, offset: 51786}, - val: "-", - ignoreCase: false, - want: "\"-\"", - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2903, col: 11, offset: 96254}, - run: (*parser).callonExtraListElement190, - expr: &oneOrMoreExpr{ - pos: position{line: 2903, col: 11, offset: 96254}, - expr: &charClassMatcher{ - pos: position{line: 2903, col: 12, offset: 96255}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, + pos: position{line: 3022, col: 28, offset: 98501}, + label: "scheme", + expr: &choiceExpr{ + pos: position{line: 3026, col: 11, offset: 98616}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3026, col: 11, offset: 98616}, + val: "http://", + ignoreCase: false, + want: "\"http://\"", + }, + &litMatcher{ + pos: position{line: 3026, col: 23, offset: 98628}, + val: "https://", + ignoreCase: false, + want: "\"https://\"", + }, + &litMatcher{ + pos: position{line: 3026, col: 36, offset: 98641}, + val: "ftp://", + ignoreCase: false, + want: "\"ftp://\"", + }, + &litMatcher{ + pos: position{line: 3026, col: 47, offset: 98652}, + val: "irc://", + ignoreCase: false, + want: "\"irc://\"", + }, + &litMatcher{ + pos: position{line: 3026, col: 58, offset: 98663}, + val: "mailto:", + ignoreCase: false, + want: "\"mailto:\"", + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 3022, col: 44, offset: 98517}, + label: "path", + expr: &oneOrMoreExpr{ + pos: position{line: 3022, col: 49, offset: 98522}, + expr: &actionExpr{ + pos: position{line: 3029, col: 5, offset: 98691}, + run: (*parser).callonExternalLink188, + expr: &seqExpr{ + pos: position{line: 3029, col: 5, offset: 98691}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 3029, col: 5, offset: 98691}, + expr: &litMatcher{ + pos: position{line: 3029, col: 6, offset: 98692}, + val: "[", + ignoreCase: false, + want: "\"[\"", }, }, - }, - &labeledExpr{ - pos: position{line: 1536, col: 5, offset: 50659}, - label: "checkstyle", - expr: &zeroOrOneExpr{ - pos: position{line: 1536, col: 16, offset: 50670}, - expr: &actionExpr{ - pos: position{line: 1572, col: 5, offset: 51947}, - run: (*parser).callonExtraListElement195, - expr: &seqExpr{ - pos: position{line: 1572, col: 5, offset: 51947}, - exprs: []interface{}{ - &andExpr{ - pos: position{line: 1572, col: 5, offset: 51947}, - expr: &litMatcher{ - pos: position{line: 1572, col: 6, offset: 51948}, - val: "[", - ignoreCase: false, - want: "\"[\"", - }, - }, - &labeledExpr{ - pos: position{line: 1572, col: 10, offset: 51952}, - label: "style", - expr: &choiceExpr{ - pos: position{line: 1573, col: 7, offset: 51966}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 1573, col: 7, offset: 51966}, - run: (*parser).callonExtraListElement201, - expr: &litMatcher{ - pos: position{line: 1573, col: 7, offset: 51966}, - val: "[ ]", - ignoreCase: false, - want: "\"[ ]\"", - }, - }, - &actionExpr{ - pos: position{line: 1574, col: 7, offset: 52011}, - run: (*parser).callonExtraListElement203, - expr: &litMatcher{ - pos: position{line: 1574, col: 7, offset: 52011}, - val: "[*]", - ignoreCase: false, - want: "\"[*]\"", - }, - }, - &actionExpr{ - pos: position{line: 1575, col: 7, offset: 52054}, - run: (*parser).callonExtraListElement205, - expr: &litMatcher{ - pos: position{line: 1575, col: 7, offset: 52054}, - val: "[x]", - ignoreCase: false, - want: "\"[x]\"", - }, - }, - }, - }, - }, + &labeledExpr{ + pos: position{line: 3030, col: 5, offset: 98716}, + label: "elements", + expr: &oneOrMoreExpr{ + pos: position{line: 3030, col: 14, offset: 98725}, + expr: &choiceExpr{ + pos: position{line: 3031, col: 9, offset: 98735}, + alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2903, col: 11, offset: 96254}, - run: (*parser).callonExtraListElement207, - expr: &oneOrMoreExpr{ - pos: position{line: 2903, col: 11, offset: 96254}, - expr: &charClassMatcher{ - pos: position{line: 2903, col: 12, offset: 96255}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 1537, col: 5, offset: 50709}, - label: "content", - expr: &actionExpr{ - pos: position{line: 1426, col: 5, offset: 46956}, - run: (*parser).callonExtraListElement211, - expr: &seqExpr{ - pos: position{line: 1426, col: 5, offset: 46956}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 1426, col: 5, offset: 46956}, - label: "rawline", - expr: &actionExpr{ - pos: position{line: 1426, col: 14, offset: 46965}, - run: (*parser).callonExtraListElement214, + pos: position{line: 3031, col: 9, offset: 98735}, + run: (*parser).callonExternalLink195, expr: &oneOrMoreExpr{ - pos: position{line: 1426, col: 14, offset: 46965}, + pos: position{line: 3031, col: 9, offset: 98735}, expr: &charClassMatcher{ - pos: position{line: 1426, col: 14, offset: 46965}, - val: "[^\\r\\n]", - chars: []rune{'\r', '\n'}, + pos: position{line: 3031, col: 10, offset: 98736}, + val: "[^\\r\\n[]�{.,;?!<> ]", + chars: []rune{'\r', '\n', '[', ']', '�', '{', '.', ',', ';', '?', '!', '<', '>', ' '}, ignoreCase: false, inverted: true, }, }, }, - }, - &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, - run: (*parser).callonExtraListElement218, - expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, + &seqExpr{ + pos: position{line: 3034, col: 11, offset: 99001}, + exprs: []interface{}{ + &actionExpr{ + pos: position{line: 3004, col: 25, offset: 97972}, + run: (*parser).callonExternalLink199, + expr: &charClassMatcher{ + pos: position{line: 3004, col: 25, offset: 97972}, + val: "[.,;?!]", + chars: []rune{'.', ',', ';', '?', '!'}, + ignoreCase: false, + inverted: false, }, }, - }, - ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, - expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 1362, col: 13, offset: 44700}, - run: (*parser).callonExtraListElement225, - expr: &seqExpr{ - pos: position{line: 1362, col: 13, offset: 44700}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 1362, col: 13, offset: 44700}, - label: "attributes", - expr: &oneOrMoreExpr{ - pos: position{line: 1362, col: 24, offset: 44711}, - expr: &ruleRefExpr{ - pos: position{line: 1362, col: 25, offset: 44712}, - name: "BlockAttributes", - }, - }, - }, - &labeledExpr{ - pos: position{line: 1363, col: 13, offset: 44743}, - label: "element", - expr: &actionExpr{ - pos: position{line: 1535, col: 5, offset: 50618}, - run: (*parser).callonExtraListElement231, - expr: &seqExpr{ - pos: position{line: 1535, col: 5, offset: 50618}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 1535, col: 5, offset: 50618}, - label: "prefix", - expr: &actionExpr{ - pos: position{line: 1542, col: 5, offset: 50891}, - run: (*parser).callonExtraListElement234, - expr: &seqExpr{ - pos: position{line: 1542, col: 5, offset: 50891}, - exprs: []interface{}{ - &zeroOrMoreExpr{ - pos: position{line: 1542, col: 5, offset: 50891}, - expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, - run: (*parser).callonExtraListElement237, - expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &labeledExpr{ - pos: position{line: 1542, col: 12, offset: 50898}, - label: "prefix", - expr: &choiceExpr{ - pos: position{line: 1542, col: 20, offset: 50906}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 1544, col: 9, offset: 50963}, - run: (*parser).callonExtraListElement241, - expr: &seqExpr{ - pos: position{line: 1544, col: 9, offset: 50963}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 1544, col: 9, offset: 50963}, - label: "depth", - expr: &actionExpr{ - pos: position{line: 1544, col: 16, offset: 50970}, - run: (*parser).callonExtraListElement244, - expr: &oneOrMoreExpr{ - pos: position{line: 1544, col: 16, offset: 50970}, - expr: &litMatcher{ - pos: position{line: 1544, col: 17, offset: 50971}, - val: "*", - ignoreCase: false, - want: "\"*\"", - }, + &andExpr{ + pos: position{line: 3034, col: 32, offset: 99022}, + expr: ¬Expr{ + pos: position{line: 3034, col: 34, offset: 99024}, + expr: &choiceExpr{ + pos: position{line: 3034, col: 36, offset: 99026}, + alternatives: []interface{}{ + ¬Expr{ + pos: position{line: 3071, col: 8, offset: 99885}, + expr: &anyMatcher{ + line: 3071, col: 9, offset: 99886, + }, + }, + &actionExpr{ + pos: position{line: 3058, col: 10, offset: 99611}, + run: (*parser).callonExternalLink206, + expr: &charClassMatcher{ + pos: position{line: 3058, col: 11, offset: 99612}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, }, }, }, - &andCodeExpr{ - pos: position{line: 1548, col: 9, offset: 51071}, - run: (*parser).callonExtraListElement247, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 1565, col: 14, offset: 51778}, - label: "depth", - expr: &actionExpr{ - pos: position{line: 1565, col: 21, offset: 51785}, - run: (*parser).callonExtraListElement249, - expr: &litMatcher{ - pos: position{line: 1565, col: 22, offset: 51786}, - val: "-", - ignoreCase: false, - want: "\"-\"", - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2903, col: 11, offset: 96254}, - run: (*parser).callonExtraListElement251, - expr: &oneOrMoreExpr{ - pos: position{line: 2903, col: 11, offset: 96254}, - expr: &charClassMatcher{ - pos: position{line: 2903, col: 12, offset: 96255}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 1536, col: 5, offset: 50659}, - label: "checkstyle", - expr: &zeroOrOneExpr{ - pos: position{line: 1536, col: 16, offset: 50670}, - expr: &actionExpr{ - pos: position{line: 1572, col: 5, offset: 51947}, - run: (*parser).callonExtraListElement256, - expr: &seqExpr{ - pos: position{line: 1572, col: 5, offset: 51947}, - exprs: []interface{}{ - &andExpr{ - pos: position{line: 1572, col: 5, offset: 51947}, - expr: &litMatcher{ - pos: position{line: 1572, col: 6, offset: 51948}, - val: "[", - ignoreCase: false, - want: "\"[\"", - }, - }, - &labeledExpr{ - pos: position{line: 1572, col: 10, offset: 51952}, - label: "style", - expr: &choiceExpr{ - pos: position{line: 1573, col: 7, offset: 51966}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 1573, col: 7, offset: 51966}, - run: (*parser).callonExtraListElement262, - expr: &litMatcher{ - pos: position{line: 1573, col: 7, offset: 51966}, - val: "[ ]", - ignoreCase: false, - want: "\"[ ]\"", - }, - }, - &actionExpr{ - pos: position{line: 1574, col: 7, offset: 52011}, - run: (*parser).callonExtraListElement264, - expr: &litMatcher{ - pos: position{line: 1574, col: 7, offset: 52011}, - val: "[*]", - ignoreCase: false, - want: "\"[*]\"", - }, - }, - &actionExpr{ - pos: position{line: 1575, col: 7, offset: 52054}, - run: (*parser).callonExtraListElement266, - expr: &litMatcher{ - pos: position{line: 1575, col: 7, offset: 52054}, - val: "[x]", - ignoreCase: false, - want: "\"[x]\"", }, }, }, }, }, &actionExpr{ - pos: position{line: 2903, col: 11, offset: 96254}, - run: (*parser).callonExtraListElement268, - expr: &oneOrMoreExpr{ - pos: position{line: 2903, col: 11, offset: 96254}, - expr: &charClassMatcher{ - pos: position{line: 2903, col: 12, offset: 96255}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 1537, col: 5, offset: 50709}, - label: "content", - expr: &actionExpr{ - pos: position{line: 1426, col: 5, offset: 46956}, - run: (*parser).callonExtraListElement272, - expr: &seqExpr{ - pos: position{line: 1426, col: 5, offset: 46956}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 1426, col: 5, offset: 46956}, - label: "rawline", - expr: &actionExpr{ - pos: position{line: 1426, col: 14, offset: 46965}, - run: (*parser).callonExtraListElement275, - expr: &oneOrMoreExpr{ - pos: position{line: 1426, col: 14, offset: 46965}, - expr: &charClassMatcher{ - pos: position{line: 1426, col: 14, offset: 46965}, - val: "[^\\r\\n]", - chars: []rune{'\r', '\n'}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, - run: (*parser).callonExtraListElement279, - expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, + pos: position{line: 641, col: 5, offset: 20579}, + run: (*parser).callonExternalLink208, + expr: &seqExpr{ + pos: position{line: 641, col: 5, offset: 20579}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 641, col: 5, offset: 20579}, + run: (*parser).callonExternalLink210, }, - }, - }, - ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, - expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 1366, col: 13, offset: 44873}, - run: (*parser).callonExtraListElement286, - expr: &seqExpr{ - pos: position{line: 1366, col: 13, offset: 44873}, - exprs: []interface{}{ - &zeroOrMoreExpr{ - pos: position{line: 1366, col: 13, offset: 44873}, - expr: &actionExpr{ - pos: position{line: 685, col: 14, offset: 22145}, - run: (*parser).callonExtraListElement289, - expr: &seqExpr{ - pos: position{line: 685, col: 14, offset: 22145}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 685, col: 14, offset: 22145}, - expr: ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, - expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, - }, - }, - }, - &zeroOrMoreExpr{ - pos: position{line: 685, col: 19, offset: 22150}, - expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, - run: (*parser).callonExtraListElement295, - expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, - run: (*parser).callonExtraListElement298, - expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, - expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + &labeledExpr{ + pos: position{line: 644, col: 5, offset: 20648}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 644, col: 14, offset: 20657}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 664, col: 25, offset: 21310}, + run: (*parser).callonExternalLink213, + expr: &seqExpr{ + pos: position{line: 664, col: 25, offset: 21310}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 664, col: 25, offset: 21310}, + val: "{counter:", + ignoreCase: false, + want: "\"{counter:\"", + }, + &labeledExpr{ + pos: position{line: 664, col: 37, offset: 21322}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + run: (*parser).callonExternalLink217, + expr: &seqExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 324, col: 18, offset: 10054}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 324, col: 28, offset: 10064}, + expr: &charClassMatcher{ + pos: position{line: 324, col: 29, offset: 10065}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 664, col: 56, offset: 21341}, + label: "start", + expr: &zeroOrOneExpr{ + pos: position{line: 664, col: 62, offset: 21347}, + expr: &actionExpr{ + pos: position{line: 672, col: 17, offset: 21642}, + run: (*parser).callonExternalLink224, + expr: &seqExpr{ + pos: position{line: 672, col: 17, offset: 21642}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 672, col: 17, offset: 21642}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &labeledExpr{ + pos: position{line: 672, col: 21, offset: 21646}, + label: "start", + expr: &choiceExpr{ + pos: position{line: 672, col: 28, offset: 21653}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 672, col: 28, offset: 21653}, + run: (*parser).callonExternalLink229, + expr: &charClassMatcher{ + pos: position{line: 672, col: 28, offset: 21653}, + val: "[A-Za-z]", + ranges: []rune{'A', 'Z', 'a', 'z'}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 674, col: 9, offset: 21707}, + run: (*parser).callonExternalLink231, + expr: &oneOrMoreExpr{ + pos: position{line: 674, col: 9, offset: 21707}, + expr: &charClassMatcher{ + pos: position{line: 674, col: 9, offset: 21707}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 664, col: 78, offset: 21363}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 668, col: 25, offset: 21481}, + run: (*parser).callonExternalLink235, + expr: &seqExpr{ + pos: position{line: 668, col: 25, offset: 21481}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 668, col: 25, offset: 21481}, + val: "{counter2:", + ignoreCase: false, + want: "\"{counter2:\"", + }, + &labeledExpr{ + pos: position{line: 668, col: 38, offset: 21494}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + run: (*parser).callonExternalLink239, + expr: &seqExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 324, col: 18, offset: 10054}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 324, col: 28, offset: 10064}, + expr: &charClassMatcher{ + pos: position{line: 324, col: 29, offset: 10065}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 668, col: 57, offset: 21513}, + label: "start", + expr: &zeroOrOneExpr{ + pos: position{line: 668, col: 63, offset: 21519}, + expr: &actionExpr{ + pos: position{line: 672, col: 17, offset: 21642}, + run: (*parser).callonExternalLink246, + expr: &seqExpr{ + pos: position{line: 672, col: 17, offset: 21642}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 672, col: 17, offset: 21642}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &labeledExpr{ + pos: position{line: 672, col: 21, offset: 21646}, + label: "start", + expr: &choiceExpr{ + pos: position{line: 672, col: 28, offset: 21653}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 672, col: 28, offset: 21653}, + run: (*parser).callonExternalLink251, + expr: &charClassMatcher{ + pos: position{line: 672, col: 28, offset: 21653}, + val: "[A-Za-z]", + ranges: []rune{'A', 'Z', 'a', 'z'}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 674, col: 9, offset: 21707}, + run: (*parser).callonExternalLink253, + expr: &oneOrMoreExpr{ + pos: position{line: 674, col: 9, offset: 21707}, + expr: &charClassMatcher{ + pos: position{line: 674, col: 9, offset: 21707}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 668, col: 79, offset: 21535}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 650, col: 5, offset: 20786}, + run: (*parser).callonExternalLink257, + expr: &seqExpr{ + pos: position{line: 650, col: 5, offset: 20786}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 650, col: 5, offset: 20786}, + val: "\\{", + ignoreCase: false, + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 650, col: 13, offset: 20794}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + run: (*parser).callonExternalLink261, + expr: &seqExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 324, col: 18, offset: 10054}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 324, col: 28, offset: 10064}, + expr: &charClassMatcher{ + pos: position{line: 324, col: 29, offset: 10065}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 650, col: 32, offset: 20813}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 657, col: 5, offset: 21054}, + run: (*parser).callonExternalLink267, + expr: &seqExpr{ + pos: position{line: 657, col: 5, offset: 21054}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 657, col: 5, offset: 21054}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + &labeledExpr{ + pos: position{line: 657, col: 9, offset: 21058}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + run: (*parser).callonExternalLink271, + expr: &seqExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 324, col: 18, offset: 10054}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 324, col: 28, offset: 10064}, + expr: &charClassMatcher{ + pos: position{line: 324, col: 29, offset: 10065}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 657, col: 28, offset: 21077}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2743, col: 5, offset: 89823}, + run: (*parser).callonExternalLink277, + expr: &seqExpr{ + pos: position{line: 2743, col: 5, offset: 89823}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2743, col: 5, offset: 89823}, + run: (*parser).callonExternalLink279, + }, + &labeledExpr{ + pos: position{line: 2746, col: 5, offset: 89899}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 2748, col: 9, offset: 89997}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2748, col: 9, offset: 89997}, + run: (*parser).callonExternalLink282, + expr: &choiceExpr{ + pos: position{line: 692, col: 27, offset: 22361}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 692, col: 27, offset: 22361}, + run: (*parser).callonExternalLink284, + expr: &seqExpr{ + pos: position{line: 692, col: 27, offset: 22361}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 692, col: 27, offset: 22361}, + val: "<<", + ignoreCase: false, + want: "\"<<\"", + }, + &labeledExpr{ + pos: position{line: 692, col: 32, offset: 22366}, + label: "id", + expr: &actionExpr{ + pos: position{line: 3043, col: 7, offset: 99263}, + run: (*parser).callonExternalLink288, + expr: &oneOrMoreExpr{ + pos: position{line: 3043, col: 7, offset: 99263}, + expr: &charClassMatcher{ + pos: position{line: 3043, col: 7, offset: 99263}, + val: "[^[]<>,]", + chars: []rune{'[', ']', '<', '>', ','}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 692, col: 40, offset: 22374}, + expr: &actionExpr{ + pos: position{line: 3058, col: 10, offset: 99611}, + run: (*parser).callonExternalLink292, + expr: &charClassMatcher{ + pos: position{line: 3058, col: 11, offset: 99612}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &litMatcher{ + pos: position{line: 692, col: 47, offset: 22381}, + val: ",", + ignoreCase: false, + want: "\",\"", + }, + &labeledExpr{ + pos: position{line: 692, col: 51, offset: 22385}, + label: "label", + expr: &oneOrMoreExpr{ + pos: position{line: 702, col: 24, offset: 22786}, + expr: &choiceExpr{ + pos: position{line: 703, col: 5, offset: 22792}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 703, col: 6, offset: 22793}, + run: (*parser).callonExternalLink298, + expr: &seqExpr{ + pos: position{line: 703, col: 6, offset: 22793}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 703, col: 6, offset: 22793}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &oneOrMoreExpr{ + pos: position{line: 703, col: 14, offset: 22801}, + expr: &charClassMatcher{ + pos: position{line: 703, col: 14, offset: 22801}, + val: "[^\\r\\n{<>]", + chars: []rune{'\r', '\n', '{', '<', '>'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 650, col: 5, offset: 20786}, + run: (*parser).callonExternalLink303, + expr: &seqExpr{ + pos: position{line: 650, col: 5, offset: 20786}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 650, col: 5, offset: 20786}, + val: "\\{", + ignoreCase: false, + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 650, col: 13, offset: 20794}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + run: (*parser).callonExternalLink307, + expr: &seqExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 324, col: 18, offset: 10054}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 324, col: 28, offset: 10064}, + expr: &charClassMatcher{ + pos: position{line: 324, col: 29, offset: 10065}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 650, col: 32, offset: 20813}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 657, col: 5, offset: 21054}, + run: (*parser).callonExternalLink313, + expr: &seqExpr{ + pos: position{line: 657, col: 5, offset: 21054}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 657, col: 5, offset: 21054}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + &labeledExpr{ + pos: position{line: 657, col: 9, offset: 21058}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + run: (*parser).callonExternalLink317, + expr: &seqExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 324, col: 18, offset: 10054}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 324, col: 28, offset: 10064}, + expr: &charClassMatcher{ + pos: position{line: 324, col: 29, offset: 10065}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 657, col: 28, offset: 21077}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 707, col: 8, offset: 23027}, + run: (*parser).callonExternalLink323, + expr: &litMatcher{ + pos: position{line: 707, col: 8, offset: 23027}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 692, col: 79, offset: 22413}, + val: ">>", + ignoreCase: false, + want: "\">>\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 694, col: 9, offset: 22486}, + run: (*parser).callonExternalLink326, + expr: &seqExpr{ + pos: position{line: 694, col: 9, offset: 22486}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 694, col: 9, offset: 22486}, + val: "<<", + ignoreCase: false, + want: "\"<<\"", + }, + &labeledExpr{ + pos: position{line: 694, col: 14, offset: 22491}, + label: "id", + expr: &actionExpr{ + pos: position{line: 3043, col: 7, offset: 99263}, + run: (*parser).callonExternalLink330, + expr: &oneOrMoreExpr{ + pos: position{line: 3043, col: 7, offset: 99263}, + expr: &charClassMatcher{ + pos: position{line: 3043, col: 7, offset: 99263}, + val: "[^[]<>,]", + chars: []rune{'[', ']', '<', '>', ','}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 694, col: 22, offset: 22499}, + val: ">>", + ignoreCase: false, + want: "\">>\"", + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2751, col: 11, offset: 90101}, + run: (*parser).callonExternalLink334, + expr: &charClassMatcher{ + pos: position{line: 2751, col: 12, offset: 90102}, + val: "[<>&]", + chars: []rune{'<', '>', '&'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 3037, col: 11, offset: 99107}, + run: (*parser).callonExternalLink336, + expr: &litMatcher{ + pos: position{line: 3037, col: 11, offset: 99107}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + }, + }, }, }, }, @@ -27097,134 +26798,222 @@ var g = &grammar{ }, }, }, - &labeledExpr{ - pos: position{line: 1367, col: 13, offset: 44897}, - label: "element", - expr: &actionExpr{ - pos: position{line: 1642, col: 5, offset: 53927}, - run: (*parser).callonExtraListElement306, - expr: &seqExpr{ - pos: position{line: 1642, col: 5, offset: 53927}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 1642, col: 5, offset: 53927}, - label: "ref", - expr: &actionExpr{ - pos: position{line: 1648, col: 5, offset: 54128}, - run: (*parser).callonExtraListElement309, - expr: &seqExpr{ - pos: position{line: 1648, col: 5, offset: 54128}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 1648, col: 5, offset: 54128}, - val: "<", - ignoreCase: false, - want: "\"<\"", - }, - &labeledExpr{ - pos: position{line: 1648, col: 9, offset: 54132}, - label: "ref", - expr: &actionExpr{ - pos: position{line: 1648, col: 14, offset: 54137}, - run: (*parser).callonExtraListElement313, - expr: &oneOrMoreExpr{ - pos: position{line: 1648, col: 14, offset: 54137}, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1343, col: 30, offset: 43827}, + label: "attributes", + expr: &zeroOrOneExpr{ + pos: position{line: 1343, col: 41, offset: 43838}, + expr: &ruleRefExpr{ + pos: position{line: 1343, col: 42, offset: 43839}, + name: "InlineAttributes", + }, + }, + }, + }, + }, + }, + }, + }, + }, + { + name: "ListElements", + pos: position{line: 1351, col: 1, offset: 44193}, + expr: &actionExpr{ + pos: position{line: 1352, col: 5, offset: 44214}, + run: (*parser).callonListElements1, + expr: &seqExpr{ + pos: position{line: 1352, col: 5, offset: 44214}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1352, col: 5, offset: 44214}, + label: "firstElement", + expr: &choiceExpr{ + pos: position{line: 1358, col: 5, offset: 44416}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 1505, col: 5, offset: 49223}, + run: (*parser).callonListElements5, + expr: &seqExpr{ + pos: position{line: 1505, col: 5, offset: 49223}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1505, col: 5, offset: 49223}, + label: "prefix", + expr: &actionExpr{ + pos: position{line: 1512, col: 5, offset: 49431}, + run: (*parser).callonListElements8, + expr: &seqExpr{ + pos: position{line: 1512, col: 5, offset: 49431}, + exprs: []interface{}{ + &zeroOrMoreExpr{ + pos: position{line: 1512, col: 5, offset: 49431}, + expr: &actionExpr{ + pos: position{line: 3058, col: 10, offset: 99611}, + run: (*parser).callonListElements11, + expr: &charClassMatcher{ + pos: position{line: 3058, col: 11, offset: 99612}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1512, col: 12, offset: 49438}, + label: "prefix", + expr: &choiceExpr{ + pos: position{line: 1514, col: 9, offset: 49501}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 1514, col: 9, offset: 49501}, + run: (*parser).callonListElements15, + expr: &seqExpr{ + pos: position{line: 1514, col: 9, offset: 49501}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1514, col: 9, offset: 49501}, + label: "depth", + expr: &actionExpr{ + pos: position{line: 1514, col: 16, offset: 49508}, + run: (*parser).callonListElements18, + expr: &oneOrMoreExpr{ + pos: position{line: 1514, col: 16, offset: 49508}, + expr: &litMatcher{ + pos: position{line: 1514, col: 17, offset: 49509}, + val: ".", + ignoreCase: false, + want: "\".\"", + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 1518, col: 9, offset: 49609}, + run: (*parser).callonListElements21, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1537, col: 11, offset: 50326}, + run: (*parser).callonListElements22, + expr: &seqExpr{ + pos: position{line: 1537, col: 11, offset: 50326}, + exprs: []interface{}{ + &oneOrMoreExpr{ + pos: position{line: 1537, col: 11, offset: 50326}, expr: &charClassMatcher{ - pos: position{line: 1648, col: 14, offset: 54137}, + pos: position{line: 1537, col: 12, offset: 50327}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, inverted: false, }, }, + &litMatcher{ + pos: position{line: 1537, col: 20, offset: 50335}, + val: ".", + ignoreCase: false, + want: "\".\"", + }, }, }, - &litMatcher{ - pos: position{line: 1648, col: 62, offset: 54185}, - val: ">", - ignoreCase: false, - want: "\">\"", + }, + &actionExpr{ + pos: position{line: 1539, col: 13, offset: 50452}, + run: (*parser).callonListElements27, + expr: &seqExpr{ + pos: position{line: 1539, col: 13, offset: 50452}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 1539, col: 14, offset: 50453}, + val: "[a-z]", + ranges: []rune{'a', 'z'}, + ignoreCase: false, + inverted: false, + }, + &litMatcher{ + pos: position{line: 1539, col: 21, offset: 50460}, + val: ".", + ignoreCase: false, + want: "\".\"", + }, + }, }, - &actionExpr{ - pos: position{line: 2903, col: 11, offset: 96254}, - run: (*parser).callonExtraListElement317, - expr: &oneOrMoreExpr{ - pos: position{line: 2903, col: 11, offset: 96254}, - expr: &charClassMatcher{ - pos: position{line: 2903, col: 12, offset: 96255}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + }, + &actionExpr{ + pos: position{line: 1541, col: 13, offset: 50580}, + run: (*parser).callonListElements31, + expr: &seqExpr{ + pos: position{line: 1541, col: 13, offset: 50580}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 1541, col: 14, offset: 50581}, + val: "[A-Z]", + ranges: []rune{'A', 'Z'}, ignoreCase: false, inverted: false, }, + &litMatcher{ + pos: position{line: 1541, col: 21, offset: 50588}, + val: ".", + ignoreCase: false, + want: "\".\"", + }, }, }, }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 1643, col: 5, offset: 53963}, - label: "description", - expr: &actionExpr{ - pos: position{line: 1653, col: 5, offset: 54311}, - run: (*parser).callonExtraListElement321, - expr: &seqExpr{ - pos: position{line: 1653, col: 5, offset: 54311}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 1653, col: 5, offset: 54311}, - label: "rawline", - expr: &actionExpr{ - pos: position{line: 1653, col: 14, offset: 54320}, - run: (*parser).callonExtraListElement324, - expr: &oneOrMoreExpr{ - pos: position{line: 1653, col: 14, offset: 54320}, + &actionExpr{ + pos: position{line: 1543, col: 13, offset: 50708}, + run: (*parser).callonListElements35, + expr: &seqExpr{ + pos: position{line: 1543, col: 13, offset: 50708}, + exprs: []interface{}{ + &oneOrMoreExpr{ + pos: position{line: 1543, col: 13, offset: 50708}, expr: &charClassMatcher{ - pos: position{line: 1653, col: 14, offset: 54320}, - val: "[^\\r\\n]", - chars: []rune{'\r', '\n'}, + pos: position{line: 1543, col: 14, offset: 50709}, + val: "[ivxdlcm]", + chars: []rune{'i', 'v', 'x', 'd', 'l', 'c', 'm'}, ignoreCase: false, - inverted: true, + inverted: false, }, }, + &litMatcher{ + pos: position{line: 1543, col: 26, offset: 50721}, + val: ")", + ignoreCase: false, + want: "\")\"", + }, }, }, - &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, - run: (*parser).callonExtraListElement328, - expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, + }, + &actionExpr{ + pos: position{line: 1545, col: 13, offset: 50841}, + run: (*parser).callonListElements40, + expr: &seqExpr{ + pos: position{line: 1545, col: 13, offset: 50841}, + exprs: []interface{}{ + &oneOrMoreExpr{ + pos: position{line: 1545, col: 13, offset: 50841}, + expr: &charClassMatcher{ + pos: position{line: 1545, col: 14, offset: 50842}, + val: "[IVXDLCM]", + chars: []rune{'I', 'V', 'X', 'D', 'L', 'C', 'M'}, + ignoreCase: false, + inverted: false, }, }, - ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, - expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, - }, + &litMatcher{ + pos: position{line: 1545, col: 26, offset: 50854}, + val: ")", + ignoreCase: false, + want: "\")\"", }, }, }, @@ -27232,163 +27021,87 @@ var g = &grammar{ }, }, }, + &actionExpr{ + pos: position{line: 3062, col: 11, offset: 99678}, + run: (*parser).callonListElements45, + expr: &oneOrMoreExpr{ + pos: position{line: 3062, col: 11, offset: 99678}, + expr: &charClassMatcher{ + pos: position{line: 3062, col: 12, offset: 99679}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, }, }, }, }, - }, - }, - }, - &actionExpr{ - pos: position{line: 1370, col: 13, offset: 44989}, - run: (*parser).callonExtraListElement335, - expr: &seqExpr{ - pos: position{line: 1370, col: 13, offset: 44989}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 1370, col: 13, offset: 44989}, - label: "attributes", - expr: &oneOrMoreExpr{ - pos: position{line: 1370, col: 24, offset: 45000}, - expr: &ruleRefExpr{ - pos: position{line: 1370, col: 25, offset: 45001}, - name: "BlockAttributes", - }, - }, - }, &labeledExpr{ - pos: position{line: 1371, col: 13, offset: 45032}, - label: "element", + pos: position{line: 1506, col: 5, offset: 49262}, + label: "content", expr: &actionExpr{ - pos: position{line: 1642, col: 5, offset: 53927}, - run: (*parser).callonExtraListElement341, + pos: position{line: 1446, col: 5, offset: 47458}, + run: (*parser).callonListElements49, expr: &seqExpr{ - pos: position{line: 1642, col: 5, offset: 53927}, + pos: position{line: 1446, col: 5, offset: 47458}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1642, col: 5, offset: 53927}, - label: "ref", + pos: position{line: 1446, col: 5, offset: 47458}, + label: "rawline", expr: &actionExpr{ - pos: position{line: 1648, col: 5, offset: 54128}, - run: (*parser).callonExtraListElement344, - expr: &seqExpr{ - pos: position{line: 1648, col: 5, offset: 54128}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 1648, col: 5, offset: 54128}, - val: "<", - ignoreCase: false, - want: "\"<\"", - }, - &labeledExpr{ - pos: position{line: 1648, col: 9, offset: 54132}, - label: "ref", - expr: &actionExpr{ - pos: position{line: 1648, col: 14, offset: 54137}, - run: (*parser).callonExtraListElement348, - expr: &oneOrMoreExpr{ - pos: position{line: 1648, col: 14, offset: 54137}, - expr: &charClassMatcher{ - pos: position{line: 1648, col: 14, offset: 54137}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 1648, col: 62, offset: 54185}, - val: ">", - ignoreCase: false, - want: "\">\"", - }, - &actionExpr{ - pos: position{line: 2903, col: 11, offset: 96254}, - run: (*parser).callonExtraListElement352, - expr: &oneOrMoreExpr{ - pos: position{line: 2903, col: 11, offset: 96254}, - expr: &charClassMatcher{ - pos: position{line: 2903, col: 12, offset: 96255}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, + pos: position{line: 1446, col: 14, offset: 47467}, + run: (*parser).callonListElements52, + expr: &oneOrMoreExpr{ + pos: position{line: 1446, col: 14, offset: 47467}, + expr: &charClassMatcher{ + pos: position{line: 1446, col: 14, offset: 47467}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, }, }, }, }, - &labeledExpr{ - pos: position{line: 1643, col: 5, offset: 53963}, - label: "description", - expr: &actionExpr{ - pos: position{line: 1653, col: 5, offset: 54311}, - run: (*parser).callonExtraListElement356, - expr: &seqExpr{ - pos: position{line: 1653, col: 5, offset: 54311}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 1653, col: 5, offset: 54311}, - label: "rawline", - expr: &actionExpr{ - pos: position{line: 1653, col: 14, offset: 54320}, - run: (*parser).callonExtraListElement359, - expr: &oneOrMoreExpr{ - pos: position{line: 1653, col: 14, offset: 54320}, - expr: &charClassMatcher{ - pos: position{line: 1653, col: 14, offset: 54320}, - val: "[^\\r\\n]", - chars: []rune{'\r', '\n'}, - ignoreCase: false, - inverted: true, - }, - }, + &choiceExpr{ + pos: position{line: 3074, col: 8, offset: 99935}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3067, col: 12, offset: 99795}, + run: (*parser).callonListElements56, + expr: &choiceExpr{ + pos: position{line: 3067, col: 13, offset: 99796}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3067, col: 13, offset: 99796}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", }, - }, - &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, - run: (*parser).callonExtraListElement363, - expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, - expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, - }, - }, + &litMatcher{ + pos: position{line: 3067, col: 20, offset: 99803}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3067, col: 29, offset: 99812}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", }, }, }, }, + ¬Expr{ + pos: position{line: 3071, col: 8, offset: 99885}, + expr: &anyMatcher{ + line: 3071, col: 9, offset: 99886, + }, + }, }, }, }, @@ -27398,40 +27111,95 @@ var g = &grammar{ }, }, }, - &ruleRefExpr{ - pos: position{line: 1374, col: 11, offset: 45158}, - name: "ListElementContinuation", - }, &actionExpr{ - pos: position{line: 1375, col: 13, offset: 45194}, - run: (*parser).callonExtraListElement371, + pos: position{line: 1555, col: 5, offset: 51120}, + run: (*parser).callonListElements63, expr: &seqExpr{ - pos: position{line: 1375, col: 13, offset: 45194}, + pos: position{line: 1555, col: 5, offset: 51120}, exprs: []interface{}{ - &zeroOrMoreExpr{ - pos: position{line: 1375, col: 13, offset: 45194}, + &labeledExpr{ + pos: position{line: 1555, col: 5, offset: 51120}, + label: "prefix", expr: &actionExpr{ - pos: position{line: 685, col: 14, offset: 22145}, - run: (*parser).callonExtraListElement374, + pos: position{line: 1562, col: 5, offset: 51393}, + run: (*parser).callonListElements66, expr: &seqExpr{ - pos: position{line: 685, col: 14, offset: 22145}, + pos: position{line: 1562, col: 5, offset: 51393}, exprs: []interface{}{ - ¬Expr{ - pos: position{line: 685, col: 14, offset: 22145}, - expr: ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, - expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + &zeroOrMoreExpr{ + pos: position{line: 1562, col: 5, offset: 51393}, + expr: &actionExpr{ + pos: position{line: 3058, col: 10, offset: 99611}, + run: (*parser).callonListElements69, + expr: &charClassMatcher{ + pos: position{line: 3058, col: 11, offset: 99612}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, }, }, }, - &zeroOrMoreExpr{ - pos: position{line: 685, col: 19, offset: 22150}, - expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, - run: (*parser).callonExtraListElement380, + &labeledExpr{ + pos: position{line: 1562, col: 12, offset: 51400}, + label: "prefix", + expr: &choiceExpr{ + pos: position{line: 1562, col: 20, offset: 51408}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 1564, col: 9, offset: 51465}, + run: (*parser).callonListElements73, + expr: &seqExpr{ + pos: position{line: 1564, col: 9, offset: 51465}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1564, col: 9, offset: 51465}, + label: "depth", + expr: &actionExpr{ + pos: position{line: 1564, col: 16, offset: 51472}, + run: (*parser).callonListElements76, + expr: &oneOrMoreExpr{ + pos: position{line: 1564, col: 16, offset: 51472}, + expr: &litMatcher{ + pos: position{line: 1564, col: 17, offset: 51473}, + val: "*", + ignoreCase: false, + want: "\"*\"", + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 1568, col: 9, offset: 51573}, + run: (*parser).callonListElements79, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1585, col: 14, offset: 52280}, + label: "depth", + expr: &actionExpr{ + pos: position{line: 1585, col: 21, offset: 52287}, + run: (*parser).callonListElements81, + expr: &litMatcher{ + pos: position{line: 1585, col: 22, offset: 52288}, + val: "-", + ignoreCase: false, + want: "\"-\"", + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 3062, col: 11, offset: 99678}, + run: (*parser).callonListElements83, + expr: &oneOrMoreExpr{ + pos: position{line: 3062, col: 11, offset: 99678}, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3062, col: 12, offset: 99679}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -27439,29 +27207,138 @@ var g = &grammar{ }, }, }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1556, col: 5, offset: 51161}, + label: "checkstyle", + expr: &zeroOrOneExpr{ + pos: position{line: 1556, col: 16, offset: 51172}, + expr: &actionExpr{ + pos: position{line: 1592, col: 5, offset: 52449}, + run: (*parser).callonListElements88, + expr: &seqExpr{ + pos: position{line: 1592, col: 5, offset: 52449}, + exprs: []interface{}{ + &andExpr{ + pos: position{line: 1592, col: 5, offset: 52449}, + expr: &litMatcher{ + pos: position{line: 1592, col: 6, offset: 52450}, + val: "[", + ignoreCase: false, + want: "\"[\"", + }, + }, + &labeledExpr{ + pos: position{line: 1592, col: 10, offset: 52454}, + label: "style", + expr: &choiceExpr{ + pos: position{line: 1593, col: 7, offset: 52468}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 1593, col: 7, offset: 52468}, + run: (*parser).callonListElements94, + expr: &litMatcher{ + pos: position{line: 1593, col: 7, offset: 52468}, + val: "[ ]", + ignoreCase: false, + want: "\"[ ]\"", + }, + }, + &actionExpr{ + pos: position{line: 1594, col: 7, offset: 52513}, + run: (*parser).callonListElements96, + expr: &litMatcher{ + pos: position{line: 1594, col: 7, offset: 52513}, + val: "[*]", + ignoreCase: false, + want: "\"[*]\"", + }, + }, + &actionExpr{ + pos: position{line: 1595, col: 7, offset: 52556}, + run: (*parser).callonListElements98, + expr: &litMatcher{ + pos: position{line: 1595, col: 7, offset: 52556}, + val: "[x]", + ignoreCase: false, + want: "\"[x]\"", + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 3062, col: 11, offset: 99678}, + run: (*parser).callonListElements100, + expr: &oneOrMoreExpr{ + pos: position{line: 3062, col: 11, offset: 99678}, + expr: &charClassMatcher{ + pos: position{line: 3062, col: 12, offset: 99679}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1557, col: 5, offset: 51211}, + label: "content", + expr: &actionExpr{ + pos: position{line: 1446, col: 5, offset: 47458}, + run: (*parser).callonListElements104, + expr: &seqExpr{ + pos: position{line: 1446, col: 5, offset: 47458}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1446, col: 5, offset: 47458}, + label: "rawline", + expr: &actionExpr{ + pos: position{line: 1446, col: 14, offset: 47467}, + run: (*parser).callonListElements107, + expr: &oneOrMoreExpr{ + pos: position{line: 1446, col: 14, offset: 47467}, + expr: &charClassMatcher{ + pos: position{line: 1446, col: 14, offset: 47467}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, - run: (*parser).callonExtraListElement383, + pos: position{line: 3067, col: 12, offset: 99795}, + run: (*parser).callonListElements111, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -27470,9 +27347,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -27481,161 +27358,365 @@ var g = &grammar{ }, }, }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1662, col: 5, offset: 54429}, + run: (*parser).callonListElements118, + expr: &seqExpr{ + pos: position{line: 1662, col: 5, offset: 54429}, + exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1376, col: 13, offset: 45218}, - label: "element", + pos: position{line: 1662, col: 5, offset: 54429}, + label: "ref", expr: &actionExpr{ - pos: position{line: 1584, col: 5, offset: 52247}, - run: (*parser).callonExtraListElement391, + pos: position{line: 1668, col: 5, offset: 54630}, + run: (*parser).callonListElements121, expr: &seqExpr{ - pos: position{line: 1584, col: 5, offset: 52247}, + pos: position{line: 1668, col: 5, offset: 54630}, exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1668, col: 5, offset: 54630}, + val: "<", + ignoreCase: false, + want: "\"<\"", + }, &labeledExpr{ - pos: position{line: 1584, col: 5, offset: 52247}, - label: "term", + pos: position{line: 1668, col: 9, offset: 54634}, + label: "ref", expr: &actionExpr{ - pos: position{line: 1592, col: 5, offset: 52506}, - run: (*parser).callonExtraListElement394, + pos: position{line: 1668, col: 14, offset: 54639}, + run: (*parser).callonListElements125, + expr: &oneOrMoreExpr{ + pos: position{line: 1668, col: 14, offset: 54639}, + expr: &charClassMatcher{ + pos: position{line: 1668, col: 14, offset: 54639}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 1668, col: 62, offset: 54687}, + val: ">", + ignoreCase: false, + want: "\">\"", + }, + &actionExpr{ + pos: position{line: 3062, col: 11, offset: 99678}, + run: (*parser).callonListElements129, + expr: &oneOrMoreExpr{ + pos: position{line: 3062, col: 11, offset: 99678}, + expr: &charClassMatcher{ + pos: position{line: 3062, col: 12, offset: 99679}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1663, col: 5, offset: 54465}, + label: "description", + expr: &actionExpr{ + pos: position{line: 1673, col: 5, offset: 54813}, + run: (*parser).callonListElements133, + expr: &seqExpr{ + pos: position{line: 1673, col: 5, offset: 54813}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1673, col: 5, offset: 54813}, + label: "rawline", + expr: &actionExpr{ + pos: position{line: 1673, col: 14, offset: 54822}, + run: (*parser).callonListElements136, expr: &oneOrMoreExpr{ - pos: position{line: 1592, col: 5, offset: 52506}, + pos: position{line: 1673, col: 14, offset: 54822}, + expr: &charClassMatcher{ + pos: position{line: 1673, col: 14, offset: 54822}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3074, col: 8, offset: 99935}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3067, col: 12, offset: 99795}, + run: (*parser).callonListElements140, + expr: &choiceExpr{ + pos: position{line: 3067, col: 13, offset: 99796}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3067, col: 13, offset: 99796}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3067, col: 20, offset: 99803}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3067, col: 29, offset: 99812}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3071, col: 8, offset: 99885}, + expr: &anyMatcher{ + line: 3071, col: 9, offset: 99886, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1604, col: 5, offset: 52749}, + run: (*parser).callonListElements147, + expr: &seqExpr{ + pos: position{line: 1604, col: 5, offset: 52749}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1604, col: 5, offset: 52749}, + label: "term", + expr: &actionExpr{ + pos: position{line: 1612, col: 5, offset: 53008}, + run: (*parser).callonListElements150, + expr: &oneOrMoreExpr{ + pos: position{line: 1612, col: 5, offset: 53008}, + expr: &seqExpr{ + pos: position{line: 1612, col: 6, offset: 53009}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 1612, col: 6, offset: 53009}, + expr: &actionExpr{ + pos: position{line: 1617, col: 5, offset: 53159}, + run: (*parser).callonListElements154, expr: &seqExpr{ - pos: position{line: 1592, col: 6, offset: 52507}, + pos: position{line: 1617, col: 5, offset: 53159}, exprs: []interface{}{ - ¬Expr{ - pos: position{line: 1592, col: 6, offset: 52507}, + &labeledExpr{ + pos: position{line: 1617, col: 5, offset: 53159}, + label: "separator", expr: &actionExpr{ - pos: position{line: 1597, col: 5, offset: 52657}, - run: (*parser).callonExtraListElement398, - expr: &seqExpr{ - pos: position{line: 1597, col: 5, offset: 52657}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 1597, col: 5, offset: 52657}, - label: "separator", - expr: &actionExpr{ - pos: position{line: 1597, col: 16, offset: 52668}, - run: (*parser).callonExtraListElement401, - expr: &oneOrMoreExpr{ - pos: position{line: 1597, col: 16, offset: 52668}, - expr: &litMatcher{ - pos: position{line: 1597, col: 17, offset: 52669}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - }, - }, - }, - &andCodeExpr{ - pos: position{line: 1600, col: 5, offset: 52726}, - run: (*parser).callonExtraListElement404, - }, + pos: position{line: 1617, col: 16, offset: 53170}, + run: (*parser).callonListElements157, + expr: &oneOrMoreExpr{ + pos: position{line: 1617, col: 16, offset: 53170}, + expr: &litMatcher{ + pos: position{line: 1617, col: 17, offset: 53171}, + val: ":", + ignoreCase: false, + want: "\":\"", }, }, }, }, - ¬Expr{ - pos: position{line: 1592, col: 35, offset: 52536}, - expr: &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, - run: (*parser).callonExtraListElement407, - expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, - expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, - }, - }, + &andCodeExpr{ + pos: position{line: 1620, col: 5, offset: 53228}, + run: (*parser).callonListElements160, + }, + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 1612, col: 35, offset: 53038}, + expr: &choiceExpr{ + pos: position{line: 3074, col: 8, offset: 99935}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3067, col: 12, offset: 99795}, + run: (*parser).callonListElements163, + expr: &choiceExpr{ + pos: position{line: 3067, col: 13, offset: 99796}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3067, col: 13, offset: 99796}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3067, col: 20, offset: 99803}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3067, col: 29, offset: 99812}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", }, }, }, - &anyMatcher{ - line: 1592, col: 40, offset: 52541, + }, + ¬Expr{ + pos: position{line: 3071, col: 8, offset: 99885}, + expr: &anyMatcher{ + line: 3071, col: 9, offset: 99886, }, }, }, }, }, + &anyMatcher{ + line: 1612, col: 40, offset: 53043, + }, }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1605, col: 5, offset: 52784}, + label: "separator", + expr: &actionExpr{ + pos: position{line: 1617, col: 5, offset: 53159}, + run: (*parser).callonListElements172, + expr: &seqExpr{ + pos: position{line: 1617, col: 5, offset: 53159}, + exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1585, col: 5, offset: 52282}, + pos: position{line: 1617, col: 5, offset: 53159}, label: "separator", expr: &actionExpr{ - pos: position{line: 1597, col: 5, offset: 52657}, - run: (*parser).callonExtraListElement416, - expr: &seqExpr{ - pos: position{line: 1597, col: 5, offset: 52657}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 1597, col: 5, offset: 52657}, - label: "separator", - expr: &actionExpr{ - pos: position{line: 1597, col: 16, offset: 52668}, - run: (*parser).callonExtraListElement419, - expr: &oneOrMoreExpr{ - pos: position{line: 1597, col: 16, offset: 52668}, - expr: &litMatcher{ - pos: position{line: 1597, col: 17, offset: 52669}, - val: ":", + pos: position{line: 1617, col: 16, offset: 53170}, + run: (*parser).callonListElements175, + expr: &oneOrMoreExpr{ + pos: position{line: 1617, col: 16, offset: 53170}, + expr: &litMatcher{ + pos: position{line: 1617, col: 17, offset: 53171}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 1620, col: 5, offset: 53228}, + run: (*parser).callonListElements178, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1606, col: 5, offset: 52829}, + label: "description", + expr: &choiceExpr{ + pos: position{line: 1628, col: 5, offset: 53478}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 1630, col: 9, offset: 53543}, + run: (*parser).callonListElements181, + expr: &seqExpr{ + pos: position{line: 1630, col: 9, offset: 53543}, + exprs: []interface{}{ + &zeroOrMoreExpr{ + pos: position{line: 1630, col: 9, offset: 53543}, + expr: &actionExpr{ + pos: position{line: 3058, col: 10, offset: 99611}, + run: (*parser).callonListElements184, + expr: &charClassMatcher{ + pos: position{line: 3058, col: 11, offset: 99612}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3074, col: 8, offset: 99935}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3067, col: 12, offset: 99795}, + run: (*parser).callonListElements187, + expr: &choiceExpr{ + pos: position{line: 3067, col: 13, offset: 99796}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3067, col: 13, offset: 99796}, + val: "\n", ignoreCase: false, - want: "\":\"", + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3067, col: 20, offset: 99803}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3067, col: 29, offset: 99812}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", }, }, }, }, - &andCodeExpr{ - pos: position{line: 1600, col: 5, offset: 52726}, - run: (*parser).callonExtraListElement422, + ¬Expr{ + pos: position{line: 3071, col: 8, offset: 99885}, + expr: &anyMatcher{ + line: 3071, col: 9, offset: 99886, + }, }, }, }, - }, - }, - &labeledExpr{ - pos: position{line: 1586, col: 5, offset: 52327}, - label: "description", - expr: &choiceExpr{ - pos: position{line: 1608, col: 5, offset: 52976}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 1610, col: 9, offset: 53041}, - run: (*parser).callonExtraListElement425, + &zeroOrMoreExpr{ + pos: position{line: 1631, col: 9, offset: 53563}, + expr: &actionExpr{ + pos: position{line: 683, col: 14, offset: 22008}, + run: (*parser).callonListElements195, expr: &seqExpr{ - pos: position{line: 1610, col: 9, offset: 53041}, + pos: position{line: 683, col: 14, offset: 22008}, exprs: []interface{}{ + ¬Expr{ + pos: position{line: 683, col: 14, offset: 22008}, + expr: ¬Expr{ + pos: position{line: 3071, col: 8, offset: 99885}, + expr: &anyMatcher{ + line: 3071, col: 9, offset: 99886, + }, + }, + }, &zeroOrMoreExpr{ - pos: position{line: 1610, col: 9, offset: 53041}, + pos: position{line: 683, col: 19, offset: 22013}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, - run: (*parser).callonExtraListElement428, + pos: position{line: 3058, col: 10, offset: 99611}, + run: (*parser).callonListElements201, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -27644,28 +27725,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, - run: (*parser).callonExtraListElement431, + pos: position{line: 3067, col: 12, offset: 99795}, + run: (*parser).callonListElements204, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -27674,67 +27755,90 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, }, - &zeroOrMoreExpr{ - pos: position{line: 1611, col: 9, offset: 53061}, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1632, col: 9, offset: 53583}, + label: "content", + expr: &zeroOrOneExpr{ + pos: position{line: 1632, col: 17, offset: 53591}, + expr: &choiceExpr{ + pos: position{line: 1426, col: 5, offset: 46825}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 1426, col: 5, offset: 46825}, + run: (*parser).callonListElements214, expr: &actionExpr{ - pos: position{line: 685, col: 14, offset: 22145}, - run: (*parser).callonExtraListElement439, + pos: position{line: 2760, col: 22, offset: 90461}, + run: (*parser).callonListElements215, expr: &seqExpr{ - pos: position{line: 685, col: 14, offset: 22145}, + pos: position{line: 2760, col: 22, offset: 90461}, exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2765, col: 31, offset: 90682}, + val: "//", + ignoreCase: false, + want: "\"//\"", + }, ¬Expr{ - pos: position{line: 685, col: 14, offset: 22145}, - expr: ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, - expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, - }, + pos: position{line: 2765, col: 36, offset: 90687}, + expr: &litMatcher{ + pos: position{line: 2765, col: 37, offset: 90688}, + val: "//", + ignoreCase: false, + want: "\"//\"", }, }, - &zeroOrMoreExpr{ - pos: position{line: 685, col: 19, offset: 22150}, + &labeledExpr{ + pos: position{line: 2760, col: 49, offset: 90488}, + label: "content", expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, - run: (*parser).callonExtraListElement445, - expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, + pos: position{line: 2767, col: 29, offset: 90723}, + run: (*parser).callonListElements221, + expr: &zeroOrMoreExpr{ + pos: position{line: 2767, col: 29, offset: 90723}, + expr: &charClassMatcher{ + pos: position{line: 2767, col: 29, offset: 90723}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, }, }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, - run: (*parser).callonExtraListElement448, + pos: position{line: 3067, col: 12, offset: 99795}, + run: (*parser).callonListElements225, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -27743,9 +27847,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -27754,91 +27858,77 @@ var g = &grammar{ }, }, }, - &labeledExpr{ - pos: position{line: 1612, col: 9, offset: 53081}, - label: "content", - expr: &zeroOrOneExpr{ - pos: position{line: 1612, col: 17, offset: 53089}, - expr: &choiceExpr{ - pos: position{line: 1406, col: 5, offset: 46323}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 1406, col: 5, offset: 46323}, - run: (*parser).callonExtraListElement458, - expr: &actionExpr{ - pos: position{line: 2616, col: 22, offset: 87547}, - run: (*parser).callonExtraListElement459, - expr: &seqExpr{ - pos: position{line: 2616, col: 22, offset: 87547}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 2621, col: 31, offset: 87768}, - val: "//", - ignoreCase: false, - want: "\"//\"", - }, - ¬Expr{ - pos: position{line: 2621, col: 36, offset: 87773}, - expr: &litMatcher{ - pos: position{line: 2621, col: 37, offset: 87774}, - val: "//", - ignoreCase: false, - want: "\"//\"", + &actionExpr{ + pos: position{line: 1430, col: 9, offset: 46978}, + run: (*parser).callonListElements232, + expr: &seqExpr{ + pos: position{line: 1430, col: 9, offset: 46978}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 1430, col: 9, offset: 46978}, + expr: &actionExpr{ + pos: position{line: 683, col: 14, offset: 22008}, + run: (*parser).callonListElements235, + expr: &seqExpr{ + pos: position{line: 683, col: 14, offset: 22008}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 683, col: 14, offset: 22008}, + expr: ¬Expr{ + pos: position{line: 3071, col: 8, offset: 99885}, + expr: &anyMatcher{ + line: 3071, col: 9, offset: 99886, }, }, - &labeledExpr{ - pos: position{line: 2616, col: 49, offset: 87574}, - label: "content", - expr: &actionExpr{ - pos: position{line: 2623, col: 29, offset: 87809}, - run: (*parser).callonExtraListElement465, - expr: &zeroOrMoreExpr{ - pos: position{line: 2623, col: 29, offset: 87809}, - expr: &charClassMatcher{ - pos: position{line: 2623, col: 29, offset: 87809}, - val: "[^\\r\\n]", - chars: []rune{'\r', '\n'}, - ignoreCase: false, - inverted: true, - }, - }, + }, + &zeroOrMoreExpr{ + pos: position{line: 683, col: 19, offset: 22013}, + expr: &actionExpr{ + pos: position{line: 3058, col: 10, offset: 99611}, + run: (*parser).callonListElements241, + expr: &charClassMatcher{ + pos: position{line: 3058, col: 11, offset: 99612}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, }, }, - &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, - run: (*parser).callonExtraListElement469, - expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, + }, + &choiceExpr{ + pos: position{line: 3074, col: 8, offset: 99935}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3067, col: 12, offset: 99795}, + run: (*parser).callonListElements244, + expr: &choiceExpr{ + pos: position{line: 3067, col: 13, offset: 99796}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3067, col: 13, offset: 99796}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3067, col: 20, offset: 99803}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3067, col: 29, offset: 99812}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", }, }, }, - ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, - expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, - }, + }, + ¬Expr{ + pos: position{line: 3071, col: 8, offset: 99885}, + expr: &anyMatcher{ + line: 3071, col: 9, offset: 99886, }, }, }, @@ -27846,480 +27936,235 @@ var g = &grammar{ }, }, }, - &actionExpr{ - pos: position{line: 1410, col: 9, offset: 46476}, - run: (*parser).callonExtraListElement476, + }, + ¬Expr{ + pos: position{line: 1431, col: 9, offset: 46997}, + expr: &seqExpr{ + pos: position{line: 1464, col: 34, offset: 47957}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1464, col: 34, offset: 47957}, + val: "+", + ignoreCase: false, + want: "\"+\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 1464, col: 38, offset: 47961}, + expr: &actionExpr{ + pos: position{line: 3058, col: 10, offset: 99611}, + run: (*parser).callonListElements255, + expr: &charClassMatcher{ + pos: position{line: 3058, col: 11, offset: 99612}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &actionExpr{ + pos: position{line: 3067, col: 12, offset: 99795}, + run: (*parser).callonListElements257, + expr: &choiceExpr{ + pos: position{line: 3067, col: 13, offset: 99796}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3067, col: 13, offset: 99796}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3067, col: 20, offset: 99803}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3067, col: 29, offset: 99812}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 1432, col: 9, offset: 47036}, + expr: &actionExpr{ + pos: position{line: 1512, col: 5, offset: 49431}, + run: (*parser).callonListElements263, expr: &seqExpr{ - pos: position{line: 1410, col: 9, offset: 46476}, + pos: position{line: 1512, col: 5, offset: 49431}, exprs: []interface{}{ - ¬Expr{ - pos: position{line: 1410, col: 9, offset: 46476}, + &zeroOrMoreExpr{ + pos: position{line: 1512, col: 5, offset: 49431}, expr: &actionExpr{ - pos: position{line: 685, col: 14, offset: 22145}, - run: (*parser).callonExtraListElement479, - expr: &seqExpr{ - pos: position{line: 685, col: 14, offset: 22145}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 685, col: 14, offset: 22145}, - expr: ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, - expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, - }, - }, - }, - &zeroOrMoreExpr{ - pos: position{line: 685, col: 19, offset: 22150}, - expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, - run: (*parser).callonExtraListElement485, - expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, - run: (*parser).callonExtraListElement488, - expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, - val: "\r", + pos: position{line: 3058, col: 10, offset: 99611}, + run: (*parser).callonListElements266, + expr: &charClassMatcher{ + pos: position{line: 3058, col: 11, offset: 99612}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1512, col: 12, offset: 49438}, + label: "prefix", + expr: &choiceExpr{ + pos: position{line: 1514, col: 9, offset: 49501}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 1514, col: 9, offset: 49501}, + run: (*parser).callonListElements270, + expr: &seqExpr{ + pos: position{line: 1514, col: 9, offset: 49501}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1514, col: 9, offset: 49501}, + label: "depth", + expr: &actionExpr{ + pos: position{line: 1514, col: 16, offset: 49508}, + run: (*parser).callonListElements273, + expr: &oneOrMoreExpr{ + pos: position{line: 1514, col: 16, offset: 49508}, + expr: &litMatcher{ + pos: position{line: 1514, col: 17, offset: 49509}, + val: ".", ignoreCase: false, - want: "\"\\r\"", + want: "\".\"", }, }, }, }, - ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, - expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, - }, + &andCodeExpr{ + pos: position{line: 1518, col: 9, offset: 49609}, + run: (*parser).callonListElements276, }, }, }, }, - }, - }, - }, - ¬Expr{ - pos: position{line: 1411, col: 9, offset: 46495}, - expr: &seqExpr{ - pos: position{line: 1444, col: 34, offset: 47455}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 1444, col: 34, offset: 47455}, - val: "+", - ignoreCase: false, - want: "\"+\"", - }, - &zeroOrMoreExpr{ - pos: position{line: 1444, col: 38, offset: 47459}, - expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, - run: (*parser).callonExtraListElement499, - expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, - run: (*parser).callonExtraListElement501, - expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", + pos: position{line: 1537, col: 11, offset: 50326}, + run: (*parser).callonListElements277, + expr: &seqExpr{ + pos: position{line: 1537, col: 11, offset: 50326}, + exprs: []interface{}{ + &oneOrMoreExpr{ + pos: position{line: 1537, col: 11, offset: 50326}, + expr: &charClassMatcher{ + pos: position{line: 1537, col: 12, offset: 50327}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, - val: "\r", + pos: position{line: 1537, col: 20, offset: 50335}, + val: ".", ignoreCase: false, - want: "\"\\r\"", + want: "\".\"", }, }, }, }, - }, - }, - }, - ¬Expr{ - pos: position{line: 1412, col: 9, offset: 46534}, - expr: &actionExpr{ - pos: position{line: 1492, col: 5, offset: 48929}, - run: (*parser).callonExtraListElement507, - expr: &seqExpr{ - pos: position{line: 1492, col: 5, offset: 48929}, - exprs: []interface{}{ - &zeroOrMoreExpr{ - pos: position{line: 1492, col: 5, offset: 48929}, - expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, - run: (*parser).callonExtraListElement510, - expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + &actionExpr{ + pos: position{line: 1539, col: 13, offset: 50452}, + run: (*parser).callonListElements282, + expr: &seqExpr{ + pos: position{line: 1539, col: 13, offset: 50452}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 1539, col: 14, offset: 50453}, + val: "[a-z]", + ranges: []rune{'a', 'z'}, ignoreCase: false, inverted: false, }, - }, - }, - &labeledExpr{ - pos: position{line: 1492, col: 12, offset: 48936}, - label: "prefix", - expr: &choiceExpr{ - pos: position{line: 1494, col: 9, offset: 48999}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 1494, col: 9, offset: 48999}, - run: (*parser).callonExtraListElement514, - expr: &seqExpr{ - pos: position{line: 1494, col: 9, offset: 48999}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 1494, col: 9, offset: 48999}, - label: "depth", - expr: &actionExpr{ - pos: position{line: 1494, col: 16, offset: 49006}, - run: (*parser).callonExtraListElement517, - expr: &oneOrMoreExpr{ - pos: position{line: 1494, col: 16, offset: 49006}, - expr: &litMatcher{ - pos: position{line: 1494, col: 17, offset: 49007}, - val: ".", - ignoreCase: false, - want: "\".\"", - }, - }, - }, - }, - &andCodeExpr{ - pos: position{line: 1498, col: 9, offset: 49107}, - run: (*parser).callonExtraListElement520, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 1517, col: 11, offset: 49824}, - run: (*parser).callonExtraListElement521, - expr: &seqExpr{ - pos: position{line: 1517, col: 11, offset: 49824}, - exprs: []interface{}{ - &oneOrMoreExpr{ - pos: position{line: 1517, col: 11, offset: 49824}, - expr: &charClassMatcher{ - pos: position{line: 1517, col: 12, offset: 49825}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - &litMatcher{ - pos: position{line: 1517, col: 20, offset: 49833}, - val: ".", - ignoreCase: false, - want: "\".\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 1519, col: 13, offset: 49950}, - run: (*parser).callonExtraListElement526, - expr: &seqExpr{ - pos: position{line: 1519, col: 13, offset: 49950}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 1519, col: 14, offset: 49951}, - val: "[a-z]", - ranges: []rune{'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - &litMatcher{ - pos: position{line: 1519, col: 21, offset: 49958}, - val: ".", - ignoreCase: false, - want: "\".\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 1521, col: 13, offset: 50078}, - run: (*parser).callonExtraListElement530, - expr: &seqExpr{ - pos: position{line: 1521, col: 13, offset: 50078}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 1521, col: 14, offset: 50079}, - val: "[A-Z]", - ranges: []rune{'A', 'Z'}, - ignoreCase: false, - inverted: false, - }, - &litMatcher{ - pos: position{line: 1521, col: 21, offset: 50086}, - val: ".", - ignoreCase: false, - want: "\".\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 1523, col: 13, offset: 50206}, - run: (*parser).callonExtraListElement534, - expr: &seqExpr{ - pos: position{line: 1523, col: 13, offset: 50206}, - exprs: []interface{}{ - &oneOrMoreExpr{ - pos: position{line: 1523, col: 13, offset: 50206}, - expr: &charClassMatcher{ - pos: position{line: 1523, col: 14, offset: 50207}, - val: "[ivxdlcm]", - chars: []rune{'i', 'v', 'x', 'd', 'l', 'c', 'm'}, - ignoreCase: false, - inverted: false, - }, - }, - &litMatcher{ - pos: position{line: 1523, col: 26, offset: 50219}, - val: ")", - ignoreCase: false, - want: "\")\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 1525, col: 13, offset: 50339}, - run: (*parser).callonExtraListElement539, - expr: &seqExpr{ - pos: position{line: 1525, col: 13, offset: 50339}, - exprs: []interface{}{ - &oneOrMoreExpr{ - pos: position{line: 1525, col: 13, offset: 50339}, - expr: &charClassMatcher{ - pos: position{line: 1525, col: 14, offset: 50340}, - val: "[IVXDLCM]", - chars: []rune{'I', 'V', 'X', 'D', 'L', 'C', 'M'}, - ignoreCase: false, - inverted: false, - }, - }, - &litMatcher{ - pos: position{line: 1525, col: 26, offset: 50352}, - val: ")", - ignoreCase: false, - want: "\")\"", - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2903, col: 11, offset: 96254}, - run: (*parser).callonExtraListElement544, - expr: &oneOrMoreExpr{ - pos: position{line: 2903, col: 11, offset: 96254}, - expr: &charClassMatcher{ - pos: position{line: 2903, col: 12, offset: 96255}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + &litMatcher{ + pos: position{line: 1539, col: 21, offset: 50460}, + val: ".", ignoreCase: false, - inverted: false, + want: "\".\"", }, }, }, }, - }, - }, - }, - ¬Expr{ - pos: position{line: 1413, col: 9, offset: 46568}, - expr: &actionExpr{ - pos: position{line: 1542, col: 5, offset: 50891}, - run: (*parser).callonExtraListElement548, - expr: &seqExpr{ - pos: position{line: 1542, col: 5, offset: 50891}, - exprs: []interface{}{ - &zeroOrMoreExpr{ - pos: position{line: 1542, col: 5, offset: 50891}, - expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, - run: (*parser).callonExtraListElement551, - expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + &actionExpr{ + pos: position{line: 1541, col: 13, offset: 50580}, + run: (*parser).callonListElements286, + expr: &seqExpr{ + pos: position{line: 1541, col: 13, offset: 50580}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 1541, col: 14, offset: 50581}, + val: "[A-Z]", + ranges: []rune{'A', 'Z'}, ignoreCase: false, inverted: false, }, + &litMatcher{ + pos: position{line: 1541, col: 21, offset: 50588}, + val: ".", + ignoreCase: false, + want: "\".\"", + }, }, }, - &labeledExpr{ - pos: position{line: 1542, col: 12, offset: 50898}, - label: "prefix", - expr: &choiceExpr{ - pos: position{line: 1542, col: 20, offset: 50906}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 1544, col: 9, offset: 50963}, - run: (*parser).callonExtraListElement555, - expr: &seqExpr{ - pos: position{line: 1544, col: 9, offset: 50963}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 1544, col: 9, offset: 50963}, - label: "depth", - expr: &actionExpr{ - pos: position{line: 1544, col: 16, offset: 50970}, - run: (*parser).callonExtraListElement558, - expr: &oneOrMoreExpr{ - pos: position{line: 1544, col: 16, offset: 50970}, - expr: &litMatcher{ - pos: position{line: 1544, col: 17, offset: 50971}, - val: "*", - ignoreCase: false, - want: "\"*\"", - }, - }, - }, - }, - &andCodeExpr{ - pos: position{line: 1548, col: 9, offset: 51071}, - run: (*parser).callonExtraListElement561, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 1565, col: 14, offset: 51778}, - label: "depth", - expr: &actionExpr{ - pos: position{line: 1565, col: 21, offset: 51785}, - run: (*parser).callonExtraListElement563, - expr: &litMatcher{ - pos: position{line: 1565, col: 22, offset: 51786}, - val: "-", - ignoreCase: false, - want: "\"-\"", - }, - }, + }, + &actionExpr{ + pos: position{line: 1543, col: 13, offset: 50708}, + run: (*parser).callonListElements290, + expr: &seqExpr{ + pos: position{line: 1543, col: 13, offset: 50708}, + exprs: []interface{}{ + &oneOrMoreExpr{ + pos: position{line: 1543, col: 13, offset: 50708}, + expr: &charClassMatcher{ + pos: position{line: 1543, col: 14, offset: 50709}, + val: "[ivxdlcm]", + chars: []rune{'i', 'v', 'x', 'd', 'l', 'c', 'm'}, + ignoreCase: false, + inverted: false, }, }, - }, - }, - &actionExpr{ - pos: position{line: 2903, col: 11, offset: 96254}, - run: (*parser).callonExtraListElement565, - expr: &oneOrMoreExpr{ - pos: position{line: 2903, col: 11, offset: 96254}, - expr: &charClassMatcher{ - pos: position{line: 2903, col: 12, offset: 96255}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + &litMatcher{ + pos: position{line: 1543, col: 26, offset: 50721}, + val: ")", ignoreCase: false, - inverted: false, + want: "\")\"", }, }, }, }, - }, - }, - }, - ¬Expr{ - pos: position{line: 1414, col: 9, offset: 46604}, - expr: &actionExpr{ - pos: position{line: 1648, col: 5, offset: 54128}, - run: (*parser).callonExtraListElement569, - expr: &seqExpr{ - pos: position{line: 1648, col: 5, offset: 54128}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 1648, col: 5, offset: 54128}, - val: "<", - ignoreCase: false, - want: "\"<\"", - }, - &labeledExpr{ - pos: position{line: 1648, col: 9, offset: 54132}, - label: "ref", - expr: &actionExpr{ - pos: position{line: 1648, col: 14, offset: 54137}, - run: (*parser).callonExtraListElement573, - expr: &oneOrMoreExpr{ - pos: position{line: 1648, col: 14, offset: 54137}, + &actionExpr{ + pos: position{line: 1545, col: 13, offset: 50841}, + run: (*parser).callonListElements295, + expr: &seqExpr{ + pos: position{line: 1545, col: 13, offset: 50841}, + exprs: []interface{}{ + &oneOrMoreExpr{ + pos: position{line: 1545, col: 13, offset: 50841}, expr: &charClassMatcher{ - pos: position{line: 1648, col: 14, offset: 54137}, - val: "[0-9]", - ranges: []rune{'0', '9'}, + pos: position{line: 1545, col: 14, offset: 50842}, + val: "[IVXDLCM]", + chars: []rune{'I', 'V', 'X', 'D', 'L', 'C', 'M'}, ignoreCase: false, inverted: false, }, }, - }, - }, - &litMatcher{ - pos: position{line: 1648, col: 62, offset: 54185}, - val: ">", - ignoreCase: false, - want: "\">\"", - }, - &actionExpr{ - pos: position{line: 2903, col: 11, offset: 96254}, - run: (*parser).callonExtraListElement577, - expr: &oneOrMoreExpr{ - pos: position{line: 2903, col: 11, offset: 96254}, - expr: &charClassMatcher{ - pos: position{line: 2903, col: 12, offset: 96255}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + &litMatcher{ + pos: position{line: 1545, col: 26, offset: 50854}, + val: ")", ignoreCase: false, - inverted: false, + want: "\")\"", }, }, }, @@ -28327,930 +28172,1093 @@ var g = &grammar{ }, }, }, - ¬Expr{ - pos: position{line: 1415, col: 9, offset: 46638}, - expr: &seqExpr{ - pos: position{line: 1415, col: 11, offset: 46640}, - exprs: []interface{}{ - &actionExpr{ - pos: position{line: 1592, col: 5, offset: 52506}, - run: (*parser).callonExtraListElement582, - expr: &oneOrMoreExpr{ - pos: position{line: 1592, col: 5, offset: 52506}, - expr: &seqExpr{ - pos: position{line: 1592, col: 6, offset: 52507}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 1592, col: 6, offset: 52507}, - expr: &actionExpr{ - pos: position{line: 1597, col: 5, offset: 52657}, - run: (*parser).callonExtraListElement586, - expr: &seqExpr{ - pos: position{line: 1597, col: 5, offset: 52657}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 1597, col: 5, offset: 52657}, - label: "separator", - expr: &actionExpr{ - pos: position{line: 1597, col: 16, offset: 52668}, - run: (*parser).callonExtraListElement589, - expr: &oneOrMoreExpr{ - pos: position{line: 1597, col: 16, offset: 52668}, - expr: &litMatcher{ - pos: position{line: 1597, col: 17, offset: 52669}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - }, - }, - }, - &andCodeExpr{ - pos: position{line: 1600, col: 5, offset: 52726}, - run: (*parser).callonExtraListElement592, - }, - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 1592, col: 35, offset: 52536}, - expr: &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, - run: (*parser).callonExtraListElement595, - expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, - expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, - }, - }, - }, - }, - }, - &anyMatcher{ - line: 1592, col: 40, offset: 52541, - }, - }, - }, - }, - }, + &actionExpr{ + pos: position{line: 3062, col: 11, offset: 99678}, + run: (*parser).callonListElements300, + expr: &oneOrMoreExpr{ + pos: position{line: 3062, col: 11, offset: 99678}, + expr: &charClassMatcher{ + pos: position{line: 3062, col: 12, offset: 99679}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 1433, col: 9, offset: 47070}, + expr: &actionExpr{ + pos: position{line: 1562, col: 5, offset: 51393}, + run: (*parser).callonListElements304, + expr: &seqExpr{ + pos: position{line: 1562, col: 5, offset: 51393}, + exprs: []interface{}{ + &zeroOrMoreExpr{ + pos: position{line: 1562, col: 5, offset: 51393}, + expr: &actionExpr{ + pos: position{line: 3058, col: 10, offset: 99611}, + run: (*parser).callonListElements307, + expr: &charClassMatcher{ + pos: position{line: 3058, col: 11, offset: 99612}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1562, col: 12, offset: 51400}, + label: "prefix", + expr: &choiceExpr{ + pos: position{line: 1562, col: 20, offset: 51408}, + alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1597, col: 5, offset: 52657}, - run: (*parser).callonExtraListElement603, + pos: position{line: 1564, col: 9, offset: 51465}, + run: (*parser).callonListElements311, expr: &seqExpr{ - pos: position{line: 1597, col: 5, offset: 52657}, + pos: position{line: 1564, col: 9, offset: 51465}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1597, col: 5, offset: 52657}, - label: "separator", + pos: position{line: 1564, col: 9, offset: 51465}, + label: "depth", expr: &actionExpr{ - pos: position{line: 1597, col: 16, offset: 52668}, - run: (*parser).callonExtraListElement606, + pos: position{line: 1564, col: 16, offset: 51472}, + run: (*parser).callonListElements314, expr: &oneOrMoreExpr{ - pos: position{line: 1597, col: 16, offset: 52668}, + pos: position{line: 1564, col: 16, offset: 51472}, expr: &litMatcher{ - pos: position{line: 1597, col: 17, offset: 52669}, - val: ":", + pos: position{line: 1564, col: 17, offset: 51473}, + val: "*", ignoreCase: false, - want: "\":\"", + want: "\"*\"", }, }, }, }, &andCodeExpr{ - pos: position{line: 1600, col: 5, offset: 52726}, - run: (*parser).callonExtraListElement609, + pos: position{line: 1568, col: 9, offset: 51573}, + run: (*parser).callonListElements317, }, }, }, }, + &labeledExpr{ + pos: position{line: 1585, col: 14, offset: 52280}, + label: "depth", + expr: &actionExpr{ + pos: position{line: 1585, col: 21, offset: 52287}, + run: (*parser).callonListElements319, + expr: &litMatcher{ + pos: position{line: 1585, col: 22, offset: 52288}, + val: "-", + ignoreCase: false, + want: "\"-\"", + }, + }, + }, }, }, }, - ¬Expr{ - pos: position{line: 1416, col: 9, offset: 46700}, + &actionExpr{ + pos: position{line: 3062, col: 11, offset: 99678}, + run: (*parser).callonListElements321, + expr: &oneOrMoreExpr{ + pos: position{line: 3062, col: 11, offset: 99678}, + expr: &charClassMatcher{ + pos: position{line: 3062, col: 12, offset: 99679}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 1434, col: 9, offset: 47106}, + expr: &actionExpr{ + pos: position{line: 1668, col: 5, offset: 54630}, + run: (*parser).callonListElements325, + expr: &seqExpr{ + pos: position{line: 1668, col: 5, offset: 54630}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1668, col: 5, offset: 54630}, + val: "<", + ignoreCase: false, + want: "\"<\"", + }, + &labeledExpr{ + pos: position{line: 1668, col: 9, offset: 54634}, + label: "ref", expr: &actionExpr{ - pos: position{line: 731, col: 5, offset: 23680}, - run: (*parser).callonExtraListElement611, - expr: &seqExpr{ - pos: position{line: 731, col: 5, offset: 23680}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 731, col: 5, offset: 23680}, - expr: &charClassMatcher{ - pos: position{line: 2813, col: 13, offset: 93503}, - val: "[0-9\\pL]", - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, + pos: position{line: 1668, col: 14, offset: 54639}, + run: (*parser).callonListElements329, + expr: &oneOrMoreExpr{ + pos: position{line: 1668, col: 14, offset: 54639}, + expr: &charClassMatcher{ + pos: position{line: 1668, col: 14, offset: 54639}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 1668, col: 62, offset: 54687}, + val: ">", + ignoreCase: false, + want: "\">\"", + }, + &actionExpr{ + pos: position{line: 3062, col: 11, offset: 99678}, + run: (*parser).callonListElements333, + expr: &oneOrMoreExpr{ + pos: position{line: 3062, col: 11, offset: 99678}, + expr: &charClassMatcher{ + pos: position{line: 3062, col: 12, offset: 99679}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 1435, col: 9, offset: 47140}, + expr: &seqExpr{ + pos: position{line: 1435, col: 11, offset: 47142}, + exprs: []interface{}{ + &actionExpr{ + pos: position{line: 1612, col: 5, offset: 53008}, + run: (*parser).callonListElements338, + expr: &oneOrMoreExpr{ + pos: position{line: 1612, col: 5, offset: 53008}, + expr: &seqExpr{ + pos: position{line: 1612, col: 6, offset: 53009}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 1612, col: 6, offset: 53009}, + expr: &actionExpr{ + pos: position{line: 1617, col: 5, offset: 53159}, + run: (*parser).callonListElements342, + expr: &seqExpr{ + pos: position{line: 1617, col: 5, offset: 53159}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1617, col: 5, offset: 53159}, + label: "separator", + expr: &actionExpr{ + pos: position{line: 1617, col: 16, offset: 53170}, + run: (*parser).callonListElements345, + expr: &oneOrMoreExpr{ + pos: position{line: 1617, col: 16, offset: 53170}, + expr: &litMatcher{ + pos: position{line: 1617, col: 17, offset: 53171}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 1620, col: 5, offset: 53228}, + run: (*parser).callonListElements348, + }, + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 1612, col: 35, offset: 53038}, + expr: &choiceExpr{ + pos: position{line: 3074, col: 8, offset: 99935}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3067, col: 12, offset: 99795}, + run: (*parser).callonListElements351, + expr: &choiceExpr{ + pos: position{line: 3067, col: 13, offset: 99796}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3067, col: 13, offset: 99796}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3067, col: 20, offset: 99803}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3067, col: 29, offset: 99812}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3071, col: 8, offset: 99885}, + expr: &anyMatcher{ + line: 3071, col: 9, offset: 99886, + }, + }, + }, + }, + }, + &anyMatcher{ + line: 1612, col: 40, offset: 53043, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1617, col: 5, offset: 53159}, + run: (*parser).callonListElements359, + expr: &seqExpr{ + pos: position{line: 1617, col: 5, offset: 53159}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1617, col: 5, offset: 53159}, + label: "separator", + expr: &actionExpr{ + pos: position{line: 1617, col: 16, offset: 53170}, + run: (*parser).callonListElements362, + expr: &oneOrMoreExpr{ + pos: position{line: 1617, col: 16, offset: 53170}, + expr: &litMatcher{ + pos: position{line: 1617, col: 17, offset: 53171}, + val: ":", ignoreCase: false, - inverted: false, + want: "\":\"", }, }, - &labeledExpr{ - pos: position{line: 732, col: 5, offset: 23710}, - label: "delimiter", - expr: &choiceExpr{ - pos: position{line: 733, col: 9, offset: 23730}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 746, col: 26, offset: 24217}, - run: (*parser).callonExtraListElement617, - expr: &seqExpr{ - pos: position{line: 746, col: 26, offset: 24217}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 746, col: 26, offset: 24217}, - val: "////", - ignoreCase: false, - want: "\"////\"", - }, - &zeroOrMoreExpr{ - pos: position{line: 746, col: 33, offset: 24224}, - expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, - run: (*parser).callonExtraListElement621, - expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, + }, + }, + &andCodeExpr{ + pos: position{line: 1620, col: 5, offset: 53228}, + run: (*parser).callonListElements365, + }, + }, + }, + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 1436, col: 9, offset: 47202}, + expr: &actionExpr{ + pos: position{line: 729, col: 5, offset: 23543}, + run: (*parser).callonListElements367, + expr: &seqExpr{ + pos: position{line: 729, col: 5, offset: 23543}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 729, col: 5, offset: 23543}, + expr: &charClassMatcher{ + pos: position{line: 2972, col: 13, offset: 96927}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + &labeledExpr{ + pos: position{line: 730, col: 5, offset: 23573}, + label: "delimiter", + expr: &choiceExpr{ + pos: position{line: 731, col: 9, offset: 23593}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 744, col: 26, offset: 24080}, + run: (*parser).callonListElements373, + expr: &seqExpr{ + pos: position{line: 744, col: 26, offset: 24080}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 744, col: 26, offset: 24080}, + val: "////", + ignoreCase: false, + want: "\"////\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 744, col: 33, offset: 24087}, + expr: &actionExpr{ + pos: position{line: 3058, col: 10, offset: 99611}, + run: (*parser).callonListElements377, + expr: &charClassMatcher{ + pos: position{line: 3058, col: 11, offset: 99612}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3074, col: 8, offset: 99935}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3067, col: 12, offset: 99795}, + run: (*parser).callonListElements380, + expr: &choiceExpr{ + pos: position{line: 3067, col: 13, offset: 99796}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3067, col: 13, offset: 99796}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", }, - }, - &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, - run: (*parser).callonExtraListElement624, - expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, - expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, - }, - }, + &litMatcher{ + pos: position{line: 3067, col: 20, offset: 99803}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3067, col: 29, offset: 99812}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", }, }, }, }, + ¬Expr{ + pos: position{line: 3071, col: 8, offset: 99885}, + expr: &anyMatcher{ + line: 3071, col: 9, offset: 99886, + }, + }, }, - &actionExpr{ - pos: position{line: 750, col: 26, offset: 24331}, - run: (*parser).callonExtraListElement631, - expr: &seqExpr{ - pos: position{line: 750, col: 26, offset: 24331}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 750, col: 26, offset: 24331}, - val: "====", - ignoreCase: false, - want: "\"====\"", - }, - &zeroOrMoreExpr{ - pos: position{line: 750, col: 33, offset: 24338}, - expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, - run: (*parser).callonExtraListElement635, - expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 748, col: 26, offset: 24194}, + run: (*parser).callonListElements387, + expr: &seqExpr{ + pos: position{line: 748, col: 26, offset: 24194}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 748, col: 26, offset: 24194}, + val: "====", + ignoreCase: false, + want: "\"====\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 748, col: 33, offset: 24201}, + expr: &actionExpr{ + pos: position{line: 3058, col: 10, offset: 99611}, + run: (*parser).callonListElements391, + expr: &charClassMatcher{ + pos: position{line: 3058, col: 11, offset: 99612}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3074, col: 8, offset: 99935}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3067, col: 12, offset: 99795}, + run: (*parser).callonListElements394, + expr: &choiceExpr{ + pos: position{line: 3067, col: 13, offset: 99796}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3067, col: 13, offset: 99796}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", }, - }, - &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, - run: (*parser).callonExtraListElement638, - expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, - expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, - }, - }, + &litMatcher{ + pos: position{line: 3067, col: 20, offset: 99803}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3067, col: 29, offset: 99812}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", }, }, }, }, + ¬Expr{ + pos: position{line: 3071, col: 8, offset: 99885}, + expr: &anyMatcher{ + line: 3071, col: 9, offset: 99886, + }, + }, }, - &actionExpr{ - pos: position{line: 758, col: 26, offset: 24556}, - run: (*parser).callonExtraListElement645, - expr: &seqExpr{ - pos: position{line: 758, col: 26, offset: 24556}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 758, col: 26, offset: 24556}, - val: "```", - ignoreCase: false, - want: "\"```\"", - }, - &labeledExpr{ - pos: position{line: 758, col: 32, offset: 24562}, - label: "language", - expr: &actionExpr{ - pos: position{line: 762, col: 13, offset: 24692}, - run: (*parser).callonExtraListElement649, - expr: &oneOrMoreExpr{ - pos: position{line: 762, col: 14, offset: 24693}, - expr: &charClassMatcher{ - pos: position{line: 762, col: 14, offset: 24693}, - val: "[^\\r\\n ]", - chars: []rune{'\r', '\n', ' '}, - ignoreCase: false, - inverted: true, - }, - }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 756, col: 26, offset: 24419}, + run: (*parser).callonListElements401, + expr: &seqExpr{ + pos: position{line: 756, col: 26, offset: 24419}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 756, col: 26, offset: 24419}, + val: "```", + ignoreCase: false, + want: "\"```\"", + }, + &labeledExpr{ + pos: position{line: 756, col: 32, offset: 24425}, + label: "language", + expr: &actionExpr{ + pos: position{line: 760, col: 13, offset: 24555}, + run: (*parser).callonListElements405, + expr: &oneOrMoreExpr{ + pos: position{line: 760, col: 14, offset: 24556}, + expr: &charClassMatcher{ + pos: position{line: 760, col: 14, offset: 24556}, + val: "[^\\r\\n ]", + chars: []rune{'\r', '\n', ' '}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 756, col: 52, offset: 24445}, + expr: &actionExpr{ + pos: position{line: 3058, col: 10, offset: 99611}, + run: (*parser).callonListElements409, + expr: &charClassMatcher{ + pos: position{line: 3058, col: 11, offset: 99612}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3074, col: 8, offset: 99935}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3067, col: 12, offset: 99795}, + run: (*parser).callonListElements412, + expr: &choiceExpr{ + pos: position{line: 3067, col: 13, offset: 99796}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3067, col: 13, offset: 99796}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", }, - }, - &zeroOrMoreExpr{ - pos: position{line: 758, col: 52, offset: 24582}, - expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, - run: (*parser).callonExtraListElement653, - expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, + &litMatcher{ + pos: position{line: 3067, col: 20, offset: 99803}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", }, - }, - &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, - run: (*parser).callonExtraListElement656, - expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, - expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, - }, - }, + &litMatcher{ + pos: position{line: 3067, col: 29, offset: 99812}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", }, }, }, }, + ¬Expr{ + pos: position{line: 3071, col: 8, offset: 99885}, + expr: &anyMatcher{ + line: 3071, col: 9, offset: 99886, + }, + }, }, - &actionExpr{ - pos: position{line: 754, col: 25, offset: 24444}, - run: (*parser).callonExtraListElement663, - expr: &seqExpr{ - pos: position{line: 754, col: 25, offset: 24444}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 754, col: 25, offset: 24444}, - val: "```", - ignoreCase: false, - want: "\"```\"", - }, - &zeroOrMoreExpr{ - pos: position{line: 754, col: 31, offset: 24450}, - expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, - run: (*parser).callonExtraListElement667, - expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, - run: (*parser).callonExtraListElement670, - expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, - expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, - }, - }, - }, - }, - }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 752, col: 25, offset: 24307}, + run: (*parser).callonListElements419, + expr: &seqExpr{ + pos: position{line: 752, col: 25, offset: 24307}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 752, col: 25, offset: 24307}, + val: "```", + ignoreCase: false, + want: "\"```\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 752, col: 31, offset: 24313}, + expr: &actionExpr{ + pos: position{line: 3058, col: 10, offset: 99611}, + run: (*parser).callonListElements423, + expr: &charClassMatcher{ + pos: position{line: 3058, col: 11, offset: 99612}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, }, }, - &actionExpr{ - pos: position{line: 766, col: 26, offset: 24765}, - run: (*parser).callonExtraListElement677, - expr: &seqExpr{ - pos: position{line: 766, col: 26, offset: 24765}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 766, col: 26, offset: 24765}, - val: "----", - ignoreCase: false, - want: "\"----\"", - }, - &zeroOrMoreExpr{ - pos: position{line: 766, col: 33, offset: 24772}, - expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, - run: (*parser).callonExtraListElement681, - expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, + }, + &choiceExpr{ + pos: position{line: 3074, col: 8, offset: 99935}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3067, col: 12, offset: 99795}, + run: (*parser).callonListElements426, + expr: &choiceExpr{ + pos: position{line: 3067, col: 13, offset: 99796}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3067, col: 13, offset: 99796}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", }, - }, - &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, - run: (*parser).callonExtraListElement684, - expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, - expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, - }, - }, + &litMatcher{ + pos: position{line: 3067, col: 20, offset: 99803}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3067, col: 29, offset: 99812}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", }, }, }, }, + ¬Expr{ + pos: position{line: 3071, col: 8, offset: 99885}, + expr: &anyMatcher{ + line: 3071, col: 9, offset: 99886, + }, + }, }, - &actionExpr{ - pos: position{line: 770, col: 26, offset: 24879}, - run: (*parser).callonExtraListElement691, - expr: &seqExpr{ - pos: position{line: 770, col: 26, offset: 24879}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 770, col: 26, offset: 24879}, - val: "....", - ignoreCase: false, - want: "\"....\"", - }, - &zeroOrMoreExpr{ - pos: position{line: 770, col: 33, offset: 24886}, - expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, - run: (*parser).callonExtraListElement695, - expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 764, col: 26, offset: 24628}, + run: (*parser).callonListElements433, + expr: &seqExpr{ + pos: position{line: 764, col: 26, offset: 24628}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 764, col: 26, offset: 24628}, + val: "----", + ignoreCase: false, + want: "\"----\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 764, col: 33, offset: 24635}, + expr: &actionExpr{ + pos: position{line: 3058, col: 10, offset: 99611}, + run: (*parser).callonListElements437, + expr: &charClassMatcher{ + pos: position{line: 3058, col: 11, offset: 99612}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3074, col: 8, offset: 99935}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3067, col: 12, offset: 99795}, + run: (*parser).callonListElements440, + expr: &choiceExpr{ + pos: position{line: 3067, col: 13, offset: 99796}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3067, col: 13, offset: 99796}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", }, - }, - &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, - run: (*parser).callonExtraListElement698, - expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, - expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, - }, - }, + &litMatcher{ + pos: position{line: 3067, col: 20, offset: 99803}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3067, col: 29, offset: 99812}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", }, }, }, }, + ¬Expr{ + pos: position{line: 3071, col: 8, offset: 99885}, + expr: &anyMatcher{ + line: 3071, col: 9, offset: 99886, + }, + }, }, - &actionExpr{ - pos: position{line: 774, col: 30, offset: 24997}, - run: (*parser).callonExtraListElement705, - expr: &seqExpr{ - pos: position{line: 774, col: 30, offset: 24997}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 774, col: 30, offset: 24997}, - val: "++++", - ignoreCase: false, - want: "\"++++\"", - }, - &zeroOrMoreExpr{ - pos: position{line: 774, col: 37, offset: 25004}, - expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, - run: (*parser).callonExtraListElement709, - expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 768, col: 26, offset: 24742}, + run: (*parser).callonListElements447, + expr: &seqExpr{ + pos: position{line: 768, col: 26, offset: 24742}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 768, col: 26, offset: 24742}, + val: "....", + ignoreCase: false, + want: "\"....\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 768, col: 33, offset: 24749}, + expr: &actionExpr{ + pos: position{line: 3058, col: 10, offset: 99611}, + run: (*parser).callonListElements451, + expr: &charClassMatcher{ + pos: position{line: 3058, col: 11, offset: 99612}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3074, col: 8, offset: 99935}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3067, col: 12, offset: 99795}, + run: (*parser).callonListElements454, + expr: &choiceExpr{ + pos: position{line: 3067, col: 13, offset: 99796}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3067, col: 13, offset: 99796}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", }, - }, - &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, - run: (*parser).callonExtraListElement712, - expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, - expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, - }, - }, + &litMatcher{ + pos: position{line: 3067, col: 20, offset: 99803}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3067, col: 29, offset: 99812}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", }, }, }, }, + ¬Expr{ + pos: position{line: 3071, col: 8, offset: 99885}, + expr: &anyMatcher{ + line: 3071, col: 9, offset: 99886, + }, + }, }, - &actionExpr{ - pos: position{line: 778, col: 24, offset: 25113}, - run: (*parser).callonExtraListElement719, - expr: &seqExpr{ - pos: position{line: 778, col: 24, offset: 25113}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 778, col: 24, offset: 25113}, - val: "____", - ignoreCase: false, - want: "\"____\"", - }, - &zeroOrMoreExpr{ - pos: position{line: 778, col: 31, offset: 25120}, - expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, - run: (*parser).callonExtraListElement723, - expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 772, col: 30, offset: 24860}, + run: (*parser).callonListElements461, + expr: &seqExpr{ + pos: position{line: 772, col: 30, offset: 24860}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 772, col: 30, offset: 24860}, + val: "++++", + ignoreCase: false, + want: "\"++++\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 772, col: 37, offset: 24867}, + expr: &actionExpr{ + pos: position{line: 3058, col: 10, offset: 99611}, + run: (*parser).callonListElements465, + expr: &charClassMatcher{ + pos: position{line: 3058, col: 11, offset: 99612}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3074, col: 8, offset: 99935}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3067, col: 12, offset: 99795}, + run: (*parser).callonListElements468, + expr: &choiceExpr{ + pos: position{line: 3067, col: 13, offset: 99796}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3067, col: 13, offset: 99796}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", }, - }, - &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, - run: (*parser).callonExtraListElement726, - expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, - expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, - }, - }, + &litMatcher{ + pos: position{line: 3067, col: 20, offset: 99803}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3067, col: 29, offset: 99812}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", }, }, }, }, + ¬Expr{ + pos: position{line: 3071, col: 8, offset: 99885}, + expr: &anyMatcher{ + line: 3071, col: 9, offset: 99886, + }, + }, }, - &actionExpr{ - pos: position{line: 782, col: 26, offset: 25225}, - run: (*parser).callonExtraListElement733, - expr: &seqExpr{ - pos: position{line: 782, col: 26, offset: 25225}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 782, col: 26, offset: 25225}, - val: "****", - ignoreCase: false, - want: "\"****\"", - }, - &zeroOrMoreExpr{ - pos: position{line: 782, col: 33, offset: 25232}, - expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, - run: (*parser).callonExtraListElement737, - expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 776, col: 24, offset: 24976}, + run: (*parser).callonListElements475, + expr: &seqExpr{ + pos: position{line: 776, col: 24, offset: 24976}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 776, col: 24, offset: 24976}, + val: "____", + ignoreCase: false, + want: "\"____\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 776, col: 31, offset: 24983}, + expr: &actionExpr{ + pos: position{line: 3058, col: 10, offset: 99611}, + run: (*parser).callonListElements479, + expr: &charClassMatcher{ + pos: position{line: 3058, col: 11, offset: 99612}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3074, col: 8, offset: 99935}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3067, col: 12, offset: 99795}, + run: (*parser).callonListElements482, + expr: &choiceExpr{ + pos: position{line: 3067, col: 13, offset: 99796}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3067, col: 13, offset: 99796}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", }, - }, - &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, - run: (*parser).callonExtraListElement740, - expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, - expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, - }, - }, + &litMatcher{ + pos: position{line: 3067, col: 20, offset: 99803}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3067, col: 29, offset: 99812}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", }, }, }, }, + ¬Expr{ + pos: position{line: 3071, col: 8, offset: 99885}, + expr: &anyMatcher{ + line: 3071, col: 9, offset: 99886, + }, + }, }, }, }, }, }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 1417, col: 9, offset: 46724}, - label: "content", - expr: &actionExpr{ - pos: position{line: 1417, col: 18, offset: 46733}, - run: (*parser).callonExtraListElement748, - expr: &oneOrMoreExpr{ - pos: position{line: 1417, col: 18, offset: 46733}, - expr: &charClassMatcher{ - pos: position{line: 1417, col: 18, offset: 46733}, - val: "[^\\r\\n]", - chars: []rune{'\r', '\n'}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, - run: (*parser).callonExtraListElement752, - expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", + &actionExpr{ + pos: position{line: 780, col: 26, offset: 25088}, + run: (*parser).callonListElements489, + expr: &seqExpr{ + pos: position{line: 780, col: 26, offset: 25088}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 780, col: 26, offset: 25088}, + val: "****", + ignoreCase: false, + want: "\"****\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 780, col: 33, offset: 25095}, + expr: &actionExpr{ + pos: position{line: 3058, col: 10, offset: 99611}, + run: (*parser).callonListElements493, + expr: &charClassMatcher{ + pos: position{line: 3058, col: 11, offset: 99612}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3074, col: 8, offset: 99935}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3067, col: 12, offset: 99795}, + run: (*parser).callonListElements496, + expr: &choiceExpr{ + pos: position{line: 3067, col: 13, offset: 99796}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3067, col: 13, offset: 99796}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3067, col: 20, offset: 99803}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3067, col: 29, offset: 99812}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3071, col: 8, offset: 99885}, + expr: &anyMatcher{ + line: 3071, col: 9, offset: 99886, + }, + }, + }, + }, }, }, }, }, - ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, - expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, - }, - }, }, }, }, }, }, }, + &labeledExpr{ + pos: position{line: 1437, col: 9, offset: 47226}, + label: "content", + expr: &actionExpr{ + pos: position{line: 1437, col: 18, offset: 47235}, + run: (*parser).callonListElements504, + expr: &oneOrMoreExpr{ + pos: position{line: 1437, col: 18, offset: 47235}, + expr: &charClassMatcher{ + pos: position{line: 1437, col: 18, offset: 47235}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3074, col: 8, offset: 99935}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3067, col: 12, offset: 99795}, + run: (*parser).callonListElements508, + expr: &choiceExpr{ + pos: position{line: 3067, col: 13, offset: 99796}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3067, col: 13, offset: 99796}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3067, col: 20, offset: 99803}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3067, col: 29, offset: 99812}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3071, col: 8, offset: 99885}, + expr: &anyMatcher{ + line: 3071, col: 9, offset: 99886, + }, + }, + }, + }, }, }, }, }, }, }, - &actionExpr{ - pos: position{line: 1620, col: 9, offset: 53324}, - run: (*parser).callonExtraListElement759, - expr: &seqExpr{ - pos: position{line: 1620, col: 9, offset: 53324}, - exprs: []interface{}{ - &actionExpr{ - pos: position{line: 2903, col: 11, offset: 96254}, - run: (*parser).callonExtraListElement761, - expr: &oneOrMoreExpr{ - pos: position{line: 2903, col: 11, offset: 96254}, - expr: &charClassMatcher{ - pos: position{line: 2903, col: 12, offset: 96255}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1640, col: 9, offset: 53826}, + run: (*parser).callonListElements515, + expr: &seqExpr{ + pos: position{line: 1640, col: 9, offset: 53826}, + exprs: []interface{}{ + &actionExpr{ + pos: position{line: 3062, col: 11, offset: 99678}, + run: (*parser).callonListElements517, + expr: &oneOrMoreExpr{ + pos: position{line: 3062, col: 11, offset: 99678}, + expr: &charClassMatcher{ + pos: position{line: 3062, col: 12, offset: 99679}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1641, col: 9, offset: 53878}, + label: "content", + expr: &actionExpr{ + pos: position{line: 1641, col: 18, offset: 53887}, + run: (*parser).callonListElements521, + expr: &oneOrMoreExpr{ + pos: position{line: 1641, col: 18, offset: 53887}, + expr: &charClassMatcher{ + pos: position{line: 1641, col: 18, offset: 53887}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3074, col: 8, offset: 99935}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3067, col: 12, offset: 99795}, + run: (*parser).callonListElements525, + expr: &choiceExpr{ + pos: position{line: 3067, col: 13, offset: 99796}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3067, col: 13, offset: 99796}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", }, - }, - &labeledExpr{ - pos: position{line: 1621, col: 9, offset: 53376}, - label: "content", - expr: &actionExpr{ - pos: position{line: 1621, col: 18, offset: 53385}, - run: (*parser).callonExtraListElement765, - expr: &oneOrMoreExpr{ - pos: position{line: 1621, col: 18, offset: 53385}, - expr: &charClassMatcher{ - pos: position{line: 1621, col: 18, offset: 53385}, - val: "[^\\r\\n]", - chars: []rune{'\r', '\n'}, - ignoreCase: false, - inverted: true, - }, - }, + &litMatcher{ + pos: position{line: 3067, col: 20, offset: 99803}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", }, - }, - &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, - run: (*parser).callonExtraListElement769, - expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, - expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, - }, - }, + &litMatcher{ + pos: position{line: 3067, col: 29, offset: 99812}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", }, }, }, }, + ¬Expr{ + pos: position{line: 3071, col: 8, offset: 99885}, + expr: &anyMatcher{ + line: 3071, col: 9, offset: 99886, + }, + }, }, }, }, @@ -29262,119 +29270,345 @@ var g = &grammar{ }, }, }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1353, col: 5, offset: 44245}, + label: "extraElements", + expr: &ruleRefExpr{ + pos: position{line: 1353, col: 20, offset: 44260}, + name: "ExtraListElements", + }, + }, + }, + }, + }, + }, + { + name: "ExtraListElements", + pos: position{line: 1363, col: 1, offset: 44515}, + expr: &actionExpr{ + pos: position{line: 1363, col: 22, offset: 44536}, + run: (*parser).callonExtraListElements1, + expr: &labeledExpr{ + pos: position{line: 1363, col: 22, offset: 44536}, + label: "elements", + expr: &zeroOrMoreExpr{ + pos: position{line: 1363, col: 31, offset: 44545}, + expr: &ruleRefExpr{ + pos: position{line: 1363, col: 32, offset: 44546}, + name: "ExtraListElement", + }, + }, + }, + }, + }, + { + name: "ExtraListElement", + pos: position{line: 1367, col: 1, offset: 44626}, + expr: &actionExpr{ + pos: position{line: 1368, col: 5, offset: 44765}, + run: (*parser).callonExtraListElement1, + expr: &seqExpr{ + pos: position{line: 1368, col: 5, offset: 44765}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 1368, col: 5, offset: 44765}, + expr: ¬Expr{ + pos: position{line: 3071, col: 8, offset: 99885}, + expr: &anyMatcher{ + line: 3071, col: 9, offset: 99886, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1369, col: 5, offset: 44775}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 1370, col: 9, offset: 44793}, + alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1379, col: 13, offset: 45310}, - run: (*parser).callonExtraListElement776, + pos: position{line: 1370, col: 13, offset: 44797}, + run: (*parser).callonExtraListElement8, expr: &seqExpr{ - pos: position{line: 1379, col: 13, offset: 45310}, + pos: position{line: 1370, col: 13, offset: 44797}, exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 1379, col: 13, offset: 45310}, - label: "attributes", - expr: &oneOrMoreExpr{ - pos: position{line: 1379, col: 24, offset: 45321}, - expr: &ruleRefExpr{ - pos: position{line: 1379, col: 25, offset: 45322}, - name: "BlockAttributes", + &zeroOrMoreExpr{ + pos: position{line: 1370, col: 13, offset: 44797}, + expr: &actionExpr{ + pos: position{line: 683, col: 14, offset: 22008}, + run: (*parser).callonExtraListElement11, + expr: &seqExpr{ + pos: position{line: 683, col: 14, offset: 22008}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 683, col: 14, offset: 22008}, + expr: ¬Expr{ + pos: position{line: 3071, col: 8, offset: 99885}, + expr: &anyMatcher{ + line: 3071, col: 9, offset: 99886, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 683, col: 19, offset: 22013}, + expr: &actionExpr{ + pos: position{line: 3058, col: 10, offset: 99611}, + run: (*parser).callonExtraListElement17, + expr: &charClassMatcher{ + pos: position{line: 3058, col: 11, offset: 99612}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3074, col: 8, offset: 99935}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3067, col: 12, offset: 99795}, + run: (*parser).callonExtraListElement20, + expr: &choiceExpr{ + pos: position{line: 3067, col: 13, offset: 99796}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3067, col: 13, offset: 99796}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3067, col: 20, offset: 99803}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3067, col: 29, offset: 99812}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3071, col: 8, offset: 99885}, + expr: &anyMatcher{ + line: 3071, col: 9, offset: 99886, + }, + }, + }, + }, + }, }, }, }, &labeledExpr{ - pos: position{line: 1380, col: 13, offset: 45353}, + pos: position{line: 1371, col: 13, offset: 44821}, label: "element", expr: &actionExpr{ - pos: position{line: 1584, col: 5, offset: 52247}, - run: (*parser).callonExtraListElement782, + pos: position{line: 1505, col: 5, offset: 49223}, + run: (*parser).callonExtraListElement28, expr: &seqExpr{ - pos: position{line: 1584, col: 5, offset: 52247}, + pos: position{line: 1505, col: 5, offset: 49223}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1584, col: 5, offset: 52247}, - label: "term", + pos: position{line: 1505, col: 5, offset: 49223}, + label: "prefix", expr: &actionExpr{ - pos: position{line: 1592, col: 5, offset: 52506}, - run: (*parser).callonExtraListElement785, - expr: &oneOrMoreExpr{ - pos: position{line: 1592, col: 5, offset: 52506}, - expr: &seqExpr{ - pos: position{line: 1592, col: 6, offset: 52507}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 1592, col: 6, offset: 52507}, - expr: &actionExpr{ - pos: position{line: 1597, col: 5, offset: 52657}, - run: (*parser).callonExtraListElement789, - expr: &seqExpr{ - pos: position{line: 1597, col: 5, offset: 52657}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 1597, col: 5, offset: 52657}, - label: "separator", - expr: &actionExpr{ - pos: position{line: 1597, col: 16, offset: 52668}, - run: (*parser).callonExtraListElement792, - expr: &oneOrMoreExpr{ - pos: position{line: 1597, col: 16, offset: 52668}, - expr: &litMatcher{ - pos: position{line: 1597, col: 17, offset: 52669}, - val: ":", - ignoreCase: false, - want: "\":\"", + pos: position{line: 1512, col: 5, offset: 49431}, + run: (*parser).callonExtraListElement31, + expr: &seqExpr{ + pos: position{line: 1512, col: 5, offset: 49431}, + exprs: []interface{}{ + &zeroOrMoreExpr{ + pos: position{line: 1512, col: 5, offset: 49431}, + expr: &actionExpr{ + pos: position{line: 3058, col: 10, offset: 99611}, + run: (*parser).callonExtraListElement34, + expr: &charClassMatcher{ + pos: position{line: 3058, col: 11, offset: 99612}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1512, col: 12, offset: 49438}, + label: "prefix", + expr: &choiceExpr{ + pos: position{line: 1514, col: 9, offset: 49501}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 1514, col: 9, offset: 49501}, + run: (*parser).callonExtraListElement38, + expr: &seqExpr{ + pos: position{line: 1514, col: 9, offset: 49501}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1514, col: 9, offset: 49501}, + label: "depth", + expr: &actionExpr{ + pos: position{line: 1514, col: 16, offset: 49508}, + run: (*parser).callonExtraListElement41, + expr: &oneOrMoreExpr{ + pos: position{line: 1514, col: 16, offset: 49508}, + expr: &litMatcher{ + pos: position{line: 1514, col: 17, offset: 49509}, + val: ".", + ignoreCase: false, + want: "\".\"", + }, }, }, }, - }, - &andCodeExpr{ - pos: position{line: 1600, col: 5, offset: 52726}, - run: (*parser).callonExtraListElement795, + &andCodeExpr{ + pos: position{line: 1518, col: 9, offset: 49609}, + run: (*parser).callonExtraListElement44, + }, }, }, }, - }, - }, - ¬Expr{ - pos: position{line: 1592, col: 35, offset: 52536}, - expr: &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, - run: (*parser).callonExtraListElement798, - expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, - val: "\r\n", + &actionExpr{ + pos: position{line: 1537, col: 11, offset: 50326}, + run: (*parser).callonExtraListElement45, + expr: &seqExpr{ + pos: position{line: 1537, col: 11, offset: 50326}, + exprs: []interface{}{ + &oneOrMoreExpr{ + pos: position{line: 1537, col: 11, offset: 50326}, + expr: &charClassMatcher{ + pos: position{line: 1537, col: 12, offset: 50327}, + val: "[0-9]", + ranges: []rune{'0', '9'}, ignoreCase: false, - want: "\"\\r\\n\"", + inverted: false, }, - &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, - val: "\r", + }, + &litMatcher{ + pos: position{line: 1537, col: 20, offset: 50335}, + val: ".", + ignoreCase: false, + want: "\".\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1539, col: 13, offset: 50452}, + run: (*parser).callonExtraListElement50, + expr: &seqExpr{ + pos: position{line: 1539, col: 13, offset: 50452}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 1539, col: 14, offset: 50453}, + val: "[a-z]", + ranges: []rune{'a', 'z'}, + ignoreCase: false, + inverted: false, + }, + &litMatcher{ + pos: position{line: 1539, col: 21, offset: 50460}, + val: ".", + ignoreCase: false, + want: "\".\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1541, col: 13, offset: 50580}, + run: (*parser).callonExtraListElement54, + expr: &seqExpr{ + pos: position{line: 1541, col: 13, offset: 50580}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 1541, col: 14, offset: 50581}, + val: "[A-Z]", + ranges: []rune{'A', 'Z'}, + ignoreCase: false, + inverted: false, + }, + &litMatcher{ + pos: position{line: 1541, col: 21, offset: 50588}, + val: ".", + ignoreCase: false, + want: "\".\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1543, col: 13, offset: 50708}, + run: (*parser).callonExtraListElement58, + expr: &seqExpr{ + pos: position{line: 1543, col: 13, offset: 50708}, + exprs: []interface{}{ + &oneOrMoreExpr{ + pos: position{line: 1543, col: 13, offset: 50708}, + expr: &charClassMatcher{ + pos: position{line: 1543, col: 14, offset: 50709}, + val: "[ivxdlcm]", + chars: []rune{'i', 'v', 'x', 'd', 'l', 'c', 'm'}, ignoreCase: false, - want: "\"\\r\"", + inverted: false, }, }, + &litMatcher{ + pos: position{line: 1543, col: 26, offset: 50721}, + val: ")", + ignoreCase: false, + want: "\")\"", + }, }, }, - ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, - expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + }, + &actionExpr{ + pos: position{line: 1545, col: 13, offset: 50841}, + run: (*parser).callonExtraListElement63, + expr: &seqExpr{ + pos: position{line: 1545, col: 13, offset: 50841}, + exprs: []interface{}{ + &oneOrMoreExpr{ + pos: position{line: 1545, col: 13, offset: 50841}, + expr: &charClassMatcher{ + pos: position{line: 1545, col: 14, offset: 50842}, + val: "[IVXDLCM]", + chars: []rune{'I', 'V', 'X', 'D', 'L', 'C', 'M'}, + ignoreCase: false, + inverted: false, + }, + }, + &litMatcher{ + pos: position{line: 1545, col: 26, offset: 50854}, + val: ")", + ignoreCase: false, + want: "\")\"", + }, }, }, }, }, }, - &anyMatcher{ - line: 1592, col: 40, offset: 52541, + }, + &actionExpr{ + pos: position{line: 3062, col: 11, offset: 99678}, + run: (*parser).callonExtraListElement68, + expr: &oneOrMoreExpr{ + pos: position{line: 3062, col: 11, offset: 99678}, + expr: &charClassMatcher{ + pos: position{line: 3062, col: 12, offset: 99679}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, }, }, }, @@ -29382,645 +29616,3995 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1585, col: 5, offset: 52282}, - label: "separator", + pos: position{line: 1506, col: 5, offset: 49262}, + label: "content", expr: &actionExpr{ - pos: position{line: 1597, col: 5, offset: 52657}, - run: (*parser).callonExtraListElement807, + pos: position{line: 1446, col: 5, offset: 47458}, + run: (*parser).callonExtraListElement72, expr: &seqExpr{ - pos: position{line: 1597, col: 5, offset: 52657}, + pos: position{line: 1446, col: 5, offset: 47458}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1597, col: 5, offset: 52657}, - label: "separator", + pos: position{line: 1446, col: 5, offset: 47458}, + label: "rawline", expr: &actionExpr{ - pos: position{line: 1597, col: 16, offset: 52668}, - run: (*parser).callonExtraListElement810, + pos: position{line: 1446, col: 14, offset: 47467}, + run: (*parser).callonExtraListElement75, expr: &oneOrMoreExpr{ - pos: position{line: 1597, col: 16, offset: 52668}, - expr: &litMatcher{ - pos: position{line: 1597, col: 17, offset: 52669}, - val: ":", + pos: position{line: 1446, col: 14, offset: 47467}, + expr: &charClassMatcher{ + pos: position{line: 1446, col: 14, offset: 47467}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, ignoreCase: false, - want: "\":\"", + inverted: true, }, }, }, }, - &andCodeExpr{ - pos: position{line: 1600, col: 5, offset: 52726}, - run: (*parser).callonExtraListElement813, + &choiceExpr{ + pos: position{line: 3074, col: 8, offset: 99935}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3067, col: 12, offset: 99795}, + run: (*parser).callonExtraListElement79, + expr: &choiceExpr{ + pos: position{line: 3067, col: 13, offset: 99796}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3067, col: 13, offset: 99796}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3067, col: 20, offset: 99803}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3067, col: 29, offset: 99812}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3071, col: 8, offset: 99885}, + expr: &anyMatcher{ + line: 3071, col: 9, offset: 99886, + }, + }, + }, }, }, }, }, }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1374, col: 13, offset: 44913}, + run: (*parser).callonExtraListElement86, + expr: &seqExpr{ + pos: position{line: 1374, col: 13, offset: 44913}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1374, col: 13, offset: 44913}, + label: "attributes", + expr: &oneOrMoreExpr{ + pos: position{line: 1374, col: 24, offset: 44924}, + expr: &ruleRefExpr{ + pos: position{line: 1374, col: 25, offset: 44925}, + name: "BlockAttributes", + }, + }, + }, + &labeledExpr{ + pos: position{line: 1375, col: 13, offset: 44956}, + label: "element", + expr: &actionExpr{ + pos: position{line: 1505, col: 5, offset: 49223}, + run: (*parser).callonExtraListElement92, + expr: &seqExpr{ + pos: position{line: 1505, col: 5, offset: 49223}, + exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1586, col: 5, offset: 52327}, - label: "description", - expr: &choiceExpr{ - pos: position{line: 1608, col: 5, offset: 52976}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 1610, col: 9, offset: 53041}, - run: (*parser).callonExtraListElement816, - expr: &seqExpr{ - pos: position{line: 1610, col: 9, offset: 53041}, - exprs: []interface{}{ - &zeroOrMoreExpr{ - pos: position{line: 1610, col: 9, offset: 53041}, - expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, - run: (*parser).callonExtraListElement819, - expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, + pos: position{line: 1505, col: 5, offset: 49223}, + label: "prefix", + expr: &actionExpr{ + pos: position{line: 1512, col: 5, offset: 49431}, + run: (*parser).callonExtraListElement95, + expr: &seqExpr{ + pos: position{line: 1512, col: 5, offset: 49431}, + exprs: []interface{}{ + &zeroOrMoreExpr{ + pos: position{line: 1512, col: 5, offset: 49431}, + expr: &actionExpr{ + pos: position{line: 3058, col: 10, offset: 99611}, + run: (*parser).callonExtraListElement98, + expr: &charClassMatcher{ + pos: position{line: 3058, col: 11, offset: 99612}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1512, col: 12, offset: 49438}, + label: "prefix", + expr: &choiceExpr{ + pos: position{line: 1514, col: 9, offset: 49501}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 1514, col: 9, offset: 49501}, + run: (*parser).callonExtraListElement102, + expr: &seqExpr{ + pos: position{line: 1514, col: 9, offset: 49501}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1514, col: 9, offset: 49501}, + label: "depth", + expr: &actionExpr{ + pos: position{line: 1514, col: 16, offset: 49508}, + run: (*parser).callonExtraListElement105, + expr: &oneOrMoreExpr{ + pos: position{line: 1514, col: 16, offset: 49508}, + expr: &litMatcher{ + pos: position{line: 1514, col: 17, offset: 49509}, + val: ".", + ignoreCase: false, + want: "\".\"", + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 1518, col: 9, offset: 49609}, + run: (*parser).callonExtraListElement108, + }, + }, }, }, - }, - &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, - run: (*parser).callonExtraListElement822, - expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, - val: "\n", + &actionExpr{ + pos: position{line: 1537, col: 11, offset: 50326}, + run: (*parser).callonExtraListElement109, + expr: &seqExpr{ + pos: position{line: 1537, col: 11, offset: 50326}, + exprs: []interface{}{ + &oneOrMoreExpr{ + pos: position{line: 1537, col: 11, offset: 50326}, + expr: &charClassMatcher{ + pos: position{line: 1537, col: 12, offset: 50327}, + val: "[0-9]", + ranges: []rune{'0', '9'}, ignoreCase: false, - want: "\"\\n\"", + inverted: false, }, - &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, - val: "\r\n", + }, + &litMatcher{ + pos: position{line: 1537, col: 20, offset: 50335}, + val: ".", + ignoreCase: false, + want: "\".\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1539, col: 13, offset: 50452}, + run: (*parser).callonExtraListElement114, + expr: &seqExpr{ + pos: position{line: 1539, col: 13, offset: 50452}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 1539, col: 14, offset: 50453}, + val: "[a-z]", + ranges: []rune{'a', 'z'}, + ignoreCase: false, + inverted: false, + }, + &litMatcher{ + pos: position{line: 1539, col: 21, offset: 50460}, + val: ".", + ignoreCase: false, + want: "\".\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1541, col: 13, offset: 50580}, + run: (*parser).callonExtraListElement118, + expr: &seqExpr{ + pos: position{line: 1541, col: 13, offset: 50580}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 1541, col: 14, offset: 50581}, + val: "[A-Z]", + ranges: []rune{'A', 'Z'}, + ignoreCase: false, + inverted: false, + }, + &litMatcher{ + pos: position{line: 1541, col: 21, offset: 50588}, + val: ".", + ignoreCase: false, + want: "\".\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1543, col: 13, offset: 50708}, + run: (*parser).callonExtraListElement122, + expr: &seqExpr{ + pos: position{line: 1543, col: 13, offset: 50708}, + exprs: []interface{}{ + &oneOrMoreExpr{ + pos: position{line: 1543, col: 13, offset: 50708}, + expr: &charClassMatcher{ + pos: position{line: 1543, col: 14, offset: 50709}, + val: "[ivxdlcm]", + chars: []rune{'i', 'v', 'x', 'd', 'l', 'c', 'm'}, ignoreCase: false, - want: "\"\\r\\n\"", + inverted: false, }, - &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, - val: "\r", + }, + &litMatcher{ + pos: position{line: 1543, col: 26, offset: 50721}, + val: ")", + ignoreCase: false, + want: "\")\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1545, col: 13, offset: 50841}, + run: (*parser).callonExtraListElement127, + expr: &seqExpr{ + pos: position{line: 1545, col: 13, offset: 50841}, + exprs: []interface{}{ + &oneOrMoreExpr{ + pos: position{line: 1545, col: 13, offset: 50841}, + expr: &charClassMatcher{ + pos: position{line: 1545, col: 14, offset: 50842}, + val: "[IVXDLCM]", + chars: []rune{'I', 'V', 'X', 'D', 'L', 'C', 'M'}, ignoreCase: false, - want: "\"\\r\"", + inverted: false, }, }, + &litMatcher{ + pos: position{line: 1545, col: 26, offset: 50854}, + val: ")", + ignoreCase: false, + want: "\")\"", + }, }, }, - ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, - expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 3062, col: 11, offset: 99678}, + run: (*parser).callonExtraListElement132, + expr: &oneOrMoreExpr{ + pos: position{line: 3062, col: 11, offset: 99678}, + expr: &charClassMatcher{ + pos: position{line: 3062, col: 12, offset: 99679}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1506, col: 5, offset: 49262}, + label: "content", + expr: &actionExpr{ + pos: position{line: 1446, col: 5, offset: 47458}, + run: (*parser).callonExtraListElement136, + expr: &seqExpr{ + pos: position{line: 1446, col: 5, offset: 47458}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1446, col: 5, offset: 47458}, + label: "rawline", + expr: &actionExpr{ + pos: position{line: 1446, col: 14, offset: 47467}, + run: (*parser).callonExtraListElement139, + expr: &oneOrMoreExpr{ + pos: position{line: 1446, col: 14, offset: 47467}, + expr: &charClassMatcher{ + pos: position{line: 1446, col: 14, offset: 47467}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3074, col: 8, offset: 99935}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3067, col: 12, offset: 99795}, + run: (*parser).callonExtraListElement143, + expr: &choiceExpr{ + pos: position{line: 3067, col: 13, offset: 99796}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3067, col: 13, offset: 99796}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3067, col: 20, offset: 99803}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3067, col: 29, offset: 99812}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", }, }, }, }, - &zeroOrMoreExpr{ - pos: position{line: 1611, col: 9, offset: 53061}, - expr: &actionExpr{ - pos: position{line: 685, col: 14, offset: 22145}, - run: (*parser).callonExtraListElement830, + ¬Expr{ + pos: position{line: 3071, col: 8, offset: 99885}, + expr: &anyMatcher{ + line: 3071, col: 9, offset: 99886, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1378, col: 13, offset: 45084}, + run: (*parser).callonExtraListElement150, + expr: &seqExpr{ + pos: position{line: 1378, col: 13, offset: 45084}, + exprs: []interface{}{ + &zeroOrMoreExpr{ + pos: position{line: 1378, col: 13, offset: 45084}, + expr: &actionExpr{ + pos: position{line: 683, col: 14, offset: 22008}, + run: (*parser).callonExtraListElement153, + expr: &seqExpr{ + pos: position{line: 683, col: 14, offset: 22008}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 683, col: 14, offset: 22008}, + expr: ¬Expr{ + pos: position{line: 3071, col: 8, offset: 99885}, + expr: &anyMatcher{ + line: 3071, col: 9, offset: 99886, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 683, col: 19, offset: 22013}, + expr: &actionExpr{ + pos: position{line: 3058, col: 10, offset: 99611}, + run: (*parser).callonExtraListElement159, + expr: &charClassMatcher{ + pos: position{line: 3058, col: 11, offset: 99612}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3074, col: 8, offset: 99935}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3067, col: 12, offset: 99795}, + run: (*parser).callonExtraListElement162, + expr: &choiceExpr{ + pos: position{line: 3067, col: 13, offset: 99796}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3067, col: 13, offset: 99796}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3067, col: 20, offset: 99803}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3067, col: 29, offset: 99812}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3071, col: 8, offset: 99885}, + expr: &anyMatcher{ + line: 3071, col: 9, offset: 99886, + }, + }, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1379, col: 13, offset: 45108}, + label: "element", + expr: &actionExpr{ + pos: position{line: 1555, col: 5, offset: 51120}, + run: (*parser).callonExtraListElement170, + expr: &seqExpr{ + pos: position{line: 1555, col: 5, offset: 51120}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1555, col: 5, offset: 51120}, + label: "prefix", + expr: &actionExpr{ + pos: position{line: 1562, col: 5, offset: 51393}, + run: (*parser).callonExtraListElement173, + expr: &seqExpr{ + pos: position{line: 1562, col: 5, offset: 51393}, + exprs: []interface{}{ + &zeroOrMoreExpr{ + pos: position{line: 1562, col: 5, offset: 51393}, + expr: &actionExpr{ + pos: position{line: 3058, col: 10, offset: 99611}, + run: (*parser).callonExtraListElement176, + expr: &charClassMatcher{ + pos: position{line: 3058, col: 11, offset: 99612}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1562, col: 12, offset: 51400}, + label: "prefix", + expr: &choiceExpr{ + pos: position{line: 1562, col: 20, offset: 51408}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 1564, col: 9, offset: 51465}, + run: (*parser).callonExtraListElement180, expr: &seqExpr{ - pos: position{line: 685, col: 14, offset: 22145}, + pos: position{line: 1564, col: 9, offset: 51465}, exprs: []interface{}{ - ¬Expr{ - pos: position{line: 685, col: 14, offset: 22145}, - expr: ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, - expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, - }, - }, - }, - &zeroOrMoreExpr{ - pos: position{line: 685, col: 19, offset: 22150}, + &labeledExpr{ + pos: position{line: 1564, col: 9, offset: 51465}, + label: "depth", expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, - run: (*parser).callonExtraListElement836, - expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, - run: (*parser).callonExtraListElement839, - expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, - expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + pos: position{line: 1564, col: 16, offset: 51472}, + run: (*parser).callonExtraListElement183, + expr: &oneOrMoreExpr{ + pos: position{line: 1564, col: 16, offset: 51472}, + expr: &litMatcher{ + pos: position{line: 1564, col: 17, offset: 51473}, + val: "*", + ignoreCase: false, + want: "\"*\"", }, }, }, }, + &andCodeExpr{ + pos: position{line: 1568, col: 9, offset: 51573}, + run: (*parser).callonExtraListElement186, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1585, col: 14, offset: 52280}, + label: "depth", + expr: &actionExpr{ + pos: position{line: 1585, col: 21, offset: 52287}, + run: (*parser).callonExtraListElement188, + expr: &litMatcher{ + pos: position{line: 1585, col: 22, offset: 52288}, + val: "-", + ignoreCase: false, + want: "\"-\"", }, }, }, }, - &labeledExpr{ - pos: position{line: 1612, col: 9, offset: 53081}, - label: "content", - expr: &zeroOrOneExpr{ - pos: position{line: 1612, col: 17, offset: 53089}, - expr: &choiceExpr{ - pos: position{line: 1406, col: 5, offset: 46323}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 1406, col: 5, offset: 46323}, - run: (*parser).callonExtraListElement849, - expr: &actionExpr{ - pos: position{line: 2616, col: 22, offset: 87547}, - run: (*parser).callonExtraListElement850, - expr: &seqExpr{ - pos: position{line: 2616, col: 22, offset: 87547}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 2621, col: 31, offset: 87768}, - val: "//", - ignoreCase: false, - want: "\"//\"", - }, - ¬Expr{ - pos: position{line: 2621, col: 36, offset: 87773}, - expr: &litMatcher{ - pos: position{line: 2621, col: 37, offset: 87774}, - val: "//", - ignoreCase: false, - want: "\"//\"", - }, - }, - &labeledExpr{ - pos: position{line: 2616, col: 49, offset: 87574}, - label: "content", - expr: &actionExpr{ - pos: position{line: 2623, col: 29, offset: 87809}, - run: (*parser).callonExtraListElement856, - expr: &zeroOrMoreExpr{ - pos: position{line: 2623, col: 29, offset: 87809}, - expr: &charClassMatcher{ - pos: position{line: 2623, col: 29, offset: 87809}, - val: "[^\\r\\n]", - chars: []rune{'\r', '\n'}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, - run: (*parser).callonExtraListElement860, - expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, - expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, - }, - }, - }, - }, + }, + }, + &actionExpr{ + pos: position{line: 3062, col: 11, offset: 99678}, + run: (*parser).callonExtraListElement190, + expr: &oneOrMoreExpr{ + pos: position{line: 3062, col: 11, offset: 99678}, + expr: &charClassMatcher{ + pos: position{line: 3062, col: 12, offset: 99679}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1556, col: 5, offset: 51161}, + label: "checkstyle", + expr: &zeroOrOneExpr{ + pos: position{line: 1556, col: 16, offset: 51172}, + expr: &actionExpr{ + pos: position{line: 1592, col: 5, offset: 52449}, + run: (*parser).callonExtraListElement195, + expr: &seqExpr{ + pos: position{line: 1592, col: 5, offset: 52449}, + exprs: []interface{}{ + &andExpr{ + pos: position{line: 1592, col: 5, offset: 52449}, + expr: &litMatcher{ + pos: position{line: 1592, col: 6, offset: 52450}, + val: "[", + ignoreCase: false, + want: "\"[\"", + }, + }, + &labeledExpr{ + pos: position{line: 1592, col: 10, offset: 52454}, + label: "style", + expr: &choiceExpr{ + pos: position{line: 1593, col: 7, offset: 52468}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 1593, col: 7, offset: 52468}, + run: (*parser).callonExtraListElement201, + expr: &litMatcher{ + pos: position{line: 1593, col: 7, offset: 52468}, + val: "[ ]", + ignoreCase: false, + want: "\"[ ]\"", + }, + }, + &actionExpr{ + pos: position{line: 1594, col: 7, offset: 52513}, + run: (*parser).callonExtraListElement203, + expr: &litMatcher{ + pos: position{line: 1594, col: 7, offset: 52513}, + val: "[*]", + ignoreCase: false, + want: "\"[*]\"", + }, + }, + &actionExpr{ + pos: position{line: 1595, col: 7, offset: 52556}, + run: (*parser).callonExtraListElement205, + expr: &litMatcher{ + pos: position{line: 1595, col: 7, offset: 52556}, + val: "[x]", + ignoreCase: false, + want: "\"[x]\"", + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 3062, col: 11, offset: 99678}, + run: (*parser).callonExtraListElement207, + expr: &oneOrMoreExpr{ + pos: position{line: 3062, col: 11, offset: 99678}, + expr: &charClassMatcher{ + pos: position{line: 3062, col: 12, offset: 99679}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1557, col: 5, offset: 51211}, + label: "content", + expr: &actionExpr{ + pos: position{line: 1446, col: 5, offset: 47458}, + run: (*parser).callonExtraListElement211, + expr: &seqExpr{ + pos: position{line: 1446, col: 5, offset: 47458}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1446, col: 5, offset: 47458}, + label: "rawline", + expr: &actionExpr{ + pos: position{line: 1446, col: 14, offset: 47467}, + run: (*parser).callonExtraListElement214, + expr: &oneOrMoreExpr{ + pos: position{line: 1446, col: 14, offset: 47467}, + expr: &charClassMatcher{ + pos: position{line: 1446, col: 14, offset: 47467}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3074, col: 8, offset: 99935}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3067, col: 12, offset: 99795}, + run: (*parser).callonExtraListElement218, + expr: &choiceExpr{ + pos: position{line: 3067, col: 13, offset: 99796}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3067, col: 13, offset: 99796}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3067, col: 20, offset: 99803}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3067, col: 29, offset: 99812}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3071, col: 8, offset: 99885}, + expr: &anyMatcher{ + line: 3071, col: 9, offset: 99886, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1382, col: 13, offset: 45202}, + run: (*parser).callonExtraListElement225, + expr: &seqExpr{ + pos: position{line: 1382, col: 13, offset: 45202}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1382, col: 13, offset: 45202}, + label: "attributes", + expr: &oneOrMoreExpr{ + pos: position{line: 1382, col: 24, offset: 45213}, + expr: &ruleRefExpr{ + pos: position{line: 1382, col: 25, offset: 45214}, + name: "BlockAttributes", + }, + }, + }, + &labeledExpr{ + pos: position{line: 1383, col: 13, offset: 45245}, + label: "element", + expr: &actionExpr{ + pos: position{line: 1555, col: 5, offset: 51120}, + run: (*parser).callonExtraListElement231, + expr: &seqExpr{ + pos: position{line: 1555, col: 5, offset: 51120}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1555, col: 5, offset: 51120}, + label: "prefix", + expr: &actionExpr{ + pos: position{line: 1562, col: 5, offset: 51393}, + run: (*parser).callonExtraListElement234, + expr: &seqExpr{ + pos: position{line: 1562, col: 5, offset: 51393}, + exprs: []interface{}{ + &zeroOrMoreExpr{ + pos: position{line: 1562, col: 5, offset: 51393}, + expr: &actionExpr{ + pos: position{line: 3058, col: 10, offset: 99611}, + run: (*parser).callonExtraListElement237, + expr: &charClassMatcher{ + pos: position{line: 3058, col: 11, offset: 99612}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1562, col: 12, offset: 51400}, + label: "prefix", + expr: &choiceExpr{ + pos: position{line: 1562, col: 20, offset: 51408}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 1564, col: 9, offset: 51465}, + run: (*parser).callonExtraListElement241, + expr: &seqExpr{ + pos: position{line: 1564, col: 9, offset: 51465}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1564, col: 9, offset: 51465}, + label: "depth", + expr: &actionExpr{ + pos: position{line: 1564, col: 16, offset: 51472}, + run: (*parser).callonExtraListElement244, + expr: &oneOrMoreExpr{ + pos: position{line: 1564, col: 16, offset: 51472}, + expr: &litMatcher{ + pos: position{line: 1564, col: 17, offset: 51473}, + val: "*", + ignoreCase: false, + want: "\"*\"", }, }, }, }, - &actionExpr{ - pos: position{line: 1410, col: 9, offset: 46476}, - run: (*parser).callonExtraListElement867, - expr: &seqExpr{ - pos: position{line: 1410, col: 9, offset: 46476}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 1410, col: 9, offset: 46476}, - expr: &actionExpr{ - pos: position{line: 685, col: 14, offset: 22145}, - run: (*parser).callonExtraListElement870, - expr: &seqExpr{ - pos: position{line: 685, col: 14, offset: 22145}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 685, col: 14, offset: 22145}, - expr: ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, - expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, - }, - }, - }, - &zeroOrMoreExpr{ - pos: position{line: 685, col: 19, offset: 22150}, - expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, - run: (*parser).callonExtraListElement876, - expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, - run: (*parser).callonExtraListElement879, - expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, - expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, - }, - }, - }, - }, - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 1411, col: 9, offset: 46495}, - expr: &seqExpr{ - pos: position{line: 1444, col: 34, offset: 47455}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 1444, col: 34, offset: 47455}, - val: "+", - ignoreCase: false, - want: "\"+\"", - }, - &zeroOrMoreExpr{ - pos: position{line: 1444, col: 38, offset: 47459}, - expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, - run: (*parser).callonExtraListElement890, - expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, - run: (*parser).callonExtraListElement892, - expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 1412, col: 9, offset: 46534}, - expr: &actionExpr{ - pos: position{line: 1492, col: 5, offset: 48929}, - run: (*parser).callonExtraListElement898, - expr: &seqExpr{ - pos: position{line: 1492, col: 5, offset: 48929}, - exprs: []interface{}{ - &zeroOrMoreExpr{ - pos: position{line: 1492, col: 5, offset: 48929}, - expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, - run: (*parser).callonExtraListElement901, - expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &labeledExpr{ - pos: position{line: 1492, col: 12, offset: 48936}, - label: "prefix", - expr: &choiceExpr{ - pos: position{line: 1494, col: 9, offset: 48999}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 1494, col: 9, offset: 48999}, - run: (*parser).callonExtraListElement905, - expr: &seqExpr{ - pos: position{line: 1494, col: 9, offset: 48999}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 1494, col: 9, offset: 48999}, - label: "depth", - expr: &actionExpr{ - pos: position{line: 1494, col: 16, offset: 49006}, - run: (*parser).callonExtraListElement908, - expr: &oneOrMoreExpr{ - pos: position{line: 1494, col: 16, offset: 49006}, - expr: &litMatcher{ - pos: position{line: 1494, col: 17, offset: 49007}, - val: ".", - ignoreCase: false, - want: "\".\"", - }, - }, - }, - }, - &andCodeExpr{ - pos: position{line: 1498, col: 9, offset: 49107}, - run: (*parser).callonExtraListElement911, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 1517, col: 11, offset: 49824}, - run: (*parser).callonExtraListElement912, - expr: &seqExpr{ - pos: position{line: 1517, col: 11, offset: 49824}, - exprs: []interface{}{ - &oneOrMoreExpr{ - pos: position{line: 1517, col: 11, offset: 49824}, - expr: &charClassMatcher{ - pos: position{line: 1517, col: 12, offset: 49825}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - &litMatcher{ - pos: position{line: 1517, col: 20, offset: 49833}, - val: ".", - ignoreCase: false, - want: "\".\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 1519, col: 13, offset: 49950}, - run: (*parser).callonExtraListElement917, - expr: &seqExpr{ - pos: position{line: 1519, col: 13, offset: 49950}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 1519, col: 14, offset: 49951}, - val: "[a-z]", - ranges: []rune{'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - &litMatcher{ - pos: position{line: 1519, col: 21, offset: 49958}, - val: ".", - ignoreCase: false, - want: "\".\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 1521, col: 13, offset: 50078}, - run: (*parser).callonExtraListElement921, - expr: &seqExpr{ - pos: position{line: 1521, col: 13, offset: 50078}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 1521, col: 14, offset: 50079}, - val: "[A-Z]", - ranges: []rune{'A', 'Z'}, - ignoreCase: false, - inverted: false, - }, - &litMatcher{ - pos: position{line: 1521, col: 21, offset: 50086}, - val: ".", - ignoreCase: false, - want: "\".\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 1523, col: 13, offset: 50206}, - run: (*parser).callonExtraListElement925, - expr: &seqExpr{ - pos: position{line: 1523, col: 13, offset: 50206}, - exprs: []interface{}{ - &oneOrMoreExpr{ - pos: position{line: 1523, col: 13, offset: 50206}, - expr: &charClassMatcher{ - pos: position{line: 1523, col: 14, offset: 50207}, - val: "[ivxdlcm]", - chars: []rune{'i', 'v', 'x', 'd', 'l', 'c', 'm'}, - ignoreCase: false, - inverted: false, - }, - }, - &litMatcher{ - pos: position{line: 1523, col: 26, offset: 50219}, - val: ")", - ignoreCase: false, - want: "\")\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 1525, col: 13, offset: 50339}, - run: (*parser).callonExtraListElement930, - expr: &seqExpr{ - pos: position{line: 1525, col: 13, offset: 50339}, - exprs: []interface{}{ - &oneOrMoreExpr{ - pos: position{line: 1525, col: 13, offset: 50339}, - expr: &charClassMatcher{ - pos: position{line: 1525, col: 14, offset: 50340}, - val: "[IVXDLCM]", - chars: []rune{'I', 'V', 'X', 'D', 'L', 'C', 'M'}, - ignoreCase: false, - inverted: false, - }, - }, - &litMatcher{ - pos: position{line: 1525, col: 26, offset: 50352}, - val: ")", - ignoreCase: false, - want: "\")\"", - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2903, col: 11, offset: 96254}, - run: (*parser).callonExtraListElement935, - expr: &oneOrMoreExpr{ - pos: position{line: 2903, col: 11, offset: 96254}, - expr: &charClassMatcher{ - pos: position{line: 2903, col: 12, offset: 96255}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 1413, col: 9, offset: 46568}, - expr: &actionExpr{ - pos: position{line: 1542, col: 5, offset: 50891}, - run: (*parser).callonExtraListElement939, - expr: &seqExpr{ - pos: position{line: 1542, col: 5, offset: 50891}, - exprs: []interface{}{ - &zeroOrMoreExpr{ - pos: position{line: 1542, col: 5, offset: 50891}, - expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, - run: (*parser).callonExtraListElement942, - expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &labeledExpr{ - pos: position{line: 1542, col: 12, offset: 50898}, - label: "prefix", - expr: &choiceExpr{ - pos: position{line: 1542, col: 20, offset: 50906}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 1544, col: 9, offset: 50963}, - run: (*parser).callonExtraListElement946, - expr: &seqExpr{ - pos: position{line: 1544, col: 9, offset: 50963}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 1544, col: 9, offset: 50963}, - label: "depth", - expr: &actionExpr{ - pos: position{line: 1544, col: 16, offset: 50970}, - run: (*parser).callonExtraListElement949, - expr: &oneOrMoreExpr{ - pos: position{line: 1544, col: 16, offset: 50970}, - expr: &litMatcher{ - pos: position{line: 1544, col: 17, offset: 50971}, - val: "*", + &andCodeExpr{ + pos: position{line: 1568, col: 9, offset: 51573}, + run: (*parser).callonExtraListElement247, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1585, col: 14, offset: 52280}, + label: "depth", + expr: &actionExpr{ + pos: position{line: 1585, col: 21, offset: 52287}, + run: (*parser).callonExtraListElement249, + expr: &litMatcher{ + pos: position{line: 1585, col: 22, offset: 52288}, + val: "-", + ignoreCase: false, + want: "\"-\"", + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 3062, col: 11, offset: 99678}, + run: (*parser).callonExtraListElement251, + expr: &oneOrMoreExpr{ + pos: position{line: 3062, col: 11, offset: 99678}, + expr: &charClassMatcher{ + pos: position{line: 3062, col: 12, offset: 99679}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1556, col: 5, offset: 51161}, + label: "checkstyle", + expr: &zeroOrOneExpr{ + pos: position{line: 1556, col: 16, offset: 51172}, + expr: &actionExpr{ + pos: position{line: 1592, col: 5, offset: 52449}, + run: (*parser).callonExtraListElement256, + expr: &seqExpr{ + pos: position{line: 1592, col: 5, offset: 52449}, + exprs: []interface{}{ + &andExpr{ + pos: position{line: 1592, col: 5, offset: 52449}, + expr: &litMatcher{ + pos: position{line: 1592, col: 6, offset: 52450}, + val: "[", + ignoreCase: false, + want: "\"[\"", + }, + }, + &labeledExpr{ + pos: position{line: 1592, col: 10, offset: 52454}, + label: "style", + expr: &choiceExpr{ + pos: position{line: 1593, col: 7, offset: 52468}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 1593, col: 7, offset: 52468}, + run: (*parser).callonExtraListElement262, + expr: &litMatcher{ + pos: position{line: 1593, col: 7, offset: 52468}, + val: "[ ]", + ignoreCase: false, + want: "\"[ ]\"", + }, + }, + &actionExpr{ + pos: position{line: 1594, col: 7, offset: 52513}, + run: (*parser).callonExtraListElement264, + expr: &litMatcher{ + pos: position{line: 1594, col: 7, offset: 52513}, + val: "[*]", + ignoreCase: false, + want: "\"[*]\"", + }, + }, + &actionExpr{ + pos: position{line: 1595, col: 7, offset: 52556}, + run: (*parser).callonExtraListElement266, + expr: &litMatcher{ + pos: position{line: 1595, col: 7, offset: 52556}, + val: "[x]", + ignoreCase: false, + want: "\"[x]\"", + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 3062, col: 11, offset: 99678}, + run: (*parser).callonExtraListElement268, + expr: &oneOrMoreExpr{ + pos: position{line: 3062, col: 11, offset: 99678}, + expr: &charClassMatcher{ + pos: position{line: 3062, col: 12, offset: 99679}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1557, col: 5, offset: 51211}, + label: "content", + expr: &actionExpr{ + pos: position{line: 1446, col: 5, offset: 47458}, + run: (*parser).callonExtraListElement272, + expr: &seqExpr{ + pos: position{line: 1446, col: 5, offset: 47458}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1446, col: 5, offset: 47458}, + label: "rawline", + expr: &actionExpr{ + pos: position{line: 1446, col: 14, offset: 47467}, + run: (*parser).callonExtraListElement275, + expr: &oneOrMoreExpr{ + pos: position{line: 1446, col: 14, offset: 47467}, + expr: &charClassMatcher{ + pos: position{line: 1446, col: 14, offset: 47467}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3074, col: 8, offset: 99935}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3067, col: 12, offset: 99795}, + run: (*parser).callonExtraListElement279, + expr: &choiceExpr{ + pos: position{line: 3067, col: 13, offset: 99796}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3067, col: 13, offset: 99796}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3067, col: 20, offset: 99803}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3067, col: 29, offset: 99812}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3071, col: 8, offset: 99885}, + expr: &anyMatcher{ + line: 3071, col: 9, offset: 99886, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1386, col: 13, offset: 45375}, + run: (*parser).callonExtraListElement286, + expr: &seqExpr{ + pos: position{line: 1386, col: 13, offset: 45375}, + exprs: []interface{}{ + &zeroOrMoreExpr{ + pos: position{line: 1386, col: 13, offset: 45375}, + expr: &actionExpr{ + pos: position{line: 683, col: 14, offset: 22008}, + run: (*parser).callonExtraListElement289, + expr: &seqExpr{ + pos: position{line: 683, col: 14, offset: 22008}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 683, col: 14, offset: 22008}, + expr: ¬Expr{ + pos: position{line: 3071, col: 8, offset: 99885}, + expr: &anyMatcher{ + line: 3071, col: 9, offset: 99886, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 683, col: 19, offset: 22013}, + expr: &actionExpr{ + pos: position{line: 3058, col: 10, offset: 99611}, + run: (*parser).callonExtraListElement295, + expr: &charClassMatcher{ + pos: position{line: 3058, col: 11, offset: 99612}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3074, col: 8, offset: 99935}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3067, col: 12, offset: 99795}, + run: (*parser).callonExtraListElement298, + expr: &choiceExpr{ + pos: position{line: 3067, col: 13, offset: 99796}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3067, col: 13, offset: 99796}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3067, col: 20, offset: 99803}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3067, col: 29, offset: 99812}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3071, col: 8, offset: 99885}, + expr: &anyMatcher{ + line: 3071, col: 9, offset: 99886, + }, + }, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1387, col: 13, offset: 45399}, + label: "element", + expr: &actionExpr{ + pos: position{line: 1662, col: 5, offset: 54429}, + run: (*parser).callonExtraListElement306, + expr: &seqExpr{ + pos: position{line: 1662, col: 5, offset: 54429}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1662, col: 5, offset: 54429}, + label: "ref", + expr: &actionExpr{ + pos: position{line: 1668, col: 5, offset: 54630}, + run: (*parser).callonExtraListElement309, + expr: &seqExpr{ + pos: position{line: 1668, col: 5, offset: 54630}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1668, col: 5, offset: 54630}, + val: "<", + ignoreCase: false, + want: "\"<\"", + }, + &labeledExpr{ + pos: position{line: 1668, col: 9, offset: 54634}, + label: "ref", + expr: &actionExpr{ + pos: position{line: 1668, col: 14, offset: 54639}, + run: (*parser).callonExtraListElement313, + expr: &oneOrMoreExpr{ + pos: position{line: 1668, col: 14, offset: 54639}, + expr: &charClassMatcher{ + pos: position{line: 1668, col: 14, offset: 54639}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 1668, col: 62, offset: 54687}, + val: ">", + ignoreCase: false, + want: "\">\"", + }, + &actionExpr{ + pos: position{line: 3062, col: 11, offset: 99678}, + run: (*parser).callonExtraListElement317, + expr: &oneOrMoreExpr{ + pos: position{line: 3062, col: 11, offset: 99678}, + expr: &charClassMatcher{ + pos: position{line: 3062, col: 12, offset: 99679}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1663, col: 5, offset: 54465}, + label: "description", + expr: &actionExpr{ + pos: position{line: 1673, col: 5, offset: 54813}, + run: (*parser).callonExtraListElement321, + expr: &seqExpr{ + pos: position{line: 1673, col: 5, offset: 54813}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1673, col: 5, offset: 54813}, + label: "rawline", + expr: &actionExpr{ + pos: position{line: 1673, col: 14, offset: 54822}, + run: (*parser).callonExtraListElement324, + expr: &oneOrMoreExpr{ + pos: position{line: 1673, col: 14, offset: 54822}, + expr: &charClassMatcher{ + pos: position{line: 1673, col: 14, offset: 54822}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3074, col: 8, offset: 99935}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3067, col: 12, offset: 99795}, + run: (*parser).callonExtraListElement328, + expr: &choiceExpr{ + pos: position{line: 3067, col: 13, offset: 99796}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3067, col: 13, offset: 99796}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3067, col: 20, offset: 99803}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3067, col: 29, offset: 99812}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3071, col: 8, offset: 99885}, + expr: &anyMatcher{ + line: 3071, col: 9, offset: 99886, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1390, col: 13, offset: 45491}, + run: (*parser).callonExtraListElement335, + expr: &seqExpr{ + pos: position{line: 1390, col: 13, offset: 45491}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1390, col: 13, offset: 45491}, + label: "attributes", + expr: &oneOrMoreExpr{ + pos: position{line: 1390, col: 24, offset: 45502}, + expr: &ruleRefExpr{ + pos: position{line: 1390, col: 25, offset: 45503}, + name: "BlockAttributes", + }, + }, + }, + &labeledExpr{ + pos: position{line: 1391, col: 13, offset: 45534}, + label: "element", + expr: &actionExpr{ + pos: position{line: 1662, col: 5, offset: 54429}, + run: (*parser).callonExtraListElement341, + expr: &seqExpr{ + pos: position{line: 1662, col: 5, offset: 54429}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1662, col: 5, offset: 54429}, + label: "ref", + expr: &actionExpr{ + pos: position{line: 1668, col: 5, offset: 54630}, + run: (*parser).callonExtraListElement344, + expr: &seqExpr{ + pos: position{line: 1668, col: 5, offset: 54630}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1668, col: 5, offset: 54630}, + val: "<", + ignoreCase: false, + want: "\"<\"", + }, + &labeledExpr{ + pos: position{line: 1668, col: 9, offset: 54634}, + label: "ref", + expr: &actionExpr{ + pos: position{line: 1668, col: 14, offset: 54639}, + run: (*parser).callonExtraListElement348, + expr: &oneOrMoreExpr{ + pos: position{line: 1668, col: 14, offset: 54639}, + expr: &charClassMatcher{ + pos: position{line: 1668, col: 14, offset: 54639}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 1668, col: 62, offset: 54687}, + val: ">", + ignoreCase: false, + want: "\">\"", + }, + &actionExpr{ + pos: position{line: 3062, col: 11, offset: 99678}, + run: (*parser).callonExtraListElement352, + expr: &oneOrMoreExpr{ + pos: position{line: 3062, col: 11, offset: 99678}, + expr: &charClassMatcher{ + pos: position{line: 3062, col: 12, offset: 99679}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1663, col: 5, offset: 54465}, + label: "description", + expr: &actionExpr{ + pos: position{line: 1673, col: 5, offset: 54813}, + run: (*parser).callonExtraListElement356, + expr: &seqExpr{ + pos: position{line: 1673, col: 5, offset: 54813}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1673, col: 5, offset: 54813}, + label: "rawline", + expr: &actionExpr{ + pos: position{line: 1673, col: 14, offset: 54822}, + run: (*parser).callonExtraListElement359, + expr: &oneOrMoreExpr{ + pos: position{line: 1673, col: 14, offset: 54822}, + expr: &charClassMatcher{ + pos: position{line: 1673, col: 14, offset: 54822}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3074, col: 8, offset: 99935}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3067, col: 12, offset: 99795}, + run: (*parser).callonExtraListElement363, + expr: &choiceExpr{ + pos: position{line: 3067, col: 13, offset: 99796}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3067, col: 13, offset: 99796}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3067, col: 20, offset: 99803}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3067, col: 29, offset: 99812}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3071, col: 8, offset: 99885}, + expr: &anyMatcher{ + line: 3071, col: 9, offset: 99886, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &ruleRefExpr{ + pos: position{line: 1394, col: 11, offset: 45660}, + name: "ListElementContinuation", + }, + &actionExpr{ + pos: position{line: 1395, col: 13, offset: 45696}, + run: (*parser).callonExtraListElement371, + expr: &seqExpr{ + pos: position{line: 1395, col: 13, offset: 45696}, + exprs: []interface{}{ + &zeroOrMoreExpr{ + pos: position{line: 1395, col: 13, offset: 45696}, + expr: &actionExpr{ + pos: position{line: 683, col: 14, offset: 22008}, + run: (*parser).callonExtraListElement374, + expr: &seqExpr{ + pos: position{line: 683, col: 14, offset: 22008}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 683, col: 14, offset: 22008}, + expr: ¬Expr{ + pos: position{line: 3071, col: 8, offset: 99885}, + expr: &anyMatcher{ + line: 3071, col: 9, offset: 99886, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 683, col: 19, offset: 22013}, + expr: &actionExpr{ + pos: position{line: 3058, col: 10, offset: 99611}, + run: (*parser).callonExtraListElement380, + expr: &charClassMatcher{ + pos: position{line: 3058, col: 11, offset: 99612}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3074, col: 8, offset: 99935}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3067, col: 12, offset: 99795}, + run: (*parser).callonExtraListElement383, + expr: &choiceExpr{ + pos: position{line: 3067, col: 13, offset: 99796}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3067, col: 13, offset: 99796}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3067, col: 20, offset: 99803}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3067, col: 29, offset: 99812}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3071, col: 8, offset: 99885}, + expr: &anyMatcher{ + line: 3071, col: 9, offset: 99886, + }, + }, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1396, col: 13, offset: 45720}, + label: "element", + expr: &actionExpr{ + pos: position{line: 1604, col: 5, offset: 52749}, + run: (*parser).callonExtraListElement391, + expr: &seqExpr{ + pos: position{line: 1604, col: 5, offset: 52749}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1604, col: 5, offset: 52749}, + label: "term", + expr: &actionExpr{ + pos: position{line: 1612, col: 5, offset: 53008}, + run: (*parser).callonExtraListElement394, + expr: &oneOrMoreExpr{ + pos: position{line: 1612, col: 5, offset: 53008}, + expr: &seqExpr{ + pos: position{line: 1612, col: 6, offset: 53009}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 1612, col: 6, offset: 53009}, + expr: &actionExpr{ + pos: position{line: 1617, col: 5, offset: 53159}, + run: (*parser).callonExtraListElement398, + expr: &seqExpr{ + pos: position{line: 1617, col: 5, offset: 53159}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1617, col: 5, offset: 53159}, + label: "separator", + expr: &actionExpr{ + pos: position{line: 1617, col: 16, offset: 53170}, + run: (*parser).callonExtraListElement401, + expr: &oneOrMoreExpr{ + pos: position{line: 1617, col: 16, offset: 53170}, + expr: &litMatcher{ + pos: position{line: 1617, col: 17, offset: 53171}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 1620, col: 5, offset: 53228}, + run: (*parser).callonExtraListElement404, + }, + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 1612, col: 35, offset: 53038}, + expr: &choiceExpr{ + pos: position{line: 3074, col: 8, offset: 99935}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3067, col: 12, offset: 99795}, + run: (*parser).callonExtraListElement407, + expr: &choiceExpr{ + pos: position{line: 3067, col: 13, offset: 99796}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3067, col: 13, offset: 99796}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3067, col: 20, offset: 99803}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3067, col: 29, offset: 99812}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3071, col: 8, offset: 99885}, + expr: &anyMatcher{ + line: 3071, col: 9, offset: 99886, + }, + }, + }, + }, + }, + &anyMatcher{ + line: 1612, col: 40, offset: 53043, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1605, col: 5, offset: 52784}, + label: "separator", + expr: &actionExpr{ + pos: position{line: 1617, col: 5, offset: 53159}, + run: (*parser).callonExtraListElement416, + expr: &seqExpr{ + pos: position{line: 1617, col: 5, offset: 53159}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1617, col: 5, offset: 53159}, + label: "separator", + expr: &actionExpr{ + pos: position{line: 1617, col: 16, offset: 53170}, + run: (*parser).callonExtraListElement419, + expr: &oneOrMoreExpr{ + pos: position{line: 1617, col: 16, offset: 53170}, + expr: &litMatcher{ + pos: position{line: 1617, col: 17, offset: 53171}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 1620, col: 5, offset: 53228}, + run: (*parser).callonExtraListElement422, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1606, col: 5, offset: 52829}, + label: "description", + expr: &choiceExpr{ + pos: position{line: 1628, col: 5, offset: 53478}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 1630, col: 9, offset: 53543}, + run: (*parser).callonExtraListElement425, + expr: &seqExpr{ + pos: position{line: 1630, col: 9, offset: 53543}, + exprs: []interface{}{ + &zeroOrMoreExpr{ + pos: position{line: 1630, col: 9, offset: 53543}, + expr: &actionExpr{ + pos: position{line: 3058, col: 10, offset: 99611}, + run: (*parser).callonExtraListElement428, + expr: &charClassMatcher{ + pos: position{line: 3058, col: 11, offset: 99612}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3074, col: 8, offset: 99935}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3067, col: 12, offset: 99795}, + run: (*parser).callonExtraListElement431, + expr: &choiceExpr{ + pos: position{line: 3067, col: 13, offset: 99796}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3067, col: 13, offset: 99796}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3067, col: 20, offset: 99803}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3067, col: 29, offset: 99812}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3071, col: 8, offset: 99885}, + expr: &anyMatcher{ + line: 3071, col: 9, offset: 99886, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 1631, col: 9, offset: 53563}, + expr: &actionExpr{ + pos: position{line: 683, col: 14, offset: 22008}, + run: (*parser).callonExtraListElement439, + expr: &seqExpr{ + pos: position{line: 683, col: 14, offset: 22008}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 683, col: 14, offset: 22008}, + expr: ¬Expr{ + pos: position{line: 3071, col: 8, offset: 99885}, + expr: &anyMatcher{ + line: 3071, col: 9, offset: 99886, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 683, col: 19, offset: 22013}, + expr: &actionExpr{ + pos: position{line: 3058, col: 10, offset: 99611}, + run: (*parser).callonExtraListElement445, + expr: &charClassMatcher{ + pos: position{line: 3058, col: 11, offset: 99612}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3074, col: 8, offset: 99935}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3067, col: 12, offset: 99795}, + run: (*parser).callonExtraListElement448, + expr: &choiceExpr{ + pos: position{line: 3067, col: 13, offset: 99796}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3067, col: 13, offset: 99796}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3067, col: 20, offset: 99803}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3067, col: 29, offset: 99812}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3071, col: 8, offset: 99885}, + expr: &anyMatcher{ + line: 3071, col: 9, offset: 99886, + }, + }, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1632, col: 9, offset: 53583}, + label: "content", + expr: &zeroOrOneExpr{ + pos: position{line: 1632, col: 17, offset: 53591}, + expr: &choiceExpr{ + pos: position{line: 1426, col: 5, offset: 46825}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 1426, col: 5, offset: 46825}, + run: (*parser).callonExtraListElement458, + expr: &actionExpr{ + pos: position{line: 2760, col: 22, offset: 90461}, + run: (*parser).callonExtraListElement459, + expr: &seqExpr{ + pos: position{line: 2760, col: 22, offset: 90461}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2765, col: 31, offset: 90682}, + val: "//", + ignoreCase: false, + want: "\"//\"", + }, + ¬Expr{ + pos: position{line: 2765, col: 36, offset: 90687}, + expr: &litMatcher{ + pos: position{line: 2765, col: 37, offset: 90688}, + val: "//", + ignoreCase: false, + want: "\"//\"", + }, + }, + &labeledExpr{ + pos: position{line: 2760, col: 49, offset: 90488}, + label: "content", + expr: &actionExpr{ + pos: position{line: 2767, col: 29, offset: 90723}, + run: (*parser).callonExtraListElement465, + expr: &zeroOrMoreExpr{ + pos: position{line: 2767, col: 29, offset: 90723}, + expr: &charClassMatcher{ + pos: position{line: 2767, col: 29, offset: 90723}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3074, col: 8, offset: 99935}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3067, col: 12, offset: 99795}, + run: (*parser).callonExtraListElement469, + expr: &choiceExpr{ + pos: position{line: 3067, col: 13, offset: 99796}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3067, col: 13, offset: 99796}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3067, col: 20, offset: 99803}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3067, col: 29, offset: 99812}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3071, col: 8, offset: 99885}, + expr: &anyMatcher{ + line: 3071, col: 9, offset: 99886, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1430, col: 9, offset: 46978}, + run: (*parser).callonExtraListElement476, + expr: &seqExpr{ + pos: position{line: 1430, col: 9, offset: 46978}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 1430, col: 9, offset: 46978}, + expr: &actionExpr{ + pos: position{line: 683, col: 14, offset: 22008}, + run: (*parser).callonExtraListElement479, + expr: &seqExpr{ + pos: position{line: 683, col: 14, offset: 22008}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 683, col: 14, offset: 22008}, + expr: ¬Expr{ + pos: position{line: 3071, col: 8, offset: 99885}, + expr: &anyMatcher{ + line: 3071, col: 9, offset: 99886, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 683, col: 19, offset: 22013}, + expr: &actionExpr{ + pos: position{line: 3058, col: 10, offset: 99611}, + run: (*parser).callonExtraListElement485, + expr: &charClassMatcher{ + pos: position{line: 3058, col: 11, offset: 99612}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3074, col: 8, offset: 99935}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3067, col: 12, offset: 99795}, + run: (*parser).callonExtraListElement488, + expr: &choiceExpr{ + pos: position{line: 3067, col: 13, offset: 99796}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3067, col: 13, offset: 99796}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3067, col: 20, offset: 99803}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3067, col: 29, offset: 99812}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3071, col: 8, offset: 99885}, + expr: &anyMatcher{ + line: 3071, col: 9, offset: 99886, + }, + }, + }, + }, + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 1431, col: 9, offset: 46997}, + expr: &seqExpr{ + pos: position{line: 1464, col: 34, offset: 47957}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1464, col: 34, offset: 47957}, + val: "+", + ignoreCase: false, + want: "\"+\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 1464, col: 38, offset: 47961}, + expr: &actionExpr{ + pos: position{line: 3058, col: 10, offset: 99611}, + run: (*parser).callonExtraListElement499, + expr: &charClassMatcher{ + pos: position{line: 3058, col: 11, offset: 99612}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &actionExpr{ + pos: position{line: 3067, col: 12, offset: 99795}, + run: (*parser).callonExtraListElement501, + expr: &choiceExpr{ + pos: position{line: 3067, col: 13, offset: 99796}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3067, col: 13, offset: 99796}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3067, col: 20, offset: 99803}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3067, col: 29, offset: 99812}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 1432, col: 9, offset: 47036}, + expr: &actionExpr{ + pos: position{line: 1512, col: 5, offset: 49431}, + run: (*parser).callonExtraListElement507, + expr: &seqExpr{ + pos: position{line: 1512, col: 5, offset: 49431}, + exprs: []interface{}{ + &zeroOrMoreExpr{ + pos: position{line: 1512, col: 5, offset: 49431}, + expr: &actionExpr{ + pos: position{line: 3058, col: 10, offset: 99611}, + run: (*parser).callonExtraListElement510, + expr: &charClassMatcher{ + pos: position{line: 3058, col: 11, offset: 99612}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1512, col: 12, offset: 49438}, + label: "prefix", + expr: &choiceExpr{ + pos: position{line: 1514, col: 9, offset: 49501}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 1514, col: 9, offset: 49501}, + run: (*parser).callonExtraListElement514, + expr: &seqExpr{ + pos: position{line: 1514, col: 9, offset: 49501}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1514, col: 9, offset: 49501}, + label: "depth", + expr: &actionExpr{ + pos: position{line: 1514, col: 16, offset: 49508}, + run: (*parser).callonExtraListElement517, + expr: &oneOrMoreExpr{ + pos: position{line: 1514, col: 16, offset: 49508}, + expr: &litMatcher{ + pos: position{line: 1514, col: 17, offset: 49509}, + val: ".", + ignoreCase: false, + want: "\".\"", + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 1518, col: 9, offset: 49609}, + run: (*parser).callonExtraListElement520, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1537, col: 11, offset: 50326}, + run: (*parser).callonExtraListElement521, + expr: &seqExpr{ + pos: position{line: 1537, col: 11, offset: 50326}, + exprs: []interface{}{ + &oneOrMoreExpr{ + pos: position{line: 1537, col: 11, offset: 50326}, + expr: &charClassMatcher{ + pos: position{line: 1537, col: 12, offset: 50327}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + &litMatcher{ + pos: position{line: 1537, col: 20, offset: 50335}, + val: ".", + ignoreCase: false, + want: "\".\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1539, col: 13, offset: 50452}, + run: (*parser).callonExtraListElement526, + expr: &seqExpr{ + pos: position{line: 1539, col: 13, offset: 50452}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 1539, col: 14, offset: 50453}, + val: "[a-z]", + ranges: []rune{'a', 'z'}, + ignoreCase: false, + inverted: false, + }, + &litMatcher{ + pos: position{line: 1539, col: 21, offset: 50460}, + val: ".", + ignoreCase: false, + want: "\".\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1541, col: 13, offset: 50580}, + run: (*parser).callonExtraListElement530, + expr: &seqExpr{ + pos: position{line: 1541, col: 13, offset: 50580}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 1541, col: 14, offset: 50581}, + val: "[A-Z]", + ranges: []rune{'A', 'Z'}, + ignoreCase: false, + inverted: false, + }, + &litMatcher{ + pos: position{line: 1541, col: 21, offset: 50588}, + val: ".", + ignoreCase: false, + want: "\".\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1543, col: 13, offset: 50708}, + run: (*parser).callonExtraListElement534, + expr: &seqExpr{ + pos: position{line: 1543, col: 13, offset: 50708}, + exprs: []interface{}{ + &oneOrMoreExpr{ + pos: position{line: 1543, col: 13, offset: 50708}, + expr: &charClassMatcher{ + pos: position{line: 1543, col: 14, offset: 50709}, + val: "[ivxdlcm]", + chars: []rune{'i', 'v', 'x', 'd', 'l', 'c', 'm'}, + ignoreCase: false, + inverted: false, + }, + }, + &litMatcher{ + pos: position{line: 1543, col: 26, offset: 50721}, + val: ")", + ignoreCase: false, + want: "\")\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1545, col: 13, offset: 50841}, + run: (*parser).callonExtraListElement539, + expr: &seqExpr{ + pos: position{line: 1545, col: 13, offset: 50841}, + exprs: []interface{}{ + &oneOrMoreExpr{ + pos: position{line: 1545, col: 13, offset: 50841}, + expr: &charClassMatcher{ + pos: position{line: 1545, col: 14, offset: 50842}, + val: "[IVXDLCM]", + chars: []rune{'I', 'V', 'X', 'D', 'L', 'C', 'M'}, + ignoreCase: false, + inverted: false, + }, + }, + &litMatcher{ + pos: position{line: 1545, col: 26, offset: 50854}, + val: ")", + ignoreCase: false, + want: "\")\"", + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 3062, col: 11, offset: 99678}, + run: (*parser).callonExtraListElement544, + expr: &oneOrMoreExpr{ + pos: position{line: 3062, col: 11, offset: 99678}, + expr: &charClassMatcher{ + pos: position{line: 3062, col: 12, offset: 99679}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 1433, col: 9, offset: 47070}, + expr: &actionExpr{ + pos: position{line: 1562, col: 5, offset: 51393}, + run: (*parser).callonExtraListElement548, + expr: &seqExpr{ + pos: position{line: 1562, col: 5, offset: 51393}, + exprs: []interface{}{ + &zeroOrMoreExpr{ + pos: position{line: 1562, col: 5, offset: 51393}, + expr: &actionExpr{ + pos: position{line: 3058, col: 10, offset: 99611}, + run: (*parser).callonExtraListElement551, + expr: &charClassMatcher{ + pos: position{line: 3058, col: 11, offset: 99612}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1562, col: 12, offset: 51400}, + label: "prefix", + expr: &choiceExpr{ + pos: position{line: 1562, col: 20, offset: 51408}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 1564, col: 9, offset: 51465}, + run: (*parser).callonExtraListElement555, + expr: &seqExpr{ + pos: position{line: 1564, col: 9, offset: 51465}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1564, col: 9, offset: 51465}, + label: "depth", + expr: &actionExpr{ + pos: position{line: 1564, col: 16, offset: 51472}, + run: (*parser).callonExtraListElement558, + expr: &oneOrMoreExpr{ + pos: position{line: 1564, col: 16, offset: 51472}, + expr: &litMatcher{ + pos: position{line: 1564, col: 17, offset: 51473}, + val: "*", + ignoreCase: false, + want: "\"*\"", + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 1568, col: 9, offset: 51573}, + run: (*parser).callonExtraListElement561, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1585, col: 14, offset: 52280}, + label: "depth", + expr: &actionExpr{ + pos: position{line: 1585, col: 21, offset: 52287}, + run: (*parser).callonExtraListElement563, + expr: &litMatcher{ + pos: position{line: 1585, col: 22, offset: 52288}, + val: "-", + ignoreCase: false, + want: "\"-\"", + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 3062, col: 11, offset: 99678}, + run: (*parser).callonExtraListElement565, + expr: &oneOrMoreExpr{ + pos: position{line: 3062, col: 11, offset: 99678}, + expr: &charClassMatcher{ + pos: position{line: 3062, col: 12, offset: 99679}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 1434, col: 9, offset: 47106}, + expr: &actionExpr{ + pos: position{line: 1668, col: 5, offset: 54630}, + run: (*parser).callonExtraListElement569, + expr: &seqExpr{ + pos: position{line: 1668, col: 5, offset: 54630}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1668, col: 5, offset: 54630}, + val: "<", + ignoreCase: false, + want: "\"<\"", + }, + &labeledExpr{ + pos: position{line: 1668, col: 9, offset: 54634}, + label: "ref", + expr: &actionExpr{ + pos: position{line: 1668, col: 14, offset: 54639}, + run: (*parser).callonExtraListElement573, + expr: &oneOrMoreExpr{ + pos: position{line: 1668, col: 14, offset: 54639}, + expr: &charClassMatcher{ + pos: position{line: 1668, col: 14, offset: 54639}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 1668, col: 62, offset: 54687}, + val: ">", + ignoreCase: false, + want: "\">\"", + }, + &actionExpr{ + pos: position{line: 3062, col: 11, offset: 99678}, + run: (*parser).callonExtraListElement577, + expr: &oneOrMoreExpr{ + pos: position{line: 3062, col: 11, offset: 99678}, + expr: &charClassMatcher{ + pos: position{line: 3062, col: 12, offset: 99679}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 1435, col: 9, offset: 47140}, + expr: &seqExpr{ + pos: position{line: 1435, col: 11, offset: 47142}, + exprs: []interface{}{ + &actionExpr{ + pos: position{line: 1612, col: 5, offset: 53008}, + run: (*parser).callonExtraListElement582, + expr: &oneOrMoreExpr{ + pos: position{line: 1612, col: 5, offset: 53008}, + expr: &seqExpr{ + pos: position{line: 1612, col: 6, offset: 53009}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 1612, col: 6, offset: 53009}, + expr: &actionExpr{ + pos: position{line: 1617, col: 5, offset: 53159}, + run: (*parser).callonExtraListElement586, + expr: &seqExpr{ + pos: position{line: 1617, col: 5, offset: 53159}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1617, col: 5, offset: 53159}, + label: "separator", + expr: &actionExpr{ + pos: position{line: 1617, col: 16, offset: 53170}, + run: (*parser).callonExtraListElement589, + expr: &oneOrMoreExpr{ + pos: position{line: 1617, col: 16, offset: 53170}, + expr: &litMatcher{ + pos: position{line: 1617, col: 17, offset: 53171}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 1620, col: 5, offset: 53228}, + run: (*parser).callonExtraListElement592, + }, + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 1612, col: 35, offset: 53038}, + expr: &choiceExpr{ + pos: position{line: 3074, col: 8, offset: 99935}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3067, col: 12, offset: 99795}, + run: (*parser).callonExtraListElement595, + expr: &choiceExpr{ + pos: position{line: 3067, col: 13, offset: 99796}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3067, col: 13, offset: 99796}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3067, col: 20, offset: 99803}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3067, col: 29, offset: 99812}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3071, col: 8, offset: 99885}, + expr: &anyMatcher{ + line: 3071, col: 9, offset: 99886, + }, + }, + }, + }, + }, + &anyMatcher{ + line: 1612, col: 40, offset: 53043, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1617, col: 5, offset: 53159}, + run: (*parser).callonExtraListElement603, + expr: &seqExpr{ + pos: position{line: 1617, col: 5, offset: 53159}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1617, col: 5, offset: 53159}, + label: "separator", + expr: &actionExpr{ + pos: position{line: 1617, col: 16, offset: 53170}, + run: (*parser).callonExtraListElement606, + expr: &oneOrMoreExpr{ + pos: position{line: 1617, col: 16, offset: 53170}, + expr: &litMatcher{ + pos: position{line: 1617, col: 17, offset: 53171}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 1620, col: 5, offset: 53228}, + run: (*parser).callonExtraListElement609, + }, + }, + }, + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 1436, col: 9, offset: 47202}, + expr: &actionExpr{ + pos: position{line: 729, col: 5, offset: 23543}, + run: (*parser).callonExtraListElement611, + expr: &seqExpr{ + pos: position{line: 729, col: 5, offset: 23543}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 729, col: 5, offset: 23543}, + expr: &charClassMatcher{ + pos: position{line: 2972, col: 13, offset: 96927}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + &labeledExpr{ + pos: position{line: 730, col: 5, offset: 23573}, + label: "delimiter", + expr: &choiceExpr{ + pos: position{line: 731, col: 9, offset: 23593}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 744, col: 26, offset: 24080}, + run: (*parser).callonExtraListElement617, + expr: &seqExpr{ + pos: position{line: 744, col: 26, offset: 24080}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 744, col: 26, offset: 24080}, + val: "////", + ignoreCase: false, + want: "\"////\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 744, col: 33, offset: 24087}, + expr: &actionExpr{ + pos: position{line: 3058, col: 10, offset: 99611}, + run: (*parser).callonExtraListElement621, + expr: &charClassMatcher{ + pos: position{line: 3058, col: 11, offset: 99612}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3074, col: 8, offset: 99935}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3067, col: 12, offset: 99795}, + run: (*parser).callonExtraListElement624, + expr: &choiceExpr{ + pos: position{line: 3067, col: 13, offset: 99796}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3067, col: 13, offset: 99796}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3067, col: 20, offset: 99803}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3067, col: 29, offset: 99812}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3071, col: 8, offset: 99885}, + expr: &anyMatcher{ + line: 3071, col: 9, offset: 99886, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 748, col: 26, offset: 24194}, + run: (*parser).callonExtraListElement631, + expr: &seqExpr{ + pos: position{line: 748, col: 26, offset: 24194}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 748, col: 26, offset: 24194}, + val: "====", + ignoreCase: false, + want: "\"====\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 748, col: 33, offset: 24201}, + expr: &actionExpr{ + pos: position{line: 3058, col: 10, offset: 99611}, + run: (*parser).callonExtraListElement635, + expr: &charClassMatcher{ + pos: position{line: 3058, col: 11, offset: 99612}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3074, col: 8, offset: 99935}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3067, col: 12, offset: 99795}, + run: (*parser).callonExtraListElement638, + expr: &choiceExpr{ + pos: position{line: 3067, col: 13, offset: 99796}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3067, col: 13, offset: 99796}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3067, col: 20, offset: 99803}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3067, col: 29, offset: 99812}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3071, col: 8, offset: 99885}, + expr: &anyMatcher{ + line: 3071, col: 9, offset: 99886, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 756, col: 26, offset: 24419}, + run: (*parser).callonExtraListElement645, + expr: &seqExpr{ + pos: position{line: 756, col: 26, offset: 24419}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 756, col: 26, offset: 24419}, + val: "```", + ignoreCase: false, + want: "\"```\"", + }, + &labeledExpr{ + pos: position{line: 756, col: 32, offset: 24425}, + label: "language", + expr: &actionExpr{ + pos: position{line: 760, col: 13, offset: 24555}, + run: (*parser).callonExtraListElement649, + expr: &oneOrMoreExpr{ + pos: position{line: 760, col: 14, offset: 24556}, + expr: &charClassMatcher{ + pos: position{line: 760, col: 14, offset: 24556}, + val: "[^\\r\\n ]", + chars: []rune{'\r', '\n', ' '}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 756, col: 52, offset: 24445}, + expr: &actionExpr{ + pos: position{line: 3058, col: 10, offset: 99611}, + run: (*parser).callonExtraListElement653, + expr: &charClassMatcher{ + pos: position{line: 3058, col: 11, offset: 99612}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3074, col: 8, offset: 99935}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3067, col: 12, offset: 99795}, + run: (*parser).callonExtraListElement656, + expr: &choiceExpr{ + pos: position{line: 3067, col: 13, offset: 99796}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3067, col: 13, offset: 99796}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3067, col: 20, offset: 99803}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3067, col: 29, offset: 99812}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3071, col: 8, offset: 99885}, + expr: &anyMatcher{ + line: 3071, col: 9, offset: 99886, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 752, col: 25, offset: 24307}, + run: (*parser).callonExtraListElement663, + expr: &seqExpr{ + pos: position{line: 752, col: 25, offset: 24307}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 752, col: 25, offset: 24307}, + val: "```", + ignoreCase: false, + want: "\"```\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 752, col: 31, offset: 24313}, + expr: &actionExpr{ + pos: position{line: 3058, col: 10, offset: 99611}, + run: (*parser).callonExtraListElement667, + expr: &charClassMatcher{ + pos: position{line: 3058, col: 11, offset: 99612}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3074, col: 8, offset: 99935}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3067, col: 12, offset: 99795}, + run: (*parser).callonExtraListElement670, + expr: &choiceExpr{ + pos: position{line: 3067, col: 13, offset: 99796}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3067, col: 13, offset: 99796}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3067, col: 20, offset: 99803}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3067, col: 29, offset: 99812}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3071, col: 8, offset: 99885}, + expr: &anyMatcher{ + line: 3071, col: 9, offset: 99886, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 764, col: 26, offset: 24628}, + run: (*parser).callonExtraListElement677, + expr: &seqExpr{ + pos: position{line: 764, col: 26, offset: 24628}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 764, col: 26, offset: 24628}, + val: "----", + ignoreCase: false, + want: "\"----\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 764, col: 33, offset: 24635}, + expr: &actionExpr{ + pos: position{line: 3058, col: 10, offset: 99611}, + run: (*parser).callonExtraListElement681, + expr: &charClassMatcher{ + pos: position{line: 3058, col: 11, offset: 99612}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3074, col: 8, offset: 99935}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3067, col: 12, offset: 99795}, + run: (*parser).callonExtraListElement684, + expr: &choiceExpr{ + pos: position{line: 3067, col: 13, offset: 99796}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3067, col: 13, offset: 99796}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3067, col: 20, offset: 99803}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3067, col: 29, offset: 99812}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3071, col: 8, offset: 99885}, + expr: &anyMatcher{ + line: 3071, col: 9, offset: 99886, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 768, col: 26, offset: 24742}, + run: (*parser).callonExtraListElement691, + expr: &seqExpr{ + pos: position{line: 768, col: 26, offset: 24742}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 768, col: 26, offset: 24742}, + val: "....", + ignoreCase: false, + want: "\"....\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 768, col: 33, offset: 24749}, + expr: &actionExpr{ + pos: position{line: 3058, col: 10, offset: 99611}, + run: (*parser).callonExtraListElement695, + expr: &charClassMatcher{ + pos: position{line: 3058, col: 11, offset: 99612}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3074, col: 8, offset: 99935}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3067, col: 12, offset: 99795}, + run: (*parser).callonExtraListElement698, + expr: &choiceExpr{ + pos: position{line: 3067, col: 13, offset: 99796}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3067, col: 13, offset: 99796}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3067, col: 20, offset: 99803}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3067, col: 29, offset: 99812}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3071, col: 8, offset: 99885}, + expr: &anyMatcher{ + line: 3071, col: 9, offset: 99886, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 772, col: 30, offset: 24860}, + run: (*parser).callonExtraListElement705, + expr: &seqExpr{ + pos: position{line: 772, col: 30, offset: 24860}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 772, col: 30, offset: 24860}, + val: "++++", + ignoreCase: false, + want: "\"++++\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 772, col: 37, offset: 24867}, + expr: &actionExpr{ + pos: position{line: 3058, col: 10, offset: 99611}, + run: (*parser).callonExtraListElement709, + expr: &charClassMatcher{ + pos: position{line: 3058, col: 11, offset: 99612}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3074, col: 8, offset: 99935}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3067, col: 12, offset: 99795}, + run: (*parser).callonExtraListElement712, + expr: &choiceExpr{ + pos: position{line: 3067, col: 13, offset: 99796}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3067, col: 13, offset: 99796}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3067, col: 20, offset: 99803}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3067, col: 29, offset: 99812}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3071, col: 8, offset: 99885}, + expr: &anyMatcher{ + line: 3071, col: 9, offset: 99886, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 776, col: 24, offset: 24976}, + run: (*parser).callonExtraListElement719, + expr: &seqExpr{ + pos: position{line: 776, col: 24, offset: 24976}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 776, col: 24, offset: 24976}, + val: "____", + ignoreCase: false, + want: "\"____\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 776, col: 31, offset: 24983}, + expr: &actionExpr{ + pos: position{line: 3058, col: 10, offset: 99611}, + run: (*parser).callonExtraListElement723, + expr: &charClassMatcher{ + pos: position{line: 3058, col: 11, offset: 99612}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3074, col: 8, offset: 99935}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3067, col: 12, offset: 99795}, + run: (*parser).callonExtraListElement726, + expr: &choiceExpr{ + pos: position{line: 3067, col: 13, offset: 99796}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3067, col: 13, offset: 99796}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3067, col: 20, offset: 99803}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3067, col: 29, offset: 99812}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3071, col: 8, offset: 99885}, + expr: &anyMatcher{ + line: 3071, col: 9, offset: 99886, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 780, col: 26, offset: 25088}, + run: (*parser).callonExtraListElement733, + expr: &seqExpr{ + pos: position{line: 780, col: 26, offset: 25088}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 780, col: 26, offset: 25088}, + val: "****", + ignoreCase: false, + want: "\"****\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 780, col: 33, offset: 25095}, + expr: &actionExpr{ + pos: position{line: 3058, col: 10, offset: 99611}, + run: (*parser).callonExtraListElement737, + expr: &charClassMatcher{ + pos: position{line: 3058, col: 11, offset: 99612}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3074, col: 8, offset: 99935}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3067, col: 12, offset: 99795}, + run: (*parser).callonExtraListElement740, + expr: &choiceExpr{ + pos: position{line: 3067, col: 13, offset: 99796}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3067, col: 13, offset: 99796}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3067, col: 20, offset: 99803}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3067, col: 29, offset: 99812}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3071, col: 8, offset: 99885}, + expr: &anyMatcher{ + line: 3071, col: 9, offset: 99886, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1437, col: 9, offset: 47226}, + label: "content", + expr: &actionExpr{ + pos: position{line: 1437, col: 18, offset: 47235}, + run: (*parser).callonExtraListElement748, + expr: &oneOrMoreExpr{ + pos: position{line: 1437, col: 18, offset: 47235}, + expr: &charClassMatcher{ + pos: position{line: 1437, col: 18, offset: 47235}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3074, col: 8, offset: 99935}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3067, col: 12, offset: 99795}, + run: (*parser).callonExtraListElement752, + expr: &choiceExpr{ + pos: position{line: 3067, col: 13, offset: 99796}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3067, col: 13, offset: 99796}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3067, col: 20, offset: 99803}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3067, col: 29, offset: 99812}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3071, col: 8, offset: 99885}, + expr: &anyMatcher{ + line: 3071, col: 9, offset: 99886, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1640, col: 9, offset: 53826}, + run: (*parser).callonExtraListElement759, + expr: &seqExpr{ + pos: position{line: 1640, col: 9, offset: 53826}, + exprs: []interface{}{ + &actionExpr{ + pos: position{line: 3062, col: 11, offset: 99678}, + run: (*parser).callonExtraListElement761, + expr: &oneOrMoreExpr{ + pos: position{line: 3062, col: 11, offset: 99678}, + expr: &charClassMatcher{ + pos: position{line: 3062, col: 12, offset: 99679}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1641, col: 9, offset: 53878}, + label: "content", + expr: &actionExpr{ + pos: position{line: 1641, col: 18, offset: 53887}, + run: (*parser).callonExtraListElement765, + expr: &oneOrMoreExpr{ + pos: position{line: 1641, col: 18, offset: 53887}, + expr: &charClassMatcher{ + pos: position{line: 1641, col: 18, offset: 53887}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3074, col: 8, offset: 99935}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3067, col: 12, offset: 99795}, + run: (*parser).callonExtraListElement769, + expr: &choiceExpr{ + pos: position{line: 3067, col: 13, offset: 99796}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3067, col: 13, offset: 99796}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3067, col: 20, offset: 99803}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3067, col: 29, offset: 99812}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3071, col: 8, offset: 99885}, + expr: &anyMatcher{ + line: 3071, col: 9, offset: 99886, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1399, col: 13, offset: 45812}, + run: (*parser).callonExtraListElement776, + expr: &seqExpr{ + pos: position{line: 1399, col: 13, offset: 45812}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1399, col: 13, offset: 45812}, + label: "attributes", + expr: &oneOrMoreExpr{ + pos: position{line: 1399, col: 24, offset: 45823}, + expr: &ruleRefExpr{ + pos: position{line: 1399, col: 25, offset: 45824}, + name: "BlockAttributes", + }, + }, + }, + &labeledExpr{ + pos: position{line: 1400, col: 13, offset: 45855}, + label: "element", + expr: &actionExpr{ + pos: position{line: 1604, col: 5, offset: 52749}, + run: (*parser).callonExtraListElement782, + expr: &seqExpr{ + pos: position{line: 1604, col: 5, offset: 52749}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1604, col: 5, offset: 52749}, + label: "term", + expr: &actionExpr{ + pos: position{line: 1612, col: 5, offset: 53008}, + run: (*parser).callonExtraListElement785, + expr: &oneOrMoreExpr{ + pos: position{line: 1612, col: 5, offset: 53008}, + expr: &seqExpr{ + pos: position{line: 1612, col: 6, offset: 53009}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 1612, col: 6, offset: 53009}, + expr: &actionExpr{ + pos: position{line: 1617, col: 5, offset: 53159}, + run: (*parser).callonExtraListElement789, + expr: &seqExpr{ + pos: position{line: 1617, col: 5, offset: 53159}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1617, col: 5, offset: 53159}, + label: "separator", + expr: &actionExpr{ + pos: position{line: 1617, col: 16, offset: 53170}, + run: (*parser).callonExtraListElement792, + expr: &oneOrMoreExpr{ + pos: position{line: 1617, col: 16, offset: 53170}, + expr: &litMatcher{ + pos: position{line: 1617, col: 17, offset: 53171}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 1620, col: 5, offset: 53228}, + run: (*parser).callonExtraListElement795, + }, + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 1612, col: 35, offset: 53038}, + expr: &choiceExpr{ + pos: position{line: 3074, col: 8, offset: 99935}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3067, col: 12, offset: 99795}, + run: (*parser).callonExtraListElement798, + expr: &choiceExpr{ + pos: position{line: 3067, col: 13, offset: 99796}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3067, col: 13, offset: 99796}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3067, col: 20, offset: 99803}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3067, col: 29, offset: 99812}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3071, col: 8, offset: 99885}, + expr: &anyMatcher{ + line: 3071, col: 9, offset: 99886, + }, + }, + }, + }, + }, + &anyMatcher{ + line: 1612, col: 40, offset: 53043, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1605, col: 5, offset: 52784}, + label: "separator", + expr: &actionExpr{ + pos: position{line: 1617, col: 5, offset: 53159}, + run: (*parser).callonExtraListElement807, + expr: &seqExpr{ + pos: position{line: 1617, col: 5, offset: 53159}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1617, col: 5, offset: 53159}, + label: "separator", + expr: &actionExpr{ + pos: position{line: 1617, col: 16, offset: 53170}, + run: (*parser).callonExtraListElement810, + expr: &oneOrMoreExpr{ + pos: position{line: 1617, col: 16, offset: 53170}, + expr: &litMatcher{ + pos: position{line: 1617, col: 17, offset: 53171}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 1620, col: 5, offset: 53228}, + run: (*parser).callonExtraListElement813, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1606, col: 5, offset: 52829}, + label: "description", + expr: &choiceExpr{ + pos: position{line: 1628, col: 5, offset: 53478}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 1630, col: 9, offset: 53543}, + run: (*parser).callonExtraListElement816, + expr: &seqExpr{ + pos: position{line: 1630, col: 9, offset: 53543}, + exprs: []interface{}{ + &zeroOrMoreExpr{ + pos: position{line: 1630, col: 9, offset: 53543}, + expr: &actionExpr{ + pos: position{line: 3058, col: 10, offset: 99611}, + run: (*parser).callonExtraListElement819, + expr: &charClassMatcher{ + pos: position{line: 3058, col: 11, offset: 99612}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3074, col: 8, offset: 99935}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3067, col: 12, offset: 99795}, + run: (*parser).callonExtraListElement822, + expr: &choiceExpr{ + pos: position{line: 3067, col: 13, offset: 99796}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3067, col: 13, offset: 99796}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3067, col: 20, offset: 99803}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3067, col: 29, offset: 99812}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3071, col: 8, offset: 99885}, + expr: &anyMatcher{ + line: 3071, col: 9, offset: 99886, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 1631, col: 9, offset: 53563}, + expr: &actionExpr{ + pos: position{line: 683, col: 14, offset: 22008}, + run: (*parser).callonExtraListElement830, + expr: &seqExpr{ + pos: position{line: 683, col: 14, offset: 22008}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 683, col: 14, offset: 22008}, + expr: ¬Expr{ + pos: position{line: 3071, col: 8, offset: 99885}, + expr: &anyMatcher{ + line: 3071, col: 9, offset: 99886, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 683, col: 19, offset: 22013}, + expr: &actionExpr{ + pos: position{line: 3058, col: 10, offset: 99611}, + run: (*parser).callonExtraListElement836, + expr: &charClassMatcher{ + pos: position{line: 3058, col: 11, offset: 99612}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3074, col: 8, offset: 99935}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3067, col: 12, offset: 99795}, + run: (*parser).callonExtraListElement839, + expr: &choiceExpr{ + pos: position{line: 3067, col: 13, offset: 99796}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3067, col: 13, offset: 99796}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3067, col: 20, offset: 99803}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3067, col: 29, offset: 99812}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3071, col: 8, offset: 99885}, + expr: &anyMatcher{ + line: 3071, col: 9, offset: 99886, + }, + }, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1632, col: 9, offset: 53583}, + label: "content", + expr: &zeroOrOneExpr{ + pos: position{line: 1632, col: 17, offset: 53591}, + expr: &choiceExpr{ + pos: position{line: 1426, col: 5, offset: 46825}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 1426, col: 5, offset: 46825}, + run: (*parser).callonExtraListElement849, + expr: &actionExpr{ + pos: position{line: 2760, col: 22, offset: 90461}, + run: (*parser).callonExtraListElement850, + expr: &seqExpr{ + pos: position{line: 2760, col: 22, offset: 90461}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2765, col: 31, offset: 90682}, + val: "//", + ignoreCase: false, + want: "\"//\"", + }, + ¬Expr{ + pos: position{line: 2765, col: 36, offset: 90687}, + expr: &litMatcher{ + pos: position{line: 2765, col: 37, offset: 90688}, + val: "//", + ignoreCase: false, + want: "\"//\"", + }, + }, + &labeledExpr{ + pos: position{line: 2760, col: 49, offset: 90488}, + label: "content", + expr: &actionExpr{ + pos: position{line: 2767, col: 29, offset: 90723}, + run: (*parser).callonExtraListElement856, + expr: &zeroOrMoreExpr{ + pos: position{line: 2767, col: 29, offset: 90723}, + expr: &charClassMatcher{ + pos: position{line: 2767, col: 29, offset: 90723}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3074, col: 8, offset: 99935}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3067, col: 12, offset: 99795}, + run: (*parser).callonExtraListElement860, + expr: &choiceExpr{ + pos: position{line: 3067, col: 13, offset: 99796}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3067, col: 13, offset: 99796}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3067, col: 20, offset: 99803}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3067, col: 29, offset: 99812}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3071, col: 8, offset: 99885}, + expr: &anyMatcher{ + line: 3071, col: 9, offset: 99886, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1430, col: 9, offset: 46978}, + run: (*parser).callonExtraListElement867, + expr: &seqExpr{ + pos: position{line: 1430, col: 9, offset: 46978}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 1430, col: 9, offset: 46978}, + expr: &actionExpr{ + pos: position{line: 683, col: 14, offset: 22008}, + run: (*parser).callonExtraListElement870, + expr: &seqExpr{ + pos: position{line: 683, col: 14, offset: 22008}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 683, col: 14, offset: 22008}, + expr: ¬Expr{ + pos: position{line: 3071, col: 8, offset: 99885}, + expr: &anyMatcher{ + line: 3071, col: 9, offset: 99886, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 683, col: 19, offset: 22013}, + expr: &actionExpr{ + pos: position{line: 3058, col: 10, offset: 99611}, + run: (*parser).callonExtraListElement876, + expr: &charClassMatcher{ + pos: position{line: 3058, col: 11, offset: 99612}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3074, col: 8, offset: 99935}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3067, col: 12, offset: 99795}, + run: (*parser).callonExtraListElement879, + expr: &choiceExpr{ + pos: position{line: 3067, col: 13, offset: 99796}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3067, col: 13, offset: 99796}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3067, col: 20, offset: 99803}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3067, col: 29, offset: 99812}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3071, col: 8, offset: 99885}, + expr: &anyMatcher{ + line: 3071, col: 9, offset: 99886, + }, + }, + }, + }, + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 1431, col: 9, offset: 46997}, + expr: &seqExpr{ + pos: position{line: 1464, col: 34, offset: 47957}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1464, col: 34, offset: 47957}, + val: "+", + ignoreCase: false, + want: "\"+\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 1464, col: 38, offset: 47961}, + expr: &actionExpr{ + pos: position{line: 3058, col: 10, offset: 99611}, + run: (*parser).callonExtraListElement890, + expr: &charClassMatcher{ + pos: position{line: 3058, col: 11, offset: 99612}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &actionExpr{ + pos: position{line: 3067, col: 12, offset: 99795}, + run: (*parser).callonExtraListElement892, + expr: &choiceExpr{ + pos: position{line: 3067, col: 13, offset: 99796}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3067, col: 13, offset: 99796}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3067, col: 20, offset: 99803}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3067, col: 29, offset: 99812}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 1432, col: 9, offset: 47036}, + expr: &actionExpr{ + pos: position{line: 1512, col: 5, offset: 49431}, + run: (*parser).callonExtraListElement898, + expr: &seqExpr{ + pos: position{line: 1512, col: 5, offset: 49431}, + exprs: []interface{}{ + &zeroOrMoreExpr{ + pos: position{line: 1512, col: 5, offset: 49431}, + expr: &actionExpr{ + pos: position{line: 3058, col: 10, offset: 99611}, + run: (*parser).callonExtraListElement901, + expr: &charClassMatcher{ + pos: position{line: 3058, col: 11, offset: 99612}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1512, col: 12, offset: 49438}, + label: "prefix", + expr: &choiceExpr{ + pos: position{line: 1514, col: 9, offset: 49501}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 1514, col: 9, offset: 49501}, + run: (*parser).callonExtraListElement905, + expr: &seqExpr{ + pos: position{line: 1514, col: 9, offset: 49501}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1514, col: 9, offset: 49501}, + label: "depth", + expr: &actionExpr{ + pos: position{line: 1514, col: 16, offset: 49508}, + run: (*parser).callonExtraListElement908, + expr: &oneOrMoreExpr{ + pos: position{line: 1514, col: 16, offset: 49508}, + expr: &litMatcher{ + pos: position{line: 1514, col: 17, offset: 49509}, + val: ".", + ignoreCase: false, + want: "\".\"", + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 1518, col: 9, offset: 49609}, + run: (*parser).callonExtraListElement911, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1537, col: 11, offset: 50326}, + run: (*parser).callonExtraListElement912, + expr: &seqExpr{ + pos: position{line: 1537, col: 11, offset: 50326}, + exprs: []interface{}{ + &oneOrMoreExpr{ + pos: position{line: 1537, col: 11, offset: 50326}, + expr: &charClassMatcher{ + pos: position{line: 1537, col: 12, offset: 50327}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + &litMatcher{ + pos: position{line: 1537, col: 20, offset: 50335}, + val: ".", + ignoreCase: false, + want: "\".\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1539, col: 13, offset: 50452}, + run: (*parser).callonExtraListElement917, + expr: &seqExpr{ + pos: position{line: 1539, col: 13, offset: 50452}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 1539, col: 14, offset: 50453}, + val: "[a-z]", + ranges: []rune{'a', 'z'}, + ignoreCase: false, + inverted: false, + }, + &litMatcher{ + pos: position{line: 1539, col: 21, offset: 50460}, + val: ".", + ignoreCase: false, + want: "\".\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1541, col: 13, offset: 50580}, + run: (*parser).callonExtraListElement921, + expr: &seqExpr{ + pos: position{line: 1541, col: 13, offset: 50580}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 1541, col: 14, offset: 50581}, + val: "[A-Z]", + ranges: []rune{'A', 'Z'}, + ignoreCase: false, + inverted: false, + }, + &litMatcher{ + pos: position{line: 1541, col: 21, offset: 50588}, + val: ".", + ignoreCase: false, + want: "\".\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1543, col: 13, offset: 50708}, + run: (*parser).callonExtraListElement925, + expr: &seqExpr{ + pos: position{line: 1543, col: 13, offset: 50708}, + exprs: []interface{}{ + &oneOrMoreExpr{ + pos: position{line: 1543, col: 13, offset: 50708}, + expr: &charClassMatcher{ + pos: position{line: 1543, col: 14, offset: 50709}, + val: "[ivxdlcm]", + chars: []rune{'i', 'v', 'x', 'd', 'l', 'c', 'm'}, + ignoreCase: false, + inverted: false, + }, + }, + &litMatcher{ + pos: position{line: 1543, col: 26, offset: 50721}, + val: ")", + ignoreCase: false, + want: "\")\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1545, col: 13, offset: 50841}, + run: (*parser).callonExtraListElement930, + expr: &seqExpr{ + pos: position{line: 1545, col: 13, offset: 50841}, + exprs: []interface{}{ + &oneOrMoreExpr{ + pos: position{line: 1545, col: 13, offset: 50841}, + expr: &charClassMatcher{ + pos: position{line: 1545, col: 14, offset: 50842}, + val: "[IVXDLCM]", + chars: []rune{'I', 'V', 'X', 'D', 'L', 'C', 'M'}, + ignoreCase: false, + inverted: false, + }, + }, + &litMatcher{ + pos: position{line: 1545, col: 26, offset: 50854}, + val: ")", + ignoreCase: false, + want: "\")\"", + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 3062, col: 11, offset: 99678}, + run: (*parser).callonExtraListElement935, + expr: &oneOrMoreExpr{ + pos: position{line: 3062, col: 11, offset: 99678}, + expr: &charClassMatcher{ + pos: position{line: 3062, col: 12, offset: 99679}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 1433, col: 9, offset: 47070}, + expr: &actionExpr{ + pos: position{line: 1562, col: 5, offset: 51393}, + run: (*parser).callonExtraListElement939, + expr: &seqExpr{ + pos: position{line: 1562, col: 5, offset: 51393}, + exprs: []interface{}{ + &zeroOrMoreExpr{ + pos: position{line: 1562, col: 5, offset: 51393}, + expr: &actionExpr{ + pos: position{line: 3058, col: 10, offset: 99611}, + run: (*parser).callonExtraListElement942, + expr: &charClassMatcher{ + pos: position{line: 3058, col: 11, offset: 99612}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1562, col: 12, offset: 51400}, + label: "prefix", + expr: &choiceExpr{ + pos: position{line: 1562, col: 20, offset: 51408}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 1564, col: 9, offset: 51465}, + run: (*parser).callonExtraListElement946, + expr: &seqExpr{ + pos: position{line: 1564, col: 9, offset: 51465}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1564, col: 9, offset: 51465}, + label: "depth", + expr: &actionExpr{ + pos: position{line: 1564, col: 16, offset: 51472}, + run: (*parser).callonExtraListElement949, + expr: &oneOrMoreExpr{ + pos: position{line: 1564, col: 16, offset: 51472}, + expr: &litMatcher{ + pos: position{line: 1564, col: 17, offset: 51473}, + val: "*", ignoreCase: false, want: "\"*\"", }, @@ -30028,20 +33612,20 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1548, col: 9, offset: 51071}, + pos: position{line: 1568, col: 9, offset: 51573}, run: (*parser).callonExtraListElement952, }, }, }, }, &labeledExpr{ - pos: position{line: 1565, col: 14, offset: 51778}, + pos: position{line: 1585, col: 14, offset: 52280}, label: "depth", expr: &actionExpr{ - pos: position{line: 1565, col: 21, offset: 51785}, + pos: position{line: 1585, col: 21, offset: 52287}, run: (*parser).callonExtraListElement954, expr: &litMatcher{ - pos: position{line: 1565, col: 22, offset: 51786}, + pos: position{line: 1585, col: 22, offset: 52288}, val: "-", ignoreCase: false, want: "\"-\"", @@ -30052,12 +33636,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2903, col: 11, offset: 96254}, + pos: position{line: 3062, col: 11, offset: 99678}, run: (*parser).callonExtraListElement956, expr: &oneOrMoreExpr{ - pos: position{line: 2903, col: 11, offset: 96254}, + pos: position{line: 3062, col: 11, offset: 99678}, expr: &charClassMatcher{ - pos: position{line: 2903, col: 12, offset: 96255}, + pos: position{line: 3062, col: 12, offset: 99679}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -30070,29 +33654,29 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 1414, col: 9, offset: 46604}, + pos: position{line: 1434, col: 9, offset: 47106}, expr: &actionExpr{ - pos: position{line: 1648, col: 5, offset: 54128}, + pos: position{line: 1668, col: 5, offset: 54630}, run: (*parser).callonExtraListElement960, expr: &seqExpr{ - pos: position{line: 1648, col: 5, offset: 54128}, + pos: position{line: 1668, col: 5, offset: 54630}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1648, col: 5, offset: 54128}, + pos: position{line: 1668, col: 5, offset: 54630}, val: "<", ignoreCase: false, want: "\"<\"", }, &labeledExpr{ - pos: position{line: 1648, col: 9, offset: 54132}, + pos: position{line: 1668, col: 9, offset: 54634}, label: "ref", expr: &actionExpr{ - pos: position{line: 1648, col: 14, offset: 54137}, + pos: position{line: 1668, col: 14, offset: 54639}, run: (*parser).callonExtraListElement964, expr: &oneOrMoreExpr{ - pos: position{line: 1648, col: 14, offset: 54137}, + pos: position{line: 1668, col: 14, offset: 54639}, expr: &charClassMatcher{ - pos: position{line: 1648, col: 14, offset: 54137}, + pos: position{line: 1668, col: 14, offset: 54639}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -30102,18 +33686,18 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1648, col: 62, offset: 54185}, + pos: position{line: 1668, col: 62, offset: 54687}, val: ">", ignoreCase: false, want: "\">\"", }, &actionExpr{ - pos: position{line: 2903, col: 11, offset: 96254}, + pos: position{line: 3062, col: 11, offset: 99678}, run: (*parser).callonExtraListElement968, expr: &oneOrMoreExpr{ - pos: position{line: 2903, col: 11, offset: 96254}, + pos: position{line: 3062, col: 11, offset: 99678}, expr: &charClassMatcher{ - pos: position{line: 2903, col: 12, offset: 96255}, + pos: position{line: 3062, col: 12, offset: 99679}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -30126,36 +33710,36 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 1415, col: 9, offset: 46638}, + pos: position{line: 1435, col: 9, offset: 47140}, expr: &seqExpr{ - pos: position{line: 1415, col: 11, offset: 46640}, + pos: position{line: 1435, col: 11, offset: 47142}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 1592, col: 5, offset: 52506}, + pos: position{line: 1612, col: 5, offset: 53008}, run: (*parser).callonExtraListElement973, expr: &oneOrMoreExpr{ - pos: position{line: 1592, col: 5, offset: 52506}, + pos: position{line: 1612, col: 5, offset: 53008}, expr: &seqExpr{ - pos: position{line: 1592, col: 6, offset: 52507}, + pos: position{line: 1612, col: 6, offset: 53009}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 1592, col: 6, offset: 52507}, + pos: position{line: 1612, col: 6, offset: 53009}, expr: &actionExpr{ - pos: position{line: 1597, col: 5, offset: 52657}, + pos: position{line: 1617, col: 5, offset: 53159}, run: (*parser).callonExtraListElement977, expr: &seqExpr{ - pos: position{line: 1597, col: 5, offset: 52657}, + pos: position{line: 1617, col: 5, offset: 53159}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1597, col: 5, offset: 52657}, + pos: position{line: 1617, col: 5, offset: 53159}, label: "separator", expr: &actionExpr{ - pos: position{line: 1597, col: 16, offset: 52668}, + pos: position{line: 1617, col: 16, offset: 53170}, run: (*parser).callonExtraListElement980, expr: &oneOrMoreExpr{ - pos: position{line: 1597, col: 16, offset: 52668}, + pos: position{line: 1617, col: 16, offset: 53170}, expr: &litMatcher{ - pos: position{line: 1597, col: 17, offset: 52669}, + pos: position{line: 1617, col: 17, offset: 53171}, val: ":", ignoreCase: false, want: "\":\"", @@ -30164,7 +33748,7 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1600, col: 5, offset: 52726}, + pos: position{line: 1620, col: 5, offset: 53228}, run: (*parser).callonExtraListElement983, }, }, @@ -30172,30 +33756,30 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 1592, col: 35, offset: 52536}, + pos: position{line: 1612, col: 35, offset: 53038}, expr: &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonExtraListElement986, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -30204,37 +33788,37 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, }, }, &anyMatcher{ - line: 1592, col: 40, offset: 52541, + line: 1612, col: 40, offset: 53043, }, }, }, }, }, &actionExpr{ - pos: position{line: 1597, col: 5, offset: 52657}, + pos: position{line: 1617, col: 5, offset: 53159}, run: (*parser).callonExtraListElement994, expr: &seqExpr{ - pos: position{line: 1597, col: 5, offset: 52657}, + pos: position{line: 1617, col: 5, offset: 53159}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1597, col: 5, offset: 52657}, + pos: position{line: 1617, col: 5, offset: 53159}, label: "separator", expr: &actionExpr{ - pos: position{line: 1597, col: 16, offset: 52668}, + pos: position{line: 1617, col: 16, offset: 53170}, run: (*parser).callonExtraListElement997, expr: &oneOrMoreExpr{ - pos: position{line: 1597, col: 16, offset: 52668}, + pos: position{line: 1617, col: 16, offset: 53170}, expr: &litMatcher{ - pos: position{line: 1597, col: 17, offset: 52669}, + pos: position{line: 1617, col: 17, offset: 53171}, val: ":", ignoreCase: false, want: "\":\"", @@ -30243,7 +33827,7 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1600, col: 5, offset: 52726}, + pos: position{line: 1620, col: 5, offset: 53228}, run: (*parser).callonExtraListElement1000, }, }, @@ -30253,17 +33837,17 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 1416, col: 9, offset: 46700}, + pos: position{line: 1436, col: 9, offset: 47202}, expr: &actionExpr{ - pos: position{line: 731, col: 5, offset: 23680}, + pos: position{line: 729, col: 5, offset: 23543}, run: (*parser).callonExtraListElement1002, expr: &seqExpr{ - pos: position{line: 731, col: 5, offset: 23680}, + pos: position{line: 729, col: 5, offset: 23543}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 731, col: 5, offset: 23680}, + pos: position{line: 729, col: 5, offset: 23543}, expr: &charClassMatcher{ - pos: position{line: 2813, col: 13, offset: 93503}, + pos: position{line: 2972, col: 13, offset: 96927}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -30272,30 +33856,30 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 732, col: 5, offset: 23710}, + pos: position{line: 730, col: 5, offset: 23573}, label: "delimiter", expr: &choiceExpr{ - pos: position{line: 733, col: 9, offset: 23730}, + pos: position{line: 731, col: 9, offset: 23593}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 746, col: 26, offset: 24217}, + pos: position{line: 744, col: 26, offset: 24080}, run: (*parser).callonExtraListElement1008, expr: &seqExpr{ - pos: position{line: 746, col: 26, offset: 24217}, + pos: position{line: 744, col: 26, offset: 24080}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 746, col: 26, offset: 24217}, + pos: position{line: 744, col: 26, offset: 24080}, val: "////", ignoreCase: false, want: "\"////\"", }, &zeroOrMoreExpr{ - pos: position{line: 746, col: 33, offset: 24224}, + pos: position{line: 744, col: 33, offset: 24087}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonExtraListElement1012, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -30304,28 +33888,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonExtraListElement1015, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -30334,9 +33918,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -30345,24 +33929,24 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 750, col: 26, offset: 24331}, + pos: position{line: 748, col: 26, offset: 24194}, run: (*parser).callonExtraListElement1022, expr: &seqExpr{ - pos: position{line: 750, col: 26, offset: 24331}, + pos: position{line: 748, col: 26, offset: 24194}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 750, col: 26, offset: 24331}, + pos: position{line: 748, col: 26, offset: 24194}, val: "====", ignoreCase: false, want: "\"====\"", }, &zeroOrMoreExpr{ - pos: position{line: 750, col: 33, offset: 24338}, + pos: position{line: 748, col: 33, offset: 24201}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonExtraListElement1026, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -30371,28 +33955,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonExtraListElement1029, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -30401,9 +33985,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -30412,27 +33996,27 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 758, col: 26, offset: 24556}, + pos: position{line: 756, col: 26, offset: 24419}, run: (*parser).callonExtraListElement1036, expr: &seqExpr{ - pos: position{line: 758, col: 26, offset: 24556}, + pos: position{line: 756, col: 26, offset: 24419}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 758, col: 26, offset: 24556}, + pos: position{line: 756, col: 26, offset: 24419}, val: "```", ignoreCase: false, want: "\"```\"", }, &labeledExpr{ - pos: position{line: 758, col: 32, offset: 24562}, + pos: position{line: 756, col: 32, offset: 24425}, label: "language", expr: &actionExpr{ - pos: position{line: 762, col: 13, offset: 24692}, + pos: position{line: 760, col: 13, offset: 24555}, run: (*parser).callonExtraListElement1040, expr: &oneOrMoreExpr{ - pos: position{line: 762, col: 14, offset: 24693}, + pos: position{line: 760, col: 14, offset: 24556}, expr: &charClassMatcher{ - pos: position{line: 762, col: 14, offset: 24693}, + pos: position{line: 760, col: 14, offset: 24556}, val: "[^\\r\\n ]", chars: []rune{'\r', '\n', ' '}, ignoreCase: false, @@ -30442,12 +34026,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 758, col: 52, offset: 24582}, + pos: position{line: 756, col: 52, offset: 24445}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonExtraListElement1044, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -30456,28 +34040,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonExtraListElement1047, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -30486,9 +34070,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -30497,24 +34081,24 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 754, col: 25, offset: 24444}, + pos: position{line: 752, col: 25, offset: 24307}, run: (*parser).callonExtraListElement1054, expr: &seqExpr{ - pos: position{line: 754, col: 25, offset: 24444}, + pos: position{line: 752, col: 25, offset: 24307}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 754, col: 25, offset: 24444}, + pos: position{line: 752, col: 25, offset: 24307}, val: "```", ignoreCase: false, want: "\"```\"", }, &zeroOrMoreExpr{ - pos: position{line: 754, col: 31, offset: 24450}, + pos: position{line: 752, col: 31, offset: 24313}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonExtraListElement1058, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -30523,28 +34107,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonExtraListElement1061, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -30553,9 +34137,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -30564,24 +34148,24 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 766, col: 26, offset: 24765}, + pos: position{line: 764, col: 26, offset: 24628}, run: (*parser).callonExtraListElement1068, expr: &seqExpr{ - pos: position{line: 766, col: 26, offset: 24765}, + pos: position{line: 764, col: 26, offset: 24628}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 766, col: 26, offset: 24765}, + pos: position{line: 764, col: 26, offset: 24628}, val: "----", ignoreCase: false, want: "\"----\"", }, &zeroOrMoreExpr{ - pos: position{line: 766, col: 33, offset: 24772}, + pos: position{line: 764, col: 33, offset: 24635}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonExtraListElement1072, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -30590,28 +34174,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonExtraListElement1075, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -30620,9 +34204,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -30631,24 +34215,24 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 770, col: 26, offset: 24879}, + pos: position{line: 768, col: 26, offset: 24742}, run: (*parser).callonExtraListElement1082, expr: &seqExpr{ - pos: position{line: 770, col: 26, offset: 24879}, + pos: position{line: 768, col: 26, offset: 24742}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 770, col: 26, offset: 24879}, + pos: position{line: 768, col: 26, offset: 24742}, val: "....", ignoreCase: false, want: "\"....\"", }, &zeroOrMoreExpr{ - pos: position{line: 770, col: 33, offset: 24886}, + pos: position{line: 768, col: 33, offset: 24749}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonExtraListElement1086, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -30657,28 +34241,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonExtraListElement1089, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -30687,9 +34271,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -30698,24 +34282,24 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 774, col: 30, offset: 24997}, + pos: position{line: 772, col: 30, offset: 24860}, run: (*parser).callonExtraListElement1096, expr: &seqExpr{ - pos: position{line: 774, col: 30, offset: 24997}, + pos: position{line: 772, col: 30, offset: 24860}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 774, col: 30, offset: 24997}, + pos: position{line: 772, col: 30, offset: 24860}, val: "++++", ignoreCase: false, want: "\"++++\"", }, &zeroOrMoreExpr{ - pos: position{line: 774, col: 37, offset: 25004}, + pos: position{line: 772, col: 37, offset: 24867}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonExtraListElement1100, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -30724,28 +34308,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonExtraListElement1103, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -30754,9 +34338,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -30765,24 +34349,24 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 778, col: 24, offset: 25113}, + pos: position{line: 776, col: 24, offset: 24976}, run: (*parser).callonExtraListElement1110, expr: &seqExpr{ - pos: position{line: 778, col: 24, offset: 25113}, + pos: position{line: 776, col: 24, offset: 24976}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 778, col: 24, offset: 25113}, + pos: position{line: 776, col: 24, offset: 24976}, val: "____", ignoreCase: false, want: "\"____\"", }, &zeroOrMoreExpr{ - pos: position{line: 778, col: 31, offset: 25120}, + pos: position{line: 776, col: 31, offset: 24983}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonExtraListElement1114, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -30791,28 +34375,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonExtraListElement1117, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -30821,9 +34405,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -30832,24 +34416,24 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 782, col: 26, offset: 25225}, + pos: position{line: 780, col: 26, offset: 25088}, run: (*parser).callonExtraListElement1124, expr: &seqExpr{ - pos: position{line: 782, col: 26, offset: 25225}, + pos: position{line: 780, col: 26, offset: 25088}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 782, col: 26, offset: 25225}, + pos: position{line: 780, col: 26, offset: 25088}, val: "****", ignoreCase: false, want: "\"****\"", }, &zeroOrMoreExpr{ - pos: position{line: 782, col: 33, offset: 25232}, + pos: position{line: 780, col: 33, offset: 25095}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonExtraListElement1128, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -30858,28 +34442,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonExtraListElement1131, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -30888,9 +34472,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -30906,15 +34490,15 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1417, col: 9, offset: 46724}, + pos: position{line: 1437, col: 9, offset: 47226}, label: "content", expr: &actionExpr{ - pos: position{line: 1417, col: 18, offset: 46733}, + pos: position{line: 1437, col: 18, offset: 47235}, run: (*parser).callonExtraListElement1139, expr: &oneOrMoreExpr{ - pos: position{line: 1417, col: 18, offset: 46733}, + pos: position{line: 1437, col: 18, offset: 47235}, expr: &charClassMatcher{ - pos: position{line: 1417, col: 18, offset: 46733}, + pos: position{line: 1437, col: 18, offset: 47235}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -30924,28 +34508,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonExtraListElement1143, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -30954,9 +34538,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -30972,18 +34556,18 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1620, col: 9, offset: 53324}, + pos: position{line: 1640, col: 9, offset: 53826}, run: (*parser).callonExtraListElement1150, expr: &seqExpr{ - pos: position{line: 1620, col: 9, offset: 53324}, + pos: position{line: 1640, col: 9, offset: 53826}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 2903, col: 11, offset: 96254}, + pos: position{line: 3062, col: 11, offset: 99678}, run: (*parser).callonExtraListElement1152, expr: &oneOrMoreExpr{ - pos: position{line: 2903, col: 11, offset: 96254}, + pos: position{line: 3062, col: 11, offset: 99678}, expr: &charClassMatcher{ - pos: position{line: 2903, col: 12, offset: 96255}, + pos: position{line: 3062, col: 12, offset: 99679}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -30992,15 +34576,15 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1621, col: 9, offset: 53376}, + pos: position{line: 1641, col: 9, offset: 53878}, label: "content", expr: &actionExpr{ - pos: position{line: 1621, col: 18, offset: 53385}, + pos: position{line: 1641, col: 18, offset: 53887}, run: (*parser).callonExtraListElement1156, expr: &oneOrMoreExpr{ - pos: position{line: 1621, col: 18, offset: 53385}, + pos: position{line: 1641, col: 18, offset: 53887}, expr: &charClassMatcher{ - pos: position{line: 1621, col: 18, offset: 53385}, + pos: position{line: 1641, col: 18, offset: 53887}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -31010,28 +34594,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonExtraListElement1160, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -31040,9 +34624,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -31061,36 +34645,36 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2616, col: 22, offset: 87547}, + pos: position{line: 2760, col: 22, offset: 90461}, run: (*parser).callonExtraListElement1167, expr: &seqExpr{ - pos: position{line: 2616, col: 22, offset: 87547}, + pos: position{line: 2760, col: 22, offset: 90461}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2621, col: 31, offset: 87768}, + pos: position{line: 2765, col: 31, offset: 90682}, val: "//", ignoreCase: false, want: "\"//\"", }, ¬Expr{ - pos: position{line: 2621, col: 36, offset: 87773}, + pos: position{line: 2765, col: 36, offset: 90687}, expr: &litMatcher{ - pos: position{line: 2621, col: 37, offset: 87774}, + pos: position{line: 2765, col: 37, offset: 90688}, val: "//", ignoreCase: false, want: "\"//\"", }, }, &labeledExpr{ - pos: position{line: 2616, col: 49, offset: 87574}, + pos: position{line: 2760, col: 49, offset: 90488}, label: "content", expr: &actionExpr{ - pos: position{line: 2623, col: 29, offset: 87809}, + pos: position{line: 2767, col: 29, offset: 90723}, run: (*parser).callonExtraListElement1173, expr: &zeroOrMoreExpr{ - pos: position{line: 2623, col: 29, offset: 87809}, + pos: position{line: 2767, col: 29, offset: 90723}, expr: &charClassMatcher{ - pos: position{line: 2623, col: 29, offset: 87809}, + pos: position{line: 2767, col: 29, offset: 90723}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -31100,28 +34684,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonExtraListElement1177, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -31130,9 +34714,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -31141,35 +34725,35 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1384, col: 13, offset: 45509}, + pos: position{line: 1404, col: 13, offset: 46011}, run: (*parser).callonExtraListElement1184, expr: &seqExpr{ - pos: position{line: 1384, col: 13, offset: 45509}, + pos: position{line: 1404, col: 13, offset: 46011}, exprs: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 1384, col: 13, offset: 45509}, + pos: position{line: 1404, col: 13, offset: 46011}, expr: &actionExpr{ - pos: position{line: 685, col: 14, offset: 22145}, + pos: position{line: 683, col: 14, offset: 22008}, run: (*parser).callonExtraListElement1187, expr: &seqExpr{ - pos: position{line: 685, col: 14, offset: 22145}, + pos: position{line: 683, col: 14, offset: 22008}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 685, col: 14, offset: 22145}, + pos: position{line: 683, col: 14, offset: 22008}, expr: ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, &zeroOrMoreExpr{ - pos: position{line: 685, col: 19, offset: 22150}, + pos: position{line: 683, col: 19, offset: 22013}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonExtraListElement1193, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -31178,28 +34762,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonExtraListElement1196, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -31208,9 +34792,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -31220,50 +34804,50 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1385, col: 13, offset: 45532}, + pos: position{line: 1405, col: 13, offset: 46034}, label: "attributes", expr: &zeroOrMoreExpr{ - pos: position{line: 1385, col: 24, offset: 45543}, + pos: position{line: 1405, col: 24, offset: 46045}, expr: &ruleRefExpr{ - pos: position{line: 1385, col: 25, offset: 45544}, + pos: position{line: 1405, col: 25, offset: 46046}, name: "BlockAttributes", }, }, }, &labeledExpr{ - pos: position{line: 1386, col: 13, offset: 45575}, + pos: position{line: 1406, col: 13, offset: 46077}, label: "element", expr: &actionExpr{ - pos: position{line: 1727, col: 5, offset: 56735}, + pos: position{line: 1747, col: 5, offset: 57237}, run: (*parser).callonExtraListElement1207, expr: &seqExpr{ - pos: position{line: 1727, col: 5, offset: 56735}, + pos: position{line: 1747, col: 5, offset: 57237}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1727, col: 5, offset: 56735}, + pos: position{line: 1747, col: 5, offset: 57237}, label: "firstLine", expr: &actionExpr{ - pos: position{line: 1734, col: 5, offset: 57020}, + pos: position{line: 1754, col: 5, offset: 57522}, run: (*parser).callonExtraListElement1210, expr: &seqExpr{ - pos: position{line: 1734, col: 5, offset: 57020}, + pos: position{line: 1754, col: 5, offset: 57522}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1734, col: 5, offset: 57020}, + pos: position{line: 1754, col: 5, offset: 57522}, label: "content", expr: &actionExpr{ - pos: position{line: 1734, col: 14, offset: 57029}, + pos: position{line: 1754, col: 14, offset: 57531}, run: (*parser).callonExtraListElement1213, expr: &seqExpr{ - pos: position{line: 1734, col: 14, offset: 57029}, + pos: position{line: 1754, col: 14, offset: 57531}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 2903, col: 11, offset: 96254}, + pos: position{line: 3062, col: 11, offset: 99678}, run: (*parser).callonExtraListElement1215, expr: &oneOrMoreExpr{ - pos: position{line: 2903, col: 11, offset: 96254}, + pos: position{line: 3062, col: 11, offset: 99678}, expr: &charClassMatcher{ - pos: position{line: 2903, col: 12, offset: 96255}, + pos: position{line: 3062, col: 12, offset: 99679}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -31272,9 +34856,9 @@ var g = &grammar{ }, }, &oneOrMoreExpr{ - pos: position{line: 1734, col: 21, offset: 57036}, + pos: position{line: 1754, col: 21, offset: 57538}, expr: &charClassMatcher{ - pos: position{line: 1734, col: 21, offset: 57036}, + pos: position{line: 1754, col: 21, offset: 57538}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -31286,32 +34870,32 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1737, col: 5, offset: 57093}, + pos: position{line: 1757, col: 5, offset: 57595}, run: (*parser).callonExtraListElement1220, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonExtraListElement1222, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -31320,9 +34904,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -31332,44 +34916,44 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1728, col: 5, offset: 56776}, + pos: position{line: 1748, col: 5, offset: 57278}, label: "otherLines", expr: &zeroOrMoreExpr{ - pos: position{line: 1728, col: 16, offset: 56787}, + pos: position{line: 1748, col: 16, offset: 57289}, expr: &choiceExpr{ - pos: position{line: 1728, col: 17, offset: 56788}, + pos: position{line: 1748, col: 17, offset: 57290}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2616, col: 22, offset: 87547}, + pos: position{line: 2760, col: 22, offset: 90461}, run: (*parser).callonExtraListElement1232, expr: &seqExpr{ - pos: position{line: 2616, col: 22, offset: 87547}, + pos: position{line: 2760, col: 22, offset: 90461}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2621, col: 31, offset: 87768}, + pos: position{line: 2765, col: 31, offset: 90682}, val: "//", ignoreCase: false, want: "\"//\"", }, ¬Expr{ - pos: position{line: 2621, col: 36, offset: 87773}, + pos: position{line: 2765, col: 36, offset: 90687}, expr: &litMatcher{ - pos: position{line: 2621, col: 37, offset: 87774}, + pos: position{line: 2765, col: 37, offset: 90688}, val: "//", ignoreCase: false, want: "\"//\"", }, }, &labeledExpr{ - pos: position{line: 2616, col: 49, offset: 87574}, + pos: position{line: 2760, col: 49, offset: 90488}, label: "content", expr: &actionExpr{ - pos: position{line: 2623, col: 29, offset: 87809}, + pos: position{line: 2767, col: 29, offset: 90723}, run: (*parser).callonExtraListElement1238, expr: &zeroOrMoreExpr{ - pos: position{line: 2623, col: 29, offset: 87809}, + pos: position{line: 2767, col: 29, offset: 90723}, expr: &charClassMatcher{ - pos: position{line: 2623, col: 29, offset: 87809}, + pos: position{line: 2767, col: 29, offset: 90723}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -31379,28 +34963,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonExtraListElement1242, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -31409,9 +34993,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -31420,21 +35004,21 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1716, col: 5, offset: 56453}, + pos: position{line: 1736, col: 5, offset: 56955}, run: (*parser).callonExtraListElement1249, expr: &seqExpr{ - pos: position{line: 1716, col: 5, offset: 56453}, + pos: position{line: 1736, col: 5, offset: 56955}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1716, col: 5, offset: 56453}, + pos: position{line: 1736, col: 5, offset: 56955}, label: "content", expr: &actionExpr{ - pos: position{line: 1716, col: 14, offset: 56462}, + pos: position{line: 1736, col: 14, offset: 56964}, run: (*parser).callonExtraListElement1252, expr: &oneOrMoreExpr{ - pos: position{line: 1716, col: 14, offset: 56462}, + pos: position{line: 1736, col: 14, offset: 56964}, expr: &charClassMatcher{ - pos: position{line: 1716, col: 14, offset: 56462}, + pos: position{line: 1736, col: 14, offset: 56964}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -31444,32 +35028,32 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1719, col: 5, offset: 56569}, + pos: position{line: 1739, col: 5, offset: 57071}, run: (*parser).callonExtraListElement1255, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonExtraListElement1257, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -31478,9 +35062,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -31500,48 +35084,48 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1398, col: 13, offset: 46122}, + pos: position{line: 1418, col: 13, offset: 46624}, run: (*parser).callonExtraListElement1264, expr: &labeledExpr{ - pos: position{line: 1398, col: 13, offset: 46122}, + pos: position{line: 1418, col: 13, offset: 46624}, label: "element", expr: &choiceExpr{ - pos: position{line: 1406, col: 5, offset: 46323}, + pos: position{line: 1426, col: 5, offset: 46825}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1406, col: 5, offset: 46323}, + pos: position{line: 1426, col: 5, offset: 46825}, run: (*parser).callonExtraListElement1267, expr: &actionExpr{ - pos: position{line: 2616, col: 22, offset: 87547}, + pos: position{line: 2760, col: 22, offset: 90461}, run: (*parser).callonExtraListElement1268, expr: &seqExpr{ - pos: position{line: 2616, col: 22, offset: 87547}, + pos: position{line: 2760, col: 22, offset: 90461}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2621, col: 31, offset: 87768}, + pos: position{line: 2765, col: 31, offset: 90682}, val: "//", ignoreCase: false, want: "\"//\"", }, ¬Expr{ - pos: position{line: 2621, col: 36, offset: 87773}, + pos: position{line: 2765, col: 36, offset: 90687}, expr: &litMatcher{ - pos: position{line: 2621, col: 37, offset: 87774}, + pos: position{line: 2765, col: 37, offset: 90688}, val: "//", ignoreCase: false, want: "\"//\"", }, }, &labeledExpr{ - pos: position{line: 2616, col: 49, offset: 87574}, + pos: position{line: 2760, col: 49, offset: 90488}, label: "content", expr: &actionExpr{ - pos: position{line: 2623, col: 29, offset: 87809}, + pos: position{line: 2767, col: 29, offset: 90723}, run: (*parser).callonExtraListElement1274, expr: &zeroOrMoreExpr{ - pos: position{line: 2623, col: 29, offset: 87809}, + pos: position{line: 2767, col: 29, offset: 90723}, expr: &charClassMatcher{ - pos: position{line: 2623, col: 29, offset: 87809}, + pos: position{line: 2767, col: 29, offset: 90723}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -31551,28 +35135,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonExtraListElement1278, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -31581,9 +35165,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -31593,35 +35177,35 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1410, col: 9, offset: 46476}, + pos: position{line: 1430, col: 9, offset: 46978}, run: (*parser).callonExtraListElement1285, expr: &seqExpr{ - pos: position{line: 1410, col: 9, offset: 46476}, + pos: position{line: 1430, col: 9, offset: 46978}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 1410, col: 9, offset: 46476}, + pos: position{line: 1430, col: 9, offset: 46978}, expr: &actionExpr{ - pos: position{line: 685, col: 14, offset: 22145}, + pos: position{line: 683, col: 14, offset: 22008}, run: (*parser).callonExtraListElement1288, expr: &seqExpr{ - pos: position{line: 685, col: 14, offset: 22145}, + pos: position{line: 683, col: 14, offset: 22008}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 685, col: 14, offset: 22145}, + pos: position{line: 683, col: 14, offset: 22008}, expr: ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, &zeroOrMoreExpr{ - pos: position{line: 685, col: 19, offset: 22150}, + pos: position{line: 683, col: 19, offset: 22013}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonExtraListElement1294, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -31630,28 +35214,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonExtraListElement1297, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -31660,9 +35244,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -31672,23 +35256,23 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 1411, col: 9, offset: 46495}, + pos: position{line: 1431, col: 9, offset: 46997}, expr: &seqExpr{ - pos: position{line: 1444, col: 34, offset: 47455}, + pos: position{line: 1464, col: 34, offset: 47957}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1444, col: 34, offset: 47455}, + pos: position{line: 1464, col: 34, offset: 47957}, val: "+", ignoreCase: false, want: "\"+\"", }, &zeroOrMoreExpr{ - pos: position{line: 1444, col: 38, offset: 47459}, + pos: position{line: 1464, col: 38, offset: 47961}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonExtraListElement1308, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -31697,25 +35281,25 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonExtraListElement1310, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -31727,20 +35311,20 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 1412, col: 9, offset: 46534}, + pos: position{line: 1432, col: 9, offset: 47036}, expr: &actionExpr{ - pos: position{line: 1492, col: 5, offset: 48929}, + pos: position{line: 1512, col: 5, offset: 49431}, run: (*parser).callonExtraListElement1316, expr: &seqExpr{ - pos: position{line: 1492, col: 5, offset: 48929}, + pos: position{line: 1512, col: 5, offset: 49431}, exprs: []interface{}{ &zeroOrMoreExpr{ - pos: position{line: 1492, col: 5, offset: 48929}, + pos: position{line: 1512, col: 5, offset: 49431}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonExtraListElement1319, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -31749,27 +35333,27 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1492, col: 12, offset: 48936}, + pos: position{line: 1512, col: 12, offset: 49438}, label: "prefix", expr: &choiceExpr{ - pos: position{line: 1494, col: 9, offset: 48999}, + pos: position{line: 1514, col: 9, offset: 49501}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1494, col: 9, offset: 48999}, + pos: position{line: 1514, col: 9, offset: 49501}, run: (*parser).callonExtraListElement1323, expr: &seqExpr{ - pos: position{line: 1494, col: 9, offset: 48999}, + pos: position{line: 1514, col: 9, offset: 49501}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1494, col: 9, offset: 48999}, + pos: position{line: 1514, col: 9, offset: 49501}, label: "depth", expr: &actionExpr{ - pos: position{line: 1494, col: 16, offset: 49006}, + pos: position{line: 1514, col: 16, offset: 49508}, run: (*parser).callonExtraListElement1326, expr: &oneOrMoreExpr{ - pos: position{line: 1494, col: 16, offset: 49006}, + pos: position{line: 1514, col: 16, offset: 49508}, expr: &litMatcher{ - pos: position{line: 1494, col: 17, offset: 49007}, + pos: position{line: 1514, col: 17, offset: 49509}, val: ".", ignoreCase: false, want: "\".\"", @@ -31778,22 +35362,22 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1498, col: 9, offset: 49107}, + pos: position{line: 1518, col: 9, offset: 49609}, run: (*parser).callonExtraListElement1329, }, }, }, }, &actionExpr{ - pos: position{line: 1517, col: 11, offset: 49824}, + pos: position{line: 1537, col: 11, offset: 50326}, run: (*parser).callonExtraListElement1330, expr: &seqExpr{ - pos: position{line: 1517, col: 11, offset: 49824}, + pos: position{line: 1537, col: 11, offset: 50326}, exprs: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 1517, col: 11, offset: 49824}, + pos: position{line: 1537, col: 11, offset: 50326}, expr: &charClassMatcher{ - pos: position{line: 1517, col: 12, offset: 49825}, + pos: position{line: 1537, col: 12, offset: 50327}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -31801,7 +35385,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1517, col: 20, offset: 49833}, + pos: position{line: 1537, col: 20, offset: 50335}, val: ".", ignoreCase: false, want: "\".\"", @@ -31810,20 +35394,20 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1519, col: 13, offset: 49950}, + pos: position{line: 1539, col: 13, offset: 50452}, run: (*parser).callonExtraListElement1335, expr: &seqExpr{ - pos: position{line: 1519, col: 13, offset: 49950}, + pos: position{line: 1539, col: 13, offset: 50452}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 1519, col: 14, offset: 49951}, + pos: position{line: 1539, col: 14, offset: 50453}, val: "[a-z]", ranges: []rune{'a', 'z'}, ignoreCase: false, inverted: false, }, &litMatcher{ - pos: position{line: 1519, col: 21, offset: 49958}, + pos: position{line: 1539, col: 21, offset: 50460}, val: ".", ignoreCase: false, want: "\".\"", @@ -31832,20 +35416,20 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1521, col: 13, offset: 50078}, + pos: position{line: 1541, col: 13, offset: 50580}, run: (*parser).callonExtraListElement1339, expr: &seqExpr{ - pos: position{line: 1521, col: 13, offset: 50078}, + pos: position{line: 1541, col: 13, offset: 50580}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 1521, col: 14, offset: 50079}, + pos: position{line: 1541, col: 14, offset: 50581}, val: "[A-Z]", ranges: []rune{'A', 'Z'}, ignoreCase: false, inverted: false, }, &litMatcher{ - pos: position{line: 1521, col: 21, offset: 50086}, + pos: position{line: 1541, col: 21, offset: 50588}, val: ".", ignoreCase: false, want: "\".\"", @@ -31854,15 +35438,15 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1523, col: 13, offset: 50206}, + pos: position{line: 1543, col: 13, offset: 50708}, run: (*parser).callonExtraListElement1343, expr: &seqExpr{ - pos: position{line: 1523, col: 13, offset: 50206}, + pos: position{line: 1543, col: 13, offset: 50708}, exprs: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 1523, col: 13, offset: 50206}, + pos: position{line: 1543, col: 13, offset: 50708}, expr: &charClassMatcher{ - pos: position{line: 1523, col: 14, offset: 50207}, + pos: position{line: 1543, col: 14, offset: 50709}, val: "[ivxdlcm]", chars: []rune{'i', 'v', 'x', 'd', 'l', 'c', 'm'}, ignoreCase: false, @@ -31870,7 +35454,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1523, col: 26, offset: 50219}, + pos: position{line: 1543, col: 26, offset: 50721}, val: ")", ignoreCase: false, want: "\")\"", @@ -31879,15 +35463,15 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1525, col: 13, offset: 50339}, + pos: position{line: 1545, col: 13, offset: 50841}, run: (*parser).callonExtraListElement1348, expr: &seqExpr{ - pos: position{line: 1525, col: 13, offset: 50339}, + pos: position{line: 1545, col: 13, offset: 50841}, exprs: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 1525, col: 13, offset: 50339}, + pos: position{line: 1545, col: 13, offset: 50841}, expr: &charClassMatcher{ - pos: position{line: 1525, col: 14, offset: 50340}, + pos: position{line: 1545, col: 14, offset: 50842}, val: "[IVXDLCM]", chars: []rune{'I', 'V', 'X', 'D', 'L', 'C', 'M'}, ignoreCase: false, @@ -31895,7 +35479,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1525, col: 26, offset: 50352}, + pos: position{line: 1545, col: 26, offset: 50854}, val: ")", ignoreCase: false, want: "\")\"", @@ -31907,12 +35491,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2903, col: 11, offset: 96254}, + pos: position{line: 3062, col: 11, offset: 99678}, run: (*parser).callonExtraListElement1353, expr: &oneOrMoreExpr{ - pos: position{line: 2903, col: 11, offset: 96254}, + pos: position{line: 3062, col: 11, offset: 99678}, expr: &charClassMatcher{ - pos: position{line: 2903, col: 12, offset: 96255}, + pos: position{line: 3062, col: 12, offset: 99679}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -31925,20 +35509,20 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 1413, col: 9, offset: 46568}, + pos: position{line: 1433, col: 9, offset: 47070}, expr: &actionExpr{ - pos: position{line: 1542, col: 5, offset: 50891}, + pos: position{line: 1562, col: 5, offset: 51393}, run: (*parser).callonExtraListElement1357, expr: &seqExpr{ - pos: position{line: 1542, col: 5, offset: 50891}, + pos: position{line: 1562, col: 5, offset: 51393}, exprs: []interface{}{ &zeroOrMoreExpr{ - pos: position{line: 1542, col: 5, offset: 50891}, + pos: position{line: 1562, col: 5, offset: 51393}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonExtraListElement1360, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -31947,27 +35531,27 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1542, col: 12, offset: 50898}, + pos: position{line: 1562, col: 12, offset: 51400}, label: "prefix", expr: &choiceExpr{ - pos: position{line: 1542, col: 20, offset: 50906}, + pos: position{line: 1562, col: 20, offset: 51408}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1544, col: 9, offset: 50963}, + pos: position{line: 1564, col: 9, offset: 51465}, run: (*parser).callonExtraListElement1364, expr: &seqExpr{ - pos: position{line: 1544, col: 9, offset: 50963}, + pos: position{line: 1564, col: 9, offset: 51465}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1544, col: 9, offset: 50963}, + pos: position{line: 1564, col: 9, offset: 51465}, label: "depth", expr: &actionExpr{ - pos: position{line: 1544, col: 16, offset: 50970}, + pos: position{line: 1564, col: 16, offset: 51472}, run: (*parser).callonExtraListElement1367, expr: &oneOrMoreExpr{ - pos: position{line: 1544, col: 16, offset: 50970}, + pos: position{line: 1564, col: 16, offset: 51472}, expr: &litMatcher{ - pos: position{line: 1544, col: 17, offset: 50971}, + pos: position{line: 1564, col: 17, offset: 51473}, val: "*", ignoreCase: false, want: "\"*\"", @@ -31976,20 +35560,20 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1548, col: 9, offset: 51071}, + pos: position{line: 1568, col: 9, offset: 51573}, run: (*parser).callonExtraListElement1370, }, }, }, }, &labeledExpr{ - pos: position{line: 1565, col: 14, offset: 51778}, + pos: position{line: 1585, col: 14, offset: 52280}, label: "depth", expr: &actionExpr{ - pos: position{line: 1565, col: 21, offset: 51785}, + pos: position{line: 1585, col: 21, offset: 52287}, run: (*parser).callonExtraListElement1372, expr: &litMatcher{ - pos: position{line: 1565, col: 22, offset: 51786}, + pos: position{line: 1585, col: 22, offset: 52288}, val: "-", ignoreCase: false, want: "\"-\"", @@ -32000,12 +35584,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2903, col: 11, offset: 96254}, + pos: position{line: 3062, col: 11, offset: 99678}, run: (*parser).callonExtraListElement1374, expr: &oneOrMoreExpr{ - pos: position{line: 2903, col: 11, offset: 96254}, + pos: position{line: 3062, col: 11, offset: 99678}, expr: &charClassMatcher{ - pos: position{line: 2903, col: 12, offset: 96255}, + pos: position{line: 3062, col: 12, offset: 99679}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -32018,29 +35602,29 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 1414, col: 9, offset: 46604}, + pos: position{line: 1434, col: 9, offset: 47106}, expr: &actionExpr{ - pos: position{line: 1648, col: 5, offset: 54128}, + pos: position{line: 1668, col: 5, offset: 54630}, run: (*parser).callonExtraListElement1378, expr: &seqExpr{ - pos: position{line: 1648, col: 5, offset: 54128}, + pos: position{line: 1668, col: 5, offset: 54630}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1648, col: 5, offset: 54128}, + pos: position{line: 1668, col: 5, offset: 54630}, val: "<", ignoreCase: false, want: "\"<\"", }, &labeledExpr{ - pos: position{line: 1648, col: 9, offset: 54132}, + pos: position{line: 1668, col: 9, offset: 54634}, label: "ref", expr: &actionExpr{ - pos: position{line: 1648, col: 14, offset: 54137}, + pos: position{line: 1668, col: 14, offset: 54639}, run: (*parser).callonExtraListElement1382, expr: &oneOrMoreExpr{ - pos: position{line: 1648, col: 14, offset: 54137}, + pos: position{line: 1668, col: 14, offset: 54639}, expr: &charClassMatcher{ - pos: position{line: 1648, col: 14, offset: 54137}, + pos: position{line: 1668, col: 14, offset: 54639}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -32050,18 +35634,18 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1648, col: 62, offset: 54185}, + pos: position{line: 1668, col: 62, offset: 54687}, val: ">", ignoreCase: false, want: "\">\"", }, &actionExpr{ - pos: position{line: 2903, col: 11, offset: 96254}, + pos: position{line: 3062, col: 11, offset: 99678}, run: (*parser).callonExtraListElement1386, expr: &oneOrMoreExpr{ - pos: position{line: 2903, col: 11, offset: 96254}, + pos: position{line: 3062, col: 11, offset: 99678}, expr: &charClassMatcher{ - pos: position{line: 2903, col: 12, offset: 96255}, + pos: position{line: 3062, col: 12, offset: 99679}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -32074,36 +35658,36 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 1415, col: 9, offset: 46638}, + pos: position{line: 1435, col: 9, offset: 47140}, expr: &seqExpr{ - pos: position{line: 1415, col: 11, offset: 46640}, + pos: position{line: 1435, col: 11, offset: 47142}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 1592, col: 5, offset: 52506}, + pos: position{line: 1612, col: 5, offset: 53008}, run: (*parser).callonExtraListElement1391, expr: &oneOrMoreExpr{ - pos: position{line: 1592, col: 5, offset: 52506}, + pos: position{line: 1612, col: 5, offset: 53008}, expr: &seqExpr{ - pos: position{line: 1592, col: 6, offset: 52507}, + pos: position{line: 1612, col: 6, offset: 53009}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 1592, col: 6, offset: 52507}, + pos: position{line: 1612, col: 6, offset: 53009}, expr: &actionExpr{ - pos: position{line: 1597, col: 5, offset: 52657}, + pos: position{line: 1617, col: 5, offset: 53159}, run: (*parser).callonExtraListElement1395, expr: &seqExpr{ - pos: position{line: 1597, col: 5, offset: 52657}, + pos: position{line: 1617, col: 5, offset: 53159}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1597, col: 5, offset: 52657}, + pos: position{line: 1617, col: 5, offset: 53159}, label: "separator", expr: &actionExpr{ - pos: position{line: 1597, col: 16, offset: 52668}, + pos: position{line: 1617, col: 16, offset: 53170}, run: (*parser).callonExtraListElement1398, expr: &oneOrMoreExpr{ - pos: position{line: 1597, col: 16, offset: 52668}, + pos: position{line: 1617, col: 16, offset: 53170}, expr: &litMatcher{ - pos: position{line: 1597, col: 17, offset: 52669}, + pos: position{line: 1617, col: 17, offset: 53171}, val: ":", ignoreCase: false, want: "\":\"", @@ -32112,7 +35696,7 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1600, col: 5, offset: 52726}, + pos: position{line: 1620, col: 5, offset: 53228}, run: (*parser).callonExtraListElement1401, }, }, @@ -32120,30 +35704,30 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 1592, col: 35, offset: 52536}, + pos: position{line: 1612, col: 35, offset: 53038}, expr: &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonExtraListElement1404, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -32152,37 +35736,37 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, }, }, &anyMatcher{ - line: 1592, col: 40, offset: 52541, + line: 1612, col: 40, offset: 53043, }, }, }, }, }, &actionExpr{ - pos: position{line: 1597, col: 5, offset: 52657}, + pos: position{line: 1617, col: 5, offset: 53159}, run: (*parser).callonExtraListElement1412, expr: &seqExpr{ - pos: position{line: 1597, col: 5, offset: 52657}, + pos: position{line: 1617, col: 5, offset: 53159}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1597, col: 5, offset: 52657}, + pos: position{line: 1617, col: 5, offset: 53159}, label: "separator", expr: &actionExpr{ - pos: position{line: 1597, col: 16, offset: 52668}, + pos: position{line: 1617, col: 16, offset: 53170}, run: (*parser).callonExtraListElement1415, expr: &oneOrMoreExpr{ - pos: position{line: 1597, col: 16, offset: 52668}, + pos: position{line: 1617, col: 16, offset: 53170}, expr: &litMatcher{ - pos: position{line: 1597, col: 17, offset: 52669}, + pos: position{line: 1617, col: 17, offset: 53171}, val: ":", ignoreCase: false, want: "\":\"", @@ -32191,7 +35775,7 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1600, col: 5, offset: 52726}, + pos: position{line: 1620, col: 5, offset: 53228}, run: (*parser).callonExtraListElement1418, }, }, @@ -32201,17 +35785,17 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 1416, col: 9, offset: 46700}, + pos: position{line: 1436, col: 9, offset: 47202}, expr: &actionExpr{ - pos: position{line: 731, col: 5, offset: 23680}, + pos: position{line: 729, col: 5, offset: 23543}, run: (*parser).callonExtraListElement1420, expr: &seqExpr{ - pos: position{line: 731, col: 5, offset: 23680}, + pos: position{line: 729, col: 5, offset: 23543}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 731, col: 5, offset: 23680}, + pos: position{line: 729, col: 5, offset: 23543}, expr: &charClassMatcher{ - pos: position{line: 2813, col: 13, offset: 93503}, + pos: position{line: 2972, col: 13, offset: 96927}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -32220,30 +35804,30 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 732, col: 5, offset: 23710}, + pos: position{line: 730, col: 5, offset: 23573}, label: "delimiter", expr: &choiceExpr{ - pos: position{line: 733, col: 9, offset: 23730}, + pos: position{line: 731, col: 9, offset: 23593}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 746, col: 26, offset: 24217}, + pos: position{line: 744, col: 26, offset: 24080}, run: (*parser).callonExtraListElement1426, expr: &seqExpr{ - pos: position{line: 746, col: 26, offset: 24217}, + pos: position{line: 744, col: 26, offset: 24080}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 746, col: 26, offset: 24217}, + pos: position{line: 744, col: 26, offset: 24080}, val: "////", ignoreCase: false, want: "\"////\"", }, &zeroOrMoreExpr{ - pos: position{line: 746, col: 33, offset: 24224}, + pos: position{line: 744, col: 33, offset: 24087}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonExtraListElement1430, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -32252,28 +35836,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonExtraListElement1433, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -32282,9 +35866,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -32293,24 +35877,24 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 750, col: 26, offset: 24331}, + pos: position{line: 748, col: 26, offset: 24194}, run: (*parser).callonExtraListElement1440, expr: &seqExpr{ - pos: position{line: 750, col: 26, offset: 24331}, + pos: position{line: 748, col: 26, offset: 24194}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 750, col: 26, offset: 24331}, + pos: position{line: 748, col: 26, offset: 24194}, val: "====", ignoreCase: false, want: "\"====\"", }, &zeroOrMoreExpr{ - pos: position{line: 750, col: 33, offset: 24338}, + pos: position{line: 748, col: 33, offset: 24201}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonExtraListElement1444, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -32319,28 +35903,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonExtraListElement1447, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -32349,9 +35933,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -32360,27 +35944,27 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 758, col: 26, offset: 24556}, + pos: position{line: 756, col: 26, offset: 24419}, run: (*parser).callonExtraListElement1454, expr: &seqExpr{ - pos: position{line: 758, col: 26, offset: 24556}, + pos: position{line: 756, col: 26, offset: 24419}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 758, col: 26, offset: 24556}, + pos: position{line: 756, col: 26, offset: 24419}, val: "```", ignoreCase: false, want: "\"```\"", }, &labeledExpr{ - pos: position{line: 758, col: 32, offset: 24562}, + pos: position{line: 756, col: 32, offset: 24425}, label: "language", expr: &actionExpr{ - pos: position{line: 762, col: 13, offset: 24692}, + pos: position{line: 760, col: 13, offset: 24555}, run: (*parser).callonExtraListElement1458, expr: &oneOrMoreExpr{ - pos: position{line: 762, col: 14, offset: 24693}, + pos: position{line: 760, col: 14, offset: 24556}, expr: &charClassMatcher{ - pos: position{line: 762, col: 14, offset: 24693}, + pos: position{line: 760, col: 14, offset: 24556}, val: "[^\\r\\n ]", chars: []rune{'\r', '\n', ' '}, ignoreCase: false, @@ -32390,12 +35974,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 758, col: 52, offset: 24582}, + pos: position{line: 756, col: 52, offset: 24445}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonExtraListElement1462, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -32404,28 +35988,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonExtraListElement1465, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -32434,9 +36018,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -32445,24 +36029,24 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 754, col: 25, offset: 24444}, + pos: position{line: 752, col: 25, offset: 24307}, run: (*parser).callonExtraListElement1472, expr: &seqExpr{ - pos: position{line: 754, col: 25, offset: 24444}, + pos: position{line: 752, col: 25, offset: 24307}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 754, col: 25, offset: 24444}, + pos: position{line: 752, col: 25, offset: 24307}, val: "```", ignoreCase: false, want: "\"```\"", }, &zeroOrMoreExpr{ - pos: position{line: 754, col: 31, offset: 24450}, + pos: position{line: 752, col: 31, offset: 24313}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonExtraListElement1476, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -32471,28 +36055,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonExtraListElement1479, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -32501,9 +36085,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -32512,24 +36096,24 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 766, col: 26, offset: 24765}, + pos: position{line: 764, col: 26, offset: 24628}, run: (*parser).callonExtraListElement1486, expr: &seqExpr{ - pos: position{line: 766, col: 26, offset: 24765}, + pos: position{line: 764, col: 26, offset: 24628}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 766, col: 26, offset: 24765}, + pos: position{line: 764, col: 26, offset: 24628}, val: "----", ignoreCase: false, want: "\"----\"", }, &zeroOrMoreExpr{ - pos: position{line: 766, col: 33, offset: 24772}, + pos: position{line: 764, col: 33, offset: 24635}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonExtraListElement1490, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -32538,28 +36122,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonExtraListElement1493, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -32568,9 +36152,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -32579,24 +36163,24 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 770, col: 26, offset: 24879}, + pos: position{line: 768, col: 26, offset: 24742}, run: (*parser).callonExtraListElement1500, expr: &seqExpr{ - pos: position{line: 770, col: 26, offset: 24879}, + pos: position{line: 768, col: 26, offset: 24742}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 770, col: 26, offset: 24879}, + pos: position{line: 768, col: 26, offset: 24742}, val: "....", ignoreCase: false, want: "\"....\"", }, &zeroOrMoreExpr{ - pos: position{line: 770, col: 33, offset: 24886}, + pos: position{line: 768, col: 33, offset: 24749}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonExtraListElement1504, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -32605,28 +36189,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonExtraListElement1507, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -32635,9 +36219,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -32646,24 +36230,24 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 774, col: 30, offset: 24997}, + pos: position{line: 772, col: 30, offset: 24860}, run: (*parser).callonExtraListElement1514, expr: &seqExpr{ - pos: position{line: 774, col: 30, offset: 24997}, + pos: position{line: 772, col: 30, offset: 24860}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 774, col: 30, offset: 24997}, + pos: position{line: 772, col: 30, offset: 24860}, val: "++++", ignoreCase: false, want: "\"++++\"", }, &zeroOrMoreExpr{ - pos: position{line: 774, col: 37, offset: 25004}, + pos: position{line: 772, col: 37, offset: 24867}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonExtraListElement1518, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -32672,28 +36256,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonExtraListElement1521, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -32702,9 +36286,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -32713,24 +36297,24 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 778, col: 24, offset: 25113}, + pos: position{line: 776, col: 24, offset: 24976}, run: (*parser).callonExtraListElement1528, expr: &seqExpr{ - pos: position{line: 778, col: 24, offset: 25113}, + pos: position{line: 776, col: 24, offset: 24976}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 778, col: 24, offset: 25113}, + pos: position{line: 776, col: 24, offset: 24976}, val: "____", ignoreCase: false, want: "\"____\"", }, &zeroOrMoreExpr{ - pos: position{line: 778, col: 31, offset: 25120}, + pos: position{line: 776, col: 31, offset: 24983}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonExtraListElement1532, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -32739,28 +36323,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonExtraListElement1535, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -32769,9 +36353,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -32780,24 +36364,24 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 782, col: 26, offset: 25225}, + pos: position{line: 780, col: 26, offset: 25088}, run: (*parser).callonExtraListElement1542, expr: &seqExpr{ - pos: position{line: 782, col: 26, offset: 25225}, + pos: position{line: 780, col: 26, offset: 25088}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 782, col: 26, offset: 25225}, + pos: position{line: 780, col: 26, offset: 25088}, val: "****", ignoreCase: false, want: "\"****\"", }, &zeroOrMoreExpr{ - pos: position{line: 782, col: 33, offset: 25232}, + pos: position{line: 780, col: 33, offset: 25095}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonExtraListElement1546, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -32806,28 +36390,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonExtraListElement1549, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -32836,9 +36420,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -32854,15 +36438,15 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1417, col: 9, offset: 46724}, + pos: position{line: 1437, col: 9, offset: 47226}, label: "content", expr: &actionExpr{ - pos: position{line: 1417, col: 18, offset: 46733}, + pos: position{line: 1437, col: 18, offset: 47235}, run: (*parser).callonExtraListElement1557, expr: &oneOrMoreExpr{ - pos: position{line: 1417, col: 18, offset: 46733}, + pos: position{line: 1437, col: 18, offset: 47235}, expr: &charClassMatcher{ - pos: position{line: 1417, col: 18, offset: 46733}, + pos: position{line: 1437, col: 18, offset: 47235}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -32872,28 +36456,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonExtraListElement1561, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -32902,9 +36486,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -32925,28 +36509,28 @@ var g = &grammar{ }, { name: "ListElementContinuation", - pos: position{line: 1436, col: 1, offset: 47183}, + pos: position{line: 1456, col: 1, offset: 47685}, expr: &actionExpr{ - pos: position{line: 1437, col: 5, offset: 47215}, + pos: position{line: 1457, col: 5, offset: 47717}, run: (*parser).callonListElementContinuation1, expr: &seqExpr{ - pos: position{line: 1437, col: 5, offset: 47215}, + pos: position{line: 1457, col: 5, offset: 47717}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1437, col: 5, offset: 47215}, + pos: position{line: 1457, col: 5, offset: 47717}, label: "offset", expr: &zeroOrMoreExpr{ - pos: position{line: 1437, col: 12, offset: 47222}, + pos: position{line: 1457, col: 12, offset: 47724}, expr: &seqExpr{ - pos: position{line: 1437, col: 13, offset: 47223}, + pos: position{line: 1457, col: 13, offset: 47725}, exprs: []interface{}{ &zeroOrMoreExpr{ - pos: position{line: 1437, col: 13, offset: 47223}, + pos: position{line: 1457, col: 13, offset: 47725}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonListElementContinuation7, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -32955,25 +36539,25 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonListElementContinuation9, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -32986,18 +36570,18 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1444, col: 34, offset: 47455}, + pos: position{line: 1464, col: 34, offset: 47957}, val: "+", ignoreCase: false, want: "\"+\"", }, &zeroOrMoreExpr{ - pos: position{line: 1444, col: 38, offset: 47459}, + pos: position{line: 1464, col: 38, offset: 47961}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonListElementContinuation16, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -33006,25 +36590,25 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonListElementContinuation18, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -33033,12 +36617,12 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1439, col: 5, offset: 47279}, + pos: position{line: 1459, col: 5, offset: 47781}, label: "element", expr: &zeroOrOneExpr{ - pos: position{line: 1439, col: 13, offset: 47287}, + pos: position{line: 1459, col: 13, offset: 47789}, expr: &ruleRefExpr{ - pos: position{line: 1439, col: 13, offset: 47287}, + pos: position{line: 1459, col: 13, offset: 47789}, name: "ListElementContinuationElement", }, }, @@ -33049,49 +36633,49 @@ var g = &grammar{ }, { name: "ListElementContinuationElement", - pos: position{line: 1446, col: 1, offset: 47475}, + pos: position{line: 1466, col: 1, offset: 47977}, expr: &actionExpr{ - pos: position{line: 1447, col: 5, offset: 47553}, + pos: position{line: 1467, col: 5, offset: 48055}, run: (*parser).callonListElementContinuationElement1, expr: &seqExpr{ - pos: position{line: 1447, col: 5, offset: 47553}, + pos: position{line: 1467, col: 5, offset: 48055}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 1447, col: 5, offset: 47553}, + pos: position{line: 1467, col: 5, offset: 48055}, expr: ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, ¬Expr{ - pos: position{line: 1448, col: 5, offset: 47579}, + pos: position{line: 1468, col: 5, offset: 48081}, expr: &choiceExpr{ - pos: position{line: 1338, col: 5, offset: 43914}, + pos: position{line: 1358, col: 5, offset: 44416}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1485, col: 5, offset: 48721}, + pos: position{line: 1505, col: 5, offset: 49223}, run: (*parser).callonListElementContinuationElement8, expr: &seqExpr{ - pos: position{line: 1485, col: 5, offset: 48721}, + pos: position{line: 1505, col: 5, offset: 49223}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1485, col: 5, offset: 48721}, + pos: position{line: 1505, col: 5, offset: 49223}, label: "prefix", expr: &actionExpr{ - pos: position{line: 1492, col: 5, offset: 48929}, + pos: position{line: 1512, col: 5, offset: 49431}, run: (*parser).callonListElementContinuationElement11, expr: &seqExpr{ - pos: position{line: 1492, col: 5, offset: 48929}, + pos: position{line: 1512, col: 5, offset: 49431}, exprs: []interface{}{ &zeroOrMoreExpr{ - pos: position{line: 1492, col: 5, offset: 48929}, + pos: position{line: 1512, col: 5, offset: 49431}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonListElementContinuationElement14, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -33100,27 +36684,27 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1492, col: 12, offset: 48936}, + pos: position{line: 1512, col: 12, offset: 49438}, label: "prefix", expr: &choiceExpr{ - pos: position{line: 1494, col: 9, offset: 48999}, + pos: position{line: 1514, col: 9, offset: 49501}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1494, col: 9, offset: 48999}, + pos: position{line: 1514, col: 9, offset: 49501}, run: (*parser).callonListElementContinuationElement18, expr: &seqExpr{ - pos: position{line: 1494, col: 9, offset: 48999}, + pos: position{line: 1514, col: 9, offset: 49501}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1494, col: 9, offset: 48999}, + pos: position{line: 1514, col: 9, offset: 49501}, label: "depth", expr: &actionExpr{ - pos: position{line: 1494, col: 16, offset: 49006}, + pos: position{line: 1514, col: 16, offset: 49508}, run: (*parser).callonListElementContinuationElement21, expr: &oneOrMoreExpr{ - pos: position{line: 1494, col: 16, offset: 49006}, + pos: position{line: 1514, col: 16, offset: 49508}, expr: &litMatcher{ - pos: position{line: 1494, col: 17, offset: 49007}, + pos: position{line: 1514, col: 17, offset: 49509}, val: ".", ignoreCase: false, want: "\".\"", @@ -33129,22 +36713,22 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1498, col: 9, offset: 49107}, + pos: position{line: 1518, col: 9, offset: 49609}, run: (*parser).callonListElementContinuationElement24, }, }, }, }, &actionExpr{ - pos: position{line: 1517, col: 11, offset: 49824}, + pos: position{line: 1537, col: 11, offset: 50326}, run: (*parser).callonListElementContinuationElement25, expr: &seqExpr{ - pos: position{line: 1517, col: 11, offset: 49824}, + pos: position{line: 1537, col: 11, offset: 50326}, exprs: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 1517, col: 11, offset: 49824}, + pos: position{line: 1537, col: 11, offset: 50326}, expr: &charClassMatcher{ - pos: position{line: 1517, col: 12, offset: 49825}, + pos: position{line: 1537, col: 12, offset: 50327}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -33152,7 +36736,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1517, col: 20, offset: 49833}, + pos: position{line: 1537, col: 20, offset: 50335}, val: ".", ignoreCase: false, want: "\".\"", @@ -33161,20 +36745,20 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1519, col: 13, offset: 49950}, + pos: position{line: 1539, col: 13, offset: 50452}, run: (*parser).callonListElementContinuationElement30, expr: &seqExpr{ - pos: position{line: 1519, col: 13, offset: 49950}, + pos: position{line: 1539, col: 13, offset: 50452}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 1519, col: 14, offset: 49951}, + pos: position{line: 1539, col: 14, offset: 50453}, val: "[a-z]", ranges: []rune{'a', 'z'}, ignoreCase: false, inverted: false, }, &litMatcher{ - pos: position{line: 1519, col: 21, offset: 49958}, + pos: position{line: 1539, col: 21, offset: 50460}, val: ".", ignoreCase: false, want: "\".\"", @@ -33183,20 +36767,20 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1521, col: 13, offset: 50078}, + pos: position{line: 1541, col: 13, offset: 50580}, run: (*parser).callonListElementContinuationElement34, expr: &seqExpr{ - pos: position{line: 1521, col: 13, offset: 50078}, + pos: position{line: 1541, col: 13, offset: 50580}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 1521, col: 14, offset: 50079}, + pos: position{line: 1541, col: 14, offset: 50581}, val: "[A-Z]", ranges: []rune{'A', 'Z'}, ignoreCase: false, inverted: false, }, &litMatcher{ - pos: position{line: 1521, col: 21, offset: 50086}, + pos: position{line: 1541, col: 21, offset: 50588}, val: ".", ignoreCase: false, want: "\".\"", @@ -33205,15 +36789,15 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1523, col: 13, offset: 50206}, + pos: position{line: 1543, col: 13, offset: 50708}, run: (*parser).callonListElementContinuationElement38, expr: &seqExpr{ - pos: position{line: 1523, col: 13, offset: 50206}, + pos: position{line: 1543, col: 13, offset: 50708}, exprs: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 1523, col: 13, offset: 50206}, + pos: position{line: 1543, col: 13, offset: 50708}, expr: &charClassMatcher{ - pos: position{line: 1523, col: 14, offset: 50207}, + pos: position{line: 1543, col: 14, offset: 50709}, val: "[ivxdlcm]", chars: []rune{'i', 'v', 'x', 'd', 'l', 'c', 'm'}, ignoreCase: false, @@ -33221,7 +36805,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1523, col: 26, offset: 50219}, + pos: position{line: 1543, col: 26, offset: 50721}, val: ")", ignoreCase: false, want: "\")\"", @@ -33230,15 +36814,15 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1525, col: 13, offset: 50339}, + pos: position{line: 1545, col: 13, offset: 50841}, run: (*parser).callonListElementContinuationElement43, expr: &seqExpr{ - pos: position{line: 1525, col: 13, offset: 50339}, + pos: position{line: 1545, col: 13, offset: 50841}, exprs: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 1525, col: 13, offset: 50339}, + pos: position{line: 1545, col: 13, offset: 50841}, expr: &charClassMatcher{ - pos: position{line: 1525, col: 14, offset: 50340}, + pos: position{line: 1545, col: 14, offset: 50842}, val: "[IVXDLCM]", chars: []rune{'I', 'V', 'X', 'D', 'L', 'C', 'M'}, ignoreCase: false, @@ -33246,7 +36830,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1525, col: 26, offset: 50352}, + pos: position{line: 1545, col: 26, offset: 50854}, val: ")", ignoreCase: false, want: "\")\"", @@ -33258,12 +36842,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2903, col: 11, offset: 96254}, + pos: position{line: 3062, col: 11, offset: 99678}, run: (*parser).callonListElementContinuationElement48, expr: &oneOrMoreExpr{ - pos: position{line: 2903, col: 11, offset: 96254}, + pos: position{line: 3062, col: 11, offset: 99678}, expr: &charClassMatcher{ - pos: position{line: 2903, col: 12, offset: 96255}, + pos: position{line: 3062, col: 12, offset: 99679}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -33276,24 +36860,24 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1486, col: 5, offset: 48760}, + pos: position{line: 1506, col: 5, offset: 49262}, label: "content", expr: &actionExpr{ - pos: position{line: 1426, col: 5, offset: 46956}, + pos: position{line: 1446, col: 5, offset: 47458}, run: (*parser).callonListElementContinuationElement52, expr: &seqExpr{ - pos: position{line: 1426, col: 5, offset: 46956}, + pos: position{line: 1446, col: 5, offset: 47458}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1426, col: 5, offset: 46956}, + pos: position{line: 1446, col: 5, offset: 47458}, label: "rawline", expr: &actionExpr{ - pos: position{line: 1426, col: 14, offset: 46965}, + pos: position{line: 1446, col: 14, offset: 47467}, run: (*parser).callonListElementContinuationElement55, expr: &oneOrMoreExpr{ - pos: position{line: 1426, col: 14, offset: 46965}, + pos: position{line: 1446, col: 14, offset: 47467}, expr: &charClassMatcher{ - pos: position{line: 1426, col: 14, offset: 46965}, + pos: position{line: 1446, col: 14, offset: 47467}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -33303,28 +36887,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonListElementContinuationElement59, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -33333,9 +36917,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -33348,27 +36932,27 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1535, col: 5, offset: 50618}, + pos: position{line: 1555, col: 5, offset: 51120}, run: (*parser).callonListElementContinuationElement66, expr: &seqExpr{ - pos: position{line: 1535, col: 5, offset: 50618}, + pos: position{line: 1555, col: 5, offset: 51120}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1535, col: 5, offset: 50618}, + pos: position{line: 1555, col: 5, offset: 51120}, label: "prefix", expr: &actionExpr{ - pos: position{line: 1542, col: 5, offset: 50891}, + pos: position{line: 1562, col: 5, offset: 51393}, run: (*parser).callonListElementContinuationElement69, expr: &seqExpr{ - pos: position{line: 1542, col: 5, offset: 50891}, + pos: position{line: 1562, col: 5, offset: 51393}, exprs: []interface{}{ &zeroOrMoreExpr{ - pos: position{line: 1542, col: 5, offset: 50891}, + pos: position{line: 1562, col: 5, offset: 51393}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonListElementContinuationElement72, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -33377,27 +36961,27 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1542, col: 12, offset: 50898}, + pos: position{line: 1562, col: 12, offset: 51400}, label: "prefix", expr: &choiceExpr{ - pos: position{line: 1542, col: 20, offset: 50906}, + pos: position{line: 1562, col: 20, offset: 51408}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1544, col: 9, offset: 50963}, + pos: position{line: 1564, col: 9, offset: 51465}, run: (*parser).callonListElementContinuationElement76, expr: &seqExpr{ - pos: position{line: 1544, col: 9, offset: 50963}, + pos: position{line: 1564, col: 9, offset: 51465}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1544, col: 9, offset: 50963}, + pos: position{line: 1564, col: 9, offset: 51465}, label: "depth", expr: &actionExpr{ - pos: position{line: 1544, col: 16, offset: 50970}, + pos: position{line: 1564, col: 16, offset: 51472}, run: (*parser).callonListElementContinuationElement79, expr: &oneOrMoreExpr{ - pos: position{line: 1544, col: 16, offset: 50970}, + pos: position{line: 1564, col: 16, offset: 51472}, expr: &litMatcher{ - pos: position{line: 1544, col: 17, offset: 50971}, + pos: position{line: 1564, col: 17, offset: 51473}, val: "*", ignoreCase: false, want: "\"*\"", @@ -33406,20 +36990,20 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1548, col: 9, offset: 51071}, + pos: position{line: 1568, col: 9, offset: 51573}, run: (*parser).callonListElementContinuationElement82, }, }, }, }, &labeledExpr{ - pos: position{line: 1565, col: 14, offset: 51778}, + pos: position{line: 1585, col: 14, offset: 52280}, label: "depth", expr: &actionExpr{ - pos: position{line: 1565, col: 21, offset: 51785}, + pos: position{line: 1585, col: 21, offset: 52287}, run: (*parser).callonListElementContinuationElement84, expr: &litMatcher{ - pos: position{line: 1565, col: 22, offset: 51786}, + pos: position{line: 1585, col: 22, offset: 52288}, val: "-", ignoreCase: false, want: "\"-\"", @@ -33430,12 +37014,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2903, col: 11, offset: 96254}, + pos: position{line: 3062, col: 11, offset: 99678}, run: (*parser).callonListElementContinuationElement86, expr: &oneOrMoreExpr{ - pos: position{line: 2903, col: 11, offset: 96254}, + pos: position{line: 3062, col: 11, offset: 99678}, expr: &charClassMatcher{ - pos: position{line: 2903, col: 12, offset: 96255}, + pos: position{line: 3062, col: 12, offset: 99679}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -33448,56 +37032,56 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1536, col: 5, offset: 50659}, + pos: position{line: 1556, col: 5, offset: 51161}, label: "checkstyle", expr: &zeroOrOneExpr{ - pos: position{line: 1536, col: 16, offset: 50670}, + pos: position{line: 1556, col: 16, offset: 51172}, expr: &actionExpr{ - pos: position{line: 1572, col: 5, offset: 51947}, + pos: position{line: 1592, col: 5, offset: 52449}, run: (*parser).callonListElementContinuationElement91, expr: &seqExpr{ - pos: position{line: 1572, col: 5, offset: 51947}, + pos: position{line: 1592, col: 5, offset: 52449}, exprs: []interface{}{ &andExpr{ - pos: position{line: 1572, col: 5, offset: 51947}, + pos: position{line: 1592, col: 5, offset: 52449}, expr: &litMatcher{ - pos: position{line: 1572, col: 6, offset: 51948}, + pos: position{line: 1592, col: 6, offset: 52450}, val: "[", ignoreCase: false, want: "\"[\"", }, }, &labeledExpr{ - pos: position{line: 1572, col: 10, offset: 51952}, + pos: position{line: 1592, col: 10, offset: 52454}, label: "style", expr: &choiceExpr{ - pos: position{line: 1573, col: 7, offset: 51966}, + pos: position{line: 1593, col: 7, offset: 52468}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1573, col: 7, offset: 51966}, + pos: position{line: 1593, col: 7, offset: 52468}, run: (*parser).callonListElementContinuationElement97, expr: &litMatcher{ - pos: position{line: 1573, col: 7, offset: 51966}, + pos: position{line: 1593, col: 7, offset: 52468}, val: "[ ]", ignoreCase: false, want: "\"[ ]\"", }, }, &actionExpr{ - pos: position{line: 1574, col: 7, offset: 52011}, + pos: position{line: 1594, col: 7, offset: 52513}, run: (*parser).callonListElementContinuationElement99, expr: &litMatcher{ - pos: position{line: 1574, col: 7, offset: 52011}, + pos: position{line: 1594, col: 7, offset: 52513}, val: "[*]", ignoreCase: false, want: "\"[*]\"", }, }, &actionExpr{ - pos: position{line: 1575, col: 7, offset: 52054}, + pos: position{line: 1595, col: 7, offset: 52556}, run: (*parser).callonListElementContinuationElement101, expr: &litMatcher{ - pos: position{line: 1575, col: 7, offset: 52054}, + pos: position{line: 1595, col: 7, offset: 52556}, val: "[x]", ignoreCase: false, want: "\"[x]\"", @@ -33507,12 +37091,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2903, col: 11, offset: 96254}, + pos: position{line: 3062, col: 11, offset: 99678}, run: (*parser).callonListElementContinuationElement103, expr: &oneOrMoreExpr{ - pos: position{line: 2903, col: 11, offset: 96254}, + pos: position{line: 3062, col: 11, offset: 99678}, expr: &charClassMatcher{ - pos: position{line: 2903, col: 12, offset: 96255}, + pos: position{line: 3062, col: 12, offset: 99679}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -33526,24 +37110,24 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1537, col: 5, offset: 50709}, + pos: position{line: 1557, col: 5, offset: 51211}, label: "content", expr: &actionExpr{ - pos: position{line: 1426, col: 5, offset: 46956}, + pos: position{line: 1446, col: 5, offset: 47458}, run: (*parser).callonListElementContinuationElement107, expr: &seqExpr{ - pos: position{line: 1426, col: 5, offset: 46956}, + pos: position{line: 1446, col: 5, offset: 47458}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1426, col: 5, offset: 46956}, + pos: position{line: 1446, col: 5, offset: 47458}, label: "rawline", expr: &actionExpr{ - pos: position{line: 1426, col: 14, offset: 46965}, + pos: position{line: 1446, col: 14, offset: 47467}, run: (*parser).callonListElementContinuationElement110, expr: &oneOrMoreExpr{ - pos: position{line: 1426, col: 14, offset: 46965}, + pos: position{line: 1446, col: 14, offset: 47467}, expr: &charClassMatcher{ - pos: position{line: 1426, col: 14, offset: 46965}, + pos: position{line: 1446, col: 14, offset: 47467}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -33553,28 +37137,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonListElementContinuationElement114, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -33583,9 +37167,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -33598,36 +37182,36 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1642, col: 5, offset: 53927}, + pos: position{line: 1662, col: 5, offset: 54429}, run: (*parser).callonListElementContinuationElement121, expr: &seqExpr{ - pos: position{line: 1642, col: 5, offset: 53927}, + pos: position{line: 1662, col: 5, offset: 54429}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1642, col: 5, offset: 53927}, + pos: position{line: 1662, col: 5, offset: 54429}, label: "ref", expr: &actionExpr{ - pos: position{line: 1648, col: 5, offset: 54128}, + pos: position{line: 1668, col: 5, offset: 54630}, run: (*parser).callonListElementContinuationElement124, expr: &seqExpr{ - pos: position{line: 1648, col: 5, offset: 54128}, + pos: position{line: 1668, col: 5, offset: 54630}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1648, col: 5, offset: 54128}, + pos: position{line: 1668, col: 5, offset: 54630}, val: "<", ignoreCase: false, want: "\"<\"", }, &labeledExpr{ - pos: position{line: 1648, col: 9, offset: 54132}, + pos: position{line: 1668, col: 9, offset: 54634}, label: "ref", expr: &actionExpr{ - pos: position{line: 1648, col: 14, offset: 54137}, + pos: position{line: 1668, col: 14, offset: 54639}, run: (*parser).callonListElementContinuationElement128, expr: &oneOrMoreExpr{ - pos: position{line: 1648, col: 14, offset: 54137}, + pos: position{line: 1668, col: 14, offset: 54639}, expr: &charClassMatcher{ - pos: position{line: 1648, col: 14, offset: 54137}, + pos: position{line: 1668, col: 14, offset: 54639}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -33637,18 +37221,18 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1648, col: 62, offset: 54185}, + pos: position{line: 1668, col: 62, offset: 54687}, val: ">", ignoreCase: false, want: "\">\"", }, &actionExpr{ - pos: position{line: 2903, col: 11, offset: 96254}, + pos: position{line: 3062, col: 11, offset: 99678}, run: (*parser).callonListElementContinuationElement132, expr: &oneOrMoreExpr{ - pos: position{line: 2903, col: 11, offset: 96254}, + pos: position{line: 3062, col: 11, offset: 99678}, expr: &charClassMatcher{ - pos: position{line: 2903, col: 12, offset: 96255}, + pos: position{line: 3062, col: 12, offset: 99679}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -33661,24 +37245,24 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1643, col: 5, offset: 53963}, + pos: position{line: 1663, col: 5, offset: 54465}, label: "description", expr: &actionExpr{ - pos: position{line: 1653, col: 5, offset: 54311}, + pos: position{line: 1673, col: 5, offset: 54813}, run: (*parser).callonListElementContinuationElement136, expr: &seqExpr{ - pos: position{line: 1653, col: 5, offset: 54311}, + pos: position{line: 1673, col: 5, offset: 54813}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1653, col: 5, offset: 54311}, + pos: position{line: 1673, col: 5, offset: 54813}, label: "rawline", expr: &actionExpr{ - pos: position{line: 1653, col: 14, offset: 54320}, + pos: position{line: 1673, col: 14, offset: 54822}, run: (*parser).callonListElementContinuationElement139, expr: &oneOrMoreExpr{ - pos: position{line: 1653, col: 14, offset: 54320}, + pos: position{line: 1673, col: 14, offset: 54822}, expr: &charClassMatcher{ - pos: position{line: 1653, col: 14, offset: 54320}, + pos: position{line: 1673, col: 14, offset: 54822}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -33688,28 +37272,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonListElementContinuationElement143, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -33718,9 +37302,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -33733,40 +37317,40 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1584, col: 5, offset: 52247}, + pos: position{line: 1604, col: 5, offset: 52749}, run: (*parser).callonListElementContinuationElement150, expr: &seqExpr{ - pos: position{line: 1584, col: 5, offset: 52247}, + pos: position{line: 1604, col: 5, offset: 52749}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1584, col: 5, offset: 52247}, + pos: position{line: 1604, col: 5, offset: 52749}, label: "term", expr: &actionExpr{ - pos: position{line: 1592, col: 5, offset: 52506}, + pos: position{line: 1612, col: 5, offset: 53008}, run: (*parser).callonListElementContinuationElement153, expr: &oneOrMoreExpr{ - pos: position{line: 1592, col: 5, offset: 52506}, + pos: position{line: 1612, col: 5, offset: 53008}, expr: &seqExpr{ - pos: position{line: 1592, col: 6, offset: 52507}, + pos: position{line: 1612, col: 6, offset: 53009}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 1592, col: 6, offset: 52507}, + pos: position{line: 1612, col: 6, offset: 53009}, expr: &actionExpr{ - pos: position{line: 1597, col: 5, offset: 52657}, + pos: position{line: 1617, col: 5, offset: 53159}, run: (*parser).callonListElementContinuationElement157, expr: &seqExpr{ - pos: position{line: 1597, col: 5, offset: 52657}, + pos: position{line: 1617, col: 5, offset: 53159}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1597, col: 5, offset: 52657}, + pos: position{line: 1617, col: 5, offset: 53159}, label: "separator", expr: &actionExpr{ - pos: position{line: 1597, col: 16, offset: 52668}, + pos: position{line: 1617, col: 16, offset: 53170}, run: (*parser).callonListElementContinuationElement160, expr: &oneOrMoreExpr{ - pos: position{line: 1597, col: 16, offset: 52668}, + pos: position{line: 1617, col: 16, offset: 53170}, expr: &litMatcher{ - pos: position{line: 1597, col: 17, offset: 52669}, + pos: position{line: 1617, col: 17, offset: 53171}, val: ":", ignoreCase: false, want: "\":\"", @@ -33775,7 +37359,7 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1600, col: 5, offset: 52726}, + pos: position{line: 1620, col: 5, offset: 53228}, run: (*parser).callonListElementContinuationElement163, }, }, @@ -33783,30 +37367,30 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 1592, col: 35, offset: 52536}, + pos: position{line: 1612, col: 35, offset: 53038}, expr: &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonListElementContinuationElement166, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -33815,16 +37399,16 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, }, }, &anyMatcher{ - line: 1592, col: 40, offset: 52541, + line: 1612, col: 40, offset: 53043, }, }, }, @@ -33832,24 +37416,24 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1585, col: 5, offset: 52282}, + pos: position{line: 1605, col: 5, offset: 52784}, label: "separator", expr: &actionExpr{ - pos: position{line: 1597, col: 5, offset: 52657}, + pos: position{line: 1617, col: 5, offset: 53159}, run: (*parser).callonListElementContinuationElement175, expr: &seqExpr{ - pos: position{line: 1597, col: 5, offset: 52657}, + pos: position{line: 1617, col: 5, offset: 53159}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1597, col: 5, offset: 52657}, + pos: position{line: 1617, col: 5, offset: 53159}, label: "separator", expr: &actionExpr{ - pos: position{line: 1597, col: 16, offset: 52668}, + pos: position{line: 1617, col: 16, offset: 53170}, run: (*parser).callonListElementContinuationElement178, expr: &oneOrMoreExpr{ - pos: position{line: 1597, col: 16, offset: 52668}, + pos: position{line: 1617, col: 16, offset: 53170}, expr: &litMatcher{ - pos: position{line: 1597, col: 17, offset: 52669}, + pos: position{line: 1617, col: 17, offset: 53171}, val: ":", ignoreCase: false, want: "\":\"", @@ -33858,7 +37442,7 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1600, col: 5, offset: 52726}, + pos: position{line: 1620, col: 5, offset: 53228}, run: (*parser).callonListElementContinuationElement181, }, }, @@ -33866,24 +37450,24 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1586, col: 5, offset: 52327}, + pos: position{line: 1606, col: 5, offset: 52829}, label: "description", expr: &choiceExpr{ - pos: position{line: 1608, col: 5, offset: 52976}, + pos: position{line: 1628, col: 5, offset: 53478}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1610, col: 9, offset: 53041}, + pos: position{line: 1630, col: 9, offset: 53543}, run: (*parser).callonListElementContinuationElement184, expr: &seqExpr{ - pos: position{line: 1610, col: 9, offset: 53041}, + pos: position{line: 1630, col: 9, offset: 53543}, exprs: []interface{}{ &zeroOrMoreExpr{ - pos: position{line: 1610, col: 9, offset: 53041}, + pos: position{line: 1630, col: 9, offset: 53543}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonListElementContinuationElement187, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -33892,28 +37476,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonListElementContinuationElement190, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -33922,37 +37506,37 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, }, &zeroOrMoreExpr{ - pos: position{line: 1611, col: 9, offset: 53061}, + pos: position{line: 1631, col: 9, offset: 53563}, expr: &actionExpr{ - pos: position{line: 685, col: 14, offset: 22145}, + pos: position{line: 683, col: 14, offset: 22008}, run: (*parser).callonListElementContinuationElement198, expr: &seqExpr{ - pos: position{line: 685, col: 14, offset: 22145}, + pos: position{line: 683, col: 14, offset: 22008}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 685, col: 14, offset: 22145}, + pos: position{line: 683, col: 14, offset: 22008}, expr: ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, &zeroOrMoreExpr{ - pos: position{line: 685, col: 19, offset: 22150}, + pos: position{line: 683, col: 19, offset: 22013}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonListElementContinuationElement204, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -33961,28 +37545,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonListElementContinuationElement207, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -33991,9 +37575,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -34003,47 +37587,47 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1612, col: 9, offset: 53081}, + pos: position{line: 1632, col: 9, offset: 53583}, label: "content", expr: &zeroOrOneExpr{ - pos: position{line: 1612, col: 17, offset: 53089}, + pos: position{line: 1632, col: 17, offset: 53591}, expr: &choiceExpr{ - pos: position{line: 1406, col: 5, offset: 46323}, + pos: position{line: 1426, col: 5, offset: 46825}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1406, col: 5, offset: 46323}, + pos: position{line: 1426, col: 5, offset: 46825}, run: (*parser).callonListElementContinuationElement217, expr: &actionExpr{ - pos: position{line: 2616, col: 22, offset: 87547}, + pos: position{line: 2760, col: 22, offset: 90461}, run: (*parser).callonListElementContinuationElement218, expr: &seqExpr{ - pos: position{line: 2616, col: 22, offset: 87547}, + pos: position{line: 2760, col: 22, offset: 90461}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2621, col: 31, offset: 87768}, + pos: position{line: 2765, col: 31, offset: 90682}, val: "//", ignoreCase: false, want: "\"//\"", }, ¬Expr{ - pos: position{line: 2621, col: 36, offset: 87773}, + pos: position{line: 2765, col: 36, offset: 90687}, expr: &litMatcher{ - pos: position{line: 2621, col: 37, offset: 87774}, + pos: position{line: 2765, col: 37, offset: 90688}, val: "//", ignoreCase: false, want: "\"//\"", }, }, &labeledExpr{ - pos: position{line: 2616, col: 49, offset: 87574}, + pos: position{line: 2760, col: 49, offset: 90488}, label: "content", expr: &actionExpr{ - pos: position{line: 2623, col: 29, offset: 87809}, + pos: position{line: 2767, col: 29, offset: 90723}, run: (*parser).callonListElementContinuationElement224, expr: &zeroOrMoreExpr{ - pos: position{line: 2623, col: 29, offset: 87809}, + pos: position{line: 2767, col: 29, offset: 90723}, expr: &charClassMatcher{ - pos: position{line: 2623, col: 29, offset: 87809}, + pos: position{line: 2767, col: 29, offset: 90723}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -34053,28 +37637,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonListElementContinuationElement228, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -34083,9 +37667,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -34095,35 +37679,35 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1410, col: 9, offset: 46476}, + pos: position{line: 1430, col: 9, offset: 46978}, run: (*parser).callonListElementContinuationElement235, expr: &seqExpr{ - pos: position{line: 1410, col: 9, offset: 46476}, + pos: position{line: 1430, col: 9, offset: 46978}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 1410, col: 9, offset: 46476}, + pos: position{line: 1430, col: 9, offset: 46978}, expr: &actionExpr{ - pos: position{line: 685, col: 14, offset: 22145}, + pos: position{line: 683, col: 14, offset: 22008}, run: (*parser).callonListElementContinuationElement238, expr: &seqExpr{ - pos: position{line: 685, col: 14, offset: 22145}, + pos: position{line: 683, col: 14, offset: 22008}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 685, col: 14, offset: 22145}, + pos: position{line: 683, col: 14, offset: 22008}, expr: ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, &zeroOrMoreExpr{ - pos: position{line: 685, col: 19, offset: 22150}, + pos: position{line: 683, col: 19, offset: 22013}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonListElementContinuationElement244, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -34132,28 +37716,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonListElementContinuationElement247, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -34162,9 +37746,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -34174,23 +37758,23 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 1411, col: 9, offset: 46495}, + pos: position{line: 1431, col: 9, offset: 46997}, expr: &seqExpr{ - pos: position{line: 1444, col: 34, offset: 47455}, + pos: position{line: 1464, col: 34, offset: 47957}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1444, col: 34, offset: 47455}, + pos: position{line: 1464, col: 34, offset: 47957}, val: "+", ignoreCase: false, want: "\"+\"", }, &zeroOrMoreExpr{ - pos: position{line: 1444, col: 38, offset: 47459}, + pos: position{line: 1464, col: 38, offset: 47961}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonListElementContinuationElement258, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -34199,25 +37783,25 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonListElementContinuationElement260, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -34229,20 +37813,20 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 1412, col: 9, offset: 46534}, + pos: position{line: 1432, col: 9, offset: 47036}, expr: &actionExpr{ - pos: position{line: 1492, col: 5, offset: 48929}, + pos: position{line: 1512, col: 5, offset: 49431}, run: (*parser).callonListElementContinuationElement266, expr: &seqExpr{ - pos: position{line: 1492, col: 5, offset: 48929}, + pos: position{line: 1512, col: 5, offset: 49431}, exprs: []interface{}{ &zeroOrMoreExpr{ - pos: position{line: 1492, col: 5, offset: 48929}, + pos: position{line: 1512, col: 5, offset: 49431}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonListElementContinuationElement269, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -34251,27 +37835,27 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1492, col: 12, offset: 48936}, + pos: position{line: 1512, col: 12, offset: 49438}, label: "prefix", expr: &choiceExpr{ - pos: position{line: 1494, col: 9, offset: 48999}, + pos: position{line: 1514, col: 9, offset: 49501}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1494, col: 9, offset: 48999}, + pos: position{line: 1514, col: 9, offset: 49501}, run: (*parser).callonListElementContinuationElement273, expr: &seqExpr{ - pos: position{line: 1494, col: 9, offset: 48999}, + pos: position{line: 1514, col: 9, offset: 49501}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1494, col: 9, offset: 48999}, + pos: position{line: 1514, col: 9, offset: 49501}, label: "depth", expr: &actionExpr{ - pos: position{line: 1494, col: 16, offset: 49006}, + pos: position{line: 1514, col: 16, offset: 49508}, run: (*parser).callonListElementContinuationElement276, expr: &oneOrMoreExpr{ - pos: position{line: 1494, col: 16, offset: 49006}, + pos: position{line: 1514, col: 16, offset: 49508}, expr: &litMatcher{ - pos: position{line: 1494, col: 17, offset: 49007}, + pos: position{line: 1514, col: 17, offset: 49509}, val: ".", ignoreCase: false, want: "\".\"", @@ -34280,22 +37864,22 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1498, col: 9, offset: 49107}, + pos: position{line: 1518, col: 9, offset: 49609}, run: (*parser).callonListElementContinuationElement279, }, }, }, }, &actionExpr{ - pos: position{line: 1517, col: 11, offset: 49824}, + pos: position{line: 1537, col: 11, offset: 50326}, run: (*parser).callonListElementContinuationElement280, expr: &seqExpr{ - pos: position{line: 1517, col: 11, offset: 49824}, + pos: position{line: 1537, col: 11, offset: 50326}, exprs: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 1517, col: 11, offset: 49824}, + pos: position{line: 1537, col: 11, offset: 50326}, expr: &charClassMatcher{ - pos: position{line: 1517, col: 12, offset: 49825}, + pos: position{line: 1537, col: 12, offset: 50327}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -34303,7 +37887,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1517, col: 20, offset: 49833}, + pos: position{line: 1537, col: 20, offset: 50335}, val: ".", ignoreCase: false, want: "\".\"", @@ -34312,20 +37896,20 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1519, col: 13, offset: 49950}, + pos: position{line: 1539, col: 13, offset: 50452}, run: (*parser).callonListElementContinuationElement285, expr: &seqExpr{ - pos: position{line: 1519, col: 13, offset: 49950}, + pos: position{line: 1539, col: 13, offset: 50452}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 1519, col: 14, offset: 49951}, + pos: position{line: 1539, col: 14, offset: 50453}, val: "[a-z]", ranges: []rune{'a', 'z'}, ignoreCase: false, inverted: false, }, &litMatcher{ - pos: position{line: 1519, col: 21, offset: 49958}, + pos: position{line: 1539, col: 21, offset: 50460}, val: ".", ignoreCase: false, want: "\".\"", @@ -34334,20 +37918,20 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1521, col: 13, offset: 50078}, + pos: position{line: 1541, col: 13, offset: 50580}, run: (*parser).callonListElementContinuationElement289, expr: &seqExpr{ - pos: position{line: 1521, col: 13, offset: 50078}, + pos: position{line: 1541, col: 13, offset: 50580}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 1521, col: 14, offset: 50079}, + pos: position{line: 1541, col: 14, offset: 50581}, val: "[A-Z]", ranges: []rune{'A', 'Z'}, ignoreCase: false, inverted: false, }, &litMatcher{ - pos: position{line: 1521, col: 21, offset: 50086}, + pos: position{line: 1541, col: 21, offset: 50588}, val: ".", ignoreCase: false, want: "\".\"", @@ -34356,15 +37940,15 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1523, col: 13, offset: 50206}, + pos: position{line: 1543, col: 13, offset: 50708}, run: (*parser).callonListElementContinuationElement293, expr: &seqExpr{ - pos: position{line: 1523, col: 13, offset: 50206}, + pos: position{line: 1543, col: 13, offset: 50708}, exprs: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 1523, col: 13, offset: 50206}, + pos: position{line: 1543, col: 13, offset: 50708}, expr: &charClassMatcher{ - pos: position{line: 1523, col: 14, offset: 50207}, + pos: position{line: 1543, col: 14, offset: 50709}, val: "[ivxdlcm]", chars: []rune{'i', 'v', 'x', 'd', 'l', 'c', 'm'}, ignoreCase: false, @@ -34372,7 +37956,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1523, col: 26, offset: 50219}, + pos: position{line: 1543, col: 26, offset: 50721}, val: ")", ignoreCase: false, want: "\")\"", @@ -34381,15 +37965,15 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1525, col: 13, offset: 50339}, + pos: position{line: 1545, col: 13, offset: 50841}, run: (*parser).callonListElementContinuationElement298, expr: &seqExpr{ - pos: position{line: 1525, col: 13, offset: 50339}, + pos: position{line: 1545, col: 13, offset: 50841}, exprs: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 1525, col: 13, offset: 50339}, + pos: position{line: 1545, col: 13, offset: 50841}, expr: &charClassMatcher{ - pos: position{line: 1525, col: 14, offset: 50340}, + pos: position{line: 1545, col: 14, offset: 50842}, val: "[IVXDLCM]", chars: []rune{'I', 'V', 'X', 'D', 'L', 'C', 'M'}, ignoreCase: false, @@ -34397,7 +37981,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1525, col: 26, offset: 50352}, + pos: position{line: 1545, col: 26, offset: 50854}, val: ")", ignoreCase: false, want: "\")\"", @@ -34409,12 +37993,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2903, col: 11, offset: 96254}, + pos: position{line: 3062, col: 11, offset: 99678}, run: (*parser).callonListElementContinuationElement303, expr: &oneOrMoreExpr{ - pos: position{line: 2903, col: 11, offset: 96254}, + pos: position{line: 3062, col: 11, offset: 99678}, expr: &charClassMatcher{ - pos: position{line: 2903, col: 12, offset: 96255}, + pos: position{line: 3062, col: 12, offset: 99679}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -34427,20 +38011,20 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 1413, col: 9, offset: 46568}, + pos: position{line: 1433, col: 9, offset: 47070}, expr: &actionExpr{ - pos: position{line: 1542, col: 5, offset: 50891}, + pos: position{line: 1562, col: 5, offset: 51393}, run: (*parser).callonListElementContinuationElement307, expr: &seqExpr{ - pos: position{line: 1542, col: 5, offset: 50891}, + pos: position{line: 1562, col: 5, offset: 51393}, exprs: []interface{}{ &zeroOrMoreExpr{ - pos: position{line: 1542, col: 5, offset: 50891}, + pos: position{line: 1562, col: 5, offset: 51393}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonListElementContinuationElement310, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -34449,27 +38033,27 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1542, col: 12, offset: 50898}, + pos: position{line: 1562, col: 12, offset: 51400}, label: "prefix", expr: &choiceExpr{ - pos: position{line: 1542, col: 20, offset: 50906}, + pos: position{line: 1562, col: 20, offset: 51408}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1544, col: 9, offset: 50963}, + pos: position{line: 1564, col: 9, offset: 51465}, run: (*parser).callonListElementContinuationElement314, expr: &seqExpr{ - pos: position{line: 1544, col: 9, offset: 50963}, + pos: position{line: 1564, col: 9, offset: 51465}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1544, col: 9, offset: 50963}, + pos: position{line: 1564, col: 9, offset: 51465}, label: "depth", expr: &actionExpr{ - pos: position{line: 1544, col: 16, offset: 50970}, + pos: position{line: 1564, col: 16, offset: 51472}, run: (*parser).callonListElementContinuationElement317, expr: &oneOrMoreExpr{ - pos: position{line: 1544, col: 16, offset: 50970}, + pos: position{line: 1564, col: 16, offset: 51472}, expr: &litMatcher{ - pos: position{line: 1544, col: 17, offset: 50971}, + pos: position{line: 1564, col: 17, offset: 51473}, val: "*", ignoreCase: false, want: "\"*\"", @@ -34478,20 +38062,20 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1548, col: 9, offset: 51071}, + pos: position{line: 1568, col: 9, offset: 51573}, run: (*parser).callonListElementContinuationElement320, }, }, }, }, &labeledExpr{ - pos: position{line: 1565, col: 14, offset: 51778}, + pos: position{line: 1585, col: 14, offset: 52280}, label: "depth", expr: &actionExpr{ - pos: position{line: 1565, col: 21, offset: 51785}, + pos: position{line: 1585, col: 21, offset: 52287}, run: (*parser).callonListElementContinuationElement322, expr: &litMatcher{ - pos: position{line: 1565, col: 22, offset: 51786}, + pos: position{line: 1585, col: 22, offset: 52288}, val: "-", ignoreCase: false, want: "\"-\"", @@ -34502,12 +38086,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2903, col: 11, offset: 96254}, + pos: position{line: 3062, col: 11, offset: 99678}, run: (*parser).callonListElementContinuationElement324, expr: &oneOrMoreExpr{ - pos: position{line: 2903, col: 11, offset: 96254}, + pos: position{line: 3062, col: 11, offset: 99678}, expr: &charClassMatcher{ - pos: position{line: 2903, col: 12, offset: 96255}, + pos: position{line: 3062, col: 12, offset: 99679}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -34520,29 +38104,29 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 1414, col: 9, offset: 46604}, + pos: position{line: 1434, col: 9, offset: 47106}, expr: &actionExpr{ - pos: position{line: 1648, col: 5, offset: 54128}, + pos: position{line: 1668, col: 5, offset: 54630}, run: (*parser).callonListElementContinuationElement328, expr: &seqExpr{ - pos: position{line: 1648, col: 5, offset: 54128}, + pos: position{line: 1668, col: 5, offset: 54630}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1648, col: 5, offset: 54128}, + pos: position{line: 1668, col: 5, offset: 54630}, val: "<", ignoreCase: false, want: "\"<\"", }, &labeledExpr{ - pos: position{line: 1648, col: 9, offset: 54132}, + pos: position{line: 1668, col: 9, offset: 54634}, label: "ref", expr: &actionExpr{ - pos: position{line: 1648, col: 14, offset: 54137}, + pos: position{line: 1668, col: 14, offset: 54639}, run: (*parser).callonListElementContinuationElement332, expr: &oneOrMoreExpr{ - pos: position{line: 1648, col: 14, offset: 54137}, + pos: position{line: 1668, col: 14, offset: 54639}, expr: &charClassMatcher{ - pos: position{line: 1648, col: 14, offset: 54137}, + pos: position{line: 1668, col: 14, offset: 54639}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -34552,18 +38136,18 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1648, col: 62, offset: 54185}, + pos: position{line: 1668, col: 62, offset: 54687}, val: ">", ignoreCase: false, want: "\">\"", }, &actionExpr{ - pos: position{line: 2903, col: 11, offset: 96254}, + pos: position{line: 3062, col: 11, offset: 99678}, run: (*parser).callonListElementContinuationElement336, expr: &oneOrMoreExpr{ - pos: position{line: 2903, col: 11, offset: 96254}, + pos: position{line: 3062, col: 11, offset: 99678}, expr: &charClassMatcher{ - pos: position{line: 2903, col: 12, offset: 96255}, + pos: position{line: 3062, col: 12, offset: 99679}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -34576,36 +38160,36 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 1415, col: 9, offset: 46638}, + pos: position{line: 1435, col: 9, offset: 47140}, expr: &seqExpr{ - pos: position{line: 1415, col: 11, offset: 46640}, + pos: position{line: 1435, col: 11, offset: 47142}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 1592, col: 5, offset: 52506}, + pos: position{line: 1612, col: 5, offset: 53008}, run: (*parser).callonListElementContinuationElement341, expr: &oneOrMoreExpr{ - pos: position{line: 1592, col: 5, offset: 52506}, + pos: position{line: 1612, col: 5, offset: 53008}, expr: &seqExpr{ - pos: position{line: 1592, col: 6, offset: 52507}, + pos: position{line: 1612, col: 6, offset: 53009}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 1592, col: 6, offset: 52507}, + pos: position{line: 1612, col: 6, offset: 53009}, expr: &actionExpr{ - pos: position{line: 1597, col: 5, offset: 52657}, + pos: position{line: 1617, col: 5, offset: 53159}, run: (*parser).callonListElementContinuationElement345, expr: &seqExpr{ - pos: position{line: 1597, col: 5, offset: 52657}, + pos: position{line: 1617, col: 5, offset: 53159}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1597, col: 5, offset: 52657}, + pos: position{line: 1617, col: 5, offset: 53159}, label: "separator", expr: &actionExpr{ - pos: position{line: 1597, col: 16, offset: 52668}, + pos: position{line: 1617, col: 16, offset: 53170}, run: (*parser).callonListElementContinuationElement348, expr: &oneOrMoreExpr{ - pos: position{line: 1597, col: 16, offset: 52668}, + pos: position{line: 1617, col: 16, offset: 53170}, expr: &litMatcher{ - pos: position{line: 1597, col: 17, offset: 52669}, + pos: position{line: 1617, col: 17, offset: 53171}, val: ":", ignoreCase: false, want: "\":\"", @@ -34614,7 +38198,7 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1600, col: 5, offset: 52726}, + pos: position{line: 1620, col: 5, offset: 53228}, run: (*parser).callonListElementContinuationElement351, }, }, @@ -34622,30 +38206,30 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 1592, col: 35, offset: 52536}, + pos: position{line: 1612, col: 35, offset: 53038}, expr: &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonListElementContinuationElement354, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -34654,37 +38238,37 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, }, }, &anyMatcher{ - line: 1592, col: 40, offset: 52541, + line: 1612, col: 40, offset: 53043, }, }, }, }, }, &actionExpr{ - pos: position{line: 1597, col: 5, offset: 52657}, + pos: position{line: 1617, col: 5, offset: 53159}, run: (*parser).callonListElementContinuationElement362, expr: &seqExpr{ - pos: position{line: 1597, col: 5, offset: 52657}, + pos: position{line: 1617, col: 5, offset: 53159}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1597, col: 5, offset: 52657}, + pos: position{line: 1617, col: 5, offset: 53159}, label: "separator", expr: &actionExpr{ - pos: position{line: 1597, col: 16, offset: 52668}, + pos: position{line: 1617, col: 16, offset: 53170}, run: (*parser).callonListElementContinuationElement365, expr: &oneOrMoreExpr{ - pos: position{line: 1597, col: 16, offset: 52668}, + pos: position{line: 1617, col: 16, offset: 53170}, expr: &litMatcher{ - pos: position{line: 1597, col: 17, offset: 52669}, + pos: position{line: 1617, col: 17, offset: 53171}, val: ":", ignoreCase: false, want: "\":\"", @@ -34693,7 +38277,7 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1600, col: 5, offset: 52726}, + pos: position{line: 1620, col: 5, offset: 53228}, run: (*parser).callonListElementContinuationElement368, }, }, @@ -34703,17 +38287,17 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 1416, col: 9, offset: 46700}, + pos: position{line: 1436, col: 9, offset: 47202}, expr: &actionExpr{ - pos: position{line: 731, col: 5, offset: 23680}, + pos: position{line: 729, col: 5, offset: 23543}, run: (*parser).callonListElementContinuationElement370, expr: &seqExpr{ - pos: position{line: 731, col: 5, offset: 23680}, + pos: position{line: 729, col: 5, offset: 23543}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 731, col: 5, offset: 23680}, + pos: position{line: 729, col: 5, offset: 23543}, expr: &charClassMatcher{ - pos: position{line: 2813, col: 13, offset: 93503}, + pos: position{line: 2972, col: 13, offset: 96927}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -34722,30 +38306,30 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 732, col: 5, offset: 23710}, + pos: position{line: 730, col: 5, offset: 23573}, label: "delimiter", expr: &choiceExpr{ - pos: position{line: 733, col: 9, offset: 23730}, + pos: position{line: 731, col: 9, offset: 23593}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 746, col: 26, offset: 24217}, + pos: position{line: 744, col: 26, offset: 24080}, run: (*parser).callonListElementContinuationElement376, expr: &seqExpr{ - pos: position{line: 746, col: 26, offset: 24217}, + pos: position{line: 744, col: 26, offset: 24080}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 746, col: 26, offset: 24217}, + pos: position{line: 744, col: 26, offset: 24080}, val: "////", ignoreCase: false, want: "\"////\"", }, &zeroOrMoreExpr{ - pos: position{line: 746, col: 33, offset: 24224}, + pos: position{line: 744, col: 33, offset: 24087}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonListElementContinuationElement380, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -34754,28 +38338,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonListElementContinuationElement383, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -34784,9 +38368,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -34795,24 +38379,24 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 750, col: 26, offset: 24331}, + pos: position{line: 748, col: 26, offset: 24194}, run: (*parser).callonListElementContinuationElement390, expr: &seqExpr{ - pos: position{line: 750, col: 26, offset: 24331}, + pos: position{line: 748, col: 26, offset: 24194}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 750, col: 26, offset: 24331}, + pos: position{line: 748, col: 26, offset: 24194}, val: "====", ignoreCase: false, want: "\"====\"", }, &zeroOrMoreExpr{ - pos: position{line: 750, col: 33, offset: 24338}, + pos: position{line: 748, col: 33, offset: 24201}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonListElementContinuationElement394, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -34821,28 +38405,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonListElementContinuationElement397, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -34851,9 +38435,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -34862,27 +38446,27 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 758, col: 26, offset: 24556}, + pos: position{line: 756, col: 26, offset: 24419}, run: (*parser).callonListElementContinuationElement404, expr: &seqExpr{ - pos: position{line: 758, col: 26, offset: 24556}, + pos: position{line: 756, col: 26, offset: 24419}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 758, col: 26, offset: 24556}, + pos: position{line: 756, col: 26, offset: 24419}, val: "```", ignoreCase: false, want: "\"```\"", }, &labeledExpr{ - pos: position{line: 758, col: 32, offset: 24562}, + pos: position{line: 756, col: 32, offset: 24425}, label: "language", expr: &actionExpr{ - pos: position{line: 762, col: 13, offset: 24692}, + pos: position{line: 760, col: 13, offset: 24555}, run: (*parser).callonListElementContinuationElement408, expr: &oneOrMoreExpr{ - pos: position{line: 762, col: 14, offset: 24693}, + pos: position{line: 760, col: 14, offset: 24556}, expr: &charClassMatcher{ - pos: position{line: 762, col: 14, offset: 24693}, + pos: position{line: 760, col: 14, offset: 24556}, val: "[^\\r\\n ]", chars: []rune{'\r', '\n', ' '}, ignoreCase: false, @@ -34892,12 +38476,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 758, col: 52, offset: 24582}, + pos: position{line: 756, col: 52, offset: 24445}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonListElementContinuationElement412, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -34906,28 +38490,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonListElementContinuationElement415, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -34936,9 +38520,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -34947,24 +38531,24 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 754, col: 25, offset: 24444}, + pos: position{line: 752, col: 25, offset: 24307}, run: (*parser).callonListElementContinuationElement422, expr: &seqExpr{ - pos: position{line: 754, col: 25, offset: 24444}, + pos: position{line: 752, col: 25, offset: 24307}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 754, col: 25, offset: 24444}, + pos: position{line: 752, col: 25, offset: 24307}, val: "```", ignoreCase: false, want: "\"```\"", }, &zeroOrMoreExpr{ - pos: position{line: 754, col: 31, offset: 24450}, + pos: position{line: 752, col: 31, offset: 24313}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonListElementContinuationElement426, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -34973,28 +38557,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonListElementContinuationElement429, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -35003,9 +38587,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -35014,24 +38598,24 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 766, col: 26, offset: 24765}, + pos: position{line: 764, col: 26, offset: 24628}, run: (*parser).callonListElementContinuationElement436, expr: &seqExpr{ - pos: position{line: 766, col: 26, offset: 24765}, + pos: position{line: 764, col: 26, offset: 24628}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 766, col: 26, offset: 24765}, + pos: position{line: 764, col: 26, offset: 24628}, val: "----", ignoreCase: false, want: "\"----\"", }, &zeroOrMoreExpr{ - pos: position{line: 766, col: 33, offset: 24772}, + pos: position{line: 764, col: 33, offset: 24635}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonListElementContinuationElement440, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -35040,28 +38624,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonListElementContinuationElement443, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -35070,9 +38654,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -35081,24 +38665,24 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 770, col: 26, offset: 24879}, + pos: position{line: 768, col: 26, offset: 24742}, run: (*parser).callonListElementContinuationElement450, expr: &seqExpr{ - pos: position{line: 770, col: 26, offset: 24879}, + pos: position{line: 768, col: 26, offset: 24742}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 770, col: 26, offset: 24879}, + pos: position{line: 768, col: 26, offset: 24742}, val: "....", ignoreCase: false, want: "\"....\"", }, &zeroOrMoreExpr{ - pos: position{line: 770, col: 33, offset: 24886}, + pos: position{line: 768, col: 33, offset: 24749}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonListElementContinuationElement454, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -35107,28 +38691,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonListElementContinuationElement457, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -35137,9 +38721,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -35148,24 +38732,24 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 774, col: 30, offset: 24997}, + pos: position{line: 772, col: 30, offset: 24860}, run: (*parser).callonListElementContinuationElement464, expr: &seqExpr{ - pos: position{line: 774, col: 30, offset: 24997}, + pos: position{line: 772, col: 30, offset: 24860}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 774, col: 30, offset: 24997}, + pos: position{line: 772, col: 30, offset: 24860}, val: "++++", ignoreCase: false, want: "\"++++\"", }, &zeroOrMoreExpr{ - pos: position{line: 774, col: 37, offset: 25004}, + pos: position{line: 772, col: 37, offset: 24867}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonListElementContinuationElement468, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -35174,28 +38758,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonListElementContinuationElement471, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -35204,9 +38788,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -35215,24 +38799,24 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 778, col: 24, offset: 25113}, + pos: position{line: 776, col: 24, offset: 24976}, run: (*parser).callonListElementContinuationElement478, expr: &seqExpr{ - pos: position{line: 778, col: 24, offset: 25113}, + pos: position{line: 776, col: 24, offset: 24976}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 778, col: 24, offset: 25113}, + pos: position{line: 776, col: 24, offset: 24976}, val: "____", ignoreCase: false, want: "\"____\"", }, &zeroOrMoreExpr{ - pos: position{line: 778, col: 31, offset: 25120}, + pos: position{line: 776, col: 31, offset: 24983}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonListElementContinuationElement482, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -35241,28 +38825,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonListElementContinuationElement485, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -35271,9 +38855,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -35282,24 +38866,24 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 782, col: 26, offset: 25225}, + pos: position{line: 780, col: 26, offset: 25088}, run: (*parser).callonListElementContinuationElement492, expr: &seqExpr{ - pos: position{line: 782, col: 26, offset: 25225}, + pos: position{line: 780, col: 26, offset: 25088}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 782, col: 26, offset: 25225}, + pos: position{line: 780, col: 26, offset: 25088}, val: "****", ignoreCase: false, want: "\"****\"", }, &zeroOrMoreExpr{ - pos: position{line: 782, col: 33, offset: 25232}, + pos: position{line: 780, col: 33, offset: 25095}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonListElementContinuationElement496, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -35308,28 +38892,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonListElementContinuationElement499, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -35338,9 +38922,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -35356,15 +38940,15 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1417, col: 9, offset: 46724}, + pos: position{line: 1437, col: 9, offset: 47226}, label: "content", expr: &actionExpr{ - pos: position{line: 1417, col: 18, offset: 46733}, + pos: position{line: 1437, col: 18, offset: 47235}, run: (*parser).callonListElementContinuationElement507, expr: &oneOrMoreExpr{ - pos: position{line: 1417, col: 18, offset: 46733}, + pos: position{line: 1437, col: 18, offset: 47235}, expr: &charClassMatcher{ - pos: position{line: 1417, col: 18, offset: 46733}, + pos: position{line: 1437, col: 18, offset: 47235}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -35374,28 +38958,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonListElementContinuationElement511, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -35404,9 +38988,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -35422,18 +39006,18 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1620, col: 9, offset: 53324}, + pos: position{line: 1640, col: 9, offset: 53826}, run: (*parser).callonListElementContinuationElement518, expr: &seqExpr{ - pos: position{line: 1620, col: 9, offset: 53324}, + pos: position{line: 1640, col: 9, offset: 53826}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 2903, col: 11, offset: 96254}, + pos: position{line: 3062, col: 11, offset: 99678}, run: (*parser).callonListElementContinuationElement520, expr: &oneOrMoreExpr{ - pos: position{line: 2903, col: 11, offset: 96254}, + pos: position{line: 3062, col: 11, offset: 99678}, expr: &charClassMatcher{ - pos: position{line: 2903, col: 12, offset: 96255}, + pos: position{line: 3062, col: 12, offset: 99679}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -35442,15 +39026,15 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1621, col: 9, offset: 53376}, + pos: position{line: 1641, col: 9, offset: 53878}, label: "content", expr: &actionExpr{ - pos: position{line: 1621, col: 18, offset: 53385}, + pos: position{line: 1641, col: 18, offset: 53887}, run: (*parser).callonListElementContinuationElement524, expr: &oneOrMoreExpr{ - pos: position{line: 1621, col: 18, offset: 53385}, + pos: position{line: 1641, col: 18, offset: 53887}, expr: &charClassMatcher{ - pos: position{line: 1621, col: 18, offset: 53385}, + pos: position{line: 1641, col: 18, offset: 53887}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -35460,28 +39044,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonListElementContinuationElement528, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -35490,9 +39074,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -35510,44 +39094,44 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1449, col: 5, offset: 47596}, + pos: position{line: 1469, col: 5, offset: 48098}, label: "attributes", expr: &zeroOrOneExpr{ - pos: position{line: 1449, col: 16, offset: 47607}, + pos: position{line: 1469, col: 16, offset: 48109}, expr: &ruleRefExpr{ - pos: position{line: 1449, col: 17, offset: 47608}, + pos: position{line: 1469, col: 17, offset: 48110}, name: "BlockAttributes", }, }, }, &labeledExpr{ - pos: position{line: 1450, col: 5, offset: 47630}, + pos: position{line: 1470, col: 5, offset: 48132}, label: "element", expr: &choiceExpr{ - pos: position{line: 1451, col: 9, offset: 47648}, + pos: position{line: 1471, col: 9, offset: 48150}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 685, col: 14, offset: 22145}, + pos: position{line: 683, col: 14, offset: 22008}, run: (*parser).callonListElementContinuationElement540, expr: &seqExpr{ - pos: position{line: 685, col: 14, offset: 22145}, + pos: position{line: 683, col: 14, offset: 22008}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 685, col: 14, offset: 22145}, + pos: position{line: 683, col: 14, offset: 22008}, expr: ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, &zeroOrMoreExpr{ - pos: position{line: 685, col: 19, offset: 22150}, + pos: position{line: 683, col: 19, offset: 22013}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonListElementContinuationElement546, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -35556,28 +39140,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonListElementContinuationElement549, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -35586,9 +39170,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -35597,32 +39181,32 @@ var g = &grammar{ }, }, &ruleRefExpr{ - pos: position{line: 1452, col: 11, offset: 47668}, + pos: position{line: 1472, col: 11, offset: 48170}, name: "AttributeDeclaration", }, &actionExpr{ - pos: position{line: 372, col: 19, offset: 11492}, + pos: position{line: 364, col: 19, offset: 11153}, run: (*parser).callonListElementContinuationElement557, expr: &seqExpr{ - pos: position{line: 372, col: 19, offset: 11492}, + pos: position{line: 364, col: 19, offset: 11153}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 372, col: 19, offset: 11492}, + pos: position{line: 364, col: 19, offset: 11153}, val: ":!", ignoreCase: false, want: "\":!\"", }, &labeledExpr{ - pos: position{line: 372, col: 24, offset: 11497}, + pos: position{line: 364, col: 24, offset: 11158}, label: "name", expr: &actionExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, run: (*parser).callonListElementContinuationElement561, expr: &seqExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -35631,9 +39215,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 332, col: 28, offset: 10403}, + pos: position{line: 324, col: 28, offset: 10064}, expr: &charClassMatcher{ - pos: position{line: 332, col: 29, offset: 10404}, + pos: position{line: 324, col: 29, offset: 10065}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -35647,18 +39231,18 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 372, col: 45, offset: 11518}, + pos: position{line: 364, col: 45, offset: 11179}, val: ":", ignoreCase: false, want: "\":\"", }, &zeroOrMoreExpr{ - pos: position{line: 372, col: 49, offset: 11522}, + pos: position{line: 364, col: 49, offset: 11183}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonListElementContinuationElement568, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -35667,28 +39251,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonListElementContinuationElement571, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -35697,9 +39281,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -35708,28 +39292,28 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 374, col: 5, offset: 11605}, + pos: position{line: 366, col: 5, offset: 11266}, run: (*parser).callonListElementContinuationElement578, expr: &seqExpr{ - pos: position{line: 374, col: 5, offset: 11605}, + pos: position{line: 366, col: 5, offset: 11266}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 374, col: 5, offset: 11605}, + pos: position{line: 366, col: 5, offset: 11266}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 374, col: 9, offset: 11609}, + pos: position{line: 366, col: 9, offset: 11270}, label: "name", expr: &actionExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, run: (*parser).callonListElementContinuationElement582, expr: &seqExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -35738,9 +39322,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 332, col: 28, offset: 10403}, + pos: position{line: 324, col: 28, offset: 10064}, expr: &charClassMatcher{ - pos: position{line: 332, col: 29, offset: 10404}, + pos: position{line: 324, col: 29, offset: 10065}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -35754,18 +39338,18 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 374, col: 30, offset: 11630}, + pos: position{line: 366, col: 30, offset: 11291}, val: "!:", ignoreCase: false, want: "\"!:\"", }, &zeroOrMoreExpr{ - pos: position{line: 374, col: 35, offset: 11635}, + pos: position{line: 366, col: 35, offset: 11296}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonListElementContinuationElement589, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -35774,28 +39358,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonListElementContinuationElement592, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -35804,9 +39388,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -35815,30 +39399,30 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 798, col: 5, offset: 25649}, + pos: position{line: 796, col: 5, offset: 25512}, run: (*parser).callonListElementContinuationElement599, expr: &seqExpr{ - pos: position{line: 798, col: 5, offset: 25649}, + pos: position{line: 796, col: 5, offset: 25512}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 746, col: 26, offset: 24217}, + pos: position{line: 744, col: 26, offset: 24080}, run: (*parser).callonListElementContinuationElement601, expr: &seqExpr{ - pos: position{line: 746, col: 26, offset: 24217}, + pos: position{line: 744, col: 26, offset: 24080}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 746, col: 26, offset: 24217}, + pos: position{line: 744, col: 26, offset: 24080}, val: "////", ignoreCase: false, want: "\"////\"", }, &zeroOrMoreExpr{ - pos: position{line: 746, col: 33, offset: 24224}, + pos: position{line: 744, col: 33, offset: 24087}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonListElementContinuationElement605, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -35847,28 +39431,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonListElementContinuationElement608, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -35877,9 +39461,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -35888,40 +39472,40 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 799, col: 5, offset: 25680}, + pos: position{line: 797, col: 5, offset: 25543}, label: "content", expr: &zeroOrMoreExpr{ - pos: position{line: 810, col: 5, offset: 26004}, + pos: position{line: 808, col: 5, offset: 25867}, expr: &actionExpr{ - pos: position{line: 810, col: 6, offset: 26005}, + pos: position{line: 808, col: 6, offset: 25868}, run: (*parser).callonListElementContinuationElement617, expr: &seqExpr{ - pos: position{line: 810, col: 6, offset: 26005}, + pos: position{line: 808, col: 6, offset: 25868}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 810, col: 6, offset: 26005}, + pos: position{line: 808, col: 6, offset: 25868}, expr: &choiceExpr{ - pos: position{line: 807, col: 29, offset: 25947}, + pos: position{line: 805, col: 29, offset: 25810}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 746, col: 26, offset: 24217}, + pos: position{line: 744, col: 26, offset: 24080}, run: (*parser).callonListElementContinuationElement621, expr: &seqExpr{ - pos: position{line: 746, col: 26, offset: 24217}, + pos: position{line: 744, col: 26, offset: 24080}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 746, col: 26, offset: 24217}, + pos: position{line: 744, col: 26, offset: 24080}, val: "////", ignoreCase: false, want: "\"////\"", }, &zeroOrMoreExpr{ - pos: position{line: 746, col: 33, offset: 24224}, + pos: position{line: 744, col: 33, offset: 24087}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonListElementContinuationElement625, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -35930,28 +39514,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonListElementContinuationElement628, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -35960,9 +39544,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -35971,42 +39555,42 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, }, }, &labeledExpr{ - pos: position{line: 811, col: 5, offset: 26035}, + pos: position{line: 809, col: 5, offset: 25898}, label: "line", expr: &actionExpr{ - pos: position{line: 787, col: 5, offset: 25344}, + pos: position{line: 785, col: 5, offset: 25207}, run: (*parser).callonListElementContinuationElement638, expr: &seqExpr{ - pos: position{line: 787, col: 5, offset: 25344}, + pos: position{line: 785, col: 5, offset: 25207}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 787, col: 5, offset: 25344}, + pos: position{line: 785, col: 5, offset: 25207}, expr: ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, &labeledExpr{ - pos: position{line: 788, col: 5, offset: 25417}, + pos: position{line: 786, col: 5, offset: 25280}, label: "content", expr: &actionExpr{ - pos: position{line: 788, col: 14, offset: 25426}, + pos: position{line: 786, col: 14, offset: 25289}, run: (*parser).callonListElementContinuationElement644, expr: &zeroOrMoreExpr{ - pos: position{line: 788, col: 14, offset: 25426}, + pos: position{line: 786, col: 14, offset: 25289}, expr: &charClassMatcher{ - pos: position{line: 788, col: 14, offset: 25426}, + pos: position{line: 786, col: 14, offset: 25289}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -36016,28 +39600,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonListElementContinuationElement648, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -36046,9 +39630,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -36063,29 +39647,29 @@ var g = &grammar{ }, }, &zeroOrOneExpr{ - pos: position{line: 800, col: 5, offset: 25714}, + pos: position{line: 798, col: 5, offset: 25577}, expr: &choiceExpr{ - pos: position{line: 807, col: 29, offset: 25947}, + pos: position{line: 805, col: 29, offset: 25810}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 746, col: 26, offset: 24217}, + pos: position{line: 744, col: 26, offset: 24080}, run: (*parser).callonListElementContinuationElement657, expr: &seqExpr{ - pos: position{line: 746, col: 26, offset: 24217}, + pos: position{line: 744, col: 26, offset: 24080}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 746, col: 26, offset: 24217}, + pos: position{line: 744, col: 26, offset: 24080}, val: "////", ignoreCase: false, want: "\"////\"", }, &zeroOrMoreExpr{ - pos: position{line: 746, col: 33, offset: 24224}, + pos: position{line: 744, col: 33, offset: 24087}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonListElementContinuationElement661, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -36094,28 +39678,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonListElementContinuationElement664, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -36124,9 +39708,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -36135,9 +39719,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -36147,30 +39731,30 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 819, col: 5, offset: 26188}, + pos: position{line: 817, col: 5, offset: 26051}, run: (*parser).callonListElementContinuationElement673, expr: &seqExpr{ - pos: position{line: 819, col: 5, offset: 26188}, + pos: position{line: 817, col: 5, offset: 26051}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 750, col: 26, offset: 24331}, + pos: position{line: 748, col: 26, offset: 24194}, run: (*parser).callonListElementContinuationElement675, expr: &seqExpr{ - pos: position{line: 750, col: 26, offset: 24331}, + pos: position{line: 748, col: 26, offset: 24194}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 750, col: 26, offset: 24331}, + pos: position{line: 748, col: 26, offset: 24194}, val: "====", ignoreCase: false, want: "\"====\"", }, &zeroOrMoreExpr{ - pos: position{line: 750, col: 33, offset: 24338}, + pos: position{line: 748, col: 33, offset: 24201}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonListElementContinuationElement679, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -36179,28 +39763,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonListElementContinuationElement682, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -36209,9 +39793,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -36220,40 +39804,40 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 820, col: 5, offset: 26219}, + pos: position{line: 818, col: 5, offset: 26082}, label: "content", expr: &zeroOrMoreExpr{ - pos: position{line: 831, col: 4, offset: 26542}, + pos: position{line: 829, col: 4, offset: 26405}, expr: &actionExpr{ - pos: position{line: 831, col: 5, offset: 26543}, + pos: position{line: 829, col: 5, offset: 26406}, run: (*parser).callonListElementContinuationElement691, expr: &seqExpr{ - pos: position{line: 831, col: 5, offset: 26543}, + pos: position{line: 829, col: 5, offset: 26406}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 831, col: 5, offset: 26543}, + pos: position{line: 829, col: 5, offset: 26406}, expr: &choiceExpr{ - pos: position{line: 828, col: 29, offset: 26486}, + pos: position{line: 826, col: 29, offset: 26349}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 750, col: 26, offset: 24331}, + pos: position{line: 748, col: 26, offset: 24194}, run: (*parser).callonListElementContinuationElement695, expr: &seqExpr{ - pos: position{line: 750, col: 26, offset: 24331}, + pos: position{line: 748, col: 26, offset: 24194}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 750, col: 26, offset: 24331}, + pos: position{line: 748, col: 26, offset: 24194}, val: "====", ignoreCase: false, want: "\"====\"", }, &zeroOrMoreExpr{ - pos: position{line: 750, col: 33, offset: 24338}, + pos: position{line: 748, col: 33, offset: 24201}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonListElementContinuationElement699, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -36262,28 +39846,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonListElementContinuationElement702, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -36292,9 +39876,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -36303,42 +39887,42 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, }, }, &labeledExpr{ - pos: position{line: 832, col: 5, offset: 26573}, + pos: position{line: 830, col: 5, offset: 26436}, label: "line", expr: &actionExpr{ - pos: position{line: 787, col: 5, offset: 25344}, + pos: position{line: 785, col: 5, offset: 25207}, run: (*parser).callonListElementContinuationElement712, expr: &seqExpr{ - pos: position{line: 787, col: 5, offset: 25344}, + pos: position{line: 785, col: 5, offset: 25207}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 787, col: 5, offset: 25344}, + pos: position{line: 785, col: 5, offset: 25207}, expr: ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, &labeledExpr{ - pos: position{line: 788, col: 5, offset: 25417}, + pos: position{line: 786, col: 5, offset: 25280}, label: "content", expr: &actionExpr{ - pos: position{line: 788, col: 14, offset: 25426}, + pos: position{line: 786, col: 14, offset: 25289}, run: (*parser).callonListElementContinuationElement718, expr: &zeroOrMoreExpr{ - pos: position{line: 788, col: 14, offset: 25426}, + pos: position{line: 786, col: 14, offset: 25289}, expr: &charClassMatcher{ - pos: position{line: 788, col: 14, offset: 25426}, + pos: position{line: 786, col: 14, offset: 25289}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -36348,28 +39932,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonListElementContinuationElement722, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -36378,9 +39962,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -36395,29 +39979,29 @@ var g = &grammar{ }, }, &zeroOrOneExpr{ - pos: position{line: 821, col: 5, offset: 26253}, + pos: position{line: 819, col: 5, offset: 26116}, expr: &choiceExpr{ - pos: position{line: 828, col: 29, offset: 26486}, + pos: position{line: 826, col: 29, offset: 26349}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 750, col: 26, offset: 24331}, + pos: position{line: 748, col: 26, offset: 24194}, run: (*parser).callonListElementContinuationElement731, expr: &seqExpr{ - pos: position{line: 750, col: 26, offset: 24331}, + pos: position{line: 748, col: 26, offset: 24194}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 750, col: 26, offset: 24331}, + pos: position{line: 748, col: 26, offset: 24194}, val: "====", ignoreCase: false, want: "\"====\"", }, &zeroOrMoreExpr{ - pos: position{line: 750, col: 33, offset: 24338}, + pos: position{line: 748, col: 33, offset: 24201}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonListElementContinuationElement735, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -36426,28 +40010,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonListElementContinuationElement738, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -36456,9 +40040,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -36467,9 +40051,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -36479,36 +40063,36 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 903, col: 5, offset: 28353}, + pos: position{line: 901, col: 5, offset: 28216}, run: (*parser).callonListElementContinuationElement747, expr: &seqExpr{ - pos: position{line: 903, col: 5, offset: 28353}, + pos: position{line: 901, col: 5, offset: 28216}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 903, col: 5, offset: 28353}, + pos: position{line: 901, col: 5, offset: 28216}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 758, col: 26, offset: 24556}, + pos: position{line: 756, col: 26, offset: 24419}, run: (*parser).callonListElementContinuationElement750, expr: &seqExpr{ - pos: position{line: 758, col: 26, offset: 24556}, + pos: position{line: 756, col: 26, offset: 24419}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 758, col: 26, offset: 24556}, + pos: position{line: 756, col: 26, offset: 24419}, val: "```", ignoreCase: false, want: "\"```\"", }, &labeledExpr{ - pos: position{line: 758, col: 32, offset: 24562}, + pos: position{line: 756, col: 32, offset: 24425}, label: "language", expr: &actionExpr{ - pos: position{line: 762, col: 13, offset: 24692}, + pos: position{line: 760, col: 13, offset: 24555}, run: (*parser).callonListElementContinuationElement754, expr: &oneOrMoreExpr{ - pos: position{line: 762, col: 14, offset: 24693}, + pos: position{line: 760, col: 14, offset: 24556}, expr: &charClassMatcher{ - pos: position{line: 762, col: 14, offset: 24693}, + pos: position{line: 760, col: 14, offset: 24556}, val: "[^\\r\\n ]", chars: []rune{'\r', '\n', ' '}, ignoreCase: false, @@ -36518,12 +40102,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 758, col: 52, offset: 24582}, + pos: position{line: 756, col: 52, offset: 24445}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonListElementContinuationElement758, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -36532,28 +40116,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonListElementContinuationElement761, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -36562,9 +40146,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -36574,40 +40158,40 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 904, col: 5, offset: 28399}, + pos: position{line: 902, col: 5, offset: 28262}, label: "content", expr: &zeroOrMoreExpr{ - pos: position{line: 918, col: 5, offset: 28916}, + pos: position{line: 916, col: 5, offset: 28779}, expr: &actionExpr{ - pos: position{line: 918, col: 6, offset: 28917}, + pos: position{line: 916, col: 6, offset: 28780}, run: (*parser).callonListElementContinuationElement770, expr: &seqExpr{ - pos: position{line: 918, col: 6, offset: 28917}, + pos: position{line: 916, col: 6, offset: 28780}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 918, col: 6, offset: 28917}, + pos: position{line: 916, col: 6, offset: 28780}, expr: &choiceExpr{ - pos: position{line: 849, col: 28, offset: 27022}, + pos: position{line: 847, col: 28, offset: 26885}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 754, col: 25, offset: 24444}, + pos: position{line: 752, col: 25, offset: 24307}, run: (*parser).callonListElementContinuationElement774, expr: &seqExpr{ - pos: position{line: 754, col: 25, offset: 24444}, + pos: position{line: 752, col: 25, offset: 24307}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 754, col: 25, offset: 24444}, + pos: position{line: 752, col: 25, offset: 24307}, val: "```", ignoreCase: false, want: "\"```\"", }, &zeroOrMoreExpr{ - pos: position{line: 754, col: 31, offset: 24450}, + pos: position{line: 752, col: 31, offset: 24313}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonListElementContinuationElement778, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -36616,28 +40200,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonListElementContinuationElement781, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -36646,9 +40230,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -36657,42 +40241,42 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, }, }, &labeledExpr{ - pos: position{line: 919, col: 5, offset: 28952}, + pos: position{line: 917, col: 5, offset: 28815}, label: "line", expr: &actionExpr{ - pos: position{line: 787, col: 5, offset: 25344}, + pos: position{line: 785, col: 5, offset: 25207}, run: (*parser).callonListElementContinuationElement791, expr: &seqExpr{ - pos: position{line: 787, col: 5, offset: 25344}, + pos: position{line: 785, col: 5, offset: 25207}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 787, col: 5, offset: 25344}, + pos: position{line: 785, col: 5, offset: 25207}, expr: ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, &labeledExpr{ - pos: position{line: 788, col: 5, offset: 25417}, + pos: position{line: 786, col: 5, offset: 25280}, label: "content", expr: &actionExpr{ - pos: position{line: 788, col: 14, offset: 25426}, + pos: position{line: 786, col: 14, offset: 25289}, run: (*parser).callonListElementContinuationElement797, expr: &zeroOrMoreExpr{ - pos: position{line: 788, col: 14, offset: 25426}, + pos: position{line: 786, col: 14, offset: 25289}, expr: &charClassMatcher{ - pos: position{line: 788, col: 14, offset: 25426}, + pos: position{line: 786, col: 14, offset: 25289}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -36702,28 +40286,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonListElementContinuationElement801, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -36732,9 +40316,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -36749,29 +40333,29 @@ var g = &grammar{ }, }, &zeroOrOneExpr{ - pos: position{line: 905, col: 5, offset: 28438}, + pos: position{line: 903, col: 5, offset: 28301}, expr: &choiceExpr{ - pos: position{line: 849, col: 28, offset: 27022}, + pos: position{line: 847, col: 28, offset: 26885}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 754, col: 25, offset: 24444}, + pos: position{line: 752, col: 25, offset: 24307}, run: (*parser).callonListElementContinuationElement810, expr: &seqExpr{ - pos: position{line: 754, col: 25, offset: 24444}, + pos: position{line: 752, col: 25, offset: 24307}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 754, col: 25, offset: 24444}, + pos: position{line: 752, col: 25, offset: 24307}, val: "```", ignoreCase: false, want: "\"```\"", }, &zeroOrMoreExpr{ - pos: position{line: 754, col: 31, offset: 24450}, + pos: position{line: 752, col: 31, offset: 24313}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonListElementContinuationElement814, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -36780,28 +40364,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonListElementContinuationElement817, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -36810,9 +40394,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -36821,9 +40405,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -36833,30 +40417,30 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 840, col: 5, offset: 26726}, + pos: position{line: 838, col: 5, offset: 26589}, run: (*parser).callonListElementContinuationElement826, expr: &seqExpr{ - pos: position{line: 840, col: 5, offset: 26726}, + pos: position{line: 838, col: 5, offset: 26589}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 754, col: 25, offset: 24444}, + pos: position{line: 752, col: 25, offset: 24307}, run: (*parser).callonListElementContinuationElement828, expr: &seqExpr{ - pos: position{line: 754, col: 25, offset: 24444}, + pos: position{line: 752, col: 25, offset: 24307}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 754, col: 25, offset: 24444}, + pos: position{line: 752, col: 25, offset: 24307}, val: "```", ignoreCase: false, want: "\"```\"", }, &zeroOrMoreExpr{ - pos: position{line: 754, col: 31, offset: 24450}, + pos: position{line: 752, col: 31, offset: 24313}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonListElementContinuationElement832, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -36865,28 +40449,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonListElementContinuationElement835, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -36895,9 +40479,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -36906,40 +40490,40 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 841, col: 5, offset: 26756}, + pos: position{line: 839, col: 5, offset: 26619}, label: "content", expr: &zeroOrMoreExpr{ - pos: position{line: 852, col: 5, offset: 27077}, + pos: position{line: 850, col: 5, offset: 26940}, expr: &actionExpr{ - pos: position{line: 852, col: 6, offset: 27078}, + pos: position{line: 850, col: 6, offset: 26941}, run: (*parser).callonListElementContinuationElement844, expr: &seqExpr{ - pos: position{line: 852, col: 6, offset: 27078}, + pos: position{line: 850, col: 6, offset: 26941}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 852, col: 6, offset: 27078}, + pos: position{line: 850, col: 6, offset: 26941}, expr: &choiceExpr{ - pos: position{line: 849, col: 28, offset: 27022}, + pos: position{line: 847, col: 28, offset: 26885}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 754, col: 25, offset: 24444}, + pos: position{line: 752, col: 25, offset: 24307}, run: (*parser).callonListElementContinuationElement848, expr: &seqExpr{ - pos: position{line: 754, col: 25, offset: 24444}, + pos: position{line: 752, col: 25, offset: 24307}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 754, col: 25, offset: 24444}, + pos: position{line: 752, col: 25, offset: 24307}, val: "```", ignoreCase: false, want: "\"```\"", }, &zeroOrMoreExpr{ - pos: position{line: 754, col: 31, offset: 24450}, + pos: position{line: 752, col: 31, offset: 24313}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonListElementContinuationElement852, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -36948,28 +40532,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonListElementContinuationElement855, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -36978,9 +40562,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -36989,42 +40573,42 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, }, }, &labeledExpr{ - pos: position{line: 853, col: 5, offset: 27107}, + pos: position{line: 851, col: 5, offset: 26970}, label: "line", expr: &actionExpr{ - pos: position{line: 787, col: 5, offset: 25344}, + pos: position{line: 785, col: 5, offset: 25207}, run: (*parser).callonListElementContinuationElement865, expr: &seqExpr{ - pos: position{line: 787, col: 5, offset: 25344}, + pos: position{line: 785, col: 5, offset: 25207}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 787, col: 5, offset: 25344}, + pos: position{line: 785, col: 5, offset: 25207}, expr: ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, &labeledExpr{ - pos: position{line: 788, col: 5, offset: 25417}, + pos: position{line: 786, col: 5, offset: 25280}, label: "content", expr: &actionExpr{ - pos: position{line: 788, col: 14, offset: 25426}, + pos: position{line: 786, col: 14, offset: 25289}, run: (*parser).callonListElementContinuationElement871, expr: &zeroOrMoreExpr{ - pos: position{line: 788, col: 14, offset: 25426}, + pos: position{line: 786, col: 14, offset: 25289}, expr: &charClassMatcher{ - pos: position{line: 788, col: 14, offset: 25426}, + pos: position{line: 786, col: 14, offset: 25289}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -37034,28 +40618,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonListElementContinuationElement875, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -37064,9 +40648,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -37081,29 +40665,29 @@ var g = &grammar{ }, }, &zeroOrOneExpr{ - pos: position{line: 842, col: 5, offset: 26789}, + pos: position{line: 840, col: 5, offset: 26652}, expr: &choiceExpr{ - pos: position{line: 849, col: 28, offset: 27022}, + pos: position{line: 847, col: 28, offset: 26885}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 754, col: 25, offset: 24444}, + pos: position{line: 752, col: 25, offset: 24307}, run: (*parser).callonListElementContinuationElement884, expr: &seqExpr{ - pos: position{line: 754, col: 25, offset: 24444}, + pos: position{line: 752, col: 25, offset: 24307}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 754, col: 25, offset: 24444}, + pos: position{line: 752, col: 25, offset: 24307}, val: "```", ignoreCase: false, want: "\"```\"", }, &zeroOrMoreExpr{ - pos: position{line: 754, col: 31, offset: 24450}, + pos: position{line: 752, col: 31, offset: 24313}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonListElementContinuationElement888, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -37112,28 +40696,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonListElementContinuationElement891, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -37142,9 +40726,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -37153,9 +40737,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -37165,30 +40749,30 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 861, col: 5, offset: 27262}, + pos: position{line: 859, col: 5, offset: 27125}, run: (*parser).callonListElementContinuationElement900, expr: &seqExpr{ - pos: position{line: 861, col: 5, offset: 27262}, + pos: position{line: 859, col: 5, offset: 27125}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 766, col: 26, offset: 24765}, + pos: position{line: 764, col: 26, offset: 24628}, run: (*parser).callonListElementContinuationElement902, expr: &seqExpr{ - pos: position{line: 766, col: 26, offset: 24765}, + pos: position{line: 764, col: 26, offset: 24628}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 766, col: 26, offset: 24765}, + pos: position{line: 764, col: 26, offset: 24628}, val: "----", ignoreCase: false, want: "\"----\"", }, &zeroOrMoreExpr{ - pos: position{line: 766, col: 33, offset: 24772}, + pos: position{line: 764, col: 33, offset: 24635}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonListElementContinuationElement906, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -37197,28 +40781,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonListElementContinuationElement909, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -37227,9 +40811,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -37238,40 +40822,40 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 862, col: 5, offset: 27293}, + pos: position{line: 860, col: 5, offset: 27156}, label: "content", expr: &zeroOrMoreExpr{ - pos: position{line: 873, col: 5, offset: 27622}, + pos: position{line: 871, col: 5, offset: 27485}, expr: &actionExpr{ - pos: position{line: 873, col: 6, offset: 27623}, + pos: position{line: 871, col: 6, offset: 27486}, run: (*parser).callonListElementContinuationElement918, expr: &seqExpr{ - pos: position{line: 873, col: 6, offset: 27623}, + pos: position{line: 871, col: 6, offset: 27486}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 873, col: 6, offset: 27623}, + pos: position{line: 871, col: 6, offset: 27486}, expr: &choiceExpr{ - pos: position{line: 870, col: 29, offset: 27565}, + pos: position{line: 868, col: 29, offset: 27428}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 766, col: 26, offset: 24765}, + pos: position{line: 764, col: 26, offset: 24628}, run: (*parser).callonListElementContinuationElement922, expr: &seqExpr{ - pos: position{line: 766, col: 26, offset: 24765}, + pos: position{line: 764, col: 26, offset: 24628}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 766, col: 26, offset: 24765}, + pos: position{line: 764, col: 26, offset: 24628}, val: "----", ignoreCase: false, want: "\"----\"", }, &zeroOrMoreExpr{ - pos: position{line: 766, col: 33, offset: 24772}, + pos: position{line: 764, col: 33, offset: 24635}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonListElementContinuationElement926, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -37280,28 +40864,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonListElementContinuationElement929, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -37310,9 +40894,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -37321,42 +40905,42 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, }, }, &labeledExpr{ - pos: position{line: 874, col: 5, offset: 27653}, + pos: position{line: 872, col: 5, offset: 27516}, label: "line", expr: &actionExpr{ - pos: position{line: 787, col: 5, offset: 25344}, + pos: position{line: 785, col: 5, offset: 25207}, run: (*parser).callonListElementContinuationElement939, expr: &seqExpr{ - pos: position{line: 787, col: 5, offset: 25344}, + pos: position{line: 785, col: 5, offset: 25207}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 787, col: 5, offset: 25344}, + pos: position{line: 785, col: 5, offset: 25207}, expr: ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, &labeledExpr{ - pos: position{line: 788, col: 5, offset: 25417}, + pos: position{line: 786, col: 5, offset: 25280}, label: "content", expr: &actionExpr{ - pos: position{line: 788, col: 14, offset: 25426}, + pos: position{line: 786, col: 14, offset: 25289}, run: (*parser).callonListElementContinuationElement945, expr: &zeroOrMoreExpr{ - pos: position{line: 788, col: 14, offset: 25426}, + pos: position{line: 786, col: 14, offset: 25289}, expr: &charClassMatcher{ - pos: position{line: 788, col: 14, offset: 25426}, + pos: position{line: 786, col: 14, offset: 25289}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -37366,28 +40950,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonListElementContinuationElement949, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -37396,9 +40980,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -37413,29 +40997,29 @@ var g = &grammar{ }, }, &zeroOrOneExpr{ - pos: position{line: 863, col: 5, offset: 27327}, + pos: position{line: 861, col: 5, offset: 27190}, expr: &choiceExpr{ - pos: position{line: 870, col: 29, offset: 27565}, + pos: position{line: 868, col: 29, offset: 27428}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 766, col: 26, offset: 24765}, + pos: position{line: 764, col: 26, offset: 24628}, run: (*parser).callonListElementContinuationElement958, expr: &seqExpr{ - pos: position{line: 766, col: 26, offset: 24765}, + pos: position{line: 764, col: 26, offset: 24628}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 766, col: 26, offset: 24765}, + pos: position{line: 764, col: 26, offset: 24628}, val: "----", ignoreCase: false, want: "\"----\"", }, &zeroOrMoreExpr{ - pos: position{line: 766, col: 33, offset: 24772}, + pos: position{line: 764, col: 33, offset: 24635}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonListElementContinuationElement962, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -37444,28 +41028,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonListElementContinuationElement965, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -37474,9 +41058,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -37485,9 +41069,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -37497,30 +41081,30 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 882, col: 5, offset: 27808}, + pos: position{line: 880, col: 5, offset: 27671}, run: (*parser).callonListElementContinuationElement974, expr: &seqExpr{ - pos: position{line: 882, col: 5, offset: 27808}, + pos: position{line: 880, col: 5, offset: 27671}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 770, col: 26, offset: 24879}, + pos: position{line: 768, col: 26, offset: 24742}, run: (*parser).callonListElementContinuationElement976, expr: &seqExpr{ - pos: position{line: 770, col: 26, offset: 24879}, + pos: position{line: 768, col: 26, offset: 24742}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 770, col: 26, offset: 24879}, + pos: position{line: 768, col: 26, offset: 24742}, val: "....", ignoreCase: false, want: "\"....\"", }, &zeroOrMoreExpr{ - pos: position{line: 770, col: 33, offset: 24886}, + pos: position{line: 768, col: 33, offset: 24749}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonListElementContinuationElement980, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -37529,28 +41113,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonListElementContinuationElement983, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -37559,9 +41143,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -37570,40 +41154,40 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 883, col: 5, offset: 27839}, + pos: position{line: 881, col: 5, offset: 27702}, label: "content", expr: &zeroOrMoreExpr{ - pos: position{line: 894, col: 5, offset: 28163}, + pos: position{line: 892, col: 5, offset: 28026}, expr: &actionExpr{ - pos: position{line: 894, col: 6, offset: 28164}, + pos: position{line: 892, col: 6, offset: 28027}, run: (*parser).callonListElementContinuationElement992, expr: &seqExpr{ - pos: position{line: 894, col: 6, offset: 28164}, + pos: position{line: 892, col: 6, offset: 28027}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 894, col: 6, offset: 28164}, + pos: position{line: 892, col: 6, offset: 28027}, expr: &choiceExpr{ - pos: position{line: 891, col: 29, offset: 28106}, + pos: position{line: 889, col: 29, offset: 27969}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 770, col: 26, offset: 24879}, + pos: position{line: 768, col: 26, offset: 24742}, run: (*parser).callonListElementContinuationElement996, expr: &seqExpr{ - pos: position{line: 770, col: 26, offset: 24879}, + pos: position{line: 768, col: 26, offset: 24742}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 770, col: 26, offset: 24879}, + pos: position{line: 768, col: 26, offset: 24742}, val: "....", ignoreCase: false, want: "\"....\"", }, &zeroOrMoreExpr{ - pos: position{line: 770, col: 33, offset: 24886}, + pos: position{line: 768, col: 33, offset: 24749}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonListElementContinuationElement1000, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -37612,28 +41196,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonListElementContinuationElement1003, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -37642,9 +41226,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -37653,42 +41237,42 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, }, }, &labeledExpr{ - pos: position{line: 895, col: 5, offset: 28194}, + pos: position{line: 893, col: 5, offset: 28057}, label: "line", expr: &actionExpr{ - pos: position{line: 787, col: 5, offset: 25344}, + pos: position{line: 785, col: 5, offset: 25207}, run: (*parser).callonListElementContinuationElement1013, expr: &seqExpr{ - pos: position{line: 787, col: 5, offset: 25344}, + pos: position{line: 785, col: 5, offset: 25207}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 787, col: 5, offset: 25344}, + pos: position{line: 785, col: 5, offset: 25207}, expr: ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, &labeledExpr{ - pos: position{line: 788, col: 5, offset: 25417}, + pos: position{line: 786, col: 5, offset: 25280}, label: "content", expr: &actionExpr{ - pos: position{line: 788, col: 14, offset: 25426}, + pos: position{line: 786, col: 14, offset: 25289}, run: (*parser).callonListElementContinuationElement1019, expr: &zeroOrMoreExpr{ - pos: position{line: 788, col: 14, offset: 25426}, + pos: position{line: 786, col: 14, offset: 25289}, expr: &charClassMatcher{ - pos: position{line: 788, col: 14, offset: 25426}, + pos: position{line: 786, col: 14, offset: 25289}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -37698,28 +41282,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonListElementContinuationElement1023, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -37728,9 +41312,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -37745,29 +41329,29 @@ var g = &grammar{ }, }, &zeroOrOneExpr{ - pos: position{line: 884, col: 5, offset: 27873}, + pos: position{line: 882, col: 5, offset: 27736}, expr: &choiceExpr{ - pos: position{line: 891, col: 29, offset: 28106}, + pos: position{line: 889, col: 29, offset: 27969}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 770, col: 26, offset: 24879}, + pos: position{line: 768, col: 26, offset: 24742}, run: (*parser).callonListElementContinuationElement1032, expr: &seqExpr{ - pos: position{line: 770, col: 26, offset: 24879}, + pos: position{line: 768, col: 26, offset: 24742}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 770, col: 26, offset: 24879}, + pos: position{line: 768, col: 26, offset: 24742}, val: "....", ignoreCase: false, want: "\"....\"", }, &zeroOrMoreExpr{ - pos: position{line: 770, col: 33, offset: 24886}, + pos: position{line: 768, col: 33, offset: 24749}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonListElementContinuationElement1036, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -37776,28 +41360,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonListElementContinuationElement1039, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -37806,9 +41390,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -37817,9 +41401,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -37829,44 +41413,44 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 927, col: 5, offset: 29121}, + pos: position{line: 925, col: 5, offset: 28984}, run: (*parser).callonListElementContinuationElement1048, expr: &seqExpr{ - pos: position{line: 927, col: 5, offset: 29121}, + pos: position{line: 925, col: 5, offset: 28984}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 927, col: 5, offset: 29121}, + pos: position{line: 925, col: 5, offset: 28984}, label: "firstLine", expr: &actionExpr{ - pos: position{line: 934, col: 5, offset: 29380}, + pos: position{line: 932, col: 5, offset: 29243}, run: (*parser).callonListElementContinuationElement1051, expr: &seqExpr{ - pos: position{line: 934, col: 5, offset: 29380}, + pos: position{line: 932, col: 5, offset: 29243}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 934, col: 5, offset: 29380}, + pos: position{line: 932, col: 5, offset: 29243}, expr: &actionExpr{ - pos: position{line: 685, col: 14, offset: 22145}, + pos: position{line: 683, col: 14, offset: 22008}, run: (*parser).callonListElementContinuationElement1054, expr: &seqExpr{ - pos: position{line: 685, col: 14, offset: 22145}, + pos: position{line: 683, col: 14, offset: 22008}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 685, col: 14, offset: 22145}, + pos: position{line: 683, col: 14, offset: 22008}, expr: ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, &zeroOrMoreExpr{ - pos: position{line: 685, col: 19, offset: 22150}, + pos: position{line: 683, col: 19, offset: 22013}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonListElementContinuationElement1060, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -37875,28 +41459,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonListElementContinuationElement1063, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -37905,9 +41489,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -37917,21 +41501,21 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 935, col: 5, offset: 29395}, + pos: position{line: 933, col: 5, offset: 29258}, val: "> ", ignoreCase: false, want: "\"> \"", }, &labeledExpr{ - pos: position{line: 936, col: 5, offset: 29405}, + pos: position{line: 934, col: 5, offset: 29268}, label: "content", expr: &actionExpr{ - pos: position{line: 936, col: 14, offset: 29414}, + pos: position{line: 934, col: 14, offset: 29277}, run: (*parser).callonListElementContinuationElement1072, expr: &oneOrMoreExpr{ - pos: position{line: 936, col: 15, offset: 29415}, + pos: position{line: 934, col: 15, offset: 29278}, expr: &charClassMatcher{ - pos: position{line: 936, col: 15, offset: 29415}, + pos: position{line: 934, col: 15, offset: 29278}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -37941,28 +41525,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonListElementContinuationElement1076, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -37971,9 +41555,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -37983,43 +41567,43 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 928, col: 5, offset: 29158}, + pos: position{line: 926, col: 5, offset: 29021}, label: "otherLines", expr: &zeroOrMoreExpr{ - pos: position{line: 928, col: 16, offset: 29169}, + pos: position{line: 926, col: 16, offset: 29032}, expr: &choiceExpr{ - pos: position{line: 928, col: 17, offset: 29170}, + pos: position{line: 926, col: 17, offset: 29033}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 934, col: 5, offset: 29380}, + pos: position{line: 932, col: 5, offset: 29243}, run: (*parser).callonListElementContinuationElement1086, expr: &seqExpr{ - pos: position{line: 934, col: 5, offset: 29380}, + pos: position{line: 932, col: 5, offset: 29243}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 934, col: 5, offset: 29380}, + pos: position{line: 932, col: 5, offset: 29243}, expr: &actionExpr{ - pos: position{line: 685, col: 14, offset: 22145}, + pos: position{line: 683, col: 14, offset: 22008}, run: (*parser).callonListElementContinuationElement1089, expr: &seqExpr{ - pos: position{line: 685, col: 14, offset: 22145}, + pos: position{line: 683, col: 14, offset: 22008}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 685, col: 14, offset: 22145}, + pos: position{line: 683, col: 14, offset: 22008}, expr: ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, &zeroOrMoreExpr{ - pos: position{line: 685, col: 19, offset: 22150}, + pos: position{line: 683, col: 19, offset: 22013}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonListElementContinuationElement1095, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -38028,28 +41612,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonListElementContinuationElement1098, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -38058,9 +41642,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -38070,21 +41654,21 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 935, col: 5, offset: 29395}, + pos: position{line: 933, col: 5, offset: 29258}, val: "> ", ignoreCase: false, want: "\"> \"", }, &labeledExpr{ - pos: position{line: 936, col: 5, offset: 29405}, + pos: position{line: 934, col: 5, offset: 29268}, label: "content", expr: &actionExpr{ - pos: position{line: 936, col: 14, offset: 29414}, + pos: position{line: 934, col: 14, offset: 29277}, run: (*parser).callonListElementContinuationElement1107, expr: &oneOrMoreExpr{ - pos: position{line: 936, col: 15, offset: 29415}, + pos: position{line: 934, col: 15, offset: 29278}, expr: &charClassMatcher{ - pos: position{line: 936, col: 15, offset: 29415}, + pos: position{line: 934, col: 15, offset: 29278}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -38094,28 +41678,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonListElementContinuationElement1111, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -38124,9 +41708,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -38135,21 +41719,21 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1716, col: 5, offset: 56453}, + pos: position{line: 1736, col: 5, offset: 56955}, run: (*parser).callonListElementContinuationElement1118, expr: &seqExpr{ - pos: position{line: 1716, col: 5, offset: 56453}, + pos: position{line: 1736, col: 5, offset: 56955}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1716, col: 5, offset: 56453}, + pos: position{line: 1736, col: 5, offset: 56955}, label: "content", expr: &actionExpr{ - pos: position{line: 1716, col: 14, offset: 56462}, + pos: position{line: 1736, col: 14, offset: 56964}, run: (*parser).callonListElementContinuationElement1121, expr: &oneOrMoreExpr{ - pos: position{line: 1716, col: 14, offset: 56462}, + pos: position{line: 1736, col: 14, offset: 56964}, expr: &charClassMatcher{ - pos: position{line: 1716, col: 14, offset: 56462}, + pos: position{line: 1736, col: 14, offset: 56964}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -38159,32 +41743,32 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1719, col: 5, offset: 56569}, + pos: position{line: 1739, col: 5, offset: 57071}, run: (*parser).callonListElementContinuationElement1124, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonListElementContinuationElement1126, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -38193,9 +41777,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -38211,30 +41795,30 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 953, col: 5, offset: 29773}, + pos: position{line: 951, col: 5, offset: 29636}, run: (*parser).callonListElementContinuationElement1133, expr: &seqExpr{ - pos: position{line: 953, col: 5, offset: 29773}, + pos: position{line: 951, col: 5, offset: 29636}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 774, col: 30, offset: 24997}, + pos: position{line: 772, col: 30, offset: 24860}, run: (*parser).callonListElementContinuationElement1135, expr: &seqExpr{ - pos: position{line: 774, col: 30, offset: 24997}, + pos: position{line: 772, col: 30, offset: 24860}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 774, col: 30, offset: 24997}, + pos: position{line: 772, col: 30, offset: 24860}, val: "++++", ignoreCase: false, want: "\"++++\"", }, &zeroOrMoreExpr{ - pos: position{line: 774, col: 37, offset: 25004}, + pos: position{line: 772, col: 37, offset: 24867}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonListElementContinuationElement1139, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -38243,28 +41827,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonListElementContinuationElement1142, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -38273,9 +41857,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -38284,40 +41868,40 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 954, col: 5, offset: 29808}, + pos: position{line: 952, col: 5, offset: 29671}, label: "content", expr: &zeroOrMoreExpr{ - pos: position{line: 965, col: 5, offset: 30164}, + pos: position{line: 963, col: 5, offset: 30027}, expr: &actionExpr{ - pos: position{line: 965, col: 6, offset: 30165}, + pos: position{line: 963, col: 6, offset: 30028}, run: (*parser).callonListElementContinuationElement1151, expr: &seqExpr{ - pos: position{line: 965, col: 6, offset: 30165}, + pos: position{line: 963, col: 6, offset: 30028}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 965, col: 6, offset: 30165}, + pos: position{line: 963, col: 6, offset: 30028}, expr: &choiceExpr{ - pos: position{line: 962, col: 33, offset: 30099}, + pos: position{line: 960, col: 33, offset: 29962}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 774, col: 30, offset: 24997}, + pos: position{line: 772, col: 30, offset: 24860}, run: (*parser).callonListElementContinuationElement1155, expr: &seqExpr{ - pos: position{line: 774, col: 30, offset: 24997}, + pos: position{line: 772, col: 30, offset: 24860}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 774, col: 30, offset: 24997}, + pos: position{line: 772, col: 30, offset: 24860}, val: "++++", ignoreCase: false, want: "\"++++\"", }, &zeroOrMoreExpr{ - pos: position{line: 774, col: 37, offset: 25004}, + pos: position{line: 772, col: 37, offset: 24867}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonListElementContinuationElement1159, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -38326,28 +41910,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonListElementContinuationElement1162, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -38356,9 +41940,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -38367,42 +41951,42 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, }, }, &labeledExpr{ - pos: position{line: 966, col: 5, offset: 30199}, + pos: position{line: 964, col: 5, offset: 30062}, label: "line", expr: &actionExpr{ - pos: position{line: 787, col: 5, offset: 25344}, + pos: position{line: 785, col: 5, offset: 25207}, run: (*parser).callonListElementContinuationElement1172, expr: &seqExpr{ - pos: position{line: 787, col: 5, offset: 25344}, + pos: position{line: 785, col: 5, offset: 25207}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 787, col: 5, offset: 25344}, + pos: position{line: 785, col: 5, offset: 25207}, expr: ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, &labeledExpr{ - pos: position{line: 788, col: 5, offset: 25417}, + pos: position{line: 786, col: 5, offset: 25280}, label: "content", expr: &actionExpr{ - pos: position{line: 788, col: 14, offset: 25426}, + pos: position{line: 786, col: 14, offset: 25289}, run: (*parser).callonListElementContinuationElement1178, expr: &zeroOrMoreExpr{ - pos: position{line: 788, col: 14, offset: 25426}, + pos: position{line: 786, col: 14, offset: 25289}, expr: &charClassMatcher{ - pos: position{line: 788, col: 14, offset: 25426}, + pos: position{line: 786, col: 14, offset: 25289}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -38412,28 +41996,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonListElementContinuationElement1182, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -38442,9 +42026,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -38459,29 +42043,29 @@ var g = &grammar{ }, }, &zeroOrOneExpr{ - pos: position{line: 955, col: 5, offset: 29846}, + pos: position{line: 953, col: 5, offset: 29709}, expr: &choiceExpr{ - pos: position{line: 962, col: 33, offset: 30099}, + pos: position{line: 960, col: 33, offset: 29962}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 774, col: 30, offset: 24997}, + pos: position{line: 772, col: 30, offset: 24860}, run: (*parser).callonListElementContinuationElement1191, expr: &seqExpr{ - pos: position{line: 774, col: 30, offset: 24997}, + pos: position{line: 772, col: 30, offset: 24860}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 774, col: 30, offset: 24997}, + pos: position{line: 772, col: 30, offset: 24860}, val: "++++", ignoreCase: false, want: "\"++++\"", }, &zeroOrMoreExpr{ - pos: position{line: 774, col: 37, offset: 25004}, + pos: position{line: 772, col: 37, offset: 24867}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonListElementContinuationElement1195, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -38490,28 +42074,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonListElementContinuationElement1198, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -38520,9 +42104,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -38531,9 +42115,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -38543,30 +42127,30 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 974, col: 5, offset: 30350}, + pos: position{line: 972, col: 5, offset: 30213}, run: (*parser).callonListElementContinuationElement1207, expr: &seqExpr{ - pos: position{line: 974, col: 5, offset: 30350}, + pos: position{line: 972, col: 5, offset: 30213}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 778, col: 24, offset: 25113}, + pos: position{line: 776, col: 24, offset: 24976}, run: (*parser).callonListElementContinuationElement1209, expr: &seqExpr{ - pos: position{line: 778, col: 24, offset: 25113}, + pos: position{line: 776, col: 24, offset: 24976}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 778, col: 24, offset: 25113}, + pos: position{line: 776, col: 24, offset: 24976}, val: "____", ignoreCase: false, want: "\"____\"", }, &zeroOrMoreExpr{ - pos: position{line: 778, col: 31, offset: 25120}, + pos: position{line: 776, col: 31, offset: 24983}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonListElementContinuationElement1213, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -38575,28 +42159,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonListElementContinuationElement1216, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -38605,9 +42189,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -38616,40 +42200,40 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 975, col: 5, offset: 30379}, + pos: position{line: 973, col: 5, offset: 30242}, label: "content", expr: &zeroOrMoreExpr{ - pos: position{line: 986, col: 4, offset: 30686}, + pos: position{line: 984, col: 4, offset: 30549}, expr: &actionExpr{ - pos: position{line: 986, col: 5, offset: 30687}, + pos: position{line: 984, col: 5, offset: 30550}, run: (*parser).callonListElementContinuationElement1225, expr: &seqExpr{ - pos: position{line: 986, col: 5, offset: 30687}, + pos: position{line: 984, col: 5, offset: 30550}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 986, col: 5, offset: 30687}, + pos: position{line: 984, col: 5, offset: 30550}, expr: &choiceExpr{ - pos: position{line: 983, col: 27, offset: 30634}, + pos: position{line: 981, col: 27, offset: 30497}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 778, col: 24, offset: 25113}, + pos: position{line: 776, col: 24, offset: 24976}, run: (*parser).callonListElementContinuationElement1229, expr: &seqExpr{ - pos: position{line: 778, col: 24, offset: 25113}, + pos: position{line: 776, col: 24, offset: 24976}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 778, col: 24, offset: 25113}, + pos: position{line: 776, col: 24, offset: 24976}, val: "____", ignoreCase: false, want: "\"____\"", }, &zeroOrMoreExpr{ - pos: position{line: 778, col: 31, offset: 25120}, + pos: position{line: 776, col: 31, offset: 24983}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonListElementContinuationElement1233, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -38658,28 +42242,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonListElementContinuationElement1236, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -38688,9 +42272,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -38699,42 +42283,42 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, }, }, &labeledExpr{ - pos: position{line: 987, col: 5, offset: 30715}, + pos: position{line: 985, col: 5, offset: 30578}, label: "line", expr: &actionExpr{ - pos: position{line: 787, col: 5, offset: 25344}, + pos: position{line: 785, col: 5, offset: 25207}, run: (*parser).callonListElementContinuationElement1246, expr: &seqExpr{ - pos: position{line: 787, col: 5, offset: 25344}, + pos: position{line: 785, col: 5, offset: 25207}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 787, col: 5, offset: 25344}, + pos: position{line: 785, col: 5, offset: 25207}, expr: ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, &labeledExpr{ - pos: position{line: 788, col: 5, offset: 25417}, + pos: position{line: 786, col: 5, offset: 25280}, label: "content", expr: &actionExpr{ - pos: position{line: 788, col: 14, offset: 25426}, + pos: position{line: 786, col: 14, offset: 25289}, run: (*parser).callonListElementContinuationElement1252, expr: &zeroOrMoreExpr{ - pos: position{line: 788, col: 14, offset: 25426}, + pos: position{line: 786, col: 14, offset: 25289}, expr: &charClassMatcher{ - pos: position{line: 788, col: 14, offset: 25426}, + pos: position{line: 786, col: 14, offset: 25289}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -38744,28 +42328,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonListElementContinuationElement1256, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -38774,9 +42358,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -38791,29 +42375,29 @@ var g = &grammar{ }, }, &zeroOrOneExpr{ - pos: position{line: 976, col: 5, offset: 30411}, + pos: position{line: 974, col: 5, offset: 30274}, expr: &choiceExpr{ - pos: position{line: 983, col: 27, offset: 30634}, + pos: position{line: 981, col: 27, offset: 30497}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 778, col: 24, offset: 25113}, + pos: position{line: 776, col: 24, offset: 24976}, run: (*parser).callonListElementContinuationElement1265, expr: &seqExpr{ - pos: position{line: 778, col: 24, offset: 25113}, + pos: position{line: 776, col: 24, offset: 24976}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 778, col: 24, offset: 25113}, + pos: position{line: 776, col: 24, offset: 24976}, val: "____", ignoreCase: false, want: "\"____\"", }, &zeroOrMoreExpr{ - pos: position{line: 778, col: 31, offset: 25120}, + pos: position{line: 776, col: 31, offset: 24983}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonListElementContinuationElement1269, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -38822,28 +42406,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonListElementContinuationElement1272, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -38852,9 +42436,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -38863,9 +42447,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -38875,30 +42459,30 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 995, col: 5, offset: 30870}, + pos: position{line: 993, col: 5, offset: 30733}, run: (*parser).callonListElementContinuationElement1281, expr: &seqExpr{ - pos: position{line: 995, col: 5, offset: 30870}, + pos: position{line: 993, col: 5, offset: 30733}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 782, col: 26, offset: 25225}, + pos: position{line: 780, col: 26, offset: 25088}, run: (*parser).callonListElementContinuationElement1283, expr: &seqExpr{ - pos: position{line: 782, col: 26, offset: 25225}, + pos: position{line: 780, col: 26, offset: 25088}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 782, col: 26, offset: 25225}, + pos: position{line: 780, col: 26, offset: 25088}, val: "****", ignoreCase: false, want: "\"****\"", }, &zeroOrMoreExpr{ - pos: position{line: 782, col: 33, offset: 25232}, + pos: position{line: 780, col: 33, offset: 25095}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonListElementContinuationElement1287, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -38907,28 +42491,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonListElementContinuationElement1290, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -38937,9 +42521,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -38948,40 +42532,40 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 996, col: 5, offset: 30901}, + pos: position{line: 994, col: 5, offset: 30764}, label: "content", expr: &zeroOrMoreExpr{ - pos: position{line: 1007, col: 4, offset: 31226}, + pos: position{line: 1005, col: 4, offset: 31089}, expr: &actionExpr{ - pos: position{line: 1007, col: 5, offset: 31227}, + pos: position{line: 1005, col: 5, offset: 31090}, run: (*parser).callonListElementContinuationElement1299, expr: &seqExpr{ - pos: position{line: 1007, col: 5, offset: 31227}, + pos: position{line: 1005, col: 5, offset: 31090}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 1007, col: 5, offset: 31227}, + pos: position{line: 1005, col: 5, offset: 31090}, expr: &choiceExpr{ - pos: position{line: 1004, col: 29, offset: 31169}, + pos: position{line: 1002, col: 29, offset: 31032}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 782, col: 26, offset: 25225}, + pos: position{line: 780, col: 26, offset: 25088}, run: (*parser).callonListElementContinuationElement1303, expr: &seqExpr{ - pos: position{line: 782, col: 26, offset: 25225}, + pos: position{line: 780, col: 26, offset: 25088}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 782, col: 26, offset: 25225}, + pos: position{line: 780, col: 26, offset: 25088}, val: "****", ignoreCase: false, want: "\"****\"", }, &zeroOrMoreExpr{ - pos: position{line: 782, col: 33, offset: 25232}, + pos: position{line: 780, col: 33, offset: 25095}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonListElementContinuationElement1307, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -38990,28 +42574,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonListElementContinuationElement1310, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -39020,9 +42604,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -39031,42 +42615,42 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, }, }, &labeledExpr{ - pos: position{line: 1008, col: 5, offset: 31257}, + pos: position{line: 1006, col: 5, offset: 31120}, label: "line", expr: &actionExpr{ - pos: position{line: 787, col: 5, offset: 25344}, + pos: position{line: 785, col: 5, offset: 25207}, run: (*parser).callonListElementContinuationElement1320, expr: &seqExpr{ - pos: position{line: 787, col: 5, offset: 25344}, + pos: position{line: 785, col: 5, offset: 25207}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 787, col: 5, offset: 25344}, + pos: position{line: 785, col: 5, offset: 25207}, expr: ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, &labeledExpr{ - pos: position{line: 788, col: 5, offset: 25417}, + pos: position{line: 786, col: 5, offset: 25280}, label: "content", expr: &actionExpr{ - pos: position{line: 788, col: 14, offset: 25426}, + pos: position{line: 786, col: 14, offset: 25289}, run: (*parser).callonListElementContinuationElement1326, expr: &zeroOrMoreExpr{ - pos: position{line: 788, col: 14, offset: 25426}, + pos: position{line: 786, col: 14, offset: 25289}, expr: &charClassMatcher{ - pos: position{line: 788, col: 14, offset: 25426}, + pos: position{line: 786, col: 14, offset: 25289}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -39076,28 +42660,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonListElementContinuationElement1330, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -39106,9 +42690,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -39123,29 +42707,29 @@ var g = &grammar{ }, }, &zeroOrOneExpr{ - pos: position{line: 997, col: 5, offset: 30935}, + pos: position{line: 995, col: 5, offset: 30798}, expr: &choiceExpr{ - pos: position{line: 1004, col: 29, offset: 31169}, + pos: position{line: 1002, col: 29, offset: 31032}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 782, col: 26, offset: 25225}, + pos: position{line: 780, col: 26, offset: 25088}, run: (*parser).callonListElementContinuationElement1339, expr: &seqExpr{ - pos: position{line: 782, col: 26, offset: 25225}, + pos: position{line: 780, col: 26, offset: 25088}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 782, col: 26, offset: 25225}, + pos: position{line: 780, col: 26, offset: 25088}, val: "****", ignoreCase: false, want: "\"****\"", }, &zeroOrMoreExpr{ - pos: position{line: 782, col: 33, offset: 25232}, + pos: position{line: 780, col: 33, offset: 25095}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonListElementContinuationElement1343, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -39154,28 +42738,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonListElementContinuationElement1346, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -39184,9 +42768,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -39195,9 +42779,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -39207,52 +42791,52 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2768, col: 18, offset: 91974}, + pos: position{line: 2927, col: 18, offset: 95398}, run: (*parser).callonListElementContinuationElement1355, expr: &seqExpr{ - pos: position{line: 2768, col: 18, offset: 91974}, + pos: position{line: 2927, col: 18, offset: 95398}, exprs: []interface{}{ &choiceExpr{ - pos: position{line: 2769, col: 9, offset: 91984}, + pos: position{line: 2928, col: 9, offset: 95408}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2769, col: 9, offset: 91984}, + pos: position{line: 2928, col: 9, offset: 95408}, val: "'''", ignoreCase: false, want: "\"'''\"", }, &litMatcher{ - pos: position{line: 2770, col: 11, offset: 92020}, + pos: position{line: 2929, col: 11, offset: 95444}, val: "***", ignoreCase: false, want: "\"***\"", }, &litMatcher{ - pos: position{line: 2770, col: 19, offset: 92028}, + pos: position{line: 2929, col: 19, offset: 95452}, val: "* * *", ignoreCase: false, want: "\"* * *\"", }, &litMatcher{ - pos: position{line: 2770, col: 29, offset: 92038}, + pos: position{line: 2929, col: 29, offset: 95462}, val: "---", ignoreCase: false, want: "\"---\"", }, &litMatcher{ - pos: position{line: 2770, col: 37, offset: 92046}, + pos: position{line: 2929, col: 37, offset: 95470}, val: "- - -", ignoreCase: false, want: "\"- - -\"", }, &litMatcher{ - pos: position{line: 2770, col: 47, offset: 92056}, + pos: position{line: 2929, col: 47, offset: 95480}, val: "___", ignoreCase: false, want: "\"___\"", }, &litMatcher{ - pos: position{line: 2770, col: 55, offset: 92064}, + pos: position{line: 2929, col: 55, offset: 95488}, val: "_ _ _", ignoreCase: false, want: "\"_ _ _\"", @@ -39260,12 +42844,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 2771, col: 11, offset: 92122}, + pos: position{line: 2930, col: 11, offset: 95546}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonListElementContinuationElement1366, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -39274,28 +42858,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonListElementContinuationElement1369, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -39304,36 +42888,36 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonListElementContinuationElement1377, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -39342,9 +42926,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -39353,28 +42937,28 @@ var g = &grammar{ }, }, &ruleRefExpr{ - pos: position{line: 1456, col: 11, offset: 47810}, + pos: position{line: 1476, col: 11, offset: 48312}, name: "ImageBlock", }, &actionExpr{ - pos: position{line: 2666, col: 5, offset: 89103}, + pos: position{line: 2825, col: 5, offset: 92527}, run: (*parser).callonListElementContinuationElement1385, expr: &seqExpr{ - pos: position{line: 2666, col: 5, offset: 89103}, + pos: position{line: 2825, col: 5, offset: 92527}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2674, col: 19, offset: 89280}, + pos: position{line: 2833, col: 19, offset: 92704}, val: "|===", ignoreCase: false, want: "\"|===\"", }, &zeroOrMoreExpr{ - pos: position{line: 2674, col: 26, offset: 89287}, + pos: position{line: 2833, col: 26, offset: 92711}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonListElementContinuationElement1389, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -39383,28 +42967,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonListElementContinuationElement1392, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -39413,48 +42997,48 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, }, &labeledExpr{ - pos: position{line: 2667, col: 5, offset: 89127}, + pos: position{line: 2826, col: 5, offset: 92551}, label: "header", expr: &zeroOrOneExpr{ - pos: position{line: 2667, col: 12, offset: 89134}, + pos: position{line: 2826, col: 12, offset: 92558}, expr: &actionExpr{ - pos: position{line: 2682, col: 5, offset: 89447}, + pos: position{line: 2841, col: 5, offset: 92871}, run: (*parser).callonListElementContinuationElement1401, expr: &seqExpr{ - pos: position{line: 2682, col: 5, offset: 89447}, + pos: position{line: 2841, col: 5, offset: 92871}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 2682, col: 5, offset: 89447}, + pos: position{line: 2841, col: 5, offset: 92871}, label: "cells", expr: &oneOrMoreExpr{ - pos: position{line: 2682, col: 11, offset: 89453}, + pos: position{line: 2841, col: 11, offset: 92877}, expr: &actionExpr{ - pos: position{line: 2688, col: 5, offset: 89570}, + pos: position{line: 2847, col: 5, offset: 92994}, run: (*parser).callonListElementContinuationElement1405, expr: &seqExpr{ - pos: position{line: 2688, col: 5, offset: 89570}, + pos: position{line: 2847, col: 5, offset: 92994}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2688, col: 5, offset: 89570}, + pos: position{line: 2847, col: 5, offset: 92994}, val: "|", ignoreCase: false, want: "\"|\"", }, &zeroOrMoreExpr{ - pos: position{line: 2688, col: 9, offset: 89574}, + pos: position{line: 2847, col: 9, offset: 92998}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonListElementContinuationElement1409, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -39463,23 +43047,23 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 2689, col: 5, offset: 89586}, + pos: position{line: 2848, col: 5, offset: 93010}, label: "content", expr: &zeroOrOneExpr{ - pos: position{line: 2689, col: 14, offset: 89595}, + pos: position{line: 2848, col: 14, offset: 93019}, expr: &actionExpr{ - pos: position{line: 2721, col: 5, offset: 90383}, + pos: position{line: 2880, col: 5, offset: 93807}, run: (*parser).callonListElementContinuationElement1413, expr: &labeledExpr{ - pos: position{line: 2721, col: 5, offset: 90383}, + pos: position{line: 2880, col: 5, offset: 93807}, label: "content", expr: &actionExpr{ - pos: position{line: 2721, col: 14, offset: 90392}, + pos: position{line: 2880, col: 14, offset: 93816}, run: (*parser).callonListElementContinuationElement1415, expr: &oneOrMoreExpr{ - pos: position{line: 2721, col: 14, offset: 90392}, + pos: position{line: 2880, col: 14, offset: 93816}, expr: &charClassMatcher{ - pos: position{line: 2721, col: 14, offset: 90392}, + pos: position{line: 2880, col: 14, offset: 93816}, val: "[^\\r\\n|]", chars: []rune{'\r', '\n', '|'}, ignoreCase: false, @@ -39497,28 +43081,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonListElementContinuationElement1419, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -39527,37 +43111,37 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, }, &oneOrMoreExpr{ - pos: position{line: 2683, col: 5, offset: 89475}, + pos: position{line: 2842, col: 5, offset: 92899}, expr: &actionExpr{ - pos: position{line: 685, col: 14, offset: 22145}, + pos: position{line: 683, col: 14, offset: 22008}, run: (*parser).callonListElementContinuationElement1427, expr: &seqExpr{ - pos: position{line: 685, col: 14, offset: 22145}, + pos: position{line: 683, col: 14, offset: 22008}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 685, col: 14, offset: 22145}, + pos: position{line: 683, col: 14, offset: 22008}, expr: ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, &zeroOrMoreExpr{ - pos: position{line: 685, col: 19, offset: 22150}, + pos: position{line: 683, col: 19, offset: 22013}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonListElementContinuationElement1433, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -39566,28 +43150,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonListElementContinuationElement1436, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -39596,9 +43180,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -39613,40 +43197,40 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 2668, col: 5, offset: 89153}, + pos: position{line: 2827, col: 5, offset: 92577}, label: "rows", expr: &zeroOrMoreExpr{ - pos: position{line: 2668, col: 10, offset: 89158}, + pos: position{line: 2827, col: 10, offset: 92582}, expr: &choiceExpr{ - pos: position{line: 2693, col: 13, offset: 89692}, + pos: position{line: 2852, col: 13, offset: 93116}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2703, col: 5, offset: 89911}, + pos: position{line: 2862, col: 5, offset: 93335}, run: (*parser).callonListElementContinuationElement1446, expr: &seqExpr{ - pos: position{line: 2703, col: 5, offset: 89911}, + pos: position{line: 2862, col: 5, offset: 93335}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 2703, col: 5, offset: 89911}, + pos: position{line: 2862, col: 5, offset: 93335}, expr: &choiceExpr{ - pos: position{line: 2678, col: 22, offset: 89360}, + pos: position{line: 2837, col: 22, offset: 92784}, alternatives: []interface{}{ &seqExpr{ - pos: position{line: 2674, col: 19, offset: 89280}, + pos: position{line: 2833, col: 19, offset: 92704}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2674, col: 19, offset: 89280}, + pos: position{line: 2833, col: 19, offset: 92704}, val: "|===", ignoreCase: false, want: "\"|===\"", }, &zeroOrMoreExpr{ - pos: position{line: 2674, col: 26, offset: 89287}, + pos: position{line: 2833, col: 26, offset: 92711}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonListElementContinuationElement1453, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -39655,28 +43239,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonListElementContinuationElement1456, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -39685,9 +43269,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -39695,55 +43279,55 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, }, }, &labeledExpr{ - pos: position{line: 2704, col: 5, offset: 89934}, + pos: position{line: 2863, col: 5, offset: 93358}, label: "cells", expr: &oneOrMoreExpr{ - pos: position{line: 2704, col: 11, offset: 89940}, + pos: position{line: 2863, col: 11, offset: 93364}, expr: &actionExpr{ - pos: position{line: 2704, col: 12, offset: 89941}, + pos: position{line: 2863, col: 12, offset: 93365}, run: (*parser).callonListElementContinuationElement1467, expr: &seqExpr{ - pos: position{line: 2704, col: 12, offset: 89941}, + pos: position{line: 2863, col: 12, offset: 93365}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 2704, col: 12, offset: 89941}, + pos: position{line: 2863, col: 12, offset: 93365}, label: "cell", expr: &actionExpr{ - pos: position{line: 2713, col: 5, offset: 90182}, + pos: position{line: 2872, col: 5, offset: 93606}, run: (*parser).callonListElementContinuationElement1470, expr: &seqExpr{ - pos: position{line: 2713, col: 5, offset: 90182}, + pos: position{line: 2872, col: 5, offset: 93606}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 2713, col: 5, offset: 90182}, + pos: position{line: 2872, col: 5, offset: 93606}, expr: &choiceExpr{ - pos: position{line: 2678, col: 22, offset: 89360}, + pos: position{line: 2837, col: 22, offset: 92784}, alternatives: []interface{}{ &seqExpr{ - pos: position{line: 2674, col: 19, offset: 89280}, + pos: position{line: 2833, col: 19, offset: 92704}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2674, col: 19, offset: 89280}, + pos: position{line: 2833, col: 19, offset: 92704}, val: "|===", ignoreCase: false, want: "\"|===\"", }, &zeroOrMoreExpr{ - pos: position{line: 2674, col: 26, offset: 89287}, + pos: position{line: 2833, col: 26, offset: 92711}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonListElementContinuationElement1477, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -39752,28 +43336,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonListElementContinuationElement1480, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -39782,9 +43366,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -39792,38 +43376,38 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, }, }, ¬Expr{ - pos: position{line: 2714, col: 5, offset: 90205}, + pos: position{line: 2873, col: 5, offset: 93629}, expr: &actionExpr{ - pos: position{line: 685, col: 14, offset: 22145}, + pos: position{line: 683, col: 14, offset: 22008}, run: (*parser).callonListElementContinuationElement1490, expr: &seqExpr{ - pos: position{line: 685, col: 14, offset: 22145}, + pos: position{line: 683, col: 14, offset: 22008}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 685, col: 14, offset: 22145}, + pos: position{line: 683, col: 14, offset: 22008}, expr: ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, &zeroOrMoreExpr{ - pos: position{line: 685, col: 19, offset: 22150}, + pos: position{line: 683, col: 19, offset: 22013}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonListElementContinuationElement1496, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -39832,28 +43416,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonListElementContinuationElement1499, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -39862,9 +43446,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -39874,18 +43458,18 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 2715, col: 5, offset: 90220}, + pos: position{line: 2874, col: 5, offset: 93644}, val: "|", ignoreCase: false, want: "\"|\"", }, &zeroOrMoreExpr{ - pos: position{line: 2715, col: 9, offset: 90224}, + pos: position{line: 2874, col: 9, offset: 93648}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonListElementContinuationElement1508, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -39894,23 +43478,23 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 2715, col: 16, offset: 90231}, + pos: position{line: 2874, col: 16, offset: 93655}, label: "content", expr: &zeroOrOneExpr{ - pos: position{line: 2715, col: 25, offset: 90240}, + pos: position{line: 2874, col: 25, offset: 93664}, expr: &actionExpr{ - pos: position{line: 2721, col: 5, offset: 90383}, + pos: position{line: 2880, col: 5, offset: 93807}, run: (*parser).callonListElementContinuationElement1512, expr: &labeledExpr{ - pos: position{line: 2721, col: 5, offset: 90383}, + pos: position{line: 2880, col: 5, offset: 93807}, label: "content", expr: &actionExpr{ - pos: position{line: 2721, col: 14, offset: 90392}, + pos: position{line: 2880, col: 14, offset: 93816}, run: (*parser).callonListElementContinuationElement1514, expr: &oneOrMoreExpr{ - pos: position{line: 2721, col: 14, offset: 90392}, + pos: position{line: 2880, col: 14, offset: 93816}, expr: &charClassMatcher{ - pos: position{line: 2721, col: 14, offset: 90392}, + pos: position{line: 2880, col: 14, offset: 93816}, val: "[^\\r\\n|]", chars: []rune{'\r', '\n', '|'}, ignoreCase: false, @@ -39927,28 +43511,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonListElementContinuationElement1518, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -39957,9 +43541,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -39970,32 +43554,32 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2707, col: 6, offset: 90003}, + pos: position{line: 2866, col: 6, offset: 93427}, alternatives: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 2707, col: 6, offset: 90003}, + pos: position{line: 2866, col: 6, offset: 93427}, expr: &actionExpr{ - pos: position{line: 685, col: 14, offset: 22145}, + pos: position{line: 683, col: 14, offset: 22008}, run: (*parser).callonListElementContinuationElement1527, expr: &seqExpr{ - pos: position{line: 685, col: 14, offset: 22145}, + pos: position{line: 683, col: 14, offset: 22008}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 685, col: 14, offset: 22145}, + pos: position{line: 683, col: 14, offset: 22008}, expr: ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, &zeroOrMoreExpr{ - pos: position{line: 685, col: 19, offset: 22150}, + pos: position{line: 683, col: 19, offset: 22013}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonListElementContinuationElement1533, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -40004,28 +43588,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonListElementContinuationElement1536, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -40034,9 +43618,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -40046,26 +43630,26 @@ var g = &grammar{ }, }, &andExpr{ - pos: position{line: 2707, col: 19, offset: 90016}, + pos: position{line: 2866, col: 19, offset: 93440}, expr: &choiceExpr{ - pos: position{line: 2678, col: 22, offset: 89360}, + pos: position{line: 2837, col: 22, offset: 92784}, alternatives: []interface{}{ &seqExpr{ - pos: position{line: 2674, col: 19, offset: 89280}, + pos: position{line: 2833, col: 19, offset: 92704}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2674, col: 19, offset: 89280}, + pos: position{line: 2833, col: 19, offset: 92704}, val: "|===", ignoreCase: false, want: "\"|===\"", }, &zeroOrMoreExpr{ - pos: position{line: 2674, col: 26, offset: 89287}, + pos: position{line: 2833, col: 26, offset: 92711}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonListElementContinuationElement1548, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -40074,28 +43658,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonListElementContinuationElement1551, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -40104,9 +43688,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -40114,9 +43698,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -40128,32 +43712,32 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2696, col: 5, offset: 89759}, + pos: position{line: 2855, col: 5, offset: 93183}, run: (*parser).callonListElementContinuationElement1560, expr: &seqExpr{ - pos: position{line: 2696, col: 5, offset: 89759}, + pos: position{line: 2855, col: 5, offset: 93183}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 2696, col: 5, offset: 89759}, + pos: position{line: 2855, col: 5, offset: 93183}, expr: &choiceExpr{ - pos: position{line: 2678, col: 22, offset: 89360}, + pos: position{line: 2837, col: 22, offset: 92784}, alternatives: []interface{}{ &seqExpr{ - pos: position{line: 2674, col: 19, offset: 89280}, + pos: position{line: 2833, col: 19, offset: 92704}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2674, col: 19, offset: 89280}, + pos: position{line: 2833, col: 19, offset: 92704}, val: "|===", ignoreCase: false, want: "\"|===\"", }, &zeroOrMoreExpr{ - pos: position{line: 2674, col: 26, offset: 89287}, + pos: position{line: 2833, col: 26, offset: 92711}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonListElementContinuationElement1567, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -40162,28 +43746,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonListElementContinuationElement1570, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -40192,9 +43776,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -40202,46 +43786,46 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, }, }, &labeledExpr{ - pos: position{line: 2697, col: 5, offset: 89782}, + pos: position{line: 2856, col: 5, offset: 93206}, label: "cells", expr: &oneOrMoreExpr{ - pos: position{line: 2697, col: 11, offset: 89788}, + pos: position{line: 2856, col: 11, offset: 93212}, expr: &actionExpr{ - pos: position{line: 2713, col: 5, offset: 90182}, + pos: position{line: 2872, col: 5, offset: 93606}, run: (*parser).callonListElementContinuationElement1581, expr: &seqExpr{ - pos: position{line: 2713, col: 5, offset: 90182}, + pos: position{line: 2872, col: 5, offset: 93606}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 2713, col: 5, offset: 90182}, + pos: position{line: 2872, col: 5, offset: 93606}, expr: &choiceExpr{ - pos: position{line: 2678, col: 22, offset: 89360}, + pos: position{line: 2837, col: 22, offset: 92784}, alternatives: []interface{}{ &seqExpr{ - pos: position{line: 2674, col: 19, offset: 89280}, + pos: position{line: 2833, col: 19, offset: 92704}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2674, col: 19, offset: 89280}, + pos: position{line: 2833, col: 19, offset: 92704}, val: "|===", ignoreCase: false, want: "\"|===\"", }, &zeroOrMoreExpr{ - pos: position{line: 2674, col: 26, offset: 89287}, + pos: position{line: 2833, col: 26, offset: 92711}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonListElementContinuationElement1588, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -40250,28 +43834,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonListElementContinuationElement1591, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -40280,9 +43864,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -40290,38 +43874,38 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, }, }, ¬Expr{ - pos: position{line: 2714, col: 5, offset: 90205}, + pos: position{line: 2873, col: 5, offset: 93629}, expr: &actionExpr{ - pos: position{line: 685, col: 14, offset: 22145}, + pos: position{line: 683, col: 14, offset: 22008}, run: (*parser).callonListElementContinuationElement1601, expr: &seqExpr{ - pos: position{line: 685, col: 14, offset: 22145}, + pos: position{line: 683, col: 14, offset: 22008}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 685, col: 14, offset: 22145}, + pos: position{line: 683, col: 14, offset: 22008}, expr: ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, &zeroOrMoreExpr{ - pos: position{line: 685, col: 19, offset: 22150}, + pos: position{line: 683, col: 19, offset: 22013}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonListElementContinuationElement1607, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -40330,28 +43914,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonListElementContinuationElement1610, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -40360,9 +43944,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -40372,18 +43956,18 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 2715, col: 5, offset: 90220}, + pos: position{line: 2874, col: 5, offset: 93644}, val: "|", ignoreCase: false, want: "\"|\"", }, &zeroOrMoreExpr{ - pos: position{line: 2715, col: 9, offset: 90224}, + pos: position{line: 2874, col: 9, offset: 93648}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonListElementContinuationElement1619, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -40392,23 +43976,23 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 2715, col: 16, offset: 90231}, + pos: position{line: 2874, col: 16, offset: 93655}, label: "content", expr: &zeroOrOneExpr{ - pos: position{line: 2715, col: 25, offset: 90240}, + pos: position{line: 2874, col: 25, offset: 93664}, expr: &actionExpr{ - pos: position{line: 2721, col: 5, offset: 90383}, + pos: position{line: 2880, col: 5, offset: 93807}, run: (*parser).callonListElementContinuationElement1623, expr: &labeledExpr{ - pos: position{line: 2721, col: 5, offset: 90383}, + pos: position{line: 2880, col: 5, offset: 93807}, label: "content", expr: &actionExpr{ - pos: position{line: 2721, col: 14, offset: 90392}, + pos: position{line: 2880, col: 14, offset: 93816}, run: (*parser).callonListElementContinuationElement1625, expr: &oneOrMoreExpr{ - pos: position{line: 2721, col: 14, offset: 90392}, + pos: position{line: 2880, col: 14, offset: 93816}, expr: &charClassMatcher{ - pos: position{line: 2721, col: 14, offset: 90392}, + pos: position{line: 2880, col: 14, offset: 93816}, val: "[^\\r\\n|]", chars: []rune{'\r', '\n', '|'}, ignoreCase: false, @@ -40426,28 +44010,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonListElementContinuationElement1629, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -40456,37 +44040,37 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, }, &zeroOrMoreExpr{ - pos: position{line: 2698, col: 5, offset: 89809}, + pos: position{line: 2857, col: 5, offset: 93233}, expr: &actionExpr{ - pos: position{line: 685, col: 14, offset: 22145}, + pos: position{line: 683, col: 14, offset: 22008}, run: (*parser).callonListElementContinuationElement1637, expr: &seqExpr{ - pos: position{line: 685, col: 14, offset: 22145}, + pos: position{line: 683, col: 14, offset: 22008}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 685, col: 14, offset: 22145}, + pos: position{line: 683, col: 14, offset: 22008}, expr: ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, &zeroOrMoreExpr{ - pos: position{line: 685, col: 19, offset: 22150}, + pos: position{line: 683, col: 19, offset: 22013}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonListElementContinuationElement1643, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -40495,28 +44079,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonListElementContinuationElement1646, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -40525,9 +44109,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -40544,24 +44128,24 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2678, col: 22, offset: 89360}, + pos: position{line: 2837, col: 22, offset: 92784}, alternatives: []interface{}{ &seqExpr{ - pos: position{line: 2674, col: 19, offset: 89280}, + pos: position{line: 2833, col: 19, offset: 92704}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2674, col: 19, offset: 89280}, + pos: position{line: 2833, col: 19, offset: 92704}, val: "|===", ignoreCase: false, want: "\"|===\"", }, &zeroOrMoreExpr{ - pos: position{line: 2674, col: 26, offset: 89287}, + pos: position{line: 2833, col: 26, offset: 92711}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonListElementContinuationElement1657, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -40570,28 +44154,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonListElementContinuationElement1660, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -40600,9 +44184,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -40610,9 +44194,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -40621,36 +44205,36 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2616, col: 22, offset: 87547}, + pos: position{line: 2760, col: 22, offset: 90461}, run: (*parser).callonListElementContinuationElement1669, expr: &seqExpr{ - pos: position{line: 2616, col: 22, offset: 87547}, + pos: position{line: 2760, col: 22, offset: 90461}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2621, col: 31, offset: 87768}, + pos: position{line: 2765, col: 31, offset: 90682}, val: "//", ignoreCase: false, want: "\"//\"", }, ¬Expr{ - pos: position{line: 2621, col: 36, offset: 87773}, + pos: position{line: 2765, col: 36, offset: 90687}, expr: &litMatcher{ - pos: position{line: 2621, col: 37, offset: 87774}, + pos: position{line: 2765, col: 37, offset: 90688}, val: "//", ignoreCase: false, want: "\"//\"", }, }, &labeledExpr{ - pos: position{line: 2616, col: 49, offset: 87574}, + pos: position{line: 2760, col: 49, offset: 90488}, label: "content", expr: &actionExpr{ - pos: position{line: 2623, col: 29, offset: 87809}, + pos: position{line: 2767, col: 29, offset: 90723}, run: (*parser).callonListElementContinuationElement1675, expr: &zeroOrMoreExpr{ - pos: position{line: 2623, col: 29, offset: 87809}, + pos: position{line: 2767, col: 29, offset: 90723}, expr: &charClassMatcher{ - pos: position{line: 2623, col: 29, offset: 87809}, + pos: position{line: 2767, col: 29, offset: 90723}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -40660,28 +44244,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonListElementContinuationElement1679, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -40690,9 +44274,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -40701,62 +44285,62 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1704, col: 5, offset: 56077}, + pos: position{line: 1724, col: 5, offset: 56579}, run: (*parser).callonListElementContinuationElement1686, expr: &seqExpr{ - pos: position{line: 1704, col: 5, offset: 56077}, + pos: position{line: 1724, col: 5, offset: 56579}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1704, col: 5, offset: 56077}, + pos: position{line: 1724, col: 5, offset: 56579}, label: "kind", expr: &choiceExpr{ - pos: position{line: 301, col: 19, offset: 9383}, + pos: position{line: 293, col: 19, offset: 9044}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 301, col: 19, offset: 9383}, + pos: position{line: 293, col: 19, offset: 9044}, run: (*parser).callonListElementContinuationElement1690, expr: &litMatcher{ - pos: position{line: 301, col: 19, offset: 9383}, + pos: position{line: 293, col: 19, offset: 9044}, val: "TIP", ignoreCase: false, want: "\"TIP\"", }, }, &actionExpr{ - pos: position{line: 303, col: 5, offset: 9421}, + pos: position{line: 295, col: 5, offset: 9082}, run: (*parser).callonListElementContinuationElement1692, expr: &litMatcher{ - pos: position{line: 303, col: 5, offset: 9421}, + pos: position{line: 295, col: 5, offset: 9082}, val: "NOTE", ignoreCase: false, want: "\"NOTE\"", }, }, &actionExpr{ - pos: position{line: 305, col: 5, offset: 9461}, + pos: position{line: 297, col: 5, offset: 9122}, run: (*parser).callonListElementContinuationElement1694, expr: &litMatcher{ - pos: position{line: 305, col: 5, offset: 9461}, + pos: position{line: 297, col: 5, offset: 9122}, val: "IMPORTANT", ignoreCase: false, want: "\"IMPORTANT\"", }, }, &actionExpr{ - pos: position{line: 307, col: 5, offset: 9511}, + pos: position{line: 299, col: 5, offset: 9172}, run: (*parser).callonListElementContinuationElement1696, expr: &litMatcher{ - pos: position{line: 307, col: 5, offset: 9511}, + pos: position{line: 299, col: 5, offset: 9172}, val: "WARNING", ignoreCase: false, want: "\"WARNING\"", }, }, &actionExpr{ - pos: position{line: 309, col: 5, offset: 9557}, + pos: position{line: 301, col: 5, offset: 9218}, run: (*parser).callonListElementContinuationElement1698, expr: &litMatcher{ - pos: position{line: 309, col: 5, offset: 9557}, + pos: position{line: 301, col: 5, offset: 9218}, val: "CAUTION", ignoreCase: false, want: "\"CAUTION\"", @@ -40766,30 +44350,30 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1704, col: 27, offset: 56099}, + pos: position{line: 1724, col: 27, offset: 56601}, val: ": ", ignoreCase: false, want: "\": \"", }, &labeledExpr{ - pos: position{line: 1705, col: 5, offset: 56109}, + pos: position{line: 1725, col: 5, offset: 56611}, label: "firstLine", expr: &actionExpr{ - pos: position{line: 1716, col: 5, offset: 56453}, + pos: position{line: 1736, col: 5, offset: 56955}, run: (*parser).callonListElementContinuationElement1702, expr: &seqExpr{ - pos: position{line: 1716, col: 5, offset: 56453}, + pos: position{line: 1736, col: 5, offset: 56955}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1716, col: 5, offset: 56453}, + pos: position{line: 1736, col: 5, offset: 56955}, label: "content", expr: &actionExpr{ - pos: position{line: 1716, col: 14, offset: 56462}, + pos: position{line: 1736, col: 14, offset: 56964}, run: (*parser).callonListElementContinuationElement1705, expr: &oneOrMoreExpr{ - pos: position{line: 1716, col: 14, offset: 56462}, + pos: position{line: 1736, col: 14, offset: 56964}, expr: &charClassMatcher{ - pos: position{line: 1716, col: 14, offset: 56462}, + pos: position{line: 1736, col: 14, offset: 56964}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -40799,32 +44383,32 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1719, col: 5, offset: 56569}, + pos: position{line: 1739, col: 5, offset: 57071}, run: (*parser).callonListElementContinuationElement1708, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonListElementContinuationElement1710, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -40833,9 +44417,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -40845,34 +44429,34 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1706, col: 5, offset: 56143}, + pos: position{line: 1726, col: 5, offset: 56645}, label: "otherLines", expr: &zeroOrMoreExpr{ - pos: position{line: 1706, col: 16, offset: 56154}, + pos: position{line: 1726, col: 16, offset: 56656}, expr: &actionExpr{ - pos: position{line: 1707, col: 9, offset: 56164}, + pos: position{line: 1727, col: 9, offset: 56666}, run: (*parser).callonListElementContinuationElement1719, expr: &seqExpr{ - pos: position{line: 1707, col: 9, offset: 56164}, + pos: position{line: 1727, col: 9, offset: 56666}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 1707, col: 9, offset: 56164}, + pos: position{line: 1727, col: 9, offset: 56666}, expr: &seqExpr{ - pos: position{line: 1444, col: 34, offset: 47455}, + pos: position{line: 1464, col: 34, offset: 47957}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1444, col: 34, offset: 47455}, + pos: position{line: 1464, col: 34, offset: 47957}, val: "+", ignoreCase: false, want: "\"+\"", }, &zeroOrMoreExpr{ - pos: position{line: 1444, col: 38, offset: 47459}, + pos: position{line: 1464, col: 38, offset: 47961}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonListElementContinuationElement1725, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -40881,25 +44465,25 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonListElementContinuationElement1727, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -40911,42 +44495,42 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1708, col: 9, offset: 56203}, + pos: position{line: 1728, col: 9, offset: 56705}, label: "line", expr: &choiceExpr{ - pos: position{line: 1708, col: 15, offset: 56209}, + pos: position{line: 1728, col: 15, offset: 56711}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2616, col: 22, offset: 87547}, + pos: position{line: 2760, col: 22, offset: 90461}, run: (*parser).callonListElementContinuationElement1734, expr: &seqExpr{ - pos: position{line: 2616, col: 22, offset: 87547}, + pos: position{line: 2760, col: 22, offset: 90461}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2621, col: 31, offset: 87768}, + pos: position{line: 2765, col: 31, offset: 90682}, val: "//", ignoreCase: false, want: "\"//\"", }, ¬Expr{ - pos: position{line: 2621, col: 36, offset: 87773}, + pos: position{line: 2765, col: 36, offset: 90687}, expr: &litMatcher{ - pos: position{line: 2621, col: 37, offset: 87774}, + pos: position{line: 2765, col: 37, offset: 90688}, val: "//", ignoreCase: false, want: "\"//\"", }, }, &labeledExpr{ - pos: position{line: 2616, col: 49, offset: 87574}, + pos: position{line: 2760, col: 49, offset: 90488}, label: "content", expr: &actionExpr{ - pos: position{line: 2623, col: 29, offset: 87809}, + pos: position{line: 2767, col: 29, offset: 90723}, run: (*parser).callonListElementContinuationElement1740, expr: &zeroOrMoreExpr{ - pos: position{line: 2623, col: 29, offset: 87809}, + pos: position{line: 2767, col: 29, offset: 90723}, expr: &charClassMatcher{ - pos: position{line: 2623, col: 29, offset: 87809}, + pos: position{line: 2767, col: 29, offset: 90723}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -40956,28 +44540,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonListElementContinuationElement1744, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -40986,9 +44570,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -40997,21 +44581,21 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1716, col: 5, offset: 56453}, + pos: position{line: 1736, col: 5, offset: 56955}, run: (*parser).callonListElementContinuationElement1751, expr: &seqExpr{ - pos: position{line: 1716, col: 5, offset: 56453}, + pos: position{line: 1736, col: 5, offset: 56955}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1716, col: 5, offset: 56453}, + pos: position{line: 1736, col: 5, offset: 56955}, label: "content", expr: &actionExpr{ - pos: position{line: 1716, col: 14, offset: 56462}, + pos: position{line: 1736, col: 14, offset: 56964}, run: (*parser).callonListElementContinuationElement1754, expr: &oneOrMoreExpr{ - pos: position{line: 1716, col: 14, offset: 56462}, + pos: position{line: 1736, col: 14, offset: 56964}, expr: &charClassMatcher{ - pos: position{line: 1716, col: 14, offset: 56462}, + pos: position{line: 1736, col: 14, offset: 56964}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -41021,32 +44605,32 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1719, col: 5, offset: 56569}, + pos: position{line: 1739, col: 5, offset: 57071}, run: (*parser).callonListElementContinuationElement1757, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonListElementContinuationElement1759, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -41055,9 +44639,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -41077,36 +44661,36 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1727, col: 5, offset: 56735}, + pos: position{line: 1747, col: 5, offset: 57237}, run: (*parser).callonListElementContinuationElement1766, expr: &seqExpr{ - pos: position{line: 1727, col: 5, offset: 56735}, + pos: position{line: 1747, col: 5, offset: 57237}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1727, col: 5, offset: 56735}, + pos: position{line: 1747, col: 5, offset: 57237}, label: "firstLine", expr: &actionExpr{ - pos: position{line: 1734, col: 5, offset: 57020}, + pos: position{line: 1754, col: 5, offset: 57522}, run: (*parser).callonListElementContinuationElement1769, expr: &seqExpr{ - pos: position{line: 1734, col: 5, offset: 57020}, + pos: position{line: 1754, col: 5, offset: 57522}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1734, col: 5, offset: 57020}, + pos: position{line: 1754, col: 5, offset: 57522}, label: "content", expr: &actionExpr{ - pos: position{line: 1734, col: 14, offset: 57029}, + pos: position{line: 1754, col: 14, offset: 57531}, run: (*parser).callonListElementContinuationElement1772, expr: &seqExpr{ - pos: position{line: 1734, col: 14, offset: 57029}, + pos: position{line: 1754, col: 14, offset: 57531}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 2903, col: 11, offset: 96254}, + pos: position{line: 3062, col: 11, offset: 99678}, run: (*parser).callonListElementContinuationElement1774, expr: &oneOrMoreExpr{ - pos: position{line: 2903, col: 11, offset: 96254}, + pos: position{line: 3062, col: 11, offset: 99678}, expr: &charClassMatcher{ - pos: position{line: 2903, col: 12, offset: 96255}, + pos: position{line: 3062, col: 12, offset: 99679}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -41115,9 +44699,9 @@ var g = &grammar{ }, }, &oneOrMoreExpr{ - pos: position{line: 1734, col: 21, offset: 57036}, + pos: position{line: 1754, col: 21, offset: 57538}, expr: &charClassMatcher{ - pos: position{line: 1734, col: 21, offset: 57036}, + pos: position{line: 1754, col: 21, offset: 57538}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -41129,32 +44713,32 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1737, col: 5, offset: 57093}, + pos: position{line: 1757, col: 5, offset: 57595}, run: (*parser).callonListElementContinuationElement1779, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonListElementContinuationElement1781, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -41163,9 +44747,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -41175,44 +44759,44 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1728, col: 5, offset: 56776}, + pos: position{line: 1748, col: 5, offset: 57278}, label: "otherLines", expr: &zeroOrMoreExpr{ - pos: position{line: 1728, col: 16, offset: 56787}, + pos: position{line: 1748, col: 16, offset: 57289}, expr: &choiceExpr{ - pos: position{line: 1728, col: 17, offset: 56788}, + pos: position{line: 1748, col: 17, offset: 57290}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2616, col: 22, offset: 87547}, + pos: position{line: 2760, col: 22, offset: 90461}, run: (*parser).callonListElementContinuationElement1791, expr: &seqExpr{ - pos: position{line: 2616, col: 22, offset: 87547}, + pos: position{line: 2760, col: 22, offset: 90461}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2621, col: 31, offset: 87768}, + pos: position{line: 2765, col: 31, offset: 90682}, val: "//", ignoreCase: false, want: "\"//\"", }, ¬Expr{ - pos: position{line: 2621, col: 36, offset: 87773}, + pos: position{line: 2765, col: 36, offset: 90687}, expr: &litMatcher{ - pos: position{line: 2621, col: 37, offset: 87774}, + pos: position{line: 2765, col: 37, offset: 90688}, val: "//", ignoreCase: false, want: "\"//\"", }, }, &labeledExpr{ - pos: position{line: 2616, col: 49, offset: 87574}, + pos: position{line: 2760, col: 49, offset: 90488}, label: "content", expr: &actionExpr{ - pos: position{line: 2623, col: 29, offset: 87809}, + pos: position{line: 2767, col: 29, offset: 90723}, run: (*parser).callonListElementContinuationElement1797, expr: &zeroOrMoreExpr{ - pos: position{line: 2623, col: 29, offset: 87809}, + pos: position{line: 2767, col: 29, offset: 90723}, expr: &charClassMatcher{ - pos: position{line: 2623, col: 29, offset: 87809}, + pos: position{line: 2767, col: 29, offset: 90723}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -41222,28 +44806,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonListElementContinuationElement1801, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -41252,9 +44836,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -41263,21 +44847,21 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1716, col: 5, offset: 56453}, + pos: position{line: 1736, col: 5, offset: 56955}, run: (*parser).callonListElementContinuationElement1808, expr: &seqExpr{ - pos: position{line: 1716, col: 5, offset: 56453}, + pos: position{line: 1736, col: 5, offset: 56955}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1716, col: 5, offset: 56453}, + pos: position{line: 1736, col: 5, offset: 56955}, label: "content", expr: &actionExpr{ - pos: position{line: 1716, col: 14, offset: 56462}, + pos: position{line: 1736, col: 14, offset: 56964}, run: (*parser).callonListElementContinuationElement1811, expr: &oneOrMoreExpr{ - pos: position{line: 1716, col: 14, offset: 56462}, + pos: position{line: 1736, col: 14, offset: 56964}, expr: &charClassMatcher{ - pos: position{line: 1716, col: 14, offset: 56462}, + pos: position{line: 1736, col: 14, offset: 56964}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -41287,32 +44871,32 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1719, col: 5, offset: 56569}, + pos: position{line: 1739, col: 5, offset: 57071}, run: (*parser).callonListElementContinuationElement1814, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonListElementContinuationElement1816, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -41321,9 +44905,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -41339,21 +44923,21 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1474, col: 5, offset: 48436}, + pos: position{line: 1494, col: 5, offset: 48938}, run: (*parser).callonListElementContinuationElement1823, expr: &seqExpr{ - pos: position{line: 1474, col: 5, offset: 48436}, + pos: position{line: 1494, col: 5, offset: 48938}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1474, col: 5, offset: 48436}, + pos: position{line: 1494, col: 5, offset: 48938}, label: "content", expr: &actionExpr{ - pos: position{line: 1474, col: 14, offset: 48445}, + pos: position{line: 1494, col: 14, offset: 48947}, run: (*parser).callonListElementContinuationElement1826, expr: &oneOrMoreExpr{ - pos: position{line: 1474, col: 14, offset: 48445}, + pos: position{line: 1494, col: 14, offset: 48947}, expr: &charClassMatcher{ - pos: position{line: 1474, col: 14, offset: 48445}, + pos: position{line: 1494, col: 14, offset: 48947}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -41363,28 +44947,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonListElementContinuationElement1830, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -41393,9 +44977,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -41412,33 +44996,33 @@ var g = &grammar{ }, { name: "Callout", - pos: position{line: 1632, col: 1, offset: 53618}, + pos: position{line: 1652, col: 1, offset: 54120}, expr: &actionExpr{ - pos: position{line: 1634, col: 5, offset: 53696}, + pos: position{line: 1654, col: 5, offset: 54198}, run: (*parser).callonCallout1, expr: &seqExpr{ - pos: position{line: 1634, col: 5, offset: 53696}, + pos: position{line: 1654, col: 5, offset: 54198}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 1634, col: 5, offset: 53696}, + pos: position{line: 1654, col: 5, offset: 54198}, run: (*parser).callonCallout3, }, &litMatcher{ - pos: position{line: 1637, col: 5, offset: 53763}, + pos: position{line: 1657, col: 5, offset: 54265}, val: "<", ignoreCase: false, want: "\"<\"", }, &labeledExpr{ - pos: position{line: 1637, col: 9, offset: 53767}, + pos: position{line: 1657, col: 9, offset: 54269}, label: "ref", expr: &actionExpr{ - pos: position{line: 1637, col: 14, offset: 53772}, + pos: position{line: 1657, col: 14, offset: 54274}, run: (*parser).callonCallout6, expr: &oneOrMoreExpr{ - pos: position{line: 1637, col: 14, offset: 53772}, + pos: position{line: 1657, col: 14, offset: 54274}, expr: &charClassMatcher{ - pos: position{line: 1637, col: 14, offset: 53772}, + pos: position{line: 1657, col: 14, offset: 54274}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -41448,18 +45032,18 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1637, col: 62, offset: 53820}, + pos: position{line: 1657, col: 62, offset: 54322}, val: ">", ignoreCase: false, want: "\">\"", }, &zeroOrMoreExpr{ - pos: position{line: 1637, col: 66, offset: 53824}, + pos: position{line: 1657, col: 66, offset: 54326}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonCallout11, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -41468,30 +45052,30 @@ var g = &grammar{ }, }, &andExpr{ - pos: position{line: 1637, col: 73, offset: 53831}, + pos: position{line: 1657, col: 73, offset: 54333}, expr: &choiceExpr{ - pos: position{line: 1637, col: 75, offset: 53833}, + pos: position{line: 1657, col: 75, offset: 54335}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonCallout15, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -41500,13 +45084,13 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, &ruleRefExpr{ - pos: position{line: 1637, col: 81, offset: 53839}, + pos: position{line: 1657, col: 81, offset: 54341}, name: "Callout", }, }, @@ -41518,17 +45102,17 @@ var g = &grammar{ }, { name: "ShortcutParagraph", - pos: position{line: 1663, col: 1, offset: 54700}, + pos: position{line: 1683, col: 1, offset: 55202}, expr: &actionExpr{ - pos: position{line: 1664, col: 5, offset: 54726}, + pos: position{line: 1684, col: 5, offset: 55228}, run: (*parser).callonShortcutParagraph1, expr: &seqExpr{ - pos: position{line: 1664, col: 5, offset: 54726}, + pos: position{line: 1684, col: 5, offset: 55228}, exprs: []interface{}{ &andExpr{ - pos: position{line: 1664, col: 5, offset: 54726}, + pos: position{line: 1684, col: 5, offset: 55228}, expr: &charClassMatcher{ - pos: position{line: 2813, col: 13, offset: 93503}, + pos: position{line: 2972, col: 13, offset: 96927}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -41537,22 +45121,22 @@ var g = &grammar{ }, }, &andExpr{ - pos: position{line: 1665, col: 5, offset: 54837}, + pos: position{line: 1685, col: 5, offset: 55339}, expr: ¬Expr{ - pos: position{line: 1665, col: 7, offset: 54839}, + pos: position{line: 1685, col: 7, offset: 55341}, expr: &actionExpr{ - pos: position{line: 1492, col: 5, offset: 48929}, + pos: position{line: 1512, col: 5, offset: 49431}, run: (*parser).callonShortcutParagraph7, expr: &seqExpr{ - pos: position{line: 1492, col: 5, offset: 48929}, + pos: position{line: 1512, col: 5, offset: 49431}, exprs: []interface{}{ &zeroOrMoreExpr{ - pos: position{line: 1492, col: 5, offset: 48929}, + pos: position{line: 1512, col: 5, offset: 49431}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonShortcutParagraph10, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -41561,27 +45145,27 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1492, col: 12, offset: 48936}, + pos: position{line: 1512, col: 12, offset: 49438}, label: "prefix", expr: &choiceExpr{ - pos: position{line: 1494, col: 9, offset: 48999}, + pos: position{line: 1514, col: 9, offset: 49501}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1494, col: 9, offset: 48999}, + pos: position{line: 1514, col: 9, offset: 49501}, run: (*parser).callonShortcutParagraph14, expr: &seqExpr{ - pos: position{line: 1494, col: 9, offset: 48999}, + pos: position{line: 1514, col: 9, offset: 49501}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1494, col: 9, offset: 48999}, + pos: position{line: 1514, col: 9, offset: 49501}, label: "depth", expr: &actionExpr{ - pos: position{line: 1494, col: 16, offset: 49006}, + pos: position{line: 1514, col: 16, offset: 49508}, run: (*parser).callonShortcutParagraph17, expr: &oneOrMoreExpr{ - pos: position{line: 1494, col: 16, offset: 49006}, + pos: position{line: 1514, col: 16, offset: 49508}, expr: &litMatcher{ - pos: position{line: 1494, col: 17, offset: 49007}, + pos: position{line: 1514, col: 17, offset: 49509}, val: ".", ignoreCase: false, want: "\".\"", @@ -41590,22 +45174,22 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1498, col: 9, offset: 49107}, + pos: position{line: 1518, col: 9, offset: 49609}, run: (*parser).callonShortcutParagraph20, }, }, }, }, &actionExpr{ - pos: position{line: 1517, col: 11, offset: 49824}, + pos: position{line: 1537, col: 11, offset: 50326}, run: (*parser).callonShortcutParagraph21, expr: &seqExpr{ - pos: position{line: 1517, col: 11, offset: 49824}, + pos: position{line: 1537, col: 11, offset: 50326}, exprs: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 1517, col: 11, offset: 49824}, + pos: position{line: 1537, col: 11, offset: 50326}, expr: &charClassMatcher{ - pos: position{line: 1517, col: 12, offset: 49825}, + pos: position{line: 1537, col: 12, offset: 50327}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -41613,7 +45197,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1517, col: 20, offset: 49833}, + pos: position{line: 1537, col: 20, offset: 50335}, val: ".", ignoreCase: false, want: "\".\"", @@ -41622,20 +45206,20 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1519, col: 13, offset: 49950}, + pos: position{line: 1539, col: 13, offset: 50452}, run: (*parser).callonShortcutParagraph26, expr: &seqExpr{ - pos: position{line: 1519, col: 13, offset: 49950}, + pos: position{line: 1539, col: 13, offset: 50452}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 1519, col: 14, offset: 49951}, + pos: position{line: 1539, col: 14, offset: 50453}, val: "[a-z]", ranges: []rune{'a', 'z'}, ignoreCase: false, inverted: false, }, &litMatcher{ - pos: position{line: 1519, col: 21, offset: 49958}, + pos: position{line: 1539, col: 21, offset: 50460}, val: ".", ignoreCase: false, want: "\".\"", @@ -41644,20 +45228,20 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1521, col: 13, offset: 50078}, + pos: position{line: 1541, col: 13, offset: 50580}, run: (*parser).callonShortcutParagraph30, expr: &seqExpr{ - pos: position{line: 1521, col: 13, offset: 50078}, + pos: position{line: 1541, col: 13, offset: 50580}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 1521, col: 14, offset: 50079}, + pos: position{line: 1541, col: 14, offset: 50581}, val: "[A-Z]", ranges: []rune{'A', 'Z'}, ignoreCase: false, inverted: false, }, &litMatcher{ - pos: position{line: 1521, col: 21, offset: 50086}, + pos: position{line: 1541, col: 21, offset: 50588}, val: ".", ignoreCase: false, want: "\".\"", @@ -41666,15 +45250,15 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1523, col: 13, offset: 50206}, + pos: position{line: 1543, col: 13, offset: 50708}, run: (*parser).callonShortcutParagraph34, expr: &seqExpr{ - pos: position{line: 1523, col: 13, offset: 50206}, + pos: position{line: 1543, col: 13, offset: 50708}, exprs: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 1523, col: 13, offset: 50206}, + pos: position{line: 1543, col: 13, offset: 50708}, expr: &charClassMatcher{ - pos: position{line: 1523, col: 14, offset: 50207}, + pos: position{line: 1543, col: 14, offset: 50709}, val: "[ivxdlcm]", chars: []rune{'i', 'v', 'x', 'd', 'l', 'c', 'm'}, ignoreCase: false, @@ -41682,7 +45266,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1523, col: 26, offset: 50219}, + pos: position{line: 1543, col: 26, offset: 50721}, val: ")", ignoreCase: false, want: "\")\"", @@ -41691,15 +45275,15 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1525, col: 13, offset: 50339}, + pos: position{line: 1545, col: 13, offset: 50841}, run: (*parser).callonShortcutParagraph39, expr: &seqExpr{ - pos: position{line: 1525, col: 13, offset: 50339}, + pos: position{line: 1545, col: 13, offset: 50841}, exprs: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 1525, col: 13, offset: 50339}, + pos: position{line: 1545, col: 13, offset: 50841}, expr: &charClassMatcher{ - pos: position{line: 1525, col: 14, offset: 50340}, + pos: position{line: 1545, col: 14, offset: 50842}, val: "[IVXDLCM]", chars: []rune{'I', 'V', 'X', 'D', 'L', 'C', 'M'}, ignoreCase: false, @@ -41707,7 +45291,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1525, col: 26, offset: 50352}, + pos: position{line: 1545, col: 26, offset: 50854}, val: ")", ignoreCase: false, want: "\")\"", @@ -41719,12 +45303,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2903, col: 11, offset: 96254}, + pos: position{line: 3062, col: 11, offset: 99678}, run: (*parser).callonShortcutParagraph44, expr: &oneOrMoreExpr{ - pos: position{line: 2903, col: 11, offset: 96254}, + pos: position{line: 3062, col: 11, offset: 99678}, expr: &charClassMatcher{ - pos: position{line: 2903, col: 12, offset: 96255}, + pos: position{line: 3062, col: 12, offset: 99679}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -41738,22 +45322,22 @@ var g = &grammar{ }, }, &andExpr{ - pos: position{line: 1666, col: 5, offset: 54870}, + pos: position{line: 1686, col: 5, offset: 55372}, expr: ¬Expr{ - pos: position{line: 1666, col: 7, offset: 54872}, + pos: position{line: 1686, col: 7, offset: 55374}, expr: &actionExpr{ - pos: position{line: 1542, col: 5, offset: 50891}, + pos: position{line: 1562, col: 5, offset: 51393}, run: (*parser).callonShortcutParagraph49, expr: &seqExpr{ - pos: position{line: 1542, col: 5, offset: 50891}, + pos: position{line: 1562, col: 5, offset: 51393}, exprs: []interface{}{ &zeroOrMoreExpr{ - pos: position{line: 1542, col: 5, offset: 50891}, + pos: position{line: 1562, col: 5, offset: 51393}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonShortcutParagraph52, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -41762,27 +45346,27 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1542, col: 12, offset: 50898}, + pos: position{line: 1562, col: 12, offset: 51400}, label: "prefix", expr: &choiceExpr{ - pos: position{line: 1542, col: 20, offset: 50906}, + pos: position{line: 1562, col: 20, offset: 51408}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1544, col: 9, offset: 50963}, + pos: position{line: 1564, col: 9, offset: 51465}, run: (*parser).callonShortcutParagraph56, expr: &seqExpr{ - pos: position{line: 1544, col: 9, offset: 50963}, + pos: position{line: 1564, col: 9, offset: 51465}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1544, col: 9, offset: 50963}, + pos: position{line: 1564, col: 9, offset: 51465}, label: "depth", expr: &actionExpr{ - pos: position{line: 1544, col: 16, offset: 50970}, + pos: position{line: 1564, col: 16, offset: 51472}, run: (*parser).callonShortcutParagraph59, expr: &oneOrMoreExpr{ - pos: position{line: 1544, col: 16, offset: 50970}, + pos: position{line: 1564, col: 16, offset: 51472}, expr: &litMatcher{ - pos: position{line: 1544, col: 17, offset: 50971}, + pos: position{line: 1564, col: 17, offset: 51473}, val: "*", ignoreCase: false, want: "\"*\"", @@ -41791,20 +45375,20 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1548, col: 9, offset: 51071}, + pos: position{line: 1568, col: 9, offset: 51573}, run: (*parser).callonShortcutParagraph62, }, }, }, }, &labeledExpr{ - pos: position{line: 1565, col: 14, offset: 51778}, + pos: position{line: 1585, col: 14, offset: 52280}, label: "depth", expr: &actionExpr{ - pos: position{line: 1565, col: 21, offset: 51785}, + pos: position{line: 1585, col: 21, offset: 52287}, run: (*parser).callonShortcutParagraph64, expr: &litMatcher{ - pos: position{line: 1565, col: 22, offset: 51786}, + pos: position{line: 1585, col: 22, offset: 52288}, val: "-", ignoreCase: false, want: "\"-\"", @@ -41815,12 +45399,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2903, col: 11, offset: 96254}, + pos: position{line: 3062, col: 11, offset: 99678}, run: (*parser).callonShortcutParagraph66, expr: &oneOrMoreExpr{ - pos: position{line: 2903, col: 11, offset: 96254}, + pos: position{line: 3062, col: 11, offset: 99678}, expr: &charClassMatcher{ - pos: position{line: 2903, col: 12, offset: 96255}, + pos: position{line: 3062, col: 12, offset: 99679}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -41834,57 +45418,57 @@ var g = &grammar{ }, }, &andExpr{ - pos: position{line: 1667, col: 5, offset: 54905}, + pos: position{line: 1687, col: 5, offset: 55407}, expr: ¬Expr{ - pos: position{line: 1667, col: 7, offset: 54907}, + pos: position{line: 1687, col: 7, offset: 55409}, expr: &choiceExpr{ - pos: position{line: 301, col: 19, offset: 9383}, + pos: position{line: 293, col: 19, offset: 9044}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 301, col: 19, offset: 9383}, + pos: position{line: 293, col: 19, offset: 9044}, run: (*parser).callonShortcutParagraph72, expr: &litMatcher{ - pos: position{line: 301, col: 19, offset: 9383}, + pos: position{line: 293, col: 19, offset: 9044}, val: "TIP", ignoreCase: false, want: "\"TIP\"", }, }, &actionExpr{ - pos: position{line: 303, col: 5, offset: 9421}, + pos: position{line: 295, col: 5, offset: 9082}, run: (*parser).callonShortcutParagraph74, expr: &litMatcher{ - pos: position{line: 303, col: 5, offset: 9421}, + pos: position{line: 295, col: 5, offset: 9082}, val: "NOTE", ignoreCase: false, want: "\"NOTE\"", }, }, &actionExpr{ - pos: position{line: 305, col: 5, offset: 9461}, + pos: position{line: 297, col: 5, offset: 9122}, run: (*parser).callonShortcutParagraph76, expr: &litMatcher{ - pos: position{line: 305, col: 5, offset: 9461}, + pos: position{line: 297, col: 5, offset: 9122}, val: "IMPORTANT", ignoreCase: false, want: "\"IMPORTANT\"", }, }, &actionExpr{ - pos: position{line: 307, col: 5, offset: 9511}, + pos: position{line: 299, col: 5, offset: 9172}, run: (*parser).callonShortcutParagraph78, expr: &litMatcher{ - pos: position{line: 307, col: 5, offset: 9511}, + pos: position{line: 299, col: 5, offset: 9172}, val: "WARNING", ignoreCase: false, want: "\"WARNING\"", }, }, &actionExpr{ - pos: position{line: 309, col: 5, offset: 9557}, + pos: position{line: 301, col: 5, offset: 9218}, run: (*parser).callonShortcutParagraph80, expr: &litMatcher{ - pos: position{line: 309, col: 5, offset: 9557}, + pos: position{line: 301, col: 5, offset: 9218}, val: "CAUTION", ignoreCase: false, want: "\"CAUTION\"", @@ -41895,24 +45479,24 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1668, col: 5, offset: 54928}, + pos: position{line: 1688, col: 5, offset: 55430}, label: "firstLine", expr: &actionExpr{ - pos: position{line: 1716, col: 5, offset: 56453}, + pos: position{line: 1736, col: 5, offset: 56955}, run: (*parser).callonShortcutParagraph83, expr: &seqExpr{ - pos: position{line: 1716, col: 5, offset: 56453}, + pos: position{line: 1736, col: 5, offset: 56955}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1716, col: 5, offset: 56453}, + pos: position{line: 1736, col: 5, offset: 56955}, label: "content", expr: &actionExpr{ - pos: position{line: 1716, col: 14, offset: 56462}, + pos: position{line: 1736, col: 14, offset: 56964}, run: (*parser).callonShortcutParagraph86, expr: &oneOrMoreExpr{ - pos: position{line: 1716, col: 14, offset: 56462}, + pos: position{line: 1736, col: 14, offset: 56964}, expr: &charClassMatcher{ - pos: position{line: 1716, col: 14, offset: 56462}, + pos: position{line: 1736, col: 14, offset: 56964}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -41922,32 +45506,32 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1719, col: 5, offset: 56569}, + pos: position{line: 1739, col: 5, offset: 57071}, run: (*parser).callonShortcutParagraph89, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonShortcutParagraph91, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -41956,9 +45540,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -41968,53 +45552,53 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1669, col: 5, offset: 54962}, + pos: position{line: 1689, col: 5, offset: 55464}, run: (*parser).callonShortcutParagraph98, }, &labeledExpr{ - pos: position{line: 1676, col: 5, offset: 55324}, + pos: position{line: 1696, col: 5, offset: 55826}, label: "otherLines", expr: &zeroOrMoreExpr{ - pos: position{line: 1676, col: 16, offset: 55335}, + pos: position{line: 1696, col: 16, offset: 55837}, expr: &actionExpr{ - pos: position{line: 1677, col: 9, offset: 55345}, + pos: position{line: 1697, col: 9, offset: 55847}, run: (*parser).callonShortcutParagraph101, expr: &seqExpr{ - pos: position{line: 1677, col: 9, offset: 55345}, + pos: position{line: 1697, col: 9, offset: 55847}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 1677, col: 9, offset: 55345}, + pos: position{line: 1697, col: 9, offset: 55847}, expr: ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, ¬Expr{ - pos: position{line: 1678, col: 9, offset: 55359}, + pos: position{line: 1698, col: 9, offset: 55861}, expr: &actionExpr{ - pos: position{line: 685, col: 14, offset: 22145}, + pos: position{line: 683, col: 14, offset: 22008}, run: (*parser).callonShortcutParagraph107, expr: &seqExpr{ - pos: position{line: 685, col: 14, offset: 22145}, + pos: position{line: 683, col: 14, offset: 22008}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 685, col: 14, offset: 22145}, + pos: position{line: 683, col: 14, offset: 22008}, expr: ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, &zeroOrMoreExpr{ - pos: position{line: 685, col: 19, offset: 22150}, + pos: position{line: 683, col: 19, offset: 22013}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonShortcutParagraph113, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -42023,28 +45607,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonShortcutParagraph116, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -42053,9 +45637,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -42065,30 +45649,30 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 1679, col: 9, offset: 55378}, + pos: position{line: 1699, col: 9, offset: 55880}, expr: &ruleRefExpr{ - pos: position{line: 1679, col: 10, offset: 55379}, + pos: position{line: 1699, col: 10, offset: 55881}, name: "BlockAttributes", }, }, ¬Expr{ - pos: position{line: 1680, col: 9, offset: 55403}, + pos: position{line: 1700, col: 9, offset: 55905}, expr: &seqExpr{ - pos: position{line: 1444, col: 34, offset: 47455}, + pos: position{line: 1464, col: 34, offset: 47957}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1444, col: 34, offset: 47455}, + pos: position{line: 1464, col: 34, offset: 47957}, val: "+", ignoreCase: false, want: "\"+\"", }, &zeroOrMoreExpr{ - pos: position{line: 1444, col: 38, offset: 47459}, + pos: position{line: 1464, col: 38, offset: 47961}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonShortcutParagraph129, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -42097,25 +45681,25 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonShortcutParagraph131, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -42127,42 +45711,42 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1681, col: 9, offset: 55442}, + pos: position{line: 1701, col: 9, offset: 55944}, label: "line", expr: &choiceExpr{ - pos: position{line: 1681, col: 15, offset: 55448}, + pos: position{line: 1701, col: 15, offset: 55950}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2616, col: 22, offset: 87547}, + pos: position{line: 2760, col: 22, offset: 90461}, run: (*parser).callonShortcutParagraph138, expr: &seqExpr{ - pos: position{line: 2616, col: 22, offset: 87547}, + pos: position{line: 2760, col: 22, offset: 90461}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2621, col: 31, offset: 87768}, + pos: position{line: 2765, col: 31, offset: 90682}, val: "//", ignoreCase: false, want: "\"//\"", }, ¬Expr{ - pos: position{line: 2621, col: 36, offset: 87773}, + pos: position{line: 2765, col: 36, offset: 90687}, expr: &litMatcher{ - pos: position{line: 2621, col: 37, offset: 87774}, + pos: position{line: 2765, col: 37, offset: 90688}, val: "//", ignoreCase: false, want: "\"//\"", }, }, &labeledExpr{ - pos: position{line: 2616, col: 49, offset: 87574}, + pos: position{line: 2760, col: 49, offset: 90488}, label: "content", expr: &actionExpr{ - pos: position{line: 2623, col: 29, offset: 87809}, + pos: position{line: 2767, col: 29, offset: 90723}, run: (*parser).callonShortcutParagraph144, expr: &zeroOrMoreExpr{ - pos: position{line: 2623, col: 29, offset: 87809}, + pos: position{line: 2767, col: 29, offset: 90723}, expr: &charClassMatcher{ - pos: position{line: 2623, col: 29, offset: 87809}, + pos: position{line: 2767, col: 29, offset: 90723}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -42172,28 +45756,432 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonShortcutParagraph148, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3067, col: 13, offset: 99796}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3067, col: 20, offset: 99803}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3067, col: 29, offset: 99812}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3071, col: 8, offset: 99885}, + expr: &anyMatcher{ + line: 3071, col: 9, offset: 99886, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1736, col: 5, offset: 56955}, + run: (*parser).callonShortcutParagraph155, + expr: &seqExpr{ + pos: position{line: 1736, col: 5, offset: 56955}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1736, col: 5, offset: 56955}, + label: "content", + expr: &actionExpr{ + pos: position{line: 1736, col: 14, offset: 56964}, + run: (*parser).callonShortcutParagraph158, + expr: &oneOrMoreExpr{ + pos: position{line: 1736, col: 14, offset: 56964}, + expr: &charClassMatcher{ + pos: position{line: 1736, col: 14, offset: 56964}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 1739, col: 5, offset: 57071}, + run: (*parser).callonShortcutParagraph161, + }, + &choiceExpr{ + pos: position{line: 3074, col: 8, offset: 99935}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3067, col: 12, offset: 99795}, + run: (*parser).callonShortcutParagraph163, + expr: &choiceExpr{ + pos: position{line: 3067, col: 13, offset: 99796}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3067, col: 13, offset: 99796}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3067, col: 20, offset: 99803}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3067, col: 29, offset: 99812}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3071, col: 8, offset: 99885}, + expr: &anyMatcher{ + line: 3071, col: 9, offset: 99886, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + { + name: "Paragraph", + pos: position{line: 1708, col: 1, offset: 56147}, + expr: &actionExpr{ + pos: position{line: 1709, col: 5, offset: 56165}, + run: (*parser).callonParagraph1, + expr: &seqExpr{ + pos: position{line: 1709, col: 5, offset: 56165}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1709, col: 5, offset: 56165}, + label: "firstLine", + expr: &actionExpr{ + pos: position{line: 1736, col: 5, offset: 56955}, + run: (*parser).callonParagraph4, + expr: &seqExpr{ + pos: position{line: 1736, col: 5, offset: 56955}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1736, col: 5, offset: 56955}, + label: "content", + expr: &actionExpr{ + pos: position{line: 1736, col: 14, offset: 56964}, + run: (*parser).callonParagraph7, + expr: &oneOrMoreExpr{ + pos: position{line: 1736, col: 14, offset: 56964}, + expr: &charClassMatcher{ + pos: position{line: 1736, col: 14, offset: 56964}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 1739, col: 5, offset: 57071}, + run: (*parser).callonParagraph10, + }, + &choiceExpr{ + pos: position{line: 3074, col: 8, offset: 99935}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3067, col: 12, offset: 99795}, + run: (*parser).callonParagraph12, + expr: &choiceExpr{ + pos: position{line: 3067, col: 13, offset: 99796}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3067, col: 13, offset: 99796}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3067, col: 20, offset: 99803}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3067, col: 29, offset: 99812}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3071, col: 8, offset: 99885}, + expr: &anyMatcher{ + line: 3071, col: 9, offset: 99886, + }, + }, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1710, col: 5, offset: 56199}, + label: "otherLines", + expr: &zeroOrMoreExpr{ + pos: position{line: 1710, col: 16, offset: 56210}, + expr: &actionExpr{ + pos: position{line: 1711, col: 9, offset: 56220}, + run: (*parser).callonParagraph21, + expr: &seqExpr{ + pos: position{line: 1711, col: 9, offset: 56220}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 1711, col: 9, offset: 56220}, + expr: ¬Expr{ + pos: position{line: 3071, col: 8, offset: 99885}, + expr: &anyMatcher{ + line: 3071, col: 9, offset: 99886, + }, + }, + }, + ¬Expr{ + pos: position{line: 1712, col: 9, offset: 56233}, + expr: &actionExpr{ + pos: position{line: 683, col: 14, offset: 22008}, + run: (*parser).callonParagraph27, + expr: &seqExpr{ + pos: position{line: 683, col: 14, offset: 22008}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 683, col: 14, offset: 22008}, + expr: ¬Expr{ + pos: position{line: 3071, col: 8, offset: 99885}, + expr: &anyMatcher{ + line: 3071, col: 9, offset: 99886, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 683, col: 19, offset: 22013}, + expr: &actionExpr{ + pos: position{line: 3058, col: 10, offset: 99611}, + run: (*parser).callonParagraph33, + expr: &charClassMatcher{ + pos: position{line: 3058, col: 11, offset: 99612}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3074, col: 8, offset: 99935}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3067, col: 12, offset: 99795}, + run: (*parser).callonParagraph36, + expr: &choiceExpr{ + pos: position{line: 3067, col: 13, offset: 99796}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3067, col: 13, offset: 99796}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3067, col: 20, offset: 99803}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3067, col: 29, offset: 99812}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3071, col: 8, offset: 99885}, + expr: &anyMatcher{ + line: 3071, col: 9, offset: 99886, + }, + }, + }, + }, + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 1713, col: 9, offset: 56252}, + expr: &ruleRefExpr{ + pos: position{line: 1713, col: 10, offset: 56253}, + name: "BlockAttributes", + }, + }, + ¬Expr{ + pos: position{line: 1714, col: 9, offset: 56277}, + expr: &seqExpr{ + pos: position{line: 1464, col: 34, offset: 47957}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1464, col: 34, offset: 47957}, + val: "+", + ignoreCase: false, + want: "\"+\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 1464, col: 38, offset: 47961}, + expr: &actionExpr{ + pos: position{line: 3058, col: 10, offset: 99611}, + run: (*parser).callonParagraph49, + expr: &charClassMatcher{ + pos: position{line: 3058, col: 11, offset: 99612}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &actionExpr{ + pos: position{line: 3067, col: 12, offset: 99795}, + run: (*parser).callonParagraph51, + expr: &choiceExpr{ + pos: position{line: 3067, col: 13, offset: 99796}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3067, col: 13, offset: 99796}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3067, col: 20, offset: 99803}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3067, col: 29, offset: 99812}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1715, col: 9, offset: 56316}, + label: "line", + expr: &choiceExpr{ + pos: position{line: 1715, col: 15, offset: 56322}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2760, col: 22, offset: 90461}, + run: (*parser).callonParagraph58, + expr: &seqExpr{ + pos: position{line: 2760, col: 22, offset: 90461}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2765, col: 31, offset: 90682}, + val: "//", + ignoreCase: false, + want: "\"//\"", + }, + ¬Expr{ + pos: position{line: 2765, col: 36, offset: 90687}, + expr: &litMatcher{ + pos: position{line: 2765, col: 37, offset: 90688}, + val: "//", + ignoreCase: false, + want: "\"//\"", + }, + }, + &labeledExpr{ + pos: position{line: 2760, col: 49, offset: 90488}, + label: "content", + expr: &actionExpr{ + pos: position{line: 2767, col: 29, offset: 90723}, + run: (*parser).callonParagraph64, + expr: &zeroOrMoreExpr{ + pos: position{line: 2767, col: 29, offset: 90723}, + expr: &charClassMatcher{ + pos: position{line: 2767, col: 29, offset: 90723}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3074, col: 8, offset: 99935}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3067, col: 12, offset: 99795}, + run: (*parser).callonParagraph68, + expr: &choiceExpr{ + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -42202,9 +46190,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -42213,21 +46201,21 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1716, col: 5, offset: 56453}, - run: (*parser).callonShortcutParagraph155, + pos: position{line: 1736, col: 5, offset: 56955}, + run: (*parser).callonParagraph75, expr: &seqExpr{ - pos: position{line: 1716, col: 5, offset: 56453}, + pos: position{line: 1736, col: 5, offset: 56955}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1716, col: 5, offset: 56453}, + pos: position{line: 1736, col: 5, offset: 56955}, label: "content", expr: &actionExpr{ - pos: position{line: 1716, col: 14, offset: 56462}, - run: (*parser).callonShortcutParagraph158, + pos: position{line: 1736, col: 14, offset: 56964}, + run: (*parser).callonParagraph78, expr: &oneOrMoreExpr{ - pos: position{line: 1716, col: 14, offset: 56462}, + pos: position{line: 1736, col: 14, offset: 56964}, expr: &charClassMatcher{ - pos: position{line: 1716, col: 14, offset: 56462}, + pos: position{line: 1736, col: 14, offset: 56964}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -42237,32 +46225,32 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1719, col: 5, offset: 56569}, - run: (*parser).callonShortcutParagraph161, + pos: position{line: 1739, col: 5, offset: 57071}, + run: (*parser).callonParagraph81, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, - run: (*parser).callonShortcutParagraph163, + pos: position{line: 3067, col: 12, offset: 99795}, + run: (*parser).callonParagraph83, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -42271,9 +46259,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -42294,444 +46282,72 @@ var g = &grammar{ }, }, { - name: "Paragraph", - pos: position{line: 1688, col: 1, offset: 55645}, - expr: &actionExpr{ - pos: position{line: 1689, col: 5, offset: 55663}, - run: (*parser).callonParagraph1, - expr: &seqExpr{ - pos: position{line: 1689, col: 5, offset: 55663}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 1689, col: 5, offset: 55663}, - label: "firstLine", - expr: &actionExpr{ - pos: position{line: 1716, col: 5, offset: 56453}, - run: (*parser).callonParagraph4, - expr: &seqExpr{ - pos: position{line: 1716, col: 5, offset: 56453}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 1716, col: 5, offset: 56453}, - label: "content", - expr: &actionExpr{ - pos: position{line: 1716, col: 14, offset: 56462}, - run: (*parser).callonParagraph7, - expr: &oneOrMoreExpr{ - pos: position{line: 1716, col: 14, offset: 56462}, - expr: &charClassMatcher{ - pos: position{line: 1716, col: 14, offset: 56462}, - val: "[^\\r\\n]", - chars: []rune{'\r', '\n'}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - &andCodeExpr{ - pos: position{line: 1719, col: 5, offset: 56569}, - run: (*parser).callonParagraph10, - }, - &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, - run: (*parser).callonParagraph12, - expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, - expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, - }, - }, + name: "QuotedText", + pos: position{line: 1767, col: 1, offset: 58057}, + expr: &choiceExpr{ + pos: position{line: 1771, col: 5, offset: 58278}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 1771, col: 5, offset: 58278}, + run: (*parser).callonQuotedText2, + expr: &seqExpr{ + pos: position{line: 1771, col: 5, offset: 58278}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1771, col: 5, offset: 58278}, + label: "attributes", + expr: &zeroOrOneExpr{ + pos: position{line: 1771, col: 16, offset: 58289}, + expr: &actionExpr{ + pos: position{line: 1771, col: 17, offset: 58290}, + run: (*parser).callonQuotedText6, + expr: &ruleRefExpr{ + pos: position{line: 1771, col: 17, offset: 58290}, + name: "LongHandAttributes", }, }, }, }, - }, - }, - &labeledExpr{ - pos: position{line: 1690, col: 5, offset: 55697}, - label: "otherLines", - expr: &zeroOrMoreExpr{ - pos: position{line: 1690, col: 16, offset: 55708}, - expr: &actionExpr{ - pos: position{line: 1691, col: 9, offset: 55718}, - run: (*parser).callonParagraph21, - expr: &seqExpr{ - pos: position{line: 1691, col: 9, offset: 55718}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 1691, col: 9, offset: 55718}, - expr: ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, - expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, - }, - }, - }, - ¬Expr{ - pos: position{line: 1692, col: 9, offset: 55731}, - expr: &actionExpr{ - pos: position{line: 685, col: 14, offset: 22145}, - run: (*parser).callonParagraph27, - expr: &seqExpr{ - pos: position{line: 685, col: 14, offset: 22145}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 685, col: 14, offset: 22145}, - expr: ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, - expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, - }, - }, - }, - &zeroOrMoreExpr{ - pos: position{line: 685, col: 19, offset: 22150}, - expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, - run: (*parser).callonParagraph33, - expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, - run: (*parser).callonParagraph36, - expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, - expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, - }, - }, - }, - }, - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 1693, col: 9, offset: 55750}, - expr: &ruleRefExpr{ - pos: position{line: 1693, col: 10, offset: 55751}, - name: "BlockAttributes", - }, - }, - ¬Expr{ - pos: position{line: 1694, col: 9, offset: 55775}, - expr: &seqExpr{ - pos: position{line: 1444, col: 34, offset: 47455}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 1444, col: 34, offset: 47455}, - val: "+", - ignoreCase: false, - want: "\"+\"", - }, - &zeroOrMoreExpr{ - pos: position{line: 1444, col: 38, offset: 47459}, - expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, - run: (*parser).callonParagraph49, - expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, - run: (*parser).callonParagraph51, - expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 1695, col: 9, offset: 55814}, - label: "line", - expr: &choiceExpr{ - pos: position{line: 1695, col: 15, offset: 55820}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2616, col: 22, offset: 87547}, - run: (*parser).callonParagraph58, - expr: &seqExpr{ - pos: position{line: 2616, col: 22, offset: 87547}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 2621, col: 31, offset: 87768}, - val: "//", - ignoreCase: false, - want: "\"//\"", - }, - ¬Expr{ - pos: position{line: 2621, col: 36, offset: 87773}, - expr: &litMatcher{ - pos: position{line: 2621, col: 37, offset: 87774}, - val: "//", - ignoreCase: false, - want: "\"//\"", - }, - }, - &labeledExpr{ - pos: position{line: 2616, col: 49, offset: 87574}, - label: "content", - expr: &actionExpr{ - pos: position{line: 2623, col: 29, offset: 87809}, - run: (*parser).callonParagraph64, - expr: &zeroOrMoreExpr{ - pos: position{line: 2623, col: 29, offset: 87809}, - expr: &charClassMatcher{ - pos: position{line: 2623, col: 29, offset: 87809}, - val: "[^\\r\\n]", - chars: []rune{'\r', '\n'}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, - run: (*parser).callonParagraph68, - expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, - expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 1716, col: 5, offset: 56453}, - run: (*parser).callonParagraph75, - expr: &seqExpr{ - pos: position{line: 1716, col: 5, offset: 56453}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 1716, col: 5, offset: 56453}, - label: "content", - expr: &actionExpr{ - pos: position{line: 1716, col: 14, offset: 56462}, - run: (*parser).callonParagraph78, - expr: &oneOrMoreExpr{ - pos: position{line: 1716, col: 14, offset: 56462}, - expr: &charClassMatcher{ - pos: position{line: 1716, col: 14, offset: 56462}, - val: "[^\\r\\n]", - chars: []rune{'\r', '\n'}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - &andCodeExpr{ - pos: position{line: 1719, col: 5, offset: 56569}, - run: (*parser).callonParagraph81, - }, - &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, - run: (*parser).callonParagraph83, - expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, - expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, + &labeledExpr{ + pos: position{line: 1774, col: 5, offset: 58378}, + label: "text", + expr: &ruleRefExpr{ + pos: position{line: 1774, col: 10, offset: 58383}, + name: "EscapedQuotedText", }, }, }, }, }, - }, - }, - }, - { - name: "QuotedText", - pos: position{line: 1747, col: 1, offset: 57555}, - expr: &choiceExpr{ - pos: position{line: 1748, col: 5, offset: 57574}, - alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1749, col: 9, offset: 57584}, - run: (*parser).callonQuotedText2, + pos: position{line: 1780, col: 5, offset: 58567}, + run: (*parser).callonQuotedText10, expr: &seqExpr{ - pos: position{line: 1749, col: 9, offset: 57584}, + pos: position{line: 1780, col: 5, offset: 58567}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1749, col: 9, offset: 57584}, + pos: position{line: 1780, col: 5, offset: 58567}, label: "attributes", expr: &zeroOrOneExpr{ - pos: position{line: 1749, col: 20, offset: 57595}, + pos: position{line: 1780, col: 16, offset: 58578}, expr: &ruleRefExpr{ - pos: position{line: 1749, col: 21, offset: 57596}, + pos: position{line: 1780, col: 17, offset: 58579}, name: "LongHandAttributes", }, }, }, &labeledExpr{ - pos: position{line: 1750, col: 9, offset: 57722}, + pos: position{line: 1781, col: 5, offset: 58605}, label: "text", expr: &choiceExpr{ - pos: position{line: 1750, col: 15, offset: 57728}, + pos: position{line: 1781, col: 11, offset: 58611}, alternatives: []interface{}{ &ruleRefExpr{ - pos: position{line: 1750, col: 15, offset: 57728}, + pos: position{line: 1781, col: 11, offset: 58611}, name: "UnconstrainedQuotedText", }, &ruleRefExpr{ - pos: position{line: 1750, col: 41, offset: 57754}, + pos: position{line: 1781, col: 37, offset: 58637}, name: "ConstrainedQuotedText", }, }, @@ -42740,41 +46356,37 @@ var g = &grammar{ }, }, }, - &ruleRefExpr{ - pos: position{line: 1754, col: 7, offset: 57873}, - name: "EscapedQuotedText", - }, }, }, }, { name: "ConstrainedQuotedText", - pos: position{line: 1760, col: 1, offset: 58064}, + pos: position{line: 1790, col: 1, offset: 58913}, expr: &choiceExpr{ - pos: position{line: 1761, col: 5, offset: 58094}, + pos: position{line: 1791, col: 5, offset: 58943}, alternatives: []interface{}{ &ruleRefExpr{ - pos: position{line: 1761, col: 5, offset: 58094}, + pos: position{line: 1791, col: 5, offset: 58943}, name: "SingleQuoteBoldText", }, &ruleRefExpr{ - pos: position{line: 1762, col: 7, offset: 58121}, + pos: position{line: 1792, col: 7, offset: 58970}, name: "SingleQuoteItalicText", }, &ruleRefExpr{ - pos: position{line: 1763, col: 7, offset: 58149}, + pos: position{line: 1793, col: 7, offset: 58998}, name: "SingleQuoteMarkedText", }, &ruleRefExpr{ - pos: position{line: 1764, col: 7, offset: 58177}, + pos: position{line: 1794, col: 7, offset: 59026}, name: "SingleQuoteMonospaceText", }, &ruleRefExpr{ - pos: position{line: 1765, col: 7, offset: 58209}, + pos: position{line: 1795, col: 7, offset: 59058}, name: "SubscriptText", }, &ruleRefExpr{ - pos: position{line: 1766, col: 7, offset: 58230}, + pos: position{line: 1796, col: 7, offset: 59079}, name: "SuperscriptText", }, }, @@ -42782,24 +46394,24 @@ var g = &grammar{ }, { name: "UnconstrainedQuotedText", - pos: position{line: 1768, col: 1, offset: 58248}, + pos: position{line: 1798, col: 1, offset: 59097}, expr: &choiceExpr{ - pos: position{line: 1769, col: 5, offset: 58280}, + pos: position{line: 1799, col: 5, offset: 59129}, alternatives: []interface{}{ &ruleRefExpr{ - pos: position{line: 1769, col: 5, offset: 58280}, + pos: position{line: 1799, col: 5, offset: 59129}, name: "DoubleQuoteBoldText", }, &ruleRefExpr{ - pos: position{line: 1770, col: 7, offset: 58306}, + pos: position{line: 1800, col: 7, offset: 59155}, name: "DoubleQuoteItalicText", }, &ruleRefExpr{ - pos: position{line: 1771, col: 7, offset: 58334}, + pos: position{line: 1801, col: 7, offset: 59183}, name: "DoubleQuoteMarkedText", }, &ruleRefExpr{ - pos: position{line: 1772, col: 7, offset: 58362}, + pos: position{line: 1802, col: 7, offset: 59211}, name: "DoubleQuoteMonospaceText", }, }, @@ -42807,50 +46419,50 @@ var g = &grammar{ }, { name: "EscapedQuotedText", - pos: position{line: 1774, col: 1, offset: 58388}, + pos: position{line: 1804, col: 1, offset: 59237}, expr: &actionExpr{ - pos: position{line: 1775, col: 5, offset: 58469}, + pos: position{line: 1805, col: 5, offset: 59318}, run: (*parser).callonEscapedQuotedText1, expr: &seqExpr{ - pos: position{line: 1775, col: 5, offset: 58469}, + pos: position{line: 1805, col: 5, offset: 59318}, exprs: []interface{}{ &andExpr{ - pos: position{line: 1775, col: 5, offset: 58469}, + pos: position{line: 1805, col: 5, offset: 59318}, expr: &litMatcher{ - pos: position{line: 1775, col: 7, offset: 58471}, + pos: position{line: 1805, col: 7, offset: 59320}, val: "\\", ignoreCase: false, want: "\"\\\\\"", }, }, &labeledExpr{ - pos: position{line: 1776, col: 5, offset: 58480}, + pos: position{line: 1806, col: 5, offset: 59329}, label: "element", expr: &choiceExpr{ - pos: position{line: 1777, col: 9, offset: 58498}, + pos: position{line: 1807, col: 9, offset: 59347}, alternatives: []interface{}{ &ruleRefExpr{ - pos: position{line: 1777, col: 9, offset: 58498}, + pos: position{line: 1807, col: 9, offset: 59347}, name: "EscapedBoldText", }, &ruleRefExpr{ - pos: position{line: 1778, col: 11, offset: 58525}, + pos: position{line: 1808, col: 11, offset: 59374}, name: "EscapedItalicText", }, &ruleRefExpr{ - pos: position{line: 1779, col: 11, offset: 58553}, + pos: position{line: 1809, col: 11, offset: 59402}, name: "EscapedMarkedText", }, &ruleRefExpr{ - pos: position{line: 1780, col: 11, offset: 58581}, + pos: position{line: 1810, col: 11, offset: 59430}, name: "EscapedMonospaceText", }, &ruleRefExpr{ - pos: position{line: 1781, col: 11, offset: 58613}, + pos: position{line: 1811, col: 11, offset: 59461}, name: "EscapedSubscriptText", }, &ruleRefExpr{ - pos: position{line: 1782, col: 11, offset: 58645}, + pos: position{line: 1812, col: 11, offset: 59492}, name: "EscapedSuperscriptText", }, }, @@ -42862,16 +46474,16 @@ var g = &grammar{ }, { name: "BoldText", - pos: position{line: 1802, col: 1, offset: 59172}, + pos: position{line: 1832, col: 1, offset: 60019}, expr: &choiceExpr{ - pos: position{line: 1802, col: 13, offset: 59184}, + pos: position{line: 1832, col: 13, offset: 60031}, alternatives: []interface{}{ &ruleRefExpr{ - pos: position{line: 1802, col: 13, offset: 59184}, + pos: position{line: 1832, col: 13, offset: 60031}, name: "DoubleQuoteBoldText", }, &ruleRefExpr{ - pos: position{line: 1802, col: 35, offset: 59206}, + pos: position{line: 1832, col: 35, offset: 60053}, name: "SingleQuoteBoldText", }, }, @@ -42879,29 +46491,29 @@ var g = &grammar{ }, { name: "DoubleQuoteBoldText", - pos: position{line: 1816, col: 1, offset: 59568}, + pos: position{line: 1846, col: 1, offset: 60415}, expr: &actionExpr{ - pos: position{line: 1817, col: 5, offset: 59596}, + pos: position{line: 1847, col: 5, offset: 60443}, run: (*parser).callonDoubleQuoteBoldText1, expr: &seqExpr{ - pos: position{line: 1817, col: 5, offset: 59596}, + pos: position{line: 1847, col: 5, offset: 60443}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1814, col: 33, offset: 59562}, + pos: position{line: 1844, col: 33, offset: 60409}, val: "**", ignoreCase: false, want: "\"**\"", }, &labeledExpr{ - pos: position{line: 1818, col: 5, offset: 59630}, + pos: position{line: 1848, col: 5, offset: 60477}, label: "elements", expr: &ruleRefExpr{ - pos: position{line: 1818, col: 15, offset: 59640}, + pos: position{line: 1848, col: 15, offset: 60487}, name: "DoubleQuoteBoldTextElements", }, }, &litMatcher{ - pos: position{line: 1814, col: 33, offset: 59562}, + pos: position{line: 1844, col: 33, offset: 60409}, val: "**", ignoreCase: false, want: "\"**\"", @@ -42912,49 +46524,49 @@ var g = &grammar{ }, { name: "DoubleQuoteBoldTextElements", - pos: position{line: 1823, col: 1, offset: 59797}, + pos: position{line: 1853, col: 1, offset: 60644}, expr: &oneOrMoreExpr{ - pos: position{line: 1823, col: 32, offset: 59828}, + pos: position{line: 1853, col: 32, offset: 60675}, expr: &ruleRefExpr{ - pos: position{line: 1823, col: 32, offset: 59828}, + pos: position{line: 1853, col: 32, offset: 60675}, name: "DoubleQuoteBoldTextElement", }, }, }, { name: "DoubleQuoteBoldTextElement", - pos: position{line: 1825, col: 1, offset: 59859}, + pos: position{line: 1855, col: 1, offset: 60706}, expr: &actionExpr{ - pos: position{line: 1826, col: 5, offset: 59894}, + pos: position{line: 1856, col: 5, offset: 60741}, run: (*parser).callonDoubleQuoteBoldTextElement1, expr: &seqExpr{ - pos: position{line: 1826, col: 5, offset: 59894}, + pos: position{line: 1856, col: 5, offset: 60741}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 1826, col: 5, offset: 59894}, + pos: position{line: 1856, col: 5, offset: 60741}, expr: &litMatcher{ - pos: position{line: 1814, col: 33, offset: 59562}, + pos: position{line: 1844, col: 33, offset: 60409}, val: "**", ignoreCase: false, want: "\"**\"", }, }, &labeledExpr{ - pos: position{line: 1827, col: 5, offset: 59928}, + pos: position{line: 1857, col: 5, offset: 60775}, label: "element", expr: &choiceExpr{ - pos: position{line: 1828, col: 9, offset: 59946}, + pos: position{line: 1858, col: 9, offset: 60793}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1807, col: 5, offset: 59320}, + pos: position{line: 1837, col: 5, offset: 60167}, run: (*parser).callonDoubleQuoteBoldTextElement7, expr: &seqExpr{ - pos: position{line: 1807, col: 5, offset: 59320}, + pos: position{line: 1837, col: 5, offset: 60167}, exprs: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 1807, col: 5, offset: 59320}, + pos: position{line: 1837, col: 5, offset: 60167}, expr: &charClassMatcher{ - pos: position{line: 1807, col: 5, offset: 59320}, + pos: position{line: 1837, col: 5, offset: 60167}, val: "[,?!;0-9\\pL]", chars: []rune{',', '?', '!', ';'}, ranges: []rune{'0', '9'}, @@ -42964,15 +46576,15 @@ var g = &grammar{ }, }, &andExpr{ - pos: position{line: 1807, col: 19, offset: 59334}, + pos: position{line: 1837, col: 19, offset: 60181}, expr: &choiceExpr{ - pos: position{line: 1807, col: 21, offset: 59336}, + pos: position{line: 1837, col: 21, offset: 60183}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonDoubleQuoteBoldTextElement13, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -42980,7 +46592,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1804, col: 22, offset: 59294}, + pos: position{line: 1834, col: 22, offset: 60141}, val: "*", ignoreCase: false, want: "\"*\"", @@ -42992,12 +46604,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2903, col: 11, offset: 96254}, + pos: position{line: 3062, col: 11, offset: 99678}, run: (*parser).callonDoubleQuoteBoldTextElement16, expr: &oneOrMoreExpr{ - pos: position{line: 2903, col: 11, offset: 96254}, + pos: position{line: 3062, col: 11, offset: 99678}, expr: &charClassMatcher{ - pos: position{line: 2903, col: 12, offset: 96255}, + pos: position{line: 3062, col: 12, offset: 99679}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -43006,28 +46618,28 @@ var g = &grammar{ }, }, &seqExpr{ - pos: position{line: 1830, col: 11, offset: 60019}, + pos: position{line: 1860, col: 11, offset: 60866}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonDoubleQuoteBoldTextElement20, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -43036,27 +46648,27 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 1830, col: 19, offset: 60027}, + pos: position{line: 1860, col: 19, offset: 60874}, expr: &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonDoubleQuoteBoldTextElement26, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -43068,44 +46680,44 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 651, col: 5, offset: 21000}, + pos: position{line: 641, col: 5, offset: 20579}, run: (*parser).callonDoubleQuoteBoldTextElement31, expr: &seqExpr{ - pos: position{line: 651, col: 5, offset: 21000}, + pos: position{line: 641, col: 5, offset: 20579}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 651, col: 5, offset: 21000}, + pos: position{line: 641, col: 5, offset: 20579}, run: (*parser).callonDoubleQuoteBoldTextElement33, }, &labeledExpr{ - pos: position{line: 654, col: 5, offset: 21069}, + pos: position{line: 644, col: 5, offset: 20648}, label: "element", expr: &choiceExpr{ - pos: position{line: 654, col: 14, offset: 21078}, + pos: position{line: 644, col: 14, offset: 20657}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 666, col: 25, offset: 21447}, + pos: position{line: 664, col: 25, offset: 21310}, run: (*parser).callonDoubleQuoteBoldTextElement36, expr: &seqExpr{ - pos: position{line: 666, col: 25, offset: 21447}, + pos: position{line: 664, col: 25, offset: 21310}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 666, col: 25, offset: 21447}, + pos: position{line: 664, col: 25, offset: 21310}, val: "{counter:", ignoreCase: false, want: "\"{counter:\"", }, &labeledExpr{ - pos: position{line: 666, col: 37, offset: 21459}, + pos: position{line: 664, col: 37, offset: 21322}, label: "name", expr: &actionExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, run: (*parser).callonDoubleQuoteBoldTextElement40, expr: &seqExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -43114,9 +46726,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 332, col: 28, offset: 10403}, + pos: position{line: 324, col: 28, offset: 10064}, expr: &charClassMatcher{ - pos: position{line: 332, col: 29, offset: 10404}, + pos: position{line: 324, col: 29, offset: 10065}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -43130,33 +46742,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 666, col: 56, offset: 21478}, + pos: position{line: 664, col: 56, offset: 21341}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 666, col: 62, offset: 21484}, + pos: position{line: 664, col: 62, offset: 21347}, expr: &actionExpr{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, run: (*parser).callonDoubleQuoteBoldTextElement47, expr: &seqExpr{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 674, col: 21, offset: 21783}, + pos: position{line: 672, col: 21, offset: 21646}, label: "start", expr: &choiceExpr{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, run: (*parser).callonDoubleQuoteBoldTextElement52, expr: &charClassMatcher{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -43164,12 +46776,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, run: (*parser).callonDoubleQuoteBoldTextElement54, expr: &oneOrMoreExpr{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, expr: &charClassMatcher{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -43186,7 +46798,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 666, col: 78, offset: 21500}, + pos: position{line: 664, col: 78, offset: 21363}, val: "}", ignoreCase: false, want: "\"}\"", @@ -43195,28 +46807,28 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 670, col: 25, offset: 21618}, + pos: position{line: 668, col: 25, offset: 21481}, run: (*parser).callonDoubleQuoteBoldTextElement58, expr: &seqExpr{ - pos: position{line: 670, col: 25, offset: 21618}, + pos: position{line: 668, col: 25, offset: 21481}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 670, col: 25, offset: 21618}, + pos: position{line: 668, col: 25, offset: 21481}, val: "{counter2:", ignoreCase: false, want: "\"{counter2:\"", }, &labeledExpr{ - pos: position{line: 670, col: 38, offset: 21631}, + pos: position{line: 668, col: 38, offset: 21494}, label: "name", expr: &actionExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, run: (*parser).callonDoubleQuoteBoldTextElement62, expr: &seqExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -43225,9 +46837,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 332, col: 28, offset: 10403}, + pos: position{line: 324, col: 28, offset: 10064}, expr: &charClassMatcher{ - pos: position{line: 332, col: 29, offset: 10404}, + pos: position{line: 324, col: 29, offset: 10065}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -43241,33 +46853,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 670, col: 57, offset: 21650}, + pos: position{line: 668, col: 57, offset: 21513}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 670, col: 63, offset: 21656}, + pos: position{line: 668, col: 63, offset: 21519}, expr: &actionExpr{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, run: (*parser).callonDoubleQuoteBoldTextElement69, expr: &seqExpr{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 674, col: 21, offset: 21783}, + pos: position{line: 672, col: 21, offset: 21646}, label: "start", expr: &choiceExpr{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, run: (*parser).callonDoubleQuoteBoldTextElement74, expr: &charClassMatcher{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -43275,12 +46887,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, run: (*parser).callonDoubleQuoteBoldTextElement76, expr: &oneOrMoreExpr{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, expr: &charClassMatcher{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -43297,7 +46909,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 670, col: 79, offset: 21672}, + pos: position{line: 668, col: 79, offset: 21535}, val: "}", ignoreCase: false, want: "\"}\"", @@ -43306,28 +46918,83 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 659, col: 5, offset: 21191}, + pos: position{line: 650, col: 5, offset: 20786}, run: (*parser).callonDoubleQuoteBoldTextElement80, expr: &seqExpr{ - pos: position{line: 659, col: 5, offset: 21191}, + pos: position{line: 650, col: 5, offset: 20786}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 650, col: 5, offset: 20786}, + val: "\\{", + ignoreCase: false, + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 650, col: 13, offset: 20794}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + run: (*parser).callonDoubleQuoteBoldTextElement84, + expr: &seqExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 324, col: 18, offset: 10054}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 324, col: 28, offset: 10064}, + expr: &charClassMatcher{ + pos: position{line: 324, col: 29, offset: 10065}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 650, col: 32, offset: 20813}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 657, col: 5, offset: 21054}, + run: (*parser).callonDoubleQuoteBoldTextElement90, + expr: &seqExpr{ + pos: position{line: 657, col: 5, offset: 21054}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 659, col: 5, offset: 21191}, + pos: position{line: 657, col: 5, offset: 21054}, val: "{", ignoreCase: false, want: "\"{\"", }, &labeledExpr{ - pos: position{line: 659, col: 9, offset: 21195}, + pos: position{line: 657, col: 9, offset: 21058}, label: "name", expr: &actionExpr{ - pos: position{line: 332, col: 18, offset: 10393}, - run: (*parser).callonDoubleQuoteBoldTextElement84, + pos: position{line: 324, col: 18, offset: 10054}, + run: (*parser).callonDoubleQuoteBoldTextElement94, expr: &seqExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -43336,9 +47003,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 332, col: 28, offset: 10403}, + pos: position{line: 324, col: 28, offset: 10064}, expr: &charClassMatcher{ - pos: position{line: 332, col: 29, offset: 10404}, + pos: position{line: 324, col: 29, offset: 10065}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -43352,7 +47019,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 659, col: 28, offset: 21214}, + pos: position{line: 657, col: 28, offset: 21077}, val: "}", ignoreCase: false, want: "\"}\"", @@ -43367,53 +47034,53 @@ var g = &grammar{ }, }, &ruleRefExpr{ - pos: position{line: 1832, col: 11, offset: 60109}, + pos: position{line: 1862, col: 11, offset: 60956}, name: "InlineMacro", }, &actionExpr{ - pos: position{line: 2599, col: 5, offset: 86909}, - run: (*parser).callonDoubleQuoteBoldTextElement91, + pos: position{line: 2743, col: 5, offset: 89823}, + run: (*parser).callonDoubleQuoteBoldTextElement101, expr: &seqExpr{ - pos: position{line: 2599, col: 5, offset: 86909}, + pos: position{line: 2743, col: 5, offset: 89823}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 2599, col: 5, offset: 86909}, - run: (*parser).callonDoubleQuoteBoldTextElement93, + pos: position{line: 2743, col: 5, offset: 89823}, + run: (*parser).callonDoubleQuoteBoldTextElement103, }, &labeledExpr{ - pos: position{line: 2602, col: 5, offset: 86985}, + pos: position{line: 2746, col: 5, offset: 89899}, label: "element", expr: &choiceExpr{ - pos: position{line: 2604, col: 9, offset: 87083}, + pos: position{line: 2748, col: 9, offset: 89997}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2604, col: 9, offset: 87083}, - run: (*parser).callonDoubleQuoteBoldTextElement96, + pos: position{line: 2748, col: 9, offset: 89997}, + run: (*parser).callonDoubleQuoteBoldTextElement106, expr: &choiceExpr{ - pos: position{line: 694, col: 27, offset: 22498}, + pos: position{line: 692, col: 27, offset: 22361}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 694, col: 27, offset: 22498}, - run: (*parser).callonDoubleQuoteBoldTextElement98, + pos: position{line: 692, col: 27, offset: 22361}, + run: (*parser).callonDoubleQuoteBoldTextElement108, expr: &seqExpr{ - pos: position{line: 694, col: 27, offset: 22498}, + pos: position{line: 692, col: 27, offset: 22361}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 694, col: 27, offset: 22498}, + pos: position{line: 692, col: 27, offset: 22361}, val: "<<", ignoreCase: false, want: "\"<<\"", }, &labeledExpr{ - pos: position{line: 694, col: 32, offset: 22503}, + pos: position{line: 692, col: 32, offset: 22366}, label: "id", expr: &actionExpr{ - pos: position{line: 2884, col: 7, offset: 95839}, - run: (*parser).callonDoubleQuoteBoldTextElement102, + pos: position{line: 3043, col: 7, offset: 99263}, + run: (*parser).callonDoubleQuoteBoldTextElement112, expr: &oneOrMoreExpr{ - pos: position{line: 2884, col: 7, offset: 95839}, + pos: position{line: 3043, col: 7, offset: 99263}, expr: &charClassMatcher{ - pos: position{line: 2884, col: 7, offset: 95839}, + pos: position{line: 3043, col: 7, offset: 99263}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -43423,12 +47090,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 694, col: 40, offset: 22511}, + pos: position{line: 692, col: 40, offset: 22374}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, - run: (*parser).callonDoubleQuoteBoldTextElement106, + pos: position{line: 3058, col: 10, offset: 99611}, + run: (*parser).callonDoubleQuoteBoldTextElement116, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -43437,27 +47104,27 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 694, col: 47, offset: 22518}, + pos: position{line: 692, col: 47, offset: 22381}, val: ",", ignoreCase: false, want: "\",\"", }, &labeledExpr{ - pos: position{line: 694, col: 51, offset: 22522}, + pos: position{line: 692, col: 51, offset: 22385}, label: "label", expr: &oneOrMoreExpr{ - pos: position{line: 704, col: 24, offset: 22923}, + pos: position{line: 702, col: 24, offset: 22786}, expr: &choiceExpr{ - pos: position{line: 705, col: 5, offset: 22929}, + pos: position{line: 703, col: 5, offset: 22792}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 705, col: 6, offset: 22930}, - run: (*parser).callonDoubleQuoteBoldTextElement112, + pos: position{line: 703, col: 6, offset: 22793}, + run: (*parser).callonDoubleQuoteBoldTextElement122, expr: &seqExpr{ - pos: position{line: 705, col: 6, offset: 22930}, + pos: position{line: 703, col: 6, offset: 22793}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 705, col: 6, offset: 22930}, + pos: position{line: 703, col: 6, offset: 22793}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -43465,9 +47132,9 @@ var g = &grammar{ inverted: false, }, &oneOrMoreExpr{ - pos: position{line: 705, col: 14, offset: 22938}, + pos: position{line: 703, col: 14, offset: 22801}, expr: &charClassMatcher{ - pos: position{line: 705, col: 14, offset: 22938}, + pos: position{line: 703, col: 14, offset: 22801}, val: "[^\\r\\n{<>]", chars: []rune{'\r', '\n', '{', '<', '>'}, ignoreCase: false, @@ -43478,28 +47145,83 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 659, col: 5, offset: 21191}, - run: (*parser).callonDoubleQuoteBoldTextElement117, + pos: position{line: 650, col: 5, offset: 20786}, + run: (*parser).callonDoubleQuoteBoldTextElement127, expr: &seqExpr{ - pos: position{line: 659, col: 5, offset: 21191}, + pos: position{line: 650, col: 5, offset: 20786}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 659, col: 5, offset: 21191}, + pos: position{line: 650, col: 5, offset: 20786}, + val: "\\{", + ignoreCase: false, + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 650, col: 13, offset: 20794}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + run: (*parser).callonDoubleQuoteBoldTextElement131, + expr: &seqExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 324, col: 18, offset: 10054}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 324, col: 28, offset: 10064}, + expr: &charClassMatcher{ + pos: position{line: 324, col: 29, offset: 10065}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 650, col: 32, offset: 20813}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 657, col: 5, offset: 21054}, + run: (*parser).callonDoubleQuoteBoldTextElement137, + expr: &seqExpr{ + pos: position{line: 657, col: 5, offset: 21054}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 657, col: 5, offset: 21054}, val: "{", ignoreCase: false, want: "\"{\"", }, &labeledExpr{ - pos: position{line: 659, col: 9, offset: 21195}, + pos: position{line: 657, col: 9, offset: 21058}, label: "name", expr: &actionExpr{ - pos: position{line: 332, col: 18, offset: 10393}, - run: (*parser).callonDoubleQuoteBoldTextElement121, + pos: position{line: 324, col: 18, offset: 10054}, + run: (*parser).callonDoubleQuoteBoldTextElement141, expr: &seqExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -43508,9 +47230,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 332, col: 28, offset: 10403}, + pos: position{line: 324, col: 28, offset: 10064}, expr: &charClassMatcher{ - pos: position{line: 332, col: 29, offset: 10404}, + pos: position{line: 324, col: 29, offset: 10065}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -43524,7 +47246,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 659, col: 28, offset: 21214}, + pos: position{line: 657, col: 28, offset: 21077}, val: "}", ignoreCase: false, want: "\"}\"", @@ -43533,10 +47255,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 709, col: 8, offset: 23164}, - run: (*parser).callonDoubleQuoteBoldTextElement127, + pos: position{line: 707, col: 8, offset: 23027}, + run: (*parser).callonDoubleQuoteBoldTextElement147, expr: &litMatcher{ - pos: position{line: 709, col: 8, offset: 23164}, + pos: position{line: 707, col: 8, offset: 23027}, val: "{", ignoreCase: false, want: "\"{\"", @@ -43547,7 +47269,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 694, col: 79, offset: 22550}, + pos: position{line: 692, col: 79, offset: 22413}, val: ">>", ignoreCase: false, want: "\">>\"", @@ -43556,27 +47278,27 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 696, col: 9, offset: 22623}, - run: (*parser).callonDoubleQuoteBoldTextElement130, + pos: position{line: 694, col: 9, offset: 22486}, + run: (*parser).callonDoubleQuoteBoldTextElement150, expr: &seqExpr{ - pos: position{line: 696, col: 9, offset: 22623}, + pos: position{line: 694, col: 9, offset: 22486}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 696, col: 9, offset: 22623}, + pos: position{line: 694, col: 9, offset: 22486}, val: "<<", ignoreCase: false, want: "\"<<\"", }, &labeledExpr{ - pos: position{line: 696, col: 14, offset: 22628}, + pos: position{line: 694, col: 14, offset: 22491}, label: "id", expr: &actionExpr{ - pos: position{line: 2884, col: 7, offset: 95839}, - run: (*parser).callonDoubleQuoteBoldTextElement134, + pos: position{line: 3043, col: 7, offset: 99263}, + run: (*parser).callonDoubleQuoteBoldTextElement154, expr: &oneOrMoreExpr{ - pos: position{line: 2884, col: 7, offset: 95839}, + pos: position{line: 3043, col: 7, offset: 99263}, expr: &charClassMatcher{ - pos: position{line: 2884, col: 7, offset: 95839}, + pos: position{line: 3043, col: 7, offset: 99263}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -43586,7 +47308,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 696, col: 22, offset: 22636}, + pos: position{line: 694, col: 22, offset: 22499}, val: ">>", ignoreCase: false, want: "\">>\"", @@ -43598,10 +47320,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2607, col: 11, offset: 87187}, - run: (*parser).callonDoubleQuoteBoldTextElement138, + pos: position{line: 2751, col: 11, offset: 90101}, + run: (*parser).callonDoubleQuoteBoldTextElement158, expr: &charClassMatcher{ - pos: position{line: 2607, col: 12, offset: 87188}, + pos: position{line: 2751, col: 12, offset: 90102}, val: "[<>&]", chars: []rune{'<', '>', '&'}, ignoreCase: false, @@ -43615,63 +47337,166 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2632, col: 15, offset: 88155}, - run: (*parser).callonDoubleQuoteBoldTextElement140, + pos: position{line: 2776, col: 5, offset: 90995}, + run: (*parser).callonDoubleQuoteBoldTextElement160, + expr: &seqExpr{ + pos: position{line: 2776, col: 5, offset: 90995}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2776, col: 5, offset: 90995}, + val: "\\", + ignoreCase: false, + want: "\"\\\\\"", + }, + &choiceExpr{ + pos: position{line: 2776, col: 10, offset: 91000}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2784, col: 15, offset: 91276}, + run: (*parser).callonDoubleQuoteBoldTextElement164, + expr: &litMatcher{ + pos: position{line: 2784, col: 15, offset: 91276}, + val: "`'", + ignoreCase: false, + want: "\"`'\"", + }, + }, + &actionExpr{ + pos: position{line: 2790, col: 14, offset: 91391}, + run: (*parser).callonDoubleQuoteBoldTextElement166, + expr: &litMatcher{ + pos: position{line: 2790, col: 14, offset: 91391}, + val: "(C)", + ignoreCase: false, + want: "\"(C)\"", + }, + }, + &actionExpr{ + pos: position{line: 2794, col: 14, offset: 91467}, + run: (*parser).callonDoubleQuoteBoldTextElement168, + expr: &litMatcher{ + pos: position{line: 2794, col: 14, offset: 91467}, + val: "(TM)", + ignoreCase: false, + want: "\"(TM)\"", + }, + }, + &actionExpr{ + pos: position{line: 2798, col: 15, offset: 91545}, + run: (*parser).callonDoubleQuoteBoldTextElement170, + expr: &litMatcher{ + pos: position{line: 2798, col: 15, offset: 91545}, + val: "(R)", + ignoreCase: false, + want: "\"(R)\"", + }, + }, + &actionExpr{ + pos: position{line: 2802, col: 13, offset: 91620}, + run: (*parser).callonDoubleQuoteBoldTextElement172, + expr: &litMatcher{ + pos: position{line: 2802, col: 13, offset: 91620}, + val: "...", + ignoreCase: false, + want: "\"...\"", + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2784, col: 15, offset: 91276}, + run: (*parser).callonDoubleQuoteBoldTextElement174, expr: &litMatcher{ - pos: position{line: 2632, col: 15, offset: 88155}, + pos: position{line: 2784, col: 15, offset: 91276}, val: "`'", ignoreCase: false, want: "\"`'\"", }, }, &actionExpr{ - pos: position{line: 2638, col: 14, offset: 88270}, - run: (*parser).callonDoubleQuoteBoldTextElement142, + pos: position{line: 2790, col: 14, offset: 91391}, + run: (*parser).callonDoubleQuoteBoldTextElement176, expr: &litMatcher{ - pos: position{line: 2638, col: 14, offset: 88270}, + pos: position{line: 2790, col: 14, offset: 91391}, val: "(C)", ignoreCase: false, want: "\"(C)\"", }, }, &actionExpr{ - pos: position{line: 2642, col: 14, offset: 88346}, - run: (*parser).callonDoubleQuoteBoldTextElement144, + pos: position{line: 2794, col: 14, offset: 91467}, + run: (*parser).callonDoubleQuoteBoldTextElement178, expr: &litMatcher{ - pos: position{line: 2642, col: 14, offset: 88346}, + pos: position{line: 2794, col: 14, offset: 91467}, val: "(TM)", ignoreCase: false, want: "\"(TM)\"", }, }, &actionExpr{ - pos: position{line: 2646, col: 15, offset: 88424}, - run: (*parser).callonDoubleQuoteBoldTextElement146, + pos: position{line: 2798, col: 15, offset: 91545}, + run: (*parser).callonDoubleQuoteBoldTextElement180, expr: &litMatcher{ - pos: position{line: 2646, col: 15, offset: 88424}, + pos: position{line: 2798, col: 15, offset: 91545}, val: "(R)", ignoreCase: false, want: "\"(R)\"", }, }, &actionExpr{ - pos: position{line: 2650, col: 13, offset: 88499}, - run: (*parser).callonDoubleQuoteBoldTextElement148, + pos: position{line: 2802, col: 13, offset: 91620}, + run: (*parser).callonDoubleQuoteBoldTextElement182, expr: &litMatcher{ - pos: position{line: 2650, col: 13, offset: 88499}, + pos: position{line: 2802, col: 13, offset: 91620}, val: "...", ignoreCase: false, want: "\"...\"", }, }, &actionExpr{ - pos: position{line: 2658, col: 22, offset: 88805}, - run: (*parser).callonDoubleQuoteBoldTextElement150, + pos: position{line: 2811, col: 5, offset: 91944}, + run: (*parser).callonDoubleQuoteBoldTextElement184, + expr: &seqExpr{ + pos: position{line: 2811, col: 5, offset: 91944}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 2972, col: 13, offset: 96927}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &litMatcher{ + pos: position{line: 2811, col: 14, offset: 91953}, + val: "\\'", + ignoreCase: false, + want: "\"\\\\'\"", + }, + &andExpr{ + pos: position{line: 2811, col: 19, offset: 91958}, + expr: &charClassMatcher{ + pos: position{line: 2811, col: 20, offset: 91959}, + val: "[\\pL]", + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2817, col: 5, offset: 92190}, + run: (*parser).callonDoubleQuoteBoldTextElement190, expr: &seqExpr{ - pos: position{line: 2658, col: 22, offset: 88805}, + pos: position{line: 2817, col: 5, offset: 92190}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 2813, col: 13, offset: 93503}, + pos: position{line: 2972, col: 13, offset: 96927}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -43679,15 +47504,15 @@ var g = &grammar{ inverted: false, }, &litMatcher{ - pos: position{line: 2658, col: 31, offset: 88814}, + pos: position{line: 2817, col: 14, offset: 92199}, val: "'", ignoreCase: false, want: "\"'\"", }, &andExpr{ - pos: position{line: 2658, col: 35, offset: 88818}, + pos: position{line: 2817, col: 18, offset: 92203}, expr: &charClassMatcher{ - pos: position{line: 2658, col: 36, offset: 88819}, + pos: position{line: 2817, col: 19, offset: 92204}, val: "[\\pL]", classes: []*unicode.RangeTable{rangeTable("L")}, ignoreCase: false, @@ -43698,35 +47523,35 @@ var g = &grammar{ }, }, &ruleRefExpr{ - pos: position{line: 1835, col: 11, offset: 60225}, + pos: position{line: 1865, col: 11, offset: 61072}, name: "QuotedString", }, &ruleRefExpr{ - pos: position{line: 1836, col: 11, offset: 60248}, + pos: position{line: 1866, col: 11, offset: 61095}, name: "QuotedTextInDoubleQuoteBoldText", }, &actionExpr{ - pos: position{line: 1122, col: 23, offset: 34991}, - run: (*parser).callonDoubleQuoteBoldTextElement158, + pos: position{line: 1120, col: 23, offset: 34854}, + run: (*parser).callonDoubleQuoteBoldTextElement198, expr: &seqExpr{ - pos: position{line: 1122, col: 23, offset: 34991}, + pos: position{line: 1120, col: 23, offset: 34854}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1120, col: 32, offset: 34959}, + pos: position{line: 1118, col: 32, offset: 34822}, val: "�", ignoreCase: false, want: "\"�\"", }, &labeledExpr{ - pos: position{line: 1122, col: 51, offset: 35019}, + pos: position{line: 1120, col: 51, offset: 34882}, label: "ref", expr: &actionExpr{ - pos: position{line: 1122, col: 56, offset: 35024}, - run: (*parser).callonDoubleQuoteBoldTextElement162, + pos: position{line: 1120, col: 56, offset: 34887}, + run: (*parser).callonDoubleQuoteBoldTextElement202, expr: &oneOrMoreExpr{ - pos: position{line: 1122, col: 56, offset: 35024}, + pos: position{line: 1120, col: 56, offset: 34887}, expr: &charClassMatcher{ - pos: position{line: 1122, col: 56, offset: 35024}, + pos: position{line: 1120, col: 56, offset: 34887}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -43736,7 +47561,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1120, col: 32, offset: 34959}, + pos: position{line: 1118, col: 32, offset: 34822}, val: "�", ignoreCase: false, want: "\"�\"", @@ -43745,31 +47570,31 @@ var g = &grammar{ }, }, &charClassMatcher{ - pos: position{line: 1855, col: 5, offset: 60760}, + pos: position{line: 1885, col: 5, offset: 61607}, val: "[^\\r\\n*]", chars: []rune{'\r', '\n', '*'}, ignoreCase: false, inverted: true, }, &actionExpr{ - pos: position{line: 1856, col: 7, offset: 60857}, - run: (*parser).callonDoubleQuoteBoldTextElement167, + pos: position{line: 1886, col: 7, offset: 61704}, + run: (*parser).callonDoubleQuoteBoldTextElement207, expr: &seqExpr{ - pos: position{line: 1856, col: 7, offset: 60857}, + pos: position{line: 1886, col: 7, offset: 61704}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1814, col: 33, offset: 59562}, + pos: position{line: 1844, col: 33, offset: 60409}, val: "**", ignoreCase: false, want: "\"**\"", }, &actionExpr{ - pos: position{line: 2817, col: 14, offset: 93577}, - run: (*parser).callonDoubleQuoteBoldTextElement170, + pos: position{line: 2976, col: 14, offset: 97001}, + run: (*parser).callonDoubleQuoteBoldTextElement210, expr: &oneOrMoreExpr{ - pos: position{line: 2817, col: 14, offset: 93577}, + pos: position{line: 2976, col: 14, offset: 97001}, expr: &charClassMatcher{ - pos: position{line: 2817, col: 14, offset: 93577}, + pos: position{line: 2976, col: 14, offset: 97001}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -43790,52 +47615,52 @@ var g = &grammar{ }, { name: "QuotedTextInDoubleQuoteBoldText", - pos: position{line: 1842, col: 1, offset: 60402}, + pos: position{line: 1872, col: 1, offset: 61249}, expr: &actionExpr{ - pos: position{line: 1843, col: 5, offset: 60442}, + pos: position{line: 1873, col: 5, offset: 61289}, run: (*parser).callonQuotedTextInDoubleQuoteBoldText1, expr: &seqExpr{ - pos: position{line: 1843, col: 5, offset: 60442}, + pos: position{line: 1873, col: 5, offset: 61289}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1843, col: 5, offset: 60442}, + pos: position{line: 1873, col: 5, offset: 61289}, label: "attributes", expr: &zeroOrOneExpr{ - pos: position{line: 1843, col: 16, offset: 60453}, + pos: position{line: 1873, col: 16, offset: 61300}, expr: &ruleRefExpr{ - pos: position{line: 1843, col: 17, offset: 60454}, + pos: position{line: 1873, col: 17, offset: 61301}, name: "LongHandAttributes", }, }, }, &labeledExpr{ - pos: position{line: 1844, col: 5, offset: 60480}, + pos: position{line: 1874, col: 5, offset: 61327}, label: "text", expr: &choiceExpr{ - pos: position{line: 1845, col: 9, offset: 60495}, + pos: position{line: 1875, col: 9, offset: 61342}, alternatives: []interface{}{ &ruleRefExpr{ - pos: position{line: 1845, col: 9, offset: 60495}, + pos: position{line: 1875, col: 9, offset: 61342}, name: "SingleQuoteBoldText", }, &ruleRefExpr{ - pos: position{line: 1846, col: 11, offset: 60525}, + pos: position{line: 1876, col: 11, offset: 61372}, name: "ItalicText", }, &ruleRefExpr{ - pos: position{line: 1847, col: 11, offset: 60546}, + pos: position{line: 1877, col: 11, offset: 61393}, name: "MarkedText", }, &ruleRefExpr{ - pos: position{line: 1848, col: 11, offset: 60567}, + pos: position{line: 1878, col: 11, offset: 61414}, name: "MonospaceText", }, &ruleRefExpr{ - pos: position{line: 1849, col: 11, offset: 60591}, + pos: position{line: 1879, col: 11, offset: 61438}, name: "SubscriptText", }, &ruleRefExpr{ - pos: position{line: 1850, col: 11, offset: 60615}, + pos: position{line: 1880, col: 11, offset: 61462}, name: "SuperscriptText", }, }, @@ -43847,29 +47672,29 @@ var g = &grammar{ }, { name: "SingleQuoteBoldText", - pos: position{line: 1867, col: 1, offset: 61244}, + pos: position{line: 1897, col: 1, offset: 62091}, expr: &actionExpr{ - pos: position{line: 1868, col: 5, offset: 61272}, + pos: position{line: 1898, col: 4, offset: 62118}, run: (*parser).callonSingleQuoteBoldText1, expr: &seqExpr{ - pos: position{line: 1868, col: 5, offset: 61272}, + pos: position{line: 1898, col: 4, offset: 62118}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1863, col: 38, offset: 61198}, + pos: position{line: 1893, col: 38, offset: 62045}, val: "*", ignoreCase: false, want: "\"*\"", }, &labeledExpr{ - pos: position{line: 1869, col: 5, offset: 61310}, + pos: position{line: 1899, col: 5, offset: 62156}, label: "elements", expr: &ruleRefExpr{ - pos: position{line: 1869, col: 15, offset: 61320}, + pos: position{line: 1899, col: 15, offset: 62166}, name: "SingleQuoteBoldTextElements", }, }, &litMatcher{ - pos: position{line: 1865, col: 36, offset: 61238}, + pos: position{line: 1895, col: 36, offset: 62085}, val: "*", ignoreCase: false, want: "\"*\"", @@ -43880,29 +47705,29 @@ var g = &grammar{ }, { name: "SingleQuoteBoldTextElements", - pos: position{line: 1874, col: 1, offset: 61480}, + pos: position{line: 1904, col: 1, offset: 62326}, expr: &actionExpr{ - pos: position{line: 1875, col: 5, offset: 61517}, + pos: position{line: 1905, col: 5, offset: 62363}, run: (*parser).callonSingleQuoteBoldTextElements1, expr: &seqExpr{ - pos: position{line: 1875, col: 5, offset: 61517}, + pos: position{line: 1905, col: 5, offset: 62363}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 1875, col: 5, offset: 61517}, + pos: position{line: 1905, col: 5, offset: 62363}, expr: ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, ¬Expr{ - pos: position{line: 1875, col: 10, offset: 61522}, + pos: position{line: 1905, col: 10, offset: 62368}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonSingleQuoteBoldTextElements7, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -43911,18 +47736,18 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1876, col: 5, offset: 61561}, + pos: position{line: 1906, col: 5, offset: 62407}, label: "elements", expr: &oneOrMoreExpr{ - pos: position{line: 1876, col: 14, offset: 61570}, + pos: position{line: 1906, col: 14, offset: 62416}, expr: &ruleRefExpr{ - pos: position{line: 1876, col: 15, offset: 61571}, + pos: position{line: 1906, col: 15, offset: 62417}, name: "SingleQuoteBoldTextElement", }, }, }, &andCodeExpr{ - pos: position{line: 1877, col: 5, offset: 61605}, + pos: position{line: 1907, col: 5, offset: 62451}, run: (*parser).callonSingleQuoteBoldTextElements12, }, }, @@ -43931,20 +47756,20 @@ var g = &grammar{ }, { name: "SingleQuoteBoldTextElement", - pos: position{line: 1883, col: 1, offset: 61746}, + pos: position{line: 1913, col: 1, offset: 62592}, expr: &choiceExpr{ - pos: position{line: 1884, col: 5, offset: 61781}, + pos: position{line: 1914, col: 5, offset: 62627}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1807, col: 5, offset: 59320}, + pos: position{line: 1837, col: 5, offset: 60167}, run: (*parser).callonSingleQuoteBoldTextElement2, expr: &seqExpr{ - pos: position{line: 1807, col: 5, offset: 59320}, + pos: position{line: 1837, col: 5, offset: 60167}, exprs: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 1807, col: 5, offset: 59320}, + pos: position{line: 1837, col: 5, offset: 60167}, expr: &charClassMatcher{ - pos: position{line: 1807, col: 5, offset: 59320}, + pos: position{line: 1837, col: 5, offset: 60167}, val: "[,?!;0-9\\pL]", chars: []rune{',', '?', '!', ';'}, ranges: []rune{'0', '9'}, @@ -43954,15 +47779,15 @@ var g = &grammar{ }, }, &andExpr{ - pos: position{line: 1807, col: 19, offset: 59334}, + pos: position{line: 1837, col: 19, offset: 60181}, expr: &choiceExpr{ - pos: position{line: 1807, col: 21, offset: 59336}, + pos: position{line: 1837, col: 21, offset: 60183}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonSingleQuoteBoldTextElement8, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -43970,7 +47795,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1804, col: 22, offset: 59294}, + pos: position{line: 1834, col: 22, offset: 60141}, val: "*", ignoreCase: false, want: "\"*\"", @@ -43982,12 +47807,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2903, col: 11, offset: 96254}, + pos: position{line: 3062, col: 11, offset: 99678}, run: (*parser).callonSingleQuoteBoldTextElement11, expr: &oneOrMoreExpr{ - pos: position{line: 2903, col: 11, offset: 96254}, + pos: position{line: 3062, col: 11, offset: 99678}, expr: &charClassMatcher{ - pos: position{line: 2903, col: 12, offset: 96255}, + pos: position{line: 3062, col: 12, offset: 99679}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -43996,28 +47821,28 @@ var g = &grammar{ }, }, &seqExpr{ - pos: position{line: 1886, col: 7, offset: 61813}, + pos: position{line: 1916, col: 7, offset: 62659}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonSingleQuoteBoldTextElement15, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -44026,27 +47851,27 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 1886, col: 15, offset: 61821}, + pos: position{line: 1916, col: 15, offset: 62667}, expr: &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonSingleQuoteBoldTextElement21, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -44058,44 +47883,44 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 651, col: 5, offset: 21000}, + pos: position{line: 641, col: 5, offset: 20579}, run: (*parser).callonSingleQuoteBoldTextElement26, expr: &seqExpr{ - pos: position{line: 651, col: 5, offset: 21000}, + pos: position{line: 641, col: 5, offset: 20579}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 651, col: 5, offset: 21000}, + pos: position{line: 641, col: 5, offset: 20579}, run: (*parser).callonSingleQuoteBoldTextElement28, }, &labeledExpr{ - pos: position{line: 654, col: 5, offset: 21069}, + pos: position{line: 644, col: 5, offset: 20648}, label: "element", expr: &choiceExpr{ - pos: position{line: 654, col: 14, offset: 21078}, + pos: position{line: 644, col: 14, offset: 20657}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 666, col: 25, offset: 21447}, + pos: position{line: 664, col: 25, offset: 21310}, run: (*parser).callonSingleQuoteBoldTextElement31, expr: &seqExpr{ - pos: position{line: 666, col: 25, offset: 21447}, + pos: position{line: 664, col: 25, offset: 21310}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 666, col: 25, offset: 21447}, + pos: position{line: 664, col: 25, offset: 21310}, val: "{counter:", ignoreCase: false, want: "\"{counter:\"", }, &labeledExpr{ - pos: position{line: 666, col: 37, offset: 21459}, + pos: position{line: 664, col: 37, offset: 21322}, label: "name", expr: &actionExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, run: (*parser).callonSingleQuoteBoldTextElement35, expr: &seqExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -44104,9 +47929,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 332, col: 28, offset: 10403}, + pos: position{line: 324, col: 28, offset: 10064}, expr: &charClassMatcher{ - pos: position{line: 332, col: 29, offset: 10404}, + pos: position{line: 324, col: 29, offset: 10065}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -44120,33 +47945,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 666, col: 56, offset: 21478}, + pos: position{line: 664, col: 56, offset: 21341}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 666, col: 62, offset: 21484}, + pos: position{line: 664, col: 62, offset: 21347}, expr: &actionExpr{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, run: (*parser).callonSingleQuoteBoldTextElement42, expr: &seqExpr{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 674, col: 21, offset: 21783}, + pos: position{line: 672, col: 21, offset: 21646}, label: "start", expr: &choiceExpr{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, run: (*parser).callonSingleQuoteBoldTextElement47, expr: &charClassMatcher{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -44154,12 +47979,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, run: (*parser).callonSingleQuoteBoldTextElement49, expr: &oneOrMoreExpr{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, expr: &charClassMatcher{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -44176,7 +48001,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 666, col: 78, offset: 21500}, + pos: position{line: 664, col: 78, offset: 21363}, val: "}", ignoreCase: false, want: "\"}\"", @@ -44185,28 +48010,28 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 670, col: 25, offset: 21618}, + pos: position{line: 668, col: 25, offset: 21481}, run: (*parser).callonSingleQuoteBoldTextElement53, expr: &seqExpr{ - pos: position{line: 670, col: 25, offset: 21618}, + pos: position{line: 668, col: 25, offset: 21481}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 670, col: 25, offset: 21618}, + pos: position{line: 668, col: 25, offset: 21481}, val: "{counter2:", ignoreCase: false, want: "\"{counter2:\"", }, &labeledExpr{ - pos: position{line: 670, col: 38, offset: 21631}, + pos: position{line: 668, col: 38, offset: 21494}, label: "name", expr: &actionExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, run: (*parser).callonSingleQuoteBoldTextElement57, expr: &seqExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -44215,9 +48040,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 332, col: 28, offset: 10403}, + pos: position{line: 324, col: 28, offset: 10064}, expr: &charClassMatcher{ - pos: position{line: 332, col: 29, offset: 10404}, + pos: position{line: 324, col: 29, offset: 10065}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -44231,33 +48056,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 670, col: 57, offset: 21650}, + pos: position{line: 668, col: 57, offset: 21513}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 670, col: 63, offset: 21656}, + pos: position{line: 668, col: 63, offset: 21519}, expr: &actionExpr{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, run: (*parser).callonSingleQuoteBoldTextElement64, expr: &seqExpr{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 674, col: 21, offset: 21783}, + pos: position{line: 672, col: 21, offset: 21646}, label: "start", expr: &choiceExpr{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, run: (*parser).callonSingleQuoteBoldTextElement69, expr: &charClassMatcher{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -44265,12 +48090,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, run: (*parser).callonSingleQuoteBoldTextElement71, expr: &oneOrMoreExpr{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, expr: &charClassMatcher{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -44287,7 +48112,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 670, col: 79, offset: 21672}, + pos: position{line: 668, col: 79, offset: 21535}, val: "}", ignoreCase: false, want: "\"}\"", @@ -44296,28 +48121,83 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 659, col: 5, offset: 21191}, + pos: position{line: 650, col: 5, offset: 20786}, run: (*parser).callonSingleQuoteBoldTextElement75, expr: &seqExpr{ - pos: position{line: 659, col: 5, offset: 21191}, + pos: position{line: 650, col: 5, offset: 20786}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 659, col: 5, offset: 21191}, + pos: position{line: 650, col: 5, offset: 20786}, + val: "\\{", + ignoreCase: false, + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 650, col: 13, offset: 20794}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + run: (*parser).callonSingleQuoteBoldTextElement79, + expr: &seqExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 324, col: 18, offset: 10054}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 324, col: 28, offset: 10064}, + expr: &charClassMatcher{ + pos: position{line: 324, col: 29, offset: 10065}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 650, col: 32, offset: 20813}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 657, col: 5, offset: 21054}, + run: (*parser).callonSingleQuoteBoldTextElement85, + expr: &seqExpr{ + pos: position{line: 657, col: 5, offset: 21054}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 657, col: 5, offset: 21054}, val: "{", ignoreCase: false, want: "\"{\"", }, &labeledExpr{ - pos: position{line: 659, col: 9, offset: 21195}, + pos: position{line: 657, col: 9, offset: 21058}, label: "name", expr: &actionExpr{ - pos: position{line: 332, col: 18, offset: 10393}, - run: (*parser).callonSingleQuoteBoldTextElement79, + pos: position{line: 324, col: 18, offset: 10054}, + run: (*parser).callonSingleQuoteBoldTextElement89, expr: &seqExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -44326,9 +48206,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 332, col: 28, offset: 10403}, + pos: position{line: 324, col: 28, offset: 10064}, expr: &charClassMatcher{ - pos: position{line: 332, col: 29, offset: 10404}, + pos: position{line: 324, col: 29, offset: 10065}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -44342,7 +48222,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 659, col: 28, offset: 21214}, + pos: position{line: 657, col: 28, offset: 21077}, val: "}", ignoreCase: false, want: "\"}\"", @@ -44357,53 +48237,53 @@ var g = &grammar{ }, }, &ruleRefExpr{ - pos: position{line: 1888, col: 7, offset: 61895}, + pos: position{line: 1918, col: 7, offset: 62741}, name: "InlineMacro", }, &actionExpr{ - pos: position{line: 2599, col: 5, offset: 86909}, - run: (*parser).callonSingleQuoteBoldTextElement86, + pos: position{line: 2743, col: 5, offset: 89823}, + run: (*parser).callonSingleQuoteBoldTextElement96, expr: &seqExpr{ - pos: position{line: 2599, col: 5, offset: 86909}, + pos: position{line: 2743, col: 5, offset: 89823}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 2599, col: 5, offset: 86909}, - run: (*parser).callonSingleQuoteBoldTextElement88, + pos: position{line: 2743, col: 5, offset: 89823}, + run: (*parser).callonSingleQuoteBoldTextElement98, }, &labeledExpr{ - pos: position{line: 2602, col: 5, offset: 86985}, + pos: position{line: 2746, col: 5, offset: 89899}, label: "element", expr: &choiceExpr{ - pos: position{line: 2604, col: 9, offset: 87083}, + pos: position{line: 2748, col: 9, offset: 89997}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2604, col: 9, offset: 87083}, - run: (*parser).callonSingleQuoteBoldTextElement91, + pos: position{line: 2748, col: 9, offset: 89997}, + run: (*parser).callonSingleQuoteBoldTextElement101, expr: &choiceExpr{ - pos: position{line: 694, col: 27, offset: 22498}, + pos: position{line: 692, col: 27, offset: 22361}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 694, col: 27, offset: 22498}, - run: (*parser).callonSingleQuoteBoldTextElement93, + pos: position{line: 692, col: 27, offset: 22361}, + run: (*parser).callonSingleQuoteBoldTextElement103, expr: &seqExpr{ - pos: position{line: 694, col: 27, offset: 22498}, + pos: position{line: 692, col: 27, offset: 22361}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 694, col: 27, offset: 22498}, + pos: position{line: 692, col: 27, offset: 22361}, val: "<<", ignoreCase: false, want: "\"<<\"", }, &labeledExpr{ - pos: position{line: 694, col: 32, offset: 22503}, + pos: position{line: 692, col: 32, offset: 22366}, label: "id", expr: &actionExpr{ - pos: position{line: 2884, col: 7, offset: 95839}, - run: (*parser).callonSingleQuoteBoldTextElement97, + pos: position{line: 3043, col: 7, offset: 99263}, + run: (*parser).callonSingleQuoteBoldTextElement107, expr: &oneOrMoreExpr{ - pos: position{line: 2884, col: 7, offset: 95839}, + pos: position{line: 3043, col: 7, offset: 99263}, expr: &charClassMatcher{ - pos: position{line: 2884, col: 7, offset: 95839}, + pos: position{line: 3043, col: 7, offset: 99263}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -44413,12 +48293,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 694, col: 40, offset: 22511}, + pos: position{line: 692, col: 40, offset: 22374}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, - run: (*parser).callonSingleQuoteBoldTextElement101, + pos: position{line: 3058, col: 10, offset: 99611}, + run: (*parser).callonSingleQuoteBoldTextElement111, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -44427,27 +48307,27 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 694, col: 47, offset: 22518}, + pos: position{line: 692, col: 47, offset: 22381}, val: ",", ignoreCase: false, want: "\",\"", }, &labeledExpr{ - pos: position{line: 694, col: 51, offset: 22522}, + pos: position{line: 692, col: 51, offset: 22385}, label: "label", expr: &oneOrMoreExpr{ - pos: position{line: 704, col: 24, offset: 22923}, + pos: position{line: 702, col: 24, offset: 22786}, expr: &choiceExpr{ - pos: position{line: 705, col: 5, offset: 22929}, + pos: position{line: 703, col: 5, offset: 22792}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 705, col: 6, offset: 22930}, - run: (*parser).callonSingleQuoteBoldTextElement107, + pos: position{line: 703, col: 6, offset: 22793}, + run: (*parser).callonSingleQuoteBoldTextElement117, expr: &seqExpr{ - pos: position{line: 705, col: 6, offset: 22930}, + pos: position{line: 703, col: 6, offset: 22793}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 705, col: 6, offset: 22930}, + pos: position{line: 703, col: 6, offset: 22793}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -44455,9 +48335,9 @@ var g = &grammar{ inverted: false, }, &oneOrMoreExpr{ - pos: position{line: 705, col: 14, offset: 22938}, + pos: position{line: 703, col: 14, offset: 22801}, expr: &charClassMatcher{ - pos: position{line: 705, col: 14, offset: 22938}, + pos: position{line: 703, col: 14, offset: 22801}, val: "[^\\r\\n{<>]", chars: []rune{'\r', '\n', '{', '<', '>'}, ignoreCase: false, @@ -44468,28 +48348,83 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 659, col: 5, offset: 21191}, - run: (*parser).callonSingleQuoteBoldTextElement112, + pos: position{line: 650, col: 5, offset: 20786}, + run: (*parser).callonSingleQuoteBoldTextElement122, + expr: &seqExpr{ + pos: position{line: 650, col: 5, offset: 20786}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 650, col: 5, offset: 20786}, + val: "\\{", + ignoreCase: false, + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 650, col: 13, offset: 20794}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + run: (*parser).callonSingleQuoteBoldTextElement126, + expr: &seqExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 324, col: 18, offset: 10054}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 324, col: 28, offset: 10064}, + expr: &charClassMatcher{ + pos: position{line: 324, col: 29, offset: 10065}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 650, col: 32, offset: 20813}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 657, col: 5, offset: 21054}, + run: (*parser).callonSingleQuoteBoldTextElement132, expr: &seqExpr{ - pos: position{line: 659, col: 5, offset: 21191}, + pos: position{line: 657, col: 5, offset: 21054}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 659, col: 5, offset: 21191}, + pos: position{line: 657, col: 5, offset: 21054}, val: "{", ignoreCase: false, want: "\"{\"", }, &labeledExpr{ - pos: position{line: 659, col: 9, offset: 21195}, + pos: position{line: 657, col: 9, offset: 21058}, label: "name", expr: &actionExpr{ - pos: position{line: 332, col: 18, offset: 10393}, - run: (*parser).callonSingleQuoteBoldTextElement116, + pos: position{line: 324, col: 18, offset: 10054}, + run: (*parser).callonSingleQuoteBoldTextElement136, expr: &seqExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -44498,9 +48433,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 332, col: 28, offset: 10403}, + pos: position{line: 324, col: 28, offset: 10064}, expr: &charClassMatcher{ - pos: position{line: 332, col: 29, offset: 10404}, + pos: position{line: 324, col: 29, offset: 10065}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -44514,7 +48449,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 659, col: 28, offset: 21214}, + pos: position{line: 657, col: 28, offset: 21077}, val: "}", ignoreCase: false, want: "\"}\"", @@ -44523,10 +48458,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 709, col: 8, offset: 23164}, - run: (*parser).callonSingleQuoteBoldTextElement122, + pos: position{line: 707, col: 8, offset: 23027}, + run: (*parser).callonSingleQuoteBoldTextElement142, expr: &litMatcher{ - pos: position{line: 709, col: 8, offset: 23164}, + pos: position{line: 707, col: 8, offset: 23027}, val: "{", ignoreCase: false, want: "\"{\"", @@ -44537,7 +48472,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 694, col: 79, offset: 22550}, + pos: position{line: 692, col: 79, offset: 22413}, val: ">>", ignoreCase: false, want: "\">>\"", @@ -44546,27 +48481,27 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 696, col: 9, offset: 22623}, - run: (*parser).callonSingleQuoteBoldTextElement125, + pos: position{line: 694, col: 9, offset: 22486}, + run: (*parser).callonSingleQuoteBoldTextElement145, expr: &seqExpr{ - pos: position{line: 696, col: 9, offset: 22623}, + pos: position{line: 694, col: 9, offset: 22486}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 696, col: 9, offset: 22623}, + pos: position{line: 694, col: 9, offset: 22486}, val: "<<", ignoreCase: false, want: "\"<<\"", }, &labeledExpr{ - pos: position{line: 696, col: 14, offset: 22628}, + pos: position{line: 694, col: 14, offset: 22491}, label: "id", expr: &actionExpr{ - pos: position{line: 2884, col: 7, offset: 95839}, - run: (*parser).callonSingleQuoteBoldTextElement129, + pos: position{line: 3043, col: 7, offset: 99263}, + run: (*parser).callonSingleQuoteBoldTextElement149, expr: &oneOrMoreExpr{ - pos: position{line: 2884, col: 7, offset: 95839}, + pos: position{line: 3043, col: 7, offset: 99263}, expr: &charClassMatcher{ - pos: position{line: 2884, col: 7, offset: 95839}, + pos: position{line: 3043, col: 7, offset: 99263}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -44576,7 +48511,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 696, col: 22, offset: 22636}, + pos: position{line: 694, col: 22, offset: 22499}, val: ">>", ignoreCase: false, want: "\">>\"", @@ -44588,10 +48523,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2607, col: 11, offset: 87187}, - run: (*parser).callonSingleQuoteBoldTextElement133, + pos: position{line: 2751, col: 11, offset: 90101}, + run: (*parser).callonSingleQuoteBoldTextElement153, expr: &charClassMatcher{ - pos: position{line: 2607, col: 12, offset: 87188}, + pos: position{line: 2751, col: 12, offset: 90102}, val: "[<>&]", chars: []rune{'<', '>', '&'}, ignoreCase: false, @@ -44605,63 +48540,166 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2632, col: 15, offset: 88155}, - run: (*parser).callonSingleQuoteBoldTextElement135, + pos: position{line: 2776, col: 5, offset: 90995}, + run: (*parser).callonSingleQuoteBoldTextElement155, + expr: &seqExpr{ + pos: position{line: 2776, col: 5, offset: 90995}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2776, col: 5, offset: 90995}, + val: "\\", + ignoreCase: false, + want: "\"\\\\\"", + }, + &choiceExpr{ + pos: position{line: 2776, col: 10, offset: 91000}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2784, col: 15, offset: 91276}, + run: (*parser).callonSingleQuoteBoldTextElement159, + expr: &litMatcher{ + pos: position{line: 2784, col: 15, offset: 91276}, + val: "`'", + ignoreCase: false, + want: "\"`'\"", + }, + }, + &actionExpr{ + pos: position{line: 2790, col: 14, offset: 91391}, + run: (*parser).callonSingleQuoteBoldTextElement161, + expr: &litMatcher{ + pos: position{line: 2790, col: 14, offset: 91391}, + val: "(C)", + ignoreCase: false, + want: "\"(C)\"", + }, + }, + &actionExpr{ + pos: position{line: 2794, col: 14, offset: 91467}, + run: (*parser).callonSingleQuoteBoldTextElement163, + expr: &litMatcher{ + pos: position{line: 2794, col: 14, offset: 91467}, + val: "(TM)", + ignoreCase: false, + want: "\"(TM)\"", + }, + }, + &actionExpr{ + pos: position{line: 2798, col: 15, offset: 91545}, + run: (*parser).callonSingleQuoteBoldTextElement165, + expr: &litMatcher{ + pos: position{line: 2798, col: 15, offset: 91545}, + val: "(R)", + ignoreCase: false, + want: "\"(R)\"", + }, + }, + &actionExpr{ + pos: position{line: 2802, col: 13, offset: 91620}, + run: (*parser).callonSingleQuoteBoldTextElement167, + expr: &litMatcher{ + pos: position{line: 2802, col: 13, offset: 91620}, + val: "...", + ignoreCase: false, + want: "\"...\"", + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2784, col: 15, offset: 91276}, + run: (*parser).callonSingleQuoteBoldTextElement169, expr: &litMatcher{ - pos: position{line: 2632, col: 15, offset: 88155}, + pos: position{line: 2784, col: 15, offset: 91276}, val: "`'", ignoreCase: false, want: "\"`'\"", }, }, &actionExpr{ - pos: position{line: 2638, col: 14, offset: 88270}, - run: (*parser).callonSingleQuoteBoldTextElement137, + pos: position{line: 2790, col: 14, offset: 91391}, + run: (*parser).callonSingleQuoteBoldTextElement171, expr: &litMatcher{ - pos: position{line: 2638, col: 14, offset: 88270}, + pos: position{line: 2790, col: 14, offset: 91391}, val: "(C)", ignoreCase: false, want: "\"(C)\"", }, }, &actionExpr{ - pos: position{line: 2642, col: 14, offset: 88346}, - run: (*parser).callonSingleQuoteBoldTextElement139, + pos: position{line: 2794, col: 14, offset: 91467}, + run: (*parser).callonSingleQuoteBoldTextElement173, expr: &litMatcher{ - pos: position{line: 2642, col: 14, offset: 88346}, + pos: position{line: 2794, col: 14, offset: 91467}, val: "(TM)", ignoreCase: false, want: "\"(TM)\"", }, }, &actionExpr{ - pos: position{line: 2646, col: 15, offset: 88424}, - run: (*parser).callonSingleQuoteBoldTextElement141, + pos: position{line: 2798, col: 15, offset: 91545}, + run: (*parser).callonSingleQuoteBoldTextElement175, expr: &litMatcher{ - pos: position{line: 2646, col: 15, offset: 88424}, + pos: position{line: 2798, col: 15, offset: 91545}, val: "(R)", ignoreCase: false, want: "\"(R)\"", }, }, &actionExpr{ - pos: position{line: 2650, col: 13, offset: 88499}, - run: (*parser).callonSingleQuoteBoldTextElement143, + pos: position{line: 2802, col: 13, offset: 91620}, + run: (*parser).callonSingleQuoteBoldTextElement177, expr: &litMatcher{ - pos: position{line: 2650, col: 13, offset: 88499}, + pos: position{line: 2802, col: 13, offset: 91620}, val: "...", ignoreCase: false, want: "\"...\"", }, }, &actionExpr{ - pos: position{line: 2658, col: 22, offset: 88805}, - run: (*parser).callonSingleQuoteBoldTextElement145, + pos: position{line: 2811, col: 5, offset: 91944}, + run: (*parser).callonSingleQuoteBoldTextElement179, + expr: &seqExpr{ + pos: position{line: 2811, col: 5, offset: 91944}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 2972, col: 13, offset: 96927}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &litMatcher{ + pos: position{line: 2811, col: 14, offset: 91953}, + val: "\\'", + ignoreCase: false, + want: "\"\\\\'\"", + }, + &andExpr{ + pos: position{line: 2811, col: 19, offset: 91958}, + expr: &charClassMatcher{ + pos: position{line: 2811, col: 20, offset: 91959}, + val: "[\\pL]", + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2817, col: 5, offset: 92190}, + run: (*parser).callonSingleQuoteBoldTextElement185, expr: &seqExpr{ - pos: position{line: 2658, col: 22, offset: 88805}, + pos: position{line: 2817, col: 5, offset: 92190}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 2813, col: 13, offset: 93503}, + pos: position{line: 2972, col: 13, offset: 96927}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -44669,15 +48707,15 @@ var g = &grammar{ inverted: false, }, &litMatcher{ - pos: position{line: 2658, col: 31, offset: 88814}, + pos: position{line: 2817, col: 14, offset: 92199}, val: "'", ignoreCase: false, want: "\"'\"", }, &andExpr{ - pos: position{line: 2658, col: 35, offset: 88818}, + pos: position{line: 2817, col: 18, offset: 92203}, expr: &charClassMatcher{ - pos: position{line: 2658, col: 36, offset: 88819}, + pos: position{line: 2817, col: 19, offset: 92204}, val: "[\\pL]", classes: []*unicode.RangeTable{rangeTable("L")}, ignoreCase: false, @@ -44688,35 +48726,35 @@ var g = &grammar{ }, }, &ruleRefExpr{ - pos: position{line: 1891, col: 7, offset: 61999}, + pos: position{line: 1921, col: 7, offset: 62845}, name: "QuotedString", }, &ruleRefExpr{ - pos: position{line: 1892, col: 7, offset: 62018}, + pos: position{line: 1922, col: 7, offset: 62864}, name: "QuotedTextInSingleQuoteBoldText", }, &actionExpr{ - pos: position{line: 1122, col: 23, offset: 34991}, - run: (*parser).callonSingleQuoteBoldTextElement153, + pos: position{line: 1120, col: 23, offset: 34854}, + run: (*parser).callonSingleQuoteBoldTextElement193, expr: &seqExpr{ - pos: position{line: 1122, col: 23, offset: 34991}, + pos: position{line: 1120, col: 23, offset: 34854}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1120, col: 32, offset: 34959}, + pos: position{line: 1118, col: 32, offset: 34822}, val: "�", ignoreCase: false, want: "\"�\"", }, &labeledExpr{ - pos: position{line: 1122, col: 51, offset: 35019}, + pos: position{line: 1120, col: 51, offset: 34882}, label: "ref", expr: &actionExpr{ - pos: position{line: 1122, col: 56, offset: 35024}, - run: (*parser).callonSingleQuoteBoldTextElement157, + pos: position{line: 1120, col: 56, offset: 34887}, + run: (*parser).callonSingleQuoteBoldTextElement197, expr: &oneOrMoreExpr{ - pos: position{line: 1122, col: 56, offset: 35024}, + pos: position{line: 1120, col: 56, offset: 34887}, expr: &charClassMatcher{ - pos: position{line: 1122, col: 56, offset: 35024}, + pos: position{line: 1120, col: 56, offset: 34887}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -44726,7 +48764,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1120, col: 32, offset: 34959}, + pos: position{line: 1118, col: 32, offset: 34822}, val: "�", ignoreCase: false, want: "\"�\"", @@ -44735,31 +48773,31 @@ var g = &grammar{ }, }, &charClassMatcher{ - pos: position{line: 1908, col: 5, offset: 62476}, + pos: position{line: 1952, col: 5, offset: 63593}, val: "[^\\r\\n *]", chars: []rune{'\r', '\n', ' ', '*'}, ignoreCase: false, inverted: true, }, &actionExpr{ - pos: position{line: 1909, col: 7, offset: 62581}, - run: (*parser).callonSingleQuoteBoldTextElement162, + pos: position{line: 1953, col: 7, offset: 63698}, + run: (*parser).callonSingleQuoteBoldTextElement202, expr: &seqExpr{ - pos: position{line: 1909, col: 7, offset: 62581}, + pos: position{line: 1953, col: 7, offset: 63698}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1909, col: 7, offset: 62581}, + pos: position{line: 1953, col: 7, offset: 63698}, val: "*", ignoreCase: false, want: "\"*\"", }, &actionExpr{ - pos: position{line: 2817, col: 14, offset: 93577}, - run: (*parser).callonSingleQuoteBoldTextElement165, + pos: position{line: 2976, col: 14, offset: 97001}, + run: (*parser).callonSingleQuoteBoldTextElement205, expr: &oneOrMoreExpr{ - pos: position{line: 2817, col: 14, offset: 93577}, + pos: position{line: 2976, col: 14, offset: 97001}, expr: &charClassMatcher{ - pos: position{line: 2817, col: 14, offset: 93577}, + pos: position{line: 2976, col: 14, offset: 97001}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -44776,53 +48814,105 @@ var g = &grammar{ }, { name: "QuotedTextInSingleQuoteBoldText", - pos: position{line: 1896, col: 1, offset: 62119}, - expr: &actionExpr{ - pos: position{line: 1897, col: 5, offset: 62159}, - run: (*parser).callonQuotedTextInSingleQuoteBoldText1, - expr: &seqExpr{ - pos: position{line: 1897, col: 5, offset: 62159}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 1897, col: 5, offset: 62159}, - label: "attributes", - expr: &zeroOrOneExpr{ - pos: position{line: 1897, col: 16, offset: 62170}, - expr: &ruleRefExpr{ - pos: position{line: 1897, col: 17, offset: 62171}, - name: "LongHandAttributes", + pos: position{line: 1926, col: 1, offset: 62965}, + expr: &choiceExpr{ + pos: position{line: 1928, col: 5, offset: 63028}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 1928, col: 5, offset: 63028}, + run: (*parser).callonQuotedTextInSingleQuoteBoldText2, + expr: &seqExpr{ + pos: position{line: 1928, col: 5, offset: 63028}, + exprs: []interface{}{ + &andExpr{ + pos: position{line: 1928, col: 5, offset: 63028}, + expr: &litMatcher{ + pos: position{line: 1928, col: 7, offset: 63030}, + val: "\\", + ignoreCase: false, + want: "\"\\\\\"", + }, + }, + &labeledExpr{ + pos: position{line: 1929, col: 5, offset: 63039}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 1930, col: 9, offset: 63057}, + alternatives: []interface{}{ + &ruleRefExpr{ + pos: position{line: 1930, col: 9, offset: 63057}, + name: "EscapedItalicText", + }, + &ruleRefExpr{ + pos: position{line: 1931, col: 11, offset: 63085}, + name: "EscapedMarkedText", + }, + &ruleRefExpr{ + pos: position{line: 1932, col: 11, offset: 63113}, + name: "EscapedMonospaceText", + }, + &ruleRefExpr{ + pos: position{line: 1933, col: 11, offset: 63144}, + name: "EscapedSubscriptText", + }, + &ruleRefExpr{ + pos: position{line: 1934, col: 11, offset: 63175}, + name: "EscapedSuperscriptText", + }, + }, + }, }, }, }, - &labeledExpr{ - pos: position{line: 1898, col: 5, offset: 62197}, - label: "text", - expr: &choiceExpr{ - pos: position{line: 1899, col: 9, offset: 62212}, - alternatives: []interface{}{ - &ruleRefExpr{ - pos: position{line: 1899, col: 9, offset: 62212}, - name: "DoubleQuoteBoldText", - }, - &ruleRefExpr{ - pos: position{line: 1900, col: 11, offset: 62242}, - name: "ItalicText", - }, - &ruleRefExpr{ - pos: position{line: 1901, col: 11, offset: 62263}, - name: "MonospaceText", - }, - &ruleRefExpr{ - pos: position{line: 1902, col: 11, offset: 62287}, - name: "MarkedText", - }, - &ruleRefExpr{ - pos: position{line: 1903, col: 11, offset: 62308}, - name: "SubscriptText", + }, + &actionExpr{ + pos: position{line: 1940, col: 5, offset: 63275}, + run: (*parser).callonQuotedTextInSingleQuoteBoldText13, + expr: &seqExpr{ + pos: position{line: 1940, col: 5, offset: 63275}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1940, col: 5, offset: 63275}, + label: "attributes", + expr: &zeroOrOneExpr{ + pos: position{line: 1940, col: 16, offset: 63286}, + expr: &ruleRefExpr{ + pos: position{line: 1940, col: 17, offset: 63287}, + name: "LongHandAttributes", + }, }, - &ruleRefExpr{ - pos: position{line: 1904, col: 11, offset: 62332}, - name: "SuperscriptText", + }, + &labeledExpr{ + pos: position{line: 1941, col: 5, offset: 63313}, + label: "text", + expr: &choiceExpr{ + pos: position{line: 1942, col: 9, offset: 63328}, + alternatives: []interface{}{ + &ruleRefExpr{ + pos: position{line: 1942, col: 9, offset: 63328}, + name: "DoubleQuoteBoldText", + }, + &ruleRefExpr{ + pos: position{line: 1943, col: 11, offset: 63358}, + name: "ItalicText", + }, + &ruleRefExpr{ + pos: position{line: 1944, col: 11, offset: 63379}, + name: "MonospaceText", + }, + &ruleRefExpr{ + pos: position{line: 1945, col: 11, offset: 63403}, + name: "MarkedText", + }, + &ruleRefExpr{ + pos: position{line: 1946, col: 11, offset: 63424}, + name: "SubscriptText", + }, + &ruleRefExpr{ + pos: position{line: 1947, col: 11, offset: 63448}, + name: "SuperscriptText", + }, + }, }, }, }, @@ -44833,35 +48923,35 @@ var g = &grammar{ }, { name: "EscapedBoldText", - pos: position{line: 1913, col: 1, offset: 62756}, + pos: position{line: 1957, col: 1, offset: 63873}, expr: &choiceExpr{ - pos: position{line: 1914, col: 5, offset: 62780}, + pos: position{line: 1959, col: 5, offset: 63934}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1914, col: 5, offset: 62780}, + pos: position{line: 1959, col: 5, offset: 63934}, run: (*parser).callonEscapedBoldText2, expr: &seqExpr{ - pos: position{line: 1914, col: 5, offset: 62780}, + pos: position{line: 1959, col: 5, offset: 63934}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1914, col: 5, offset: 62780}, + pos: position{line: 1959, col: 5, offset: 63934}, label: "backslashes", expr: &actionExpr{ - pos: position{line: 1795, col: 25, offset: 58988}, + pos: position{line: 1825, col: 25, offset: 59835}, run: (*parser).callonEscapedBoldText5, expr: &seqExpr{ - pos: position{line: 1795, col: 25, offset: 58988}, + pos: position{line: 1825, col: 25, offset: 59835}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1795, col: 25, offset: 58988}, + pos: position{line: 1825, col: 25, offset: 59835}, val: "\\\\", ignoreCase: false, want: "\"\\\\\\\\\"", }, &zeroOrMoreExpr{ - pos: position{line: 1795, col: 30, offset: 58993}, + pos: position{line: 1825, col: 30, offset: 59840}, expr: &litMatcher{ - pos: position{line: 1795, col: 30, offset: 58993}, + pos: position{line: 1825, col: 30, offset: 59840}, val: "\\", ignoreCase: false, want: "\"\\\\\"", @@ -44872,21 +48962,21 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1914, col: 40, offset: 62815}, + pos: position{line: 1959, col: 40, offset: 63969}, val: "**", ignoreCase: false, want: "\"**\"", }, &labeledExpr{ - pos: position{line: 1914, col: 45, offset: 62820}, + pos: position{line: 1959, col: 45, offset: 63974}, label: "elements", expr: &ruleRefExpr{ - pos: position{line: 1914, col: 55, offset: 62830}, + pos: position{line: 1959, col: 55, offset: 63984}, name: "DoubleQuoteBoldTextElements", }, }, &litMatcher{ - pos: position{line: 1914, col: 84, offset: 62859}, + pos: position{line: 1959, col: 84, offset: 64013}, val: "**", ignoreCase: false, want: "\"**\"", @@ -44895,21 +48985,21 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1916, col: 9, offset: 63016}, + pos: position{line: 1963, col: 7, offset: 64177}, run: (*parser).callonEscapedBoldText14, expr: &seqExpr{ - pos: position{line: 1916, col: 9, offset: 63016}, + pos: position{line: 1963, col: 7, offset: 64177}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1916, col: 9, offset: 63016}, + pos: position{line: 1963, col: 7, offset: 64177}, label: "backslashes", expr: &actionExpr{ - pos: position{line: 1791, col: 25, offset: 58915}, + pos: position{line: 1821, col: 25, offset: 59762}, run: (*parser).callonEscapedBoldText17, expr: &oneOrMoreExpr{ - pos: position{line: 1791, col: 25, offset: 58915}, + pos: position{line: 1821, col: 25, offset: 59762}, expr: &litMatcher{ - pos: position{line: 1791, col: 25, offset: 58915}, + pos: position{line: 1821, col: 25, offset: 59762}, val: "\\", ignoreCase: false, want: "\"\\\\\"", @@ -44918,21 +49008,21 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1916, col: 44, offset: 63051}, + pos: position{line: 1963, col: 42, offset: 64212}, val: "**", ignoreCase: false, want: "\"**\"", }, &labeledExpr{ - pos: position{line: 1916, col: 49, offset: 63056}, + pos: position{line: 1963, col: 47, offset: 64217}, label: "elements", expr: &ruleRefExpr{ - pos: position{line: 1916, col: 59, offset: 63066}, + pos: position{line: 1963, col: 57, offset: 64227}, name: "SingleQuoteBoldTextElements", }, }, &litMatcher{ - pos: position{line: 1916, col: 88, offset: 63095}, + pos: position{line: 1963, col: 86, offset: 64256}, val: "*", ignoreCase: false, want: "\"*\"", @@ -44941,21 +49031,21 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1919, col: 9, offset: 63295}, + pos: position{line: 1968, col: 7, offset: 64458}, run: (*parser).callonEscapedBoldText24, expr: &seqExpr{ - pos: position{line: 1919, col: 9, offset: 63295}, + pos: position{line: 1968, col: 7, offset: 64458}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1919, col: 9, offset: 63295}, + pos: position{line: 1968, col: 7, offset: 64458}, label: "backslashes", expr: &actionExpr{ - pos: position{line: 1791, col: 25, offset: 58915}, + pos: position{line: 1821, col: 25, offset: 59762}, run: (*parser).callonEscapedBoldText27, expr: &oneOrMoreExpr{ - pos: position{line: 1791, col: 25, offset: 58915}, + pos: position{line: 1821, col: 25, offset: 59762}, expr: &litMatcher{ - pos: position{line: 1791, col: 25, offset: 58915}, + pos: position{line: 1821, col: 25, offset: 59762}, val: "\\", ignoreCase: false, want: "\"\\\\\"", @@ -44964,21 +49054,21 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1919, col: 44, offset: 63330}, + pos: position{line: 1968, col: 42, offset: 64493}, val: "*", ignoreCase: false, want: "\"*\"", }, &labeledExpr{ - pos: position{line: 1919, col: 48, offset: 63334}, + pos: position{line: 1968, col: 46, offset: 64497}, label: "elements", expr: &ruleRefExpr{ - pos: position{line: 1919, col: 58, offset: 63344}, + pos: position{line: 1968, col: 56, offset: 64507}, name: "SingleQuoteBoldTextElements", }, }, &litMatcher{ - pos: position{line: 1919, col: 87, offset: 63373}, + pos: position{line: 1968, col: 85, offset: 64536}, val: "*", ignoreCase: false, want: "\"*\"", @@ -44991,16 +49081,16 @@ var g = &grammar{ }, { name: "ItalicText", - pos: position{line: 1927, col: 1, offset: 63671}, + pos: position{line: 1976, col: 1, offset: 64790}, expr: &choiceExpr{ - pos: position{line: 1927, col: 15, offset: 63685}, + pos: position{line: 1976, col: 15, offset: 64804}, alternatives: []interface{}{ &ruleRefExpr{ - pos: position{line: 1927, col: 15, offset: 63685}, + pos: position{line: 1976, col: 15, offset: 64804}, name: "DoubleQuoteItalicText", }, &ruleRefExpr{ - pos: position{line: 1927, col: 39, offset: 63709}, + pos: position{line: 1976, col: 39, offset: 64828}, name: "SingleQuoteItalicText", }, }, @@ -45008,29 +49098,29 @@ var g = &grammar{ }, { name: "DoubleQuoteItalicText", - pos: position{line: 1941, col: 1, offset: 64037}, + pos: position{line: 1990, col: 1, offset: 65156}, expr: &actionExpr{ - pos: position{line: 1942, col: 5, offset: 64067}, + pos: position{line: 1991, col: 5, offset: 65186}, run: (*parser).callonDoubleQuoteItalicText1, expr: &seqExpr{ - pos: position{line: 1942, col: 5, offset: 64067}, + pos: position{line: 1991, col: 5, offset: 65186}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1939, col: 35, offset: 64031}, + pos: position{line: 1988, col: 35, offset: 65150}, val: "__", ignoreCase: false, want: "\"__\"", }, &labeledExpr{ - pos: position{line: 1943, col: 5, offset: 64103}, + pos: position{line: 1992, col: 5, offset: 65222}, label: "elements", expr: &ruleRefExpr{ - pos: position{line: 1943, col: 15, offset: 64113}, + pos: position{line: 1992, col: 15, offset: 65232}, name: "DoubleQuoteItalicTextElements", }, }, &litMatcher{ - pos: position{line: 1939, col: 35, offset: 64031}, + pos: position{line: 1988, col: 35, offset: 65150}, val: "__", ignoreCase: false, want: "\"__\"", @@ -45041,49 +49131,49 @@ var g = &grammar{ }, { name: "DoubleQuoteItalicTextElements", - pos: position{line: 1948, col: 1, offset: 64321}, + pos: position{line: 1997, col: 1, offset: 65440}, expr: &oneOrMoreExpr{ - pos: position{line: 1948, col: 34, offset: 64354}, + pos: position{line: 1997, col: 34, offset: 65473}, expr: &ruleRefExpr{ - pos: position{line: 1948, col: 34, offset: 64354}, + pos: position{line: 1997, col: 34, offset: 65473}, name: "DoubleQuoteItalicTextElement", }, }, }, { name: "DoubleQuoteItalicTextElement", - pos: position{line: 1950, col: 1, offset: 64386}, + pos: position{line: 1999, col: 1, offset: 65505}, expr: &actionExpr{ - pos: position{line: 1951, col: 5, offset: 64423}, + pos: position{line: 2000, col: 5, offset: 65542}, run: (*parser).callonDoubleQuoteItalicTextElement1, expr: &seqExpr{ - pos: position{line: 1951, col: 5, offset: 64423}, + pos: position{line: 2000, col: 5, offset: 65542}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 1951, col: 5, offset: 64423}, + pos: position{line: 2000, col: 5, offset: 65542}, expr: &litMatcher{ - pos: position{line: 1939, col: 35, offset: 64031}, + pos: position{line: 1988, col: 35, offset: 65150}, val: "__", ignoreCase: false, want: "\"__\"", }, }, &labeledExpr{ - pos: position{line: 1952, col: 5, offset: 64459}, + pos: position{line: 2001, col: 5, offset: 65578}, label: "element", expr: &choiceExpr{ - pos: position{line: 1953, col: 9, offset: 64477}, + pos: position{line: 2002, col: 9, offset: 65596}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1932, col: 5, offset: 63783}, + pos: position{line: 1981, col: 5, offset: 64902}, run: (*parser).callonDoubleQuoteItalicTextElement7, expr: &seqExpr{ - pos: position{line: 1932, col: 5, offset: 63783}, + pos: position{line: 1981, col: 5, offset: 64902}, exprs: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 1932, col: 5, offset: 63783}, + pos: position{line: 1981, col: 5, offset: 64902}, expr: &charClassMatcher{ - pos: position{line: 1932, col: 5, offset: 63783}, + pos: position{line: 1981, col: 5, offset: 64902}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -45092,15 +49182,15 @@ var g = &grammar{ }, }, &andExpr{ - pos: position{line: 1932, col: 15, offset: 63793}, + pos: position{line: 1981, col: 15, offset: 64912}, expr: &choiceExpr{ - pos: position{line: 1932, col: 17, offset: 63795}, + pos: position{line: 1981, col: 17, offset: 64914}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonDoubleQuoteItalicTextElement13, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -45108,7 +49198,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1929, col: 24, offset: 63755}, + pos: position{line: 1978, col: 24, offset: 64874}, val: "_", ignoreCase: false, want: "\"_\"", @@ -45120,12 +49210,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2903, col: 11, offset: 96254}, + pos: position{line: 3062, col: 11, offset: 99678}, run: (*parser).callonDoubleQuoteItalicTextElement16, expr: &oneOrMoreExpr{ - pos: position{line: 2903, col: 11, offset: 96254}, + pos: position{line: 3062, col: 11, offset: 99678}, expr: &charClassMatcher{ - pos: position{line: 2903, col: 12, offset: 96255}, + pos: position{line: 3062, col: 12, offset: 99679}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -45134,28 +49224,28 @@ var g = &grammar{ }, }, &seqExpr{ - pos: position{line: 1955, col: 11, offset: 64552}, + pos: position{line: 2004, col: 11, offset: 65671}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonDoubleQuoteItalicTextElement20, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -45164,27 +49254,27 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 1955, col: 19, offset: 64560}, + pos: position{line: 2004, col: 19, offset: 65679}, expr: &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonDoubleQuoteItalicTextElement26, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -45196,44 +49286,44 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 651, col: 5, offset: 21000}, + pos: position{line: 641, col: 5, offset: 20579}, run: (*parser).callonDoubleQuoteItalicTextElement31, expr: &seqExpr{ - pos: position{line: 651, col: 5, offset: 21000}, + pos: position{line: 641, col: 5, offset: 20579}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 651, col: 5, offset: 21000}, + pos: position{line: 641, col: 5, offset: 20579}, run: (*parser).callonDoubleQuoteItalicTextElement33, }, &labeledExpr{ - pos: position{line: 654, col: 5, offset: 21069}, + pos: position{line: 644, col: 5, offset: 20648}, label: "element", expr: &choiceExpr{ - pos: position{line: 654, col: 14, offset: 21078}, + pos: position{line: 644, col: 14, offset: 20657}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 666, col: 25, offset: 21447}, + pos: position{line: 664, col: 25, offset: 21310}, run: (*parser).callonDoubleQuoteItalicTextElement36, expr: &seqExpr{ - pos: position{line: 666, col: 25, offset: 21447}, + pos: position{line: 664, col: 25, offset: 21310}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 666, col: 25, offset: 21447}, + pos: position{line: 664, col: 25, offset: 21310}, val: "{counter:", ignoreCase: false, want: "\"{counter:\"", }, &labeledExpr{ - pos: position{line: 666, col: 37, offset: 21459}, + pos: position{line: 664, col: 37, offset: 21322}, label: "name", expr: &actionExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, run: (*parser).callonDoubleQuoteItalicTextElement40, expr: &seqExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -45242,9 +49332,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 332, col: 28, offset: 10403}, + pos: position{line: 324, col: 28, offset: 10064}, expr: &charClassMatcher{ - pos: position{line: 332, col: 29, offset: 10404}, + pos: position{line: 324, col: 29, offset: 10065}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -45258,33 +49348,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 666, col: 56, offset: 21478}, + pos: position{line: 664, col: 56, offset: 21341}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 666, col: 62, offset: 21484}, + pos: position{line: 664, col: 62, offset: 21347}, expr: &actionExpr{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, run: (*parser).callonDoubleQuoteItalicTextElement47, expr: &seqExpr{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 674, col: 21, offset: 21783}, + pos: position{line: 672, col: 21, offset: 21646}, label: "start", expr: &choiceExpr{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, run: (*parser).callonDoubleQuoteItalicTextElement52, expr: &charClassMatcher{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -45292,12 +49382,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, run: (*parser).callonDoubleQuoteItalicTextElement54, expr: &oneOrMoreExpr{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, expr: &charClassMatcher{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -45314,7 +49404,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 666, col: 78, offset: 21500}, + pos: position{line: 664, col: 78, offset: 21363}, val: "}", ignoreCase: false, want: "\"}\"", @@ -45323,28 +49413,28 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 670, col: 25, offset: 21618}, + pos: position{line: 668, col: 25, offset: 21481}, run: (*parser).callonDoubleQuoteItalicTextElement58, expr: &seqExpr{ - pos: position{line: 670, col: 25, offset: 21618}, + pos: position{line: 668, col: 25, offset: 21481}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 670, col: 25, offset: 21618}, + pos: position{line: 668, col: 25, offset: 21481}, val: "{counter2:", ignoreCase: false, want: "\"{counter2:\"", }, &labeledExpr{ - pos: position{line: 670, col: 38, offset: 21631}, + pos: position{line: 668, col: 38, offset: 21494}, label: "name", expr: &actionExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, run: (*parser).callonDoubleQuoteItalicTextElement62, expr: &seqExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -45353,9 +49443,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 332, col: 28, offset: 10403}, + pos: position{line: 324, col: 28, offset: 10064}, expr: &charClassMatcher{ - pos: position{line: 332, col: 29, offset: 10404}, + pos: position{line: 324, col: 29, offset: 10065}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -45369,33 +49459,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 670, col: 57, offset: 21650}, + pos: position{line: 668, col: 57, offset: 21513}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 670, col: 63, offset: 21656}, + pos: position{line: 668, col: 63, offset: 21519}, expr: &actionExpr{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, run: (*parser).callonDoubleQuoteItalicTextElement69, expr: &seqExpr{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 674, col: 21, offset: 21783}, + pos: position{line: 672, col: 21, offset: 21646}, label: "start", expr: &choiceExpr{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, run: (*parser).callonDoubleQuoteItalicTextElement74, expr: &charClassMatcher{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -45403,12 +49493,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, run: (*parser).callonDoubleQuoteItalicTextElement76, expr: &oneOrMoreExpr{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, expr: &charClassMatcher{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -45425,7 +49515,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 670, col: 79, offset: 21672}, + pos: position{line: 668, col: 79, offset: 21535}, val: "}", ignoreCase: false, want: "\"}\"", @@ -45434,28 +49524,83 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 659, col: 5, offset: 21191}, + pos: position{line: 650, col: 5, offset: 20786}, run: (*parser).callonDoubleQuoteItalicTextElement80, expr: &seqExpr{ - pos: position{line: 659, col: 5, offset: 21191}, + pos: position{line: 650, col: 5, offset: 20786}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 659, col: 5, offset: 21191}, + pos: position{line: 650, col: 5, offset: 20786}, + val: "\\{", + ignoreCase: false, + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 650, col: 13, offset: 20794}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + run: (*parser).callonDoubleQuoteItalicTextElement84, + expr: &seqExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 324, col: 18, offset: 10054}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 324, col: 28, offset: 10064}, + expr: &charClassMatcher{ + pos: position{line: 324, col: 29, offset: 10065}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 650, col: 32, offset: 20813}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 657, col: 5, offset: 21054}, + run: (*parser).callonDoubleQuoteItalicTextElement90, + expr: &seqExpr{ + pos: position{line: 657, col: 5, offset: 21054}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 657, col: 5, offset: 21054}, val: "{", ignoreCase: false, want: "\"{\"", }, &labeledExpr{ - pos: position{line: 659, col: 9, offset: 21195}, + pos: position{line: 657, col: 9, offset: 21058}, label: "name", expr: &actionExpr{ - pos: position{line: 332, col: 18, offset: 10393}, - run: (*parser).callonDoubleQuoteItalicTextElement84, + pos: position{line: 324, col: 18, offset: 10054}, + run: (*parser).callonDoubleQuoteItalicTextElement94, expr: &seqExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -45464,9 +49609,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 332, col: 28, offset: 10403}, + pos: position{line: 324, col: 28, offset: 10064}, expr: &charClassMatcher{ - pos: position{line: 332, col: 29, offset: 10404}, + pos: position{line: 324, col: 29, offset: 10065}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -45480,7 +49625,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 659, col: 28, offset: 21214}, + pos: position{line: 657, col: 28, offset: 21077}, val: "}", ignoreCase: false, want: "\"}\"", @@ -45495,53 +49640,53 @@ var g = &grammar{ }, }, &ruleRefExpr{ - pos: position{line: 1957, col: 11, offset: 64642}, + pos: position{line: 2006, col: 11, offset: 65761}, name: "InlineMacro", }, &actionExpr{ - pos: position{line: 2599, col: 5, offset: 86909}, - run: (*parser).callonDoubleQuoteItalicTextElement91, + pos: position{line: 2743, col: 5, offset: 89823}, + run: (*parser).callonDoubleQuoteItalicTextElement101, expr: &seqExpr{ - pos: position{line: 2599, col: 5, offset: 86909}, + pos: position{line: 2743, col: 5, offset: 89823}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 2599, col: 5, offset: 86909}, - run: (*parser).callonDoubleQuoteItalicTextElement93, + pos: position{line: 2743, col: 5, offset: 89823}, + run: (*parser).callonDoubleQuoteItalicTextElement103, }, &labeledExpr{ - pos: position{line: 2602, col: 5, offset: 86985}, + pos: position{line: 2746, col: 5, offset: 89899}, label: "element", expr: &choiceExpr{ - pos: position{line: 2604, col: 9, offset: 87083}, + pos: position{line: 2748, col: 9, offset: 89997}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2604, col: 9, offset: 87083}, - run: (*parser).callonDoubleQuoteItalicTextElement96, + pos: position{line: 2748, col: 9, offset: 89997}, + run: (*parser).callonDoubleQuoteItalicTextElement106, expr: &choiceExpr{ - pos: position{line: 694, col: 27, offset: 22498}, + pos: position{line: 692, col: 27, offset: 22361}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 694, col: 27, offset: 22498}, - run: (*parser).callonDoubleQuoteItalicTextElement98, + pos: position{line: 692, col: 27, offset: 22361}, + run: (*parser).callonDoubleQuoteItalicTextElement108, expr: &seqExpr{ - pos: position{line: 694, col: 27, offset: 22498}, + pos: position{line: 692, col: 27, offset: 22361}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 694, col: 27, offset: 22498}, + pos: position{line: 692, col: 27, offset: 22361}, val: "<<", ignoreCase: false, want: "\"<<\"", }, &labeledExpr{ - pos: position{line: 694, col: 32, offset: 22503}, + pos: position{line: 692, col: 32, offset: 22366}, label: "id", expr: &actionExpr{ - pos: position{line: 2884, col: 7, offset: 95839}, - run: (*parser).callonDoubleQuoteItalicTextElement102, + pos: position{line: 3043, col: 7, offset: 99263}, + run: (*parser).callonDoubleQuoteItalicTextElement112, expr: &oneOrMoreExpr{ - pos: position{line: 2884, col: 7, offset: 95839}, + pos: position{line: 3043, col: 7, offset: 99263}, expr: &charClassMatcher{ - pos: position{line: 2884, col: 7, offset: 95839}, + pos: position{line: 3043, col: 7, offset: 99263}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -45551,12 +49696,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 694, col: 40, offset: 22511}, + pos: position{line: 692, col: 40, offset: 22374}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, - run: (*parser).callonDoubleQuoteItalicTextElement106, + pos: position{line: 3058, col: 10, offset: 99611}, + run: (*parser).callonDoubleQuoteItalicTextElement116, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -45565,27 +49710,27 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 694, col: 47, offset: 22518}, + pos: position{line: 692, col: 47, offset: 22381}, val: ",", ignoreCase: false, want: "\",\"", }, &labeledExpr{ - pos: position{line: 694, col: 51, offset: 22522}, + pos: position{line: 692, col: 51, offset: 22385}, label: "label", expr: &oneOrMoreExpr{ - pos: position{line: 704, col: 24, offset: 22923}, + pos: position{line: 702, col: 24, offset: 22786}, expr: &choiceExpr{ - pos: position{line: 705, col: 5, offset: 22929}, + pos: position{line: 703, col: 5, offset: 22792}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 705, col: 6, offset: 22930}, - run: (*parser).callonDoubleQuoteItalicTextElement112, + pos: position{line: 703, col: 6, offset: 22793}, + run: (*parser).callonDoubleQuoteItalicTextElement122, expr: &seqExpr{ - pos: position{line: 705, col: 6, offset: 22930}, + pos: position{line: 703, col: 6, offset: 22793}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 705, col: 6, offset: 22930}, + pos: position{line: 703, col: 6, offset: 22793}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -45593,9 +49738,9 @@ var g = &grammar{ inverted: false, }, &oneOrMoreExpr{ - pos: position{line: 705, col: 14, offset: 22938}, + pos: position{line: 703, col: 14, offset: 22801}, expr: &charClassMatcher{ - pos: position{line: 705, col: 14, offset: 22938}, + pos: position{line: 703, col: 14, offset: 22801}, val: "[^\\r\\n{<>]", chars: []rune{'\r', '\n', '{', '<', '>'}, ignoreCase: false, @@ -45606,28 +49751,83 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 659, col: 5, offset: 21191}, - run: (*parser).callonDoubleQuoteItalicTextElement117, + pos: position{line: 650, col: 5, offset: 20786}, + run: (*parser).callonDoubleQuoteItalicTextElement127, expr: &seqExpr{ - pos: position{line: 659, col: 5, offset: 21191}, + pos: position{line: 650, col: 5, offset: 20786}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 659, col: 5, offset: 21191}, + pos: position{line: 650, col: 5, offset: 20786}, + val: "\\{", + ignoreCase: false, + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 650, col: 13, offset: 20794}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + run: (*parser).callonDoubleQuoteItalicTextElement131, + expr: &seqExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 324, col: 18, offset: 10054}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 324, col: 28, offset: 10064}, + expr: &charClassMatcher{ + pos: position{line: 324, col: 29, offset: 10065}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 650, col: 32, offset: 20813}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 657, col: 5, offset: 21054}, + run: (*parser).callonDoubleQuoteItalicTextElement137, + expr: &seqExpr{ + pos: position{line: 657, col: 5, offset: 21054}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 657, col: 5, offset: 21054}, val: "{", ignoreCase: false, want: "\"{\"", }, &labeledExpr{ - pos: position{line: 659, col: 9, offset: 21195}, + pos: position{line: 657, col: 9, offset: 21058}, label: "name", expr: &actionExpr{ - pos: position{line: 332, col: 18, offset: 10393}, - run: (*parser).callonDoubleQuoteItalicTextElement121, + pos: position{line: 324, col: 18, offset: 10054}, + run: (*parser).callonDoubleQuoteItalicTextElement141, expr: &seqExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -45636,9 +49836,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 332, col: 28, offset: 10403}, + pos: position{line: 324, col: 28, offset: 10064}, expr: &charClassMatcher{ - pos: position{line: 332, col: 29, offset: 10404}, + pos: position{line: 324, col: 29, offset: 10065}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -45652,7 +49852,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 659, col: 28, offset: 21214}, + pos: position{line: 657, col: 28, offset: 21077}, val: "}", ignoreCase: false, want: "\"}\"", @@ -45661,10 +49861,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 709, col: 8, offset: 23164}, - run: (*parser).callonDoubleQuoteItalicTextElement127, + pos: position{line: 707, col: 8, offset: 23027}, + run: (*parser).callonDoubleQuoteItalicTextElement147, expr: &litMatcher{ - pos: position{line: 709, col: 8, offset: 23164}, + pos: position{line: 707, col: 8, offset: 23027}, val: "{", ignoreCase: false, want: "\"{\"", @@ -45675,7 +49875,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 694, col: 79, offset: 22550}, + pos: position{line: 692, col: 79, offset: 22413}, val: ">>", ignoreCase: false, want: "\">>\"", @@ -45684,27 +49884,27 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 696, col: 9, offset: 22623}, - run: (*parser).callonDoubleQuoteItalicTextElement130, + pos: position{line: 694, col: 9, offset: 22486}, + run: (*parser).callonDoubleQuoteItalicTextElement150, expr: &seqExpr{ - pos: position{line: 696, col: 9, offset: 22623}, + pos: position{line: 694, col: 9, offset: 22486}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 696, col: 9, offset: 22623}, + pos: position{line: 694, col: 9, offset: 22486}, val: "<<", ignoreCase: false, want: "\"<<\"", }, &labeledExpr{ - pos: position{line: 696, col: 14, offset: 22628}, + pos: position{line: 694, col: 14, offset: 22491}, label: "id", expr: &actionExpr{ - pos: position{line: 2884, col: 7, offset: 95839}, - run: (*parser).callonDoubleQuoteItalicTextElement134, + pos: position{line: 3043, col: 7, offset: 99263}, + run: (*parser).callonDoubleQuoteItalicTextElement154, expr: &oneOrMoreExpr{ - pos: position{line: 2884, col: 7, offset: 95839}, + pos: position{line: 3043, col: 7, offset: 99263}, expr: &charClassMatcher{ - pos: position{line: 2884, col: 7, offset: 95839}, + pos: position{line: 3043, col: 7, offset: 99263}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -45714,7 +49914,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 696, col: 22, offset: 22636}, + pos: position{line: 694, col: 22, offset: 22499}, val: ">>", ignoreCase: false, want: "\">>\"", @@ -45726,10 +49926,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2607, col: 11, offset: 87187}, - run: (*parser).callonDoubleQuoteItalicTextElement138, + pos: position{line: 2751, col: 11, offset: 90101}, + run: (*parser).callonDoubleQuoteItalicTextElement158, expr: &charClassMatcher{ - pos: position{line: 2607, col: 12, offset: 87188}, + pos: position{line: 2751, col: 12, offset: 90102}, val: "[<>&]", chars: []rune{'<', '>', '&'}, ignoreCase: false, @@ -45743,63 +49943,133 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2632, col: 15, offset: 88155}, - run: (*parser).callonDoubleQuoteItalicTextElement140, + pos: position{line: 2776, col: 5, offset: 90995}, + run: (*parser).callonDoubleQuoteItalicTextElement160, + expr: &seqExpr{ + pos: position{line: 2776, col: 5, offset: 90995}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2776, col: 5, offset: 90995}, + val: "\\", + ignoreCase: false, + want: "\"\\\\\"", + }, + &choiceExpr{ + pos: position{line: 2776, col: 10, offset: 91000}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2784, col: 15, offset: 91276}, + run: (*parser).callonDoubleQuoteItalicTextElement164, + expr: &litMatcher{ + pos: position{line: 2784, col: 15, offset: 91276}, + val: "`'", + ignoreCase: false, + want: "\"`'\"", + }, + }, + &actionExpr{ + pos: position{line: 2790, col: 14, offset: 91391}, + run: (*parser).callonDoubleQuoteItalicTextElement166, + expr: &litMatcher{ + pos: position{line: 2790, col: 14, offset: 91391}, + val: "(C)", + ignoreCase: false, + want: "\"(C)\"", + }, + }, + &actionExpr{ + pos: position{line: 2794, col: 14, offset: 91467}, + run: (*parser).callonDoubleQuoteItalicTextElement168, + expr: &litMatcher{ + pos: position{line: 2794, col: 14, offset: 91467}, + val: "(TM)", + ignoreCase: false, + want: "\"(TM)\"", + }, + }, + &actionExpr{ + pos: position{line: 2798, col: 15, offset: 91545}, + run: (*parser).callonDoubleQuoteItalicTextElement170, + expr: &litMatcher{ + pos: position{line: 2798, col: 15, offset: 91545}, + val: "(R)", + ignoreCase: false, + want: "\"(R)\"", + }, + }, + &actionExpr{ + pos: position{line: 2802, col: 13, offset: 91620}, + run: (*parser).callonDoubleQuoteItalicTextElement172, + expr: &litMatcher{ + pos: position{line: 2802, col: 13, offset: 91620}, + val: "...", + ignoreCase: false, + want: "\"...\"", + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2784, col: 15, offset: 91276}, + run: (*parser).callonDoubleQuoteItalicTextElement174, expr: &litMatcher{ - pos: position{line: 2632, col: 15, offset: 88155}, + pos: position{line: 2784, col: 15, offset: 91276}, val: "`'", ignoreCase: false, want: "\"`'\"", }, }, &actionExpr{ - pos: position{line: 2638, col: 14, offset: 88270}, - run: (*parser).callonDoubleQuoteItalicTextElement142, + pos: position{line: 2790, col: 14, offset: 91391}, + run: (*parser).callonDoubleQuoteItalicTextElement176, expr: &litMatcher{ - pos: position{line: 2638, col: 14, offset: 88270}, + pos: position{line: 2790, col: 14, offset: 91391}, val: "(C)", ignoreCase: false, want: "\"(C)\"", }, }, &actionExpr{ - pos: position{line: 2642, col: 14, offset: 88346}, - run: (*parser).callonDoubleQuoteItalicTextElement144, + pos: position{line: 2794, col: 14, offset: 91467}, + run: (*parser).callonDoubleQuoteItalicTextElement178, expr: &litMatcher{ - pos: position{line: 2642, col: 14, offset: 88346}, + pos: position{line: 2794, col: 14, offset: 91467}, val: "(TM)", ignoreCase: false, want: "\"(TM)\"", }, }, &actionExpr{ - pos: position{line: 2646, col: 15, offset: 88424}, - run: (*parser).callonDoubleQuoteItalicTextElement146, + pos: position{line: 2798, col: 15, offset: 91545}, + run: (*parser).callonDoubleQuoteItalicTextElement180, expr: &litMatcher{ - pos: position{line: 2646, col: 15, offset: 88424}, + pos: position{line: 2798, col: 15, offset: 91545}, val: "(R)", ignoreCase: false, want: "\"(R)\"", }, }, &actionExpr{ - pos: position{line: 2650, col: 13, offset: 88499}, - run: (*parser).callonDoubleQuoteItalicTextElement148, + pos: position{line: 2802, col: 13, offset: 91620}, + run: (*parser).callonDoubleQuoteItalicTextElement182, expr: &litMatcher{ - pos: position{line: 2650, col: 13, offset: 88499}, + pos: position{line: 2802, col: 13, offset: 91620}, val: "...", ignoreCase: false, want: "\"...\"", }, }, &actionExpr{ - pos: position{line: 2658, col: 22, offset: 88805}, - run: (*parser).callonDoubleQuoteItalicTextElement150, + pos: position{line: 2811, col: 5, offset: 91944}, + run: (*parser).callonDoubleQuoteItalicTextElement184, expr: &seqExpr{ - pos: position{line: 2658, col: 22, offset: 88805}, + pos: position{line: 2811, col: 5, offset: 91944}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 2813, col: 13, offset: 93503}, + pos: position{line: 2972, col: 13, offset: 96927}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -45807,15 +50077,48 @@ var g = &grammar{ inverted: false, }, &litMatcher{ - pos: position{line: 2658, col: 31, offset: 88814}, + pos: position{line: 2811, col: 14, offset: 91953}, + val: "\\'", + ignoreCase: false, + want: "\"\\\\'\"", + }, + &andExpr{ + pos: position{line: 2811, col: 19, offset: 91958}, + expr: &charClassMatcher{ + pos: position{line: 2811, col: 20, offset: 91959}, + val: "[\\pL]", + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2817, col: 5, offset: 92190}, + run: (*parser).callonDoubleQuoteItalicTextElement190, + expr: &seqExpr{ + pos: position{line: 2817, col: 5, offset: 92190}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 2972, col: 13, offset: 96927}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &litMatcher{ + pos: position{line: 2817, col: 14, offset: 92199}, val: "'", ignoreCase: false, want: "\"'\"", }, &andExpr{ - pos: position{line: 2658, col: 35, offset: 88818}, + pos: position{line: 2817, col: 18, offset: 92203}, expr: &charClassMatcher{ - pos: position{line: 2658, col: 36, offset: 88819}, + pos: position{line: 2817, col: 19, offset: 92204}, val: "[\\pL]", classes: []*unicode.RangeTable{rangeTable("L")}, ignoreCase: false, @@ -45826,35 +50129,35 @@ var g = &grammar{ }, }, &ruleRefExpr{ - pos: position{line: 1960, col: 11, offset: 64758}, + pos: position{line: 2009, col: 11, offset: 65877}, name: "QuotedString", }, &ruleRefExpr{ - pos: position{line: 1961, col: 11, offset: 64781}, + pos: position{line: 2010, col: 11, offset: 65900}, name: "QuotedTextInDoubleQuoteItalicText", }, &actionExpr{ - pos: position{line: 1122, col: 23, offset: 34991}, - run: (*parser).callonDoubleQuoteItalicTextElement158, + pos: position{line: 1120, col: 23, offset: 34854}, + run: (*parser).callonDoubleQuoteItalicTextElement198, expr: &seqExpr{ - pos: position{line: 1122, col: 23, offset: 34991}, + pos: position{line: 1120, col: 23, offset: 34854}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1120, col: 32, offset: 34959}, + pos: position{line: 1118, col: 32, offset: 34822}, val: "�", ignoreCase: false, want: "\"�\"", }, &labeledExpr{ - pos: position{line: 1122, col: 51, offset: 35019}, + pos: position{line: 1120, col: 51, offset: 34882}, label: "ref", expr: &actionExpr{ - pos: position{line: 1122, col: 56, offset: 35024}, - run: (*parser).callonDoubleQuoteItalicTextElement162, + pos: position{line: 1120, col: 56, offset: 34887}, + run: (*parser).callonDoubleQuoteItalicTextElement202, expr: &oneOrMoreExpr{ - pos: position{line: 1122, col: 56, offset: 35024}, + pos: position{line: 1120, col: 56, offset: 34887}, expr: &charClassMatcher{ - pos: position{line: 1122, col: 56, offset: 35024}, + pos: position{line: 1120, col: 56, offset: 34887}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -45864,7 +50167,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1120, col: 32, offset: 34959}, + pos: position{line: 1118, col: 32, offset: 34822}, val: "�", ignoreCase: false, want: "\"�\"", @@ -45873,31 +50176,31 @@ var g = &grammar{ }, }, &charClassMatcher{ - pos: position{line: 1979, col: 5, offset: 65292}, + pos: position{line: 2041, col: 5, offset: 66680}, val: "[^\\r\\n_]", chars: []rune{'\r', '\n', '_'}, ignoreCase: false, inverted: true, }, &actionExpr{ - pos: position{line: 1980, col: 7, offset: 65391}, - run: (*parser).callonDoubleQuoteItalicTextElement167, + pos: position{line: 2042, col: 7, offset: 66779}, + run: (*parser).callonDoubleQuoteItalicTextElement207, expr: &seqExpr{ - pos: position{line: 1980, col: 7, offset: 65391}, + pos: position{line: 2042, col: 7, offset: 66779}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1980, col: 7, offset: 65391}, + pos: position{line: 2042, col: 7, offset: 66779}, val: "__", ignoreCase: false, want: "\"__\"", }, &actionExpr{ - pos: position{line: 2817, col: 14, offset: 93577}, - run: (*parser).callonDoubleQuoteItalicTextElement170, + pos: position{line: 2976, col: 14, offset: 97001}, + run: (*parser).callonDoubleQuoteItalicTextElement210, expr: &oneOrMoreExpr{ - pos: position{line: 2817, col: 14, offset: 93577}, + pos: position{line: 2976, col: 14, offset: 97001}, expr: &charClassMatcher{ - pos: position{line: 2817, col: 14, offset: 93577}, + pos: position{line: 2976, col: 14, offset: 97001}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -45918,53 +50221,105 @@ var g = &grammar{ }, { name: "QuotedTextInDoubleQuoteItalicText", - pos: position{line: 1967, col: 1, offset: 64939}, - expr: &actionExpr{ - pos: position{line: 1968, col: 5, offset: 64981}, - run: (*parser).callonQuotedTextInDoubleQuoteItalicText1, - expr: &seqExpr{ - pos: position{line: 1968, col: 5, offset: 64981}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 1968, col: 5, offset: 64981}, - label: "attributes", - expr: &zeroOrOneExpr{ - pos: position{line: 1968, col: 16, offset: 64992}, - expr: &ruleRefExpr{ - pos: position{line: 1968, col: 17, offset: 64993}, - name: "LongHandAttributes", + pos: position{line: 2016, col: 1, offset: 66058}, + expr: &choiceExpr{ + pos: position{line: 2018, col: 5, offset: 66123}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2018, col: 5, offset: 66123}, + run: (*parser).callonQuotedTextInDoubleQuoteItalicText2, + expr: &seqExpr{ + pos: position{line: 2018, col: 5, offset: 66123}, + exprs: []interface{}{ + &andExpr{ + pos: position{line: 2018, col: 5, offset: 66123}, + expr: &litMatcher{ + pos: position{line: 2018, col: 7, offset: 66125}, + val: "\\", + ignoreCase: false, + want: "\"\\\\\"", + }, + }, + &labeledExpr{ + pos: position{line: 2019, col: 5, offset: 66134}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 2020, col: 9, offset: 66152}, + alternatives: []interface{}{ + &ruleRefExpr{ + pos: position{line: 2020, col: 9, offset: 66152}, + name: "EscapedBoldText", + }, + &ruleRefExpr{ + pos: position{line: 2021, col: 11, offset: 66179}, + name: "EscapedMarkedText", + }, + &ruleRefExpr{ + pos: position{line: 2022, col: 11, offset: 66207}, + name: "EscapedMonospaceText", + }, + &ruleRefExpr{ + pos: position{line: 2023, col: 11, offset: 66238}, + name: "EscapedSubscriptText", + }, + &ruleRefExpr{ + pos: position{line: 2024, col: 11, offset: 66269}, + name: "EscapedSuperscriptText", + }, + }, + }, }, }, }, - &labeledExpr{ - pos: position{line: 1969, col: 5, offset: 65019}, - label: "text", - expr: &choiceExpr{ - pos: position{line: 1969, col: 11, offset: 65025}, - alternatives: []interface{}{ - &ruleRefExpr{ - pos: position{line: 1969, col: 11, offset: 65025}, - name: "SingleQuoteItalicText", - }, - &ruleRefExpr{ - pos: position{line: 1970, col: 11, offset: 65057}, - name: "BoldText", - }, - &ruleRefExpr{ - pos: position{line: 1971, col: 11, offset: 65076}, - name: "MarkedText", - }, - &ruleRefExpr{ - pos: position{line: 1972, col: 11, offset: 65097}, - name: "MonospaceText", - }, - &ruleRefExpr{ - pos: position{line: 1973, col: 11, offset: 65121}, - name: "SubscriptText", + }, + &actionExpr{ + pos: position{line: 2030, col: 5, offset: 66369}, + run: (*parser).callonQuotedTextInDoubleQuoteItalicText13, + expr: &seqExpr{ + pos: position{line: 2030, col: 5, offset: 66369}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 2030, col: 5, offset: 66369}, + label: "attributes", + expr: &zeroOrOneExpr{ + pos: position{line: 2030, col: 16, offset: 66380}, + expr: &ruleRefExpr{ + pos: position{line: 2030, col: 17, offset: 66381}, + name: "LongHandAttributes", + }, }, - &ruleRefExpr{ - pos: position{line: 1974, col: 11, offset: 65145}, - name: "SuperscriptText", + }, + &labeledExpr{ + pos: position{line: 2031, col: 5, offset: 66407}, + label: "text", + expr: &choiceExpr{ + pos: position{line: 2031, col: 11, offset: 66413}, + alternatives: []interface{}{ + &ruleRefExpr{ + pos: position{line: 2031, col: 11, offset: 66413}, + name: "SingleQuoteItalicText", + }, + &ruleRefExpr{ + pos: position{line: 2032, col: 11, offset: 66445}, + name: "BoldText", + }, + &ruleRefExpr{ + pos: position{line: 2033, col: 11, offset: 66464}, + name: "MarkedText", + }, + &ruleRefExpr{ + pos: position{line: 2034, col: 11, offset: 66485}, + name: "MonospaceText", + }, + &ruleRefExpr{ + pos: position{line: 2035, col: 11, offset: 66509}, + name: "SubscriptText", + }, + &ruleRefExpr{ + pos: position{line: 2036, col: 11, offset: 66533}, + name: "SuperscriptText", + }, + }, }, }, }, @@ -45975,29 +50330,29 @@ var g = &grammar{ }, { name: "SingleQuoteItalicText", - pos: position{line: 1991, col: 1, offset: 65767}, + pos: position{line: 2053, col: 1, offset: 67155}, expr: &actionExpr{ - pos: position{line: 1992, col: 5, offset: 65797}, + pos: position{line: 2054, col: 5, offset: 67185}, run: (*parser).callonSingleQuoteItalicText1, expr: &seqExpr{ - pos: position{line: 1992, col: 5, offset: 65797}, + pos: position{line: 2054, col: 5, offset: 67185}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1987, col: 40, offset: 65718}, + pos: position{line: 2049, col: 40, offset: 67106}, val: "_", ignoreCase: false, want: "\"_\"", }, &labeledExpr{ - pos: position{line: 1993, col: 5, offset: 65837}, + pos: position{line: 2055, col: 5, offset: 67225}, label: "elements", expr: &ruleRefExpr{ - pos: position{line: 1993, col: 15, offset: 65847}, + pos: position{line: 2055, col: 15, offset: 67235}, name: "SingleQuoteItalicTextElements", }, }, &litMatcher{ - pos: position{line: 1989, col: 38, offset: 65761}, + pos: position{line: 2051, col: 38, offset: 67149}, val: "_", ignoreCase: false, want: "\"_\"", @@ -46008,29 +50363,29 @@ var g = &grammar{ }, { name: "SingleQuoteItalicTextElements", - pos: position{line: 1998, col: 1, offset: 66014}, + pos: position{line: 2060, col: 1, offset: 67402}, expr: &actionExpr{ - pos: position{line: 1999, col: 5, offset: 66052}, + pos: position{line: 2061, col: 5, offset: 67440}, run: (*parser).callonSingleQuoteItalicTextElements1, expr: &seqExpr{ - pos: position{line: 1999, col: 5, offset: 66052}, + pos: position{line: 2061, col: 5, offset: 67440}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 1999, col: 5, offset: 66052}, + pos: position{line: 2061, col: 5, offset: 67440}, expr: ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, ¬Expr{ - pos: position{line: 1999, col: 10, offset: 66057}, + pos: position{line: 2061, col: 10, offset: 67445}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonSingleQuoteItalicTextElements7, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -46039,18 +50394,18 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 2000, col: 5, offset: 66096}, + pos: position{line: 2062, col: 5, offset: 67484}, label: "elements", expr: &oneOrMoreExpr{ - pos: position{line: 2000, col: 14, offset: 66105}, + pos: position{line: 2062, col: 14, offset: 67493}, expr: &ruleRefExpr{ - pos: position{line: 2000, col: 15, offset: 66106}, + pos: position{line: 2062, col: 15, offset: 67494}, name: "SingleQuoteItalicTextElement", }, }, }, &andCodeExpr{ - pos: position{line: 2001, col: 5, offset: 66141}, + pos: position{line: 2063, col: 5, offset: 67529}, run: (*parser).callonSingleQuoteItalicTextElements12, }, }, @@ -46059,20 +50414,20 @@ var g = &grammar{ }, { name: "SingleQuoteItalicTextElement", - pos: position{line: 2007, col: 1, offset: 66282}, + pos: position{line: 2069, col: 1, offset: 67670}, expr: &choiceExpr{ - pos: position{line: 2008, col: 5, offset: 66319}, + pos: position{line: 2070, col: 5, offset: 67707}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1932, col: 5, offset: 63783}, + pos: position{line: 1981, col: 5, offset: 64902}, run: (*parser).callonSingleQuoteItalicTextElement2, expr: &seqExpr{ - pos: position{line: 1932, col: 5, offset: 63783}, + pos: position{line: 1981, col: 5, offset: 64902}, exprs: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 1932, col: 5, offset: 63783}, + pos: position{line: 1981, col: 5, offset: 64902}, expr: &charClassMatcher{ - pos: position{line: 1932, col: 5, offset: 63783}, + pos: position{line: 1981, col: 5, offset: 64902}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -46081,15 +50436,15 @@ var g = &grammar{ }, }, &andExpr{ - pos: position{line: 1932, col: 15, offset: 63793}, + pos: position{line: 1981, col: 15, offset: 64912}, expr: &choiceExpr{ - pos: position{line: 1932, col: 17, offset: 63795}, + pos: position{line: 1981, col: 17, offset: 64914}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonSingleQuoteItalicTextElement8, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -46097,7 +50452,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1929, col: 24, offset: 63755}, + pos: position{line: 1978, col: 24, offset: 64874}, val: "_", ignoreCase: false, want: "\"_\"", @@ -46109,12 +50464,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2903, col: 11, offset: 96254}, + pos: position{line: 3062, col: 11, offset: 99678}, run: (*parser).callonSingleQuoteItalicTextElement11, expr: &oneOrMoreExpr{ - pos: position{line: 2903, col: 11, offset: 96254}, + pos: position{line: 3062, col: 11, offset: 99678}, expr: &charClassMatcher{ - pos: position{line: 2903, col: 12, offset: 96255}, + pos: position{line: 3062, col: 12, offset: 99679}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -46123,28 +50478,28 @@ var g = &grammar{ }, }, &seqExpr{ - pos: position{line: 2010, col: 7, offset: 66353}, + pos: position{line: 2072, col: 7, offset: 67741}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonSingleQuoteItalicTextElement15, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -46153,27 +50508,27 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2010, col: 15, offset: 66361}, + pos: position{line: 2072, col: 15, offset: 67749}, expr: &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonSingleQuoteItalicTextElement21, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -46185,44 +50540,44 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 651, col: 5, offset: 21000}, + pos: position{line: 641, col: 5, offset: 20579}, run: (*parser).callonSingleQuoteItalicTextElement26, expr: &seqExpr{ - pos: position{line: 651, col: 5, offset: 21000}, + pos: position{line: 641, col: 5, offset: 20579}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 651, col: 5, offset: 21000}, + pos: position{line: 641, col: 5, offset: 20579}, run: (*parser).callonSingleQuoteItalicTextElement28, }, &labeledExpr{ - pos: position{line: 654, col: 5, offset: 21069}, + pos: position{line: 644, col: 5, offset: 20648}, label: "element", expr: &choiceExpr{ - pos: position{line: 654, col: 14, offset: 21078}, + pos: position{line: 644, col: 14, offset: 20657}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 666, col: 25, offset: 21447}, + pos: position{line: 664, col: 25, offset: 21310}, run: (*parser).callonSingleQuoteItalicTextElement31, expr: &seqExpr{ - pos: position{line: 666, col: 25, offset: 21447}, + pos: position{line: 664, col: 25, offset: 21310}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 666, col: 25, offset: 21447}, + pos: position{line: 664, col: 25, offset: 21310}, val: "{counter:", ignoreCase: false, want: "\"{counter:\"", }, &labeledExpr{ - pos: position{line: 666, col: 37, offset: 21459}, + pos: position{line: 664, col: 37, offset: 21322}, label: "name", expr: &actionExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, run: (*parser).callonSingleQuoteItalicTextElement35, expr: &seqExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -46231,9 +50586,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 332, col: 28, offset: 10403}, + pos: position{line: 324, col: 28, offset: 10064}, expr: &charClassMatcher{ - pos: position{line: 332, col: 29, offset: 10404}, + pos: position{line: 324, col: 29, offset: 10065}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -46247,33 +50602,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 666, col: 56, offset: 21478}, + pos: position{line: 664, col: 56, offset: 21341}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 666, col: 62, offset: 21484}, + pos: position{line: 664, col: 62, offset: 21347}, expr: &actionExpr{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, run: (*parser).callonSingleQuoteItalicTextElement42, expr: &seqExpr{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 674, col: 21, offset: 21783}, + pos: position{line: 672, col: 21, offset: 21646}, label: "start", expr: &choiceExpr{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, run: (*parser).callonSingleQuoteItalicTextElement47, expr: &charClassMatcher{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -46281,12 +50636,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, run: (*parser).callonSingleQuoteItalicTextElement49, expr: &oneOrMoreExpr{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, expr: &charClassMatcher{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -46303,7 +50658,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 666, col: 78, offset: 21500}, + pos: position{line: 664, col: 78, offset: 21363}, val: "}", ignoreCase: false, want: "\"}\"", @@ -46312,28 +50667,28 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 670, col: 25, offset: 21618}, + pos: position{line: 668, col: 25, offset: 21481}, run: (*parser).callonSingleQuoteItalicTextElement53, expr: &seqExpr{ - pos: position{line: 670, col: 25, offset: 21618}, + pos: position{line: 668, col: 25, offset: 21481}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 670, col: 25, offset: 21618}, + pos: position{line: 668, col: 25, offset: 21481}, val: "{counter2:", ignoreCase: false, want: "\"{counter2:\"", }, &labeledExpr{ - pos: position{line: 670, col: 38, offset: 21631}, + pos: position{line: 668, col: 38, offset: 21494}, label: "name", expr: &actionExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, run: (*parser).callonSingleQuoteItalicTextElement57, expr: &seqExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -46342,9 +50697,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 332, col: 28, offset: 10403}, + pos: position{line: 324, col: 28, offset: 10064}, expr: &charClassMatcher{ - pos: position{line: 332, col: 29, offset: 10404}, + pos: position{line: 324, col: 29, offset: 10065}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -46358,33 +50713,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 670, col: 57, offset: 21650}, + pos: position{line: 668, col: 57, offset: 21513}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 670, col: 63, offset: 21656}, + pos: position{line: 668, col: 63, offset: 21519}, expr: &actionExpr{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, run: (*parser).callonSingleQuoteItalicTextElement64, expr: &seqExpr{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 674, col: 21, offset: 21783}, + pos: position{line: 672, col: 21, offset: 21646}, label: "start", expr: &choiceExpr{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, run: (*parser).callonSingleQuoteItalicTextElement69, expr: &charClassMatcher{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -46392,12 +50747,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, run: (*parser).callonSingleQuoteItalicTextElement71, expr: &oneOrMoreExpr{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, expr: &charClassMatcher{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -46414,7 +50769,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 670, col: 79, offset: 21672}, + pos: position{line: 668, col: 79, offset: 21535}, val: "}", ignoreCase: false, want: "\"}\"", @@ -46423,28 +50778,83 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 659, col: 5, offset: 21191}, + pos: position{line: 650, col: 5, offset: 20786}, run: (*parser).callonSingleQuoteItalicTextElement75, expr: &seqExpr{ - pos: position{line: 659, col: 5, offset: 21191}, + pos: position{line: 650, col: 5, offset: 20786}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 650, col: 5, offset: 20786}, + val: "\\{", + ignoreCase: false, + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 650, col: 13, offset: 20794}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + run: (*parser).callonSingleQuoteItalicTextElement79, + expr: &seqExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 324, col: 18, offset: 10054}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 324, col: 28, offset: 10064}, + expr: &charClassMatcher{ + pos: position{line: 324, col: 29, offset: 10065}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 650, col: 32, offset: 20813}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 657, col: 5, offset: 21054}, + run: (*parser).callonSingleQuoteItalicTextElement85, + expr: &seqExpr{ + pos: position{line: 657, col: 5, offset: 21054}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 659, col: 5, offset: 21191}, + pos: position{line: 657, col: 5, offset: 21054}, val: "{", ignoreCase: false, want: "\"{\"", }, &labeledExpr{ - pos: position{line: 659, col: 9, offset: 21195}, + pos: position{line: 657, col: 9, offset: 21058}, label: "name", expr: &actionExpr{ - pos: position{line: 332, col: 18, offset: 10393}, - run: (*parser).callonSingleQuoteItalicTextElement79, + pos: position{line: 324, col: 18, offset: 10054}, + run: (*parser).callonSingleQuoteItalicTextElement89, expr: &seqExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -46453,9 +50863,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 332, col: 28, offset: 10403}, + pos: position{line: 324, col: 28, offset: 10064}, expr: &charClassMatcher{ - pos: position{line: 332, col: 29, offset: 10404}, + pos: position{line: 324, col: 29, offset: 10065}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -46469,7 +50879,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 659, col: 28, offset: 21214}, + pos: position{line: 657, col: 28, offset: 21077}, val: "}", ignoreCase: false, want: "\"}\"", @@ -46484,53 +50894,53 @@ var g = &grammar{ }, }, &ruleRefExpr{ - pos: position{line: 2012, col: 7, offset: 66435}, + pos: position{line: 2074, col: 7, offset: 67823}, name: "InlineMacro", }, &actionExpr{ - pos: position{line: 2599, col: 5, offset: 86909}, - run: (*parser).callonSingleQuoteItalicTextElement86, + pos: position{line: 2743, col: 5, offset: 89823}, + run: (*parser).callonSingleQuoteItalicTextElement96, expr: &seqExpr{ - pos: position{line: 2599, col: 5, offset: 86909}, + pos: position{line: 2743, col: 5, offset: 89823}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 2599, col: 5, offset: 86909}, - run: (*parser).callonSingleQuoteItalicTextElement88, + pos: position{line: 2743, col: 5, offset: 89823}, + run: (*parser).callonSingleQuoteItalicTextElement98, }, &labeledExpr{ - pos: position{line: 2602, col: 5, offset: 86985}, + pos: position{line: 2746, col: 5, offset: 89899}, label: "element", expr: &choiceExpr{ - pos: position{line: 2604, col: 9, offset: 87083}, + pos: position{line: 2748, col: 9, offset: 89997}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2604, col: 9, offset: 87083}, - run: (*parser).callonSingleQuoteItalicTextElement91, + pos: position{line: 2748, col: 9, offset: 89997}, + run: (*parser).callonSingleQuoteItalicTextElement101, expr: &choiceExpr{ - pos: position{line: 694, col: 27, offset: 22498}, + pos: position{line: 692, col: 27, offset: 22361}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 694, col: 27, offset: 22498}, - run: (*parser).callonSingleQuoteItalicTextElement93, + pos: position{line: 692, col: 27, offset: 22361}, + run: (*parser).callonSingleQuoteItalicTextElement103, expr: &seqExpr{ - pos: position{line: 694, col: 27, offset: 22498}, + pos: position{line: 692, col: 27, offset: 22361}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 694, col: 27, offset: 22498}, + pos: position{line: 692, col: 27, offset: 22361}, val: "<<", ignoreCase: false, want: "\"<<\"", }, &labeledExpr{ - pos: position{line: 694, col: 32, offset: 22503}, + pos: position{line: 692, col: 32, offset: 22366}, label: "id", expr: &actionExpr{ - pos: position{line: 2884, col: 7, offset: 95839}, - run: (*parser).callonSingleQuoteItalicTextElement97, + pos: position{line: 3043, col: 7, offset: 99263}, + run: (*parser).callonSingleQuoteItalicTextElement107, expr: &oneOrMoreExpr{ - pos: position{line: 2884, col: 7, offset: 95839}, + pos: position{line: 3043, col: 7, offset: 99263}, expr: &charClassMatcher{ - pos: position{line: 2884, col: 7, offset: 95839}, + pos: position{line: 3043, col: 7, offset: 99263}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -46540,12 +50950,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 694, col: 40, offset: 22511}, + pos: position{line: 692, col: 40, offset: 22374}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, - run: (*parser).callonSingleQuoteItalicTextElement101, + pos: position{line: 3058, col: 10, offset: 99611}, + run: (*parser).callonSingleQuoteItalicTextElement111, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -46554,27 +50964,27 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 694, col: 47, offset: 22518}, + pos: position{line: 692, col: 47, offset: 22381}, val: ",", ignoreCase: false, want: "\",\"", }, &labeledExpr{ - pos: position{line: 694, col: 51, offset: 22522}, + pos: position{line: 692, col: 51, offset: 22385}, label: "label", expr: &oneOrMoreExpr{ - pos: position{line: 704, col: 24, offset: 22923}, + pos: position{line: 702, col: 24, offset: 22786}, expr: &choiceExpr{ - pos: position{line: 705, col: 5, offset: 22929}, + pos: position{line: 703, col: 5, offset: 22792}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 705, col: 6, offset: 22930}, - run: (*parser).callonSingleQuoteItalicTextElement107, + pos: position{line: 703, col: 6, offset: 22793}, + run: (*parser).callonSingleQuoteItalicTextElement117, expr: &seqExpr{ - pos: position{line: 705, col: 6, offset: 22930}, + pos: position{line: 703, col: 6, offset: 22793}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 705, col: 6, offset: 22930}, + pos: position{line: 703, col: 6, offset: 22793}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -46582,9 +50992,9 @@ var g = &grammar{ inverted: false, }, &oneOrMoreExpr{ - pos: position{line: 705, col: 14, offset: 22938}, + pos: position{line: 703, col: 14, offset: 22801}, expr: &charClassMatcher{ - pos: position{line: 705, col: 14, offset: 22938}, + pos: position{line: 703, col: 14, offset: 22801}, val: "[^\\r\\n{<>]", chars: []rune{'\r', '\n', '{', '<', '>'}, ignoreCase: false, @@ -46595,28 +51005,83 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 659, col: 5, offset: 21191}, - run: (*parser).callonSingleQuoteItalicTextElement112, + pos: position{line: 650, col: 5, offset: 20786}, + run: (*parser).callonSingleQuoteItalicTextElement122, expr: &seqExpr{ - pos: position{line: 659, col: 5, offset: 21191}, + pos: position{line: 650, col: 5, offset: 20786}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 659, col: 5, offset: 21191}, + pos: position{line: 650, col: 5, offset: 20786}, + val: "\\{", + ignoreCase: false, + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 650, col: 13, offset: 20794}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + run: (*parser).callonSingleQuoteItalicTextElement126, + expr: &seqExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 324, col: 18, offset: 10054}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 324, col: 28, offset: 10064}, + expr: &charClassMatcher{ + pos: position{line: 324, col: 29, offset: 10065}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 650, col: 32, offset: 20813}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 657, col: 5, offset: 21054}, + run: (*parser).callonSingleQuoteItalicTextElement132, + expr: &seqExpr{ + pos: position{line: 657, col: 5, offset: 21054}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 657, col: 5, offset: 21054}, val: "{", ignoreCase: false, want: "\"{\"", }, &labeledExpr{ - pos: position{line: 659, col: 9, offset: 21195}, + pos: position{line: 657, col: 9, offset: 21058}, label: "name", expr: &actionExpr{ - pos: position{line: 332, col: 18, offset: 10393}, - run: (*parser).callonSingleQuoteItalicTextElement116, + pos: position{line: 324, col: 18, offset: 10054}, + run: (*parser).callonSingleQuoteItalicTextElement136, expr: &seqExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -46625,9 +51090,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 332, col: 28, offset: 10403}, + pos: position{line: 324, col: 28, offset: 10064}, expr: &charClassMatcher{ - pos: position{line: 332, col: 29, offset: 10404}, + pos: position{line: 324, col: 29, offset: 10065}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -46641,7 +51106,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 659, col: 28, offset: 21214}, + pos: position{line: 657, col: 28, offset: 21077}, val: "}", ignoreCase: false, want: "\"}\"", @@ -46650,10 +51115,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 709, col: 8, offset: 23164}, - run: (*parser).callonSingleQuoteItalicTextElement122, + pos: position{line: 707, col: 8, offset: 23027}, + run: (*parser).callonSingleQuoteItalicTextElement142, expr: &litMatcher{ - pos: position{line: 709, col: 8, offset: 23164}, + pos: position{line: 707, col: 8, offset: 23027}, val: "{", ignoreCase: false, want: "\"{\"", @@ -46664,7 +51129,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 694, col: 79, offset: 22550}, + pos: position{line: 692, col: 79, offset: 22413}, val: ">>", ignoreCase: false, want: "\">>\"", @@ -46673,27 +51138,27 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 696, col: 9, offset: 22623}, - run: (*parser).callonSingleQuoteItalicTextElement125, + pos: position{line: 694, col: 9, offset: 22486}, + run: (*parser).callonSingleQuoteItalicTextElement145, expr: &seqExpr{ - pos: position{line: 696, col: 9, offset: 22623}, + pos: position{line: 694, col: 9, offset: 22486}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 696, col: 9, offset: 22623}, + pos: position{line: 694, col: 9, offset: 22486}, val: "<<", ignoreCase: false, want: "\"<<\"", }, &labeledExpr{ - pos: position{line: 696, col: 14, offset: 22628}, + pos: position{line: 694, col: 14, offset: 22491}, label: "id", expr: &actionExpr{ - pos: position{line: 2884, col: 7, offset: 95839}, - run: (*parser).callonSingleQuoteItalicTextElement129, + pos: position{line: 3043, col: 7, offset: 99263}, + run: (*parser).callonSingleQuoteItalicTextElement149, expr: &oneOrMoreExpr{ - pos: position{line: 2884, col: 7, offset: 95839}, + pos: position{line: 3043, col: 7, offset: 99263}, expr: &charClassMatcher{ - pos: position{line: 2884, col: 7, offset: 95839}, + pos: position{line: 3043, col: 7, offset: 99263}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -46703,7 +51168,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 696, col: 22, offset: 22636}, + pos: position{line: 694, col: 22, offset: 22499}, val: ">>", ignoreCase: false, want: "\">>\"", @@ -46715,10 +51180,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2607, col: 11, offset: 87187}, - run: (*parser).callonSingleQuoteItalicTextElement133, + pos: position{line: 2751, col: 11, offset: 90101}, + run: (*parser).callonSingleQuoteItalicTextElement153, expr: &charClassMatcher{ - pos: position{line: 2607, col: 12, offset: 87188}, + pos: position{line: 2751, col: 12, offset: 90102}, val: "[<>&]", chars: []rune{'<', '>', '&'}, ignoreCase: false, @@ -46732,63 +51197,166 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2632, col: 15, offset: 88155}, - run: (*parser).callonSingleQuoteItalicTextElement135, + pos: position{line: 2776, col: 5, offset: 90995}, + run: (*parser).callonSingleQuoteItalicTextElement155, + expr: &seqExpr{ + pos: position{line: 2776, col: 5, offset: 90995}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2776, col: 5, offset: 90995}, + val: "\\", + ignoreCase: false, + want: "\"\\\\\"", + }, + &choiceExpr{ + pos: position{line: 2776, col: 10, offset: 91000}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2784, col: 15, offset: 91276}, + run: (*parser).callonSingleQuoteItalicTextElement159, + expr: &litMatcher{ + pos: position{line: 2784, col: 15, offset: 91276}, + val: "`'", + ignoreCase: false, + want: "\"`'\"", + }, + }, + &actionExpr{ + pos: position{line: 2790, col: 14, offset: 91391}, + run: (*parser).callonSingleQuoteItalicTextElement161, + expr: &litMatcher{ + pos: position{line: 2790, col: 14, offset: 91391}, + val: "(C)", + ignoreCase: false, + want: "\"(C)\"", + }, + }, + &actionExpr{ + pos: position{line: 2794, col: 14, offset: 91467}, + run: (*parser).callonSingleQuoteItalicTextElement163, + expr: &litMatcher{ + pos: position{line: 2794, col: 14, offset: 91467}, + val: "(TM)", + ignoreCase: false, + want: "\"(TM)\"", + }, + }, + &actionExpr{ + pos: position{line: 2798, col: 15, offset: 91545}, + run: (*parser).callonSingleQuoteItalicTextElement165, + expr: &litMatcher{ + pos: position{line: 2798, col: 15, offset: 91545}, + val: "(R)", + ignoreCase: false, + want: "\"(R)\"", + }, + }, + &actionExpr{ + pos: position{line: 2802, col: 13, offset: 91620}, + run: (*parser).callonSingleQuoteItalicTextElement167, + expr: &litMatcher{ + pos: position{line: 2802, col: 13, offset: 91620}, + val: "...", + ignoreCase: false, + want: "\"...\"", + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2784, col: 15, offset: 91276}, + run: (*parser).callonSingleQuoteItalicTextElement169, expr: &litMatcher{ - pos: position{line: 2632, col: 15, offset: 88155}, + pos: position{line: 2784, col: 15, offset: 91276}, val: "`'", ignoreCase: false, want: "\"`'\"", }, }, &actionExpr{ - pos: position{line: 2638, col: 14, offset: 88270}, - run: (*parser).callonSingleQuoteItalicTextElement137, + pos: position{line: 2790, col: 14, offset: 91391}, + run: (*parser).callonSingleQuoteItalicTextElement171, expr: &litMatcher{ - pos: position{line: 2638, col: 14, offset: 88270}, + pos: position{line: 2790, col: 14, offset: 91391}, val: "(C)", ignoreCase: false, want: "\"(C)\"", }, }, &actionExpr{ - pos: position{line: 2642, col: 14, offset: 88346}, - run: (*parser).callonSingleQuoteItalicTextElement139, + pos: position{line: 2794, col: 14, offset: 91467}, + run: (*parser).callonSingleQuoteItalicTextElement173, expr: &litMatcher{ - pos: position{line: 2642, col: 14, offset: 88346}, + pos: position{line: 2794, col: 14, offset: 91467}, val: "(TM)", ignoreCase: false, want: "\"(TM)\"", }, }, &actionExpr{ - pos: position{line: 2646, col: 15, offset: 88424}, - run: (*parser).callonSingleQuoteItalicTextElement141, + pos: position{line: 2798, col: 15, offset: 91545}, + run: (*parser).callonSingleQuoteItalicTextElement175, expr: &litMatcher{ - pos: position{line: 2646, col: 15, offset: 88424}, + pos: position{line: 2798, col: 15, offset: 91545}, val: "(R)", ignoreCase: false, want: "\"(R)\"", }, }, &actionExpr{ - pos: position{line: 2650, col: 13, offset: 88499}, - run: (*parser).callonSingleQuoteItalicTextElement143, + pos: position{line: 2802, col: 13, offset: 91620}, + run: (*parser).callonSingleQuoteItalicTextElement177, expr: &litMatcher{ - pos: position{line: 2650, col: 13, offset: 88499}, + pos: position{line: 2802, col: 13, offset: 91620}, val: "...", ignoreCase: false, want: "\"...\"", }, }, &actionExpr{ - pos: position{line: 2658, col: 22, offset: 88805}, - run: (*parser).callonSingleQuoteItalicTextElement145, + pos: position{line: 2811, col: 5, offset: 91944}, + run: (*parser).callonSingleQuoteItalicTextElement179, + expr: &seqExpr{ + pos: position{line: 2811, col: 5, offset: 91944}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 2972, col: 13, offset: 96927}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &litMatcher{ + pos: position{line: 2811, col: 14, offset: 91953}, + val: "\\'", + ignoreCase: false, + want: "\"\\\\'\"", + }, + &andExpr{ + pos: position{line: 2811, col: 19, offset: 91958}, + expr: &charClassMatcher{ + pos: position{line: 2811, col: 20, offset: 91959}, + val: "[\\pL]", + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2817, col: 5, offset: 92190}, + run: (*parser).callonSingleQuoteItalicTextElement185, expr: &seqExpr{ - pos: position{line: 2658, col: 22, offset: 88805}, + pos: position{line: 2817, col: 5, offset: 92190}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 2813, col: 13, offset: 93503}, + pos: position{line: 2972, col: 13, offset: 96927}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -46796,15 +51364,15 @@ var g = &grammar{ inverted: false, }, &litMatcher{ - pos: position{line: 2658, col: 31, offset: 88814}, + pos: position{line: 2817, col: 14, offset: 92199}, val: "'", ignoreCase: false, want: "\"'\"", }, &andExpr{ - pos: position{line: 2658, col: 35, offset: 88818}, + pos: position{line: 2817, col: 18, offset: 92203}, expr: &charClassMatcher{ - pos: position{line: 2658, col: 36, offset: 88819}, + pos: position{line: 2817, col: 19, offset: 92204}, val: "[\\pL]", classes: []*unicode.RangeTable{rangeTable("L")}, ignoreCase: false, @@ -46815,35 +51383,35 @@ var g = &grammar{ }, }, &ruleRefExpr{ - pos: position{line: 2015, col: 7, offset: 66539}, + pos: position{line: 2077, col: 7, offset: 67927}, name: "QuotedString", }, &ruleRefExpr{ - pos: position{line: 2016, col: 7, offset: 66558}, + pos: position{line: 2078, col: 7, offset: 67946}, name: "QuotedTextInSingleQuoteItalicText", }, &actionExpr{ - pos: position{line: 1122, col: 23, offset: 34991}, - run: (*parser).callonSingleQuoteItalicTextElement153, + pos: position{line: 1120, col: 23, offset: 34854}, + run: (*parser).callonSingleQuoteItalicTextElement193, expr: &seqExpr{ - pos: position{line: 1122, col: 23, offset: 34991}, + pos: position{line: 1120, col: 23, offset: 34854}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1120, col: 32, offset: 34959}, + pos: position{line: 1118, col: 32, offset: 34822}, val: "�", ignoreCase: false, want: "\"�\"", }, &labeledExpr{ - pos: position{line: 1122, col: 51, offset: 35019}, + pos: position{line: 1120, col: 51, offset: 34882}, label: "ref", expr: &actionExpr{ - pos: position{line: 1122, col: 56, offset: 35024}, - run: (*parser).callonSingleQuoteItalicTextElement157, + pos: position{line: 1120, col: 56, offset: 34887}, + run: (*parser).callonSingleQuoteItalicTextElement197, expr: &oneOrMoreExpr{ - pos: position{line: 1122, col: 56, offset: 35024}, + pos: position{line: 1120, col: 56, offset: 34887}, expr: &charClassMatcher{ - pos: position{line: 1122, col: 56, offset: 35024}, + pos: position{line: 1120, col: 56, offset: 34887}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -46853,7 +51421,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1120, col: 32, offset: 34959}, + pos: position{line: 1118, col: 32, offset: 34822}, val: "�", ignoreCase: false, want: "\"�\"", @@ -46862,31 +51430,31 @@ var g = &grammar{ }, }, &charClassMatcher{ - pos: position{line: 2032, col: 5, offset: 67015}, + pos: position{line: 2107, col: 5, offset: 68672}, val: "[^\\r\\n _]", chars: []rune{'\r', '\n', ' ', '_'}, ignoreCase: false, inverted: true, }, &actionExpr{ - pos: position{line: 2033, col: 7, offset: 67122}, - run: (*parser).callonSingleQuoteItalicTextElement162, + pos: position{line: 2108, col: 7, offset: 68779}, + run: (*parser).callonSingleQuoteItalicTextElement202, expr: &seqExpr{ - pos: position{line: 2033, col: 7, offset: 67122}, + pos: position{line: 2108, col: 7, offset: 68779}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2033, col: 7, offset: 67122}, + pos: position{line: 2108, col: 7, offset: 68779}, val: "_", ignoreCase: false, want: "\"_\"", }, &actionExpr{ - pos: position{line: 2817, col: 14, offset: 93577}, - run: (*parser).callonSingleQuoteItalicTextElement165, + pos: position{line: 2976, col: 14, offset: 97001}, + run: (*parser).callonSingleQuoteItalicTextElement205, expr: &oneOrMoreExpr{ - pos: position{line: 2817, col: 14, offset: 93577}, + pos: position{line: 2976, col: 14, offset: 97001}, expr: &charClassMatcher{ - pos: position{line: 2817, col: 14, offset: 93577}, + pos: position{line: 2976, col: 14, offset: 97001}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -46903,53 +51471,105 @@ var g = &grammar{ }, { name: "QuotedTextInSingleQuoteItalicText", - pos: position{line: 2020, col: 1, offset: 66663}, - expr: &actionExpr{ - pos: position{line: 2021, col: 5, offset: 66704}, - run: (*parser).callonQuotedTextInSingleQuoteItalicText1, - expr: &seqExpr{ - pos: position{line: 2021, col: 5, offset: 66704}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 2021, col: 5, offset: 66704}, - label: "attributes", - expr: &zeroOrOneExpr{ - pos: position{line: 2021, col: 16, offset: 66715}, - expr: &ruleRefExpr{ - pos: position{line: 2021, col: 17, offset: 66716}, - name: "LongHandAttributes", + pos: position{line: 2082, col: 1, offset: 68051}, + expr: &choiceExpr{ + pos: position{line: 2084, col: 5, offset: 68115}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2084, col: 5, offset: 68115}, + run: (*parser).callonQuotedTextInSingleQuoteItalicText2, + expr: &seqExpr{ + pos: position{line: 2084, col: 5, offset: 68115}, + exprs: []interface{}{ + &andExpr{ + pos: position{line: 2084, col: 5, offset: 68115}, + expr: &litMatcher{ + pos: position{line: 2084, col: 7, offset: 68117}, + val: "\\", + ignoreCase: false, + want: "\"\\\\\"", + }, + }, + &labeledExpr{ + pos: position{line: 2085, col: 5, offset: 68126}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 2086, col: 9, offset: 68144}, + alternatives: []interface{}{ + &ruleRefExpr{ + pos: position{line: 2086, col: 9, offset: 68144}, + name: "EscapedBoldText", + }, + &ruleRefExpr{ + pos: position{line: 2087, col: 11, offset: 68171}, + name: "EscapedMarkedText", + }, + &ruleRefExpr{ + pos: position{line: 2088, col: 11, offset: 68199}, + name: "EscapedMonospaceText", + }, + &ruleRefExpr{ + pos: position{line: 2089, col: 11, offset: 68230}, + name: "EscapedSubscriptText", + }, + &ruleRefExpr{ + pos: position{line: 2090, col: 11, offset: 68261}, + name: "EscapedSuperscriptText", + }, + }, + }, }, }, }, - &labeledExpr{ - pos: position{line: 2022, col: 5, offset: 66742}, - label: "text", - expr: &choiceExpr{ - pos: position{line: 2022, col: 11, offset: 66748}, - alternatives: []interface{}{ - &ruleRefExpr{ - pos: position{line: 2022, col: 11, offset: 66748}, - name: "BoldText", - }, - &ruleRefExpr{ - pos: position{line: 2023, col: 11, offset: 66767}, - name: "DoubleQuoteItalicText", - }, - &ruleRefExpr{ - pos: position{line: 2024, col: 11, offset: 66799}, - name: "MarkedText", - }, - &ruleRefExpr{ - pos: position{line: 2025, col: 11, offset: 66820}, - name: "MonospaceText", - }, - &ruleRefExpr{ - pos: position{line: 2026, col: 11, offset: 66844}, - name: "SubscriptText", + }, + &actionExpr{ + pos: position{line: 2096, col: 5, offset: 68361}, + run: (*parser).callonQuotedTextInSingleQuoteItalicText13, + expr: &seqExpr{ + pos: position{line: 2096, col: 5, offset: 68361}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 2096, col: 5, offset: 68361}, + label: "attributes", + expr: &zeroOrOneExpr{ + pos: position{line: 2096, col: 16, offset: 68372}, + expr: &ruleRefExpr{ + pos: position{line: 2096, col: 17, offset: 68373}, + name: "LongHandAttributes", + }, }, - &ruleRefExpr{ - pos: position{line: 2027, col: 11, offset: 66868}, - name: "SuperscriptText", + }, + &labeledExpr{ + pos: position{line: 2097, col: 5, offset: 68399}, + label: "text", + expr: &choiceExpr{ + pos: position{line: 2097, col: 11, offset: 68405}, + alternatives: []interface{}{ + &ruleRefExpr{ + pos: position{line: 2097, col: 11, offset: 68405}, + name: "BoldText", + }, + &ruleRefExpr{ + pos: position{line: 2098, col: 11, offset: 68424}, + name: "DoubleQuoteItalicText", + }, + &ruleRefExpr{ + pos: position{line: 2099, col: 11, offset: 68456}, + name: "MarkedText", + }, + &ruleRefExpr{ + pos: position{line: 2100, col: 11, offset: 68477}, + name: "MonospaceText", + }, + &ruleRefExpr{ + pos: position{line: 2101, col: 11, offset: 68501}, + name: "SubscriptText", + }, + &ruleRefExpr{ + pos: position{line: 2102, col: 11, offset: 68525}, + name: "SuperscriptText", + }, + }, }, }, }, @@ -46960,35 +51580,35 @@ var g = &grammar{ }, { name: "EscapedItalicText", - pos: position{line: 2037, col: 1, offset: 67300}, + pos: position{line: 2112, col: 1, offset: 68957}, expr: &choiceExpr{ - pos: position{line: 2038, col: 5, offset: 67326}, + pos: position{line: 2114, col: 5, offset: 69022}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2038, col: 5, offset: 67326}, + pos: position{line: 2114, col: 5, offset: 69022}, run: (*parser).callonEscapedItalicText2, expr: &seqExpr{ - pos: position{line: 2038, col: 5, offset: 67326}, + pos: position{line: 2114, col: 5, offset: 69022}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 2038, col: 5, offset: 67326}, + pos: position{line: 2114, col: 5, offset: 69022}, label: "backslashes", expr: &actionExpr{ - pos: position{line: 1795, col: 25, offset: 58988}, + pos: position{line: 1825, col: 25, offset: 59835}, run: (*parser).callonEscapedItalicText5, expr: &seqExpr{ - pos: position{line: 1795, col: 25, offset: 58988}, + pos: position{line: 1825, col: 25, offset: 59835}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1795, col: 25, offset: 58988}, + pos: position{line: 1825, col: 25, offset: 59835}, val: "\\\\", ignoreCase: false, want: "\"\\\\\\\\\"", }, &zeroOrMoreExpr{ - pos: position{line: 1795, col: 30, offset: 58993}, + pos: position{line: 1825, col: 30, offset: 59840}, expr: &litMatcher{ - pos: position{line: 1795, col: 30, offset: 58993}, + pos: position{line: 1825, col: 30, offset: 59840}, val: "\\", ignoreCase: false, want: "\"\\\\\"", @@ -46999,21 +51619,21 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 2038, col: 40, offset: 67361}, + pos: position{line: 2114, col: 40, offset: 69057}, val: "__", ignoreCase: false, want: "\"__\"", }, &labeledExpr{ - pos: position{line: 2038, col: 45, offset: 67366}, + pos: position{line: 2114, col: 45, offset: 69062}, label: "elements", expr: &ruleRefExpr{ - pos: position{line: 2038, col: 55, offset: 67376}, + pos: position{line: 2114, col: 55, offset: 69072}, name: "DoubleQuoteItalicTextElements", }, }, &litMatcher{ - pos: position{line: 2038, col: 86, offset: 67407}, + pos: position{line: 2114, col: 86, offset: 69103}, val: "__", ignoreCase: false, want: "\"__\"", @@ -47022,21 +51642,21 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2040, col: 9, offset: 67564}, + pos: position{line: 2118, col: 7, offset: 69268}, run: (*parser).callonEscapedItalicText14, expr: &seqExpr{ - pos: position{line: 2040, col: 9, offset: 67564}, + pos: position{line: 2118, col: 7, offset: 69268}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 2040, col: 9, offset: 67564}, + pos: position{line: 2118, col: 7, offset: 69268}, label: "backslashes", expr: &actionExpr{ - pos: position{line: 1791, col: 25, offset: 58915}, + pos: position{line: 1821, col: 25, offset: 59762}, run: (*parser).callonEscapedItalicText17, expr: &oneOrMoreExpr{ - pos: position{line: 1791, col: 25, offset: 58915}, + pos: position{line: 1821, col: 25, offset: 59762}, expr: &litMatcher{ - pos: position{line: 1791, col: 25, offset: 58915}, + pos: position{line: 1821, col: 25, offset: 59762}, val: "\\", ignoreCase: false, want: "\"\\\\\"", @@ -47045,21 +51665,21 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 2040, col: 44, offset: 67599}, + pos: position{line: 2118, col: 42, offset: 69303}, val: "__", ignoreCase: false, want: "\"__\"", }, &labeledExpr{ - pos: position{line: 2040, col: 49, offset: 67604}, + pos: position{line: 2118, col: 47, offset: 69308}, label: "elements", expr: &ruleRefExpr{ - pos: position{line: 2040, col: 59, offset: 67614}, + pos: position{line: 2118, col: 57, offset: 69318}, name: "SingleQuoteItalicTextElements", }, }, &litMatcher{ - pos: position{line: 2040, col: 90, offset: 67645}, + pos: position{line: 2118, col: 88, offset: 69349}, val: "_", ignoreCase: false, want: "\"_\"", @@ -47068,21 +51688,21 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2043, col: 9, offset: 67845}, + pos: position{line: 2123, col: 7, offset: 69590}, run: (*parser).callonEscapedItalicText24, expr: &seqExpr{ - pos: position{line: 2043, col: 9, offset: 67845}, + pos: position{line: 2123, col: 7, offset: 69590}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 2043, col: 9, offset: 67845}, + pos: position{line: 2123, col: 7, offset: 69590}, label: "backslashes", expr: &actionExpr{ - pos: position{line: 1791, col: 25, offset: 58915}, + pos: position{line: 1821, col: 25, offset: 59762}, run: (*parser).callonEscapedItalicText27, expr: &oneOrMoreExpr{ - pos: position{line: 1791, col: 25, offset: 58915}, + pos: position{line: 1821, col: 25, offset: 59762}, expr: &litMatcher{ - pos: position{line: 1791, col: 25, offset: 58915}, + pos: position{line: 1821, col: 25, offset: 59762}, val: "\\", ignoreCase: false, want: "\"\\\\\"", @@ -47091,21 +51711,21 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 2043, col: 44, offset: 67880}, + pos: position{line: 2123, col: 42, offset: 69625}, val: "_", ignoreCase: false, want: "\"_\"", }, &labeledExpr{ - pos: position{line: 2043, col: 48, offset: 67884}, + pos: position{line: 2123, col: 46, offset: 69629}, label: "elements", expr: &ruleRefExpr{ - pos: position{line: 2043, col: 58, offset: 67894}, + pos: position{line: 2123, col: 56, offset: 69639}, name: "SingleQuoteItalicTextElements", }, }, &litMatcher{ - pos: position{line: 2043, col: 89, offset: 67925}, + pos: position{line: 2123, col: 87, offset: 69670}, val: "_", ignoreCase: false, want: "\"_\"", @@ -47118,16 +51738,16 @@ var g = &grammar{ }, { name: "MonospaceText", - pos: position{line: 2050, col: 1, offset: 68244}, + pos: position{line: 2130, col: 1, offset: 69989}, expr: &choiceExpr{ - pos: position{line: 2050, col: 18, offset: 68261}, + pos: position{line: 2130, col: 18, offset: 70006}, alternatives: []interface{}{ &ruleRefExpr{ - pos: position{line: 2050, col: 18, offset: 68261}, + pos: position{line: 2130, col: 18, offset: 70006}, name: "DoubleQuoteMonospaceText", }, &ruleRefExpr{ - pos: position{line: 2050, col: 45, offset: 68288}, + pos: position{line: 2130, col: 45, offset: 70033}, name: "SingleQuoteMonospaceText", }, }, @@ -47135,29 +51755,29 @@ var g = &grammar{ }, { name: "DoubleQuoteMonospaceText", - pos: position{line: 2064, col: 1, offset: 68640}, + pos: position{line: 2144, col: 1, offset: 70385}, expr: &actionExpr{ - pos: position{line: 2065, col: 5, offset: 68673}, + pos: position{line: 2145, col: 5, offset: 70418}, run: (*parser).callonDoubleQuoteMonospaceText1, expr: &seqExpr{ - pos: position{line: 2065, col: 5, offset: 68673}, + pos: position{line: 2145, col: 5, offset: 70418}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2062, col: 38, offset: 68634}, + pos: position{line: 2142, col: 38, offset: 70379}, val: "``", ignoreCase: false, want: "\"``\"", }, &labeledExpr{ - pos: position{line: 2066, col: 5, offset: 68712}, + pos: position{line: 2146, col: 5, offset: 70457}, label: "elements", expr: &ruleRefExpr{ - pos: position{line: 2066, col: 15, offset: 68722}, + pos: position{line: 2146, col: 15, offset: 70467}, name: "DoubleQuoteMonospaceTextElements", }, }, &litMatcher{ - pos: position{line: 2062, col: 38, offset: 68634}, + pos: position{line: 2142, col: 38, offset: 70379}, val: "``", ignoreCase: false, want: "\"``\"", @@ -47168,49 +51788,49 @@ var g = &grammar{ }, { name: "DoubleQuoteMonospaceTextElements", - pos: position{line: 2071, col: 1, offset: 68894}, + pos: position{line: 2151, col: 1, offset: 70639}, expr: &oneOrMoreExpr{ - pos: position{line: 2071, col: 37, offset: 68930}, + pos: position{line: 2151, col: 37, offset: 70675}, expr: &ruleRefExpr{ - pos: position{line: 2071, col: 37, offset: 68930}, + pos: position{line: 2151, col: 37, offset: 70675}, name: "DoubleQuoteMonospaceTextElement", }, }, }, { name: "DoubleQuoteMonospaceTextElement", - pos: position{line: 2073, col: 1, offset: 68997}, + pos: position{line: 2153, col: 1, offset: 70742}, expr: &actionExpr{ - pos: position{line: 2074, col: 5, offset: 69037}, + pos: position{line: 2154, col: 5, offset: 70782}, run: (*parser).callonDoubleQuoteMonospaceTextElement1, expr: &seqExpr{ - pos: position{line: 2074, col: 5, offset: 69037}, + pos: position{line: 2154, col: 5, offset: 70782}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 2074, col: 5, offset: 69037}, + pos: position{line: 2154, col: 5, offset: 70782}, expr: &litMatcher{ - pos: position{line: 2062, col: 38, offset: 68634}, + pos: position{line: 2142, col: 38, offset: 70379}, val: "``", ignoreCase: false, want: "\"``\"", }, }, &labeledExpr{ - pos: position{line: 2075, col: 5, offset: 69076}, + pos: position{line: 2155, col: 5, offset: 70821}, label: "element", expr: &choiceExpr{ - pos: position{line: 2076, col: 9, offset: 69094}, + pos: position{line: 2156, col: 9, offset: 70839}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2055, col: 5, offset: 68371}, + pos: position{line: 2135, col: 5, offset: 70116}, run: (*parser).callonDoubleQuoteMonospaceTextElement7, expr: &seqExpr{ - pos: position{line: 2055, col: 5, offset: 68371}, + pos: position{line: 2135, col: 5, offset: 70116}, exprs: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 2055, col: 5, offset: 68371}, + pos: position{line: 2135, col: 5, offset: 70116}, expr: &charClassMatcher{ - pos: position{line: 2055, col: 5, offset: 68371}, + pos: position{line: 2135, col: 5, offset: 70116}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -47219,15 +51839,15 @@ var g = &grammar{ }, }, &andExpr{ - pos: position{line: 2055, col: 15, offset: 68381}, + pos: position{line: 2135, col: 15, offset: 70126}, expr: &choiceExpr{ - pos: position{line: 2055, col: 17, offset: 68383}, + pos: position{line: 2135, col: 17, offset: 70128}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonDoubleQuoteMonospaceTextElement13, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -47235,7 +51855,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 2052, col: 27, offset: 68340}, + pos: position{line: 2132, col: 27, offset: 70085}, val: "`", ignoreCase: false, want: "\"`\"", @@ -47247,12 +51867,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2903, col: 11, offset: 96254}, + pos: position{line: 3062, col: 11, offset: 99678}, run: (*parser).callonDoubleQuoteMonospaceTextElement16, expr: &oneOrMoreExpr{ - pos: position{line: 2903, col: 11, offset: 96254}, + pos: position{line: 3062, col: 11, offset: 99678}, expr: &charClassMatcher{ - pos: position{line: 2903, col: 12, offset: 96255}, + pos: position{line: 3062, col: 12, offset: 99679}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -47261,28 +51881,28 @@ var g = &grammar{ }, }, &seqExpr{ - pos: position{line: 2078, col: 11, offset: 69172}, + pos: position{line: 2158, col: 11, offset: 70917}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonDoubleQuoteMonospaceTextElement20, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -47291,27 +51911,27 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2078, col: 19, offset: 69180}, + pos: position{line: 2158, col: 19, offset: 70925}, expr: &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonDoubleQuoteMonospaceTextElement26, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -47323,44 +51943,44 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 651, col: 5, offset: 21000}, + pos: position{line: 641, col: 5, offset: 20579}, run: (*parser).callonDoubleQuoteMonospaceTextElement31, expr: &seqExpr{ - pos: position{line: 651, col: 5, offset: 21000}, + pos: position{line: 641, col: 5, offset: 20579}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 651, col: 5, offset: 21000}, + pos: position{line: 641, col: 5, offset: 20579}, run: (*parser).callonDoubleQuoteMonospaceTextElement33, }, &labeledExpr{ - pos: position{line: 654, col: 5, offset: 21069}, + pos: position{line: 644, col: 5, offset: 20648}, label: "element", expr: &choiceExpr{ - pos: position{line: 654, col: 14, offset: 21078}, + pos: position{line: 644, col: 14, offset: 20657}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 666, col: 25, offset: 21447}, + pos: position{line: 664, col: 25, offset: 21310}, run: (*parser).callonDoubleQuoteMonospaceTextElement36, expr: &seqExpr{ - pos: position{line: 666, col: 25, offset: 21447}, + pos: position{line: 664, col: 25, offset: 21310}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 666, col: 25, offset: 21447}, + pos: position{line: 664, col: 25, offset: 21310}, val: "{counter:", ignoreCase: false, want: "\"{counter:\"", }, &labeledExpr{ - pos: position{line: 666, col: 37, offset: 21459}, + pos: position{line: 664, col: 37, offset: 21322}, label: "name", expr: &actionExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, run: (*parser).callonDoubleQuoteMonospaceTextElement40, expr: &seqExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -47369,9 +51989,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 332, col: 28, offset: 10403}, + pos: position{line: 324, col: 28, offset: 10064}, expr: &charClassMatcher{ - pos: position{line: 332, col: 29, offset: 10404}, + pos: position{line: 324, col: 29, offset: 10065}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -47385,33 +52005,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 666, col: 56, offset: 21478}, + pos: position{line: 664, col: 56, offset: 21341}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 666, col: 62, offset: 21484}, + pos: position{line: 664, col: 62, offset: 21347}, expr: &actionExpr{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, run: (*parser).callonDoubleQuoteMonospaceTextElement47, expr: &seqExpr{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 674, col: 21, offset: 21783}, + pos: position{line: 672, col: 21, offset: 21646}, label: "start", expr: &choiceExpr{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, run: (*parser).callonDoubleQuoteMonospaceTextElement52, expr: &charClassMatcher{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -47419,12 +52039,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, run: (*parser).callonDoubleQuoteMonospaceTextElement54, expr: &oneOrMoreExpr{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, expr: &charClassMatcher{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -47441,7 +52061,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 666, col: 78, offset: 21500}, + pos: position{line: 664, col: 78, offset: 21363}, val: "}", ignoreCase: false, want: "\"}\"", @@ -47450,28 +52070,28 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 670, col: 25, offset: 21618}, + pos: position{line: 668, col: 25, offset: 21481}, run: (*parser).callonDoubleQuoteMonospaceTextElement58, expr: &seqExpr{ - pos: position{line: 670, col: 25, offset: 21618}, + pos: position{line: 668, col: 25, offset: 21481}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 670, col: 25, offset: 21618}, + pos: position{line: 668, col: 25, offset: 21481}, val: "{counter2:", ignoreCase: false, want: "\"{counter2:\"", }, &labeledExpr{ - pos: position{line: 670, col: 38, offset: 21631}, + pos: position{line: 668, col: 38, offset: 21494}, label: "name", expr: &actionExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, run: (*parser).callonDoubleQuoteMonospaceTextElement62, expr: &seqExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -47480,9 +52100,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 332, col: 28, offset: 10403}, + pos: position{line: 324, col: 28, offset: 10064}, expr: &charClassMatcher{ - pos: position{line: 332, col: 29, offset: 10404}, + pos: position{line: 324, col: 29, offset: 10065}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -47496,33 +52116,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 670, col: 57, offset: 21650}, + pos: position{line: 668, col: 57, offset: 21513}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 670, col: 63, offset: 21656}, + pos: position{line: 668, col: 63, offset: 21519}, expr: &actionExpr{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, run: (*parser).callonDoubleQuoteMonospaceTextElement69, expr: &seqExpr{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 674, col: 21, offset: 21783}, + pos: position{line: 672, col: 21, offset: 21646}, label: "start", expr: &choiceExpr{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, run: (*parser).callonDoubleQuoteMonospaceTextElement74, expr: &charClassMatcher{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -47530,12 +52150,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, run: (*parser).callonDoubleQuoteMonospaceTextElement76, expr: &oneOrMoreExpr{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, expr: &charClassMatcher{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -47552,7 +52172,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 670, col: 79, offset: 21672}, + pos: position{line: 668, col: 79, offset: 21535}, val: "}", ignoreCase: false, want: "\"}\"", @@ -47561,28 +52181,83 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 659, col: 5, offset: 21191}, + pos: position{line: 650, col: 5, offset: 20786}, run: (*parser).callonDoubleQuoteMonospaceTextElement80, expr: &seqExpr{ - pos: position{line: 659, col: 5, offset: 21191}, + pos: position{line: 650, col: 5, offset: 20786}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 650, col: 5, offset: 20786}, + val: "\\{", + ignoreCase: false, + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 650, col: 13, offset: 20794}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + run: (*parser).callonDoubleQuoteMonospaceTextElement84, + expr: &seqExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 324, col: 18, offset: 10054}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 324, col: 28, offset: 10064}, + expr: &charClassMatcher{ + pos: position{line: 324, col: 29, offset: 10065}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 650, col: 32, offset: 20813}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 657, col: 5, offset: 21054}, + run: (*parser).callonDoubleQuoteMonospaceTextElement90, + expr: &seqExpr{ + pos: position{line: 657, col: 5, offset: 21054}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 659, col: 5, offset: 21191}, + pos: position{line: 657, col: 5, offset: 21054}, val: "{", ignoreCase: false, want: "\"{\"", }, &labeledExpr{ - pos: position{line: 659, col: 9, offset: 21195}, + pos: position{line: 657, col: 9, offset: 21058}, label: "name", expr: &actionExpr{ - pos: position{line: 332, col: 18, offset: 10393}, - run: (*parser).callonDoubleQuoteMonospaceTextElement84, + pos: position{line: 324, col: 18, offset: 10054}, + run: (*parser).callonDoubleQuoteMonospaceTextElement94, expr: &seqExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -47591,9 +52266,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 332, col: 28, offset: 10403}, + pos: position{line: 324, col: 28, offset: 10064}, expr: &charClassMatcher{ - pos: position{line: 332, col: 29, offset: 10404}, + pos: position{line: 324, col: 29, offset: 10065}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -47607,7 +52282,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 659, col: 28, offset: 21214}, + pos: position{line: 657, col: 28, offset: 21077}, val: "}", ignoreCase: false, want: "\"}\"", @@ -47622,53 +52297,53 @@ var g = &grammar{ }, }, &ruleRefExpr{ - pos: position{line: 2080, col: 11, offset: 69262}, + pos: position{line: 2160, col: 11, offset: 71007}, name: "InlineMacro", }, &actionExpr{ - pos: position{line: 2599, col: 5, offset: 86909}, - run: (*parser).callonDoubleQuoteMonospaceTextElement91, + pos: position{line: 2743, col: 5, offset: 89823}, + run: (*parser).callonDoubleQuoteMonospaceTextElement101, expr: &seqExpr{ - pos: position{line: 2599, col: 5, offset: 86909}, + pos: position{line: 2743, col: 5, offset: 89823}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 2599, col: 5, offset: 86909}, - run: (*parser).callonDoubleQuoteMonospaceTextElement93, + pos: position{line: 2743, col: 5, offset: 89823}, + run: (*parser).callonDoubleQuoteMonospaceTextElement103, }, &labeledExpr{ - pos: position{line: 2602, col: 5, offset: 86985}, + pos: position{line: 2746, col: 5, offset: 89899}, label: "element", expr: &choiceExpr{ - pos: position{line: 2604, col: 9, offset: 87083}, + pos: position{line: 2748, col: 9, offset: 89997}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2604, col: 9, offset: 87083}, - run: (*parser).callonDoubleQuoteMonospaceTextElement96, + pos: position{line: 2748, col: 9, offset: 89997}, + run: (*parser).callonDoubleQuoteMonospaceTextElement106, expr: &choiceExpr{ - pos: position{line: 694, col: 27, offset: 22498}, + pos: position{line: 692, col: 27, offset: 22361}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 694, col: 27, offset: 22498}, - run: (*parser).callonDoubleQuoteMonospaceTextElement98, + pos: position{line: 692, col: 27, offset: 22361}, + run: (*parser).callonDoubleQuoteMonospaceTextElement108, expr: &seqExpr{ - pos: position{line: 694, col: 27, offset: 22498}, + pos: position{line: 692, col: 27, offset: 22361}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 694, col: 27, offset: 22498}, + pos: position{line: 692, col: 27, offset: 22361}, val: "<<", ignoreCase: false, want: "\"<<\"", }, &labeledExpr{ - pos: position{line: 694, col: 32, offset: 22503}, + pos: position{line: 692, col: 32, offset: 22366}, label: "id", expr: &actionExpr{ - pos: position{line: 2884, col: 7, offset: 95839}, - run: (*parser).callonDoubleQuoteMonospaceTextElement102, + pos: position{line: 3043, col: 7, offset: 99263}, + run: (*parser).callonDoubleQuoteMonospaceTextElement112, expr: &oneOrMoreExpr{ - pos: position{line: 2884, col: 7, offset: 95839}, + pos: position{line: 3043, col: 7, offset: 99263}, expr: &charClassMatcher{ - pos: position{line: 2884, col: 7, offset: 95839}, + pos: position{line: 3043, col: 7, offset: 99263}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -47678,12 +52353,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 694, col: 40, offset: 22511}, + pos: position{line: 692, col: 40, offset: 22374}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, - run: (*parser).callonDoubleQuoteMonospaceTextElement106, + pos: position{line: 3058, col: 10, offset: 99611}, + run: (*parser).callonDoubleQuoteMonospaceTextElement116, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -47692,27 +52367,27 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 694, col: 47, offset: 22518}, + pos: position{line: 692, col: 47, offset: 22381}, val: ",", ignoreCase: false, want: "\",\"", }, &labeledExpr{ - pos: position{line: 694, col: 51, offset: 22522}, + pos: position{line: 692, col: 51, offset: 22385}, label: "label", expr: &oneOrMoreExpr{ - pos: position{line: 704, col: 24, offset: 22923}, + pos: position{line: 702, col: 24, offset: 22786}, expr: &choiceExpr{ - pos: position{line: 705, col: 5, offset: 22929}, + pos: position{line: 703, col: 5, offset: 22792}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 705, col: 6, offset: 22930}, - run: (*parser).callonDoubleQuoteMonospaceTextElement112, + pos: position{line: 703, col: 6, offset: 22793}, + run: (*parser).callonDoubleQuoteMonospaceTextElement122, expr: &seqExpr{ - pos: position{line: 705, col: 6, offset: 22930}, + pos: position{line: 703, col: 6, offset: 22793}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 705, col: 6, offset: 22930}, + pos: position{line: 703, col: 6, offset: 22793}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -47720,9 +52395,9 @@ var g = &grammar{ inverted: false, }, &oneOrMoreExpr{ - pos: position{line: 705, col: 14, offset: 22938}, + pos: position{line: 703, col: 14, offset: 22801}, expr: &charClassMatcher{ - pos: position{line: 705, col: 14, offset: 22938}, + pos: position{line: 703, col: 14, offset: 22801}, val: "[^\\r\\n{<>]", chars: []rune{'\r', '\n', '{', '<', '>'}, ignoreCase: false, @@ -47733,28 +52408,83 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 659, col: 5, offset: 21191}, - run: (*parser).callonDoubleQuoteMonospaceTextElement117, + pos: position{line: 650, col: 5, offset: 20786}, + run: (*parser).callonDoubleQuoteMonospaceTextElement127, + expr: &seqExpr{ + pos: position{line: 650, col: 5, offset: 20786}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 650, col: 5, offset: 20786}, + val: "\\{", + ignoreCase: false, + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 650, col: 13, offset: 20794}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + run: (*parser).callonDoubleQuoteMonospaceTextElement131, + expr: &seqExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 324, col: 18, offset: 10054}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 324, col: 28, offset: 10064}, + expr: &charClassMatcher{ + pos: position{line: 324, col: 29, offset: 10065}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 650, col: 32, offset: 20813}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 657, col: 5, offset: 21054}, + run: (*parser).callonDoubleQuoteMonospaceTextElement137, expr: &seqExpr{ - pos: position{line: 659, col: 5, offset: 21191}, + pos: position{line: 657, col: 5, offset: 21054}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 659, col: 5, offset: 21191}, + pos: position{line: 657, col: 5, offset: 21054}, val: "{", ignoreCase: false, want: "\"{\"", }, &labeledExpr{ - pos: position{line: 659, col: 9, offset: 21195}, + pos: position{line: 657, col: 9, offset: 21058}, label: "name", expr: &actionExpr{ - pos: position{line: 332, col: 18, offset: 10393}, - run: (*parser).callonDoubleQuoteMonospaceTextElement121, + pos: position{line: 324, col: 18, offset: 10054}, + run: (*parser).callonDoubleQuoteMonospaceTextElement141, expr: &seqExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -47763,9 +52493,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 332, col: 28, offset: 10403}, + pos: position{line: 324, col: 28, offset: 10064}, expr: &charClassMatcher{ - pos: position{line: 332, col: 29, offset: 10404}, + pos: position{line: 324, col: 29, offset: 10065}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -47779,7 +52509,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 659, col: 28, offset: 21214}, + pos: position{line: 657, col: 28, offset: 21077}, val: "}", ignoreCase: false, want: "\"}\"", @@ -47788,10 +52518,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 709, col: 8, offset: 23164}, - run: (*parser).callonDoubleQuoteMonospaceTextElement127, + pos: position{line: 707, col: 8, offset: 23027}, + run: (*parser).callonDoubleQuoteMonospaceTextElement147, expr: &litMatcher{ - pos: position{line: 709, col: 8, offset: 23164}, + pos: position{line: 707, col: 8, offset: 23027}, val: "{", ignoreCase: false, want: "\"{\"", @@ -47802,7 +52532,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 694, col: 79, offset: 22550}, + pos: position{line: 692, col: 79, offset: 22413}, val: ">>", ignoreCase: false, want: "\">>\"", @@ -47811,27 +52541,27 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 696, col: 9, offset: 22623}, - run: (*parser).callonDoubleQuoteMonospaceTextElement130, + pos: position{line: 694, col: 9, offset: 22486}, + run: (*parser).callonDoubleQuoteMonospaceTextElement150, expr: &seqExpr{ - pos: position{line: 696, col: 9, offset: 22623}, + pos: position{line: 694, col: 9, offset: 22486}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 696, col: 9, offset: 22623}, + pos: position{line: 694, col: 9, offset: 22486}, val: "<<", ignoreCase: false, want: "\"<<\"", }, &labeledExpr{ - pos: position{line: 696, col: 14, offset: 22628}, + pos: position{line: 694, col: 14, offset: 22491}, label: "id", expr: &actionExpr{ - pos: position{line: 2884, col: 7, offset: 95839}, - run: (*parser).callonDoubleQuoteMonospaceTextElement134, + pos: position{line: 3043, col: 7, offset: 99263}, + run: (*parser).callonDoubleQuoteMonospaceTextElement154, expr: &oneOrMoreExpr{ - pos: position{line: 2884, col: 7, offset: 95839}, + pos: position{line: 3043, col: 7, offset: 99263}, expr: &charClassMatcher{ - pos: position{line: 2884, col: 7, offset: 95839}, + pos: position{line: 3043, col: 7, offset: 99263}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -47841,7 +52571,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 696, col: 22, offset: 22636}, + pos: position{line: 694, col: 22, offset: 22499}, val: ">>", ignoreCase: false, want: "\">>\"", @@ -47853,10 +52583,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2607, col: 11, offset: 87187}, - run: (*parser).callonDoubleQuoteMonospaceTextElement138, + pos: position{line: 2751, col: 11, offset: 90101}, + run: (*parser).callonDoubleQuoteMonospaceTextElement158, expr: &charClassMatcher{ - pos: position{line: 2607, col: 12, offset: 87188}, + pos: position{line: 2751, col: 12, offset: 90102}, val: "[<>&]", chars: []rune{'<', '>', '&'}, ignoreCase: false, @@ -47870,63 +52600,133 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2632, col: 15, offset: 88155}, - run: (*parser).callonDoubleQuoteMonospaceTextElement140, + pos: position{line: 2776, col: 5, offset: 90995}, + run: (*parser).callonDoubleQuoteMonospaceTextElement160, + expr: &seqExpr{ + pos: position{line: 2776, col: 5, offset: 90995}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2776, col: 5, offset: 90995}, + val: "\\", + ignoreCase: false, + want: "\"\\\\\"", + }, + &choiceExpr{ + pos: position{line: 2776, col: 10, offset: 91000}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2784, col: 15, offset: 91276}, + run: (*parser).callonDoubleQuoteMonospaceTextElement164, + expr: &litMatcher{ + pos: position{line: 2784, col: 15, offset: 91276}, + val: "`'", + ignoreCase: false, + want: "\"`'\"", + }, + }, + &actionExpr{ + pos: position{line: 2790, col: 14, offset: 91391}, + run: (*parser).callonDoubleQuoteMonospaceTextElement166, + expr: &litMatcher{ + pos: position{line: 2790, col: 14, offset: 91391}, + val: "(C)", + ignoreCase: false, + want: "\"(C)\"", + }, + }, + &actionExpr{ + pos: position{line: 2794, col: 14, offset: 91467}, + run: (*parser).callonDoubleQuoteMonospaceTextElement168, + expr: &litMatcher{ + pos: position{line: 2794, col: 14, offset: 91467}, + val: "(TM)", + ignoreCase: false, + want: "\"(TM)\"", + }, + }, + &actionExpr{ + pos: position{line: 2798, col: 15, offset: 91545}, + run: (*parser).callonDoubleQuoteMonospaceTextElement170, + expr: &litMatcher{ + pos: position{line: 2798, col: 15, offset: 91545}, + val: "(R)", + ignoreCase: false, + want: "\"(R)\"", + }, + }, + &actionExpr{ + pos: position{line: 2802, col: 13, offset: 91620}, + run: (*parser).callonDoubleQuoteMonospaceTextElement172, + expr: &litMatcher{ + pos: position{line: 2802, col: 13, offset: 91620}, + val: "...", + ignoreCase: false, + want: "\"...\"", + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2784, col: 15, offset: 91276}, + run: (*parser).callonDoubleQuoteMonospaceTextElement174, expr: &litMatcher{ - pos: position{line: 2632, col: 15, offset: 88155}, + pos: position{line: 2784, col: 15, offset: 91276}, val: "`'", ignoreCase: false, want: "\"`'\"", }, }, &actionExpr{ - pos: position{line: 2638, col: 14, offset: 88270}, - run: (*parser).callonDoubleQuoteMonospaceTextElement142, + pos: position{line: 2790, col: 14, offset: 91391}, + run: (*parser).callonDoubleQuoteMonospaceTextElement176, expr: &litMatcher{ - pos: position{line: 2638, col: 14, offset: 88270}, + pos: position{line: 2790, col: 14, offset: 91391}, val: "(C)", ignoreCase: false, want: "\"(C)\"", }, }, &actionExpr{ - pos: position{line: 2642, col: 14, offset: 88346}, - run: (*parser).callonDoubleQuoteMonospaceTextElement144, + pos: position{line: 2794, col: 14, offset: 91467}, + run: (*parser).callonDoubleQuoteMonospaceTextElement178, expr: &litMatcher{ - pos: position{line: 2642, col: 14, offset: 88346}, + pos: position{line: 2794, col: 14, offset: 91467}, val: "(TM)", ignoreCase: false, want: "\"(TM)\"", }, }, &actionExpr{ - pos: position{line: 2646, col: 15, offset: 88424}, - run: (*parser).callonDoubleQuoteMonospaceTextElement146, + pos: position{line: 2798, col: 15, offset: 91545}, + run: (*parser).callonDoubleQuoteMonospaceTextElement180, expr: &litMatcher{ - pos: position{line: 2646, col: 15, offset: 88424}, + pos: position{line: 2798, col: 15, offset: 91545}, val: "(R)", ignoreCase: false, want: "\"(R)\"", }, }, &actionExpr{ - pos: position{line: 2650, col: 13, offset: 88499}, - run: (*parser).callonDoubleQuoteMonospaceTextElement148, + pos: position{line: 2802, col: 13, offset: 91620}, + run: (*parser).callonDoubleQuoteMonospaceTextElement182, expr: &litMatcher{ - pos: position{line: 2650, col: 13, offset: 88499}, + pos: position{line: 2802, col: 13, offset: 91620}, val: "...", ignoreCase: false, want: "\"...\"", }, }, &actionExpr{ - pos: position{line: 2658, col: 22, offset: 88805}, - run: (*parser).callonDoubleQuoteMonospaceTextElement150, + pos: position{line: 2811, col: 5, offset: 91944}, + run: (*parser).callonDoubleQuoteMonospaceTextElement184, expr: &seqExpr{ - pos: position{line: 2658, col: 22, offset: 88805}, + pos: position{line: 2811, col: 5, offset: 91944}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 2813, col: 13, offset: 93503}, + pos: position{line: 2972, col: 13, offset: 96927}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -47934,15 +52734,48 @@ var g = &grammar{ inverted: false, }, &litMatcher{ - pos: position{line: 2658, col: 31, offset: 88814}, + pos: position{line: 2811, col: 14, offset: 91953}, + val: "\\'", + ignoreCase: false, + want: "\"\\\\'\"", + }, + &andExpr{ + pos: position{line: 2811, col: 19, offset: 91958}, + expr: &charClassMatcher{ + pos: position{line: 2811, col: 20, offset: 91959}, + val: "[\\pL]", + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2817, col: 5, offset: 92190}, + run: (*parser).callonDoubleQuoteMonospaceTextElement190, + expr: &seqExpr{ + pos: position{line: 2817, col: 5, offset: 92190}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 2972, col: 13, offset: 96927}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &litMatcher{ + pos: position{line: 2817, col: 14, offset: 92199}, val: "'", ignoreCase: false, want: "\"'\"", }, &andExpr{ - pos: position{line: 2658, col: 35, offset: 88818}, + pos: position{line: 2817, col: 18, offset: 92203}, expr: &charClassMatcher{ - pos: position{line: 2658, col: 36, offset: 88819}, + pos: position{line: 2817, col: 19, offset: 92204}, val: "[\\pL]", classes: []*unicode.RangeTable{rangeTable("L")}, ignoreCase: false, @@ -47953,41 +52786,41 @@ var g = &grammar{ }, }, &ruleRefExpr{ - pos: position{line: 2083, col: 11, offset: 69378}, + pos: position{line: 2163, col: 11, offset: 71123}, name: "QuotedString", }, &litMatcher{ - pos: position{line: 2636, col: 18, offset: 88234}, + pos: position{line: 2788, col: 18, offset: 91355}, val: "`'", ignoreCase: false, want: "\"`'\"", }, &ruleRefExpr{ - pos: position{line: 2085, col: 11, offset: 69468}, + pos: position{line: 2165, col: 11, offset: 71213}, name: "QuotedTextInDoubleQuoteMonospaceText", }, &actionExpr{ - pos: position{line: 1122, col: 23, offset: 34991}, - run: (*parser).callonDoubleQuoteMonospaceTextElement159, + pos: position{line: 1120, col: 23, offset: 34854}, + run: (*parser).callonDoubleQuoteMonospaceTextElement199, expr: &seqExpr{ - pos: position{line: 1122, col: 23, offset: 34991}, + pos: position{line: 1120, col: 23, offset: 34854}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1120, col: 32, offset: 34959}, + pos: position{line: 1118, col: 32, offset: 34822}, val: "�", ignoreCase: false, want: "\"�\"", }, &labeledExpr{ - pos: position{line: 1122, col: 51, offset: 35019}, + pos: position{line: 1120, col: 51, offset: 34882}, label: "ref", expr: &actionExpr{ - pos: position{line: 1122, col: 56, offset: 35024}, - run: (*parser).callonDoubleQuoteMonospaceTextElement163, + pos: position{line: 1120, col: 56, offset: 34887}, + run: (*parser).callonDoubleQuoteMonospaceTextElement203, expr: &oneOrMoreExpr{ - pos: position{line: 1122, col: 56, offset: 35024}, + pos: position{line: 1120, col: 56, offset: 34887}, expr: &charClassMatcher{ - pos: position{line: 1122, col: 56, offset: 35024}, + pos: position{line: 1120, col: 56, offset: 34887}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -47997,7 +52830,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1120, col: 32, offset: 34959}, + pos: position{line: 1118, col: 32, offset: 34822}, val: "�", ignoreCase: false, want: "\"�\"", @@ -48006,31 +52839,31 @@ var g = &grammar{ }, }, &charClassMatcher{ - pos: position{line: 2104, col: 5, offset: 70000}, + pos: position{line: 2197, col: 5, offset: 72011}, val: "[^\\r\\n`]", chars: []rune{'\r', '\n', '`'}, ignoreCase: false, inverted: true, }, &actionExpr{ - pos: position{line: 2105, col: 7, offset: 70102}, - run: (*parser).callonDoubleQuoteMonospaceTextElement168, + pos: position{line: 2198, col: 7, offset: 72113}, + run: (*parser).callonDoubleQuoteMonospaceTextElement208, expr: &seqExpr{ - pos: position{line: 2105, col: 7, offset: 70102}, + pos: position{line: 2198, col: 7, offset: 72113}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2105, col: 7, offset: 70102}, + pos: position{line: 2198, col: 7, offset: 72113}, val: "``", ignoreCase: false, want: "\"``\"", }, &actionExpr{ - pos: position{line: 2817, col: 14, offset: 93577}, - run: (*parser).callonDoubleQuoteMonospaceTextElement171, + pos: position{line: 2976, col: 14, offset: 97001}, + run: (*parser).callonDoubleQuoteMonospaceTextElement211, expr: &oneOrMoreExpr{ - pos: position{line: 2817, col: 14, offset: 93577}, + pos: position{line: 2976, col: 14, offset: 97001}, expr: &charClassMatcher{ - pos: position{line: 2817, col: 14, offset: 93577}, + pos: position{line: 2976, col: 14, offset: 97001}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -48051,53 +52884,105 @@ var g = &grammar{ }, { name: "QuotedTextInDoubleQuoteMonospaceText", - pos: position{line: 2091, col: 1, offset: 69632}, - expr: &actionExpr{ - pos: position{line: 2092, col: 5, offset: 69676}, - run: (*parser).callonQuotedTextInDoubleQuoteMonospaceText1, - expr: &seqExpr{ - pos: position{line: 2092, col: 5, offset: 69676}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 2092, col: 5, offset: 69676}, - label: "attributes", - expr: &zeroOrOneExpr{ - pos: position{line: 2092, col: 16, offset: 69687}, - expr: &ruleRefExpr{ - pos: position{line: 2092, col: 17, offset: 69688}, - name: "LongHandAttributes", + pos: position{line: 2171, col: 1, offset: 71377}, + expr: &choiceExpr{ + pos: position{line: 2173, col: 5, offset: 71444}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2173, col: 5, offset: 71444}, + run: (*parser).callonQuotedTextInDoubleQuoteMonospaceText2, + expr: &seqExpr{ + pos: position{line: 2173, col: 5, offset: 71444}, + exprs: []interface{}{ + &andExpr{ + pos: position{line: 2173, col: 5, offset: 71444}, + expr: &litMatcher{ + pos: position{line: 2173, col: 7, offset: 71446}, + val: "\\", + ignoreCase: false, + want: "\"\\\\\"", + }, + }, + &labeledExpr{ + pos: position{line: 2174, col: 5, offset: 71455}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 2175, col: 9, offset: 71473}, + alternatives: []interface{}{ + &ruleRefExpr{ + pos: position{line: 2175, col: 9, offset: 71473}, + name: "EscapedBoldText", + }, + &ruleRefExpr{ + pos: position{line: 2176, col: 11, offset: 71500}, + name: "EscapedItalicText", + }, + &ruleRefExpr{ + pos: position{line: 2177, col: 11, offset: 71528}, + name: "EscapedMarkedText", + }, + &ruleRefExpr{ + pos: position{line: 2178, col: 11, offset: 71556}, + name: "EscapedSubscriptText", + }, + &ruleRefExpr{ + pos: position{line: 2179, col: 11, offset: 71587}, + name: "EscapedSuperscriptText", + }, + }, + }, }, }, }, - &labeledExpr{ - pos: position{line: 2093, col: 5, offset: 69714}, - label: "text", - expr: &choiceExpr{ - pos: position{line: 2094, col: 9, offset: 69729}, - alternatives: []interface{}{ - &ruleRefExpr{ - pos: position{line: 2094, col: 9, offset: 69729}, - name: "SingleQuoteMonospaceText", - }, - &ruleRefExpr{ - pos: position{line: 2095, col: 11, offset: 69764}, - name: "BoldText", - }, - &ruleRefExpr{ - pos: position{line: 2096, col: 11, offset: 69783}, - name: "ItalicText", - }, - &ruleRefExpr{ - pos: position{line: 2097, col: 11, offset: 69804}, - name: "MarkedText", - }, - &ruleRefExpr{ - pos: position{line: 2098, col: 11, offset: 69825}, - name: "SubscriptText", + }, + &actionExpr{ + pos: position{line: 2185, col: 5, offset: 71687}, + run: (*parser).callonQuotedTextInDoubleQuoteMonospaceText13, + expr: &seqExpr{ + pos: position{line: 2185, col: 5, offset: 71687}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 2185, col: 5, offset: 71687}, + label: "attributes", + expr: &zeroOrOneExpr{ + pos: position{line: 2185, col: 16, offset: 71698}, + expr: &ruleRefExpr{ + pos: position{line: 2185, col: 17, offset: 71699}, + name: "LongHandAttributes", + }, }, - &ruleRefExpr{ - pos: position{line: 2099, col: 11, offset: 69849}, - name: "SuperscriptText", + }, + &labeledExpr{ + pos: position{line: 2186, col: 5, offset: 71725}, + label: "text", + expr: &choiceExpr{ + pos: position{line: 2187, col: 9, offset: 71740}, + alternatives: []interface{}{ + &ruleRefExpr{ + pos: position{line: 2187, col: 9, offset: 71740}, + name: "SingleQuoteMonospaceText", + }, + &ruleRefExpr{ + pos: position{line: 2188, col: 11, offset: 71775}, + name: "BoldText", + }, + &ruleRefExpr{ + pos: position{line: 2189, col: 11, offset: 71794}, + name: "ItalicText", + }, + &ruleRefExpr{ + pos: position{line: 2190, col: 11, offset: 71815}, + name: "MarkedText", + }, + &ruleRefExpr{ + pos: position{line: 2191, col: 11, offset: 71836}, + name: "SubscriptText", + }, + &ruleRefExpr{ + pos: position{line: 2192, col: 11, offset: 71860}, + name: "SuperscriptText", + }, + }, }, }, }, @@ -48108,29 +52993,29 @@ var g = &grammar{ }, { name: "SingleQuoteMonospaceText", - pos: position{line: 2118, col: 1, offset: 70588}, + pos: position{line: 2211, col: 1, offset: 72599}, expr: &actionExpr{ - pos: position{line: 2119, col: 5, offset: 70621}, + pos: position{line: 2212, col: 5, offset: 72632}, run: (*parser).callonSingleQuoteMonospaceText1, expr: &seqExpr{ - pos: position{line: 2119, col: 5, offset: 70621}, + pos: position{line: 2212, col: 5, offset: 72632}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2114, col: 43, offset: 70536}, + pos: position{line: 2207, col: 43, offset: 72547}, val: "`", ignoreCase: false, want: "\"`\"", }, &labeledExpr{ - pos: position{line: 2120, col: 5, offset: 70665}, + pos: position{line: 2213, col: 5, offset: 72676}, label: "elements", expr: &ruleRefExpr{ - pos: position{line: 2120, col: 15, offset: 70675}, + pos: position{line: 2213, col: 15, offset: 72686}, name: "SingleQuoteMonospaceTextElements", }, }, &litMatcher{ - pos: position{line: 2116, col: 41, offset: 70582}, + pos: position{line: 2209, col: 41, offset: 72593}, val: "`", ignoreCase: false, want: "\"`\"", @@ -48141,29 +53026,29 @@ var g = &grammar{ }, { name: "SingleQuoteMonospaceTextElements", - pos: position{line: 2125, col: 1, offset: 70851}, + pos: position{line: 2218, col: 1, offset: 72862}, expr: &actionExpr{ - pos: position{line: 2126, col: 5, offset: 70892}, + pos: position{line: 2219, col: 5, offset: 72903}, run: (*parser).callonSingleQuoteMonospaceTextElements1, expr: &seqExpr{ - pos: position{line: 2126, col: 5, offset: 70892}, + pos: position{line: 2219, col: 5, offset: 72903}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 2126, col: 5, offset: 70892}, + pos: position{line: 2219, col: 5, offset: 72903}, expr: ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, ¬Expr{ - pos: position{line: 2126, col: 10, offset: 70897}, + pos: position{line: 2219, col: 10, offset: 72908}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonSingleQuoteMonospaceTextElements7, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -48172,18 +53057,18 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 2127, col: 5, offset: 70936}, + pos: position{line: 2220, col: 5, offset: 72947}, label: "elements", expr: &oneOrMoreExpr{ - pos: position{line: 2127, col: 14, offset: 70945}, + pos: position{line: 2220, col: 14, offset: 72956}, expr: &ruleRefExpr{ - pos: position{line: 2127, col: 15, offset: 70946}, + pos: position{line: 2220, col: 15, offset: 72957}, name: "SingleQuoteMonospaceTextElement", }, }, }, &andCodeExpr{ - pos: position{line: 2128, col: 5, offset: 70984}, + pos: position{line: 2221, col: 5, offset: 72995}, run: (*parser).callonSingleQuoteMonospaceTextElements12, }, }, @@ -48192,20 +53077,20 @@ var g = &grammar{ }, { name: "SingleQuoteMonospaceTextElement", - pos: position{line: 2134, col: 1, offset: 71125}, + pos: position{line: 2227, col: 1, offset: 73136}, expr: &choiceExpr{ - pos: position{line: 2135, col: 5, offset: 71166}, + pos: position{line: 2228, col: 5, offset: 73177}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2825, col: 5, offset: 93958}, + pos: position{line: 2984, col: 5, offset: 97382}, run: (*parser).callonSingleQuoteMonospaceTextElement2, expr: &seqExpr{ - pos: position{line: 2825, col: 5, offset: 93958}, + pos: position{line: 2984, col: 5, offset: 97382}, exprs: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 2825, col: 5, offset: 93958}, + pos: position{line: 2984, col: 5, offset: 97382}, expr: &charClassMatcher{ - pos: position{line: 2825, col: 5, offset: 93958}, + pos: position{line: 2984, col: 5, offset: 97382}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -48214,21 +53099,21 @@ var g = &grammar{ }, }, &andExpr{ - pos: position{line: 2825, col: 15, offset: 93968}, + pos: position{line: 2984, col: 15, offset: 97392}, expr: &choiceExpr{ - pos: position{line: 2825, col: 17, offset: 93970}, + pos: position{line: 2984, col: 17, offset: 97394}, alternatives: []interface{}{ &charClassMatcher{ - pos: position{line: 2825, col: 17, offset: 93970}, + pos: position{line: 2984, col: 17, offset: 97394}, val: "[\\r\\n ,]]", chars: []rune{'\r', '\n', ' ', ',', ']'}, ignoreCase: false, inverted: false, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -48238,15 +53123,15 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2827, col: 9, offset: 94052}, + pos: position{line: 2986, col: 9, offset: 97476}, run: (*parser).callonSingleQuoteMonospaceTextElement11, expr: &seqExpr{ - pos: position{line: 2827, col: 9, offset: 94052}, + pos: position{line: 2986, col: 9, offset: 97476}, exprs: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 2827, col: 9, offset: 94052}, + pos: position{line: 2986, col: 9, offset: 97476}, expr: &charClassMatcher{ - pos: position{line: 2827, col: 9, offset: 94052}, + pos: position{line: 2986, col: 9, offset: 97476}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -48255,21 +53140,21 @@ var g = &grammar{ }, }, &oneOrMoreExpr{ - pos: position{line: 2827, col: 19, offset: 94062}, + pos: position{line: 2986, col: 19, offset: 97486}, expr: &seqExpr{ - pos: position{line: 2827, col: 20, offset: 94063}, + pos: position{line: 2986, col: 20, offset: 97487}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 2827, col: 20, offset: 94063}, + pos: position{line: 2986, col: 20, offset: 97487}, val: "[=*_`]", chars: []rune{'=', '*', '_', '`'}, ignoreCase: false, inverted: false, }, &oneOrMoreExpr{ - pos: position{line: 2827, col: 27, offset: 94070}, + pos: position{line: 2986, col: 27, offset: 97494}, expr: &charClassMatcher{ - pos: position{line: 2827, col: 27, offset: 94070}, + pos: position{line: 2986, col: 27, offset: 97494}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -48284,12 +53169,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2903, col: 11, offset: 96254}, + pos: position{line: 3062, col: 11, offset: 99678}, run: (*parser).callonSingleQuoteMonospaceTextElement20, expr: &oneOrMoreExpr{ - pos: position{line: 2903, col: 11, offset: 96254}, + pos: position{line: 3062, col: 11, offset: 99678}, expr: &charClassMatcher{ - pos: position{line: 2903, col: 12, offset: 96255}, + pos: position{line: 3062, col: 12, offset: 99679}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -48298,28 +53183,28 @@ var g = &grammar{ }, }, &seqExpr{ - pos: position{line: 2137, col: 7, offset: 71191}, + pos: position{line: 2230, col: 7, offset: 73202}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonSingleQuoteMonospaceTextElement24, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -48328,27 +53213,27 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2137, col: 15, offset: 71199}, + pos: position{line: 2230, col: 15, offset: 73210}, expr: &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonSingleQuoteMonospaceTextElement30, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -48360,44 +53245,44 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 651, col: 5, offset: 21000}, + pos: position{line: 641, col: 5, offset: 20579}, run: (*parser).callonSingleQuoteMonospaceTextElement35, expr: &seqExpr{ - pos: position{line: 651, col: 5, offset: 21000}, + pos: position{line: 641, col: 5, offset: 20579}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 651, col: 5, offset: 21000}, + pos: position{line: 641, col: 5, offset: 20579}, run: (*parser).callonSingleQuoteMonospaceTextElement37, }, &labeledExpr{ - pos: position{line: 654, col: 5, offset: 21069}, + pos: position{line: 644, col: 5, offset: 20648}, label: "element", expr: &choiceExpr{ - pos: position{line: 654, col: 14, offset: 21078}, + pos: position{line: 644, col: 14, offset: 20657}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 666, col: 25, offset: 21447}, + pos: position{line: 664, col: 25, offset: 21310}, run: (*parser).callonSingleQuoteMonospaceTextElement40, expr: &seqExpr{ - pos: position{line: 666, col: 25, offset: 21447}, + pos: position{line: 664, col: 25, offset: 21310}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 666, col: 25, offset: 21447}, + pos: position{line: 664, col: 25, offset: 21310}, val: "{counter:", ignoreCase: false, want: "\"{counter:\"", }, &labeledExpr{ - pos: position{line: 666, col: 37, offset: 21459}, + pos: position{line: 664, col: 37, offset: 21322}, label: "name", expr: &actionExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, run: (*parser).callonSingleQuoteMonospaceTextElement44, expr: &seqExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -48406,9 +53291,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 332, col: 28, offset: 10403}, + pos: position{line: 324, col: 28, offset: 10064}, expr: &charClassMatcher{ - pos: position{line: 332, col: 29, offset: 10404}, + pos: position{line: 324, col: 29, offset: 10065}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -48422,33 +53307,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 666, col: 56, offset: 21478}, + pos: position{line: 664, col: 56, offset: 21341}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 666, col: 62, offset: 21484}, + pos: position{line: 664, col: 62, offset: 21347}, expr: &actionExpr{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, run: (*parser).callonSingleQuoteMonospaceTextElement51, expr: &seqExpr{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 674, col: 21, offset: 21783}, + pos: position{line: 672, col: 21, offset: 21646}, label: "start", expr: &choiceExpr{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, run: (*parser).callonSingleQuoteMonospaceTextElement56, expr: &charClassMatcher{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -48456,12 +53341,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, run: (*parser).callonSingleQuoteMonospaceTextElement58, expr: &oneOrMoreExpr{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, expr: &charClassMatcher{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -48478,7 +53363,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 666, col: 78, offset: 21500}, + pos: position{line: 664, col: 78, offset: 21363}, val: "}", ignoreCase: false, want: "\"}\"", @@ -48487,28 +53372,28 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 670, col: 25, offset: 21618}, + pos: position{line: 668, col: 25, offset: 21481}, run: (*parser).callonSingleQuoteMonospaceTextElement62, expr: &seqExpr{ - pos: position{line: 670, col: 25, offset: 21618}, + pos: position{line: 668, col: 25, offset: 21481}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 670, col: 25, offset: 21618}, + pos: position{line: 668, col: 25, offset: 21481}, val: "{counter2:", ignoreCase: false, want: "\"{counter2:\"", }, &labeledExpr{ - pos: position{line: 670, col: 38, offset: 21631}, + pos: position{line: 668, col: 38, offset: 21494}, label: "name", expr: &actionExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, run: (*parser).callonSingleQuoteMonospaceTextElement66, expr: &seqExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -48517,9 +53402,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 332, col: 28, offset: 10403}, + pos: position{line: 324, col: 28, offset: 10064}, expr: &charClassMatcher{ - pos: position{line: 332, col: 29, offset: 10404}, + pos: position{line: 324, col: 29, offset: 10065}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -48533,33 +53418,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 670, col: 57, offset: 21650}, + pos: position{line: 668, col: 57, offset: 21513}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 670, col: 63, offset: 21656}, + pos: position{line: 668, col: 63, offset: 21519}, expr: &actionExpr{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, run: (*parser).callonSingleQuoteMonospaceTextElement73, expr: &seqExpr{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 674, col: 21, offset: 21783}, + pos: position{line: 672, col: 21, offset: 21646}, label: "start", expr: &choiceExpr{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, run: (*parser).callonSingleQuoteMonospaceTextElement78, expr: &charClassMatcher{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -48567,12 +53452,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, run: (*parser).callonSingleQuoteMonospaceTextElement80, expr: &oneOrMoreExpr{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, expr: &charClassMatcher{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -48589,7 +53474,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 670, col: 79, offset: 21672}, + pos: position{line: 668, col: 79, offset: 21535}, val: "}", ignoreCase: false, want: "\"}\"", @@ -48598,28 +53483,83 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 659, col: 5, offset: 21191}, + pos: position{line: 650, col: 5, offset: 20786}, run: (*parser).callonSingleQuoteMonospaceTextElement84, expr: &seqExpr{ - pos: position{line: 659, col: 5, offset: 21191}, + pos: position{line: 650, col: 5, offset: 20786}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 650, col: 5, offset: 20786}, + val: "\\{", + ignoreCase: false, + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 650, col: 13, offset: 20794}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + run: (*parser).callonSingleQuoteMonospaceTextElement88, + expr: &seqExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 324, col: 18, offset: 10054}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 324, col: 28, offset: 10064}, + expr: &charClassMatcher{ + pos: position{line: 324, col: 29, offset: 10065}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 650, col: 32, offset: 20813}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 657, col: 5, offset: 21054}, + run: (*parser).callonSingleQuoteMonospaceTextElement94, + expr: &seqExpr{ + pos: position{line: 657, col: 5, offset: 21054}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 659, col: 5, offset: 21191}, + pos: position{line: 657, col: 5, offset: 21054}, val: "{", ignoreCase: false, want: "\"{\"", }, &labeledExpr{ - pos: position{line: 659, col: 9, offset: 21195}, + pos: position{line: 657, col: 9, offset: 21058}, label: "name", expr: &actionExpr{ - pos: position{line: 332, col: 18, offset: 10393}, - run: (*parser).callonSingleQuoteMonospaceTextElement88, + pos: position{line: 324, col: 18, offset: 10054}, + run: (*parser).callonSingleQuoteMonospaceTextElement98, expr: &seqExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -48628,9 +53568,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 332, col: 28, offset: 10403}, + pos: position{line: 324, col: 28, offset: 10064}, expr: &charClassMatcher{ - pos: position{line: 332, col: 29, offset: 10404}, + pos: position{line: 324, col: 29, offset: 10065}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -48644,7 +53584,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 659, col: 28, offset: 21214}, + pos: position{line: 657, col: 28, offset: 21077}, val: "}", ignoreCase: false, want: "\"}\"", @@ -48659,53 +53599,53 @@ var g = &grammar{ }, }, &ruleRefExpr{ - pos: position{line: 2139, col: 7, offset: 71273}, + pos: position{line: 2232, col: 7, offset: 73284}, name: "InlineMacro", }, &actionExpr{ - pos: position{line: 2599, col: 5, offset: 86909}, - run: (*parser).callonSingleQuoteMonospaceTextElement95, + pos: position{line: 2743, col: 5, offset: 89823}, + run: (*parser).callonSingleQuoteMonospaceTextElement105, expr: &seqExpr{ - pos: position{line: 2599, col: 5, offset: 86909}, + pos: position{line: 2743, col: 5, offset: 89823}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 2599, col: 5, offset: 86909}, - run: (*parser).callonSingleQuoteMonospaceTextElement97, + pos: position{line: 2743, col: 5, offset: 89823}, + run: (*parser).callonSingleQuoteMonospaceTextElement107, }, &labeledExpr{ - pos: position{line: 2602, col: 5, offset: 86985}, + pos: position{line: 2746, col: 5, offset: 89899}, label: "element", expr: &choiceExpr{ - pos: position{line: 2604, col: 9, offset: 87083}, + pos: position{line: 2748, col: 9, offset: 89997}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2604, col: 9, offset: 87083}, - run: (*parser).callonSingleQuoteMonospaceTextElement100, + pos: position{line: 2748, col: 9, offset: 89997}, + run: (*parser).callonSingleQuoteMonospaceTextElement110, expr: &choiceExpr{ - pos: position{line: 694, col: 27, offset: 22498}, + pos: position{line: 692, col: 27, offset: 22361}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 694, col: 27, offset: 22498}, - run: (*parser).callonSingleQuoteMonospaceTextElement102, + pos: position{line: 692, col: 27, offset: 22361}, + run: (*parser).callonSingleQuoteMonospaceTextElement112, expr: &seqExpr{ - pos: position{line: 694, col: 27, offset: 22498}, + pos: position{line: 692, col: 27, offset: 22361}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 694, col: 27, offset: 22498}, + pos: position{line: 692, col: 27, offset: 22361}, val: "<<", ignoreCase: false, want: "\"<<\"", }, &labeledExpr{ - pos: position{line: 694, col: 32, offset: 22503}, + pos: position{line: 692, col: 32, offset: 22366}, label: "id", expr: &actionExpr{ - pos: position{line: 2884, col: 7, offset: 95839}, - run: (*parser).callonSingleQuoteMonospaceTextElement106, + pos: position{line: 3043, col: 7, offset: 99263}, + run: (*parser).callonSingleQuoteMonospaceTextElement116, expr: &oneOrMoreExpr{ - pos: position{line: 2884, col: 7, offset: 95839}, + pos: position{line: 3043, col: 7, offset: 99263}, expr: &charClassMatcher{ - pos: position{line: 2884, col: 7, offset: 95839}, + pos: position{line: 3043, col: 7, offset: 99263}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -48715,12 +53655,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 694, col: 40, offset: 22511}, + pos: position{line: 692, col: 40, offset: 22374}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, - run: (*parser).callonSingleQuoteMonospaceTextElement110, + pos: position{line: 3058, col: 10, offset: 99611}, + run: (*parser).callonSingleQuoteMonospaceTextElement120, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -48729,27 +53669,27 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 694, col: 47, offset: 22518}, + pos: position{line: 692, col: 47, offset: 22381}, val: ",", ignoreCase: false, want: "\",\"", }, &labeledExpr{ - pos: position{line: 694, col: 51, offset: 22522}, + pos: position{line: 692, col: 51, offset: 22385}, label: "label", expr: &oneOrMoreExpr{ - pos: position{line: 704, col: 24, offset: 22923}, + pos: position{line: 702, col: 24, offset: 22786}, expr: &choiceExpr{ - pos: position{line: 705, col: 5, offset: 22929}, + pos: position{line: 703, col: 5, offset: 22792}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 705, col: 6, offset: 22930}, - run: (*parser).callonSingleQuoteMonospaceTextElement116, + pos: position{line: 703, col: 6, offset: 22793}, + run: (*parser).callonSingleQuoteMonospaceTextElement126, expr: &seqExpr{ - pos: position{line: 705, col: 6, offset: 22930}, + pos: position{line: 703, col: 6, offset: 22793}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 705, col: 6, offset: 22930}, + pos: position{line: 703, col: 6, offset: 22793}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -48757,9 +53697,9 @@ var g = &grammar{ inverted: false, }, &oneOrMoreExpr{ - pos: position{line: 705, col: 14, offset: 22938}, + pos: position{line: 703, col: 14, offset: 22801}, expr: &charClassMatcher{ - pos: position{line: 705, col: 14, offset: 22938}, + pos: position{line: 703, col: 14, offset: 22801}, val: "[^\\r\\n{<>]", chars: []rune{'\r', '\n', '{', '<', '>'}, ignoreCase: false, @@ -48770,28 +53710,83 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 659, col: 5, offset: 21191}, - run: (*parser).callonSingleQuoteMonospaceTextElement121, + pos: position{line: 650, col: 5, offset: 20786}, + run: (*parser).callonSingleQuoteMonospaceTextElement131, expr: &seqExpr{ - pos: position{line: 659, col: 5, offset: 21191}, + pos: position{line: 650, col: 5, offset: 20786}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 659, col: 5, offset: 21191}, + pos: position{line: 650, col: 5, offset: 20786}, + val: "\\{", + ignoreCase: false, + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 650, col: 13, offset: 20794}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + run: (*parser).callonSingleQuoteMonospaceTextElement135, + expr: &seqExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 324, col: 18, offset: 10054}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 324, col: 28, offset: 10064}, + expr: &charClassMatcher{ + pos: position{line: 324, col: 29, offset: 10065}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 650, col: 32, offset: 20813}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 657, col: 5, offset: 21054}, + run: (*parser).callonSingleQuoteMonospaceTextElement141, + expr: &seqExpr{ + pos: position{line: 657, col: 5, offset: 21054}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 657, col: 5, offset: 21054}, val: "{", ignoreCase: false, want: "\"{\"", }, &labeledExpr{ - pos: position{line: 659, col: 9, offset: 21195}, + pos: position{line: 657, col: 9, offset: 21058}, label: "name", expr: &actionExpr{ - pos: position{line: 332, col: 18, offset: 10393}, - run: (*parser).callonSingleQuoteMonospaceTextElement125, + pos: position{line: 324, col: 18, offset: 10054}, + run: (*parser).callonSingleQuoteMonospaceTextElement145, expr: &seqExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -48800,9 +53795,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 332, col: 28, offset: 10403}, + pos: position{line: 324, col: 28, offset: 10064}, expr: &charClassMatcher{ - pos: position{line: 332, col: 29, offset: 10404}, + pos: position{line: 324, col: 29, offset: 10065}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -48816,7 +53811,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 659, col: 28, offset: 21214}, + pos: position{line: 657, col: 28, offset: 21077}, val: "}", ignoreCase: false, want: "\"}\"", @@ -48825,10 +53820,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 709, col: 8, offset: 23164}, - run: (*parser).callonSingleQuoteMonospaceTextElement131, + pos: position{line: 707, col: 8, offset: 23027}, + run: (*parser).callonSingleQuoteMonospaceTextElement151, expr: &litMatcher{ - pos: position{line: 709, col: 8, offset: 23164}, + pos: position{line: 707, col: 8, offset: 23027}, val: "{", ignoreCase: false, want: "\"{\"", @@ -48839,7 +53834,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 694, col: 79, offset: 22550}, + pos: position{line: 692, col: 79, offset: 22413}, val: ">>", ignoreCase: false, want: "\">>\"", @@ -48848,27 +53843,27 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 696, col: 9, offset: 22623}, - run: (*parser).callonSingleQuoteMonospaceTextElement134, + pos: position{line: 694, col: 9, offset: 22486}, + run: (*parser).callonSingleQuoteMonospaceTextElement154, expr: &seqExpr{ - pos: position{line: 696, col: 9, offset: 22623}, + pos: position{line: 694, col: 9, offset: 22486}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 696, col: 9, offset: 22623}, + pos: position{line: 694, col: 9, offset: 22486}, val: "<<", ignoreCase: false, want: "\"<<\"", }, &labeledExpr{ - pos: position{line: 696, col: 14, offset: 22628}, + pos: position{line: 694, col: 14, offset: 22491}, label: "id", expr: &actionExpr{ - pos: position{line: 2884, col: 7, offset: 95839}, - run: (*parser).callonSingleQuoteMonospaceTextElement138, + pos: position{line: 3043, col: 7, offset: 99263}, + run: (*parser).callonSingleQuoteMonospaceTextElement158, expr: &oneOrMoreExpr{ - pos: position{line: 2884, col: 7, offset: 95839}, + pos: position{line: 3043, col: 7, offset: 99263}, expr: &charClassMatcher{ - pos: position{line: 2884, col: 7, offset: 95839}, + pos: position{line: 3043, col: 7, offset: 99263}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -48878,7 +53873,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 696, col: 22, offset: 22636}, + pos: position{line: 694, col: 22, offset: 22499}, val: ">>", ignoreCase: false, want: "\">>\"", @@ -48890,10 +53885,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2607, col: 11, offset: 87187}, - run: (*parser).callonSingleQuoteMonospaceTextElement142, + pos: position{line: 2751, col: 11, offset: 90101}, + run: (*parser).callonSingleQuoteMonospaceTextElement162, expr: &charClassMatcher{ - pos: position{line: 2607, col: 12, offset: 87188}, + pos: position{line: 2751, col: 12, offset: 90102}, val: "[<>&]", chars: []rune{'<', '>', '&'}, ignoreCase: false, @@ -48907,63 +53902,166 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2632, col: 15, offset: 88155}, - run: (*parser).callonSingleQuoteMonospaceTextElement144, + pos: position{line: 2776, col: 5, offset: 90995}, + run: (*parser).callonSingleQuoteMonospaceTextElement164, + expr: &seqExpr{ + pos: position{line: 2776, col: 5, offset: 90995}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2776, col: 5, offset: 90995}, + val: "\\", + ignoreCase: false, + want: "\"\\\\\"", + }, + &choiceExpr{ + pos: position{line: 2776, col: 10, offset: 91000}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2784, col: 15, offset: 91276}, + run: (*parser).callonSingleQuoteMonospaceTextElement168, + expr: &litMatcher{ + pos: position{line: 2784, col: 15, offset: 91276}, + val: "`'", + ignoreCase: false, + want: "\"`'\"", + }, + }, + &actionExpr{ + pos: position{line: 2790, col: 14, offset: 91391}, + run: (*parser).callonSingleQuoteMonospaceTextElement170, + expr: &litMatcher{ + pos: position{line: 2790, col: 14, offset: 91391}, + val: "(C)", + ignoreCase: false, + want: "\"(C)\"", + }, + }, + &actionExpr{ + pos: position{line: 2794, col: 14, offset: 91467}, + run: (*parser).callonSingleQuoteMonospaceTextElement172, + expr: &litMatcher{ + pos: position{line: 2794, col: 14, offset: 91467}, + val: "(TM)", + ignoreCase: false, + want: "\"(TM)\"", + }, + }, + &actionExpr{ + pos: position{line: 2798, col: 15, offset: 91545}, + run: (*parser).callonSingleQuoteMonospaceTextElement174, + expr: &litMatcher{ + pos: position{line: 2798, col: 15, offset: 91545}, + val: "(R)", + ignoreCase: false, + want: "\"(R)\"", + }, + }, + &actionExpr{ + pos: position{line: 2802, col: 13, offset: 91620}, + run: (*parser).callonSingleQuoteMonospaceTextElement176, + expr: &litMatcher{ + pos: position{line: 2802, col: 13, offset: 91620}, + val: "...", + ignoreCase: false, + want: "\"...\"", + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2784, col: 15, offset: 91276}, + run: (*parser).callonSingleQuoteMonospaceTextElement178, expr: &litMatcher{ - pos: position{line: 2632, col: 15, offset: 88155}, + pos: position{line: 2784, col: 15, offset: 91276}, val: "`'", ignoreCase: false, want: "\"`'\"", }, }, &actionExpr{ - pos: position{line: 2638, col: 14, offset: 88270}, - run: (*parser).callonSingleQuoteMonospaceTextElement146, + pos: position{line: 2790, col: 14, offset: 91391}, + run: (*parser).callonSingleQuoteMonospaceTextElement180, expr: &litMatcher{ - pos: position{line: 2638, col: 14, offset: 88270}, + pos: position{line: 2790, col: 14, offset: 91391}, val: "(C)", ignoreCase: false, want: "\"(C)\"", }, }, &actionExpr{ - pos: position{line: 2642, col: 14, offset: 88346}, - run: (*parser).callonSingleQuoteMonospaceTextElement148, + pos: position{line: 2794, col: 14, offset: 91467}, + run: (*parser).callonSingleQuoteMonospaceTextElement182, expr: &litMatcher{ - pos: position{line: 2642, col: 14, offset: 88346}, + pos: position{line: 2794, col: 14, offset: 91467}, val: "(TM)", ignoreCase: false, want: "\"(TM)\"", }, }, &actionExpr{ - pos: position{line: 2646, col: 15, offset: 88424}, - run: (*parser).callonSingleQuoteMonospaceTextElement150, + pos: position{line: 2798, col: 15, offset: 91545}, + run: (*parser).callonSingleQuoteMonospaceTextElement184, expr: &litMatcher{ - pos: position{line: 2646, col: 15, offset: 88424}, + pos: position{line: 2798, col: 15, offset: 91545}, val: "(R)", ignoreCase: false, want: "\"(R)\"", }, }, &actionExpr{ - pos: position{line: 2650, col: 13, offset: 88499}, - run: (*parser).callonSingleQuoteMonospaceTextElement152, + pos: position{line: 2802, col: 13, offset: 91620}, + run: (*parser).callonSingleQuoteMonospaceTextElement186, expr: &litMatcher{ - pos: position{line: 2650, col: 13, offset: 88499}, + pos: position{line: 2802, col: 13, offset: 91620}, val: "...", ignoreCase: false, want: "\"...\"", }, }, &actionExpr{ - pos: position{line: 2658, col: 22, offset: 88805}, - run: (*parser).callonSingleQuoteMonospaceTextElement154, + pos: position{line: 2811, col: 5, offset: 91944}, + run: (*parser).callonSingleQuoteMonospaceTextElement188, + expr: &seqExpr{ + pos: position{line: 2811, col: 5, offset: 91944}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 2972, col: 13, offset: 96927}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &litMatcher{ + pos: position{line: 2811, col: 14, offset: 91953}, + val: "\\'", + ignoreCase: false, + want: "\"\\\\'\"", + }, + &andExpr{ + pos: position{line: 2811, col: 19, offset: 91958}, + expr: &charClassMatcher{ + pos: position{line: 2811, col: 20, offset: 91959}, + val: "[\\pL]", + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2817, col: 5, offset: 92190}, + run: (*parser).callonSingleQuoteMonospaceTextElement194, expr: &seqExpr{ - pos: position{line: 2658, col: 22, offset: 88805}, + pos: position{line: 2817, col: 5, offset: 92190}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 2813, col: 13, offset: 93503}, + pos: position{line: 2972, col: 13, offset: 96927}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -48971,15 +54069,15 @@ var g = &grammar{ inverted: false, }, &litMatcher{ - pos: position{line: 2658, col: 31, offset: 88814}, + pos: position{line: 2817, col: 14, offset: 92199}, val: "'", ignoreCase: false, want: "\"'\"", }, &andExpr{ - pos: position{line: 2658, col: 35, offset: 88818}, + pos: position{line: 2817, col: 18, offset: 92203}, expr: &charClassMatcher{ - pos: position{line: 2658, col: 36, offset: 88819}, + pos: position{line: 2817, col: 19, offset: 92204}, val: "[\\pL]", classes: []*unicode.RangeTable{rangeTable("L")}, ignoreCase: false, @@ -48990,41 +54088,41 @@ var g = &grammar{ }, }, &ruleRefExpr{ - pos: position{line: 2142, col: 7, offset: 71377}, + pos: position{line: 2235, col: 7, offset: 73388}, name: "QuotedString", }, &ruleRefExpr{ - pos: position{line: 2143, col: 7, offset: 71396}, + pos: position{line: 2236, col: 7, offset: 73407}, name: "QuotedTextInSingleQuoteMonospaceText", }, &litMatcher{ - pos: position{line: 2636, col: 18, offset: 88234}, + pos: position{line: 2788, col: 18, offset: 91355}, val: "`'", ignoreCase: false, want: "\"`'\"", }, &actionExpr{ - pos: position{line: 1122, col: 23, offset: 34991}, - run: (*parser).callonSingleQuoteMonospaceTextElement163, + pos: position{line: 1120, col: 23, offset: 34854}, + run: (*parser).callonSingleQuoteMonospaceTextElement203, expr: &seqExpr{ - pos: position{line: 1122, col: 23, offset: 34991}, + pos: position{line: 1120, col: 23, offset: 34854}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1120, col: 32, offset: 34959}, + pos: position{line: 1118, col: 32, offset: 34822}, val: "�", ignoreCase: false, want: "\"�\"", }, &labeledExpr{ - pos: position{line: 1122, col: 51, offset: 35019}, + pos: position{line: 1120, col: 51, offset: 34882}, label: "ref", expr: &actionExpr{ - pos: position{line: 1122, col: 56, offset: 35024}, - run: (*parser).callonSingleQuoteMonospaceTextElement167, + pos: position{line: 1120, col: 56, offset: 34887}, + run: (*parser).callonSingleQuoteMonospaceTextElement207, expr: &oneOrMoreExpr{ - pos: position{line: 1122, col: 56, offset: 35024}, + pos: position{line: 1120, col: 56, offset: 34887}, expr: &charClassMatcher{ - pos: position{line: 1122, col: 56, offset: 35024}, + pos: position{line: 1120, col: 56, offset: 34887}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -49034,7 +54132,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1120, col: 32, offset: 34959}, + pos: position{line: 1118, col: 32, offset: 34822}, val: "�", ignoreCase: false, want: "\"�\"", @@ -49043,34 +54141,34 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2161, col: 5, offset: 71895}, - run: (*parser).callonSingleQuoteMonospaceTextElement171, + pos: position{line: 2267, col: 5, offset: 74172}, + run: (*parser).callonSingleQuoteMonospaceTextElement211, expr: &choiceExpr{ - pos: position{line: 2161, col: 6, offset: 71896}, + pos: position{line: 2267, col: 6, offset: 74173}, alternatives: []interface{}{ &charClassMatcher{ - pos: position{line: 2161, col: 6, offset: 71896}, + pos: position{line: 2267, col: 6, offset: 74173}, val: "[^\\r\\n` ]", chars: []rune{'\r', '\n', '`', ' '}, ignoreCase: false, inverted: true, }, &seqExpr{ - pos: position{line: 2162, col: 7, offset: 72008}, + pos: position{line: 2268, col: 7, offset: 74285}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2052, col: 27, offset: 68340}, + pos: position{line: 2132, col: 27, offset: 70085}, val: "`", ignoreCase: false, want: "\"`\"", }, &actionExpr{ - pos: position{line: 2817, col: 14, offset: 93577}, - run: (*parser).callonSingleQuoteMonospaceTextElement176, + pos: position{line: 2976, col: 14, offset: 97001}, + run: (*parser).callonSingleQuoteMonospaceTextElement216, expr: &oneOrMoreExpr{ - pos: position{line: 2817, col: 14, offset: 93577}, + pos: position{line: 2976, col: 14, offset: 97001}, expr: &charClassMatcher{ - pos: position{line: 2817, col: 14, offset: 93577}, + pos: position{line: 2976, col: 14, offset: 97001}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -49089,53 +54187,105 @@ var g = &grammar{ }, { name: "QuotedTextInSingleQuoteMonospaceText", - pos: position{line: 2148, col: 1, offset: 71527}, - expr: &actionExpr{ - pos: position{line: 2149, col: 5, offset: 71571}, - run: (*parser).callonQuotedTextInSingleQuoteMonospaceText1, - expr: &seqExpr{ - pos: position{line: 2149, col: 5, offset: 71571}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 2149, col: 5, offset: 71571}, - label: "attributes", - expr: &zeroOrOneExpr{ - pos: position{line: 2149, col: 16, offset: 71582}, - expr: &ruleRefExpr{ - pos: position{line: 2149, col: 17, offset: 71583}, - name: "LongHandAttributes", + pos: position{line: 2241, col: 1, offset: 73538}, + expr: &choiceExpr{ + pos: position{line: 2243, col: 5, offset: 73605}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2243, col: 5, offset: 73605}, + run: (*parser).callonQuotedTextInSingleQuoteMonospaceText2, + expr: &seqExpr{ + pos: position{line: 2243, col: 5, offset: 73605}, + exprs: []interface{}{ + &andExpr{ + pos: position{line: 2243, col: 5, offset: 73605}, + expr: &litMatcher{ + pos: position{line: 2243, col: 7, offset: 73607}, + val: "\\", + ignoreCase: false, + want: "\"\\\\\"", + }, + }, + &labeledExpr{ + pos: position{line: 2244, col: 5, offset: 73616}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 2245, col: 9, offset: 73634}, + alternatives: []interface{}{ + &ruleRefExpr{ + pos: position{line: 2245, col: 9, offset: 73634}, + name: "EscapedBoldText", + }, + &ruleRefExpr{ + pos: position{line: 2246, col: 11, offset: 73661}, + name: "EscapedItalicText", + }, + &ruleRefExpr{ + pos: position{line: 2247, col: 11, offset: 73689}, + name: "EscapedMarkedText", + }, + &ruleRefExpr{ + pos: position{line: 2248, col: 11, offset: 73717}, + name: "EscapedSubscriptText", + }, + &ruleRefExpr{ + pos: position{line: 2249, col: 11, offset: 73748}, + name: "EscapedSuperscriptText", + }, + }, + }, }, }, }, - &labeledExpr{ - pos: position{line: 2150, col: 5, offset: 71609}, - label: "text", - expr: &choiceExpr{ - pos: position{line: 2151, col: 9, offset: 71624}, - alternatives: []interface{}{ - &ruleRefExpr{ - pos: position{line: 2151, col: 9, offset: 71624}, - name: "DoubleQuoteMonospaceText", - }, - &ruleRefExpr{ - pos: position{line: 2152, col: 11, offset: 71659}, - name: "BoldText", - }, - &ruleRefExpr{ - pos: position{line: 2153, col: 11, offset: 71678}, - name: "ItalicText", - }, - &ruleRefExpr{ - pos: position{line: 2154, col: 11, offset: 71699}, - name: "MarkedText", - }, - &ruleRefExpr{ - pos: position{line: 2155, col: 11, offset: 71720}, - name: "SubscriptText", + }, + &actionExpr{ + pos: position{line: 2255, col: 5, offset: 73848}, + run: (*parser).callonQuotedTextInSingleQuoteMonospaceText13, + expr: &seqExpr{ + pos: position{line: 2255, col: 5, offset: 73848}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 2255, col: 5, offset: 73848}, + label: "attributes", + expr: &zeroOrOneExpr{ + pos: position{line: 2255, col: 16, offset: 73859}, + expr: &ruleRefExpr{ + pos: position{line: 2255, col: 17, offset: 73860}, + name: "LongHandAttributes", + }, }, - &ruleRefExpr{ - pos: position{line: 2156, col: 11, offset: 71744}, - name: "SuperscriptText", + }, + &labeledExpr{ + pos: position{line: 2256, col: 5, offset: 73886}, + label: "text", + expr: &choiceExpr{ + pos: position{line: 2257, col: 9, offset: 73901}, + alternatives: []interface{}{ + &ruleRefExpr{ + pos: position{line: 2257, col: 9, offset: 73901}, + name: "DoubleQuoteMonospaceText", + }, + &ruleRefExpr{ + pos: position{line: 2258, col: 11, offset: 73936}, + name: "BoldText", + }, + &ruleRefExpr{ + pos: position{line: 2259, col: 11, offset: 73955}, + name: "ItalicText", + }, + &ruleRefExpr{ + pos: position{line: 2260, col: 11, offset: 73976}, + name: "MarkedText", + }, + &ruleRefExpr{ + pos: position{line: 2261, col: 11, offset: 73997}, + name: "SubscriptText", + }, + &ruleRefExpr{ + pos: position{line: 2262, col: 11, offset: 74021}, + name: "SuperscriptText", + }, + }, }, }, }, @@ -49146,35 +54296,35 @@ var g = &grammar{ }, { name: "EscapedMonospaceText", - pos: position{line: 2166, col: 1, offset: 72209}, + pos: position{line: 2272, col: 1, offset: 74486}, expr: &choiceExpr{ - pos: position{line: 2167, col: 5, offset: 72238}, + pos: position{line: 2274, col: 5, offset: 74557}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2167, col: 5, offset: 72238}, + pos: position{line: 2274, col: 5, offset: 74557}, run: (*parser).callonEscapedMonospaceText2, expr: &seqExpr{ - pos: position{line: 2167, col: 5, offset: 72238}, + pos: position{line: 2274, col: 5, offset: 74557}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 2167, col: 5, offset: 72238}, + pos: position{line: 2274, col: 5, offset: 74557}, label: "backslashes", expr: &actionExpr{ - pos: position{line: 1795, col: 25, offset: 58988}, + pos: position{line: 1825, col: 25, offset: 59835}, run: (*parser).callonEscapedMonospaceText5, expr: &seqExpr{ - pos: position{line: 1795, col: 25, offset: 58988}, + pos: position{line: 1825, col: 25, offset: 59835}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1795, col: 25, offset: 58988}, + pos: position{line: 1825, col: 25, offset: 59835}, val: "\\\\", ignoreCase: false, want: "\"\\\\\\\\\"", }, &zeroOrMoreExpr{ - pos: position{line: 1795, col: 30, offset: 58993}, + pos: position{line: 1825, col: 30, offset: 59840}, expr: &litMatcher{ - pos: position{line: 1795, col: 30, offset: 58993}, + pos: position{line: 1825, col: 30, offset: 59840}, val: "\\", ignoreCase: false, want: "\"\\\\\"", @@ -49185,21 +54335,21 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 2167, col: 40, offset: 72273}, + pos: position{line: 2274, col: 40, offset: 74592}, val: "``", ignoreCase: false, want: "\"``\"", }, &labeledExpr{ - pos: position{line: 2167, col: 45, offset: 72278}, + pos: position{line: 2274, col: 45, offset: 74597}, label: "elements", expr: &ruleRefExpr{ - pos: position{line: 2167, col: 55, offset: 72288}, + pos: position{line: 2274, col: 55, offset: 74607}, name: "DoubleQuoteMonospaceTextElements", }, }, &litMatcher{ - pos: position{line: 2167, col: 89, offset: 72322}, + pos: position{line: 2274, col: 89, offset: 74641}, val: "``", ignoreCase: false, want: "\"``\"", @@ -49208,21 +54358,21 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2169, col: 9, offset: 72479}, + pos: position{line: 2278, col: 7, offset: 74810}, run: (*parser).callonEscapedMonospaceText14, expr: &seqExpr{ - pos: position{line: 2169, col: 9, offset: 72479}, + pos: position{line: 2278, col: 7, offset: 74810}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 2169, col: 9, offset: 72479}, + pos: position{line: 2278, col: 7, offset: 74810}, label: "backslashes", expr: &actionExpr{ - pos: position{line: 1791, col: 25, offset: 58915}, + pos: position{line: 1821, col: 25, offset: 59762}, run: (*parser).callonEscapedMonospaceText17, expr: &oneOrMoreExpr{ - pos: position{line: 1791, col: 25, offset: 58915}, + pos: position{line: 1821, col: 25, offset: 59762}, expr: &litMatcher{ - pos: position{line: 1791, col: 25, offset: 58915}, + pos: position{line: 1821, col: 25, offset: 59762}, val: "\\", ignoreCase: false, want: "\"\\\\\"", @@ -49231,21 +54381,21 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 2169, col: 44, offset: 72514}, + pos: position{line: 2278, col: 42, offset: 74845}, val: "``", ignoreCase: false, want: "\"``\"", }, &labeledExpr{ - pos: position{line: 2169, col: 49, offset: 72519}, + pos: position{line: 2278, col: 47, offset: 74850}, label: "elements", expr: &ruleRefExpr{ - pos: position{line: 2169, col: 59, offset: 72529}, + pos: position{line: 2278, col: 57, offset: 74860}, name: "SingleQuoteMonospaceTextElements", }, }, &litMatcher{ - pos: position{line: 2169, col: 93, offset: 72563}, + pos: position{line: 2278, col: 91, offset: 74894}, val: "`", ignoreCase: false, want: "\"`\"", @@ -49254,21 +54404,21 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2172, col: 9, offset: 72763}, + pos: position{line: 2283, col: 7, offset: 75100}, run: (*parser).callonEscapedMonospaceText24, expr: &seqExpr{ - pos: position{line: 2172, col: 9, offset: 72763}, + pos: position{line: 2283, col: 7, offset: 75100}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 2172, col: 9, offset: 72763}, + pos: position{line: 2283, col: 7, offset: 75100}, label: "backslashes", expr: &actionExpr{ - pos: position{line: 1791, col: 25, offset: 58915}, + pos: position{line: 1821, col: 25, offset: 59762}, run: (*parser).callonEscapedMonospaceText27, expr: &oneOrMoreExpr{ - pos: position{line: 1791, col: 25, offset: 58915}, + pos: position{line: 1821, col: 25, offset: 59762}, expr: &litMatcher{ - pos: position{line: 1791, col: 25, offset: 58915}, + pos: position{line: 1821, col: 25, offset: 59762}, val: "\\", ignoreCase: false, want: "\"\\\\\"", @@ -49277,21 +54427,21 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 2172, col: 44, offset: 72798}, + pos: position{line: 2283, col: 42, offset: 75135}, val: "`", ignoreCase: false, want: "\"`\"", }, &labeledExpr{ - pos: position{line: 2172, col: 48, offset: 72802}, + pos: position{line: 2283, col: 46, offset: 75139}, label: "elements", expr: &ruleRefExpr{ - pos: position{line: 2172, col: 58, offset: 72812}, + pos: position{line: 2283, col: 56, offset: 75149}, name: "SingleQuoteMonospaceTextElements", }, }, &litMatcher{ - pos: position{line: 2172, col: 92, offset: 72846}, + pos: position{line: 2283, col: 90, offset: 75183}, val: "`", ignoreCase: false, want: "\"`\"", @@ -49304,16 +54454,16 @@ var g = &grammar{ }, { name: "MarkedText", - pos: position{line: 2179, col: 1, offset: 73143}, + pos: position{line: 2290, col: 1, offset: 75435}, expr: &choiceExpr{ - pos: position{line: 2179, col: 15, offset: 73157}, + pos: position{line: 2290, col: 15, offset: 75449}, alternatives: []interface{}{ &ruleRefExpr{ - pos: position{line: 2179, col: 15, offset: 73157}, + pos: position{line: 2290, col: 15, offset: 75449}, name: "DoubleQuoteMarkedText", }, &ruleRefExpr{ - pos: position{line: 2179, col: 39, offset: 73181}, + pos: position{line: 2290, col: 39, offset: 75473}, name: "SingleQuoteMarkedText", }, }, @@ -49321,29 +54471,29 @@ var g = &grammar{ }, { name: "DoubleQuoteMarkedText", - pos: position{line: 2193, col: 1, offset: 73519}, + pos: position{line: 2304, col: 1, offset: 75811}, expr: &actionExpr{ - pos: position{line: 2194, col: 5, offset: 73549}, + pos: position{line: 2305, col: 5, offset: 75841}, run: (*parser).callonDoubleQuoteMarkedText1, expr: &seqExpr{ - pos: position{line: 2194, col: 5, offset: 73549}, + pos: position{line: 2305, col: 5, offset: 75841}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2191, col: 35, offset: 73513}, + pos: position{line: 2302, col: 35, offset: 75805}, val: "##", ignoreCase: false, want: "\"##\"", }, &labeledExpr{ - pos: position{line: 2195, col: 5, offset: 73585}, + pos: position{line: 2306, col: 5, offset: 75877}, label: "elements", expr: &ruleRefExpr{ - pos: position{line: 2195, col: 15, offset: 73595}, + pos: position{line: 2306, col: 15, offset: 75887}, name: "DoubleQuoteMarkedTextElements", }, }, &litMatcher{ - pos: position{line: 2191, col: 35, offset: 73513}, + pos: position{line: 2302, col: 35, offset: 75805}, val: "##", ignoreCase: false, want: "\"##\"", @@ -49354,49 +54504,49 @@ var g = &grammar{ }, { name: "DoubleQuoteMarkedTextElements", - pos: position{line: 2200, col: 1, offset: 73758}, + pos: position{line: 2311, col: 1, offset: 76050}, expr: &zeroOrMoreExpr{ - pos: position{line: 2200, col: 34, offset: 73791}, + pos: position{line: 2311, col: 34, offset: 76083}, expr: &ruleRefExpr{ - pos: position{line: 2200, col: 34, offset: 73791}, + pos: position{line: 2311, col: 34, offset: 76083}, name: "DoubleQuoteMarkedTextElement", }, }, }, { name: "DoubleQuoteMarkedTextElement", - pos: position{line: 2202, col: 1, offset: 73822}, + pos: position{line: 2313, col: 1, offset: 76114}, expr: &actionExpr{ - pos: position{line: 2203, col: 5, offset: 73891}, + pos: position{line: 2314, col: 5, offset: 76183}, run: (*parser).callonDoubleQuoteMarkedTextElement1, expr: &seqExpr{ - pos: position{line: 2203, col: 5, offset: 73891}, + pos: position{line: 2314, col: 5, offset: 76183}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 2203, col: 5, offset: 73891}, + pos: position{line: 2314, col: 5, offset: 76183}, expr: &litMatcher{ - pos: position{line: 2191, col: 35, offset: 73513}, + pos: position{line: 2302, col: 35, offset: 75805}, val: "##", ignoreCase: false, want: "\"##\"", }, }, &labeledExpr{ - pos: position{line: 2204, col: 5, offset: 73927}, + pos: position{line: 2315, col: 5, offset: 76219}, label: "element", expr: &choiceExpr{ - pos: position{line: 2205, col: 9, offset: 73945}, + pos: position{line: 2316, col: 9, offset: 76237}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2184, col: 5, offset: 73255}, + pos: position{line: 2295, col: 5, offset: 75547}, run: (*parser).callonDoubleQuoteMarkedTextElement7, expr: &seqExpr{ - pos: position{line: 2184, col: 5, offset: 73255}, + pos: position{line: 2295, col: 5, offset: 75547}, exprs: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 2184, col: 5, offset: 73255}, + pos: position{line: 2295, col: 5, offset: 75547}, expr: &charClassMatcher{ - pos: position{line: 2184, col: 5, offset: 73255}, + pos: position{line: 2295, col: 5, offset: 75547}, val: "[,?!;0-9\\pL]", chars: []rune{',', '?', '!', ';'}, ranges: []rune{'0', '9'}, @@ -49406,15 +54556,15 @@ var g = &grammar{ }, }, &andExpr{ - pos: position{line: 2184, col: 19, offset: 73269}, + pos: position{line: 2295, col: 19, offset: 75561}, expr: &choiceExpr{ - pos: position{line: 2184, col: 21, offset: 73271}, + pos: position{line: 2295, col: 21, offset: 75563}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonDoubleQuoteMarkedTextElement13, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -49422,7 +54572,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 2181, col: 24, offset: 73227}, + pos: position{line: 2292, col: 24, offset: 75519}, val: "#", ignoreCase: false, want: "\"#\"", @@ -49434,12 +54584,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2903, col: 11, offset: 96254}, + pos: position{line: 3062, col: 11, offset: 99678}, run: (*parser).callonDoubleQuoteMarkedTextElement16, expr: &oneOrMoreExpr{ - pos: position{line: 2903, col: 11, offset: 96254}, + pos: position{line: 3062, col: 11, offset: 99678}, expr: &charClassMatcher{ - pos: position{line: 2903, col: 12, offset: 96255}, + pos: position{line: 3062, col: 12, offset: 99679}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -49448,28 +54598,28 @@ var g = &grammar{ }, }, &seqExpr{ - pos: position{line: 2207, col: 11, offset: 74020}, + pos: position{line: 2318, col: 11, offset: 76312}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonDoubleQuoteMarkedTextElement20, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -49478,27 +54628,27 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2207, col: 19, offset: 74028}, + pos: position{line: 2318, col: 19, offset: 76320}, expr: &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonDoubleQuoteMarkedTextElement26, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -49510,44 +54660,44 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 651, col: 5, offset: 21000}, + pos: position{line: 641, col: 5, offset: 20579}, run: (*parser).callonDoubleQuoteMarkedTextElement31, expr: &seqExpr{ - pos: position{line: 651, col: 5, offset: 21000}, + pos: position{line: 641, col: 5, offset: 20579}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 651, col: 5, offset: 21000}, + pos: position{line: 641, col: 5, offset: 20579}, run: (*parser).callonDoubleQuoteMarkedTextElement33, }, &labeledExpr{ - pos: position{line: 654, col: 5, offset: 21069}, + pos: position{line: 644, col: 5, offset: 20648}, label: "element", expr: &choiceExpr{ - pos: position{line: 654, col: 14, offset: 21078}, + pos: position{line: 644, col: 14, offset: 20657}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 666, col: 25, offset: 21447}, + pos: position{line: 664, col: 25, offset: 21310}, run: (*parser).callonDoubleQuoteMarkedTextElement36, expr: &seqExpr{ - pos: position{line: 666, col: 25, offset: 21447}, + pos: position{line: 664, col: 25, offset: 21310}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 666, col: 25, offset: 21447}, + pos: position{line: 664, col: 25, offset: 21310}, val: "{counter:", ignoreCase: false, want: "\"{counter:\"", }, &labeledExpr{ - pos: position{line: 666, col: 37, offset: 21459}, + pos: position{line: 664, col: 37, offset: 21322}, label: "name", expr: &actionExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, run: (*parser).callonDoubleQuoteMarkedTextElement40, expr: &seqExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -49556,9 +54706,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 332, col: 28, offset: 10403}, + pos: position{line: 324, col: 28, offset: 10064}, expr: &charClassMatcher{ - pos: position{line: 332, col: 29, offset: 10404}, + pos: position{line: 324, col: 29, offset: 10065}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -49572,33 +54722,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 666, col: 56, offset: 21478}, + pos: position{line: 664, col: 56, offset: 21341}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 666, col: 62, offset: 21484}, + pos: position{line: 664, col: 62, offset: 21347}, expr: &actionExpr{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, run: (*parser).callonDoubleQuoteMarkedTextElement47, expr: &seqExpr{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 674, col: 21, offset: 21783}, + pos: position{line: 672, col: 21, offset: 21646}, label: "start", expr: &choiceExpr{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, run: (*parser).callonDoubleQuoteMarkedTextElement52, expr: &charClassMatcher{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -49606,12 +54756,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, run: (*parser).callonDoubleQuoteMarkedTextElement54, expr: &oneOrMoreExpr{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, expr: &charClassMatcher{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -49628,7 +54778,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 666, col: 78, offset: 21500}, + pos: position{line: 664, col: 78, offset: 21363}, val: "}", ignoreCase: false, want: "\"}\"", @@ -49637,28 +54787,28 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 670, col: 25, offset: 21618}, + pos: position{line: 668, col: 25, offset: 21481}, run: (*parser).callonDoubleQuoteMarkedTextElement58, expr: &seqExpr{ - pos: position{line: 670, col: 25, offset: 21618}, + pos: position{line: 668, col: 25, offset: 21481}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 670, col: 25, offset: 21618}, + pos: position{line: 668, col: 25, offset: 21481}, val: "{counter2:", ignoreCase: false, want: "\"{counter2:\"", }, &labeledExpr{ - pos: position{line: 670, col: 38, offset: 21631}, + pos: position{line: 668, col: 38, offset: 21494}, label: "name", expr: &actionExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, run: (*parser).callonDoubleQuoteMarkedTextElement62, expr: &seqExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -49667,9 +54817,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 332, col: 28, offset: 10403}, + pos: position{line: 324, col: 28, offset: 10064}, expr: &charClassMatcher{ - pos: position{line: 332, col: 29, offset: 10404}, + pos: position{line: 324, col: 29, offset: 10065}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -49683,33 +54833,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 670, col: 57, offset: 21650}, + pos: position{line: 668, col: 57, offset: 21513}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 670, col: 63, offset: 21656}, + pos: position{line: 668, col: 63, offset: 21519}, expr: &actionExpr{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, run: (*parser).callonDoubleQuoteMarkedTextElement69, expr: &seqExpr{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 674, col: 21, offset: 21783}, + pos: position{line: 672, col: 21, offset: 21646}, label: "start", expr: &choiceExpr{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, run: (*parser).callonDoubleQuoteMarkedTextElement74, expr: &charClassMatcher{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -49717,12 +54867,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, run: (*parser).callonDoubleQuoteMarkedTextElement76, expr: &oneOrMoreExpr{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, expr: &charClassMatcher{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -49739,7 +54889,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 670, col: 79, offset: 21672}, + pos: position{line: 668, col: 79, offset: 21535}, val: "}", ignoreCase: false, want: "\"}\"", @@ -49748,28 +54898,83 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 659, col: 5, offset: 21191}, + pos: position{line: 650, col: 5, offset: 20786}, run: (*parser).callonDoubleQuoteMarkedTextElement80, expr: &seqExpr{ - pos: position{line: 659, col: 5, offset: 21191}, + pos: position{line: 650, col: 5, offset: 20786}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 659, col: 5, offset: 21191}, + pos: position{line: 650, col: 5, offset: 20786}, + val: "\\{", + ignoreCase: false, + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 650, col: 13, offset: 20794}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + run: (*parser).callonDoubleQuoteMarkedTextElement84, + expr: &seqExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 324, col: 18, offset: 10054}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 324, col: 28, offset: 10064}, + expr: &charClassMatcher{ + pos: position{line: 324, col: 29, offset: 10065}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 650, col: 32, offset: 20813}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 657, col: 5, offset: 21054}, + run: (*parser).callonDoubleQuoteMarkedTextElement90, + expr: &seqExpr{ + pos: position{line: 657, col: 5, offset: 21054}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 657, col: 5, offset: 21054}, val: "{", ignoreCase: false, want: "\"{\"", }, &labeledExpr{ - pos: position{line: 659, col: 9, offset: 21195}, + pos: position{line: 657, col: 9, offset: 21058}, label: "name", expr: &actionExpr{ - pos: position{line: 332, col: 18, offset: 10393}, - run: (*parser).callonDoubleQuoteMarkedTextElement84, + pos: position{line: 324, col: 18, offset: 10054}, + run: (*parser).callonDoubleQuoteMarkedTextElement94, expr: &seqExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -49778,9 +54983,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 332, col: 28, offset: 10403}, + pos: position{line: 324, col: 28, offset: 10064}, expr: &charClassMatcher{ - pos: position{line: 332, col: 29, offset: 10404}, + pos: position{line: 324, col: 29, offset: 10065}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -49794,7 +54999,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 659, col: 28, offset: 21214}, + pos: position{line: 657, col: 28, offset: 21077}, val: "}", ignoreCase: false, want: "\"}\"", @@ -49809,53 +55014,53 @@ var g = &grammar{ }, }, &ruleRefExpr{ - pos: position{line: 2209, col: 11, offset: 74110}, + pos: position{line: 2320, col: 11, offset: 76402}, name: "InlineMacro", }, &actionExpr{ - pos: position{line: 2599, col: 5, offset: 86909}, - run: (*parser).callonDoubleQuoteMarkedTextElement91, + pos: position{line: 2743, col: 5, offset: 89823}, + run: (*parser).callonDoubleQuoteMarkedTextElement101, expr: &seqExpr{ - pos: position{line: 2599, col: 5, offset: 86909}, + pos: position{line: 2743, col: 5, offset: 89823}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 2599, col: 5, offset: 86909}, - run: (*parser).callonDoubleQuoteMarkedTextElement93, + pos: position{line: 2743, col: 5, offset: 89823}, + run: (*parser).callonDoubleQuoteMarkedTextElement103, }, &labeledExpr{ - pos: position{line: 2602, col: 5, offset: 86985}, + pos: position{line: 2746, col: 5, offset: 89899}, label: "element", expr: &choiceExpr{ - pos: position{line: 2604, col: 9, offset: 87083}, + pos: position{line: 2748, col: 9, offset: 89997}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2604, col: 9, offset: 87083}, - run: (*parser).callonDoubleQuoteMarkedTextElement96, + pos: position{line: 2748, col: 9, offset: 89997}, + run: (*parser).callonDoubleQuoteMarkedTextElement106, expr: &choiceExpr{ - pos: position{line: 694, col: 27, offset: 22498}, + pos: position{line: 692, col: 27, offset: 22361}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 694, col: 27, offset: 22498}, - run: (*parser).callonDoubleQuoteMarkedTextElement98, + pos: position{line: 692, col: 27, offset: 22361}, + run: (*parser).callonDoubleQuoteMarkedTextElement108, expr: &seqExpr{ - pos: position{line: 694, col: 27, offset: 22498}, + pos: position{line: 692, col: 27, offset: 22361}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 694, col: 27, offset: 22498}, + pos: position{line: 692, col: 27, offset: 22361}, val: "<<", ignoreCase: false, want: "\"<<\"", }, &labeledExpr{ - pos: position{line: 694, col: 32, offset: 22503}, + pos: position{line: 692, col: 32, offset: 22366}, label: "id", expr: &actionExpr{ - pos: position{line: 2884, col: 7, offset: 95839}, - run: (*parser).callonDoubleQuoteMarkedTextElement102, + pos: position{line: 3043, col: 7, offset: 99263}, + run: (*parser).callonDoubleQuoteMarkedTextElement112, expr: &oneOrMoreExpr{ - pos: position{line: 2884, col: 7, offset: 95839}, + pos: position{line: 3043, col: 7, offset: 99263}, expr: &charClassMatcher{ - pos: position{line: 2884, col: 7, offset: 95839}, + pos: position{line: 3043, col: 7, offset: 99263}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -49865,12 +55070,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 694, col: 40, offset: 22511}, + pos: position{line: 692, col: 40, offset: 22374}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, - run: (*parser).callonDoubleQuoteMarkedTextElement106, + pos: position{line: 3058, col: 10, offset: 99611}, + run: (*parser).callonDoubleQuoteMarkedTextElement116, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -49879,27 +55084,27 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 694, col: 47, offset: 22518}, + pos: position{line: 692, col: 47, offset: 22381}, val: ",", ignoreCase: false, want: "\",\"", }, &labeledExpr{ - pos: position{line: 694, col: 51, offset: 22522}, + pos: position{line: 692, col: 51, offset: 22385}, label: "label", expr: &oneOrMoreExpr{ - pos: position{line: 704, col: 24, offset: 22923}, + pos: position{line: 702, col: 24, offset: 22786}, expr: &choiceExpr{ - pos: position{line: 705, col: 5, offset: 22929}, + pos: position{line: 703, col: 5, offset: 22792}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 705, col: 6, offset: 22930}, - run: (*parser).callonDoubleQuoteMarkedTextElement112, + pos: position{line: 703, col: 6, offset: 22793}, + run: (*parser).callonDoubleQuoteMarkedTextElement122, expr: &seqExpr{ - pos: position{line: 705, col: 6, offset: 22930}, + pos: position{line: 703, col: 6, offset: 22793}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 705, col: 6, offset: 22930}, + pos: position{line: 703, col: 6, offset: 22793}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -49907,9 +55112,9 @@ var g = &grammar{ inverted: false, }, &oneOrMoreExpr{ - pos: position{line: 705, col: 14, offset: 22938}, + pos: position{line: 703, col: 14, offset: 22801}, expr: &charClassMatcher{ - pos: position{line: 705, col: 14, offset: 22938}, + pos: position{line: 703, col: 14, offset: 22801}, val: "[^\\r\\n{<>]", chars: []rune{'\r', '\n', '{', '<', '>'}, ignoreCase: false, @@ -49920,28 +55125,83 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 659, col: 5, offset: 21191}, - run: (*parser).callonDoubleQuoteMarkedTextElement117, + pos: position{line: 650, col: 5, offset: 20786}, + run: (*parser).callonDoubleQuoteMarkedTextElement127, expr: &seqExpr{ - pos: position{line: 659, col: 5, offset: 21191}, + pos: position{line: 650, col: 5, offset: 20786}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 659, col: 5, offset: 21191}, + pos: position{line: 650, col: 5, offset: 20786}, + val: "\\{", + ignoreCase: false, + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 650, col: 13, offset: 20794}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + run: (*parser).callonDoubleQuoteMarkedTextElement131, + expr: &seqExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 324, col: 18, offset: 10054}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 324, col: 28, offset: 10064}, + expr: &charClassMatcher{ + pos: position{line: 324, col: 29, offset: 10065}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 650, col: 32, offset: 20813}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 657, col: 5, offset: 21054}, + run: (*parser).callonDoubleQuoteMarkedTextElement137, + expr: &seqExpr{ + pos: position{line: 657, col: 5, offset: 21054}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 657, col: 5, offset: 21054}, val: "{", ignoreCase: false, want: "\"{\"", }, &labeledExpr{ - pos: position{line: 659, col: 9, offset: 21195}, + pos: position{line: 657, col: 9, offset: 21058}, label: "name", expr: &actionExpr{ - pos: position{line: 332, col: 18, offset: 10393}, - run: (*parser).callonDoubleQuoteMarkedTextElement121, + pos: position{line: 324, col: 18, offset: 10054}, + run: (*parser).callonDoubleQuoteMarkedTextElement141, expr: &seqExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -49950,9 +55210,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 332, col: 28, offset: 10403}, + pos: position{line: 324, col: 28, offset: 10064}, expr: &charClassMatcher{ - pos: position{line: 332, col: 29, offset: 10404}, + pos: position{line: 324, col: 29, offset: 10065}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -49966,7 +55226,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 659, col: 28, offset: 21214}, + pos: position{line: 657, col: 28, offset: 21077}, val: "}", ignoreCase: false, want: "\"}\"", @@ -49975,10 +55235,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 709, col: 8, offset: 23164}, - run: (*parser).callonDoubleQuoteMarkedTextElement127, + pos: position{line: 707, col: 8, offset: 23027}, + run: (*parser).callonDoubleQuoteMarkedTextElement147, expr: &litMatcher{ - pos: position{line: 709, col: 8, offset: 23164}, + pos: position{line: 707, col: 8, offset: 23027}, val: "{", ignoreCase: false, want: "\"{\"", @@ -49989,7 +55249,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 694, col: 79, offset: 22550}, + pos: position{line: 692, col: 79, offset: 22413}, val: ">>", ignoreCase: false, want: "\">>\"", @@ -49998,27 +55258,27 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 696, col: 9, offset: 22623}, - run: (*parser).callonDoubleQuoteMarkedTextElement130, + pos: position{line: 694, col: 9, offset: 22486}, + run: (*parser).callonDoubleQuoteMarkedTextElement150, expr: &seqExpr{ - pos: position{line: 696, col: 9, offset: 22623}, + pos: position{line: 694, col: 9, offset: 22486}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 696, col: 9, offset: 22623}, + pos: position{line: 694, col: 9, offset: 22486}, val: "<<", ignoreCase: false, want: "\"<<\"", }, &labeledExpr{ - pos: position{line: 696, col: 14, offset: 22628}, + pos: position{line: 694, col: 14, offset: 22491}, label: "id", expr: &actionExpr{ - pos: position{line: 2884, col: 7, offset: 95839}, - run: (*parser).callonDoubleQuoteMarkedTextElement134, + pos: position{line: 3043, col: 7, offset: 99263}, + run: (*parser).callonDoubleQuoteMarkedTextElement154, expr: &oneOrMoreExpr{ - pos: position{line: 2884, col: 7, offset: 95839}, + pos: position{line: 3043, col: 7, offset: 99263}, expr: &charClassMatcher{ - pos: position{line: 2884, col: 7, offset: 95839}, + pos: position{line: 3043, col: 7, offset: 99263}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -50028,7 +55288,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 696, col: 22, offset: 22636}, + pos: position{line: 694, col: 22, offset: 22499}, val: ">>", ignoreCase: false, want: "\">>\"", @@ -50040,10 +55300,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2607, col: 11, offset: 87187}, - run: (*parser).callonDoubleQuoteMarkedTextElement138, + pos: position{line: 2751, col: 11, offset: 90101}, + run: (*parser).callonDoubleQuoteMarkedTextElement158, expr: &charClassMatcher{ - pos: position{line: 2607, col: 12, offset: 87188}, + pos: position{line: 2751, col: 12, offset: 90102}, val: "[<>&]", chars: []rune{'<', '>', '&'}, ignoreCase: false, @@ -50057,63 +55317,133 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2632, col: 15, offset: 88155}, - run: (*parser).callonDoubleQuoteMarkedTextElement140, + pos: position{line: 2776, col: 5, offset: 90995}, + run: (*parser).callonDoubleQuoteMarkedTextElement160, + expr: &seqExpr{ + pos: position{line: 2776, col: 5, offset: 90995}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2776, col: 5, offset: 90995}, + val: "\\", + ignoreCase: false, + want: "\"\\\\\"", + }, + &choiceExpr{ + pos: position{line: 2776, col: 10, offset: 91000}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2784, col: 15, offset: 91276}, + run: (*parser).callonDoubleQuoteMarkedTextElement164, + expr: &litMatcher{ + pos: position{line: 2784, col: 15, offset: 91276}, + val: "`'", + ignoreCase: false, + want: "\"`'\"", + }, + }, + &actionExpr{ + pos: position{line: 2790, col: 14, offset: 91391}, + run: (*parser).callonDoubleQuoteMarkedTextElement166, + expr: &litMatcher{ + pos: position{line: 2790, col: 14, offset: 91391}, + val: "(C)", + ignoreCase: false, + want: "\"(C)\"", + }, + }, + &actionExpr{ + pos: position{line: 2794, col: 14, offset: 91467}, + run: (*parser).callonDoubleQuoteMarkedTextElement168, + expr: &litMatcher{ + pos: position{line: 2794, col: 14, offset: 91467}, + val: "(TM)", + ignoreCase: false, + want: "\"(TM)\"", + }, + }, + &actionExpr{ + pos: position{line: 2798, col: 15, offset: 91545}, + run: (*parser).callonDoubleQuoteMarkedTextElement170, + expr: &litMatcher{ + pos: position{line: 2798, col: 15, offset: 91545}, + val: "(R)", + ignoreCase: false, + want: "\"(R)\"", + }, + }, + &actionExpr{ + pos: position{line: 2802, col: 13, offset: 91620}, + run: (*parser).callonDoubleQuoteMarkedTextElement172, + expr: &litMatcher{ + pos: position{line: 2802, col: 13, offset: 91620}, + val: "...", + ignoreCase: false, + want: "\"...\"", + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2784, col: 15, offset: 91276}, + run: (*parser).callonDoubleQuoteMarkedTextElement174, expr: &litMatcher{ - pos: position{line: 2632, col: 15, offset: 88155}, + pos: position{line: 2784, col: 15, offset: 91276}, val: "`'", ignoreCase: false, want: "\"`'\"", }, }, &actionExpr{ - pos: position{line: 2638, col: 14, offset: 88270}, - run: (*parser).callonDoubleQuoteMarkedTextElement142, + pos: position{line: 2790, col: 14, offset: 91391}, + run: (*parser).callonDoubleQuoteMarkedTextElement176, expr: &litMatcher{ - pos: position{line: 2638, col: 14, offset: 88270}, + pos: position{line: 2790, col: 14, offset: 91391}, val: "(C)", ignoreCase: false, want: "\"(C)\"", }, }, &actionExpr{ - pos: position{line: 2642, col: 14, offset: 88346}, - run: (*parser).callonDoubleQuoteMarkedTextElement144, + pos: position{line: 2794, col: 14, offset: 91467}, + run: (*parser).callonDoubleQuoteMarkedTextElement178, expr: &litMatcher{ - pos: position{line: 2642, col: 14, offset: 88346}, + pos: position{line: 2794, col: 14, offset: 91467}, val: "(TM)", ignoreCase: false, want: "\"(TM)\"", }, }, &actionExpr{ - pos: position{line: 2646, col: 15, offset: 88424}, - run: (*parser).callonDoubleQuoteMarkedTextElement146, + pos: position{line: 2798, col: 15, offset: 91545}, + run: (*parser).callonDoubleQuoteMarkedTextElement180, expr: &litMatcher{ - pos: position{line: 2646, col: 15, offset: 88424}, + pos: position{line: 2798, col: 15, offset: 91545}, val: "(R)", ignoreCase: false, want: "\"(R)\"", }, }, &actionExpr{ - pos: position{line: 2650, col: 13, offset: 88499}, - run: (*parser).callonDoubleQuoteMarkedTextElement148, + pos: position{line: 2802, col: 13, offset: 91620}, + run: (*parser).callonDoubleQuoteMarkedTextElement182, expr: &litMatcher{ - pos: position{line: 2650, col: 13, offset: 88499}, + pos: position{line: 2802, col: 13, offset: 91620}, val: "...", ignoreCase: false, want: "\"...\"", }, }, &actionExpr{ - pos: position{line: 2658, col: 22, offset: 88805}, - run: (*parser).callonDoubleQuoteMarkedTextElement150, + pos: position{line: 2811, col: 5, offset: 91944}, + run: (*parser).callonDoubleQuoteMarkedTextElement184, expr: &seqExpr{ - pos: position{line: 2658, col: 22, offset: 88805}, + pos: position{line: 2811, col: 5, offset: 91944}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 2813, col: 13, offset: 93503}, + pos: position{line: 2972, col: 13, offset: 96927}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -50121,15 +55451,48 @@ var g = &grammar{ inverted: false, }, &litMatcher{ - pos: position{line: 2658, col: 31, offset: 88814}, + pos: position{line: 2811, col: 14, offset: 91953}, + val: "\\'", + ignoreCase: false, + want: "\"\\\\'\"", + }, + &andExpr{ + pos: position{line: 2811, col: 19, offset: 91958}, + expr: &charClassMatcher{ + pos: position{line: 2811, col: 20, offset: 91959}, + val: "[\\pL]", + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2817, col: 5, offset: 92190}, + run: (*parser).callonDoubleQuoteMarkedTextElement190, + expr: &seqExpr{ + pos: position{line: 2817, col: 5, offset: 92190}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 2972, col: 13, offset: 96927}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &litMatcher{ + pos: position{line: 2817, col: 14, offset: 92199}, val: "'", ignoreCase: false, want: "\"'\"", }, &andExpr{ - pos: position{line: 2658, col: 35, offset: 88818}, + pos: position{line: 2817, col: 18, offset: 92203}, expr: &charClassMatcher{ - pos: position{line: 2658, col: 36, offset: 88819}, + pos: position{line: 2817, col: 19, offset: 92204}, val: "[\\pL]", classes: []*unicode.RangeTable{rangeTable("L")}, ignoreCase: false, @@ -50140,35 +55503,35 @@ var g = &grammar{ }, }, &ruleRefExpr{ - pos: position{line: 2212, col: 11, offset: 74226}, + pos: position{line: 2323, col: 11, offset: 76518}, name: "QuotedString", }, &ruleRefExpr{ - pos: position{line: 2213, col: 11, offset: 74249}, + pos: position{line: 2324, col: 11, offset: 76541}, name: "QuotedTextInDoubleMarkedBoldText", }, &actionExpr{ - pos: position{line: 1122, col: 23, offset: 34991}, - run: (*parser).callonDoubleQuoteMarkedTextElement158, + pos: position{line: 1120, col: 23, offset: 34854}, + run: (*parser).callonDoubleQuoteMarkedTextElement198, expr: &seqExpr{ - pos: position{line: 1122, col: 23, offset: 34991}, + pos: position{line: 1120, col: 23, offset: 34854}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1120, col: 32, offset: 34959}, + pos: position{line: 1118, col: 32, offset: 34822}, val: "�", ignoreCase: false, want: "\"�\"", }, &labeledExpr{ - pos: position{line: 1122, col: 51, offset: 35019}, + pos: position{line: 1120, col: 51, offset: 34882}, label: "ref", expr: &actionExpr{ - pos: position{line: 1122, col: 56, offset: 35024}, - run: (*parser).callonDoubleQuoteMarkedTextElement162, + pos: position{line: 1120, col: 56, offset: 34887}, + run: (*parser).callonDoubleQuoteMarkedTextElement202, expr: &oneOrMoreExpr{ - pos: position{line: 1122, col: 56, offset: 35024}, + pos: position{line: 1120, col: 56, offset: 34887}, expr: &charClassMatcher{ - pos: position{line: 1122, col: 56, offset: 35024}, + pos: position{line: 1120, col: 56, offset: 34887}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -50178,7 +55541,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1120, col: 32, offset: 34959}, + pos: position{line: 1118, col: 32, offset: 34822}, val: "�", ignoreCase: false, want: "\"�\"", @@ -50187,31 +55550,31 @@ var g = &grammar{ }, }, &charClassMatcher{ - pos: position{line: 2233, col: 5, offset: 74764}, + pos: position{line: 2357, col: 5, offset: 77325}, val: "[^\\r\\n#]", chars: []rune{'\r', '\n', '#'}, ignoreCase: false, inverted: true, }, &actionExpr{ - pos: position{line: 2234, col: 7, offset: 74863}, - run: (*parser).callonDoubleQuoteMarkedTextElement167, + pos: position{line: 2358, col: 7, offset: 77424}, + run: (*parser).callonDoubleQuoteMarkedTextElement207, expr: &seqExpr{ - pos: position{line: 2234, col: 7, offset: 74863}, + pos: position{line: 2358, col: 7, offset: 77424}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2191, col: 35, offset: 73513}, + pos: position{line: 2302, col: 35, offset: 75805}, val: "##", ignoreCase: false, want: "\"##\"", }, &actionExpr{ - pos: position{line: 2817, col: 14, offset: 93577}, - run: (*parser).callonDoubleQuoteMarkedTextElement170, + pos: position{line: 2976, col: 14, offset: 97001}, + run: (*parser).callonDoubleQuoteMarkedTextElement210, expr: &oneOrMoreExpr{ - pos: position{line: 2817, col: 14, offset: 93577}, + pos: position{line: 2976, col: 14, offset: 97001}, expr: &charClassMatcher{ - pos: position{line: 2817, col: 14, offset: 93577}, + pos: position{line: 2976, col: 14, offset: 97001}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -50232,53 +55595,105 @@ var g = &grammar{ }, { name: "QuotedTextInDoubleMarkedBoldText", - pos: position{line: 2220, col: 1, offset: 74403}, - expr: &actionExpr{ - pos: position{line: 2221, col: 5, offset: 74443}, - run: (*parser).callonQuotedTextInDoubleMarkedBoldText1, - expr: &seqExpr{ - pos: position{line: 2221, col: 5, offset: 74443}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 2221, col: 5, offset: 74443}, - label: "attributes", - expr: &zeroOrOneExpr{ - pos: position{line: 2221, col: 16, offset: 74454}, - expr: &ruleRefExpr{ - pos: position{line: 2221, col: 17, offset: 74455}, - name: "LongHandAttributes", + pos: position{line: 2331, col: 1, offset: 76695}, + expr: &choiceExpr{ + pos: position{line: 2333, col: 5, offset: 76758}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2333, col: 5, offset: 76758}, + run: (*parser).callonQuotedTextInDoubleMarkedBoldText2, + expr: &seqExpr{ + pos: position{line: 2333, col: 5, offset: 76758}, + exprs: []interface{}{ + &andExpr{ + pos: position{line: 2333, col: 5, offset: 76758}, + expr: &litMatcher{ + pos: position{line: 2333, col: 7, offset: 76760}, + val: "\\", + ignoreCase: false, + want: "\"\\\\\"", + }, + }, + &labeledExpr{ + pos: position{line: 2334, col: 5, offset: 76769}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 2335, col: 9, offset: 76787}, + alternatives: []interface{}{ + &ruleRefExpr{ + pos: position{line: 2335, col: 9, offset: 76787}, + name: "EscapedBoldText", + }, + &ruleRefExpr{ + pos: position{line: 2336, col: 11, offset: 76814}, + name: "EscapedItalicText", + }, + &ruleRefExpr{ + pos: position{line: 2337, col: 11, offset: 76842}, + name: "EscapedMonospaceText", + }, + &ruleRefExpr{ + pos: position{line: 2338, col: 11, offset: 76873}, + name: "EscapedSubscriptText", + }, + &ruleRefExpr{ + pos: position{line: 2339, col: 11, offset: 76904}, + name: "EscapedSuperscriptText", + }, + }, + }, }, }, }, - &labeledExpr{ - pos: position{line: 2222, col: 5, offset: 74481}, - label: "text", - expr: &choiceExpr{ - pos: position{line: 2223, col: 9, offset: 74496}, - alternatives: []interface{}{ - &ruleRefExpr{ - pos: position{line: 2223, col: 9, offset: 74496}, - name: "SingleQuoteMarkedText", - }, - &ruleRefExpr{ - pos: position{line: 2224, col: 11, offset: 74528}, - name: "BoldText", - }, - &ruleRefExpr{ - pos: position{line: 2225, col: 11, offset: 74547}, - name: "ItalicText", - }, - &ruleRefExpr{ - pos: position{line: 2226, col: 11, offset: 74568}, - name: "MonospaceText", - }, - &ruleRefExpr{ - pos: position{line: 2227, col: 11, offset: 74592}, - name: "SubscriptText", + }, + &actionExpr{ + pos: position{line: 2345, col: 5, offset: 77004}, + run: (*parser).callonQuotedTextInDoubleMarkedBoldText13, + expr: &seqExpr{ + pos: position{line: 2345, col: 5, offset: 77004}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 2345, col: 5, offset: 77004}, + label: "attributes", + expr: &zeroOrOneExpr{ + pos: position{line: 2345, col: 16, offset: 77015}, + expr: &ruleRefExpr{ + pos: position{line: 2345, col: 17, offset: 77016}, + name: "LongHandAttributes", + }, }, - &ruleRefExpr{ - pos: position{line: 2228, col: 11, offset: 74616}, - name: "SuperscriptText", + }, + &labeledExpr{ + pos: position{line: 2346, col: 5, offset: 77042}, + label: "text", + expr: &choiceExpr{ + pos: position{line: 2347, col: 9, offset: 77057}, + alternatives: []interface{}{ + &ruleRefExpr{ + pos: position{line: 2347, col: 9, offset: 77057}, + name: "SingleQuoteMarkedText", + }, + &ruleRefExpr{ + pos: position{line: 2348, col: 11, offset: 77089}, + name: "BoldText", + }, + &ruleRefExpr{ + pos: position{line: 2349, col: 11, offset: 77108}, + name: "ItalicText", + }, + &ruleRefExpr{ + pos: position{line: 2350, col: 11, offset: 77129}, + name: "MonospaceText", + }, + &ruleRefExpr{ + pos: position{line: 2351, col: 11, offset: 77153}, + name: "SubscriptText", + }, + &ruleRefExpr{ + pos: position{line: 2352, col: 11, offset: 77177}, + name: "SuperscriptText", + }, + }, }, }, }, @@ -50289,29 +55704,29 @@ var g = &grammar{ }, { name: "SingleQuoteMarkedText", - pos: position{line: 2245, col: 1, offset: 75270}, + pos: position{line: 2369, col: 1, offset: 77831}, expr: &actionExpr{ - pos: position{line: 2246, col: 5, offset: 75300}, + pos: position{line: 2370, col: 5, offset: 77861}, run: (*parser).callonSingleQuoteMarkedText1, expr: &seqExpr{ - pos: position{line: 2246, col: 5, offset: 75300}, + pos: position{line: 2370, col: 5, offset: 77861}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2241, col: 40, offset: 75222}, + pos: position{line: 2365, col: 40, offset: 77783}, val: "#", ignoreCase: false, want: "\"#\"", }, &labeledExpr{ - pos: position{line: 2247, col: 5, offset: 75340}, + pos: position{line: 2371, col: 5, offset: 77901}, label: "elements", expr: &ruleRefExpr{ - pos: position{line: 2247, col: 15, offset: 75350}, + pos: position{line: 2371, col: 15, offset: 77911}, name: "SingleQuoteMarkedTextElements", }, }, &litMatcher{ - pos: position{line: 2243, col: 38, offset: 75264}, + pos: position{line: 2367, col: 38, offset: 77825}, val: "#", ignoreCase: false, want: "\"#\"", @@ -50322,29 +55737,29 @@ var g = &grammar{ }, { name: "SingleQuoteMarkedTextElements", - pos: position{line: 2252, col: 1, offset: 75517}, + pos: position{line: 2376, col: 1, offset: 78078}, expr: &actionExpr{ - pos: position{line: 2253, col: 5, offset: 75555}, + pos: position{line: 2377, col: 5, offset: 78116}, run: (*parser).callonSingleQuoteMarkedTextElements1, expr: &seqExpr{ - pos: position{line: 2253, col: 5, offset: 75555}, + pos: position{line: 2377, col: 5, offset: 78116}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 2253, col: 5, offset: 75555}, + pos: position{line: 2377, col: 5, offset: 78116}, expr: ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, ¬Expr{ - pos: position{line: 2253, col: 10, offset: 75560}, + pos: position{line: 2377, col: 10, offset: 78121}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonSingleQuoteMarkedTextElements7, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -50353,18 +55768,18 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 2254, col: 5, offset: 75599}, + pos: position{line: 2378, col: 5, offset: 78160}, label: "elements", expr: &oneOrMoreExpr{ - pos: position{line: 2254, col: 14, offset: 75608}, + pos: position{line: 2378, col: 14, offset: 78169}, expr: &ruleRefExpr{ - pos: position{line: 2254, col: 15, offset: 75609}, + pos: position{line: 2378, col: 15, offset: 78170}, name: "SingleQuoteMarkedTextElement", }, }, }, &andCodeExpr{ - pos: position{line: 2255, col: 5, offset: 75645}, + pos: position{line: 2379, col: 5, offset: 78206}, run: (*parser).callonSingleQuoteMarkedTextElements12, }, }, @@ -50373,20 +55788,20 @@ var g = &grammar{ }, { name: "SingleQuoteMarkedTextElement", - pos: position{line: 2261, col: 1, offset: 75786}, + pos: position{line: 2385, col: 1, offset: 78347}, expr: &choiceExpr{ - pos: position{line: 2262, col: 5, offset: 75823}, + pos: position{line: 2386, col: 5, offset: 78384}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2184, col: 5, offset: 73255}, + pos: position{line: 2295, col: 5, offset: 75547}, run: (*parser).callonSingleQuoteMarkedTextElement2, expr: &seqExpr{ - pos: position{line: 2184, col: 5, offset: 73255}, + pos: position{line: 2295, col: 5, offset: 75547}, exprs: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 2184, col: 5, offset: 73255}, + pos: position{line: 2295, col: 5, offset: 75547}, expr: &charClassMatcher{ - pos: position{line: 2184, col: 5, offset: 73255}, + pos: position{line: 2295, col: 5, offset: 75547}, val: "[,?!;0-9\\pL]", chars: []rune{',', '?', '!', ';'}, ranges: []rune{'0', '9'}, @@ -50396,15 +55811,15 @@ var g = &grammar{ }, }, &andExpr{ - pos: position{line: 2184, col: 19, offset: 73269}, + pos: position{line: 2295, col: 19, offset: 75561}, expr: &choiceExpr{ - pos: position{line: 2184, col: 21, offset: 73271}, + pos: position{line: 2295, col: 21, offset: 75563}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonSingleQuoteMarkedTextElement8, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -50412,7 +55827,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 2181, col: 24, offset: 73227}, + pos: position{line: 2292, col: 24, offset: 75519}, val: "#", ignoreCase: false, want: "\"#\"", @@ -50424,12 +55839,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2903, col: 11, offset: 96254}, + pos: position{line: 3062, col: 11, offset: 99678}, run: (*parser).callonSingleQuoteMarkedTextElement11, expr: &oneOrMoreExpr{ - pos: position{line: 2903, col: 11, offset: 96254}, + pos: position{line: 3062, col: 11, offset: 99678}, expr: &charClassMatcher{ - pos: position{line: 2903, col: 12, offset: 96255}, + pos: position{line: 3062, col: 12, offset: 99679}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -50438,28 +55853,28 @@ var g = &grammar{ }, }, &seqExpr{ - pos: position{line: 2264, col: 7, offset: 75857}, + pos: position{line: 2388, col: 7, offset: 78418}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonSingleQuoteMarkedTextElement15, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -50468,27 +55883,27 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2264, col: 15, offset: 75865}, + pos: position{line: 2388, col: 15, offset: 78426}, expr: &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonSingleQuoteMarkedTextElement21, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -50500,44 +55915,44 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 651, col: 5, offset: 21000}, + pos: position{line: 641, col: 5, offset: 20579}, run: (*parser).callonSingleQuoteMarkedTextElement26, expr: &seqExpr{ - pos: position{line: 651, col: 5, offset: 21000}, + pos: position{line: 641, col: 5, offset: 20579}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 651, col: 5, offset: 21000}, + pos: position{line: 641, col: 5, offset: 20579}, run: (*parser).callonSingleQuoteMarkedTextElement28, }, &labeledExpr{ - pos: position{line: 654, col: 5, offset: 21069}, + pos: position{line: 644, col: 5, offset: 20648}, label: "element", expr: &choiceExpr{ - pos: position{line: 654, col: 14, offset: 21078}, + pos: position{line: 644, col: 14, offset: 20657}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 666, col: 25, offset: 21447}, + pos: position{line: 664, col: 25, offset: 21310}, run: (*parser).callonSingleQuoteMarkedTextElement31, expr: &seqExpr{ - pos: position{line: 666, col: 25, offset: 21447}, + pos: position{line: 664, col: 25, offset: 21310}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 666, col: 25, offset: 21447}, + pos: position{line: 664, col: 25, offset: 21310}, val: "{counter:", ignoreCase: false, want: "\"{counter:\"", }, &labeledExpr{ - pos: position{line: 666, col: 37, offset: 21459}, + pos: position{line: 664, col: 37, offset: 21322}, label: "name", expr: &actionExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, run: (*parser).callonSingleQuoteMarkedTextElement35, expr: &seqExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -50546,9 +55961,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 332, col: 28, offset: 10403}, + pos: position{line: 324, col: 28, offset: 10064}, expr: &charClassMatcher{ - pos: position{line: 332, col: 29, offset: 10404}, + pos: position{line: 324, col: 29, offset: 10065}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -50562,33 +55977,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 666, col: 56, offset: 21478}, + pos: position{line: 664, col: 56, offset: 21341}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 666, col: 62, offset: 21484}, + pos: position{line: 664, col: 62, offset: 21347}, expr: &actionExpr{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, run: (*parser).callonSingleQuoteMarkedTextElement42, expr: &seqExpr{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 674, col: 21, offset: 21783}, + pos: position{line: 672, col: 21, offset: 21646}, label: "start", expr: &choiceExpr{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, run: (*parser).callonSingleQuoteMarkedTextElement47, expr: &charClassMatcher{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -50596,12 +56011,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, run: (*parser).callonSingleQuoteMarkedTextElement49, expr: &oneOrMoreExpr{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, expr: &charClassMatcher{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -50618,7 +56033,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 666, col: 78, offset: 21500}, + pos: position{line: 664, col: 78, offset: 21363}, val: "}", ignoreCase: false, want: "\"}\"", @@ -50627,28 +56042,28 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 670, col: 25, offset: 21618}, + pos: position{line: 668, col: 25, offset: 21481}, run: (*parser).callonSingleQuoteMarkedTextElement53, expr: &seqExpr{ - pos: position{line: 670, col: 25, offset: 21618}, + pos: position{line: 668, col: 25, offset: 21481}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 670, col: 25, offset: 21618}, + pos: position{line: 668, col: 25, offset: 21481}, val: "{counter2:", ignoreCase: false, want: "\"{counter2:\"", }, &labeledExpr{ - pos: position{line: 670, col: 38, offset: 21631}, + pos: position{line: 668, col: 38, offset: 21494}, label: "name", expr: &actionExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, run: (*parser).callonSingleQuoteMarkedTextElement57, expr: &seqExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -50657,9 +56072,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 332, col: 28, offset: 10403}, + pos: position{line: 324, col: 28, offset: 10064}, expr: &charClassMatcher{ - pos: position{line: 332, col: 29, offset: 10404}, + pos: position{line: 324, col: 29, offset: 10065}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -50673,33 +56088,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 670, col: 57, offset: 21650}, + pos: position{line: 668, col: 57, offset: 21513}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 670, col: 63, offset: 21656}, + pos: position{line: 668, col: 63, offset: 21519}, expr: &actionExpr{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, run: (*parser).callonSingleQuoteMarkedTextElement64, expr: &seqExpr{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 674, col: 21, offset: 21783}, + pos: position{line: 672, col: 21, offset: 21646}, label: "start", expr: &choiceExpr{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, run: (*parser).callonSingleQuoteMarkedTextElement69, expr: &charClassMatcher{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -50707,12 +56122,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, run: (*parser).callonSingleQuoteMarkedTextElement71, expr: &oneOrMoreExpr{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, expr: &charClassMatcher{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -50729,7 +56144,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 670, col: 79, offset: 21672}, + pos: position{line: 668, col: 79, offset: 21535}, val: "}", ignoreCase: false, want: "\"}\"", @@ -50738,28 +56153,83 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 659, col: 5, offset: 21191}, + pos: position{line: 650, col: 5, offset: 20786}, run: (*parser).callonSingleQuoteMarkedTextElement75, expr: &seqExpr{ - pos: position{line: 659, col: 5, offset: 21191}, + pos: position{line: 650, col: 5, offset: 20786}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 659, col: 5, offset: 21191}, + pos: position{line: 650, col: 5, offset: 20786}, + val: "\\{", + ignoreCase: false, + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 650, col: 13, offset: 20794}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + run: (*parser).callonSingleQuoteMarkedTextElement79, + expr: &seqExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 324, col: 18, offset: 10054}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 324, col: 28, offset: 10064}, + expr: &charClassMatcher{ + pos: position{line: 324, col: 29, offset: 10065}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 650, col: 32, offset: 20813}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 657, col: 5, offset: 21054}, + run: (*parser).callonSingleQuoteMarkedTextElement85, + expr: &seqExpr{ + pos: position{line: 657, col: 5, offset: 21054}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 657, col: 5, offset: 21054}, val: "{", ignoreCase: false, want: "\"{\"", }, &labeledExpr{ - pos: position{line: 659, col: 9, offset: 21195}, + pos: position{line: 657, col: 9, offset: 21058}, label: "name", expr: &actionExpr{ - pos: position{line: 332, col: 18, offset: 10393}, - run: (*parser).callonSingleQuoteMarkedTextElement79, + pos: position{line: 324, col: 18, offset: 10054}, + run: (*parser).callonSingleQuoteMarkedTextElement89, expr: &seqExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -50768,9 +56238,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 332, col: 28, offset: 10403}, + pos: position{line: 324, col: 28, offset: 10064}, expr: &charClassMatcher{ - pos: position{line: 332, col: 29, offset: 10404}, + pos: position{line: 324, col: 29, offset: 10065}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -50784,7 +56254,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 659, col: 28, offset: 21214}, + pos: position{line: 657, col: 28, offset: 21077}, val: "}", ignoreCase: false, want: "\"}\"", @@ -50799,53 +56269,53 @@ var g = &grammar{ }, }, &ruleRefExpr{ - pos: position{line: 2266, col: 7, offset: 75939}, + pos: position{line: 2390, col: 7, offset: 78500}, name: "InlineMacro", }, &actionExpr{ - pos: position{line: 2599, col: 5, offset: 86909}, - run: (*parser).callonSingleQuoteMarkedTextElement86, + pos: position{line: 2743, col: 5, offset: 89823}, + run: (*parser).callonSingleQuoteMarkedTextElement96, expr: &seqExpr{ - pos: position{line: 2599, col: 5, offset: 86909}, + pos: position{line: 2743, col: 5, offset: 89823}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 2599, col: 5, offset: 86909}, - run: (*parser).callonSingleQuoteMarkedTextElement88, + pos: position{line: 2743, col: 5, offset: 89823}, + run: (*parser).callonSingleQuoteMarkedTextElement98, }, &labeledExpr{ - pos: position{line: 2602, col: 5, offset: 86985}, + pos: position{line: 2746, col: 5, offset: 89899}, label: "element", expr: &choiceExpr{ - pos: position{line: 2604, col: 9, offset: 87083}, + pos: position{line: 2748, col: 9, offset: 89997}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2604, col: 9, offset: 87083}, - run: (*parser).callonSingleQuoteMarkedTextElement91, + pos: position{line: 2748, col: 9, offset: 89997}, + run: (*parser).callonSingleQuoteMarkedTextElement101, expr: &choiceExpr{ - pos: position{line: 694, col: 27, offset: 22498}, + pos: position{line: 692, col: 27, offset: 22361}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 694, col: 27, offset: 22498}, - run: (*parser).callonSingleQuoteMarkedTextElement93, + pos: position{line: 692, col: 27, offset: 22361}, + run: (*parser).callonSingleQuoteMarkedTextElement103, expr: &seqExpr{ - pos: position{line: 694, col: 27, offset: 22498}, + pos: position{line: 692, col: 27, offset: 22361}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 694, col: 27, offset: 22498}, + pos: position{line: 692, col: 27, offset: 22361}, val: "<<", ignoreCase: false, want: "\"<<\"", }, &labeledExpr{ - pos: position{line: 694, col: 32, offset: 22503}, + pos: position{line: 692, col: 32, offset: 22366}, label: "id", expr: &actionExpr{ - pos: position{line: 2884, col: 7, offset: 95839}, - run: (*parser).callonSingleQuoteMarkedTextElement97, + pos: position{line: 3043, col: 7, offset: 99263}, + run: (*parser).callonSingleQuoteMarkedTextElement107, expr: &oneOrMoreExpr{ - pos: position{line: 2884, col: 7, offset: 95839}, + pos: position{line: 3043, col: 7, offset: 99263}, expr: &charClassMatcher{ - pos: position{line: 2884, col: 7, offset: 95839}, + pos: position{line: 3043, col: 7, offset: 99263}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -50855,12 +56325,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 694, col: 40, offset: 22511}, + pos: position{line: 692, col: 40, offset: 22374}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, - run: (*parser).callonSingleQuoteMarkedTextElement101, + pos: position{line: 3058, col: 10, offset: 99611}, + run: (*parser).callonSingleQuoteMarkedTextElement111, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -50869,27 +56339,27 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 694, col: 47, offset: 22518}, + pos: position{line: 692, col: 47, offset: 22381}, val: ",", ignoreCase: false, want: "\",\"", }, &labeledExpr{ - pos: position{line: 694, col: 51, offset: 22522}, + pos: position{line: 692, col: 51, offset: 22385}, label: "label", expr: &oneOrMoreExpr{ - pos: position{line: 704, col: 24, offset: 22923}, + pos: position{line: 702, col: 24, offset: 22786}, expr: &choiceExpr{ - pos: position{line: 705, col: 5, offset: 22929}, + pos: position{line: 703, col: 5, offset: 22792}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 705, col: 6, offset: 22930}, - run: (*parser).callonSingleQuoteMarkedTextElement107, + pos: position{line: 703, col: 6, offset: 22793}, + run: (*parser).callonSingleQuoteMarkedTextElement117, expr: &seqExpr{ - pos: position{line: 705, col: 6, offset: 22930}, + pos: position{line: 703, col: 6, offset: 22793}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 705, col: 6, offset: 22930}, + pos: position{line: 703, col: 6, offset: 22793}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -50897,9 +56367,9 @@ var g = &grammar{ inverted: false, }, &oneOrMoreExpr{ - pos: position{line: 705, col: 14, offset: 22938}, + pos: position{line: 703, col: 14, offset: 22801}, expr: &charClassMatcher{ - pos: position{line: 705, col: 14, offset: 22938}, + pos: position{line: 703, col: 14, offset: 22801}, val: "[^\\r\\n{<>]", chars: []rune{'\r', '\n', '{', '<', '>'}, ignoreCase: false, @@ -50910,28 +56380,83 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 659, col: 5, offset: 21191}, - run: (*parser).callonSingleQuoteMarkedTextElement112, + pos: position{line: 650, col: 5, offset: 20786}, + run: (*parser).callonSingleQuoteMarkedTextElement122, + expr: &seqExpr{ + pos: position{line: 650, col: 5, offset: 20786}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 650, col: 5, offset: 20786}, + val: "\\{", + ignoreCase: false, + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 650, col: 13, offset: 20794}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + run: (*parser).callonSingleQuoteMarkedTextElement126, + expr: &seqExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 324, col: 18, offset: 10054}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 324, col: 28, offset: 10064}, + expr: &charClassMatcher{ + pos: position{line: 324, col: 29, offset: 10065}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 650, col: 32, offset: 20813}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 657, col: 5, offset: 21054}, + run: (*parser).callonSingleQuoteMarkedTextElement132, expr: &seqExpr{ - pos: position{line: 659, col: 5, offset: 21191}, + pos: position{line: 657, col: 5, offset: 21054}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 659, col: 5, offset: 21191}, + pos: position{line: 657, col: 5, offset: 21054}, val: "{", ignoreCase: false, want: "\"{\"", }, &labeledExpr{ - pos: position{line: 659, col: 9, offset: 21195}, + pos: position{line: 657, col: 9, offset: 21058}, label: "name", expr: &actionExpr{ - pos: position{line: 332, col: 18, offset: 10393}, - run: (*parser).callonSingleQuoteMarkedTextElement116, + pos: position{line: 324, col: 18, offset: 10054}, + run: (*parser).callonSingleQuoteMarkedTextElement136, expr: &seqExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -50940,9 +56465,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 332, col: 28, offset: 10403}, + pos: position{line: 324, col: 28, offset: 10064}, expr: &charClassMatcher{ - pos: position{line: 332, col: 29, offset: 10404}, + pos: position{line: 324, col: 29, offset: 10065}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -50956,7 +56481,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 659, col: 28, offset: 21214}, + pos: position{line: 657, col: 28, offset: 21077}, val: "}", ignoreCase: false, want: "\"}\"", @@ -50965,10 +56490,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 709, col: 8, offset: 23164}, - run: (*parser).callonSingleQuoteMarkedTextElement122, + pos: position{line: 707, col: 8, offset: 23027}, + run: (*parser).callonSingleQuoteMarkedTextElement142, expr: &litMatcher{ - pos: position{line: 709, col: 8, offset: 23164}, + pos: position{line: 707, col: 8, offset: 23027}, val: "{", ignoreCase: false, want: "\"{\"", @@ -50979,7 +56504,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 694, col: 79, offset: 22550}, + pos: position{line: 692, col: 79, offset: 22413}, val: ">>", ignoreCase: false, want: "\">>\"", @@ -50988,27 +56513,27 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 696, col: 9, offset: 22623}, - run: (*parser).callonSingleQuoteMarkedTextElement125, + pos: position{line: 694, col: 9, offset: 22486}, + run: (*parser).callonSingleQuoteMarkedTextElement145, expr: &seqExpr{ - pos: position{line: 696, col: 9, offset: 22623}, + pos: position{line: 694, col: 9, offset: 22486}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 696, col: 9, offset: 22623}, + pos: position{line: 694, col: 9, offset: 22486}, val: "<<", ignoreCase: false, want: "\"<<\"", }, &labeledExpr{ - pos: position{line: 696, col: 14, offset: 22628}, + pos: position{line: 694, col: 14, offset: 22491}, label: "id", expr: &actionExpr{ - pos: position{line: 2884, col: 7, offset: 95839}, - run: (*parser).callonSingleQuoteMarkedTextElement129, + pos: position{line: 3043, col: 7, offset: 99263}, + run: (*parser).callonSingleQuoteMarkedTextElement149, expr: &oneOrMoreExpr{ - pos: position{line: 2884, col: 7, offset: 95839}, + pos: position{line: 3043, col: 7, offset: 99263}, expr: &charClassMatcher{ - pos: position{line: 2884, col: 7, offset: 95839}, + pos: position{line: 3043, col: 7, offset: 99263}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -51018,7 +56543,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 696, col: 22, offset: 22636}, + pos: position{line: 694, col: 22, offset: 22499}, val: ">>", ignoreCase: false, want: "\">>\"", @@ -51030,10 +56555,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2607, col: 11, offset: 87187}, - run: (*parser).callonSingleQuoteMarkedTextElement133, + pos: position{line: 2751, col: 11, offset: 90101}, + run: (*parser).callonSingleQuoteMarkedTextElement153, expr: &charClassMatcher{ - pos: position{line: 2607, col: 12, offset: 87188}, + pos: position{line: 2751, col: 12, offset: 90102}, val: "[<>&]", chars: []rune{'<', '>', '&'}, ignoreCase: false, @@ -51047,63 +56572,166 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2632, col: 15, offset: 88155}, - run: (*parser).callonSingleQuoteMarkedTextElement135, + pos: position{line: 2776, col: 5, offset: 90995}, + run: (*parser).callonSingleQuoteMarkedTextElement155, + expr: &seqExpr{ + pos: position{line: 2776, col: 5, offset: 90995}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2776, col: 5, offset: 90995}, + val: "\\", + ignoreCase: false, + want: "\"\\\\\"", + }, + &choiceExpr{ + pos: position{line: 2776, col: 10, offset: 91000}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2784, col: 15, offset: 91276}, + run: (*parser).callonSingleQuoteMarkedTextElement159, + expr: &litMatcher{ + pos: position{line: 2784, col: 15, offset: 91276}, + val: "`'", + ignoreCase: false, + want: "\"`'\"", + }, + }, + &actionExpr{ + pos: position{line: 2790, col: 14, offset: 91391}, + run: (*parser).callonSingleQuoteMarkedTextElement161, + expr: &litMatcher{ + pos: position{line: 2790, col: 14, offset: 91391}, + val: "(C)", + ignoreCase: false, + want: "\"(C)\"", + }, + }, + &actionExpr{ + pos: position{line: 2794, col: 14, offset: 91467}, + run: (*parser).callonSingleQuoteMarkedTextElement163, + expr: &litMatcher{ + pos: position{line: 2794, col: 14, offset: 91467}, + val: "(TM)", + ignoreCase: false, + want: "\"(TM)\"", + }, + }, + &actionExpr{ + pos: position{line: 2798, col: 15, offset: 91545}, + run: (*parser).callonSingleQuoteMarkedTextElement165, + expr: &litMatcher{ + pos: position{line: 2798, col: 15, offset: 91545}, + val: "(R)", + ignoreCase: false, + want: "\"(R)\"", + }, + }, + &actionExpr{ + pos: position{line: 2802, col: 13, offset: 91620}, + run: (*parser).callonSingleQuoteMarkedTextElement167, + expr: &litMatcher{ + pos: position{line: 2802, col: 13, offset: 91620}, + val: "...", + ignoreCase: false, + want: "\"...\"", + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2784, col: 15, offset: 91276}, + run: (*parser).callonSingleQuoteMarkedTextElement169, expr: &litMatcher{ - pos: position{line: 2632, col: 15, offset: 88155}, + pos: position{line: 2784, col: 15, offset: 91276}, val: "`'", ignoreCase: false, want: "\"`'\"", }, }, &actionExpr{ - pos: position{line: 2638, col: 14, offset: 88270}, - run: (*parser).callonSingleQuoteMarkedTextElement137, + pos: position{line: 2790, col: 14, offset: 91391}, + run: (*parser).callonSingleQuoteMarkedTextElement171, expr: &litMatcher{ - pos: position{line: 2638, col: 14, offset: 88270}, + pos: position{line: 2790, col: 14, offset: 91391}, val: "(C)", ignoreCase: false, want: "\"(C)\"", }, }, &actionExpr{ - pos: position{line: 2642, col: 14, offset: 88346}, - run: (*parser).callonSingleQuoteMarkedTextElement139, + pos: position{line: 2794, col: 14, offset: 91467}, + run: (*parser).callonSingleQuoteMarkedTextElement173, expr: &litMatcher{ - pos: position{line: 2642, col: 14, offset: 88346}, + pos: position{line: 2794, col: 14, offset: 91467}, val: "(TM)", ignoreCase: false, want: "\"(TM)\"", }, }, &actionExpr{ - pos: position{line: 2646, col: 15, offset: 88424}, - run: (*parser).callonSingleQuoteMarkedTextElement141, + pos: position{line: 2798, col: 15, offset: 91545}, + run: (*parser).callonSingleQuoteMarkedTextElement175, expr: &litMatcher{ - pos: position{line: 2646, col: 15, offset: 88424}, + pos: position{line: 2798, col: 15, offset: 91545}, val: "(R)", ignoreCase: false, want: "\"(R)\"", }, }, &actionExpr{ - pos: position{line: 2650, col: 13, offset: 88499}, - run: (*parser).callonSingleQuoteMarkedTextElement143, + pos: position{line: 2802, col: 13, offset: 91620}, + run: (*parser).callonSingleQuoteMarkedTextElement177, expr: &litMatcher{ - pos: position{line: 2650, col: 13, offset: 88499}, + pos: position{line: 2802, col: 13, offset: 91620}, val: "...", ignoreCase: false, want: "\"...\"", }, }, &actionExpr{ - pos: position{line: 2658, col: 22, offset: 88805}, - run: (*parser).callonSingleQuoteMarkedTextElement145, + pos: position{line: 2811, col: 5, offset: 91944}, + run: (*parser).callonSingleQuoteMarkedTextElement179, + expr: &seqExpr{ + pos: position{line: 2811, col: 5, offset: 91944}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 2972, col: 13, offset: 96927}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &litMatcher{ + pos: position{line: 2811, col: 14, offset: 91953}, + val: "\\'", + ignoreCase: false, + want: "\"\\\\'\"", + }, + &andExpr{ + pos: position{line: 2811, col: 19, offset: 91958}, + expr: &charClassMatcher{ + pos: position{line: 2811, col: 20, offset: 91959}, + val: "[\\pL]", + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2817, col: 5, offset: 92190}, + run: (*parser).callonSingleQuoteMarkedTextElement185, expr: &seqExpr{ - pos: position{line: 2658, col: 22, offset: 88805}, + pos: position{line: 2817, col: 5, offset: 92190}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 2813, col: 13, offset: 93503}, + pos: position{line: 2972, col: 13, offset: 96927}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -51111,15 +56739,15 @@ var g = &grammar{ inverted: false, }, &litMatcher{ - pos: position{line: 2658, col: 31, offset: 88814}, + pos: position{line: 2817, col: 14, offset: 92199}, val: "'", ignoreCase: false, want: "\"'\"", }, &andExpr{ - pos: position{line: 2658, col: 35, offset: 88818}, + pos: position{line: 2817, col: 18, offset: 92203}, expr: &charClassMatcher{ - pos: position{line: 2658, col: 36, offset: 88819}, + pos: position{line: 2817, col: 19, offset: 92204}, val: "[\\pL]", classes: []*unicode.RangeTable{rangeTable("L")}, ignoreCase: false, @@ -51130,35 +56758,35 @@ var g = &grammar{ }, }, &ruleRefExpr{ - pos: position{line: 2269, col: 7, offset: 76043}, + pos: position{line: 2393, col: 7, offset: 78604}, name: "QuotedString", }, &ruleRefExpr{ - pos: position{line: 2270, col: 7, offset: 76062}, + pos: position{line: 2394, col: 7, offset: 78623}, name: "QuotedTextInSingleQuoteMarkedText", }, &actionExpr{ - pos: position{line: 1122, col: 23, offset: 34991}, - run: (*parser).callonSingleQuoteMarkedTextElement153, + pos: position{line: 1120, col: 23, offset: 34854}, + run: (*parser).callonSingleQuoteMarkedTextElement193, expr: &seqExpr{ - pos: position{line: 1122, col: 23, offset: 34991}, + pos: position{line: 1120, col: 23, offset: 34854}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1120, col: 32, offset: 34959}, + pos: position{line: 1118, col: 32, offset: 34822}, val: "�", ignoreCase: false, want: "\"�\"", }, &labeledExpr{ - pos: position{line: 1122, col: 51, offset: 35019}, + pos: position{line: 1120, col: 51, offset: 34882}, label: "ref", expr: &actionExpr{ - pos: position{line: 1122, col: 56, offset: 35024}, - run: (*parser).callonSingleQuoteMarkedTextElement157, + pos: position{line: 1120, col: 56, offset: 34887}, + run: (*parser).callonSingleQuoteMarkedTextElement197, expr: &oneOrMoreExpr{ - pos: position{line: 1122, col: 56, offset: 35024}, + pos: position{line: 1120, col: 56, offset: 34887}, expr: &charClassMatcher{ - pos: position{line: 1122, col: 56, offset: 35024}, + pos: position{line: 1120, col: 56, offset: 34887}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -51168,7 +56796,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1120, col: 32, offset: 34959}, + pos: position{line: 1118, col: 32, offset: 34822}, val: "�", ignoreCase: false, want: "\"�\"", @@ -51177,31 +56805,31 @@ var g = &grammar{ }, }, &charClassMatcher{ - pos: position{line: 2287, col: 5, offset: 76529}, + pos: position{line: 2424, col: 5, offset: 79359}, val: "[^\\r\\n #]", chars: []rune{'\r', '\n', ' ', '#'}, ignoreCase: false, inverted: true, }, &actionExpr{ - pos: position{line: 2288, col: 7, offset: 76634}, - run: (*parser).callonSingleQuoteMarkedTextElement162, + pos: position{line: 2425, col: 7, offset: 79464}, + run: (*parser).callonSingleQuoteMarkedTextElement202, expr: &seqExpr{ - pos: position{line: 2288, col: 7, offset: 76634}, + pos: position{line: 2425, col: 7, offset: 79464}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2288, col: 7, offset: 76634}, + pos: position{line: 2425, col: 7, offset: 79464}, val: "#", ignoreCase: false, want: "\"#\"", }, &actionExpr{ - pos: position{line: 2817, col: 14, offset: 93577}, - run: (*parser).callonSingleQuoteMarkedTextElement165, + pos: position{line: 2976, col: 14, offset: 97001}, + run: (*parser).callonSingleQuoteMarkedTextElement205, expr: &oneOrMoreExpr{ - pos: position{line: 2817, col: 14, offset: 93577}, + pos: position{line: 2976, col: 14, offset: 97001}, expr: &charClassMatcher{ - pos: position{line: 2817, col: 14, offset: 93577}, + pos: position{line: 2976, col: 14, offset: 97001}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -51218,53 +56846,105 @@ var g = &grammar{ }, { name: "QuotedTextInSingleQuoteMarkedText", - pos: position{line: 2274, col: 1, offset: 76167}, - expr: &actionExpr{ - pos: position{line: 2275, col: 5, offset: 76208}, - run: (*parser).callonQuotedTextInSingleQuoteMarkedText1, - expr: &seqExpr{ - pos: position{line: 2275, col: 5, offset: 76208}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 2275, col: 5, offset: 76208}, - label: "attributes", - expr: &zeroOrOneExpr{ - pos: position{line: 2275, col: 16, offset: 76219}, - expr: &ruleRefExpr{ - pos: position{line: 2275, col: 17, offset: 76220}, - name: "LongHandAttributes", + pos: position{line: 2398, col: 1, offset: 78728}, + expr: &choiceExpr{ + pos: position{line: 2400, col: 5, offset: 78792}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2400, col: 5, offset: 78792}, + run: (*parser).callonQuotedTextInSingleQuoteMarkedText2, + expr: &seqExpr{ + pos: position{line: 2400, col: 5, offset: 78792}, + exprs: []interface{}{ + &andExpr{ + pos: position{line: 2400, col: 5, offset: 78792}, + expr: &litMatcher{ + pos: position{line: 2400, col: 7, offset: 78794}, + val: "\\", + ignoreCase: false, + want: "\"\\\\\"", + }, + }, + &labeledExpr{ + pos: position{line: 2401, col: 5, offset: 78803}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 2402, col: 9, offset: 78821}, + alternatives: []interface{}{ + &ruleRefExpr{ + pos: position{line: 2402, col: 9, offset: 78821}, + name: "EscapedBoldText", + }, + &ruleRefExpr{ + pos: position{line: 2403, col: 11, offset: 78848}, + name: "EscapedItalicText", + }, + &ruleRefExpr{ + pos: position{line: 2404, col: 11, offset: 78876}, + name: "EscapedMonospaceText", + }, + &ruleRefExpr{ + pos: position{line: 2405, col: 11, offset: 78907}, + name: "EscapedSubscriptText", + }, + &ruleRefExpr{ + pos: position{line: 2406, col: 11, offset: 78938}, + name: "EscapedSuperscriptText", + }, + }, + }, }, }, }, - &labeledExpr{ - pos: position{line: 2276, col: 5, offset: 76246}, - label: "text", - expr: &choiceExpr{ - pos: position{line: 2277, col: 9, offset: 76261}, - alternatives: []interface{}{ - &ruleRefExpr{ - pos: position{line: 2277, col: 9, offset: 76261}, - name: "DoubleQuoteMarkedText", - }, - &ruleRefExpr{ - pos: position{line: 2278, col: 11, offset: 76293}, - name: "BoldText", - }, - &ruleRefExpr{ - pos: position{line: 2279, col: 11, offset: 76312}, - name: "ItalicText", - }, - &ruleRefExpr{ - pos: position{line: 2280, col: 11, offset: 76333}, - name: "MonospaceText", - }, - &ruleRefExpr{ - pos: position{line: 2281, col: 11, offset: 76357}, - name: "SubscriptText", + }, + &actionExpr{ + pos: position{line: 2412, col: 5, offset: 79038}, + run: (*parser).callonQuotedTextInSingleQuoteMarkedText13, + expr: &seqExpr{ + pos: position{line: 2412, col: 5, offset: 79038}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 2412, col: 5, offset: 79038}, + label: "attributes", + expr: &zeroOrOneExpr{ + pos: position{line: 2412, col: 16, offset: 79049}, + expr: &ruleRefExpr{ + pos: position{line: 2412, col: 17, offset: 79050}, + name: "LongHandAttributes", + }, }, - &ruleRefExpr{ - pos: position{line: 2282, col: 11, offset: 76381}, - name: "SuperscriptText", + }, + &labeledExpr{ + pos: position{line: 2413, col: 5, offset: 79076}, + label: "text", + expr: &choiceExpr{ + pos: position{line: 2414, col: 9, offset: 79091}, + alternatives: []interface{}{ + &ruleRefExpr{ + pos: position{line: 2414, col: 9, offset: 79091}, + name: "DoubleQuoteMarkedText", + }, + &ruleRefExpr{ + pos: position{line: 2415, col: 11, offset: 79123}, + name: "BoldText", + }, + &ruleRefExpr{ + pos: position{line: 2416, col: 11, offset: 79142}, + name: "ItalicText", + }, + &ruleRefExpr{ + pos: position{line: 2417, col: 11, offset: 79163}, + name: "MonospaceText", + }, + &ruleRefExpr{ + pos: position{line: 2418, col: 11, offset: 79187}, + name: "SubscriptText", + }, + &ruleRefExpr{ + pos: position{line: 2419, col: 11, offset: 79211}, + name: "SuperscriptText", + }, + }, }, }, }, @@ -51275,35 +56955,35 @@ var g = &grammar{ }, { name: "EscapedMarkedText", - pos: position{line: 2292, col: 1, offset: 76809}, + pos: position{line: 2429, col: 1, offset: 79639}, expr: &choiceExpr{ - pos: position{line: 2293, col: 5, offset: 76834}, + pos: position{line: 2431, col: 5, offset: 79703}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2293, col: 5, offset: 76834}, + pos: position{line: 2431, col: 5, offset: 79703}, run: (*parser).callonEscapedMarkedText2, expr: &seqExpr{ - pos: position{line: 2293, col: 5, offset: 76834}, + pos: position{line: 2431, col: 5, offset: 79703}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 2293, col: 5, offset: 76834}, + pos: position{line: 2431, col: 5, offset: 79703}, label: "backslashes", expr: &actionExpr{ - pos: position{line: 1795, col: 25, offset: 58988}, + pos: position{line: 1825, col: 25, offset: 59835}, run: (*parser).callonEscapedMarkedText5, expr: &seqExpr{ - pos: position{line: 1795, col: 25, offset: 58988}, + pos: position{line: 1825, col: 25, offset: 59835}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1795, col: 25, offset: 58988}, + pos: position{line: 1825, col: 25, offset: 59835}, val: "\\\\", ignoreCase: false, want: "\"\\\\\\\\\"", }, &zeroOrMoreExpr{ - pos: position{line: 1795, col: 30, offset: 58993}, + pos: position{line: 1825, col: 30, offset: 59840}, expr: &litMatcher{ - pos: position{line: 1795, col: 30, offset: 58993}, + pos: position{line: 1825, col: 30, offset: 59840}, val: "\\", ignoreCase: false, want: "\"\\\\\"", @@ -51314,21 +56994,21 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 2293, col: 40, offset: 76869}, + pos: position{line: 2431, col: 40, offset: 79738}, val: "##", ignoreCase: false, want: "\"##\"", }, &labeledExpr{ - pos: position{line: 2293, col: 45, offset: 76874}, + pos: position{line: 2431, col: 45, offset: 79743}, label: "elements", expr: &ruleRefExpr{ - pos: position{line: 2293, col: 55, offset: 76884}, + pos: position{line: 2431, col: 55, offset: 79753}, name: "DoubleQuoteMarkedTextElements", }, }, &litMatcher{ - pos: position{line: 2293, col: 86, offset: 76915}, + pos: position{line: 2431, col: 86, offset: 79784}, val: "##", ignoreCase: false, want: "\"##\"", @@ -51337,21 +57017,21 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2295, col: 9, offset: 77072}, + pos: position{line: 2435, col: 7, offset: 79949}, run: (*parser).callonEscapedMarkedText14, expr: &seqExpr{ - pos: position{line: 2295, col: 9, offset: 77072}, + pos: position{line: 2435, col: 7, offset: 79949}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 2295, col: 9, offset: 77072}, + pos: position{line: 2435, col: 7, offset: 79949}, label: "backslashes", expr: &actionExpr{ - pos: position{line: 1791, col: 25, offset: 58915}, + pos: position{line: 1821, col: 25, offset: 59762}, run: (*parser).callonEscapedMarkedText17, expr: &oneOrMoreExpr{ - pos: position{line: 1791, col: 25, offset: 58915}, + pos: position{line: 1821, col: 25, offset: 59762}, expr: &litMatcher{ - pos: position{line: 1791, col: 25, offset: 58915}, + pos: position{line: 1821, col: 25, offset: 59762}, val: "\\", ignoreCase: false, want: "\"\\\\\"", @@ -51360,21 +57040,21 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 2295, col: 44, offset: 77107}, + pos: position{line: 2435, col: 42, offset: 79984}, val: "##", ignoreCase: false, want: "\"##\"", }, &labeledExpr{ - pos: position{line: 2295, col: 49, offset: 77112}, + pos: position{line: 2435, col: 47, offset: 79989}, label: "elements", expr: &ruleRefExpr{ - pos: position{line: 2295, col: 59, offset: 77122}, + pos: position{line: 2435, col: 57, offset: 79999}, name: "SingleQuoteMarkedTextElements", }, }, &litMatcher{ - pos: position{line: 2295, col: 90, offset: 77153}, + pos: position{line: 2435, col: 88, offset: 80030}, val: "#", ignoreCase: false, want: "\"#\"", @@ -51383,21 +57063,21 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2298, col: 9, offset: 77353}, + pos: position{line: 2440, col: 7, offset: 80233}, run: (*parser).callonEscapedMarkedText24, expr: &seqExpr{ - pos: position{line: 2298, col: 9, offset: 77353}, + pos: position{line: 2440, col: 7, offset: 80233}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 2298, col: 9, offset: 77353}, + pos: position{line: 2440, col: 7, offset: 80233}, label: "backslashes", expr: &actionExpr{ - pos: position{line: 1791, col: 25, offset: 58915}, + pos: position{line: 1821, col: 25, offset: 59762}, run: (*parser).callonEscapedMarkedText27, expr: &oneOrMoreExpr{ - pos: position{line: 1791, col: 25, offset: 58915}, + pos: position{line: 1821, col: 25, offset: 59762}, expr: &litMatcher{ - pos: position{line: 1791, col: 25, offset: 58915}, + pos: position{line: 1821, col: 25, offset: 59762}, val: "\\", ignoreCase: false, want: "\"\\\\\"", @@ -51406,21 +57086,21 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 2298, col: 44, offset: 77388}, + pos: position{line: 2440, col: 42, offset: 80268}, val: "#", ignoreCase: false, want: "\"#\"", }, &labeledExpr{ - pos: position{line: 2298, col: 48, offset: 77392}, + pos: position{line: 2440, col: 46, offset: 80272}, label: "elements", expr: &ruleRefExpr{ - pos: position{line: 2298, col: 58, offset: 77402}, + pos: position{line: 2440, col: 56, offset: 80282}, name: "SingleQuoteMarkedTextElements", }, }, &litMatcher{ - pos: position{line: 2298, col: 89, offset: 77433}, + pos: position{line: 2440, col: 87, offset: 80313}, val: "#", ignoreCase: false, want: "\"#\"", @@ -51433,29 +57113,29 @@ var g = &grammar{ }, { name: "SubscriptText", - pos: position{line: 2305, col: 1, offset: 77745}, + pos: position{line: 2447, col: 1, offset: 80580}, expr: &actionExpr{ - pos: position{line: 2306, col: 5, offset: 77767}, + pos: position{line: 2448, col: 5, offset: 80602}, run: (*parser).callonSubscriptText1, expr: &seqExpr{ - pos: position{line: 2306, col: 5, offset: 77767}, + pos: position{line: 2448, col: 5, offset: 80602}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2312, col: 27, offset: 77982}, + pos: position{line: 2454, col: 27, offset: 80817}, val: "~", ignoreCase: false, want: "\"~\"", }, &labeledExpr{ - pos: position{line: 2307, col: 5, offset: 77794}, + pos: position{line: 2449, col: 5, offset: 80629}, label: "element", expr: &ruleRefExpr{ - pos: position{line: 2307, col: 14, offset: 77803}, + pos: position{line: 2449, col: 14, offset: 80638}, name: "SubscriptTextElement", }, }, &litMatcher{ - pos: position{line: 2312, col: 27, offset: 77982}, + pos: position{line: 2454, col: 27, offset: 80817}, val: "~", ignoreCase: false, want: "\"~\"", @@ -51466,21 +57146,21 @@ var g = &grammar{ }, { name: "SubscriptTextElement", - pos: position{line: 2314, col: 1, offset: 77987}, + pos: position{line: 2456, col: 1, offset: 80822}, expr: &choiceExpr{ - pos: position{line: 2314, col: 25, offset: 78011}, + pos: position{line: 2456, col: 25, offset: 80846}, alternatives: []interface{}{ &ruleRefExpr{ - pos: position{line: 2314, col: 25, offset: 78011}, + pos: position{line: 2456, col: 25, offset: 80846}, name: "QuotedText", }, &actionExpr{ - pos: position{line: 2316, col: 21, offset: 78063}, + pos: position{line: 2458, col: 21, offset: 80898}, run: (*parser).callonSubscriptTextElement3, expr: &oneOrMoreExpr{ - pos: position{line: 2316, col: 21, offset: 78063}, + pos: position{line: 2458, col: 21, offset: 80898}, expr: &charClassMatcher{ - pos: position{line: 2316, col: 21, offset: 78063}, + pos: position{line: 2458, col: 21, offset: 80898}, val: "[^\\r\\n ~]", chars: []rune{'\r', '\n', ' ', '~'}, ignoreCase: false, @@ -51493,23 +57173,23 @@ var g = &grammar{ }, { name: "EscapedSubscriptText", - pos: position{line: 2320, col: 1, offset: 78148}, + pos: position{line: 2462, col: 1, offset: 80983}, expr: &actionExpr{ - pos: position{line: 2321, col: 5, offset: 78177}, + pos: position{line: 2464, col: 5, offset: 81050}, run: (*parser).callonEscapedSubscriptText1, expr: &seqExpr{ - pos: position{line: 2321, col: 5, offset: 78177}, + pos: position{line: 2464, col: 5, offset: 81050}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 2321, col: 5, offset: 78177}, + pos: position{line: 2464, col: 5, offset: 81050}, label: "backslashes", expr: &actionExpr{ - pos: position{line: 1791, col: 25, offset: 58915}, + pos: position{line: 1821, col: 25, offset: 59762}, run: (*parser).callonEscapedSubscriptText4, expr: &oneOrMoreExpr{ - pos: position{line: 1791, col: 25, offset: 58915}, + pos: position{line: 1821, col: 25, offset: 59762}, expr: &litMatcher{ - pos: position{line: 1791, col: 25, offset: 58915}, + pos: position{line: 1821, col: 25, offset: 59762}, val: "\\", ignoreCase: false, want: "\"\\\\\"", @@ -51518,21 +57198,21 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 2312, col: 27, offset: 77982}, + pos: position{line: 2454, col: 27, offset: 80817}, val: "~", ignoreCase: false, want: "\"~\"", }, &labeledExpr{ - pos: position{line: 2323, col: 5, offset: 78245}, + pos: position{line: 2466, col: 5, offset: 81118}, label: "element", expr: &ruleRefExpr{ - pos: position{line: 2323, col: 14, offset: 78254}, + pos: position{line: 2466, col: 14, offset: 81127}, name: "SubscriptTextElement", }, }, &litMatcher{ - pos: position{line: 2312, col: 27, offset: 77982}, + pos: position{line: 2454, col: 27, offset: 80817}, val: "~", ignoreCase: false, want: "\"~\"", @@ -51543,29 +57223,29 @@ var g = &grammar{ }, { name: "SuperscriptText", - pos: position{line: 2331, col: 1, offset: 78517}, + pos: position{line: 2474, col: 1, offset: 81390}, expr: &actionExpr{ - pos: position{line: 2332, col: 5, offset: 78541}, + pos: position{line: 2475, col: 5, offset: 81414}, run: (*parser).callonSuperscriptText1, expr: &seqExpr{ - pos: position{line: 2332, col: 5, offset: 78541}, + pos: position{line: 2475, col: 5, offset: 81414}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2338, col: 29, offset: 78768}, + pos: position{line: 2481, col: 29, offset: 81641}, val: "^", ignoreCase: false, want: "\"^\"", }, &labeledExpr{ - pos: position{line: 2333, col: 5, offset: 78571}, + pos: position{line: 2476, col: 5, offset: 81444}, label: "element", expr: &ruleRefExpr{ - pos: position{line: 2333, col: 14, offset: 78580}, + pos: position{line: 2476, col: 14, offset: 81453}, name: "SuperscriptTextElement", }, }, &litMatcher{ - pos: position{line: 2338, col: 29, offset: 78768}, + pos: position{line: 2481, col: 29, offset: 81641}, val: "^", ignoreCase: false, want: "\"^\"", @@ -51576,21 +57256,21 @@ var g = &grammar{ }, { name: "SuperscriptTextElement", - pos: position{line: 2340, col: 1, offset: 78773}, + pos: position{line: 2483, col: 1, offset: 81646}, expr: &choiceExpr{ - pos: position{line: 2340, col: 27, offset: 78799}, + pos: position{line: 2483, col: 27, offset: 81672}, alternatives: []interface{}{ &ruleRefExpr{ - pos: position{line: 2340, col: 27, offset: 78799}, + pos: position{line: 2483, col: 27, offset: 81672}, name: "QuotedText", }, &actionExpr{ - pos: position{line: 2342, col: 23, offset: 78855}, + pos: position{line: 2485, col: 23, offset: 81728}, run: (*parser).callonSuperscriptTextElement3, expr: &oneOrMoreExpr{ - pos: position{line: 2342, col: 23, offset: 78855}, + pos: position{line: 2485, col: 23, offset: 81728}, expr: &charClassMatcher{ - pos: position{line: 2342, col: 23, offset: 78855}, + pos: position{line: 2485, col: 23, offset: 81728}, val: "[^\\r\\n ^]", chars: []rune{'\r', '\n', ' ', '^'}, ignoreCase: false, @@ -51603,23 +57283,23 @@ var g = &grammar{ }, { name: "EscapedSuperscriptText", - pos: position{line: 2346, col: 1, offset: 78940}, + pos: position{line: 2489, col: 1, offset: 81813}, expr: &actionExpr{ - pos: position{line: 2347, col: 5, offset: 78971}, + pos: position{line: 2491, col: 5, offset: 81885}, run: (*parser).callonEscapedSuperscriptText1, expr: &seqExpr{ - pos: position{line: 2347, col: 5, offset: 78971}, + pos: position{line: 2491, col: 5, offset: 81885}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 2347, col: 5, offset: 78971}, + pos: position{line: 2491, col: 5, offset: 81885}, label: "backslashes", expr: &actionExpr{ - pos: position{line: 1791, col: 25, offset: 58915}, + pos: position{line: 1821, col: 25, offset: 59762}, run: (*parser).callonEscapedSuperscriptText4, expr: &oneOrMoreExpr{ - pos: position{line: 1791, col: 25, offset: 58915}, + pos: position{line: 1821, col: 25, offset: 59762}, expr: &litMatcher{ - pos: position{line: 1791, col: 25, offset: 58915}, + pos: position{line: 1821, col: 25, offset: 59762}, val: "\\", ignoreCase: false, want: "\"\\\\\"", @@ -51628,21 +57308,21 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 2338, col: 29, offset: 78768}, + pos: position{line: 2481, col: 29, offset: 81641}, val: "^", ignoreCase: false, want: "\"^\"", }, &labeledExpr{ - pos: position{line: 2349, col: 5, offset: 79041}, + pos: position{line: 2493, col: 5, offset: 81955}, label: "element", expr: &ruleRefExpr{ - pos: position{line: 2349, col: 14, offset: 79050}, + pos: position{line: 2493, col: 14, offset: 81964}, name: "SuperscriptTextElement", }, }, &litMatcher{ - pos: position{line: 2338, col: 29, offset: 78768}, + pos: position{line: 2481, col: 29, offset: 81641}, val: "^", ignoreCase: false, want: "\"^\"", @@ -51653,16 +57333,16 @@ var g = &grammar{ }, { name: "QuotedString", - pos: position{line: 2358, col: 1, offset: 79498}, + pos: position{line: 2502, col: 1, offset: 82412}, expr: &choiceExpr{ - pos: position{line: 2358, col: 17, offset: 79514}, + pos: position{line: 2502, col: 17, offset: 82428}, alternatives: []interface{}{ &ruleRefExpr{ - pos: position{line: 2358, col: 17, offset: 79514}, + pos: position{line: 2502, col: 17, offset: 82428}, name: "SingleQuotedString", }, &ruleRefExpr{ - pos: position{line: 2358, col: 38, offset: 79535}, + pos: position{line: 2502, col: 38, offset: 82449}, name: "DoubleQuotedString", }, }, @@ -51670,23 +57350,23 @@ var g = &grammar{ }, { name: "SingleQuotedString", - pos: position{line: 2360, col: 1, offset: 79555}, + pos: position{line: 2504, col: 1, offset: 82469}, expr: &actionExpr{ - pos: position{line: 2361, col: 5, offset: 79582}, + pos: position{line: 2505, col: 5, offset: 82496}, run: (*parser).callonSingleQuotedString1, expr: &seqExpr{ - pos: position{line: 2361, col: 5, offset: 79582}, + pos: position{line: 2505, col: 5, offset: 82496}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2373, col: 27, offset: 79957}, + pos: position{line: 2517, col: 27, offset: 82871}, val: "'`", ignoreCase: false, want: "\"'`\"", }, ¬Expr{ - pos: position{line: 2373, col: 32, offset: 79962}, + pos: position{line: 2517, col: 32, offset: 82876}, expr: &charClassMatcher{ - pos: position{line: 2373, col: 33, offset: 79963}, + pos: position{line: 2517, col: 33, offset: 82877}, val: "[ \\t\\r\\n]", chars: []rune{' ', '\t', '\r', '\n'}, ignoreCase: false, @@ -51694,15 +57374,15 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 2362, col: 5, offset: 79610}, + pos: position{line: 2506, col: 5, offset: 82524}, label: "elements", expr: &ruleRefExpr{ - pos: position{line: 2362, col: 14, offset: 79619}, + pos: position{line: 2506, col: 14, offset: 82533}, name: "SingleQuotedStringElements", }, }, &litMatcher{ - pos: position{line: 2375, col: 25, offset: 79998}, + pos: position{line: 2519, col: 25, offset: 82912}, val: "`'", ignoreCase: false, want: "\"`'\"", @@ -51713,17 +57393,17 @@ var g = &grammar{ }, { name: "SingleQuotedStringElements", - pos: position{line: 2367, col: 1, offset: 79763}, + pos: position{line: 2511, col: 1, offset: 82677}, expr: &actionExpr{ - pos: position{line: 2368, col: 5, offset: 79798}, + pos: position{line: 2512, col: 5, offset: 82712}, run: (*parser).callonSingleQuotedStringElements1, expr: &labeledExpr{ - pos: position{line: 2368, col: 5, offset: 79798}, + pos: position{line: 2512, col: 5, offset: 82712}, label: "elements", expr: &oneOrMoreExpr{ - pos: position{line: 2368, col: 14, offset: 79807}, + pos: position{line: 2512, col: 14, offset: 82721}, expr: &ruleRefExpr{ - pos: position{line: 2368, col: 15, offset: 79808}, + pos: position{line: 2512, col: 15, offset: 82722}, name: "SingleQuotedStringElement", }, }, @@ -51732,38 +57412,38 @@ var g = &grammar{ }, { name: "SingleQuotedStringElement", - pos: position{line: 2382, col: 1, offset: 80211}, + pos: position{line: 2526, col: 1, offset: 83125}, expr: &actionExpr{ - pos: position{line: 2383, col: 5, offset: 80245}, + pos: position{line: 2527, col: 5, offset: 83159}, run: (*parser).callonSingleQuotedStringElement1, expr: &seqExpr{ - pos: position{line: 2383, col: 5, offset: 80245}, + pos: position{line: 2527, col: 5, offset: 83159}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 2383, col: 5, offset: 80245}, + pos: position{line: 2527, col: 5, offset: 83159}, expr: &litMatcher{ - pos: position{line: 2375, col: 25, offset: 79998}, + pos: position{line: 2519, col: 25, offset: 82912}, val: "`'", ignoreCase: false, want: "\"`'\"", }, }, &labeledExpr{ - pos: position{line: 2384, col: 5, offset: 80271}, + pos: position{line: 2528, col: 5, offset: 83185}, label: "element", expr: &choiceExpr{ - pos: position{line: 2385, col: 9, offset: 80289}, + pos: position{line: 2529, col: 9, offset: 83203}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2377, col: 21, offset: 80024}, + pos: position{line: 2521, col: 21, offset: 82938}, run: (*parser).callonSingleQuotedStringElement7, expr: &seqExpr{ - pos: position{line: 2377, col: 21, offset: 80024}, + pos: position{line: 2521, col: 21, offset: 82938}, exprs: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 2377, col: 21, offset: 80024}, + pos: position{line: 2521, col: 21, offset: 82938}, expr: &charClassMatcher{ - pos: position{line: 2377, col: 21, offset: 80024}, + pos: position{line: 2521, col: 21, offset: 82938}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -51772,15 +57452,15 @@ var g = &grammar{ }, }, &andExpr{ - pos: position{line: 2377, col: 31, offset: 80034}, + pos: position{line: 2521, col: 31, offset: 82948}, expr: &choiceExpr{ - pos: position{line: 2377, col: 33, offset: 80036}, + pos: position{line: 2521, col: 33, offset: 82950}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonSingleQuotedStringElement13, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -51788,7 +57468,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 2375, col: 25, offset: 79998}, + pos: position{line: 2519, col: 25, offset: 82912}, val: "`'", ignoreCase: false, want: "\"`'\"", @@ -51800,13 +57480,13 @@ var g = &grammar{ }, }, &seqExpr{ - pos: position{line: 2386, col: 11, offset: 80316}, + pos: position{line: 2530, col: 11, offset: 83230}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonSingleQuotedStringElement17, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -51814,9 +57494,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2386, col: 17, offset: 80322}, + pos: position{line: 2530, col: 17, offset: 83236}, expr: &litMatcher{ - pos: position{line: 2375, col: 25, offset: 79998}, + pos: position{line: 2519, col: 25, offset: 82912}, val: "`'", ignoreCase: false, want: "\"`'\"", @@ -51825,28 +57505,28 @@ var g = &grammar{ }, }, &seqExpr{ - pos: position{line: 2387, col: 11, offset: 80354}, + pos: position{line: 2531, col: 11, offset: 83268}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonSingleQuotedStringElement22, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -51855,27 +57535,27 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2387, col: 19, offset: 80362}, + pos: position{line: 2531, col: 19, offset: 83276}, expr: &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonSingleQuotedStringElement28, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -51887,44 +57567,44 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 651, col: 5, offset: 21000}, + pos: position{line: 641, col: 5, offset: 20579}, run: (*parser).callonSingleQuotedStringElement33, expr: &seqExpr{ - pos: position{line: 651, col: 5, offset: 21000}, + pos: position{line: 641, col: 5, offset: 20579}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 651, col: 5, offset: 21000}, + pos: position{line: 641, col: 5, offset: 20579}, run: (*parser).callonSingleQuotedStringElement35, }, &labeledExpr{ - pos: position{line: 654, col: 5, offset: 21069}, + pos: position{line: 644, col: 5, offset: 20648}, label: "element", expr: &choiceExpr{ - pos: position{line: 654, col: 14, offset: 21078}, + pos: position{line: 644, col: 14, offset: 20657}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 666, col: 25, offset: 21447}, + pos: position{line: 664, col: 25, offset: 21310}, run: (*parser).callonSingleQuotedStringElement38, expr: &seqExpr{ - pos: position{line: 666, col: 25, offset: 21447}, + pos: position{line: 664, col: 25, offset: 21310}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 666, col: 25, offset: 21447}, + pos: position{line: 664, col: 25, offset: 21310}, val: "{counter:", ignoreCase: false, want: "\"{counter:\"", }, &labeledExpr{ - pos: position{line: 666, col: 37, offset: 21459}, + pos: position{line: 664, col: 37, offset: 21322}, label: "name", expr: &actionExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, run: (*parser).callonSingleQuotedStringElement42, expr: &seqExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -51933,9 +57613,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 332, col: 28, offset: 10403}, + pos: position{line: 324, col: 28, offset: 10064}, expr: &charClassMatcher{ - pos: position{line: 332, col: 29, offset: 10404}, + pos: position{line: 324, col: 29, offset: 10065}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -51949,33 +57629,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 666, col: 56, offset: 21478}, + pos: position{line: 664, col: 56, offset: 21341}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 666, col: 62, offset: 21484}, + pos: position{line: 664, col: 62, offset: 21347}, expr: &actionExpr{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, run: (*parser).callonSingleQuotedStringElement49, expr: &seqExpr{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 674, col: 21, offset: 21783}, + pos: position{line: 672, col: 21, offset: 21646}, label: "start", expr: &choiceExpr{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, run: (*parser).callonSingleQuotedStringElement54, expr: &charClassMatcher{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -51983,12 +57663,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, run: (*parser).callonSingleQuotedStringElement56, expr: &oneOrMoreExpr{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, expr: &charClassMatcher{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -52005,7 +57685,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 666, col: 78, offset: 21500}, + pos: position{line: 664, col: 78, offset: 21363}, val: "}", ignoreCase: false, want: "\"}\"", @@ -52014,28 +57694,28 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 670, col: 25, offset: 21618}, + pos: position{line: 668, col: 25, offset: 21481}, run: (*parser).callonSingleQuotedStringElement60, expr: &seqExpr{ - pos: position{line: 670, col: 25, offset: 21618}, + pos: position{line: 668, col: 25, offset: 21481}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 670, col: 25, offset: 21618}, + pos: position{line: 668, col: 25, offset: 21481}, val: "{counter2:", ignoreCase: false, want: "\"{counter2:\"", }, &labeledExpr{ - pos: position{line: 670, col: 38, offset: 21631}, + pos: position{line: 668, col: 38, offset: 21494}, label: "name", expr: &actionExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, run: (*parser).callonSingleQuotedStringElement64, expr: &seqExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -52044,9 +57724,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 332, col: 28, offset: 10403}, + pos: position{line: 324, col: 28, offset: 10064}, expr: &charClassMatcher{ - pos: position{line: 332, col: 29, offset: 10404}, + pos: position{line: 324, col: 29, offset: 10065}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -52060,33 +57740,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 670, col: 57, offset: 21650}, + pos: position{line: 668, col: 57, offset: 21513}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 670, col: 63, offset: 21656}, + pos: position{line: 668, col: 63, offset: 21519}, expr: &actionExpr{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, run: (*parser).callonSingleQuotedStringElement71, expr: &seqExpr{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 674, col: 21, offset: 21783}, + pos: position{line: 672, col: 21, offset: 21646}, label: "start", expr: &choiceExpr{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, run: (*parser).callonSingleQuotedStringElement76, expr: &charClassMatcher{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -52094,12 +57774,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, run: (*parser).callonSingleQuotedStringElement78, expr: &oneOrMoreExpr{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, expr: &charClassMatcher{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -52116,7 +57796,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 670, col: 79, offset: 21672}, + pos: position{line: 668, col: 79, offset: 21535}, val: "}", ignoreCase: false, want: "\"}\"", @@ -52125,28 +57805,83 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 659, col: 5, offset: 21191}, + pos: position{line: 650, col: 5, offset: 20786}, run: (*parser).callonSingleQuotedStringElement82, expr: &seqExpr{ - pos: position{line: 659, col: 5, offset: 21191}, + pos: position{line: 650, col: 5, offset: 20786}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 659, col: 5, offset: 21191}, + pos: position{line: 650, col: 5, offset: 20786}, + val: "\\{", + ignoreCase: false, + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 650, col: 13, offset: 20794}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + run: (*parser).callonSingleQuotedStringElement86, + expr: &seqExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 324, col: 18, offset: 10054}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 324, col: 28, offset: 10064}, + expr: &charClassMatcher{ + pos: position{line: 324, col: 29, offset: 10065}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 650, col: 32, offset: 20813}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 657, col: 5, offset: 21054}, + run: (*parser).callonSingleQuotedStringElement92, + expr: &seqExpr{ + pos: position{line: 657, col: 5, offset: 21054}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 657, col: 5, offset: 21054}, val: "{", ignoreCase: false, want: "\"{\"", }, &labeledExpr{ - pos: position{line: 659, col: 9, offset: 21195}, + pos: position{line: 657, col: 9, offset: 21058}, label: "name", expr: &actionExpr{ - pos: position{line: 332, col: 18, offset: 10393}, - run: (*parser).callonSingleQuotedStringElement86, + pos: position{line: 324, col: 18, offset: 10054}, + run: (*parser).callonSingleQuotedStringElement96, expr: &seqExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -52155,9 +57890,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 332, col: 28, offset: 10403}, + pos: position{line: 324, col: 28, offset: 10064}, expr: &charClassMatcher{ - pos: position{line: 332, col: 29, offset: 10404}, + pos: position{line: 324, col: 29, offset: 10065}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -52171,7 +57906,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 659, col: 28, offset: 21214}, + pos: position{line: 657, col: 28, offset: 21077}, val: "}", ignoreCase: false, want: "\"}\"", @@ -52186,53 +57921,53 @@ var g = &grammar{ }, }, &ruleRefExpr{ - pos: position{line: 2389, col: 11, offset: 80444}, + pos: position{line: 2533, col: 11, offset: 83358}, name: "InlineMacro", }, &actionExpr{ - pos: position{line: 2599, col: 5, offset: 86909}, - run: (*parser).callonSingleQuotedStringElement93, + pos: position{line: 2743, col: 5, offset: 89823}, + run: (*parser).callonSingleQuotedStringElement103, expr: &seqExpr{ - pos: position{line: 2599, col: 5, offset: 86909}, + pos: position{line: 2743, col: 5, offset: 89823}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 2599, col: 5, offset: 86909}, - run: (*parser).callonSingleQuotedStringElement95, + pos: position{line: 2743, col: 5, offset: 89823}, + run: (*parser).callonSingleQuotedStringElement105, }, &labeledExpr{ - pos: position{line: 2602, col: 5, offset: 86985}, + pos: position{line: 2746, col: 5, offset: 89899}, label: "element", expr: &choiceExpr{ - pos: position{line: 2604, col: 9, offset: 87083}, + pos: position{line: 2748, col: 9, offset: 89997}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2604, col: 9, offset: 87083}, - run: (*parser).callonSingleQuotedStringElement98, + pos: position{line: 2748, col: 9, offset: 89997}, + run: (*parser).callonSingleQuotedStringElement108, expr: &choiceExpr{ - pos: position{line: 694, col: 27, offset: 22498}, + pos: position{line: 692, col: 27, offset: 22361}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 694, col: 27, offset: 22498}, - run: (*parser).callonSingleQuotedStringElement100, + pos: position{line: 692, col: 27, offset: 22361}, + run: (*parser).callonSingleQuotedStringElement110, expr: &seqExpr{ - pos: position{line: 694, col: 27, offset: 22498}, + pos: position{line: 692, col: 27, offset: 22361}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 694, col: 27, offset: 22498}, + pos: position{line: 692, col: 27, offset: 22361}, val: "<<", ignoreCase: false, want: "\"<<\"", }, &labeledExpr{ - pos: position{line: 694, col: 32, offset: 22503}, + pos: position{line: 692, col: 32, offset: 22366}, label: "id", expr: &actionExpr{ - pos: position{line: 2884, col: 7, offset: 95839}, - run: (*parser).callonSingleQuotedStringElement104, + pos: position{line: 3043, col: 7, offset: 99263}, + run: (*parser).callonSingleQuotedStringElement114, expr: &oneOrMoreExpr{ - pos: position{line: 2884, col: 7, offset: 95839}, + pos: position{line: 3043, col: 7, offset: 99263}, expr: &charClassMatcher{ - pos: position{line: 2884, col: 7, offset: 95839}, + pos: position{line: 3043, col: 7, offset: 99263}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -52242,12 +57977,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 694, col: 40, offset: 22511}, + pos: position{line: 692, col: 40, offset: 22374}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, - run: (*parser).callonSingleQuotedStringElement108, + pos: position{line: 3058, col: 10, offset: 99611}, + run: (*parser).callonSingleQuotedStringElement118, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -52256,27 +57991,27 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 694, col: 47, offset: 22518}, + pos: position{line: 692, col: 47, offset: 22381}, val: ",", ignoreCase: false, want: "\",\"", }, &labeledExpr{ - pos: position{line: 694, col: 51, offset: 22522}, + pos: position{line: 692, col: 51, offset: 22385}, label: "label", expr: &oneOrMoreExpr{ - pos: position{line: 704, col: 24, offset: 22923}, + pos: position{line: 702, col: 24, offset: 22786}, expr: &choiceExpr{ - pos: position{line: 705, col: 5, offset: 22929}, + pos: position{line: 703, col: 5, offset: 22792}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 705, col: 6, offset: 22930}, - run: (*parser).callonSingleQuotedStringElement114, + pos: position{line: 703, col: 6, offset: 22793}, + run: (*parser).callonSingleQuotedStringElement124, expr: &seqExpr{ - pos: position{line: 705, col: 6, offset: 22930}, + pos: position{line: 703, col: 6, offset: 22793}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 705, col: 6, offset: 22930}, + pos: position{line: 703, col: 6, offset: 22793}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -52284,9 +58019,9 @@ var g = &grammar{ inverted: false, }, &oneOrMoreExpr{ - pos: position{line: 705, col: 14, offset: 22938}, + pos: position{line: 703, col: 14, offset: 22801}, expr: &charClassMatcher{ - pos: position{line: 705, col: 14, offset: 22938}, + pos: position{line: 703, col: 14, offset: 22801}, val: "[^\\r\\n{<>]", chars: []rune{'\r', '\n', '{', '<', '>'}, ignoreCase: false, @@ -52297,28 +58032,83 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 659, col: 5, offset: 21191}, - run: (*parser).callonSingleQuotedStringElement119, + pos: position{line: 650, col: 5, offset: 20786}, + run: (*parser).callonSingleQuotedStringElement129, + expr: &seqExpr{ + pos: position{line: 650, col: 5, offset: 20786}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 650, col: 5, offset: 20786}, + val: "\\{", + ignoreCase: false, + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 650, col: 13, offset: 20794}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + run: (*parser).callonSingleQuotedStringElement133, + expr: &seqExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 324, col: 18, offset: 10054}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 324, col: 28, offset: 10064}, + expr: &charClassMatcher{ + pos: position{line: 324, col: 29, offset: 10065}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 650, col: 32, offset: 20813}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 657, col: 5, offset: 21054}, + run: (*parser).callonSingleQuotedStringElement139, expr: &seqExpr{ - pos: position{line: 659, col: 5, offset: 21191}, + pos: position{line: 657, col: 5, offset: 21054}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 659, col: 5, offset: 21191}, + pos: position{line: 657, col: 5, offset: 21054}, val: "{", ignoreCase: false, want: "\"{\"", }, &labeledExpr{ - pos: position{line: 659, col: 9, offset: 21195}, + pos: position{line: 657, col: 9, offset: 21058}, label: "name", expr: &actionExpr{ - pos: position{line: 332, col: 18, offset: 10393}, - run: (*parser).callonSingleQuotedStringElement123, + pos: position{line: 324, col: 18, offset: 10054}, + run: (*parser).callonSingleQuotedStringElement143, expr: &seqExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -52327,9 +58117,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 332, col: 28, offset: 10403}, + pos: position{line: 324, col: 28, offset: 10064}, expr: &charClassMatcher{ - pos: position{line: 332, col: 29, offset: 10404}, + pos: position{line: 324, col: 29, offset: 10065}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -52343,7 +58133,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 659, col: 28, offset: 21214}, + pos: position{line: 657, col: 28, offset: 21077}, val: "}", ignoreCase: false, want: "\"}\"", @@ -52352,10 +58142,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 709, col: 8, offset: 23164}, - run: (*parser).callonSingleQuotedStringElement129, + pos: position{line: 707, col: 8, offset: 23027}, + run: (*parser).callonSingleQuotedStringElement149, expr: &litMatcher{ - pos: position{line: 709, col: 8, offset: 23164}, + pos: position{line: 707, col: 8, offset: 23027}, val: "{", ignoreCase: false, want: "\"{\"", @@ -52366,7 +58156,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 694, col: 79, offset: 22550}, + pos: position{line: 692, col: 79, offset: 22413}, val: ">>", ignoreCase: false, want: "\">>\"", @@ -52375,27 +58165,27 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 696, col: 9, offset: 22623}, - run: (*parser).callonSingleQuotedStringElement132, + pos: position{line: 694, col: 9, offset: 22486}, + run: (*parser).callonSingleQuotedStringElement152, expr: &seqExpr{ - pos: position{line: 696, col: 9, offset: 22623}, + pos: position{line: 694, col: 9, offset: 22486}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 696, col: 9, offset: 22623}, + pos: position{line: 694, col: 9, offset: 22486}, val: "<<", ignoreCase: false, want: "\"<<\"", }, &labeledExpr{ - pos: position{line: 696, col: 14, offset: 22628}, + pos: position{line: 694, col: 14, offset: 22491}, label: "id", expr: &actionExpr{ - pos: position{line: 2884, col: 7, offset: 95839}, - run: (*parser).callonSingleQuotedStringElement136, + pos: position{line: 3043, col: 7, offset: 99263}, + run: (*parser).callonSingleQuotedStringElement156, expr: &oneOrMoreExpr{ - pos: position{line: 2884, col: 7, offset: 95839}, + pos: position{line: 3043, col: 7, offset: 99263}, expr: &charClassMatcher{ - pos: position{line: 2884, col: 7, offset: 95839}, + pos: position{line: 3043, col: 7, offset: 99263}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -52405,7 +58195,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 696, col: 22, offset: 22636}, + pos: position{line: 694, col: 22, offset: 22499}, val: ">>", ignoreCase: false, want: "\">>\"", @@ -52417,10 +58207,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2607, col: 11, offset: 87187}, - run: (*parser).callonSingleQuotedStringElement140, + pos: position{line: 2751, col: 11, offset: 90101}, + run: (*parser).callonSingleQuotedStringElement160, expr: &charClassMatcher{ - pos: position{line: 2607, col: 12, offset: 87188}, + pos: position{line: 2751, col: 12, offset: 90102}, val: "[<>&]", chars: []rune{'<', '>', '&'}, ignoreCase: false, @@ -52434,31 +58224,31 @@ var g = &grammar{ }, }, &seqExpr{ - pos: position{line: 2391, col: 11, offset: 80543}, + pos: position{line: 2535, col: 11, offset: 83457}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 1130, col: 5, offset: 35437}, - run: (*parser).callonSingleQuotedStringElement143, + pos: position{line: 1128, col: 5, offset: 35300}, + run: (*parser).callonSingleQuotedStringElement163, expr: &seqExpr{ - pos: position{line: 1130, col: 5, offset: 35437}, + pos: position{line: 1128, col: 5, offset: 35300}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 1130, col: 5, offset: 35437}, - run: (*parser).callonSingleQuotedStringElement145, + pos: position{line: 1128, col: 5, offset: 35300}, + run: (*parser).callonSingleQuotedStringElement165, }, &litMatcher{ - pos: position{line: 1133, col: 5, offset: 35539}, + pos: position{line: 1131, col: 5, offset: 35402}, val: "+", ignoreCase: false, want: "\"+\"", }, &zeroOrMoreExpr{ - pos: position{line: 1133, col: 9, offset: 35543}, + pos: position{line: 1131, col: 9, offset: 35406}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, - run: (*parser).callonSingleQuotedStringElement148, + pos: position{line: 3058, col: 10, offset: 99611}, + run: (*parser).callonSingleQuotedStringElement168, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -52467,30 +58257,30 @@ var g = &grammar{ }, }, &andExpr{ - pos: position{line: 1133, col: 16, offset: 35550}, + pos: position{line: 1131, col: 16, offset: 35413}, expr: &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, - run: (*parser).callonSingleQuotedStringElement152, + pos: position{line: 3067, col: 12, offset: 99795}, + run: (*parser).callonSingleQuotedStringElement172, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -52499,9 +58289,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -52511,9 +58301,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2391, col: 21, offset: 80553}, + pos: position{line: 2535, col: 21, offset: 83467}, expr: &litMatcher{ - pos: position{line: 2375, col: 25, offset: 79998}, + pos: position{line: 2519, col: 25, offset: 82912}, val: "`'", ignoreCase: false, want: "\"`'\"", @@ -52522,63 +58312,166 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2632, col: 15, offset: 88155}, - run: (*parser).callonSingleQuotedStringElement161, + pos: position{line: 2776, col: 5, offset: 90995}, + run: (*parser).callonSingleQuotedStringElement181, + expr: &seqExpr{ + pos: position{line: 2776, col: 5, offset: 90995}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2776, col: 5, offset: 90995}, + val: "\\", + ignoreCase: false, + want: "\"\\\\\"", + }, + &choiceExpr{ + pos: position{line: 2776, col: 10, offset: 91000}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2784, col: 15, offset: 91276}, + run: (*parser).callonSingleQuotedStringElement185, + expr: &litMatcher{ + pos: position{line: 2784, col: 15, offset: 91276}, + val: "`'", + ignoreCase: false, + want: "\"`'\"", + }, + }, + &actionExpr{ + pos: position{line: 2790, col: 14, offset: 91391}, + run: (*parser).callonSingleQuotedStringElement187, + expr: &litMatcher{ + pos: position{line: 2790, col: 14, offset: 91391}, + val: "(C)", + ignoreCase: false, + want: "\"(C)\"", + }, + }, + &actionExpr{ + pos: position{line: 2794, col: 14, offset: 91467}, + run: (*parser).callonSingleQuotedStringElement189, + expr: &litMatcher{ + pos: position{line: 2794, col: 14, offset: 91467}, + val: "(TM)", + ignoreCase: false, + want: "\"(TM)\"", + }, + }, + &actionExpr{ + pos: position{line: 2798, col: 15, offset: 91545}, + run: (*parser).callonSingleQuotedStringElement191, + expr: &litMatcher{ + pos: position{line: 2798, col: 15, offset: 91545}, + val: "(R)", + ignoreCase: false, + want: "\"(R)\"", + }, + }, + &actionExpr{ + pos: position{line: 2802, col: 13, offset: 91620}, + run: (*parser).callonSingleQuotedStringElement193, + expr: &litMatcher{ + pos: position{line: 2802, col: 13, offset: 91620}, + val: "...", + ignoreCase: false, + want: "\"...\"", + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2784, col: 15, offset: 91276}, + run: (*parser).callonSingleQuotedStringElement195, expr: &litMatcher{ - pos: position{line: 2632, col: 15, offset: 88155}, + pos: position{line: 2784, col: 15, offset: 91276}, val: "`'", ignoreCase: false, want: "\"`'\"", }, }, &actionExpr{ - pos: position{line: 2638, col: 14, offset: 88270}, - run: (*parser).callonSingleQuotedStringElement163, + pos: position{line: 2790, col: 14, offset: 91391}, + run: (*parser).callonSingleQuotedStringElement197, expr: &litMatcher{ - pos: position{line: 2638, col: 14, offset: 88270}, + pos: position{line: 2790, col: 14, offset: 91391}, val: "(C)", ignoreCase: false, want: "\"(C)\"", }, }, &actionExpr{ - pos: position{line: 2642, col: 14, offset: 88346}, - run: (*parser).callonSingleQuotedStringElement165, + pos: position{line: 2794, col: 14, offset: 91467}, + run: (*parser).callonSingleQuotedStringElement199, expr: &litMatcher{ - pos: position{line: 2642, col: 14, offset: 88346}, + pos: position{line: 2794, col: 14, offset: 91467}, val: "(TM)", ignoreCase: false, want: "\"(TM)\"", }, }, &actionExpr{ - pos: position{line: 2646, col: 15, offset: 88424}, - run: (*parser).callonSingleQuotedStringElement167, + pos: position{line: 2798, col: 15, offset: 91545}, + run: (*parser).callonSingleQuotedStringElement201, expr: &litMatcher{ - pos: position{line: 2646, col: 15, offset: 88424}, + pos: position{line: 2798, col: 15, offset: 91545}, val: "(R)", ignoreCase: false, want: "\"(R)\"", }, }, &actionExpr{ - pos: position{line: 2650, col: 13, offset: 88499}, - run: (*parser).callonSingleQuotedStringElement169, + pos: position{line: 2802, col: 13, offset: 91620}, + run: (*parser).callonSingleQuotedStringElement203, expr: &litMatcher{ - pos: position{line: 2650, col: 13, offset: 88499}, + pos: position{line: 2802, col: 13, offset: 91620}, val: "...", ignoreCase: false, want: "\"...\"", }, }, &actionExpr{ - pos: position{line: 2658, col: 22, offset: 88805}, - run: (*parser).callonSingleQuotedStringElement171, + pos: position{line: 2811, col: 5, offset: 91944}, + run: (*parser).callonSingleQuotedStringElement205, + expr: &seqExpr{ + pos: position{line: 2811, col: 5, offset: 91944}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 2972, col: 13, offset: 96927}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &litMatcher{ + pos: position{line: 2811, col: 14, offset: 91953}, + val: "\\'", + ignoreCase: false, + want: "\"\\\\'\"", + }, + &andExpr{ + pos: position{line: 2811, col: 19, offset: 91958}, + expr: &charClassMatcher{ + pos: position{line: 2811, col: 20, offset: 91959}, + val: "[\\pL]", + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2817, col: 5, offset: 92190}, + run: (*parser).callonSingleQuotedStringElement211, expr: &seqExpr{ - pos: position{line: 2658, col: 22, offset: 88805}, + pos: position{line: 2817, col: 5, offset: 92190}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 2813, col: 13, offset: 93503}, + pos: position{line: 2972, col: 13, offset: 96927}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -52586,15 +58479,15 @@ var g = &grammar{ inverted: false, }, &litMatcher{ - pos: position{line: 2658, col: 31, offset: 88814}, + pos: position{line: 2817, col: 14, offset: 92199}, val: "'", ignoreCase: false, want: "\"'\"", }, &andExpr{ - pos: position{line: 2658, col: 35, offset: 88818}, + pos: position{line: 2817, col: 18, offset: 92203}, expr: &charClassMatcher{ - pos: position{line: 2658, col: 36, offset: 88819}, + pos: position{line: 2817, col: 19, offset: 92204}, val: "[\\pL]", classes: []*unicode.RangeTable{rangeTable("L")}, ignoreCase: false, @@ -52605,36 +58498,36 @@ var g = &grammar{ }, }, &ruleRefExpr{ - pos: position{line: 2393, col: 11, offset: 80602}, + pos: position{line: 2537, col: 11, offset: 83516}, name: "QuotedTextInSingleQuotedString", }, &ruleRefExpr{ - pos: position{line: 2394, col: 11, offset: 80643}, + pos: position{line: 2538, col: 11, offset: 83557}, name: "DoubleQuotedString", }, &charClassMatcher{ - pos: position{line: 2412, col: 41, offset: 81161}, + pos: position{line: 2556, col: 41, offset: 84075}, val: "[^\\r\\n\\t `]", chars: []rune{'\r', '\n', '\t', ' ', '`'}, ignoreCase: false, inverted: true, }, &actionExpr{ - pos: position{line: 2412, col: 55, offset: 81175}, - run: (*parser).callonSingleQuotedStringElement180, + pos: position{line: 2556, col: 55, offset: 84089}, + run: (*parser).callonSingleQuotedStringElement220, expr: &seqExpr{ - pos: position{line: 2412, col: 55, offset: 81175}, + pos: position{line: 2556, col: 55, offset: 84089}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2412, col: 55, offset: 81175}, + pos: position{line: 2556, col: 55, offset: 84089}, val: "`", ignoreCase: false, want: "\"`\"", }, ¬Expr{ - pos: position{line: 2412, col: 59, offset: 81179}, + pos: position{line: 2556, col: 59, offset: 84093}, expr: &litMatcher{ - pos: position{line: 2412, col: 60, offset: 81180}, + pos: position{line: 2556, col: 60, offset: 84094}, val: "'", ignoreCase: false, want: "\"'\"", @@ -52652,58 +58545,58 @@ var g = &grammar{ }, { name: "QuotedTextInSingleQuotedString", - pos: position{line: 2401, col: 1, offset: 80787}, + pos: position{line: 2545, col: 1, offset: 83701}, expr: &actionExpr{ - pos: position{line: 2402, col: 5, offset: 80825}, + pos: position{line: 2546, col: 5, offset: 83739}, run: (*parser).callonQuotedTextInSingleQuotedString1, expr: &seqExpr{ - pos: position{line: 2402, col: 5, offset: 80825}, + pos: position{line: 2546, col: 5, offset: 83739}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 2402, col: 5, offset: 80825}, + pos: position{line: 2546, col: 5, offset: 83739}, label: "attributes", expr: &zeroOrOneExpr{ - pos: position{line: 2402, col: 16, offset: 80836}, + pos: position{line: 2546, col: 16, offset: 83750}, expr: &ruleRefExpr{ - pos: position{line: 2402, col: 17, offset: 80837}, + pos: position{line: 2546, col: 17, offset: 83751}, name: "LongHandAttributes", }, }, }, &labeledExpr{ - pos: position{line: 2403, col: 5, offset: 80863}, + pos: position{line: 2547, col: 5, offset: 83777}, label: "text", expr: &choiceExpr{ - pos: position{line: 2403, col: 11, offset: 80869}, + pos: position{line: 2547, col: 11, offset: 83783}, alternatives: []interface{}{ &ruleRefExpr{ - pos: position{line: 2403, col: 11, offset: 80869}, + pos: position{line: 2547, col: 11, offset: 83783}, name: "BoldText", }, &ruleRefExpr{ - pos: position{line: 2404, col: 11, offset: 80888}, + pos: position{line: 2548, col: 11, offset: 83802}, name: "ItalicText", }, &actionExpr{ - pos: position{line: 2405, col: 12, offset: 80910}, + pos: position{line: 2549, col: 12, offset: 83824}, run: (*parser).callonQuotedTextInSingleQuotedString10, expr: &seqExpr{ - pos: position{line: 2405, col: 12, offset: 80910}, + pos: position{line: 2549, col: 12, offset: 83824}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 2405, col: 12, offset: 80910}, + pos: position{line: 2549, col: 12, offset: 83824}, expr: &litMatcher{ - pos: position{line: 2405, col: 13, offset: 80911}, + pos: position{line: 2549, col: 13, offset: 83825}, val: "`'", ignoreCase: false, want: "\"`'\"", }, }, &labeledExpr{ - pos: position{line: 2405, col: 18, offset: 80916}, + pos: position{line: 2549, col: 18, offset: 83830}, label: "element", expr: &ruleRefExpr{ - pos: position{line: 2405, col: 27, offset: 80925}, + pos: position{line: 2549, col: 27, offset: 83839}, name: "MonospaceText", }, }, @@ -52711,15 +58604,15 @@ var g = &grammar{ }, }, &ruleRefExpr{ - pos: position{line: 2406, col: 11, offset: 80974}, + pos: position{line: 2550, col: 11, offset: 83888}, name: "SubscriptText", }, &ruleRefExpr{ - pos: position{line: 2407, col: 11, offset: 80998}, + pos: position{line: 2551, col: 11, offset: 83912}, name: "SuperscriptText", }, &ruleRefExpr{ - pos: position{line: 2408, col: 11, offset: 81024}, + pos: position{line: 2552, col: 11, offset: 83938}, name: "MarkedText", }, }, @@ -52731,23 +58624,23 @@ var g = &grammar{ }, { name: "DoubleQuotedString", - pos: position{line: 2416, col: 1, offset: 81252}, + pos: position{line: 2560, col: 1, offset: 84166}, expr: &actionExpr{ - pos: position{line: 2416, col: 23, offset: 81274}, + pos: position{line: 2560, col: 23, offset: 84188}, run: (*parser).callonDoubleQuotedString1, expr: &seqExpr{ - pos: position{line: 2416, col: 23, offset: 81274}, + pos: position{line: 2560, col: 23, offset: 84188}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2455, col: 27, offset: 82627}, + pos: position{line: 2599, col: 27, offset: 85541}, val: "\"`", ignoreCase: false, want: "\"\\\"`\"", }, ¬Expr{ - pos: position{line: 2455, col: 33, offset: 82633}, + pos: position{line: 2599, col: 33, offset: 85547}, expr: &charClassMatcher{ - pos: position{line: 2455, col: 34, offset: 82634}, + pos: position{line: 2599, col: 34, offset: 85548}, val: "[ \\t\\r\\n]", chars: []rune{' ', '\t', '\r', '\n'}, ignoreCase: false, @@ -52755,15 +58648,15 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 2416, col: 46, offset: 81297}, + pos: position{line: 2560, col: 46, offset: 84211}, label: "elements", expr: &ruleRefExpr{ - pos: position{line: 2416, col: 55, offset: 81306}, + pos: position{line: 2560, col: 55, offset: 84220}, name: "DoubleQuotedStringElements", }, }, &litMatcher{ - pos: position{line: 2457, col: 25, offset: 82669}, + pos: position{line: 2601, col: 25, offset: 85583}, val: "`\"", ignoreCase: false, want: "\"`\\\"\"", @@ -52774,17 +58667,17 @@ var g = &grammar{ }, { name: "DoubleQuotedStringElements", - pos: position{line: 2420, col: 1, offset: 81445}, + pos: position{line: 2564, col: 1, offset: 84359}, expr: &actionExpr{ - pos: position{line: 2420, col: 31, offset: 81475}, + pos: position{line: 2564, col: 31, offset: 84389}, run: (*parser).callonDoubleQuotedStringElements1, expr: &labeledExpr{ - pos: position{line: 2420, col: 31, offset: 81475}, + pos: position{line: 2564, col: 31, offset: 84389}, label: "elements", expr: &oneOrMoreExpr{ - pos: position{line: 2420, col: 41, offset: 81485}, + pos: position{line: 2564, col: 41, offset: 84399}, expr: &ruleRefExpr{ - pos: position{line: 2420, col: 41, offset: 81485}, + pos: position{line: 2564, col: 41, offset: 84399}, name: "DoubleQuotedStringElement", }, }, @@ -52793,38 +58686,38 @@ var g = &grammar{ }, { name: "DoubleQuotedStringElement", - pos: position{line: 2426, col: 1, offset: 81690}, + pos: position{line: 2570, col: 1, offset: 84604}, expr: &actionExpr{ - pos: position{line: 2427, col: 5, offset: 81724}, + pos: position{line: 2571, col: 5, offset: 84638}, run: (*parser).callonDoubleQuotedStringElement1, expr: &seqExpr{ - pos: position{line: 2427, col: 5, offset: 81724}, + pos: position{line: 2571, col: 5, offset: 84638}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 2427, col: 5, offset: 81724}, + pos: position{line: 2571, col: 5, offset: 84638}, expr: &litMatcher{ - pos: position{line: 2457, col: 25, offset: 82669}, + pos: position{line: 2601, col: 25, offset: 85583}, val: "`\"", ignoreCase: false, want: "\"`\\\"\"", }, }, &labeledExpr{ - pos: position{line: 2428, col: 5, offset: 81750}, + pos: position{line: 2572, col: 5, offset: 84664}, label: "element", expr: &choiceExpr{ - pos: position{line: 2429, col: 9, offset: 81768}, + pos: position{line: 2573, col: 9, offset: 84682}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2377, col: 21, offset: 80024}, + pos: position{line: 2521, col: 21, offset: 82938}, run: (*parser).callonDoubleQuotedStringElement7, expr: &seqExpr{ - pos: position{line: 2377, col: 21, offset: 80024}, + pos: position{line: 2521, col: 21, offset: 82938}, exprs: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 2377, col: 21, offset: 80024}, + pos: position{line: 2521, col: 21, offset: 82938}, expr: &charClassMatcher{ - pos: position{line: 2377, col: 21, offset: 80024}, + pos: position{line: 2521, col: 21, offset: 82938}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -52833,15 +58726,15 @@ var g = &grammar{ }, }, &andExpr{ - pos: position{line: 2377, col: 31, offset: 80034}, + pos: position{line: 2521, col: 31, offset: 82948}, expr: &choiceExpr{ - pos: position{line: 2377, col: 33, offset: 80036}, + pos: position{line: 2521, col: 33, offset: 82950}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonDoubleQuotedStringElement13, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -52849,7 +58742,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 2375, col: 25, offset: 79998}, + pos: position{line: 2519, col: 25, offset: 82912}, val: "`'", ignoreCase: false, want: "\"`'\"", @@ -52861,13 +58754,13 @@ var g = &grammar{ }, }, &seqExpr{ - pos: position{line: 2430, col: 11, offset: 81795}, + pos: position{line: 2574, col: 11, offset: 84709}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonDoubleQuotedStringElement17, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -52875,9 +58768,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2430, col: 17, offset: 81801}, + pos: position{line: 2574, col: 17, offset: 84715}, expr: &litMatcher{ - pos: position{line: 2457, col: 25, offset: 82669}, + pos: position{line: 2601, col: 25, offset: 85583}, val: "`\"", ignoreCase: false, want: "\"`\\\"\"", @@ -52886,28 +58779,28 @@ var g = &grammar{ }, }, &seqExpr{ - pos: position{line: 2431, col: 11, offset: 81833}, + pos: position{line: 2575, col: 11, offset: 84747}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonDoubleQuotedStringElement22, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -52916,27 +58809,27 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2431, col: 19, offset: 81841}, + pos: position{line: 2575, col: 19, offset: 84755}, expr: &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonDoubleQuotedStringElement28, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -52948,31 +58841,31 @@ var g = &grammar{ }, }, &seqExpr{ - pos: position{line: 2432, col: 11, offset: 81894}, + pos: position{line: 2576, col: 11, offset: 84808}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 1130, col: 5, offset: 35437}, + pos: position{line: 1128, col: 5, offset: 35300}, run: (*parser).callonDoubleQuotedStringElement34, expr: &seqExpr{ - pos: position{line: 1130, col: 5, offset: 35437}, + pos: position{line: 1128, col: 5, offset: 35300}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 1130, col: 5, offset: 35437}, + pos: position{line: 1128, col: 5, offset: 35300}, run: (*parser).callonDoubleQuotedStringElement36, }, &litMatcher{ - pos: position{line: 1133, col: 5, offset: 35539}, + pos: position{line: 1131, col: 5, offset: 35402}, val: "+", ignoreCase: false, want: "\"+\"", }, &zeroOrMoreExpr{ - pos: position{line: 1133, col: 9, offset: 35543}, + pos: position{line: 1131, col: 9, offset: 35406}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonDoubleQuotedStringElement39, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -52981,30 +58874,30 @@ var g = &grammar{ }, }, &andExpr{ - pos: position{line: 1133, col: 16, offset: 35550}, + pos: position{line: 1131, col: 16, offset: 35413}, expr: &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonDoubleQuotedStringElement43, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -53013,9 +58906,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -53025,9 +58918,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2432, col: 21, offset: 81904}, + pos: position{line: 2576, col: 21, offset: 84818}, expr: &litMatcher{ - pos: position{line: 2375, col: 25, offset: 79998}, + pos: position{line: 2519, col: 25, offset: 82912}, val: "`'", ignoreCase: false, want: "\"`'\"", @@ -53036,44 +58929,44 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 651, col: 5, offset: 21000}, + pos: position{line: 641, col: 5, offset: 20579}, run: (*parser).callonDoubleQuotedStringElement52, expr: &seqExpr{ - pos: position{line: 651, col: 5, offset: 21000}, + pos: position{line: 641, col: 5, offset: 20579}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 651, col: 5, offset: 21000}, + pos: position{line: 641, col: 5, offset: 20579}, run: (*parser).callonDoubleQuotedStringElement54, }, &labeledExpr{ - pos: position{line: 654, col: 5, offset: 21069}, + pos: position{line: 644, col: 5, offset: 20648}, label: "element", expr: &choiceExpr{ - pos: position{line: 654, col: 14, offset: 21078}, + pos: position{line: 644, col: 14, offset: 20657}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 666, col: 25, offset: 21447}, + pos: position{line: 664, col: 25, offset: 21310}, run: (*parser).callonDoubleQuotedStringElement57, expr: &seqExpr{ - pos: position{line: 666, col: 25, offset: 21447}, + pos: position{line: 664, col: 25, offset: 21310}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 666, col: 25, offset: 21447}, + pos: position{line: 664, col: 25, offset: 21310}, val: "{counter:", ignoreCase: false, want: "\"{counter:\"", }, &labeledExpr{ - pos: position{line: 666, col: 37, offset: 21459}, + pos: position{line: 664, col: 37, offset: 21322}, label: "name", expr: &actionExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, run: (*parser).callonDoubleQuotedStringElement61, expr: &seqExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -53082,9 +58975,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 332, col: 28, offset: 10403}, + pos: position{line: 324, col: 28, offset: 10064}, expr: &charClassMatcher{ - pos: position{line: 332, col: 29, offset: 10404}, + pos: position{line: 324, col: 29, offset: 10065}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -53098,33 +58991,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 666, col: 56, offset: 21478}, + pos: position{line: 664, col: 56, offset: 21341}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 666, col: 62, offset: 21484}, + pos: position{line: 664, col: 62, offset: 21347}, expr: &actionExpr{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, run: (*parser).callonDoubleQuotedStringElement68, expr: &seqExpr{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 674, col: 21, offset: 21783}, + pos: position{line: 672, col: 21, offset: 21646}, label: "start", expr: &choiceExpr{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, run: (*parser).callonDoubleQuotedStringElement73, expr: &charClassMatcher{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -53132,12 +59025,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, run: (*parser).callonDoubleQuotedStringElement75, expr: &oneOrMoreExpr{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, expr: &charClassMatcher{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -53154,7 +59047,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 666, col: 78, offset: 21500}, + pos: position{line: 664, col: 78, offset: 21363}, val: "}", ignoreCase: false, want: "\"}\"", @@ -53163,28 +59056,28 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 670, col: 25, offset: 21618}, + pos: position{line: 668, col: 25, offset: 21481}, run: (*parser).callonDoubleQuotedStringElement79, expr: &seqExpr{ - pos: position{line: 670, col: 25, offset: 21618}, + pos: position{line: 668, col: 25, offset: 21481}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 670, col: 25, offset: 21618}, + pos: position{line: 668, col: 25, offset: 21481}, val: "{counter2:", ignoreCase: false, want: "\"{counter2:\"", }, &labeledExpr{ - pos: position{line: 670, col: 38, offset: 21631}, + pos: position{line: 668, col: 38, offset: 21494}, label: "name", expr: &actionExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, run: (*parser).callonDoubleQuotedStringElement83, expr: &seqExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -53193,9 +59086,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 332, col: 28, offset: 10403}, + pos: position{line: 324, col: 28, offset: 10064}, expr: &charClassMatcher{ - pos: position{line: 332, col: 29, offset: 10404}, + pos: position{line: 324, col: 29, offset: 10065}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -53209,33 +59102,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 670, col: 57, offset: 21650}, + pos: position{line: 668, col: 57, offset: 21513}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 670, col: 63, offset: 21656}, + pos: position{line: 668, col: 63, offset: 21519}, expr: &actionExpr{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, run: (*parser).callonDoubleQuotedStringElement90, expr: &seqExpr{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 674, col: 21, offset: 21783}, + pos: position{line: 672, col: 21, offset: 21646}, label: "start", expr: &choiceExpr{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, run: (*parser).callonDoubleQuotedStringElement95, expr: &charClassMatcher{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -53243,12 +59136,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, run: (*parser).callonDoubleQuotedStringElement97, expr: &oneOrMoreExpr{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, expr: &charClassMatcher{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -53265,7 +59158,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 670, col: 79, offset: 21672}, + pos: position{line: 668, col: 79, offset: 21535}, val: "}", ignoreCase: false, want: "\"}\"", @@ -53274,28 +59167,83 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 659, col: 5, offset: 21191}, + pos: position{line: 650, col: 5, offset: 20786}, run: (*parser).callonDoubleQuotedStringElement101, expr: &seqExpr{ - pos: position{line: 659, col: 5, offset: 21191}, + pos: position{line: 650, col: 5, offset: 20786}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 659, col: 5, offset: 21191}, + pos: position{line: 650, col: 5, offset: 20786}, + val: "\\{", + ignoreCase: false, + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 650, col: 13, offset: 20794}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + run: (*parser).callonDoubleQuotedStringElement105, + expr: &seqExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 324, col: 18, offset: 10054}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 324, col: 28, offset: 10064}, + expr: &charClassMatcher{ + pos: position{line: 324, col: 29, offset: 10065}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 650, col: 32, offset: 20813}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 657, col: 5, offset: 21054}, + run: (*parser).callonDoubleQuotedStringElement111, + expr: &seqExpr{ + pos: position{line: 657, col: 5, offset: 21054}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 657, col: 5, offset: 21054}, val: "{", ignoreCase: false, want: "\"{\"", }, &labeledExpr{ - pos: position{line: 659, col: 9, offset: 21195}, + pos: position{line: 657, col: 9, offset: 21058}, label: "name", expr: &actionExpr{ - pos: position{line: 332, col: 18, offset: 10393}, - run: (*parser).callonDoubleQuotedStringElement105, + pos: position{line: 324, col: 18, offset: 10054}, + run: (*parser).callonDoubleQuotedStringElement115, expr: &seqExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -53304,9 +59252,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 332, col: 28, offset: 10403}, + pos: position{line: 324, col: 28, offset: 10064}, expr: &charClassMatcher{ - pos: position{line: 332, col: 29, offset: 10404}, + pos: position{line: 324, col: 29, offset: 10065}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -53320,7 +59268,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 659, col: 28, offset: 21214}, + pos: position{line: 657, col: 28, offset: 21077}, val: "}", ignoreCase: false, want: "\"}\"", @@ -53335,53 +59283,53 @@ var g = &grammar{ }, }, &ruleRefExpr{ - pos: position{line: 2434, col: 11, offset: 81966}, + pos: position{line: 2578, col: 11, offset: 84880}, name: "InlineMacro", }, &actionExpr{ - pos: position{line: 2599, col: 5, offset: 86909}, - run: (*parser).callonDoubleQuotedStringElement112, + pos: position{line: 2743, col: 5, offset: 89823}, + run: (*parser).callonDoubleQuotedStringElement122, expr: &seqExpr{ - pos: position{line: 2599, col: 5, offset: 86909}, + pos: position{line: 2743, col: 5, offset: 89823}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 2599, col: 5, offset: 86909}, - run: (*parser).callonDoubleQuotedStringElement114, + pos: position{line: 2743, col: 5, offset: 89823}, + run: (*parser).callonDoubleQuotedStringElement124, }, &labeledExpr{ - pos: position{line: 2602, col: 5, offset: 86985}, + pos: position{line: 2746, col: 5, offset: 89899}, label: "element", expr: &choiceExpr{ - pos: position{line: 2604, col: 9, offset: 87083}, + pos: position{line: 2748, col: 9, offset: 89997}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2604, col: 9, offset: 87083}, - run: (*parser).callonDoubleQuotedStringElement117, + pos: position{line: 2748, col: 9, offset: 89997}, + run: (*parser).callonDoubleQuotedStringElement127, expr: &choiceExpr{ - pos: position{line: 694, col: 27, offset: 22498}, + pos: position{line: 692, col: 27, offset: 22361}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 694, col: 27, offset: 22498}, - run: (*parser).callonDoubleQuotedStringElement119, + pos: position{line: 692, col: 27, offset: 22361}, + run: (*parser).callonDoubleQuotedStringElement129, expr: &seqExpr{ - pos: position{line: 694, col: 27, offset: 22498}, + pos: position{line: 692, col: 27, offset: 22361}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 694, col: 27, offset: 22498}, + pos: position{line: 692, col: 27, offset: 22361}, val: "<<", ignoreCase: false, want: "\"<<\"", }, &labeledExpr{ - pos: position{line: 694, col: 32, offset: 22503}, + pos: position{line: 692, col: 32, offset: 22366}, label: "id", expr: &actionExpr{ - pos: position{line: 2884, col: 7, offset: 95839}, - run: (*parser).callonDoubleQuotedStringElement123, + pos: position{line: 3043, col: 7, offset: 99263}, + run: (*parser).callonDoubleQuotedStringElement133, expr: &oneOrMoreExpr{ - pos: position{line: 2884, col: 7, offset: 95839}, + pos: position{line: 3043, col: 7, offset: 99263}, expr: &charClassMatcher{ - pos: position{line: 2884, col: 7, offset: 95839}, + pos: position{line: 3043, col: 7, offset: 99263}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -53391,12 +59339,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 694, col: 40, offset: 22511}, + pos: position{line: 692, col: 40, offset: 22374}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, - run: (*parser).callonDoubleQuotedStringElement127, + pos: position{line: 3058, col: 10, offset: 99611}, + run: (*parser).callonDoubleQuotedStringElement137, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -53405,27 +59353,27 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 694, col: 47, offset: 22518}, + pos: position{line: 692, col: 47, offset: 22381}, val: ",", ignoreCase: false, want: "\",\"", }, &labeledExpr{ - pos: position{line: 694, col: 51, offset: 22522}, + pos: position{line: 692, col: 51, offset: 22385}, label: "label", expr: &oneOrMoreExpr{ - pos: position{line: 704, col: 24, offset: 22923}, + pos: position{line: 702, col: 24, offset: 22786}, expr: &choiceExpr{ - pos: position{line: 705, col: 5, offset: 22929}, + pos: position{line: 703, col: 5, offset: 22792}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 705, col: 6, offset: 22930}, - run: (*parser).callonDoubleQuotedStringElement133, + pos: position{line: 703, col: 6, offset: 22793}, + run: (*parser).callonDoubleQuotedStringElement143, expr: &seqExpr{ - pos: position{line: 705, col: 6, offset: 22930}, + pos: position{line: 703, col: 6, offset: 22793}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 705, col: 6, offset: 22930}, + pos: position{line: 703, col: 6, offset: 22793}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -53433,9 +59381,9 @@ var g = &grammar{ inverted: false, }, &oneOrMoreExpr{ - pos: position{line: 705, col: 14, offset: 22938}, + pos: position{line: 703, col: 14, offset: 22801}, expr: &charClassMatcher{ - pos: position{line: 705, col: 14, offset: 22938}, + pos: position{line: 703, col: 14, offset: 22801}, val: "[^\\r\\n{<>]", chars: []rune{'\r', '\n', '{', '<', '>'}, ignoreCase: false, @@ -53446,28 +59394,83 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 659, col: 5, offset: 21191}, - run: (*parser).callonDoubleQuotedStringElement138, + pos: position{line: 650, col: 5, offset: 20786}, + run: (*parser).callonDoubleQuotedStringElement148, + expr: &seqExpr{ + pos: position{line: 650, col: 5, offset: 20786}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 650, col: 5, offset: 20786}, + val: "\\{", + ignoreCase: false, + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 650, col: 13, offset: 20794}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + run: (*parser).callonDoubleQuotedStringElement152, + expr: &seqExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 324, col: 18, offset: 10054}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 324, col: 28, offset: 10064}, + expr: &charClassMatcher{ + pos: position{line: 324, col: 29, offset: 10065}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 650, col: 32, offset: 20813}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 657, col: 5, offset: 21054}, + run: (*parser).callonDoubleQuotedStringElement158, expr: &seqExpr{ - pos: position{line: 659, col: 5, offset: 21191}, + pos: position{line: 657, col: 5, offset: 21054}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 659, col: 5, offset: 21191}, + pos: position{line: 657, col: 5, offset: 21054}, val: "{", ignoreCase: false, want: "\"{\"", }, &labeledExpr{ - pos: position{line: 659, col: 9, offset: 21195}, + pos: position{line: 657, col: 9, offset: 21058}, label: "name", expr: &actionExpr{ - pos: position{line: 332, col: 18, offset: 10393}, - run: (*parser).callonDoubleQuotedStringElement142, + pos: position{line: 324, col: 18, offset: 10054}, + run: (*parser).callonDoubleQuotedStringElement162, expr: &seqExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -53476,9 +59479,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 332, col: 28, offset: 10403}, + pos: position{line: 324, col: 28, offset: 10064}, expr: &charClassMatcher{ - pos: position{line: 332, col: 29, offset: 10404}, + pos: position{line: 324, col: 29, offset: 10065}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -53492,7 +59495,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 659, col: 28, offset: 21214}, + pos: position{line: 657, col: 28, offset: 21077}, val: "}", ignoreCase: false, want: "\"}\"", @@ -53501,10 +59504,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 709, col: 8, offset: 23164}, - run: (*parser).callonDoubleQuotedStringElement148, + pos: position{line: 707, col: 8, offset: 23027}, + run: (*parser).callonDoubleQuotedStringElement168, expr: &litMatcher{ - pos: position{line: 709, col: 8, offset: 23164}, + pos: position{line: 707, col: 8, offset: 23027}, val: "{", ignoreCase: false, want: "\"{\"", @@ -53515,7 +59518,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 694, col: 79, offset: 22550}, + pos: position{line: 692, col: 79, offset: 22413}, val: ">>", ignoreCase: false, want: "\">>\"", @@ -53524,27 +59527,27 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 696, col: 9, offset: 22623}, - run: (*parser).callonDoubleQuotedStringElement151, + pos: position{line: 694, col: 9, offset: 22486}, + run: (*parser).callonDoubleQuotedStringElement171, expr: &seqExpr{ - pos: position{line: 696, col: 9, offset: 22623}, + pos: position{line: 694, col: 9, offset: 22486}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 696, col: 9, offset: 22623}, + pos: position{line: 694, col: 9, offset: 22486}, val: "<<", ignoreCase: false, want: "\"<<\"", }, &labeledExpr{ - pos: position{line: 696, col: 14, offset: 22628}, + pos: position{line: 694, col: 14, offset: 22491}, label: "id", expr: &actionExpr{ - pos: position{line: 2884, col: 7, offset: 95839}, - run: (*parser).callonDoubleQuotedStringElement155, + pos: position{line: 3043, col: 7, offset: 99263}, + run: (*parser).callonDoubleQuotedStringElement175, expr: &oneOrMoreExpr{ - pos: position{line: 2884, col: 7, offset: 95839}, + pos: position{line: 3043, col: 7, offset: 99263}, expr: &charClassMatcher{ - pos: position{line: 2884, col: 7, offset: 95839}, + pos: position{line: 3043, col: 7, offset: 99263}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -53554,7 +59557,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 696, col: 22, offset: 22636}, + pos: position{line: 694, col: 22, offset: 22499}, val: ">>", ignoreCase: false, want: "\">>\"", @@ -53566,10 +59569,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2607, col: 11, offset: 87187}, - run: (*parser).callonDoubleQuotedStringElement159, + pos: position{line: 2751, col: 11, offset: 90101}, + run: (*parser).callonDoubleQuotedStringElement179, expr: &charClassMatcher{ - pos: position{line: 2607, col: 12, offset: 87188}, + pos: position{line: 2751, col: 12, offset: 90102}, val: "[<>&]", chars: []rune{'<', '>', '&'}, ignoreCase: false, @@ -53583,39 +59586,39 @@ var g = &grammar{ }, }, &ruleRefExpr{ - pos: position{line: 2436, col: 11, offset: 82065}, + pos: position{line: 2580, col: 11, offset: 84979}, name: "QuotedTextInDoubleQuotedString", }, &ruleRefExpr{ - pos: position{line: 2437, col: 11, offset: 82106}, + pos: position{line: 2581, col: 11, offset: 85020}, name: "SingleQuotedString", }, &actionExpr{ - pos: position{line: 2459, col: 41, offset: 82716}, - run: (*parser).callonDoubleQuotedStringElement163, + pos: position{line: 2603, col: 41, offset: 85630}, + run: (*parser).callonDoubleQuotedStringElement183, expr: &choiceExpr{ - pos: position{line: 2459, col: 42, offset: 82717}, + pos: position{line: 2603, col: 42, offset: 85631}, alternatives: []interface{}{ &charClassMatcher{ - pos: position{line: 2459, col: 42, offset: 82717}, + pos: position{line: 2603, col: 42, offset: 85631}, val: "[^\\r\\n\\t `]", chars: []rune{'\r', '\n', '\t', ' ', '`'}, ignoreCase: false, inverted: true, }, &seqExpr{ - pos: position{line: 2459, col: 56, offset: 82731}, + pos: position{line: 2603, col: 56, offset: 85645}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2459, col: 56, offset: 82731}, + pos: position{line: 2603, col: 56, offset: 85645}, val: "`", ignoreCase: false, want: "\"`\"", }, ¬Expr{ - pos: position{line: 2459, col: 60, offset: 82735}, + pos: position{line: 2603, col: 60, offset: 85649}, expr: &litMatcher{ - pos: position{line: 2459, col: 61, offset: 82736}, + pos: position{line: 2603, col: 61, offset: 85650}, val: "\"", ignoreCase: false, want: "\"\\\"\"", @@ -53635,58 +59638,58 @@ var g = &grammar{ }, { name: "QuotedTextInDoubleQuotedString", - pos: position{line: 2443, col: 1, offset: 82257}, + pos: position{line: 2587, col: 1, offset: 85171}, expr: &actionExpr{ - pos: position{line: 2444, col: 5, offset: 82295}, + pos: position{line: 2588, col: 5, offset: 85209}, run: (*parser).callonQuotedTextInDoubleQuotedString1, expr: &seqExpr{ - pos: position{line: 2444, col: 5, offset: 82295}, + pos: position{line: 2588, col: 5, offset: 85209}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 2444, col: 5, offset: 82295}, + pos: position{line: 2588, col: 5, offset: 85209}, label: "attributes", expr: &zeroOrOneExpr{ - pos: position{line: 2444, col: 16, offset: 82306}, + pos: position{line: 2588, col: 16, offset: 85220}, expr: &ruleRefExpr{ - pos: position{line: 2444, col: 17, offset: 82307}, + pos: position{line: 2588, col: 17, offset: 85221}, name: "LongHandAttributes", }, }, }, &labeledExpr{ - pos: position{line: 2445, col: 5, offset: 82333}, + pos: position{line: 2589, col: 5, offset: 85247}, label: "text", expr: &choiceExpr{ - pos: position{line: 2446, col: 9, offset: 82348}, + pos: position{line: 2590, col: 9, offset: 85262}, alternatives: []interface{}{ &ruleRefExpr{ - pos: position{line: 2446, col: 9, offset: 82348}, + pos: position{line: 2590, col: 9, offset: 85262}, name: "BoldText", }, &ruleRefExpr{ - pos: position{line: 2447, col: 11, offset: 82367}, + pos: position{line: 2591, col: 11, offset: 85281}, name: "ItalicText", }, &actionExpr{ - pos: position{line: 2448, col: 12, offset: 82389}, + pos: position{line: 2592, col: 12, offset: 85303}, run: (*parser).callonQuotedTextInDoubleQuotedString10, expr: &seqExpr{ - pos: position{line: 2448, col: 12, offset: 82389}, + pos: position{line: 2592, col: 12, offset: 85303}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 2448, col: 12, offset: 82389}, + pos: position{line: 2592, col: 12, offset: 85303}, expr: &litMatcher{ - pos: position{line: 2448, col: 13, offset: 82390}, + pos: position{line: 2592, col: 13, offset: 85304}, val: "`\"", ignoreCase: false, want: "\"`\\\"\"", }, }, &labeledExpr{ - pos: position{line: 2448, col: 19, offset: 82396}, + pos: position{line: 2592, col: 19, offset: 85310}, label: "element", expr: &ruleRefExpr{ - pos: position{line: 2448, col: 28, offset: 82405}, + pos: position{line: 2592, col: 28, offset: 85319}, name: "MonospaceText", }, }, @@ -53694,15 +59697,15 @@ var g = &grammar{ }, }, &ruleRefExpr{ - pos: position{line: 2449, col: 11, offset: 82454}, + pos: position{line: 2593, col: 11, offset: 85368}, name: "SubscriptText", }, &ruleRefExpr{ - pos: position{line: 2450, col: 11, offset: 82478}, + pos: position{line: 2594, col: 11, offset: 85392}, name: "SuperscriptText", }, &ruleRefExpr{ - pos: position{line: 2451, col: 11, offset: 82504}, + pos: position{line: 2595, col: 11, offset: 85418}, name: "MarkedText", }, }, @@ -53714,49 +59717,49 @@ var g = &grammar{ }, { name: "Substitutions", - pos: position{line: 2493, col: 1, offset: 83937}, + pos: position{line: 2637, col: 1, offset: 86851}, expr: &actionExpr{ - pos: position{line: 2494, col: 5, offset: 83991}, + pos: position{line: 2638, col: 5, offset: 86905}, run: (*parser).callonSubstitutions1, expr: &seqExpr{ - pos: position{line: 2494, col: 5, offset: 83991}, + pos: position{line: 2638, col: 5, offset: 86905}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 2494, col: 5, offset: 83991}, + pos: position{line: 2638, col: 5, offset: 86905}, label: "elements", expr: &oneOrMoreExpr{ - pos: position{line: 2494, col: 14, offset: 84000}, + pos: position{line: 2638, col: 14, offset: 86914}, expr: &actionExpr{ - pos: position{line: 2495, col: 9, offset: 84010}, + pos: position{line: 2639, col: 9, offset: 86924}, run: (*parser).callonSubstitutions5, expr: &seqExpr{ - pos: position{line: 2495, col: 9, offset: 84010}, + pos: position{line: 2639, col: 9, offset: 86924}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 2495, col: 9, offset: 84010}, + pos: position{line: 2639, col: 9, offset: 86924}, expr: ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, &labeledExpr{ - pos: position{line: 2496, col: 9, offset: 84023}, + pos: position{line: 2640, col: 9, offset: 86937}, label: "element", expr: &choiceExpr{ - pos: position{line: 2497, col: 13, offset: 84045}, + pos: position{line: 2641, col: 13, offset: 86959}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2832, col: 5, offset: 94176}, + pos: position{line: 2991, col: 5, offset: 97600}, run: (*parser).callonSubstitutions12, expr: &seqExpr{ - pos: position{line: 2832, col: 5, offset: 94176}, + pos: position{line: 2991, col: 5, offset: 97600}, exprs: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 2832, col: 5, offset: 94176}, + pos: position{line: 2991, col: 5, offset: 97600}, expr: &charClassMatcher{ - pos: position{line: 2832, col: 5, offset: 94176}, + pos: position{line: 2991, col: 5, offset: 97600}, val: "[,;!?0-9\\pL]", chars: []rune{',', ';', '!', '?'}, ranges: []rune{'0', '9'}, @@ -53766,13 +59769,13 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2833, col: 6, offset: 94226}, + pos: position{line: 2992, col: 6, offset: 97650}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonSubstitutions17, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -53780,37 +59783,37 @@ var g = &grammar{ }, }, &andExpr{ - pos: position{line: 2833, col: 14, offset: 94234}, + pos: position{line: 2992, col: 14, offset: 97658}, expr: &choiceExpr{ - pos: position{line: 2833, col: 16, offset: 94236}, + pos: position{line: 2992, col: 16, offset: 97660}, alternatives: []interface{}{ &charClassMatcher{ - pos: position{line: 2833, col: 16, offset: 94236}, + pos: position{line: 2992, col: 16, offset: 97660}, val: "[.�]", chars: []rune{'.', '�'}, ignoreCase: false, inverted: false, }, &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonSubstitutions22, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -53819,9 +59822,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -53833,10 +59836,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonSubstitutions29, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -53844,25 +59847,25 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonSubstitutions31, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -53871,27 +59874,27 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1122, col: 23, offset: 34991}, + pos: position{line: 1120, col: 23, offset: 34854}, run: (*parser).callonSubstitutions36, expr: &seqExpr{ - pos: position{line: 1122, col: 23, offset: 34991}, + pos: position{line: 1120, col: 23, offset: 34854}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1120, col: 32, offset: 34959}, + pos: position{line: 1118, col: 32, offset: 34822}, val: "�", ignoreCase: false, want: "\"�\"", }, &labeledExpr{ - pos: position{line: 1122, col: 51, offset: 35019}, + pos: position{line: 1120, col: 51, offset: 34882}, label: "ref", expr: &actionExpr{ - pos: position{line: 1122, col: 56, offset: 35024}, + pos: position{line: 1120, col: 56, offset: 34887}, run: (*parser).callonSubstitutions40, expr: &oneOrMoreExpr{ - pos: position{line: 1122, col: 56, offset: 35024}, + pos: position{line: 1120, col: 56, offset: 34887}, expr: &charClassMatcher{ - pos: position{line: 1122, col: 56, offset: 35024}, + pos: position{line: 1120, col: 56, offset: 34887}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -53901,7 +59904,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1120, col: 32, offset: 34959}, + pos: position{line: 1118, col: 32, offset: 34822}, val: "�", ignoreCase: false, want: "\"�\"", @@ -53910,28 +59913,28 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1130, col: 5, offset: 35437}, + pos: position{line: 1128, col: 5, offset: 35300}, run: (*parser).callonSubstitutions44, expr: &seqExpr{ - pos: position{line: 1130, col: 5, offset: 35437}, + pos: position{line: 1128, col: 5, offset: 35300}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 1130, col: 5, offset: 35437}, + pos: position{line: 1128, col: 5, offset: 35300}, run: (*parser).callonSubstitutions46, }, &litMatcher{ - pos: position{line: 1133, col: 5, offset: 35539}, + pos: position{line: 1131, col: 5, offset: 35402}, val: "+", ignoreCase: false, want: "\"+\"", }, &zeroOrMoreExpr{ - pos: position{line: 1133, col: 9, offset: 35543}, + pos: position{line: 1131, col: 9, offset: 35406}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonSubstitutions49, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -53940,30 +59943,30 @@ var g = &grammar{ }, }, &andExpr{ - pos: position{line: 1133, col: 16, offset: 35550}, + pos: position{line: 1131, col: 16, offset: 35413}, expr: &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonSubstitutions53, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -53972,9 +59975,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -53984,19 +59987,19 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2838, col: 16, offset: 94357}, + pos: position{line: 2997, col: 16, offset: 97781}, run: (*parser).callonSubstitutions60, expr: &seqExpr{ - pos: position{line: 2838, col: 16, offset: 94357}, + pos: position{line: 2997, col: 16, offset: 97781}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 2838, col: 16, offset: 94357}, + pos: position{line: 2997, col: 16, offset: 97781}, label: "char", expr: &actionExpr{ - pos: position{line: 2845, col: 25, offset: 94548}, + pos: position{line: 3004, col: 25, offset: 97972}, run: (*parser).callonSubstitutions63, expr: &charClassMatcher{ - pos: position{line: 2845, col: 25, offset: 94548}, + pos: position{line: 3004, col: 25, offset: 97972}, val: "[.,;?!]", chars: []rune{'.', ',', ';', '?', '!'}, ignoreCase: false, @@ -54005,15 +60008,15 @@ var g = &grammar{ }, }, &andExpr{ - pos: position{line: 2838, col: 44, offset: 94385}, + pos: position{line: 2997, col: 44, offset: 97809}, expr: &choiceExpr{ - pos: position{line: 2838, col: 46, offset: 94387}, + pos: position{line: 2997, col: 46, offset: 97811}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonSubstitutions67, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -54021,25 +60024,25 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonSubstitutions69, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -54048,9 +60051,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -54060,65 +60063,65 @@ var g = &grammar{ }, }, &ruleRefExpr{ - pos: position{line: 2503, col: 15, offset: 84284}, + pos: position{line: 2647, col: 15, offset: 87198}, name: "Quote", }, &ruleRefExpr{ - pos: position{line: 2504, col: 15, offset: 84304}, + pos: position{line: 2648, col: 15, offset: 87218}, name: "InlinePassthrough", }, &ruleRefExpr{ - pos: position{line: 2505, col: 15, offset: 84336}, + pos: position{line: 2649, col: 15, offset: 87250}, name: "InlineMacro", }, &ruleRefExpr{ - pos: position{line: 2506, col: 15, offset: 84425}, + pos: position{line: 2650, col: 15, offset: 87339}, name: "Callout", }, &actionExpr{ - pos: position{line: 2599, col: 5, offset: 86909}, + pos: position{line: 2743, col: 5, offset: 89823}, run: (*parser).callonSubstitutions80, expr: &seqExpr{ - pos: position{line: 2599, col: 5, offset: 86909}, + pos: position{line: 2743, col: 5, offset: 89823}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 2599, col: 5, offset: 86909}, + pos: position{line: 2743, col: 5, offset: 89823}, run: (*parser).callonSubstitutions82, }, &labeledExpr{ - pos: position{line: 2602, col: 5, offset: 86985}, + pos: position{line: 2746, col: 5, offset: 89899}, label: "element", expr: &choiceExpr{ - pos: position{line: 2604, col: 9, offset: 87083}, + pos: position{line: 2748, col: 9, offset: 89997}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2604, col: 9, offset: 87083}, + pos: position{line: 2748, col: 9, offset: 89997}, run: (*parser).callonSubstitutions85, expr: &choiceExpr{ - pos: position{line: 694, col: 27, offset: 22498}, + pos: position{line: 692, col: 27, offset: 22361}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 694, col: 27, offset: 22498}, + pos: position{line: 692, col: 27, offset: 22361}, run: (*parser).callonSubstitutions87, expr: &seqExpr{ - pos: position{line: 694, col: 27, offset: 22498}, + pos: position{line: 692, col: 27, offset: 22361}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 694, col: 27, offset: 22498}, + pos: position{line: 692, col: 27, offset: 22361}, val: "<<", ignoreCase: false, want: "\"<<\"", }, &labeledExpr{ - pos: position{line: 694, col: 32, offset: 22503}, + pos: position{line: 692, col: 32, offset: 22366}, label: "id", expr: &actionExpr{ - pos: position{line: 2884, col: 7, offset: 95839}, + pos: position{line: 3043, col: 7, offset: 99263}, run: (*parser).callonSubstitutions91, expr: &oneOrMoreExpr{ - pos: position{line: 2884, col: 7, offset: 95839}, + pos: position{line: 3043, col: 7, offset: 99263}, expr: &charClassMatcher{ - pos: position{line: 2884, col: 7, offset: 95839}, + pos: position{line: 3043, col: 7, offset: 99263}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -54128,12 +60131,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 694, col: 40, offset: 22511}, + pos: position{line: 692, col: 40, offset: 22374}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonSubstitutions95, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -54142,27 +60145,27 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 694, col: 47, offset: 22518}, + pos: position{line: 692, col: 47, offset: 22381}, val: ",", ignoreCase: false, want: "\",\"", }, &labeledExpr{ - pos: position{line: 694, col: 51, offset: 22522}, + pos: position{line: 692, col: 51, offset: 22385}, label: "label", expr: &oneOrMoreExpr{ - pos: position{line: 704, col: 24, offset: 22923}, + pos: position{line: 702, col: 24, offset: 22786}, expr: &choiceExpr{ - pos: position{line: 705, col: 5, offset: 22929}, + pos: position{line: 703, col: 5, offset: 22792}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 705, col: 6, offset: 22930}, + pos: position{line: 703, col: 6, offset: 22793}, run: (*parser).callonSubstitutions101, expr: &seqExpr{ - pos: position{line: 705, col: 6, offset: 22930}, + pos: position{line: 703, col: 6, offset: 22793}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 705, col: 6, offset: 22930}, + pos: position{line: 703, col: 6, offset: 22793}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -54170,9 +60173,9 @@ var g = &grammar{ inverted: false, }, &oneOrMoreExpr{ - pos: position{line: 705, col: 14, offset: 22938}, + pos: position{line: 703, col: 14, offset: 22801}, expr: &charClassMatcher{ - pos: position{line: 705, col: 14, offset: 22938}, + pos: position{line: 703, col: 14, offset: 22801}, val: "[^\\r\\n{<>]", chars: []rune{'\r', '\n', '{', '<', '>'}, ignoreCase: false, @@ -54183,28 +60186,28 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 659, col: 5, offset: 21191}, + pos: position{line: 650, col: 5, offset: 20786}, run: (*parser).callonSubstitutions106, expr: &seqExpr{ - pos: position{line: 659, col: 5, offset: 21191}, + pos: position{line: 650, col: 5, offset: 20786}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 659, col: 5, offset: 21191}, - val: "{", + pos: position{line: 650, col: 5, offset: 20786}, + val: "\\{", ignoreCase: false, - want: "\"{\"", + want: "\"\\\\{\"", }, &labeledExpr{ - pos: position{line: 659, col: 9, offset: 21195}, + pos: position{line: 650, col: 13, offset: 20794}, label: "name", expr: &actionExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, run: (*parser).callonSubstitutions110, expr: &seqExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -54213,9 +60216,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 332, col: 28, offset: 10403}, + pos: position{line: 324, col: 28, offset: 10064}, expr: &charClassMatcher{ - pos: position{line: 332, col: 29, offset: 10404}, + pos: position{line: 324, col: 29, offset: 10065}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -54229,7 +60232,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 659, col: 28, offset: 21214}, + pos: position{line: 650, col: 32, offset: 20813}, val: "}", ignoreCase: false, want: "\"}\"", @@ -54238,10 +60241,65 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 709, col: 8, offset: 23164}, + pos: position{line: 657, col: 5, offset: 21054}, run: (*parser).callonSubstitutions116, + expr: &seqExpr{ + pos: position{line: 657, col: 5, offset: 21054}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 657, col: 5, offset: 21054}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + &labeledExpr{ + pos: position{line: 657, col: 9, offset: 21058}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + run: (*parser).callonSubstitutions120, + expr: &seqExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 324, col: 18, offset: 10054}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 324, col: 28, offset: 10064}, + expr: &charClassMatcher{ + pos: position{line: 324, col: 29, offset: 10065}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 657, col: 28, offset: 21077}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 707, col: 8, offset: 23027}, + run: (*parser).callonSubstitutions126, expr: &litMatcher{ - pos: position{line: 709, col: 8, offset: 23164}, + pos: position{line: 707, col: 8, offset: 23027}, val: "{", ignoreCase: false, want: "\"{\"", @@ -54252,7 +60310,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 694, col: 79, offset: 22550}, + pos: position{line: 692, col: 79, offset: 22413}, val: ">>", ignoreCase: false, want: "\">>\"", @@ -54261,27 +60319,27 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 696, col: 9, offset: 22623}, - run: (*parser).callonSubstitutions119, + pos: position{line: 694, col: 9, offset: 22486}, + run: (*parser).callonSubstitutions129, expr: &seqExpr{ - pos: position{line: 696, col: 9, offset: 22623}, + pos: position{line: 694, col: 9, offset: 22486}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 696, col: 9, offset: 22623}, + pos: position{line: 694, col: 9, offset: 22486}, val: "<<", ignoreCase: false, want: "\"<<\"", }, &labeledExpr{ - pos: position{line: 696, col: 14, offset: 22628}, + pos: position{line: 694, col: 14, offset: 22491}, label: "id", expr: &actionExpr{ - pos: position{line: 2884, col: 7, offset: 95839}, - run: (*parser).callonSubstitutions123, + pos: position{line: 3043, col: 7, offset: 99263}, + run: (*parser).callonSubstitutions133, expr: &oneOrMoreExpr{ - pos: position{line: 2884, col: 7, offset: 95839}, + pos: position{line: 3043, col: 7, offset: 99263}, expr: &charClassMatcher{ - pos: position{line: 2884, col: 7, offset: 95839}, + pos: position{line: 3043, col: 7, offset: 99263}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -54291,7 +60349,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 696, col: 22, offset: 22636}, + pos: position{line: 694, col: 22, offset: 22499}, val: ">>", ignoreCase: false, want: "\">>\"", @@ -54303,10 +60361,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2607, col: 11, offset: 87187}, - run: (*parser).callonSubstitutions127, + pos: position{line: 2751, col: 11, offset: 90101}, + run: (*parser).callonSubstitutions137, expr: &charClassMatcher{ - pos: position{line: 2607, col: 12, offset: 87188}, + pos: position{line: 2751, col: 12, offset: 90102}, val: "[<>&]", chars: []rune{'<', '>', '&'}, ignoreCase: false, @@ -54320,44 +60378,44 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 651, col: 5, offset: 21000}, - run: (*parser).callonSubstitutions129, + pos: position{line: 641, col: 5, offset: 20579}, + run: (*parser).callonSubstitutions139, expr: &seqExpr{ - pos: position{line: 651, col: 5, offset: 21000}, + pos: position{line: 641, col: 5, offset: 20579}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 651, col: 5, offset: 21000}, - run: (*parser).callonSubstitutions131, + pos: position{line: 641, col: 5, offset: 20579}, + run: (*parser).callonSubstitutions141, }, &labeledExpr{ - pos: position{line: 654, col: 5, offset: 21069}, + pos: position{line: 644, col: 5, offset: 20648}, label: "element", expr: &choiceExpr{ - pos: position{line: 654, col: 14, offset: 21078}, + pos: position{line: 644, col: 14, offset: 20657}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 666, col: 25, offset: 21447}, - run: (*parser).callonSubstitutions134, + pos: position{line: 664, col: 25, offset: 21310}, + run: (*parser).callonSubstitutions144, expr: &seqExpr{ - pos: position{line: 666, col: 25, offset: 21447}, + pos: position{line: 664, col: 25, offset: 21310}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 666, col: 25, offset: 21447}, + pos: position{line: 664, col: 25, offset: 21310}, val: "{counter:", ignoreCase: false, want: "\"{counter:\"", }, &labeledExpr{ - pos: position{line: 666, col: 37, offset: 21459}, + pos: position{line: 664, col: 37, offset: 21322}, label: "name", expr: &actionExpr{ - pos: position{line: 332, col: 18, offset: 10393}, - run: (*parser).callonSubstitutions138, + pos: position{line: 324, col: 18, offset: 10054}, + run: (*parser).callonSubstitutions148, expr: &seqExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -54366,9 +60424,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 332, col: 28, offset: 10403}, + pos: position{line: 324, col: 28, offset: 10064}, expr: &charClassMatcher{ - pos: position{line: 332, col: 29, offset: 10404}, + pos: position{line: 324, col: 29, offset: 10065}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -54382,33 +60440,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 666, col: 56, offset: 21478}, + pos: position{line: 664, col: 56, offset: 21341}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 666, col: 62, offset: 21484}, + pos: position{line: 664, col: 62, offset: 21347}, expr: &actionExpr{ - pos: position{line: 674, col: 17, offset: 21779}, - run: (*parser).callonSubstitutions145, + pos: position{line: 672, col: 17, offset: 21642}, + run: (*parser).callonSubstitutions155, expr: &seqExpr{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 674, col: 21, offset: 21783}, + pos: position{line: 672, col: 21, offset: 21646}, label: "start", expr: &choiceExpr{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 674, col: 28, offset: 21790}, - run: (*parser).callonSubstitutions150, + pos: position{line: 672, col: 28, offset: 21653}, + run: (*parser).callonSubstitutions160, expr: &charClassMatcher{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -54416,12 +60474,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 676, col: 9, offset: 21844}, - run: (*parser).callonSubstitutions152, + pos: position{line: 674, col: 9, offset: 21707}, + run: (*parser).callonSubstitutions162, expr: &oneOrMoreExpr{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, expr: &charClassMatcher{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -54438,7 +60496,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 666, col: 78, offset: 21500}, + pos: position{line: 664, col: 78, offset: 21363}, val: "}", ignoreCase: false, want: "\"}\"", @@ -54447,28 +60505,28 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 670, col: 25, offset: 21618}, - run: (*parser).callonSubstitutions156, + pos: position{line: 668, col: 25, offset: 21481}, + run: (*parser).callonSubstitutions166, expr: &seqExpr{ - pos: position{line: 670, col: 25, offset: 21618}, + pos: position{line: 668, col: 25, offset: 21481}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 670, col: 25, offset: 21618}, + pos: position{line: 668, col: 25, offset: 21481}, val: "{counter2:", ignoreCase: false, want: "\"{counter2:\"", }, &labeledExpr{ - pos: position{line: 670, col: 38, offset: 21631}, + pos: position{line: 668, col: 38, offset: 21494}, label: "name", expr: &actionExpr{ - pos: position{line: 332, col: 18, offset: 10393}, - run: (*parser).callonSubstitutions160, + pos: position{line: 324, col: 18, offset: 10054}, + run: (*parser).callonSubstitutions170, expr: &seqExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -54477,9 +60535,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 332, col: 28, offset: 10403}, + pos: position{line: 324, col: 28, offset: 10064}, expr: &charClassMatcher{ - pos: position{line: 332, col: 29, offset: 10404}, + pos: position{line: 324, col: 29, offset: 10065}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -54493,33 +60551,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 670, col: 57, offset: 21650}, + pos: position{line: 668, col: 57, offset: 21513}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 670, col: 63, offset: 21656}, + pos: position{line: 668, col: 63, offset: 21519}, expr: &actionExpr{ - pos: position{line: 674, col: 17, offset: 21779}, - run: (*parser).callonSubstitutions167, + pos: position{line: 672, col: 17, offset: 21642}, + run: (*parser).callonSubstitutions177, expr: &seqExpr{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 674, col: 21, offset: 21783}, + pos: position{line: 672, col: 21, offset: 21646}, label: "start", expr: &choiceExpr{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 674, col: 28, offset: 21790}, - run: (*parser).callonSubstitutions172, + pos: position{line: 672, col: 28, offset: 21653}, + run: (*parser).callonSubstitutions182, expr: &charClassMatcher{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -54527,12 +60585,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 676, col: 9, offset: 21844}, - run: (*parser).callonSubstitutions174, + pos: position{line: 674, col: 9, offset: 21707}, + run: (*parser).callonSubstitutions184, expr: &oneOrMoreExpr{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, expr: &charClassMatcher{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -54549,7 +60607,62 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 670, col: 79, offset: 21672}, + pos: position{line: 668, col: 79, offset: 21535}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 650, col: 5, offset: 20786}, + run: (*parser).callonSubstitutions188, + expr: &seqExpr{ + pos: position{line: 650, col: 5, offset: 20786}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 650, col: 5, offset: 20786}, + val: "\\{", + ignoreCase: false, + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 650, col: 13, offset: 20794}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + run: (*parser).callonSubstitutions192, + expr: &seqExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 324, col: 18, offset: 10054}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 324, col: 28, offset: 10064}, + expr: &charClassMatcher{ + pos: position{line: 324, col: 29, offset: 10065}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 650, col: 32, offset: 20813}, val: "}", ignoreCase: false, want: "\"}\"", @@ -54558,28 +60671,28 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 659, col: 5, offset: 21191}, - run: (*parser).callonSubstitutions178, + pos: position{line: 657, col: 5, offset: 21054}, + run: (*parser).callonSubstitutions198, expr: &seqExpr{ - pos: position{line: 659, col: 5, offset: 21191}, + pos: position{line: 657, col: 5, offset: 21054}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 659, col: 5, offset: 21191}, + pos: position{line: 657, col: 5, offset: 21054}, val: "{", ignoreCase: false, want: "\"{\"", }, &labeledExpr{ - pos: position{line: 659, col: 9, offset: 21195}, + pos: position{line: 657, col: 9, offset: 21058}, label: "name", expr: &actionExpr{ - pos: position{line: 332, col: 18, offset: 10393}, - run: (*parser).callonSubstitutions182, + pos: position{line: 324, col: 18, offset: 10054}, + run: (*parser).callonSubstitutions202, expr: &seqExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -54588,9 +60701,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 332, col: 28, offset: 10403}, + pos: position{line: 324, col: 28, offset: 10064}, expr: &charClassMatcher{ - pos: position{line: 332, col: 29, offset: 10404}, + pos: position{line: 324, col: 29, offset: 10065}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -54604,7 +60717,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 659, col: 28, offset: 21214}, + pos: position{line: 657, col: 28, offset: 21077}, val: "}", ignoreCase: false, want: "\"}\"", @@ -54619,79 +60732,149 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2588, col: 5, offset: 86683}, - run: (*parser).callonSubstitutions188, + pos: position{line: 2732, col: 5, offset: 89597}, + run: (*parser).callonSubstitutions208, expr: &seqExpr{ - pos: position{line: 2588, col: 5, offset: 86683}, + pos: position{line: 2732, col: 5, offset: 89597}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 2588, col: 5, offset: 86683}, - run: (*parser).callonSubstitutions190, + pos: position{line: 2732, col: 5, offset: 89597}, + run: (*parser).callonSubstitutions210, }, &labeledExpr{ - pos: position{line: 2591, col: 5, offset: 86754}, + pos: position{line: 2735, col: 5, offset: 89668}, label: "element", expr: &choiceExpr{ - pos: position{line: 2630, col: 11, offset: 88061}, + pos: position{line: 2776, col: 5, offset: 90995}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2632, col: 15, offset: 88155}, - run: (*parser).callonSubstitutions193, + pos: position{line: 2776, col: 5, offset: 90995}, + run: (*parser).callonSubstitutions213, + expr: &seqExpr{ + pos: position{line: 2776, col: 5, offset: 90995}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2776, col: 5, offset: 90995}, + val: "\\", + ignoreCase: false, + want: "\"\\\\\"", + }, + &choiceExpr{ + pos: position{line: 2776, col: 10, offset: 91000}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2784, col: 15, offset: 91276}, + run: (*parser).callonSubstitutions217, + expr: &litMatcher{ + pos: position{line: 2784, col: 15, offset: 91276}, + val: "`'", + ignoreCase: false, + want: "\"`'\"", + }, + }, + &actionExpr{ + pos: position{line: 2790, col: 14, offset: 91391}, + run: (*parser).callonSubstitutions219, + expr: &litMatcher{ + pos: position{line: 2790, col: 14, offset: 91391}, + val: "(C)", + ignoreCase: false, + want: "\"(C)\"", + }, + }, + &actionExpr{ + pos: position{line: 2794, col: 14, offset: 91467}, + run: (*parser).callonSubstitutions221, + expr: &litMatcher{ + pos: position{line: 2794, col: 14, offset: 91467}, + val: "(TM)", + ignoreCase: false, + want: "\"(TM)\"", + }, + }, + &actionExpr{ + pos: position{line: 2798, col: 15, offset: 91545}, + run: (*parser).callonSubstitutions223, + expr: &litMatcher{ + pos: position{line: 2798, col: 15, offset: 91545}, + val: "(R)", + ignoreCase: false, + want: "\"(R)\"", + }, + }, + &actionExpr{ + pos: position{line: 2802, col: 13, offset: 91620}, + run: (*parser).callonSubstitutions225, + expr: &litMatcher{ + pos: position{line: 2802, col: 13, offset: 91620}, + val: "...", + ignoreCase: false, + want: "\"...\"", + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2784, col: 15, offset: 91276}, + run: (*parser).callonSubstitutions227, expr: &litMatcher{ - pos: position{line: 2632, col: 15, offset: 88155}, + pos: position{line: 2784, col: 15, offset: 91276}, val: "`'", ignoreCase: false, want: "\"`'\"", }, }, &actionExpr{ - pos: position{line: 2638, col: 14, offset: 88270}, - run: (*parser).callonSubstitutions195, + pos: position{line: 2790, col: 14, offset: 91391}, + run: (*parser).callonSubstitutions229, expr: &litMatcher{ - pos: position{line: 2638, col: 14, offset: 88270}, + pos: position{line: 2790, col: 14, offset: 91391}, val: "(C)", ignoreCase: false, want: "\"(C)\"", }, }, &actionExpr{ - pos: position{line: 2642, col: 14, offset: 88346}, - run: (*parser).callonSubstitutions197, + pos: position{line: 2794, col: 14, offset: 91467}, + run: (*parser).callonSubstitutions231, expr: &litMatcher{ - pos: position{line: 2642, col: 14, offset: 88346}, + pos: position{line: 2794, col: 14, offset: 91467}, val: "(TM)", ignoreCase: false, want: "\"(TM)\"", }, }, &actionExpr{ - pos: position{line: 2646, col: 15, offset: 88424}, - run: (*parser).callonSubstitutions199, + pos: position{line: 2798, col: 15, offset: 91545}, + run: (*parser).callonSubstitutions233, expr: &litMatcher{ - pos: position{line: 2646, col: 15, offset: 88424}, + pos: position{line: 2798, col: 15, offset: 91545}, val: "(R)", ignoreCase: false, want: "\"(R)\"", }, }, &actionExpr{ - pos: position{line: 2650, col: 13, offset: 88499}, - run: (*parser).callonSubstitutions201, + pos: position{line: 2802, col: 13, offset: 91620}, + run: (*parser).callonSubstitutions235, expr: &litMatcher{ - pos: position{line: 2650, col: 13, offset: 88499}, + pos: position{line: 2802, col: 13, offset: 91620}, val: "...", ignoreCase: false, want: "\"...\"", }, }, &actionExpr{ - pos: position{line: 2658, col: 22, offset: 88805}, - run: (*parser).callonSubstitutions203, + pos: position{line: 2811, col: 5, offset: 91944}, + run: (*parser).callonSubstitutions237, expr: &seqExpr{ - pos: position{line: 2658, col: 22, offset: 88805}, + pos: position{line: 2811, col: 5, offset: 91944}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 2813, col: 13, offset: 93503}, + pos: position{line: 2972, col: 13, offset: 96927}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -54699,15 +60882,48 @@ var g = &grammar{ inverted: false, }, &litMatcher{ - pos: position{line: 2658, col: 31, offset: 88814}, + pos: position{line: 2811, col: 14, offset: 91953}, + val: "\\'", + ignoreCase: false, + want: "\"\\\\'\"", + }, + &andExpr{ + pos: position{line: 2811, col: 19, offset: 91958}, + expr: &charClassMatcher{ + pos: position{line: 2811, col: 20, offset: 91959}, + val: "[\\pL]", + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2817, col: 5, offset: 92190}, + run: (*parser).callonSubstitutions243, + expr: &seqExpr{ + pos: position{line: 2817, col: 5, offset: 92190}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 2972, col: 13, offset: 96927}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &litMatcher{ + pos: position{line: 2817, col: 14, offset: 92199}, val: "'", ignoreCase: false, want: "\"'\"", }, &andExpr{ - pos: position{line: 2658, col: 35, offset: 88818}, + pos: position{line: 2817, col: 18, offset: 92203}, expr: &charClassMatcher{ - pos: position{line: 2658, col: 36, offset: 88819}, + pos: position{line: 2817, col: 19, offset: 92204}, val: "[\\pL]", classes: []*unicode.RangeTable{rangeTable("L")}, ignoreCase: false, @@ -54724,10 +60940,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2851, col: 12, offset: 94722}, - run: (*parser).callonSubstitutions209, + pos: position{line: 3010, col: 12, offset: 98146}, + run: (*parser).callonSubstitutions249, expr: &anyMatcher{ - line: 2851, col: 12, offset: 94722, + line: 3010, col: 12, offset: 98146, }, }, }, @@ -54739,9 +60955,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -54750,28 +60966,28 @@ var g = &grammar{ }, { name: "HeaderGroup", - pos: position{line: 2519, col: 1, offset: 84859}, + pos: position{line: 2663, col: 1, offset: 87773}, expr: &actionExpr{ - pos: position{line: 2520, col: 5, offset: 84879}, + pos: position{line: 2664, col: 5, offset: 87793}, run: (*parser).callonHeaderGroup1, expr: &seqExpr{ - pos: position{line: 2520, col: 5, offset: 84879}, + pos: position{line: 2664, col: 5, offset: 87793}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 2520, col: 5, offset: 84879}, + pos: position{line: 2664, col: 5, offset: 87793}, label: "elements", expr: &oneOrMoreExpr{ - pos: position{line: 2520, col: 14, offset: 84888}, + pos: position{line: 2664, col: 14, offset: 87802}, expr: &ruleRefExpr{ - pos: position{line: 2520, col: 15, offset: 84889}, + pos: position{line: 2664, col: 15, offset: 87803}, name: "HeaderGroupElement", }, }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -54780,38 +60996,38 @@ var g = &grammar{ }, { name: "HeaderGroupElement", - pos: position{line: 2524, col: 1, offset: 84973}, + pos: position{line: 2668, col: 1, offset: 87887}, expr: &actionExpr{ - pos: position{line: 2525, col: 5, offset: 84999}, + pos: position{line: 2669, col: 5, offset: 87913}, run: (*parser).callonHeaderGroupElement1, expr: &seqExpr{ - pos: position{line: 2525, col: 5, offset: 84999}, + pos: position{line: 2669, col: 5, offset: 87913}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 2525, col: 5, offset: 84999}, + pos: position{line: 2669, col: 5, offset: 87913}, expr: ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, &labeledExpr{ - pos: position{line: 2526, col: 5, offset: 85008}, + pos: position{line: 2670, col: 5, offset: 87922}, label: "element", expr: &choiceExpr{ - pos: position{line: 2527, col: 9, offset: 85026}, + pos: position{line: 2671, col: 9, offset: 87940}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2825, col: 5, offset: 93958}, + pos: position{line: 2984, col: 5, offset: 97382}, run: (*parser).callonHeaderGroupElement8, expr: &seqExpr{ - pos: position{line: 2825, col: 5, offset: 93958}, + pos: position{line: 2984, col: 5, offset: 97382}, exprs: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 2825, col: 5, offset: 93958}, + pos: position{line: 2984, col: 5, offset: 97382}, expr: &charClassMatcher{ - pos: position{line: 2825, col: 5, offset: 93958}, + pos: position{line: 2984, col: 5, offset: 97382}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -54820,21 +61036,21 @@ var g = &grammar{ }, }, &andExpr{ - pos: position{line: 2825, col: 15, offset: 93968}, + pos: position{line: 2984, col: 15, offset: 97392}, expr: &choiceExpr{ - pos: position{line: 2825, col: 17, offset: 93970}, + pos: position{line: 2984, col: 17, offset: 97394}, alternatives: []interface{}{ &charClassMatcher{ - pos: position{line: 2825, col: 17, offset: 93970}, + pos: position{line: 2984, col: 17, offset: 97394}, val: "[\\r\\n ,]]", chars: []rune{'\r', '\n', ' ', ',', ']'}, ignoreCase: false, inverted: false, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -54844,15 +61060,15 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2827, col: 9, offset: 94052}, + pos: position{line: 2986, col: 9, offset: 97476}, run: (*parser).callonHeaderGroupElement17, expr: &seqExpr{ - pos: position{line: 2827, col: 9, offset: 94052}, + pos: position{line: 2986, col: 9, offset: 97476}, exprs: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 2827, col: 9, offset: 94052}, + pos: position{line: 2986, col: 9, offset: 97476}, expr: &charClassMatcher{ - pos: position{line: 2827, col: 9, offset: 94052}, + pos: position{line: 2986, col: 9, offset: 97476}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -54861,21 +61077,21 @@ var g = &grammar{ }, }, &oneOrMoreExpr{ - pos: position{line: 2827, col: 19, offset: 94062}, + pos: position{line: 2986, col: 19, offset: 97486}, expr: &seqExpr{ - pos: position{line: 2827, col: 20, offset: 94063}, + pos: position{line: 2986, col: 20, offset: 97487}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 2827, col: 20, offset: 94063}, + pos: position{line: 2986, col: 20, offset: 97487}, val: "[=*_`]", chars: []rune{'=', '*', '_', '`'}, ignoreCase: false, inverted: false, }, &oneOrMoreExpr{ - pos: position{line: 2827, col: 27, offset: 94070}, + pos: position{line: 2986, col: 27, offset: 97494}, expr: &charClassMatcher{ - pos: position{line: 2827, col: 27, offset: 94070}, + pos: position{line: 2986, col: 27, offset: 97494}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -54890,18 +61106,18 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2528, col: 12, offset: 85042}, + pos: position{line: 2672, col: 12, offset: 87956}, run: (*parser).callonHeaderGroupElement26, expr: &seqExpr{ - pos: position{line: 2528, col: 12, offset: 85042}, + pos: position{line: 2672, col: 12, offset: 87956}, exprs: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 2528, col: 12, offset: 85042}, + pos: position{line: 2672, col: 12, offset: 87956}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonHeaderGroupElement29, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -54910,41 +61126,41 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 2528, col: 19, offset: 85049}, + pos: position{line: 2672, col: 19, offset: 87963}, label: "id", expr: &actionExpr{ - pos: position{line: 416, col: 4, offset: 12902}, + pos: position{line: 408, col: 5, offset: 12564}, run: (*parser).callonHeaderGroupElement32, expr: &seqExpr{ - pos: position{line: 416, col: 4, offset: 12902}, + pos: position{line: 408, col: 5, offset: 12564}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 416, col: 4, offset: 12902}, + pos: position{line: 408, col: 5, offset: 12564}, val: "[[", ignoreCase: false, want: "\"[[\"", }, &labeledExpr{ - pos: position{line: 417, col: 5, offset: 12912}, + pos: position{line: 409, col: 5, offset: 12574}, label: "id", expr: &actionExpr{ - pos: position{line: 418, col: 9, offset: 12925}, + pos: position{line: 410, col: 9, offset: 12587}, run: (*parser).callonHeaderGroupElement36, expr: &labeledExpr{ - pos: position{line: 418, col: 9, offset: 12925}, + pos: position{line: 410, col: 9, offset: 12587}, label: "elements", expr: &oneOrMoreExpr{ - pos: position{line: 418, col: 18, offset: 12934}, + pos: position{line: 410, col: 18, offset: 12596}, expr: &choiceExpr{ - pos: position{line: 419, col: 13, offset: 12948}, + pos: position{line: 411, col: 13, offset: 12610}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 419, col: 14, offset: 12949}, + pos: position{line: 411, col: 14, offset: 12611}, run: (*parser).callonHeaderGroupElement40, expr: &oneOrMoreExpr{ - pos: position{line: 419, col: 14, offset: 12949}, + pos: position{line: 411, col: 14, offset: 12611}, expr: &charClassMatcher{ - pos: position{line: 419, col: 14, offset: 12949}, + pos: position{line: 411, col: 14, offset: 12611}, val: "[^=\\r\\n�{]]", chars: []rune{'=', '\r', '\n', '�', '{', ']'}, ignoreCase: false, @@ -54953,27 +61169,27 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1122, col: 23, offset: 34991}, + pos: position{line: 1120, col: 23, offset: 34854}, run: (*parser).callonHeaderGroupElement43, expr: &seqExpr{ - pos: position{line: 1122, col: 23, offset: 34991}, + pos: position{line: 1120, col: 23, offset: 34854}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1120, col: 32, offset: 34959}, + pos: position{line: 1118, col: 32, offset: 34822}, val: "�", ignoreCase: false, want: "\"�\"", }, &labeledExpr{ - pos: position{line: 1122, col: 51, offset: 35019}, + pos: position{line: 1120, col: 51, offset: 34882}, label: "ref", expr: &actionExpr{ - pos: position{line: 1122, col: 56, offset: 35024}, + pos: position{line: 1120, col: 56, offset: 34887}, run: (*parser).callonHeaderGroupElement47, expr: &oneOrMoreExpr{ - pos: position{line: 1122, col: 56, offset: 35024}, + pos: position{line: 1120, col: 56, offset: 34887}, expr: &charClassMatcher{ - pos: position{line: 1122, col: 56, offset: 35024}, + pos: position{line: 1120, col: 56, offset: 34887}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -54983,7 +61199,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1120, col: 32, offset: 34959}, + pos: position{line: 1118, col: 32, offset: 34822}, val: "�", ignoreCase: false, want: "\"�\"", @@ -54992,44 +61208,44 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 651, col: 5, offset: 21000}, + pos: position{line: 641, col: 5, offset: 20579}, run: (*parser).callonHeaderGroupElement51, expr: &seqExpr{ - pos: position{line: 651, col: 5, offset: 21000}, + pos: position{line: 641, col: 5, offset: 20579}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 651, col: 5, offset: 21000}, + pos: position{line: 641, col: 5, offset: 20579}, run: (*parser).callonHeaderGroupElement53, }, &labeledExpr{ - pos: position{line: 654, col: 5, offset: 21069}, + pos: position{line: 644, col: 5, offset: 20648}, label: "element", expr: &choiceExpr{ - pos: position{line: 654, col: 14, offset: 21078}, + pos: position{line: 644, col: 14, offset: 20657}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 666, col: 25, offset: 21447}, + pos: position{line: 664, col: 25, offset: 21310}, run: (*parser).callonHeaderGroupElement56, expr: &seqExpr{ - pos: position{line: 666, col: 25, offset: 21447}, + pos: position{line: 664, col: 25, offset: 21310}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 666, col: 25, offset: 21447}, + pos: position{line: 664, col: 25, offset: 21310}, val: "{counter:", ignoreCase: false, want: "\"{counter:\"", }, &labeledExpr{ - pos: position{line: 666, col: 37, offset: 21459}, + pos: position{line: 664, col: 37, offset: 21322}, label: "name", expr: &actionExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, run: (*parser).callonHeaderGroupElement60, expr: &seqExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -55038,9 +61254,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 332, col: 28, offset: 10403}, + pos: position{line: 324, col: 28, offset: 10064}, expr: &charClassMatcher{ - pos: position{line: 332, col: 29, offset: 10404}, + pos: position{line: 324, col: 29, offset: 10065}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -55054,33 +61270,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 666, col: 56, offset: 21478}, + pos: position{line: 664, col: 56, offset: 21341}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 666, col: 62, offset: 21484}, + pos: position{line: 664, col: 62, offset: 21347}, expr: &actionExpr{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, run: (*parser).callonHeaderGroupElement67, expr: &seqExpr{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 674, col: 21, offset: 21783}, + pos: position{line: 672, col: 21, offset: 21646}, label: "start", expr: &choiceExpr{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, run: (*parser).callonHeaderGroupElement72, expr: &charClassMatcher{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -55088,12 +61304,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, run: (*parser).callonHeaderGroupElement74, expr: &oneOrMoreExpr{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, expr: &charClassMatcher{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -55110,7 +61326,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 666, col: 78, offset: 21500}, + pos: position{line: 664, col: 78, offset: 21363}, val: "}", ignoreCase: false, want: "\"}\"", @@ -55119,28 +61335,28 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 670, col: 25, offset: 21618}, + pos: position{line: 668, col: 25, offset: 21481}, run: (*parser).callonHeaderGroupElement78, expr: &seqExpr{ - pos: position{line: 670, col: 25, offset: 21618}, + pos: position{line: 668, col: 25, offset: 21481}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 670, col: 25, offset: 21618}, + pos: position{line: 668, col: 25, offset: 21481}, val: "{counter2:", ignoreCase: false, want: "\"{counter2:\"", }, &labeledExpr{ - pos: position{line: 670, col: 38, offset: 21631}, + pos: position{line: 668, col: 38, offset: 21494}, label: "name", expr: &actionExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, run: (*parser).callonHeaderGroupElement82, expr: &seqExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -55149,9 +61365,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 332, col: 28, offset: 10403}, + pos: position{line: 324, col: 28, offset: 10064}, expr: &charClassMatcher{ - pos: position{line: 332, col: 29, offset: 10404}, + pos: position{line: 324, col: 29, offset: 10065}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -55165,33 +61381,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 670, col: 57, offset: 21650}, + pos: position{line: 668, col: 57, offset: 21513}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 670, col: 63, offset: 21656}, + pos: position{line: 668, col: 63, offset: 21519}, expr: &actionExpr{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, run: (*parser).callonHeaderGroupElement89, expr: &seqExpr{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 674, col: 21, offset: 21783}, + pos: position{line: 672, col: 21, offset: 21646}, label: "start", expr: &choiceExpr{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, run: (*parser).callonHeaderGroupElement94, expr: &charClassMatcher{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -55199,12 +61415,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, run: (*parser).callonHeaderGroupElement96, expr: &oneOrMoreExpr{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, expr: &charClassMatcher{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -55221,7 +61437,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 670, col: 79, offset: 21672}, + pos: position{line: 668, col: 79, offset: 21535}, val: "}", ignoreCase: false, want: "\"}\"", @@ -55230,28 +61446,83 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 659, col: 5, offset: 21191}, + pos: position{line: 650, col: 5, offset: 20786}, run: (*parser).callonHeaderGroupElement100, expr: &seqExpr{ - pos: position{line: 659, col: 5, offset: 21191}, + pos: position{line: 650, col: 5, offset: 20786}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 650, col: 5, offset: 20786}, + val: "\\{", + ignoreCase: false, + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 650, col: 13, offset: 20794}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + run: (*parser).callonHeaderGroupElement104, + expr: &seqExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 324, col: 18, offset: 10054}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 324, col: 28, offset: 10064}, + expr: &charClassMatcher{ + pos: position{line: 324, col: 29, offset: 10065}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 650, col: 32, offset: 20813}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 657, col: 5, offset: 21054}, + run: (*parser).callonHeaderGroupElement110, + expr: &seqExpr{ + pos: position{line: 657, col: 5, offset: 21054}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 659, col: 5, offset: 21191}, + pos: position{line: 657, col: 5, offset: 21054}, val: "{", ignoreCase: false, want: "\"{\"", }, &labeledExpr{ - pos: position{line: 659, col: 9, offset: 21195}, + pos: position{line: 657, col: 9, offset: 21058}, label: "name", expr: &actionExpr{ - pos: position{line: 332, col: 18, offset: 10393}, - run: (*parser).callonHeaderGroupElement104, + pos: position{line: 324, col: 18, offset: 10054}, + run: (*parser).callonHeaderGroupElement114, expr: &seqExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -55260,9 +61531,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 332, col: 28, offset: 10403}, + pos: position{line: 324, col: 28, offset: 10064}, expr: &charClassMatcher{ - pos: position{line: 332, col: 29, offset: 10404}, + pos: position{line: 324, col: 29, offset: 10065}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -55276,7 +61547,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 659, col: 28, offset: 21214}, + pos: position{line: 657, col: 28, offset: 21077}, val: "}", ignoreCase: false, want: "\"}\"", @@ -55291,10 +61562,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 424, col: 16, offset: 13182}, - run: (*parser).callonHeaderGroupElement110, + pos: position{line: 416, col: 16, offset: 12844}, + run: (*parser).callonHeaderGroupElement120, expr: &litMatcher{ - pos: position{line: 424, col: 16, offset: 13182}, + pos: position{line: 416, col: 16, offset: 12844}, val: "{", ignoreCase: false, want: "\"{\"", @@ -55307,7 +61578,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 430, col: 5, offset: 13368}, + pos: position{line: 422, col: 5, offset: 13030}, val: "]]", ignoreCase: false, want: "\"]]\"", @@ -55317,12 +61588,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 2528, col: 40, offset: 85070}, + pos: position{line: 2672, col: 40, offset: 87984}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, - run: (*parser).callonHeaderGroupElement114, + pos: position{line: 3058, col: 10, offset: 99611}, + run: (*parser).callonHeaderGroupElement124, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -55331,11 +61602,11 @@ var g = &grammar{ }, }, &andExpr{ - pos: position{line: 2528, col: 47, offset: 85077}, + pos: position{line: 2672, col: 47, offset: 87991}, expr: ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -55343,10 +61614,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, - run: (*parser).callonHeaderGroupElement119, + pos: position{line: 3058, col: 10, offset: 99611}, + run: (*parser).callonHeaderGroupElement129, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -55354,61 +61625,61 @@ var g = &grammar{ }, }, &ruleRefExpr{ - pos: position{line: 2530, col: 11, offset: 85150}, + pos: position{line: 2674, col: 11, offset: 88064}, name: "InlinePassthrough", }, &ruleRefExpr{ - pos: position{line: 2531, col: 11, offset: 85178}, + pos: position{line: 2675, col: 11, offset: 88092}, name: "Quote", }, &ruleRefExpr{ - pos: position{line: 2532, col: 11, offset: 85194}, + pos: position{line: 2676, col: 11, offset: 88108}, name: "Link", }, &actionExpr{ - pos: position{line: 2599, col: 5, offset: 86909}, - run: (*parser).callonHeaderGroupElement124, + pos: position{line: 2743, col: 5, offset: 89823}, + run: (*parser).callonHeaderGroupElement134, expr: &seqExpr{ - pos: position{line: 2599, col: 5, offset: 86909}, + pos: position{line: 2743, col: 5, offset: 89823}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 2599, col: 5, offset: 86909}, - run: (*parser).callonHeaderGroupElement126, + pos: position{line: 2743, col: 5, offset: 89823}, + run: (*parser).callonHeaderGroupElement136, }, &labeledExpr{ - pos: position{line: 2602, col: 5, offset: 86985}, + pos: position{line: 2746, col: 5, offset: 89899}, label: "element", expr: &choiceExpr{ - pos: position{line: 2604, col: 9, offset: 87083}, + pos: position{line: 2748, col: 9, offset: 89997}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2604, col: 9, offset: 87083}, - run: (*parser).callonHeaderGroupElement129, + pos: position{line: 2748, col: 9, offset: 89997}, + run: (*parser).callonHeaderGroupElement139, expr: &choiceExpr{ - pos: position{line: 694, col: 27, offset: 22498}, + pos: position{line: 692, col: 27, offset: 22361}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 694, col: 27, offset: 22498}, - run: (*parser).callonHeaderGroupElement131, + pos: position{line: 692, col: 27, offset: 22361}, + run: (*parser).callonHeaderGroupElement141, expr: &seqExpr{ - pos: position{line: 694, col: 27, offset: 22498}, + pos: position{line: 692, col: 27, offset: 22361}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 694, col: 27, offset: 22498}, + pos: position{line: 692, col: 27, offset: 22361}, val: "<<", ignoreCase: false, want: "\"<<\"", }, &labeledExpr{ - pos: position{line: 694, col: 32, offset: 22503}, + pos: position{line: 692, col: 32, offset: 22366}, label: "id", expr: &actionExpr{ - pos: position{line: 2884, col: 7, offset: 95839}, - run: (*parser).callonHeaderGroupElement135, + pos: position{line: 3043, col: 7, offset: 99263}, + run: (*parser).callonHeaderGroupElement145, expr: &oneOrMoreExpr{ - pos: position{line: 2884, col: 7, offset: 95839}, + pos: position{line: 3043, col: 7, offset: 99263}, expr: &charClassMatcher{ - pos: position{line: 2884, col: 7, offset: 95839}, + pos: position{line: 3043, col: 7, offset: 99263}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -55418,12 +61689,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 694, col: 40, offset: 22511}, + pos: position{line: 692, col: 40, offset: 22374}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, - run: (*parser).callonHeaderGroupElement139, + pos: position{line: 3058, col: 10, offset: 99611}, + run: (*parser).callonHeaderGroupElement149, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -55432,27 +61703,27 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 694, col: 47, offset: 22518}, + pos: position{line: 692, col: 47, offset: 22381}, val: ",", ignoreCase: false, want: "\",\"", }, &labeledExpr{ - pos: position{line: 694, col: 51, offset: 22522}, + pos: position{line: 692, col: 51, offset: 22385}, label: "label", expr: &oneOrMoreExpr{ - pos: position{line: 704, col: 24, offset: 22923}, + pos: position{line: 702, col: 24, offset: 22786}, expr: &choiceExpr{ - pos: position{line: 705, col: 5, offset: 22929}, + pos: position{line: 703, col: 5, offset: 22792}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 705, col: 6, offset: 22930}, - run: (*parser).callonHeaderGroupElement145, + pos: position{line: 703, col: 6, offset: 22793}, + run: (*parser).callonHeaderGroupElement155, expr: &seqExpr{ - pos: position{line: 705, col: 6, offset: 22930}, + pos: position{line: 703, col: 6, offset: 22793}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 705, col: 6, offset: 22930}, + pos: position{line: 703, col: 6, offset: 22793}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -55460,9 +61731,9 @@ var g = &grammar{ inverted: false, }, &oneOrMoreExpr{ - pos: position{line: 705, col: 14, offset: 22938}, + pos: position{line: 703, col: 14, offset: 22801}, expr: &charClassMatcher{ - pos: position{line: 705, col: 14, offset: 22938}, + pos: position{line: 703, col: 14, offset: 22801}, val: "[^\\r\\n{<>]", chars: []rune{'\r', '\n', '{', '<', '>'}, ignoreCase: false, @@ -55473,28 +61744,83 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 659, col: 5, offset: 21191}, - run: (*parser).callonHeaderGroupElement150, + pos: position{line: 650, col: 5, offset: 20786}, + run: (*parser).callonHeaderGroupElement160, + expr: &seqExpr{ + pos: position{line: 650, col: 5, offset: 20786}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 650, col: 5, offset: 20786}, + val: "\\{", + ignoreCase: false, + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 650, col: 13, offset: 20794}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + run: (*parser).callonHeaderGroupElement164, + expr: &seqExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 324, col: 18, offset: 10054}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 324, col: 28, offset: 10064}, + expr: &charClassMatcher{ + pos: position{line: 324, col: 29, offset: 10065}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 650, col: 32, offset: 20813}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 657, col: 5, offset: 21054}, + run: (*parser).callonHeaderGroupElement170, expr: &seqExpr{ - pos: position{line: 659, col: 5, offset: 21191}, + pos: position{line: 657, col: 5, offset: 21054}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 659, col: 5, offset: 21191}, + pos: position{line: 657, col: 5, offset: 21054}, val: "{", ignoreCase: false, want: "\"{\"", }, &labeledExpr{ - pos: position{line: 659, col: 9, offset: 21195}, + pos: position{line: 657, col: 9, offset: 21058}, label: "name", expr: &actionExpr{ - pos: position{line: 332, col: 18, offset: 10393}, - run: (*parser).callonHeaderGroupElement154, + pos: position{line: 324, col: 18, offset: 10054}, + run: (*parser).callonHeaderGroupElement174, expr: &seqExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -55503,9 +61829,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 332, col: 28, offset: 10403}, + pos: position{line: 324, col: 28, offset: 10064}, expr: &charClassMatcher{ - pos: position{line: 332, col: 29, offset: 10404}, + pos: position{line: 324, col: 29, offset: 10065}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -55519,7 +61845,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 659, col: 28, offset: 21214}, + pos: position{line: 657, col: 28, offset: 21077}, val: "}", ignoreCase: false, want: "\"}\"", @@ -55528,10 +61854,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 709, col: 8, offset: 23164}, - run: (*parser).callonHeaderGroupElement160, + pos: position{line: 707, col: 8, offset: 23027}, + run: (*parser).callonHeaderGroupElement180, expr: &litMatcher{ - pos: position{line: 709, col: 8, offset: 23164}, + pos: position{line: 707, col: 8, offset: 23027}, val: "{", ignoreCase: false, want: "\"{\"", @@ -55542,7 +61868,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 694, col: 79, offset: 22550}, + pos: position{line: 692, col: 79, offset: 22413}, val: ">>", ignoreCase: false, want: "\">>\"", @@ -55551,27 +61877,27 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 696, col: 9, offset: 22623}, - run: (*parser).callonHeaderGroupElement163, + pos: position{line: 694, col: 9, offset: 22486}, + run: (*parser).callonHeaderGroupElement183, expr: &seqExpr{ - pos: position{line: 696, col: 9, offset: 22623}, + pos: position{line: 694, col: 9, offset: 22486}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 696, col: 9, offset: 22623}, + pos: position{line: 694, col: 9, offset: 22486}, val: "<<", ignoreCase: false, want: "\"<<\"", }, &labeledExpr{ - pos: position{line: 696, col: 14, offset: 22628}, + pos: position{line: 694, col: 14, offset: 22491}, label: "id", expr: &actionExpr{ - pos: position{line: 2884, col: 7, offset: 95839}, - run: (*parser).callonHeaderGroupElement167, + pos: position{line: 3043, col: 7, offset: 99263}, + run: (*parser).callonHeaderGroupElement187, expr: &oneOrMoreExpr{ - pos: position{line: 2884, col: 7, offset: 95839}, + pos: position{line: 3043, col: 7, offset: 99263}, expr: &charClassMatcher{ - pos: position{line: 2884, col: 7, offset: 95839}, + pos: position{line: 3043, col: 7, offset: 99263}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -55581,7 +61907,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 696, col: 22, offset: 22636}, + pos: position{line: 694, col: 22, offset: 22499}, val: ">>", ignoreCase: false, want: "\">>\"", @@ -55593,10 +61919,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2607, col: 11, offset: 87187}, - run: (*parser).callonHeaderGroupElement171, + pos: position{line: 2751, col: 11, offset: 90101}, + run: (*parser).callonHeaderGroupElement191, expr: &charClassMatcher{ - pos: position{line: 2607, col: 12, offset: 87188}, + pos: position{line: 2751, col: 12, offset: 90102}, val: "[<>&]", chars: []rune{'<', '>', '&'}, ignoreCase: false, @@ -55610,48 +61936,48 @@ var g = &grammar{ }, }, &ruleRefExpr{ - pos: position{line: 2534, col: 11, offset: 85279}, + pos: position{line: 2678, col: 11, offset: 88193}, name: "InlineIcon", }, &actionExpr{ - pos: position{line: 651, col: 5, offset: 21000}, - run: (*parser).callonHeaderGroupElement174, + pos: position{line: 641, col: 5, offset: 20579}, + run: (*parser).callonHeaderGroupElement194, expr: &seqExpr{ - pos: position{line: 651, col: 5, offset: 21000}, + pos: position{line: 641, col: 5, offset: 20579}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 651, col: 5, offset: 21000}, - run: (*parser).callonHeaderGroupElement176, + pos: position{line: 641, col: 5, offset: 20579}, + run: (*parser).callonHeaderGroupElement196, }, &labeledExpr{ - pos: position{line: 654, col: 5, offset: 21069}, + pos: position{line: 644, col: 5, offset: 20648}, label: "element", expr: &choiceExpr{ - pos: position{line: 654, col: 14, offset: 21078}, + pos: position{line: 644, col: 14, offset: 20657}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 666, col: 25, offset: 21447}, - run: (*parser).callonHeaderGroupElement179, + pos: position{line: 664, col: 25, offset: 21310}, + run: (*parser).callonHeaderGroupElement199, expr: &seqExpr{ - pos: position{line: 666, col: 25, offset: 21447}, + pos: position{line: 664, col: 25, offset: 21310}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 666, col: 25, offset: 21447}, + pos: position{line: 664, col: 25, offset: 21310}, val: "{counter:", ignoreCase: false, want: "\"{counter:\"", }, &labeledExpr{ - pos: position{line: 666, col: 37, offset: 21459}, + pos: position{line: 664, col: 37, offset: 21322}, label: "name", expr: &actionExpr{ - pos: position{line: 332, col: 18, offset: 10393}, - run: (*parser).callonHeaderGroupElement183, + pos: position{line: 324, col: 18, offset: 10054}, + run: (*parser).callonHeaderGroupElement203, expr: &seqExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -55660,9 +61986,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 332, col: 28, offset: 10403}, + pos: position{line: 324, col: 28, offset: 10064}, expr: &charClassMatcher{ - pos: position{line: 332, col: 29, offset: 10404}, + pos: position{line: 324, col: 29, offset: 10065}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -55676,33 +62002,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 666, col: 56, offset: 21478}, + pos: position{line: 664, col: 56, offset: 21341}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 666, col: 62, offset: 21484}, + pos: position{line: 664, col: 62, offset: 21347}, expr: &actionExpr{ - pos: position{line: 674, col: 17, offset: 21779}, - run: (*parser).callonHeaderGroupElement190, + pos: position{line: 672, col: 17, offset: 21642}, + run: (*parser).callonHeaderGroupElement210, expr: &seqExpr{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 674, col: 21, offset: 21783}, + pos: position{line: 672, col: 21, offset: 21646}, label: "start", expr: &choiceExpr{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 674, col: 28, offset: 21790}, - run: (*parser).callonHeaderGroupElement195, + pos: position{line: 672, col: 28, offset: 21653}, + run: (*parser).callonHeaderGroupElement215, expr: &charClassMatcher{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -55710,12 +62036,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 676, col: 9, offset: 21844}, - run: (*parser).callonHeaderGroupElement197, + pos: position{line: 674, col: 9, offset: 21707}, + run: (*parser).callonHeaderGroupElement217, expr: &oneOrMoreExpr{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, expr: &charClassMatcher{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -55732,7 +62058,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 666, col: 78, offset: 21500}, + pos: position{line: 664, col: 78, offset: 21363}, val: "}", ignoreCase: false, want: "\"}\"", @@ -55741,28 +62067,28 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 670, col: 25, offset: 21618}, - run: (*parser).callonHeaderGroupElement201, + pos: position{line: 668, col: 25, offset: 21481}, + run: (*parser).callonHeaderGroupElement221, expr: &seqExpr{ - pos: position{line: 670, col: 25, offset: 21618}, + pos: position{line: 668, col: 25, offset: 21481}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 670, col: 25, offset: 21618}, + pos: position{line: 668, col: 25, offset: 21481}, val: "{counter2:", ignoreCase: false, want: "\"{counter2:\"", }, &labeledExpr{ - pos: position{line: 670, col: 38, offset: 21631}, + pos: position{line: 668, col: 38, offset: 21494}, label: "name", expr: &actionExpr{ - pos: position{line: 332, col: 18, offset: 10393}, - run: (*parser).callonHeaderGroupElement205, + pos: position{line: 324, col: 18, offset: 10054}, + run: (*parser).callonHeaderGroupElement225, expr: &seqExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -55771,9 +62097,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 332, col: 28, offset: 10403}, + pos: position{line: 324, col: 28, offset: 10064}, expr: &charClassMatcher{ - pos: position{line: 332, col: 29, offset: 10404}, + pos: position{line: 324, col: 29, offset: 10065}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -55787,33 +62113,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 670, col: 57, offset: 21650}, + pos: position{line: 668, col: 57, offset: 21513}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 670, col: 63, offset: 21656}, + pos: position{line: 668, col: 63, offset: 21519}, expr: &actionExpr{ - pos: position{line: 674, col: 17, offset: 21779}, - run: (*parser).callonHeaderGroupElement212, + pos: position{line: 672, col: 17, offset: 21642}, + run: (*parser).callonHeaderGroupElement232, expr: &seqExpr{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 674, col: 21, offset: 21783}, + pos: position{line: 672, col: 21, offset: 21646}, label: "start", expr: &choiceExpr{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 674, col: 28, offset: 21790}, - run: (*parser).callonHeaderGroupElement217, + pos: position{line: 672, col: 28, offset: 21653}, + run: (*parser).callonHeaderGroupElement237, expr: &charClassMatcher{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -55821,12 +62147,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 676, col: 9, offset: 21844}, - run: (*parser).callonHeaderGroupElement219, + pos: position{line: 674, col: 9, offset: 21707}, + run: (*parser).callonHeaderGroupElement239, expr: &oneOrMoreExpr{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, expr: &charClassMatcher{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -55843,7 +62169,62 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 670, col: 79, offset: 21672}, + pos: position{line: 668, col: 79, offset: 21535}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 650, col: 5, offset: 20786}, + run: (*parser).callonHeaderGroupElement243, + expr: &seqExpr{ + pos: position{line: 650, col: 5, offset: 20786}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 650, col: 5, offset: 20786}, + val: "\\{", + ignoreCase: false, + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 650, col: 13, offset: 20794}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + run: (*parser).callonHeaderGroupElement247, + expr: &seqExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 324, col: 18, offset: 10054}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 324, col: 28, offset: 10064}, + expr: &charClassMatcher{ + pos: position{line: 324, col: 29, offset: 10065}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 650, col: 32, offset: 20813}, val: "}", ignoreCase: false, want: "\"}\"", @@ -55852,28 +62233,28 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 659, col: 5, offset: 21191}, - run: (*parser).callonHeaderGroupElement223, + pos: position{line: 657, col: 5, offset: 21054}, + run: (*parser).callonHeaderGroupElement253, expr: &seqExpr{ - pos: position{line: 659, col: 5, offset: 21191}, + pos: position{line: 657, col: 5, offset: 21054}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 659, col: 5, offset: 21191}, + pos: position{line: 657, col: 5, offset: 21054}, val: "{", ignoreCase: false, want: "\"{\"", }, &labeledExpr{ - pos: position{line: 659, col: 9, offset: 21195}, + pos: position{line: 657, col: 9, offset: 21058}, label: "name", expr: &actionExpr{ - pos: position{line: 332, col: 18, offset: 10393}, - run: (*parser).callonHeaderGroupElement227, + pos: position{line: 324, col: 18, offset: 10054}, + run: (*parser).callonHeaderGroupElement257, expr: &seqExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -55882,9 +62263,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 332, col: 28, offset: 10403}, + pos: position{line: 324, col: 28, offset: 10064}, expr: &charClassMatcher{ - pos: position{line: 332, col: 29, offset: 10404}, + pos: position{line: 324, col: 29, offset: 10065}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -55898,7 +62279,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 659, col: 28, offset: 21214}, + pos: position{line: 657, col: 28, offset: 21077}, val: "}", ignoreCase: false, want: "\"}\"", @@ -55913,27 +62294,27 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1122, col: 23, offset: 34991}, - run: (*parser).callonHeaderGroupElement233, + pos: position{line: 1120, col: 23, offset: 34854}, + run: (*parser).callonHeaderGroupElement263, expr: &seqExpr{ - pos: position{line: 1122, col: 23, offset: 34991}, + pos: position{line: 1120, col: 23, offset: 34854}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1120, col: 32, offset: 34959}, + pos: position{line: 1118, col: 32, offset: 34822}, val: "�", ignoreCase: false, want: "\"�\"", }, &labeledExpr{ - pos: position{line: 1122, col: 51, offset: 35019}, + pos: position{line: 1120, col: 51, offset: 34882}, label: "ref", expr: &actionExpr{ - pos: position{line: 1122, col: 56, offset: 35024}, - run: (*parser).callonHeaderGroupElement237, + pos: position{line: 1120, col: 56, offset: 34887}, + run: (*parser).callonHeaderGroupElement267, expr: &oneOrMoreExpr{ - pos: position{line: 1122, col: 56, offset: 35024}, + pos: position{line: 1120, col: 56, offset: 34887}, expr: &charClassMatcher{ - pos: position{line: 1122, col: 56, offset: 35024}, + pos: position{line: 1120, col: 56, offset: 34887}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -55943,7 +62324,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1120, col: 32, offset: 34959}, + pos: position{line: 1118, col: 32, offset: 34822}, val: "�", ignoreCase: false, want: "\"�\"", @@ -55952,79 +62333,182 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2588, col: 5, offset: 86683}, - run: (*parser).callonHeaderGroupElement241, + pos: position{line: 2732, col: 5, offset: 89597}, + run: (*parser).callonHeaderGroupElement271, expr: &seqExpr{ - pos: position{line: 2588, col: 5, offset: 86683}, + pos: position{line: 2732, col: 5, offset: 89597}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 2588, col: 5, offset: 86683}, - run: (*parser).callonHeaderGroupElement243, + pos: position{line: 2732, col: 5, offset: 89597}, + run: (*parser).callonHeaderGroupElement273, }, &labeledExpr{ - pos: position{line: 2591, col: 5, offset: 86754}, + pos: position{line: 2735, col: 5, offset: 89668}, label: "element", expr: &choiceExpr{ - pos: position{line: 2630, col: 11, offset: 88061}, + pos: position{line: 2776, col: 5, offset: 90995}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2632, col: 15, offset: 88155}, - run: (*parser).callonHeaderGroupElement246, + pos: position{line: 2776, col: 5, offset: 90995}, + run: (*parser).callonHeaderGroupElement276, + expr: &seqExpr{ + pos: position{line: 2776, col: 5, offset: 90995}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2776, col: 5, offset: 90995}, + val: "\\", + ignoreCase: false, + want: "\"\\\\\"", + }, + &choiceExpr{ + pos: position{line: 2776, col: 10, offset: 91000}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2784, col: 15, offset: 91276}, + run: (*parser).callonHeaderGroupElement280, + expr: &litMatcher{ + pos: position{line: 2784, col: 15, offset: 91276}, + val: "`'", + ignoreCase: false, + want: "\"`'\"", + }, + }, + &actionExpr{ + pos: position{line: 2790, col: 14, offset: 91391}, + run: (*parser).callonHeaderGroupElement282, + expr: &litMatcher{ + pos: position{line: 2790, col: 14, offset: 91391}, + val: "(C)", + ignoreCase: false, + want: "\"(C)\"", + }, + }, + &actionExpr{ + pos: position{line: 2794, col: 14, offset: 91467}, + run: (*parser).callonHeaderGroupElement284, + expr: &litMatcher{ + pos: position{line: 2794, col: 14, offset: 91467}, + val: "(TM)", + ignoreCase: false, + want: "\"(TM)\"", + }, + }, + &actionExpr{ + pos: position{line: 2798, col: 15, offset: 91545}, + run: (*parser).callonHeaderGroupElement286, + expr: &litMatcher{ + pos: position{line: 2798, col: 15, offset: 91545}, + val: "(R)", + ignoreCase: false, + want: "\"(R)\"", + }, + }, + &actionExpr{ + pos: position{line: 2802, col: 13, offset: 91620}, + run: (*parser).callonHeaderGroupElement288, + expr: &litMatcher{ + pos: position{line: 2802, col: 13, offset: 91620}, + val: "...", + ignoreCase: false, + want: "\"...\"", + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2784, col: 15, offset: 91276}, + run: (*parser).callonHeaderGroupElement290, expr: &litMatcher{ - pos: position{line: 2632, col: 15, offset: 88155}, + pos: position{line: 2784, col: 15, offset: 91276}, val: "`'", ignoreCase: false, want: "\"`'\"", }, }, &actionExpr{ - pos: position{line: 2638, col: 14, offset: 88270}, - run: (*parser).callonHeaderGroupElement248, + pos: position{line: 2790, col: 14, offset: 91391}, + run: (*parser).callonHeaderGroupElement292, expr: &litMatcher{ - pos: position{line: 2638, col: 14, offset: 88270}, + pos: position{line: 2790, col: 14, offset: 91391}, val: "(C)", ignoreCase: false, want: "\"(C)\"", }, }, &actionExpr{ - pos: position{line: 2642, col: 14, offset: 88346}, - run: (*parser).callonHeaderGroupElement250, + pos: position{line: 2794, col: 14, offset: 91467}, + run: (*parser).callonHeaderGroupElement294, expr: &litMatcher{ - pos: position{line: 2642, col: 14, offset: 88346}, + pos: position{line: 2794, col: 14, offset: 91467}, val: "(TM)", ignoreCase: false, want: "\"(TM)\"", }, }, &actionExpr{ - pos: position{line: 2646, col: 15, offset: 88424}, - run: (*parser).callonHeaderGroupElement252, + pos: position{line: 2798, col: 15, offset: 91545}, + run: (*parser).callonHeaderGroupElement296, expr: &litMatcher{ - pos: position{line: 2646, col: 15, offset: 88424}, + pos: position{line: 2798, col: 15, offset: 91545}, val: "(R)", ignoreCase: false, want: "\"(R)\"", }, }, &actionExpr{ - pos: position{line: 2650, col: 13, offset: 88499}, - run: (*parser).callonHeaderGroupElement254, + pos: position{line: 2802, col: 13, offset: 91620}, + run: (*parser).callonHeaderGroupElement298, expr: &litMatcher{ - pos: position{line: 2650, col: 13, offset: 88499}, + pos: position{line: 2802, col: 13, offset: 91620}, val: "...", ignoreCase: false, want: "\"...\"", }, }, &actionExpr{ - pos: position{line: 2658, col: 22, offset: 88805}, - run: (*parser).callonHeaderGroupElement256, + pos: position{line: 2811, col: 5, offset: 91944}, + run: (*parser).callonHeaderGroupElement300, + expr: &seqExpr{ + pos: position{line: 2811, col: 5, offset: 91944}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 2972, col: 13, offset: 96927}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &litMatcher{ + pos: position{line: 2811, col: 14, offset: 91953}, + val: "\\'", + ignoreCase: false, + want: "\"\\\\'\"", + }, + &andExpr{ + pos: position{line: 2811, col: 19, offset: 91958}, + expr: &charClassMatcher{ + pos: position{line: 2811, col: 20, offset: 91959}, + val: "[\\pL]", + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2817, col: 5, offset: 92190}, + run: (*parser).callonHeaderGroupElement306, expr: &seqExpr{ - pos: position{line: 2658, col: 22, offset: 88805}, + pos: position{line: 2817, col: 5, offset: 92190}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 2813, col: 13, offset: 93503}, + pos: position{line: 2972, col: 13, offset: 96927}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -56032,15 +62516,15 @@ var g = &grammar{ inverted: false, }, &litMatcher{ - pos: position{line: 2658, col: 31, offset: 88814}, + pos: position{line: 2817, col: 14, offset: 92199}, val: "'", ignoreCase: false, want: "\"'\"", }, &andExpr{ - pos: position{line: 2658, col: 35, offset: 88818}, + pos: position{line: 2817, col: 18, offset: 92203}, expr: &charClassMatcher{ - pos: position{line: 2658, col: 36, offset: 88819}, + pos: position{line: 2817, col: 19, offset: 92204}, val: "[\\pL]", classes: []*unicode.RangeTable{rangeTable("L")}, ignoreCase: false, @@ -56057,27 +62541,66 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1201, col: 17, offset: 37574}, - run: (*parser).callonHeaderGroupElement262, + pos: position{line: 1201, col: 5, offset: 37481}, + run: (*parser).callonHeaderGroupElement312, expr: &seqExpr{ - pos: position{line: 1201, col: 17, offset: 37574}, + pos: position{line: 1201, col: 5, offset: 37481}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1201, col: 17, offset: 37574}, + pos: position{line: 1201, col: 5, offset: 37481}, + val: "\\[[", + ignoreCase: false, + want: "\"\\\\[[\"", + }, + &labeledExpr{ + pos: position{line: 1201, col: 14, offset: 37490}, + label: "id", + expr: &actionExpr{ + pos: position{line: 3043, col: 7, offset: 99263}, + run: (*parser).callonHeaderGroupElement316, + expr: &oneOrMoreExpr{ + pos: position{line: 3043, col: 7, offset: 99263}, + expr: &charClassMatcher{ + pos: position{line: 3043, col: 7, offset: 99263}, + val: "[^[]<>,]", + chars: []rune{'[', ']', '<', '>', ','}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 1201, col: 22, offset: 37498}, + val: "]]", + ignoreCase: false, + want: "\"]]\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1207, col: 5, offset: 37684}, + run: (*parser).callonHeaderGroupElement320, + expr: &seqExpr{ + pos: position{line: 1207, col: 5, offset: 37684}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1207, col: 5, offset: 37684}, val: "[[", ignoreCase: false, want: "\"[[\"", }, &labeledExpr{ - pos: position{line: 1201, col: 22, offset: 37579}, + pos: position{line: 1207, col: 10, offset: 37689}, label: "id", expr: &actionExpr{ - pos: position{line: 2884, col: 7, offset: 95839}, - run: (*parser).callonHeaderGroupElement266, + pos: position{line: 3043, col: 7, offset: 99263}, + run: (*parser).callonHeaderGroupElement324, expr: &oneOrMoreExpr{ - pos: position{line: 2884, col: 7, offset: 95839}, + pos: position{line: 3043, col: 7, offset: 99263}, expr: &charClassMatcher{ - pos: position{line: 2884, col: 7, offset: 95839}, + pos: position{line: 3043, col: 7, offset: 99263}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -56087,7 +62610,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1201, col: 30, offset: 37587}, + pos: position{line: 1207, col: 18, offset: 37697}, val: "]]", ignoreCase: false, want: "\"]]\"", @@ -56096,14 +62619,14 @@ var g = &grammar{ }, }, &ruleRefExpr{ - pos: position{line: 2539, col: 11, offset: 85524}, + pos: position{line: 2683, col: 11, offset: 88438}, name: "InlineFootnote", }, &actionExpr{ - pos: position{line: 2851, col: 12, offset: 94722}, - run: (*parser).callonHeaderGroupElement271, + pos: position{line: 3010, col: 12, offset: 98146}, + run: (*parser).callonHeaderGroupElement329, expr: &anyMatcher{ - line: 2851, col: 12, offset: 94722, + line: 3010, col: 12, offset: 98146, }, }, }, @@ -56115,73 +62638,73 @@ var g = &grammar{ }, { name: "InlineMacro", - pos: position{line: 2544, col: 1, offset: 85603}, + pos: position{line: 2688, col: 1, offset: 88517}, expr: &actionExpr{ - pos: position{line: 2546, col: 5, offset: 85685}, + pos: position{line: 2690, col: 5, offset: 88599}, run: (*parser).callonInlineMacro1, expr: &seqExpr{ - pos: position{line: 2546, col: 5, offset: 85685}, + pos: position{line: 2690, col: 5, offset: 88599}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 2546, col: 5, offset: 85685}, + pos: position{line: 2690, col: 5, offset: 88599}, run: (*parser).callonInlineMacro3, }, &labeledExpr{ - pos: position{line: 2549, col: 5, offset: 85750}, + pos: position{line: 2693, col: 5, offset: 88664}, label: "element", expr: &choiceExpr{ - pos: position{line: 2550, col: 9, offset: 85768}, + pos: position{line: 2694, col: 9, offset: 88682}, alternatives: []interface{}{ &ruleRefExpr{ - pos: position{line: 2550, col: 9, offset: 85768}, + pos: position{line: 2694, col: 9, offset: 88682}, name: "InlineIcon", }, &ruleRefExpr{ - pos: position{line: 2551, col: 11, offset: 85789}, + pos: position{line: 2695, col: 11, offset: 88703}, name: "InlineImage", }, &ruleRefExpr{ - pos: position{line: 2552, col: 11, offset: 85812}, + pos: position{line: 2696, col: 11, offset: 88726}, name: "Link", }, &ruleRefExpr{ - pos: position{line: 2553, col: 11, offset: 85828}, + pos: position{line: 2697, col: 11, offset: 88742}, name: "InlinePassthrough", }, &ruleRefExpr{ - pos: position{line: 2554, col: 11, offset: 85857}, + pos: position{line: 2698, col: 11, offset: 88771}, name: "InlineFootnote", }, &ruleRefExpr{ - pos: position{line: 2555, col: 11, offset: 85883}, + pos: position{line: 2699, col: 11, offset: 88797}, name: "CrossReference", }, &ruleRefExpr{ - pos: position{line: 2556, col: 11, offset: 85909}, + pos: position{line: 2700, col: 11, offset: 88823}, name: "InlineUserMacro", }, &actionExpr{ - pos: position{line: 1201, col: 17, offset: 37574}, + pos: position{line: 1201, col: 5, offset: 37481}, run: (*parser).callonInlineMacro13, expr: &seqExpr{ - pos: position{line: 1201, col: 17, offset: 37574}, + pos: position{line: 1201, col: 5, offset: 37481}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1201, col: 17, offset: 37574}, - val: "[[", + pos: position{line: 1201, col: 5, offset: 37481}, + val: "\\[[", ignoreCase: false, - want: "\"[[\"", + want: "\"\\\\[[\"", }, &labeledExpr{ - pos: position{line: 1201, col: 22, offset: 37579}, + pos: position{line: 1201, col: 14, offset: 37490}, label: "id", expr: &actionExpr{ - pos: position{line: 2884, col: 7, offset: 95839}, + pos: position{line: 3043, col: 7, offset: 99263}, run: (*parser).callonInlineMacro17, expr: &oneOrMoreExpr{ - pos: position{line: 2884, col: 7, offset: 95839}, + pos: position{line: 3043, col: 7, offset: 99263}, expr: &charClassMatcher{ - pos: position{line: 2884, col: 7, offset: 95839}, + pos: position{line: 3043, col: 7, offset: 99263}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -56191,7 +62714,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1201, col: 30, offset: 37587}, + pos: position{line: 1201, col: 22, offset: 37498}, val: "]]", ignoreCase: false, want: "\"]]\"", @@ -56200,30 +62723,69 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1218, col: 23, offset: 38271}, + pos: position{line: 1207, col: 5, offset: 37684}, run: (*parser).callonInlineMacro21, expr: &seqExpr{ - pos: position{line: 1218, col: 23, offset: 38271}, + pos: position{line: 1207, col: 5, offset: 37684}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1218, col: 23, offset: 38271}, + pos: position{line: 1207, col: 5, offset: 37684}, + val: "[[", + ignoreCase: false, + want: "\"[[\"", + }, + &labeledExpr{ + pos: position{line: 1207, col: 10, offset: 37689}, + label: "id", + expr: &actionExpr{ + pos: position{line: 3043, col: 7, offset: 99263}, + run: (*parser).callonInlineMacro25, + expr: &oneOrMoreExpr{ + pos: position{line: 3043, col: 7, offset: 99263}, + expr: &charClassMatcher{ + pos: position{line: 3043, col: 7, offset: 99263}, + val: "[^[]<>,]", + chars: []rune{'[', ']', '<', '>', ','}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 1207, col: 18, offset: 37697}, + val: "]]", + ignoreCase: false, + want: "\"]]\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1224, col: 23, offset: 38389}, + run: (*parser).callonInlineMacro29, + expr: &seqExpr{ + pos: position{line: 1224, col: 23, offset: 38389}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1224, col: 23, offset: 38389}, val: "(((", ignoreCase: false, want: "\"(((\"", }, &labeledExpr{ - pos: position{line: 1218, col: 29, offset: 38277}, + pos: position{line: 1224, col: 29, offset: 38395}, label: "term1", expr: &actionExpr{ - pos: position{line: 1225, col: 30, offset: 38608}, - run: (*parser).callonInlineMacro25, + pos: position{line: 1231, col: 30, offset: 38726}, + run: (*parser).callonInlineMacro33, expr: &oneOrMoreExpr{ - pos: position{line: 1225, col: 30, offset: 38608}, + pos: position{line: 1231, col: 30, offset: 38726}, expr: &choiceExpr{ - pos: position{line: 1225, col: 31, offset: 38609}, + pos: position{line: 1231, col: 31, offset: 38727}, alternatives: []interface{}{ &charClassMatcher{ - pos: position{line: 2813, col: 13, offset: 93503}, + pos: position{line: 2972, col: 13, offset: 96927}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -56231,10 +62793,10 @@ var g = &grammar{ inverted: false, }, &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, - run: (*parser).callonInlineMacro29, + pos: position{line: 3058, col: 10, offset: 99611}, + run: (*parser).callonInlineMacro37, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -56247,23 +62809,23 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1219, col: 5, offset: 38316}, + pos: position{line: 1225, col: 5, offset: 38434}, label: "term2", expr: &zeroOrOneExpr{ - pos: position{line: 1219, col: 11, offset: 38322}, + pos: position{line: 1225, col: 11, offset: 38440}, expr: &actionExpr{ - pos: position{line: 1219, col: 12, offset: 38323}, - run: (*parser).callonInlineMacro33, + pos: position{line: 1225, col: 12, offset: 38441}, + run: (*parser).callonInlineMacro41, expr: &seqExpr{ - pos: position{line: 1219, col: 12, offset: 38323}, + pos: position{line: 1225, col: 12, offset: 38441}, exprs: []interface{}{ &zeroOrMoreExpr{ - pos: position{line: 1219, col: 12, offset: 38323}, + pos: position{line: 1225, col: 12, offset: 38441}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, - run: (*parser).callonInlineMacro36, + pos: position{line: 3058, col: 10, offset: 99611}, + run: (*parser).callonInlineMacro44, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -56272,18 +62834,18 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1219, col: 19, offset: 38330}, + pos: position{line: 1225, col: 19, offset: 38448}, val: ",", ignoreCase: false, want: "\",\"", }, &zeroOrMoreExpr{ - pos: position{line: 1219, col: 23, offset: 38334}, + pos: position{line: 1225, col: 23, offset: 38452}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, - run: (*parser).callonInlineMacro40, + pos: position{line: 3058, col: 10, offset: 99611}, + run: (*parser).callonInlineMacro48, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -56292,18 +62854,18 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1219, col: 30, offset: 38341}, + pos: position{line: 1225, col: 30, offset: 38459}, label: "content", expr: &actionExpr{ - pos: position{line: 1225, col: 30, offset: 38608}, - run: (*parser).callonInlineMacro43, + pos: position{line: 1231, col: 30, offset: 38726}, + run: (*parser).callonInlineMacro51, expr: &oneOrMoreExpr{ - pos: position{line: 1225, col: 30, offset: 38608}, + pos: position{line: 1231, col: 30, offset: 38726}, expr: &choiceExpr{ - pos: position{line: 1225, col: 31, offset: 38609}, + pos: position{line: 1231, col: 31, offset: 38727}, alternatives: []interface{}{ &charClassMatcher{ - pos: position{line: 2813, col: 13, offset: 93503}, + pos: position{line: 2972, col: 13, offset: 96927}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -56311,10 +62873,10 @@ var g = &grammar{ inverted: false, }, &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, - run: (*parser).callonInlineMacro47, + pos: position{line: 3058, col: 10, offset: 99611}, + run: (*parser).callonInlineMacro55, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -56332,23 +62894,23 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1220, col: 5, offset: 38408}, + pos: position{line: 1226, col: 5, offset: 38526}, label: "term3", expr: &zeroOrOneExpr{ - pos: position{line: 1220, col: 11, offset: 38414}, + pos: position{line: 1226, col: 11, offset: 38532}, expr: &actionExpr{ - pos: position{line: 1220, col: 12, offset: 38415}, - run: (*parser).callonInlineMacro51, + pos: position{line: 1226, col: 12, offset: 38533}, + run: (*parser).callonInlineMacro59, expr: &seqExpr{ - pos: position{line: 1220, col: 12, offset: 38415}, + pos: position{line: 1226, col: 12, offset: 38533}, exprs: []interface{}{ &zeroOrMoreExpr{ - pos: position{line: 1220, col: 12, offset: 38415}, + pos: position{line: 1226, col: 12, offset: 38533}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, - run: (*parser).callonInlineMacro54, + pos: position{line: 3058, col: 10, offset: 99611}, + run: (*parser).callonInlineMacro62, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -56357,18 +62919,18 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1220, col: 19, offset: 38422}, + pos: position{line: 1226, col: 19, offset: 38540}, val: ",", ignoreCase: false, want: "\",\"", }, &zeroOrMoreExpr{ - pos: position{line: 1220, col: 23, offset: 38426}, + pos: position{line: 1226, col: 23, offset: 38544}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, - run: (*parser).callonInlineMacro58, + pos: position{line: 3058, col: 10, offset: 99611}, + run: (*parser).callonInlineMacro66, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -56377,18 +62939,18 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1220, col: 30, offset: 38433}, + pos: position{line: 1226, col: 30, offset: 38551}, label: "content", expr: &actionExpr{ - pos: position{line: 1225, col: 30, offset: 38608}, - run: (*parser).callonInlineMacro61, + pos: position{line: 1231, col: 30, offset: 38726}, + run: (*parser).callonInlineMacro69, expr: &oneOrMoreExpr{ - pos: position{line: 1225, col: 30, offset: 38608}, + pos: position{line: 1231, col: 30, offset: 38726}, expr: &choiceExpr{ - pos: position{line: 1225, col: 31, offset: 38609}, + pos: position{line: 1231, col: 31, offset: 38727}, alternatives: []interface{}{ &charClassMatcher{ - pos: position{line: 2813, col: 13, offset: 93503}, + pos: position{line: 2972, col: 13, offset: 96927}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -56396,10 +62958,10 @@ var g = &grammar{ inverted: false, }, &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, - run: (*parser).callonInlineMacro65, + pos: position{line: 3058, col: 10, offset: 99611}, + run: (*parser).callonInlineMacro73, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -56417,7 +62979,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1221, col: 5, offset: 38500}, + pos: position{line: 1227, col: 5, offset: 38618}, val: ")))", ignoreCase: false, want: "\")))\"", @@ -56426,11 +62988,11 @@ var g = &grammar{ }, }, &ruleRefExpr{ - pos: position{line: 2559, col: 11, offset: 85988}, + pos: position{line: 2703, col: 11, offset: 88902}, name: "IndexTerm", }, &ruleRefExpr{ - pos: position{line: 2560, col: 11, offset: 86008}, + pos: position{line: 2704, col: 11, offset: 88922}, name: "InlineUserMacro", }, }, @@ -56442,80 +63004,80 @@ var g = &grammar{ }, { name: "InlinePassthrough", - pos: position{line: 2564, col: 1, offset: 86070}, + pos: position{line: 2708, col: 1, offset: 88984}, expr: &actionExpr{ - pos: position{line: 2566, col: 5, offset: 86158}, + pos: position{line: 2710, col: 5, offset: 89072}, run: (*parser).callonInlinePassthrough1, expr: &seqExpr{ - pos: position{line: 2566, col: 5, offset: 86158}, + pos: position{line: 2710, col: 5, offset: 89072}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 2566, col: 5, offset: 86158}, + pos: position{line: 2710, col: 5, offset: 89072}, run: (*parser).callonInlinePassthrough3, }, &labeledExpr{ - pos: position{line: 2569, col: 5, offset: 86235}, + pos: position{line: 2713, col: 5, offset: 89149}, label: "element", expr: &choiceExpr{ - pos: position{line: 2570, col: 9, offset: 86253}, + pos: position{line: 2714, col: 9, offset: 89167}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1282, col: 26, offset: 41515}, + pos: position{line: 1288, col: 26, offset: 41633}, run: (*parser).callonInlinePassthrough6, expr: &seqExpr{ - pos: position{line: 1282, col: 26, offset: 41515}, + pos: position{line: 1288, col: 26, offset: 41633}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1280, col: 32, offset: 41483}, + pos: position{line: 1286, col: 32, offset: 41601}, val: "+++", ignoreCase: false, want: "\"+++\"", }, &labeledExpr{ - pos: position{line: 1282, col: 54, offset: 41543}, + pos: position{line: 1288, col: 54, offset: 41661}, label: "content", expr: &choiceExpr{ - pos: position{line: 1286, col: 33, offset: 41756}, + pos: position{line: 1292, col: 33, offset: 41874}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1286, col: 34, offset: 41757}, + pos: position{line: 1292, col: 34, offset: 41875}, run: (*parser).callonInlinePassthrough11, expr: &zeroOrMoreExpr{ - pos: position{line: 1286, col: 34, offset: 41757}, + pos: position{line: 1292, col: 34, offset: 41875}, expr: &seqExpr{ - pos: position{line: 1286, col: 35, offset: 41758}, + pos: position{line: 1292, col: 35, offset: 41876}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 1286, col: 35, offset: 41758}, + pos: position{line: 1292, col: 35, offset: 41876}, expr: &litMatcher{ - pos: position{line: 1280, col: 32, offset: 41483}, + pos: position{line: 1286, col: 32, offset: 41601}, val: "+++", ignoreCase: false, want: "\"+++\"", }, }, &anyMatcher{ - line: 1286, col: 64, offset: 41787, + line: 1292, col: 64, offset: 41905, }, }, }, }, }, &actionExpr{ - pos: position{line: 1288, col: 11, offset: 41960}, + pos: position{line: 1294, col: 11, offset: 42078}, run: (*parser).callonInlinePassthrough17, expr: &zeroOrOneExpr{ - pos: position{line: 1288, col: 11, offset: 41960}, + pos: position{line: 1294, col: 11, offset: 42078}, expr: &seqExpr{ - pos: position{line: 1288, col: 12, offset: 41961}, + pos: position{line: 1294, col: 12, offset: 42079}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 1288, col: 12, offset: 41961}, + pos: position{line: 1294, col: 12, offset: 42079}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonInlinePassthrough21, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -56524,27 +63086,27 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 1288, col: 19, offset: 41968}, + pos: position{line: 1294, col: 19, offset: 42086}, expr: &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonInlinePassthrough24, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -56554,16 +63116,16 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 1288, col: 28, offset: 41977}, + pos: position{line: 1294, col: 28, offset: 42095}, expr: &litMatcher{ - pos: position{line: 1280, col: 32, offset: 41483}, + pos: position{line: 1286, col: 32, offset: 41601}, val: "+++", ignoreCase: false, want: "\"+++\"", }, }, &anyMatcher{ - line: 1288, col: 57, offset: 42006, + line: 1294, col: 57, offset: 42124, }, }, }, @@ -56573,15 +63135,15 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1280, col: 32, offset: 41483}, + pos: position{line: 1286, col: 32, offset: 41601}, val: "+++", ignoreCase: false, want: "\"+++\"", }, ¬Expr{ - pos: position{line: 1282, col: 121, offset: 41610}, + pos: position{line: 1288, col: 121, offset: 41728}, expr: &charClassMatcher{ - pos: position{line: 2813, col: 13, offset: 93503}, + pos: position{line: 2972, col: 13, offset: 96927}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -56593,45 +63155,45 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1270, col: 26, offset: 40798}, + pos: position{line: 1276, col: 26, offset: 40916}, run: (*parser).callonInlinePassthrough35, expr: &seqExpr{ - pos: position{line: 1270, col: 26, offset: 40798}, + pos: position{line: 1276, col: 26, offset: 40916}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1268, col: 32, offset: 40768}, + pos: position{line: 1274, col: 32, offset: 40886}, val: "+", ignoreCase: false, want: "\"+\"", }, &labeledExpr{ - pos: position{line: 1270, col: 54, offset: 40826}, + pos: position{line: 1276, col: 54, offset: 40944}, label: "content", expr: &choiceExpr{ - pos: position{line: 1274, col: 33, offset: 41039}, + pos: position{line: 1280, col: 33, offset: 41157}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1274, col: 34, offset: 41040}, + pos: position{line: 1280, col: 34, offset: 41158}, run: (*parser).callonInlinePassthrough40, expr: &seqExpr{ - pos: position{line: 1274, col: 34, offset: 41040}, + pos: position{line: 1280, col: 34, offset: 41158}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 1274, col: 35, offset: 41041}, + pos: position{line: 1280, col: 35, offset: 41159}, expr: &litMatcher{ - pos: position{line: 1268, col: 32, offset: 40768}, + pos: position{line: 1274, col: 32, offset: 40886}, val: "+", ignoreCase: false, want: "\"+\"", }, }, ¬Expr{ - pos: position{line: 1274, col: 64, offset: 41070}, + pos: position{line: 1280, col: 64, offset: 41188}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonInlinePassthrough45, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -56640,27 +63202,27 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 1274, col: 71, offset: 41077}, + pos: position{line: 1280, col: 71, offset: 41195}, expr: &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonInlinePassthrough48, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -56670,25 +63232,25 @@ var g = &grammar{ }, }, &anyMatcher{ - line: 1274, col: 80, offset: 41086, + line: 1280, col: 80, offset: 41204, }, &zeroOrMoreExpr{ - pos: position{line: 1274, col: 83, offset: 41089}, + pos: position{line: 1280, col: 83, offset: 41207}, expr: &seqExpr{ - pos: position{line: 1274, col: 84, offset: 41090}, + pos: position{line: 1280, col: 84, offset: 41208}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 1274, col: 84, offset: 41090}, + pos: position{line: 1280, col: 84, offset: 41208}, expr: &seqExpr{ - pos: position{line: 1274, col: 86, offset: 41092}, + pos: position{line: 1280, col: 86, offset: 41210}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 2903, col: 11, offset: 96254}, + pos: position{line: 3062, col: 11, offset: 99678}, run: (*parser).callonInlinePassthrough58, expr: &oneOrMoreExpr{ - pos: position{line: 2903, col: 11, offset: 96254}, + pos: position{line: 3062, col: 11, offset: 99678}, expr: &charClassMatcher{ - pos: position{line: 2903, col: 12, offset: 96255}, + pos: position{line: 3062, col: 12, offset: 99679}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -56697,7 +63259,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1268, col: 32, offset: 40768}, + pos: position{line: 1274, col: 32, offset: 40886}, val: "+", ignoreCase: false, want: "\"+\"", @@ -56706,36 +63268,36 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 1274, col: 122, offset: 41128}, + pos: position{line: 1280, col: 122, offset: 41246}, expr: &litMatcher{ - pos: position{line: 1268, col: 32, offset: 40768}, + pos: position{line: 1274, col: 32, offset: 40886}, val: "+", ignoreCase: false, want: "\"+\"", }, }, ¬Expr{ - pos: position{line: 1274, col: 151, offset: 41157}, + pos: position{line: 1280, col: 151, offset: 41275}, expr: &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonInlinePassthrough65, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -56745,7 +63307,7 @@ var g = &grammar{ }, }, &anyMatcher{ - line: 1274, col: 160, offset: 41166, + line: 1280, col: 160, offset: 41284, }, }, }, @@ -56754,18 +63316,18 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1276, col: 11, offset: 41316}, + pos: position{line: 1282, col: 11, offset: 41434}, run: (*parser).callonInlinePassthrough71, expr: &seqExpr{ - pos: position{line: 1276, col: 12, offset: 41317}, + pos: position{line: 1282, col: 12, offset: 41435}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 1276, col: 12, offset: 41317}, + pos: position{line: 1282, col: 12, offset: 41435}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonInlinePassthrough74, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -56774,27 +63336,27 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 1276, col: 19, offset: 41324}, + pos: position{line: 1282, col: 19, offset: 41442}, expr: &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonInlinePassthrough77, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -56804,16 +63366,16 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 1276, col: 28, offset: 41333}, + pos: position{line: 1282, col: 28, offset: 41451}, expr: &litMatcher{ - pos: position{line: 1268, col: 32, offset: 40768}, + pos: position{line: 1274, col: 32, offset: 40886}, val: "+", ignoreCase: false, want: "\"+\"", }, }, &anyMatcher{ - line: 1276, col: 57, offset: 41362, + line: 1282, col: 57, offset: 41480, }, }, }, @@ -56822,15 +63384,15 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1268, col: 32, offset: 40768}, + pos: position{line: 1274, col: 32, offset: 40886}, val: "+", ignoreCase: false, want: "\"+\"", }, ¬Expr{ - pos: position{line: 1270, col: 121, offset: 40893}, + pos: position{line: 1276, col: 121, offset: 41011}, expr: &charClassMatcher{ - pos: position{line: 2813, col: 13, offset: 93503}, + pos: position{line: 2972, col: 13, offset: 96927}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -56842,7 +63404,7 @@ var g = &grammar{ }, }, &ruleRefExpr{ - pos: position{line: 2570, col: 57, offset: 86301}, + pos: position{line: 2714, col: 57, offset: 89215}, name: "PassthroughMacro", }, }, @@ -56854,29 +63416,29 @@ var g = &grammar{ }, { name: "Quote", - pos: position{line: 2575, col: 1, offset: 86361}, + pos: position{line: 2719, col: 1, offset: 89275}, expr: &actionExpr{ - pos: position{line: 2577, col: 5, offset: 86437}, + pos: position{line: 2721, col: 5, offset: 89351}, run: (*parser).callonQuote1, expr: &seqExpr{ - pos: position{line: 2577, col: 5, offset: 86437}, + pos: position{line: 2721, col: 5, offset: 89351}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 2577, col: 5, offset: 86437}, + pos: position{line: 2721, col: 5, offset: 89351}, run: (*parser).callonQuote3, }, &labeledExpr{ - pos: position{line: 2580, col: 5, offset: 86502}, + pos: position{line: 2724, col: 5, offset: 89416}, label: "element", expr: &choiceExpr{ - pos: position{line: 2581, col: 9, offset: 86520}, + pos: position{line: 2725, col: 9, offset: 89434}, alternatives: []interface{}{ &ruleRefExpr{ - pos: position{line: 2581, col: 9, offset: 86520}, + pos: position{line: 2725, col: 9, offset: 89434}, name: "QuotedText", }, &ruleRefExpr{ - pos: position{line: 2582, col: 11, offset: 86542}, + pos: position{line: 2726, col: 11, offset: 89456}, name: "QuotedString", }, }, @@ -56888,66 +63450,66 @@ var g = &grammar{ }, { name: "TableColumnsAttribute", - pos: position{line: 2728, col: 1, offset: 90561}, + pos: position{line: 2887, col: 1, offset: 93985}, expr: &actionExpr{ - pos: position{line: 2728, col: 26, offset: 90586}, + pos: position{line: 2887, col: 26, offset: 94010}, run: (*parser).callonTableColumnsAttribute1, expr: &seqExpr{ - pos: position{line: 2728, col: 26, offset: 90586}, + pos: position{line: 2887, col: 26, offset: 94010}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 2728, col: 26, offset: 90586}, + pos: position{line: 2887, col: 26, offset: 94010}, label: "cols", expr: &zeroOrMoreExpr{ - pos: position{line: 2728, col: 31, offset: 90591}, + pos: position{line: 2887, col: 31, offset: 94015}, expr: &actionExpr{ - pos: position{line: 2733, col: 5, offset: 90654}, + pos: position{line: 2892, col: 5, offset: 94078}, run: (*parser).callonTableColumnsAttribute5, expr: &seqExpr{ - pos: position{line: 2733, col: 5, offset: 90654}, + pos: position{line: 2892, col: 5, offset: 94078}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 2733, col: 5, offset: 90654}, + pos: position{line: 2892, col: 5, offset: 94078}, expr: ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, &labeledExpr{ - pos: position{line: 2736, col: 5, offset: 90778}, + pos: position{line: 2895, col: 5, offset: 94202}, label: "multiplier", expr: &zeroOrOneExpr{ - pos: position{line: 2736, col: 16, offset: 90789}, + pos: position{line: 2895, col: 16, offset: 94213}, expr: &actionExpr{ - pos: position{line: 2736, col: 17, offset: 90790}, + pos: position{line: 2895, col: 17, offset: 94214}, run: (*parser).callonTableColumnsAttribute12, expr: &seqExpr{ - pos: position{line: 2736, col: 17, offset: 90790}, + pos: position{line: 2895, col: 17, offset: 94214}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 2736, col: 17, offset: 90790}, + pos: position{line: 2895, col: 17, offset: 94214}, label: "n", expr: &actionExpr{ - pos: position{line: 2891, col: 12, offset: 96014}, + pos: position{line: 3050, col: 12, offset: 99438}, run: (*parser).callonTableColumnsAttribute15, expr: &seqExpr{ - pos: position{line: 2891, col: 13, offset: 96015}, + pos: position{line: 3050, col: 13, offset: 99439}, exprs: []interface{}{ &zeroOrOneExpr{ - pos: position{line: 2891, col: 13, offset: 96015}, + pos: position{line: 3050, col: 13, offset: 99439}, expr: &litMatcher{ - pos: position{line: 2891, col: 13, offset: 96015}, + pos: position{line: 3050, col: 13, offset: 99439}, val: "-", ignoreCase: false, want: "\"-\"", }, }, &oneOrMoreExpr{ - pos: position{line: 2891, col: 18, offset: 96020}, + pos: position{line: 3050, col: 18, offset: 99444}, expr: &charClassMatcher{ - pos: position{line: 2891, col: 18, offset: 96020}, + pos: position{line: 3050, col: 18, offset: 99444}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -56959,7 +63521,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 2736, col: 27, offset: 90800}, + pos: position{line: 2895, col: 27, offset: 94224}, val: "*", ignoreCase: false, want: "\"*\"", @@ -56970,38 +63532,38 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 2737, col: 5, offset: 90828}, + pos: position{line: 2896, col: 5, offset: 94252}, label: "halign", expr: &zeroOrOneExpr{ - pos: position{line: 2737, col: 12, offset: 90835}, + pos: position{line: 2896, col: 12, offset: 94259}, expr: &choiceExpr{ - pos: position{line: 2738, col: 9, offset: 90845}, + pos: position{line: 2897, col: 9, offset: 94269}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2738, col: 9, offset: 90845}, + pos: position{line: 2897, col: 9, offset: 94269}, run: (*parser).callonTableColumnsAttribute25, expr: &litMatcher{ - pos: position{line: 2738, col: 9, offset: 90845}, + pos: position{line: 2897, col: 9, offset: 94269}, val: "<", ignoreCase: false, want: "\"<\"", }, }, &actionExpr{ - pos: position{line: 2739, col: 11, offset: 90892}, + pos: position{line: 2898, col: 11, offset: 94316}, run: (*parser).callonTableColumnsAttribute27, expr: &litMatcher{ - pos: position{line: 2739, col: 11, offset: 90892}, + pos: position{line: 2898, col: 11, offset: 94316}, val: ">", ignoreCase: false, want: "\">\"", }, }, &actionExpr{ - pos: position{line: 2740, col: 11, offset: 90940}, + pos: position{line: 2899, col: 11, offset: 94364}, run: (*parser).callonTableColumnsAttribute29, expr: &litMatcher{ - pos: position{line: 2740, col: 11, offset: 90940}, + pos: position{line: 2899, col: 11, offset: 94364}, val: "^", ignoreCase: false, want: "\"^\"", @@ -57012,38 +63574,38 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 2742, col: 5, offset: 90990}, + pos: position{line: 2901, col: 5, offset: 94414}, label: "valign", expr: &zeroOrOneExpr{ - pos: position{line: 2742, col: 12, offset: 90997}, + pos: position{line: 2901, col: 12, offset: 94421}, expr: &choiceExpr{ - pos: position{line: 2743, col: 9, offset: 91007}, + pos: position{line: 2902, col: 9, offset: 94431}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2743, col: 9, offset: 91007}, + pos: position{line: 2902, col: 9, offset: 94431}, run: (*parser).callonTableColumnsAttribute34, expr: &litMatcher{ - pos: position{line: 2743, col: 9, offset: 91007}, + pos: position{line: 2902, col: 9, offset: 94431}, val: ".<", ignoreCase: false, want: "\".<\"", }, }, &actionExpr{ - pos: position{line: 2744, col: 11, offset: 91054}, + pos: position{line: 2903, col: 11, offset: 94478}, run: (*parser).callonTableColumnsAttribute36, expr: &litMatcher{ - pos: position{line: 2744, col: 11, offset: 91054}, + pos: position{line: 2903, col: 11, offset: 94478}, val: ".>", ignoreCase: false, want: "\".>\"", }, }, &actionExpr{ - pos: position{line: 2745, col: 11, offset: 91104}, + pos: position{line: 2904, col: 11, offset: 94528}, run: (*parser).callonTableColumnsAttribute38, expr: &litMatcher{ - pos: position{line: 2745, col: 11, offset: 91104}, + pos: position{line: 2904, col: 11, offset: 94528}, val: ".^", ignoreCase: false, want: "\".^\"", @@ -57054,32 +63616,32 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 2747, col: 5, offset: 91155}, + pos: position{line: 2906, col: 5, offset: 94579}, label: "weight", expr: &zeroOrOneExpr{ - pos: position{line: 2747, col: 12, offset: 91162}, + pos: position{line: 2906, col: 12, offset: 94586}, expr: &choiceExpr{ - pos: position{line: 2747, col: 13, offset: 91163}, + pos: position{line: 2906, col: 13, offset: 94587}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2891, col: 12, offset: 96014}, + pos: position{line: 3050, col: 12, offset: 99438}, run: (*parser).callonTableColumnsAttribute43, expr: &seqExpr{ - pos: position{line: 2891, col: 13, offset: 96015}, + pos: position{line: 3050, col: 13, offset: 99439}, exprs: []interface{}{ &zeroOrOneExpr{ - pos: position{line: 2891, col: 13, offset: 96015}, + pos: position{line: 3050, col: 13, offset: 99439}, expr: &litMatcher{ - pos: position{line: 2891, col: 13, offset: 96015}, + pos: position{line: 3050, col: 13, offset: 99439}, val: "-", ignoreCase: false, want: "\"-\"", }, }, &oneOrMoreExpr{ - pos: position{line: 2891, col: 18, offset: 96020}, + pos: position{line: 3050, col: 18, offset: 99444}, expr: &charClassMatcher{ - pos: position{line: 2891, col: 18, offset: 96020}, + pos: position{line: 3050, col: 18, offset: 99444}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -57090,10 +63652,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2747, col: 24, offset: 91174}, + pos: position{line: 2906, col: 24, offset: 94598}, run: (*parser).callonTableColumnsAttribute49, expr: &litMatcher{ - pos: position{line: 2747, col: 24, offset: 91174}, + pos: position{line: 2906, col: 24, offset: 94598}, val: "~", ignoreCase: false, want: "\"~\"", @@ -57104,15 +63666,15 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 2748, col: 5, offset: 91216}, + pos: position{line: 2907, col: 5, offset: 94640}, label: "style", expr: &zeroOrOneExpr{ - pos: position{line: 2748, col: 11, offset: 91222}, + pos: position{line: 2907, col: 11, offset: 94646}, expr: &actionExpr{ - pos: position{line: 2748, col: 12, offset: 91223}, + pos: position{line: 2907, col: 12, offset: 94647}, run: (*parser).callonTableColumnsAttribute53, expr: &charClassMatcher{ - pos: position{line: 2748, col: 12, offset: 91223}, + pos: position{line: 2907, col: 12, offset: 94647}, val: "[adehlms]", chars: []rune{'a', 'd', 'e', 'h', 'l', 'm', 's'}, ignoreCase: false, @@ -57122,12 +63684,12 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 2750, col: 5, offset: 91353}, + pos: position{line: 2909, col: 5, offset: 94777}, label: "comma", expr: &zeroOrOneExpr{ - pos: position{line: 2750, col: 11, offset: 91359}, + pos: position{line: 2909, col: 11, offset: 94783}, expr: &litMatcher{ - pos: position{line: 2750, col: 12, offset: 91360}, + pos: position{line: 2909, col: 12, offset: 94784}, val: ",", ignoreCase: false, want: "\",\"", @@ -57135,7 +63697,7 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 2751, col: 5, offset: 91370}, + pos: position{line: 2910, col: 5, offset: 94794}, run: (*parser).callonTableColumnsAttribute58, }, }, @@ -57144,9 +63706,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -57155,23 +63717,23 @@ var g = &grammar{ }, { name: "UserMacroBlock", - pos: position{line: 2778, col: 1, offset: 92379}, + pos: position{line: 2937, col: 1, offset: 95803}, expr: &actionExpr{ - pos: position{line: 2779, col: 5, offset: 92402}, + pos: position{line: 2938, col: 5, offset: 95826}, run: (*parser).callonUserMacroBlock1, expr: &seqExpr{ - pos: position{line: 2779, col: 5, offset: 92402}, + pos: position{line: 2938, col: 5, offset: 95826}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 2779, col: 5, offset: 92402}, + pos: position{line: 2938, col: 5, offset: 95826}, label: "name", expr: &actionExpr{ - pos: position{line: 2802, col: 18, offset: 93167}, + pos: position{line: 2961, col: 18, offset: 96591}, run: (*parser).callonUserMacroBlock4, expr: &oneOrMoreExpr{ - pos: position{line: 2802, col: 19, offset: 93168}, + pos: position{line: 2961, col: 19, offset: 96592}, expr: &charClassMatcher{ - pos: position{line: 2802, col: 19, offset: 93168}, + pos: position{line: 2961, col: 19, offset: 96592}, val: "[_-0-9\\pL]", chars: []rune{'_', '-'}, ranges: []rune{'0', '9'}, @@ -57183,25 +63745,25 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 2780, col: 5, offset: 92428}, + pos: position{line: 2939, col: 5, offset: 95852}, run: (*parser).callonUserMacroBlock7, }, &litMatcher{ - pos: position{line: 2784, col: 5, offset: 92568}, + pos: position{line: 2943, col: 5, offset: 95992}, val: "::", ignoreCase: false, want: "\"::\"", }, &labeledExpr{ - pos: position{line: 2785, col: 5, offset: 92578}, + pos: position{line: 2944, col: 5, offset: 96002}, label: "value", expr: &actionExpr{ - pos: position{line: 2806, col: 19, offset: 93243}, + pos: position{line: 2965, col: 19, offset: 96667}, run: (*parser).callonUserMacroBlock10, expr: &zeroOrMoreExpr{ - pos: position{line: 2806, col: 19, offset: 93243}, + pos: position{line: 2965, col: 19, offset: 96667}, expr: &charClassMatcher{ - pos: position{line: 2806, col: 19, offset: 93243}, + pos: position{line: 2965, col: 19, offset: 96667}, val: "[^:[ \\r\\n]", chars: []rune{':', '[', ' ', '\r', '\n'}, ignoreCase: false, @@ -57211,36 +63773,36 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 2786, col: 5, offset: 92606}, + pos: position{line: 2945, col: 5, offset: 96030}, label: "attributes", expr: &ruleRefExpr{ - pos: position{line: 2786, col: 17, offset: 92618}, + pos: position{line: 2945, col: 17, offset: 96042}, name: "InlineAttributes", }, }, &choiceExpr{ - pos: position{line: 2915, col: 8, offset: 96511}, + pos: position{line: 3074, col: 8, offset: 99935}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2908, col: 12, offset: 96371}, + pos: position{line: 3067, col: 12, offset: 99795}, run: (*parser).callonUserMacroBlock16, expr: &choiceExpr{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2908, col: 13, offset: 96372}, + pos: position{line: 3067, col: 13, offset: 99796}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 20, offset: 96379}, + pos: position{line: 3067, col: 20, offset: 99803}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2908, col: 29, offset: 96388}, + pos: position{line: 3067, col: 29, offset: 99812}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -57249,9 +63811,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, }, @@ -57262,23 +63824,23 @@ var g = &grammar{ }, { name: "InlineUserMacro", - pos: position{line: 2790, col: 1, offset: 92766}, + pos: position{line: 2949, col: 1, offset: 96190}, expr: &actionExpr{ - pos: position{line: 2791, col: 5, offset: 92790}, + pos: position{line: 2950, col: 5, offset: 96214}, run: (*parser).callonInlineUserMacro1, expr: &seqExpr{ - pos: position{line: 2791, col: 5, offset: 92790}, + pos: position{line: 2950, col: 5, offset: 96214}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 2791, col: 5, offset: 92790}, + pos: position{line: 2950, col: 5, offset: 96214}, label: "name", expr: &actionExpr{ - pos: position{line: 2802, col: 18, offset: 93167}, + pos: position{line: 2961, col: 18, offset: 96591}, run: (*parser).callonInlineUserMacro4, expr: &oneOrMoreExpr{ - pos: position{line: 2802, col: 19, offset: 93168}, + pos: position{line: 2961, col: 19, offset: 96592}, expr: &charClassMatcher{ - pos: position{line: 2802, col: 19, offset: 93168}, + pos: position{line: 2961, col: 19, offset: 96592}, val: "[_-0-9\\pL]", chars: []rune{'_', '-'}, ranges: []rune{'0', '9'}, @@ -57290,25 +63852,25 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 2792, col: 5, offset: 92816}, + pos: position{line: 2951, col: 5, offset: 96240}, run: (*parser).callonInlineUserMacro7, }, &litMatcher{ - pos: position{line: 2796, col: 5, offset: 92956}, + pos: position{line: 2955, col: 5, offset: 96380}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 2797, col: 5, offset: 92965}, + pos: position{line: 2956, col: 5, offset: 96389}, label: "value", expr: &actionExpr{ - pos: position{line: 2806, col: 19, offset: 93243}, + pos: position{line: 2965, col: 19, offset: 96667}, run: (*parser).callonInlineUserMacro10, expr: &zeroOrMoreExpr{ - pos: position{line: 2806, col: 19, offset: 93243}, + pos: position{line: 2965, col: 19, offset: 96667}, expr: &charClassMatcher{ - pos: position{line: 2806, col: 19, offset: 93243}, + pos: position{line: 2965, col: 19, offset: 96667}, val: "[^:[ \\r\\n]", chars: []rune{':', '[', ' ', '\r', '\n'}, ignoreCase: false, @@ -57318,10 +63880,10 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 2798, col: 5, offset: 92993}, + pos: position{line: 2957, col: 5, offset: 96417}, label: "attributes", expr: &ruleRefExpr{ - pos: position{line: 2798, col: 17, offset: 93005}, + pos: position{line: 2957, col: 17, offset: 96429}, name: "InlineAttributes", }, }, @@ -57331,48 +63893,48 @@ var g = &grammar{ }, { name: "FileLocation", - pos: position{line: 2855, col: 1, offset: 94789}, + pos: position{line: 3014, col: 1, offset: 98213}, expr: &actionExpr{ - pos: position{line: 2855, col: 17, offset: 94805}, + pos: position{line: 3014, col: 17, offset: 98229}, run: (*parser).callonFileLocation1, expr: &labeledExpr{ - pos: position{line: 2855, col: 17, offset: 94805}, + pos: position{line: 3014, col: 17, offset: 98229}, label: "path", expr: &oneOrMoreExpr{ - pos: position{line: 2855, col: 22, offset: 94810}, + pos: position{line: 3014, col: 22, offset: 98234}, expr: &choiceExpr{ - pos: position{line: 2855, col: 23, offset: 94811}, + pos: position{line: 3014, col: 23, offset: 98235}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2870, col: 5, offset: 95267}, + pos: position{line: 3029, col: 5, offset: 98691}, run: (*parser).callonFileLocation5, expr: &seqExpr{ - pos: position{line: 2870, col: 5, offset: 95267}, + pos: position{line: 3029, col: 5, offset: 98691}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 2870, col: 5, offset: 95267}, + pos: position{line: 3029, col: 5, offset: 98691}, expr: &litMatcher{ - pos: position{line: 2870, col: 6, offset: 95268}, + pos: position{line: 3029, col: 6, offset: 98692}, val: "[", ignoreCase: false, want: "\"[\"", }, }, &labeledExpr{ - pos: position{line: 2871, col: 5, offset: 95292}, + pos: position{line: 3030, col: 5, offset: 98716}, label: "elements", expr: &oneOrMoreExpr{ - pos: position{line: 2871, col: 14, offset: 95301}, + pos: position{line: 3030, col: 14, offset: 98725}, expr: &choiceExpr{ - pos: position{line: 2872, col: 9, offset: 95311}, + pos: position{line: 3031, col: 9, offset: 98735}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2872, col: 9, offset: 95311}, + pos: position{line: 3031, col: 9, offset: 98735}, run: (*parser).callonFileLocation12, expr: &oneOrMoreExpr{ - pos: position{line: 2872, col: 9, offset: 95311}, + pos: position{line: 3031, col: 9, offset: 98735}, expr: &charClassMatcher{ - pos: position{line: 2872, col: 10, offset: 95312}, + pos: position{line: 3031, col: 10, offset: 98736}, val: "[^\\r\\n[]�{.,;?!<> ]", chars: []rune{'\r', '\n', '[', ']', '�', '{', '.', ',', ';', '?', '!', '<', '>', ' '}, ignoreCase: false, @@ -57381,13 +63943,13 @@ var g = &grammar{ }, }, &seqExpr{ - pos: position{line: 2875, col: 11, offset: 95577}, + pos: position{line: 3034, col: 11, offset: 99001}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 2845, col: 25, offset: 94548}, + pos: position{line: 3004, col: 25, offset: 97972}, run: (*parser).callonFileLocation16, expr: &charClassMatcher{ - pos: position{line: 2845, col: 25, offset: 94548}, + pos: position{line: 3004, col: 25, offset: 97972}, val: "[.,;?!]", chars: []rune{'.', ',', ';', '?', '!'}, ignoreCase: false, @@ -57395,23 +63957,23 @@ var g = &grammar{ }, }, &andExpr{ - pos: position{line: 2875, col: 32, offset: 95598}, + pos: position{line: 3034, col: 32, offset: 99022}, expr: ¬Expr{ - pos: position{line: 2875, col: 34, offset: 95600}, + pos: position{line: 3034, col: 34, offset: 99024}, expr: &choiceExpr{ - pos: position{line: 2875, col: 36, offset: 95602}, + pos: position{line: 3034, col: 36, offset: 99026}, alternatives: []interface{}{ ¬Expr{ - pos: position{line: 2912, col: 8, offset: 96461}, + pos: position{line: 3071, col: 8, offset: 99885}, expr: &anyMatcher{ - line: 2912, col: 9, offset: 96462, + line: 3071, col: 9, offset: 99886, }, }, &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, + pos: position{line: 3058, col: 10, offset: 99611}, run: (*parser).callonFileLocation23, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -57425,44 +63987,44 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 651, col: 5, offset: 21000}, + pos: position{line: 641, col: 5, offset: 20579}, run: (*parser).callonFileLocation25, expr: &seqExpr{ - pos: position{line: 651, col: 5, offset: 21000}, + pos: position{line: 641, col: 5, offset: 20579}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 651, col: 5, offset: 21000}, + pos: position{line: 641, col: 5, offset: 20579}, run: (*parser).callonFileLocation27, }, &labeledExpr{ - pos: position{line: 654, col: 5, offset: 21069}, + pos: position{line: 644, col: 5, offset: 20648}, label: "element", expr: &choiceExpr{ - pos: position{line: 654, col: 14, offset: 21078}, + pos: position{line: 644, col: 14, offset: 20657}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 666, col: 25, offset: 21447}, + pos: position{line: 664, col: 25, offset: 21310}, run: (*parser).callonFileLocation30, expr: &seqExpr{ - pos: position{line: 666, col: 25, offset: 21447}, + pos: position{line: 664, col: 25, offset: 21310}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 666, col: 25, offset: 21447}, + pos: position{line: 664, col: 25, offset: 21310}, val: "{counter:", ignoreCase: false, want: "\"{counter:\"", }, &labeledExpr{ - pos: position{line: 666, col: 37, offset: 21459}, + pos: position{line: 664, col: 37, offset: 21322}, label: "name", expr: &actionExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, run: (*parser).callonFileLocation34, expr: &seqExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -57471,9 +64033,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 332, col: 28, offset: 10403}, + pos: position{line: 324, col: 28, offset: 10064}, expr: &charClassMatcher{ - pos: position{line: 332, col: 29, offset: 10404}, + pos: position{line: 324, col: 29, offset: 10065}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -57487,33 +64049,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 666, col: 56, offset: 21478}, + pos: position{line: 664, col: 56, offset: 21341}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 666, col: 62, offset: 21484}, + pos: position{line: 664, col: 62, offset: 21347}, expr: &actionExpr{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, run: (*parser).callonFileLocation41, expr: &seqExpr{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 674, col: 21, offset: 21783}, + pos: position{line: 672, col: 21, offset: 21646}, label: "start", expr: &choiceExpr{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, run: (*parser).callonFileLocation46, expr: &charClassMatcher{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -57521,12 +64083,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, run: (*parser).callonFileLocation48, expr: &oneOrMoreExpr{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, expr: &charClassMatcher{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -57543,7 +64105,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 666, col: 78, offset: 21500}, + pos: position{line: 664, col: 78, offset: 21363}, val: "}", ignoreCase: false, want: "\"}\"", @@ -57552,28 +64114,28 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 670, col: 25, offset: 21618}, + pos: position{line: 668, col: 25, offset: 21481}, run: (*parser).callonFileLocation52, expr: &seqExpr{ - pos: position{line: 670, col: 25, offset: 21618}, + pos: position{line: 668, col: 25, offset: 21481}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 670, col: 25, offset: 21618}, + pos: position{line: 668, col: 25, offset: 21481}, val: "{counter2:", ignoreCase: false, want: "\"{counter2:\"", }, &labeledExpr{ - pos: position{line: 670, col: 38, offset: 21631}, + pos: position{line: 668, col: 38, offset: 21494}, label: "name", expr: &actionExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, run: (*parser).callonFileLocation56, expr: &seqExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -57582,9 +64144,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 332, col: 28, offset: 10403}, + pos: position{line: 324, col: 28, offset: 10064}, expr: &charClassMatcher{ - pos: position{line: 332, col: 29, offset: 10404}, + pos: position{line: 324, col: 29, offset: 10065}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -57598,33 +64160,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 670, col: 57, offset: 21650}, + pos: position{line: 668, col: 57, offset: 21513}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 670, col: 63, offset: 21656}, + pos: position{line: 668, col: 63, offset: 21519}, expr: &actionExpr{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, run: (*parser).callonFileLocation63, expr: &seqExpr{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 674, col: 17, offset: 21779}, + pos: position{line: 672, col: 17, offset: 21642}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 674, col: 21, offset: 21783}, + pos: position{line: 672, col: 21, offset: 21646}, label: "start", expr: &choiceExpr{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, run: (*parser).callonFileLocation68, expr: &charClassMatcher{ - pos: position{line: 674, col: 28, offset: 21790}, + pos: position{line: 672, col: 28, offset: 21653}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -57632,12 +64194,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, run: (*parser).callonFileLocation70, expr: &oneOrMoreExpr{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, expr: &charClassMatcher{ - pos: position{line: 676, col: 9, offset: 21844}, + pos: position{line: 674, col: 9, offset: 21707}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -57654,7 +64216,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 670, col: 79, offset: 21672}, + pos: position{line: 668, col: 79, offset: 21535}, val: "}", ignoreCase: false, want: "\"}\"", @@ -57663,28 +64225,83 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 659, col: 5, offset: 21191}, + pos: position{line: 650, col: 5, offset: 20786}, run: (*parser).callonFileLocation74, expr: &seqExpr{ - pos: position{line: 659, col: 5, offset: 21191}, + pos: position{line: 650, col: 5, offset: 20786}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 659, col: 5, offset: 21191}, + pos: position{line: 650, col: 5, offset: 20786}, + val: "\\{", + ignoreCase: false, + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 650, col: 13, offset: 20794}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + run: (*parser).callonFileLocation78, + expr: &seqExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 324, col: 18, offset: 10054}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 324, col: 28, offset: 10064}, + expr: &charClassMatcher{ + pos: position{line: 324, col: 29, offset: 10065}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 650, col: 32, offset: 20813}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 657, col: 5, offset: 21054}, + run: (*parser).callonFileLocation84, + expr: &seqExpr{ + pos: position{line: 657, col: 5, offset: 21054}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 657, col: 5, offset: 21054}, val: "{", ignoreCase: false, want: "\"{\"", }, &labeledExpr{ - pos: position{line: 659, col: 9, offset: 21195}, + pos: position{line: 657, col: 9, offset: 21058}, label: "name", expr: &actionExpr{ - pos: position{line: 332, col: 18, offset: 10393}, - run: (*parser).callonFileLocation78, + pos: position{line: 324, col: 18, offset: 10054}, + run: (*parser).callonFileLocation88, expr: &seqExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -57693,9 +64310,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 332, col: 28, offset: 10403}, + pos: position{line: 324, col: 28, offset: 10064}, expr: &charClassMatcher{ - pos: position{line: 332, col: 29, offset: 10404}, + pos: position{line: 324, col: 29, offset: 10065}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -57709,7 +64326,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 659, col: 28, offset: 21214}, + pos: position{line: 657, col: 28, offset: 21077}, val: "}", ignoreCase: false, want: "\"}\"", @@ -57724,49 +64341,49 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2599, col: 5, offset: 86909}, - run: (*parser).callonFileLocation84, + pos: position{line: 2743, col: 5, offset: 89823}, + run: (*parser).callonFileLocation94, expr: &seqExpr{ - pos: position{line: 2599, col: 5, offset: 86909}, + pos: position{line: 2743, col: 5, offset: 89823}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 2599, col: 5, offset: 86909}, - run: (*parser).callonFileLocation86, + pos: position{line: 2743, col: 5, offset: 89823}, + run: (*parser).callonFileLocation96, }, &labeledExpr{ - pos: position{line: 2602, col: 5, offset: 86985}, + pos: position{line: 2746, col: 5, offset: 89899}, label: "element", expr: &choiceExpr{ - pos: position{line: 2604, col: 9, offset: 87083}, + pos: position{line: 2748, col: 9, offset: 89997}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2604, col: 9, offset: 87083}, - run: (*parser).callonFileLocation89, + pos: position{line: 2748, col: 9, offset: 89997}, + run: (*parser).callonFileLocation99, expr: &choiceExpr{ - pos: position{line: 694, col: 27, offset: 22498}, + pos: position{line: 692, col: 27, offset: 22361}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 694, col: 27, offset: 22498}, - run: (*parser).callonFileLocation91, + pos: position{line: 692, col: 27, offset: 22361}, + run: (*parser).callonFileLocation101, expr: &seqExpr{ - pos: position{line: 694, col: 27, offset: 22498}, + pos: position{line: 692, col: 27, offset: 22361}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 694, col: 27, offset: 22498}, + pos: position{line: 692, col: 27, offset: 22361}, val: "<<", ignoreCase: false, want: "\"<<\"", }, &labeledExpr{ - pos: position{line: 694, col: 32, offset: 22503}, + pos: position{line: 692, col: 32, offset: 22366}, label: "id", expr: &actionExpr{ - pos: position{line: 2884, col: 7, offset: 95839}, - run: (*parser).callonFileLocation95, + pos: position{line: 3043, col: 7, offset: 99263}, + run: (*parser).callonFileLocation105, expr: &oneOrMoreExpr{ - pos: position{line: 2884, col: 7, offset: 95839}, + pos: position{line: 3043, col: 7, offset: 99263}, expr: &charClassMatcher{ - pos: position{line: 2884, col: 7, offset: 95839}, + pos: position{line: 3043, col: 7, offset: 99263}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -57776,12 +64393,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 694, col: 40, offset: 22511}, + pos: position{line: 692, col: 40, offset: 22374}, expr: &actionExpr{ - pos: position{line: 2899, col: 10, offset: 96187}, - run: (*parser).callonFileLocation99, + pos: position{line: 3058, col: 10, offset: 99611}, + run: (*parser).callonFileLocation109, expr: &charClassMatcher{ - pos: position{line: 2899, col: 11, offset: 96188}, + pos: position{line: 3058, col: 11, offset: 99612}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -57790,27 +64407,27 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 694, col: 47, offset: 22518}, + pos: position{line: 692, col: 47, offset: 22381}, val: ",", ignoreCase: false, want: "\",\"", }, &labeledExpr{ - pos: position{line: 694, col: 51, offset: 22522}, + pos: position{line: 692, col: 51, offset: 22385}, label: "label", expr: &oneOrMoreExpr{ - pos: position{line: 704, col: 24, offset: 22923}, + pos: position{line: 702, col: 24, offset: 22786}, expr: &choiceExpr{ - pos: position{line: 705, col: 5, offset: 22929}, + pos: position{line: 703, col: 5, offset: 22792}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 705, col: 6, offset: 22930}, - run: (*parser).callonFileLocation105, + pos: position{line: 703, col: 6, offset: 22793}, + run: (*parser).callonFileLocation115, expr: &seqExpr{ - pos: position{line: 705, col: 6, offset: 22930}, + pos: position{line: 703, col: 6, offset: 22793}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 705, col: 6, offset: 22930}, + pos: position{line: 703, col: 6, offset: 22793}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -57818,9 +64435,9 @@ var g = &grammar{ inverted: false, }, &oneOrMoreExpr{ - pos: position{line: 705, col: 14, offset: 22938}, + pos: position{line: 703, col: 14, offset: 22801}, expr: &charClassMatcher{ - pos: position{line: 705, col: 14, offset: 22938}, + pos: position{line: 703, col: 14, offset: 22801}, val: "[^\\r\\n{<>]", chars: []rune{'\r', '\n', '{', '<', '>'}, ignoreCase: false, @@ -57831,28 +64448,83 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 659, col: 5, offset: 21191}, - run: (*parser).callonFileLocation110, + pos: position{line: 650, col: 5, offset: 20786}, + run: (*parser).callonFileLocation120, expr: &seqExpr{ - pos: position{line: 659, col: 5, offset: 21191}, + pos: position{line: 650, col: 5, offset: 20786}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 659, col: 5, offset: 21191}, + pos: position{line: 650, col: 5, offset: 20786}, + val: "\\{", + ignoreCase: false, + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 650, col: 13, offset: 20794}, + label: "name", + expr: &actionExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + run: (*parser).callonFileLocation124, + expr: &seqExpr{ + pos: position{line: 324, col: 18, offset: 10054}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 324, col: 18, offset: 10054}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 324, col: 28, offset: 10064}, + expr: &charClassMatcher{ + pos: position{line: 324, col: 29, offset: 10065}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 650, col: 32, offset: 20813}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 657, col: 5, offset: 21054}, + run: (*parser).callonFileLocation130, + expr: &seqExpr{ + pos: position{line: 657, col: 5, offset: 21054}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 657, col: 5, offset: 21054}, val: "{", ignoreCase: false, want: "\"{\"", }, &labeledExpr{ - pos: position{line: 659, col: 9, offset: 21195}, + pos: position{line: 657, col: 9, offset: 21058}, label: "name", expr: &actionExpr{ - pos: position{line: 332, col: 18, offset: 10393}, - run: (*parser).callonFileLocation114, + pos: position{line: 324, col: 18, offset: 10054}, + run: (*parser).callonFileLocation134, expr: &seqExpr{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 332, col: 18, offset: 10393}, + pos: position{line: 324, col: 18, offset: 10054}, val: "[_0-9\\pL]", chars: []rune{'_'}, ranges: []rune{'0', '9'}, @@ -57861,9 +64533,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 332, col: 28, offset: 10403}, + pos: position{line: 324, col: 28, offset: 10064}, expr: &charClassMatcher{ - pos: position{line: 332, col: 29, offset: 10404}, + pos: position{line: 324, col: 29, offset: 10065}, val: "[-0-9\\pL]", chars: []rune{'-'}, ranges: []rune{'0', '9'}, @@ -57877,7 +64549,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 659, col: 28, offset: 21214}, + pos: position{line: 657, col: 28, offset: 21077}, val: "}", ignoreCase: false, want: "\"}\"", @@ -57886,10 +64558,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 709, col: 8, offset: 23164}, - run: (*parser).callonFileLocation120, + pos: position{line: 707, col: 8, offset: 23027}, + run: (*parser).callonFileLocation140, expr: &litMatcher{ - pos: position{line: 709, col: 8, offset: 23164}, + pos: position{line: 707, col: 8, offset: 23027}, val: "{", ignoreCase: false, want: "\"{\"", @@ -57900,7 +64572,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 694, col: 79, offset: 22550}, + pos: position{line: 692, col: 79, offset: 22413}, val: ">>", ignoreCase: false, want: "\">>\"", @@ -57909,27 +64581,27 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 696, col: 9, offset: 22623}, - run: (*parser).callonFileLocation123, + pos: position{line: 694, col: 9, offset: 22486}, + run: (*parser).callonFileLocation143, expr: &seqExpr{ - pos: position{line: 696, col: 9, offset: 22623}, + pos: position{line: 694, col: 9, offset: 22486}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 696, col: 9, offset: 22623}, + pos: position{line: 694, col: 9, offset: 22486}, val: "<<", ignoreCase: false, want: "\"<<\"", }, &labeledExpr{ - pos: position{line: 696, col: 14, offset: 22628}, + pos: position{line: 694, col: 14, offset: 22491}, label: "id", expr: &actionExpr{ - pos: position{line: 2884, col: 7, offset: 95839}, - run: (*parser).callonFileLocation127, + pos: position{line: 3043, col: 7, offset: 99263}, + run: (*parser).callonFileLocation147, expr: &oneOrMoreExpr{ - pos: position{line: 2884, col: 7, offset: 95839}, + pos: position{line: 3043, col: 7, offset: 99263}, expr: &charClassMatcher{ - pos: position{line: 2884, col: 7, offset: 95839}, + pos: position{line: 3043, col: 7, offset: 99263}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -57939,7 +64611,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 696, col: 22, offset: 22636}, + pos: position{line: 694, col: 22, offset: 22499}, val: ">>", ignoreCase: false, want: "\">>\"", @@ -57951,10 +64623,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2607, col: 11, offset: 87187}, - run: (*parser).callonFileLocation131, + pos: position{line: 2751, col: 11, offset: 90101}, + run: (*parser).callonFileLocation151, expr: &charClassMatcher{ - pos: position{line: 2607, col: 12, offset: 87188}, + pos: position{line: 2751, col: 12, offset: 90102}, val: "[<>&]", chars: []rune{'<', '>', '&'}, ignoreCase: false, @@ -57968,10 +64640,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2878, col: 11, offset: 95683}, - run: (*parser).callonFileLocation133, + pos: position{line: 3037, col: 11, offset: 99107}, + run: (*parser).callonFileLocation153, expr: &litMatcher{ - pos: position{line: 2878, col: 11, offset: 95683}, + pos: position{line: 3037, col: 11, offset: 99107}, val: "{", ignoreCase: false, want: "\"{\"", @@ -57985,27 +64657,27 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1122, col: 23, offset: 34991}, - run: (*parser).callonFileLocation135, + pos: position{line: 1120, col: 23, offset: 34854}, + run: (*parser).callonFileLocation155, expr: &seqExpr{ - pos: position{line: 1122, col: 23, offset: 34991}, + pos: position{line: 1120, col: 23, offset: 34854}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1120, col: 32, offset: 34959}, + pos: position{line: 1118, col: 32, offset: 34822}, val: "�", ignoreCase: false, want: "\"�\"", }, &labeledExpr{ - pos: position{line: 1122, col: 51, offset: 35019}, + pos: position{line: 1120, col: 51, offset: 34882}, label: "ref", expr: &actionExpr{ - pos: position{line: 1122, col: 56, offset: 35024}, - run: (*parser).callonFileLocation139, + pos: position{line: 1120, col: 56, offset: 34887}, + run: (*parser).callonFileLocation159, expr: &oneOrMoreExpr{ - pos: position{line: 1122, col: 56, offset: 35024}, + pos: position{line: 1120, col: 56, offset: 34887}, expr: &charClassMatcher{ - pos: position{line: 1122, col: 56, offset: 35024}, + pos: position{line: 1120, col: 56, offset: 34887}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -58015,7 +64687,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1120, col: 32, offset: 34959}, + pos: position{line: 1118, col: 32, offset: 34822}, val: "�", ignoreCase: false, want: "\"�\"", @@ -58032,11631 +64704,13364 @@ var g = &grammar{ }, } -func (c *current) onDocumentRawLine10() (interface{}, error) { +func (c *current) onDocumentRawLine10() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentRawLine10() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine10() +} + +func (c *current) onDocumentRawLine17() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentRawLine17() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine17() +} + +func (c *current) onDocumentRawLine20() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDocumentRawLine20() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine20() +} + +func (c *current) onDocumentRawLine6(name interface{}) (interface{}, error) { + return types.NewAttributeReset(name.(string), string(c.text)) +} + +func (p *parser) callonDocumentRawLine6() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine6(stack["name"]) +} + +func (c *current) onDocumentRawLine31() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentRawLine31() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine31() +} + +func (c *current) onDocumentRawLine38() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentRawLine38() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine38() +} + +func (c *current) onDocumentRawLine41() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDocumentRawLine41() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine41() +} + +func (c *current) onDocumentRawLine27(name interface{}) (interface{}, error) { + return types.NewAttributeReset(name.(string), string(c.text)) +} + +func (p *parser) callonDocumentRawLine27() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine27(stack["name"]) +} + +func (c *current) onDocumentRawLine53() (interface{}, error) { + + return string(c.text), nil + +} + +func (p *parser) callonDocumentRawLine53() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine53() +} + +func (c *current) onDocumentRawLine59() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentRawLine59() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine59() +} + +func (c *current) onDocumentRawLine64() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentRawLine64() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine64() +} + +func (c *current) onDocumentRawLine49(name, attr interface{}) (interface{}, error) { + return types.NewIfdefCondition(name.(string), attr) + +} + +func (p *parser) callonDocumentRawLine49() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine49(stack["name"], stack["attr"]) +} + +func (c *current) onDocumentRawLine72() (interface{}, error) { + + return string(c.text), nil + +} + +func (p *parser) callonDocumentRawLine72() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine72() +} + +func (c *current) onDocumentRawLine78() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentRawLine78() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine78() +} + +func (c *current) onDocumentRawLine83() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentRawLine83() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine83() +} + +func (c *current) onDocumentRawLine68(name, attr interface{}) (interface{}, error) { + return types.NewIfndefCondition(name.(string), attr) + +} + +func (p *parser) callonDocumentRawLine68() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine68(stack["name"], stack["attr"]) +} + +func (c *current) onDocumentRawLine101() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentRawLine101() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine101() +} + +func (c *current) onDocumentRawLine97(name interface{}) (interface{}, error) { + + log.Debug("matching escaped attribute reference") + // return types.NewStringElement("{"+name.(string)+"}") + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) + +} + +func (p *parser) callonDocumentRawLine97() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine97(stack["name"]) +} + +func (c *current) onDocumentRawLine111() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentRawLine111() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine111() +} + +func (c *current) onDocumentRawLine107(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) + +} + +func (p *parser) callonDocumentRawLine107() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine107(stack["name"]) +} + +func (c *current) onDocumentRawLine92(s interface{}) (interface{}, error) { + return s, nil +} + +func (p *parser) callonDocumentRawLine92() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine92(stack["s"]) +} + +func (c *current) onDocumentRawLine127() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentRawLine127() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine127() +} + +func (c *current) onDocumentRawLine123(name interface{}) (interface{}, error) { + + log.Debug("matching escaped attribute reference") + // return types.NewStringElement("{"+name.(string)+"}") + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) + +} + +func (p *parser) callonDocumentRawLine123() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine123(stack["name"]) +} + +func (c *current) onDocumentRawLine137() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentRawLine137() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine137() +} + +func (c *current) onDocumentRawLine133(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) + +} + +func (p *parser) callonDocumentRawLine133() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine133(stack["name"]) +} + +func (c *current) onDocumentRawLine118(s interface{}) (interface{}, error) { + return s, nil +} + +func (p *parser) callonDocumentRawLine118() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine118(stack["s"]) +} + +func (c *current) onDocumentRawLine151() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentRawLine151() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine151() +} + +func (c *current) onDocumentRawLine147(name interface{}) (interface{}, error) { + + log.Debug("matching escaped attribute reference") + // return types.NewStringElement("{"+name.(string)+"}") + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) + +} + +func (p *parser) callonDocumentRawLine147() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine147(stack["name"]) +} + +func (c *current) onDocumentRawLine161() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentRawLine161() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine161() +} + +func (c *current) onDocumentRawLine157(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) + +} + +func (p *parser) callonDocumentRawLine157() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine157(stack["name"]) +} + +func (c *current) onDocumentRawLine144(s interface{}) (interface{}, error) { + return s, nil +} + +func (p *parser) callonDocumentRawLine144() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine144(stack["s"]) +} + +func (c *current) onDocumentRawLine171() (interface{}, error) { + return string(c.text), nil +} + +func (p *parser) callonDocumentRawLine171() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine171() +} + +func (c *current) onDocumentRawLine167(w interface{}) (interface{}, error) { + return w, nil +} + +func (p *parser) callonDocumentRawLine167() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine167(stack["w"]) +} + +func (c *current) onDocumentRawLine179() (interface{}, error) { + return string(c.text), nil +} + +func (p *parser) callonDocumentRawLine179() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine179() +} + +func (c *current) onDocumentRawLine175(w interface{}) (interface{}, error) { + return w, nil +} + +func (p *parser) callonDocumentRawLine175() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine175(stack["w"]) +} + +func (c *current) onDocumentRawLine183() (interface{}, error) { + return strconv.Atoi(string(c.text)) + +} + +func (p *parser) callonDocumentRawLine183() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine183() +} + +func (c *current) onDocumentRawLine190() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentRawLine190() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine190() +} + +func (c *current) onDocumentRawLine194() (interface{}, error) { + return types.NewEqualOperand() + +} + +func (p *parser) callonDocumentRawLine194() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine194() +} + +func (c *current) onDocumentRawLine196() (interface{}, error) { + return types.NewNotEqualOperand() + +} + +func (p *parser) callonDocumentRawLine196() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine196() +} + +func (c *current) onDocumentRawLine198() (interface{}, error) { + return types.NewLessThanOperand() + +} + +func (p *parser) callonDocumentRawLine198() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine198() +} + +func (c *current) onDocumentRawLine200() (interface{}, error) { + return types.NewLessOrEqualOperand() + +} + +func (p *parser) callonDocumentRawLine200() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine200() +} + +func (c *current) onDocumentRawLine202() (interface{}, error) { + return types.NewGreaterThanOperand() + +} + +func (p *parser) callonDocumentRawLine202() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine202() +} + +func (c *current) onDocumentRawLine204() (interface{}, error) { + return types.NewGreaterOrEqualOperand() + +} + +func (p *parser) callonDocumentRawLine204() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine204() +} + +func (c *current) onDocumentRawLine207() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentRawLine207() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine207() +} + +func (c *current) onDocumentRawLine220() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentRawLine220() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine220() +} + +func (c *current) onDocumentRawLine216(name interface{}) (interface{}, error) { + + log.Debug("matching escaped attribute reference") + // return types.NewStringElement("{"+name.(string)+"}") + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) + +} + +func (p *parser) callonDocumentRawLine216() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine216(stack["name"]) +} + +func (c *current) onDocumentRawLine230() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentRawLine230() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine230() +} + +func (c *current) onDocumentRawLine226(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) + +} + +func (p *parser) callonDocumentRawLine226() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine226(stack["name"]) +} + +func (c *current) onDocumentRawLine211(s interface{}) (interface{}, error) { + return s, nil +} + +func (p *parser) callonDocumentRawLine211() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine211(stack["s"]) +} + +func (c *current) onDocumentRawLine246() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentRawLine246() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine246() +} + +func (c *current) onDocumentRawLine242(name interface{}) (interface{}, error) { + + log.Debug("matching escaped attribute reference") + // return types.NewStringElement("{"+name.(string)+"}") + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) + +} + +func (p *parser) callonDocumentRawLine242() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine242(stack["name"]) +} + +func (c *current) onDocumentRawLine256() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentRawLine256() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine256() +} + +func (c *current) onDocumentRawLine252(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) + +} + +func (p *parser) callonDocumentRawLine252() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine252(stack["name"]) +} + +func (c *current) onDocumentRawLine237(s interface{}) (interface{}, error) { + return s, nil +} + +func (p *parser) callonDocumentRawLine237() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine237(stack["s"]) +} + +func (c *current) onDocumentRawLine270() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentRawLine270() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine270() +} + +func (c *current) onDocumentRawLine266(name interface{}) (interface{}, error) { + + log.Debug("matching escaped attribute reference") + // return types.NewStringElement("{"+name.(string)+"}") + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) + +} + +func (p *parser) callonDocumentRawLine266() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine266(stack["name"]) +} + +func (c *current) onDocumentRawLine280() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentRawLine280() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine280() +} + +func (c *current) onDocumentRawLine276(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) + +} + +func (p *parser) callonDocumentRawLine276() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine276(stack["name"]) +} + +func (c *current) onDocumentRawLine263(s interface{}) (interface{}, error) { + return s, nil +} + +func (p *parser) callonDocumentRawLine263() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine263(stack["s"]) +} + +func (c *current) onDocumentRawLine290() (interface{}, error) { + return string(c.text), nil +} + +func (p *parser) callonDocumentRawLine290() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine290() +} + +func (c *current) onDocumentRawLine286(w interface{}) (interface{}, error) { + return w, nil +} + +func (p *parser) callonDocumentRawLine286() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine286(stack["w"]) +} + +func (c *current) onDocumentRawLine298() (interface{}, error) { + return string(c.text), nil +} + +func (p *parser) callonDocumentRawLine298() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine298() +} + +func (c *current) onDocumentRawLine294(w interface{}) (interface{}, error) { + return w, nil +} + +func (p *parser) callonDocumentRawLine294() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine294(stack["w"]) +} + +func (c *current) onDocumentRawLine302() (interface{}, error) { + return strconv.Atoi(string(c.text)) + +} + +func (p *parser) callonDocumentRawLine302() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine302() +} + +func (c *current) onDocumentRawLine310() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentRawLine310() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine310() +} + +func (c *current) onDocumentRawLine87(left, operand, right interface{}) (interface{}, error) { + return types.NewIfevalCondition(left, right, operand.(types.IfevalOperand)) + +} + +func (p *parser) callonDocumentRawLine87() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine87(stack["left"], stack["operand"], stack["right"]) +} + +func (c *current) onDocumentRawLine319() (interface{}, error) { + + return string(c.text), nil + +} + +func (p *parser) callonDocumentRawLine319() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine319() +} + +func (c *current) onDocumentRawLine325() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentRawLine325() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine325() +} + +func (c *current) onDocumentRawLine330() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentRawLine330() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine330() +} + +func (c *current) onDocumentRawLine314(name, attr interface{}) (interface{}, error) { + return types.NewEndOfCondition() // name and attributes are parsed but ignored + +} + +func (p *parser) callonDocumentRawLine314() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine314(stack["name"], stack["attr"]) +} + +func (c *current) onDocumentRawLine344() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentRawLine344() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine344() +} + +func (c *current) onDocumentRawLine347() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDocumentRawLine347() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine347() +} + +func (c *current) onDocumentRawLine340() (interface{}, error) { + return types.NewBlockDelimiter(types.Comment, string(c.text)) +} + +func (p *parser) callonDocumentRawLine340() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine340() +} + +func (c *current) onDocumentRawLine358() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentRawLine358() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine358() +} + +func (c *current) onDocumentRawLine361() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDocumentRawLine361() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine361() +} + +func (c *current) onDocumentRawLine354() (interface{}, error) { + return types.NewBlockDelimiter(types.Example, string(c.text)) +} + +func (p *parser) callonDocumentRawLine354() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine354() +} + +func (c *current) onDocumentRawLine372() (interface{}, error) { + return string(c.text), nil +} + +func (p *parser) callonDocumentRawLine372() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine372() +} + +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) onDocumentRawLine368(language interface{}) (interface{}, error) { + return types.NewMarkdownCodeBlockDelimiter(language.(string), string(c.text)) +} + +func (p *parser) callonDocumentRawLine368() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine368(stack["language"]) +} + +func (c *current) onDocumentRawLine390() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentRawLine390() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine390() +} + +func (c *current) onDocumentRawLine393() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDocumentRawLine393() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine393() +} + +func (c *current) onDocumentRawLine386() (interface{}, error) { + return types.NewBlockDelimiter(types.Fenced, string(c.text)) +} + +func (p *parser) callonDocumentRawLine386() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine386() +} + +func (c *current) onDocumentRawLine404() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentRawLine404() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine404() +} + +func (c *current) onDocumentRawLine407() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDocumentRawLine407() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine407() +} + +func (c *current) onDocumentRawLine400() (interface{}, error) { + return types.NewBlockDelimiter(types.Listing, string(c.text)) +} + +func (p *parser) callonDocumentRawLine400() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine400() +} + +func (c *current) onDocumentRawLine418() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentRawLine418() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine418() +} + +func (c *current) onDocumentRawLine421() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDocumentRawLine421() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine421() +} + +func (c *current) onDocumentRawLine414() (interface{}, error) { + return types.NewBlockDelimiter(types.Literal, string(c.text)) +} + +func (p *parser) callonDocumentRawLine414() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine414() +} + +func (c *current) onDocumentRawLine432() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentRawLine432() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine432() +} + +func (c *current) onDocumentRawLine435() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDocumentRawLine435() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine435() +} + +func (c *current) onDocumentRawLine428() (interface{}, error) { + return types.NewBlockDelimiter(types.Passthrough, string(c.text)) +} + +func (p *parser) callonDocumentRawLine428() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine428() +} + +func (c *current) onDocumentRawLine446() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentRawLine446() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine446() +} + +func (c *current) onDocumentRawLine449() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDocumentRawLine449() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine449() +} + +func (c *current) onDocumentRawLine442() (interface{}, error) { + return types.NewBlockDelimiter(types.Quote, string(c.text)) +} + +func (p *parser) callonDocumentRawLine442() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine442() +} + +func (c *current) onDocumentRawLine460() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentRawLine460() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine460() +} + +func (c *current) onDocumentRawLine463() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDocumentRawLine463() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine463() +} + +func (c *current) onDocumentRawLine456() (interface{}, error) { + return types.NewBlockDelimiter(types.Sidebar, string(c.text)) +} + +func (p *parser) callonDocumentRawLine456() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine456() +} + +func (c *current) onDocumentRawLine334(delimiter interface{}) (interface{}, error) { + return delimiter, nil + +} + +func (p *parser) callonDocumentRawLine334() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine334(stack["delimiter"]) +} + +func (c *current) onDocumentRawLine472() (bool, error) { + // should only be enabled when reading files to include, not the main (root) file + return c.isSectionEnabled(), nil + +} + +func (p *parser) callonDocumentRawLine472() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine472() +} + +func (c *current) onDocumentRawLine473() (bool, error) { + + return !c.isWithinDelimitedBlock(), nil + +} + +func (p *parser) callonDocumentRawLine473() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine473() +} + +func (c *current) onDocumentRawLine475() (interface{}, error) { + + // `=` is level 0, `==` is level 1, etc. + return (len(c.text) - 1), nil + +} + +func (p *parser) callonDocumentRawLine475() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine475() +} + +func (c *current) onDocumentRawLine478(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) callonDocumentRawLine478() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine478(stack["level"]) +} + +func (c *current) onDocumentRawLine479(level interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") + return string(c.text), nil + +} + +func (p *parser) callonDocumentRawLine479() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine479(stack["level"]) +} + +func (c *current) onDocumentRawLine470(level interface{}) (interface{}, error) { + return types.NewRawSection(level.(int), string(c.text)) // just retain the raw content + +} + +func (p *parser) callonDocumentRawLine470() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine470(stack["level"]) +} + +func (c *current) onDocumentRawLine1(element interface{}) (interface{}, error) { + // in case of parse error, we'll keep the rawline content as-is + return element, nil + +} + +func (p *parser) callonDocumentRawLine1() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine1(stack["element"]) +} + +func (c *current) onFileInclusion19() (interface{}, error) { + // not supported for now: EOL, space, "{", "[", "]". Also, punctuation chars and `<` and `>` special chars are treated separately below (but `&` is allowed) + return types.NewStringElement(string(c.text)) + +} + +func (p *parser) callonFileInclusion19() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onFileInclusion19() +} + +func (c *current) onFileInclusion23() (interface{}, error) { + return string(c.text), nil +} + +func (p *parser) callonFileInclusion23() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onFileInclusion23() +} + +func (c *current) onFileInclusion30() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonFileInclusion30() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onFileInclusion30() +} + +func (c *current) onFileInclusion34() (bool, error) { + return c.isSubstitutionEnabled(Attributes), nil + +} + +func (p *parser) callonFileInclusion34() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onFileInclusion34() +} + +func (c *current) onFileInclusion41() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonFileInclusion41() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onFileInclusion41() +} + +func (c *current) onFileInclusion53() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonFileInclusion53() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onFileInclusion53() +} + +func (c *current) onFileInclusion55() (interface{}, error) { + + return strconv.Atoi(string(c.text)) + +} + +func (p *parser) callonFileInclusion55() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onFileInclusion55() +} + +func (c *current) onFileInclusion48(start interface{}) (interface{}, error) { + return start, nil + +} + +func (p *parser) callonFileInclusion48() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onFileInclusion48(stack["start"]) +} + +func (c *current) onFileInclusion37(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) +} + +func (p *parser) callonFileInclusion37() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onFileInclusion37(stack["name"], stack["start"]) +} + +func (c *current) onFileInclusion63() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonFileInclusion63() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onFileInclusion63() +} + +func (c *current) onFileInclusion75() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonFileInclusion75() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onFileInclusion75() +} + +func (c *current) onFileInclusion77() (interface{}, error) { + + return strconv.Atoi(string(c.text)) + +} + +func (p *parser) callonFileInclusion77() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onFileInclusion77() +} + +func (c *current) onFileInclusion70(start interface{}) (interface{}, error) { + return start, nil + +} + +func (p *parser) callonFileInclusion70() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onFileInclusion70(stack["start"]) +} + +func (c *current) onFileInclusion59(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) +} + +func (p *parser) callonFileInclusion59() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onFileInclusion59(stack["name"], stack["start"]) +} + +func (c *current) onFileInclusion85() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonFileInclusion85() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onFileInclusion85() +} + +func (c *current) onFileInclusion81(name interface{}) (interface{}, error) { + + log.Debug("matching escaped attribute reference") + // return types.NewStringElement("{"+name.(string)+"}") + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) + +} + +func (p *parser) callonFileInclusion81() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onFileInclusion81(stack["name"]) +} + +func (c *current) onFileInclusion95() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonFileInclusion95() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onFileInclusion95() +} + +func (c *current) onFileInclusion91(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) + +} + +func (p *parser) callonFileInclusion91() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onFileInclusion91(stack["name"]) +} + +func (c *current) onFileInclusion32(element interface{}) (interface{}, error) { + return element, nil + +} + +func (p *parser) callonFileInclusion32() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onFileInclusion32(stack["element"]) +} + +func (c *current) onFileInclusion103() (bool, error) { + return c.isSubstitutionEnabled(SpecialCharacters), nil + +} + +func (p *parser) callonFileInclusion103() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onFileInclusion103() +} + +func (c *current) onFileInclusion112() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ + return string(c.text), nil + +} + +func (p *parser) callonFileInclusion112() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onFileInclusion112() +} + +func (c *current) onFileInclusion116() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonFileInclusion116() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onFileInclusion116() +} + +func (c *current) onFileInclusion122() (interface{}, error) { + // `{`, `>` and `>` characters are not allowed as they are used for attribute substitutions and cross-references + return types.NewStringElement(string(c.text)) + +} + +func (p *parser) callonFileInclusion122() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onFileInclusion122() +} + +func (c *current) onFileInclusion131() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentRawLine10() (interface{}, error) { +func (p *parser) callonFileInclusion131() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine10() + return p.cur.onFileInclusion131() } -func (c *current) onDocumentRawLine17() (interface{}, error) { - return string(c.text), nil +func (c *current) onFileInclusion127(name interface{}) (interface{}, error) { + + log.Debug("matching escaped attribute reference") + // return types.NewStringElement("{"+name.(string)+"}") + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) } -func (p *parser) callonDocumentRawLine17() (interface{}, error) { +func (p *parser) callonFileInclusion127() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine17() + return p.cur.onFileInclusion127(stack["name"]) } -func (c *current) onDocumentRawLine20() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onFileInclusion141() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonDocumentRawLine20() (interface{}, error) { +func (p *parser) callonFileInclusion141() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine20() + return p.cur.onFileInclusion141() } -func (c *current) onDocumentRawLine6(name interface{}) (interface{}, error) { - return types.NewAttributeReset(name.(string), string(c.text)) +func (c *current) onFileInclusion137(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) + } -func (p *parser) callonDocumentRawLine6() (interface{}, error) { +func (p *parser) callonFileInclusion137() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine6(stack["name"]) + return p.cur.onFileInclusion137(stack["name"]) } -func (c *current) onDocumentRawLine31() (interface{}, error) { - return string(c.text), nil +func (c *current) onFileInclusion147() (interface{}, error) { + + return types.NewStringElement(string(c.text)) } -func (p *parser) callonDocumentRawLine31() (interface{}, error) { +func (p *parser) callonFileInclusion147() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine31() + return p.cur.onFileInclusion147() } -func (c *current) onDocumentRawLine38() (interface{}, error) { - return string(c.text), nil +func (c *current) onFileInclusion108(id, label interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, label) } -func (p *parser) callonDocumentRawLine38() (interface{}, error) { +func (p *parser) callonFileInclusion108() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine38() + return p.cur.onFileInclusion108(stack["id"], stack["label"]) } -func (c *current) onDocumentRawLine41() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onFileInclusion154() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ return string(c.text), nil + } -func (p *parser) callonDocumentRawLine41() (interface{}, error) { +func (p *parser) callonFileInclusion154() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine41() + return p.cur.onFileInclusion154() } -func (c *current) onDocumentRawLine27(name interface{}) (interface{}, error) { - return types.NewAttributeReset(name.(string), string(c.text)) +func (c *current) onFileInclusion150(id interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, nil) + } -func (p *parser) callonDocumentRawLine27() (interface{}, error) { +func (p *parser) callonFileInclusion150() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine27(stack["name"]) + return p.cur.onFileInclusion150(stack["id"]) } -func (c *current) onDocumentRawLine53() (interface{}, error) { - - return string(c.text), nil +func (c *current) onFileInclusion106() (interface{}, error) { + return types.NewStringElement(string(c.text)) } -func (p *parser) callonDocumentRawLine53() (interface{}, error) { +func (p *parser) callonFileInclusion106() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine53() + return p.cur.onFileInclusion106() } -func (c *current) onDocumentRawLine59() (interface{}, error) { - return string(c.text), nil +func (c *current) onFileInclusion158() (interface{}, error) { + return types.NewSpecialCharacter(string(c.text)) } -func (p *parser) callonDocumentRawLine59() (interface{}, error) { +func (p *parser) callonFileInclusion158() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine59() + return p.cur.onFileInclusion158() } -func (c *current) onDocumentRawLine64() (interface{}, error) { - return string(c.text), nil +func (c *current) onFileInclusion101(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonDocumentRawLine64() (interface{}, error) { +func (p *parser) callonFileInclusion101() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine64() + return p.cur.onFileInclusion101(stack["element"]) } -func (c *current) onDocumentRawLine49(name, attr interface{}) (interface{}, error) { - return types.NewIfdefCondition(name.(string), attr) +func (c *current) onFileInclusion160() (interface{}, error) { + return types.NewStringElement(string(c.text)) } -func (p *parser) callonDocumentRawLine49() (interface{}, error) { +func (p *parser) callonFileInclusion160() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine49(stack["name"], stack["attr"]) + return p.cur.onFileInclusion160() } -func (c *current) onDocumentRawLine72() (interface{}, error) { - - return string(c.text), nil +func (c *current) onFileInclusion12(elements interface{}) (interface{}, error) { + return types.NewInlineElements(elements.([]interface{})) } -func (p *parser) callonDocumentRawLine72() (interface{}, error) { +func (p *parser) callonFileInclusion12() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine72() + return p.cur.onFileInclusion12(stack["elements"]) } -func (c *current) onDocumentRawLine78() (interface{}, error) { +func (c *current) onFileInclusion166() (interface{}, error) { return string(c.text), nil - } -func (p *parser) callonDocumentRawLine78() (interface{}, error) { +func (p *parser) callonFileInclusion166() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine78() + return p.cur.onFileInclusion166() } -func (c *current) onDocumentRawLine83() (interface{}, error) { - return string(c.text), nil - +func (c *current) onFileInclusion162(ref interface{}) (interface{}, error) { + return types.NewElementPlaceHolder(ref.(string)) } -func (p *parser) callonDocumentRawLine83() (interface{}, error) { +func (p *parser) callonFileInclusion162() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine83() + return p.cur.onFileInclusion162(stack["ref"]) } -func (c *current) onDocumentRawLine68(name, attr interface{}) (interface{}, error) { - return types.NewIfndefCondition(name.(string), attr) +func (c *current) onFileInclusion8(path interface{}) (interface{}, error) { + return types.NewLocation("", path.([]interface{})) } -func (p *parser) callonDocumentRawLine68() (interface{}, error) { +func (p *parser) callonFileInclusion8() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine68(stack["name"], stack["attr"]) + return p.cur.onFileInclusion8(stack["path"]) } -func (c *current) onDocumentRawLine100() (interface{}, error) { - return string(c.text), nil +func (c *current) onFileInclusion4(path, attributes interface{}) (interface{}, error) { + + return types.NewFileInclusion(path.(*types.Location), attributes.(types.Attributes), string(c.text)) } -func (p *parser) callonDocumentRawLine100() (interface{}, error) { +func (p *parser) callonFileInclusion4() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine100() + return p.cur.onFileInclusion4(stack["path"], stack["attributes"]) } -func (c *current) onDocumentRawLine96(name interface{}) (interface{}, error) { - - return types.NewAttributeSubstitution(name.(string), string(c.text)) +func (c *current) onFileInclusion173() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDocumentRawLine96() (interface{}, error) { +func (p *parser) callonFileInclusion173() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine96(stack["name"]) + return p.cur.onFileInclusion173() } -func (c *current) onDocumentRawLine92(s interface{}) (interface{}, error) { - return s, nil +func (c *current) onFileInclusion176() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonDocumentRawLine92() (interface{}, error) { +func (p *parser) callonFileInclusion176() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine92(stack["s"]) + return p.cur.onFileInclusion176() } -func (c *current) onDocumentRawLine115() (interface{}, error) { - return string(c.text), nil +func (c *current) onFileInclusion1(incl interface{}) (interface{}, error) { + return incl.(*types.FileInclusion), nil } -func (p *parser) callonDocumentRawLine115() (interface{}, error) { +func (p *parser) callonFileInclusion1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine115() + return p.cur.onFileInclusion1(stack["incl"]) } -func (c *current) onDocumentRawLine111(name interface{}) (interface{}, error) { - - return types.NewAttributeSubstitution(name.(string), string(c.text)) +func (c *current) onLineRanges12() (interface{}, error) { + return strconv.Atoi(string(c.text)) } -func (p *parser) callonDocumentRawLine111() (interface{}, error) { +func (p *parser) callonLineRanges12() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine111(stack["name"]) + return p.cur.onLineRanges12() } -func (c *current) onDocumentRawLine107(s interface{}) (interface{}, error) { - return s, nil +func (c *current) onLineRanges20() (interface{}, error) { + return strconv.Atoi(string(c.text)) + } -func (p *parser) callonDocumentRawLine107() (interface{}, error) { +func (p *parser) callonLineRanges20() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine107(stack["s"]) + return p.cur.onLineRanges20() } -func (c *current) onDocumentRawLine128() (interface{}, error) { - return string(c.text), nil +func (c *current) onLineRanges9(start, end interface{}) (interface{}, error) { + // eg: lines=12..14 + return types.NewLineRange(start.(int), end.(int)) } -func (p *parser) callonDocumentRawLine128() (interface{}, error) { +func (p *parser) callonLineRanges9() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine128() + return p.cur.onLineRanges9(stack["start"], stack["end"]) } -func (c *current) onDocumentRawLine124(name interface{}) (interface{}, error) { - - return types.NewAttributeSubstitution(name.(string), string(c.text)) +func (c *current) onLineRanges28() (interface{}, error) { + return strconv.Atoi(string(c.text)) } -func (p *parser) callonDocumentRawLine124() (interface{}, error) { +func (p *parser) callonLineRanges28() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine124(stack["name"]) + return p.cur.onLineRanges28() } -func (c *current) onDocumentRawLine122(s interface{}) (interface{}, error) { - return s, nil +func (c *current) onLineRanges26(singleline interface{}) (interface{}, error) { + // eg: lines=12 + return types.NewLineRange(singleline.(int), singleline.(int)) + } -func (p *parser) callonDocumentRawLine122() (interface{}, error) { +func (p *parser) callonLineRanges26() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine122(stack["s"]) + return p.cur.onLineRanges26(stack["singleline"]) } -func (c *current) onDocumentRawLine138() (interface{}, error) { - return string(c.text), nil +func (c *current) onLineRanges44() (interface{}, error) { + return strconv.Atoi(string(c.text)) + } -func (p *parser) callonDocumentRawLine138() (interface{}, error) { +func (p *parser) callonLineRanges44() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine138() + return p.cur.onLineRanges44() } -func (c *current) onDocumentRawLine134(w interface{}) (interface{}, error) { - return w, nil +func (c *current) onLineRanges52() (interface{}, error) { + return strconv.Atoi(string(c.text)) + } -func (p *parser) callonDocumentRawLine134() (interface{}, error) { +func (p *parser) callonLineRanges52() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine134(stack["w"]) + return p.cur.onLineRanges52() } -func (c *current) onDocumentRawLine146() (interface{}, error) { - return string(c.text), nil +func (c *current) onLineRanges41(start, end interface{}) (interface{}, error) { + // eg: lines=12..14 + return types.NewLineRange(start.(int), end.(int)) + } -func (p *parser) callonDocumentRawLine146() (interface{}, error) { +func (p *parser) callonLineRanges41() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine146() + return p.cur.onLineRanges41(stack["start"], stack["end"]) } -func (c *current) onDocumentRawLine142(w interface{}) (interface{}, error) { - return w, nil +func (c *current) onLineRanges60() (interface{}, error) { + return strconv.Atoi(string(c.text)) + } -func (p *parser) callonDocumentRawLine142() (interface{}, error) { +func (p *parser) callonLineRanges60() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine142(stack["w"]) + return p.cur.onLineRanges60() } -func (c *current) onDocumentRawLine150() (interface{}, error) { - return strconv.Atoi(string(c.text)) +func (c *current) onLineRanges58(singleline interface{}) (interface{}, error) { + // eg: lines=12 + return types.NewLineRange(singleline.(int), singleline.(int)) } -func (p *parser) callonDocumentRawLine150() (interface{}, error) { +func (p *parser) callonLineRanges58() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine150() + return p.cur.onLineRanges58(stack["singleline"]) } -func (c *current) onDocumentRawLine157() (interface{}, error) { - return string(c.text), nil +func (c *current) onLineRanges36(other interface{}) (interface{}, error) { + return other, nil } -func (p *parser) callonDocumentRawLine157() (interface{}, error) { +func (p *parser) callonLineRanges36() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine157() + return p.cur.onLineRanges36(stack["other"]) } -func (c *current) onDocumentRawLine161() (interface{}, error) { - return types.NewEqualOperand() +func (c *current) onLineRanges5(first, others interface{}) (interface{}, error) { + return append([]interface{}{first}, others.([]interface{})...), nil } -func (p *parser) callonDocumentRawLine161() (interface{}, error) { +func (p *parser) callonLineRanges5() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine161() + return p.cur.onLineRanges5(stack["first"], stack["others"]) } -func (c *current) onDocumentRawLine163() (interface{}, error) { - return types.NewNotEqualOperand() +func (c *current) onLineRanges69() (interface{}, error) { + return strconv.Atoi(string(c.text)) } -func (p *parser) callonDocumentRawLine163() (interface{}, error) { +func (p *parser) callonLineRanges69() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine163() + return p.cur.onLineRanges69() } -func (c *current) onDocumentRawLine165() (interface{}, error) { - return types.NewLessThanOperand() +func (c *current) onLineRanges77() (interface{}, error) { + return strconv.Atoi(string(c.text)) } -func (p *parser) callonDocumentRawLine165() (interface{}, error) { +func (p *parser) callonLineRanges77() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine165() + return p.cur.onLineRanges77() } -func (c *current) onDocumentRawLine167() (interface{}, error) { - return types.NewLessOrEqualOperand() +func (c *current) onLineRanges66(start, end interface{}) (interface{}, error) { + // eg: lines=12..14 + return types.NewLineRange(start.(int), end.(int)) } -func (p *parser) callonDocumentRawLine167() (interface{}, error) { +func (p *parser) callonLineRanges66() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine167() + return p.cur.onLineRanges66(stack["start"], stack["end"]) } -func (c *current) onDocumentRawLine169() (interface{}, error) { - return types.NewGreaterThanOperand() +func (c *current) onLineRanges85() (interface{}, error) { + return strconv.Atoi(string(c.text)) } -func (p *parser) callonDocumentRawLine169() (interface{}, error) { +func (p *parser) callonLineRanges85() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine169() + return p.cur.onLineRanges85() } -func (c *current) onDocumentRawLine171() (interface{}, error) { - return types.NewGreaterOrEqualOperand() +func (c *current) onLineRanges83(singleline interface{}) (interface{}, error) { + // eg: lines=12 + return types.NewLineRange(singleline.(int), singleline.(int)) } -func (p *parser) callonDocumentRawLine171() (interface{}, error) { +func (p *parser) callonLineRanges83() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine171() + return p.cur.onLineRanges83(stack["singleline"]) } -func (c *current) onDocumentRawLine174() (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) callonDocumentRawLine174() (interface{}, error) { +func (p *parser) callonLineRanges1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine174() + return p.cur.onLineRanges1(stack["value"]) } -func (c *current) onDocumentRawLine186() (interface{}, error) { +func (c *current) onTagRanges11() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentRawLine186() (interface{}, error) { +func (p *parser) callonTagRanges11() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine186() + return p.cur.onTagRanges11() } -func (c *current) onDocumentRawLine182(name interface{}) (interface{}, error) { - - return types.NewAttributeSubstitution(name.(string), string(c.text)) +func (c *current) onTagRanges17() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDocumentRawLine182() (interface{}, error) { +func (p *parser) callonTagRanges17() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine182(stack["name"]) + return p.cur.onTagRanges17() } -func (c *current) onDocumentRawLine178(s interface{}) (interface{}, error) { - return s, 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) callonDocumentRawLine178() (interface{}, error) { +func (p *parser) callonTagRanges20() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine178(stack["s"]) + return p.cur.onTagRanges20(stack["stars"]) } -func (c *current) onDocumentRawLine201() (interface{}, error) { - return string(c.text), nil +func (c *current) onTagRanges14(stars interface{}) (interface{}, error) { + return stars, nil } -func (p *parser) callonDocumentRawLine201() (interface{}, error) { +func (p *parser) callonTagRanges14() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine201() + return p.cur.onTagRanges14(stack["stars"]) } -func (c *current) onDocumentRawLine197(name interface{}) (interface{}, error) { - - return types.NewAttributeSubstitution(name.(string), string(c.text)) +func (c *current) onTagRanges8(tag interface{}) (interface{}, error) { + return types.NewTagRange(tag.(string), true) } -func (p *parser) callonDocumentRawLine197() (interface{}, error) { +func (p *parser) callonTagRanges8() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine197(stack["name"]) + return p.cur.onTagRanges8(stack["tag"]) } -func (c *current) onDocumentRawLine193(s interface{}) (interface{}, error) { - return s, nil +func (c *current) onTagRanges26() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonDocumentRawLine193() (interface{}, error) { +func (p *parser) callonTagRanges26() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine193(stack["s"]) + return p.cur.onTagRanges26() } -func (c *current) onDocumentRawLine214() (interface{}, error) { +func (c *current) onTagRanges32() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentRawLine214() (interface{}, error) { +func (p *parser) callonTagRanges32() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine214() + return p.cur.onTagRanges32() } -func (c *current) onDocumentRawLine210(name interface{}) (interface{}, error) { +func (c *current) onTagRanges35(stars interface{}) (bool, error) { - return types.NewAttributeSubstitution(name.(string), string(c.text)) + // use a predicate to make sure that only `*` and `**` are allowed + return len(stars.(string)) <= 2, nil } -func (p *parser) callonDocumentRawLine210() (interface{}, error) { +func (p *parser) callonTagRanges35() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine210(stack["name"]) + return p.cur.onTagRanges35(stack["stars"]) } -func (c *current) onDocumentRawLine208(s interface{}) (interface{}, error) { - return s, nil +func (c *current) onTagRanges29(stars interface{}) (interface{}, error) { + return stars, nil + } -func (p *parser) callonDocumentRawLine208() (interface{}, error) { +func (p *parser) callonTagRanges29() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine208(stack["s"]) + return p.cur.onTagRanges29(stack["stars"]) } -func (c *current) onDocumentRawLine224() (interface{}, error) { - return string(c.text), nil +func (c *current) onTagRanges21(tag interface{}) (interface{}, error) { + return types.NewTagRange(tag.(string), false) + } -func (p *parser) callonDocumentRawLine224() (interface{}, error) { +func (p *parser) callonTagRanges21() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine224() + return p.cur.onTagRanges21(stack["tag"]) } -func (c *current) onDocumentRawLine220(w interface{}) (interface{}, error) { - return w, nil +func (c *current) onTagRanges46() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonDocumentRawLine220() (interface{}, error) { +func (p *parser) callonTagRanges46() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine220(stack["w"]) + return p.cur.onTagRanges46() } -func (c *current) onDocumentRawLine232() (interface{}, error) { +func (c *current) onTagRanges52() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonDocumentRawLine232() (interface{}, error) { +func (p *parser) callonTagRanges52() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine232() + return p.cur.onTagRanges52() } -func (c *current) onDocumentRawLine228(w interface{}) (interface{}, error) { - return w, nil +func (c *current) onTagRanges55(stars interface{}) (bool, error) { + + // use a predicate to make sure that only `*` and `**` are allowed + return len(stars.(string)) <= 2, nil + } -func (p *parser) callonDocumentRawLine228() (interface{}, error) { +func (p *parser) callonTagRanges55() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine228(stack["w"]) + return p.cur.onTagRanges55(stack["stars"]) } -func (c *current) onDocumentRawLine236() (interface{}, error) { - return strconv.Atoi(string(c.text)) +func (c *current) onTagRanges49(stars interface{}) (interface{}, error) { + return stars, nil } -func (p *parser) callonDocumentRawLine236() (interface{}, error) { +func (p *parser) callonTagRanges49() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine236() + return p.cur.onTagRanges49(stack["stars"]) } -func (c *current) onDocumentRawLine244() (interface{}, error) { - return string(c.text), nil +func (c *current) onTagRanges43(tag interface{}) (interface{}, error) { + return types.NewTagRange(tag.(string), true) } -func (p *parser) callonDocumentRawLine244() (interface{}, error) { +func (p *parser) callonTagRanges43() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine244() + return p.cur.onTagRanges43(stack["tag"]) } -func (c *current) onDocumentRawLine87(left, operand, right interface{}) (interface{}, error) { - return types.NewIfevalCondition(left, right, operand.(types.IfevalOperand)) +func (c *current) onTagRanges61() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDocumentRawLine87() (interface{}, error) { +func (p *parser) callonTagRanges61() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine87(stack["left"], stack["operand"], stack["right"]) + return p.cur.onTagRanges61() } -func (c *current) onDocumentRawLine253() (interface{}, error) { - +func (c *current) onTagRanges67() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentRawLine253() (interface{}, error) { +func (p *parser) callonTagRanges67() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine253() + return p.cur.onTagRanges67() } -func (c *current) onDocumentRawLine259() (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) callonDocumentRawLine259() (interface{}, error) { +func (p *parser) callonTagRanges70() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine259() + return p.cur.onTagRanges70(stack["stars"]) } -func (c *current) onDocumentRawLine264() (interface{}, error) { - return string(c.text), nil +func (c *current) onTagRanges64(stars interface{}) (interface{}, error) { + return stars, nil } -func (p *parser) callonDocumentRawLine264() (interface{}, error) { +func (p *parser) callonTagRanges64() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine264() + return p.cur.onTagRanges64(stack["stars"]) } -func (c *current) onDocumentRawLine248(name, attr interface{}) (interface{}, error) { - return types.NewEndOfCondition() // name and attributes are parsed but ignored +func (c *current) onTagRanges56(tag interface{}) (interface{}, error) { + return types.NewTagRange(tag.(string), false) } -func (p *parser) callonDocumentRawLine248() (interface{}, error) { +func (p *parser) callonTagRanges56() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine248(stack["name"], stack["attr"]) + return p.cur.onTagRanges56(stack["tag"]) } -func (c *current) onDocumentRawLine278() (interface{}, error) { - return string(c.text), nil +func (c *current) onTagRanges38(other interface{}) (interface{}, error) { + return other, nil } -func (p *parser) callonDocumentRawLine278() (interface{}, error) { +func (p *parser) callonTagRanges38() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine278() + return p.cur.onTagRanges38(stack["other"]) } -func (c *current) onDocumentRawLine281() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onTagRanges4(first, others interface{}) (interface{}, error) { + return append([]interface{}{first}, others.([]interface{})...), nil + } -func (p *parser) callonDocumentRawLine281() (interface{}, error) { +func (p *parser) callonTagRanges4() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine281() + return p.cur.onTagRanges4(stack["first"], stack["others"]) } -func (c *current) onDocumentRawLine274() (interface{}, error) { - return types.NewBlockDelimiter(types.Comment, string(c.text)) +func (c *current) onTagRanges1(value interface{}) (interface{}, error) { + // must make sure that the whole content is parsed + return value, nil + } -func (p *parser) callonDocumentRawLine274() (interface{}, error) { +func (p *parser) callonTagRanges1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine274() + return p.cur.onTagRanges1(stack["value"]) } -func (c *current) onDocumentRawLine292() (interface{}, error) { +func (c *current) onIncludedFileLine11() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentRawLine292() (interface{}, error) { +func (p *parser) callonIncludedFileLine11() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine292() + return p.cur.onIncludedFileLine11() } -func (c *current) onDocumentRawLine295() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onIncludedFileLine10() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentRawLine295() (interface{}, error) { +func (p *parser) callonIncludedFileLine10() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine295() + return p.cur.onIncludedFileLine10() } -func (c *current) onDocumentRawLine288() (interface{}, error) { - return types.NewBlockDelimiter(types.Example, string(c.text)) +func (c *current) onIncludedFileLine6(tag interface{}) (interface{}, error) { + return types.NewIncludedFileStartTag(tag.(string)) + } -func (p *parser) callonDocumentRawLine288() (interface{}, error) { +func (p *parser) callonIncludedFileLine6() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine288() + return p.cur.onIncludedFileLine6(stack["tag"]) } -func (c *current) onDocumentRawLine306() (interface{}, error) { +func (c *current) onIncludedFileLine20() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonDocumentRawLine306() (interface{}, error) { +func (p *parser) callonIncludedFileLine20() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine306() + return p.cur.onIncludedFileLine20() } -func (c *current) onDocumentRawLine310() (interface{}, error) { +func (c *current) onIncludedFileLine19() (interface{}, error) { return string(c.text), nil - } -func (p *parser) callonDocumentRawLine310() (interface{}, error) { +func (p *parser) callonIncludedFileLine19() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine310() + return p.cur.onIncludedFileLine19() } -func (c *current) onDocumentRawLine313() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onIncludedFileLine15(tag interface{}) (interface{}, error) { + return types.NewIncludedFileEndTag(tag.(string)) + } -func (p *parser) callonDocumentRawLine313() (interface{}, error) { +func (p *parser) callonIncludedFileLine15() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine313() + return p.cur.onIncludedFileLine15(stack["tag"]) } -func (c *current) onDocumentRawLine302(language interface{}) (interface{}, error) { - return types.NewMarkdownCodeBlockDelimiter(language.(string), string(c.text)) +func (c *current) onIncludedFileLine24() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDocumentRawLine302() (interface{}, error) { +func (p *parser) callonIncludedFileLine24() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine302(stack["language"]) + return p.cur.onIncludedFileLine24() } -func (c *current) onDocumentRawLine324() (interface{}, error) { +func (c *current) onIncludedFileLine27() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonDocumentRawLine324() (interface{}, error) { +func (p *parser) callonIncludedFileLine27() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine324() + return p.cur.onIncludedFileLine27() } -func (c *current) onDocumentRawLine327() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onIncludedFileLine1(content interface{}) (interface{}, error) { + return types.NewIncludedFileLine(content.([]interface{})) + } -func (p *parser) callonDocumentRawLine327() (interface{}, error) { +func (p *parser) callonIncludedFileLine1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine327() + return p.cur.onIncludedFileLine1(stack["content"]) } -func (c *current) onDocumentRawLine320() (interface{}, error) { - return types.NewBlockDelimiter(types.Fenced, string(c.text)) +func (c *current) onDocumentFragment20() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonDocumentRawLine320() (interface{}, error) { +func (p *parser) callonDocumentFragment20() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine320() + return p.cur.onDocumentFragment20() } -func (c *current) onDocumentRawLine338() (interface{}, error) { +func (c *current) onDocumentFragment27() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentRawLine338() (interface{}, error) { +func (p *parser) callonDocumentFragment27() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine338() + return p.cur.onDocumentFragment27() } -func (c *current) onDocumentRawLine341() (interface{}, error) { +func (c *current) onDocumentFragment30() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDocumentRawLine341() (interface{}, error) { +func (p *parser) callonDocumentFragment30() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine341() + return p.cur.onDocumentFragment30() } -func (c *current) onDocumentRawLine334() (interface{}, error) { - return types.NewBlockDelimiter(types.Listing, string(c.text)) +func (c *current) onDocumentFragment16(name interface{}) (interface{}, error) { + return types.NewAttributeReset(name.(string), string(c.text)) } -func (p *parser) callonDocumentRawLine334() (interface{}, error) { +func (p *parser) callonDocumentFragment16() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine334() + return p.cur.onDocumentFragment16(stack["name"]) } -func (c *current) onDocumentRawLine352() (interface{}, error) { +func (c *current) onDocumentFragment41() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentRawLine352() (interface{}, error) { +func (p *parser) callonDocumentFragment41() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine352() + return p.cur.onDocumentFragment41() } -func (c *current) onDocumentRawLine355() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onDocumentFragment48() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonDocumentRawLine355() (interface{}, error) { +func (p *parser) callonDocumentFragment48() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine355() + return p.cur.onDocumentFragment48() } -func (c *current) onDocumentRawLine348() (interface{}, error) { - return types.NewBlockDelimiter(types.Literal, string(c.text)) +func (c *current) onDocumentFragment51() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonDocumentRawLine348() (interface{}, error) { +func (p *parser) callonDocumentFragment51() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine348() + return p.cur.onDocumentFragment51() } -func (c *current) onDocumentRawLine366() (interface{}, error) { - return string(c.text), nil - +func (c *current) onDocumentFragment37(name interface{}) (interface{}, error) { + return types.NewAttributeReset(name.(string), string(c.text)) } -func (p *parser) callonDocumentRawLine366() (interface{}, error) { +func (p *parser) callonDocumentFragment37() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine366() + return p.cur.onDocumentFragment37(stack["name"]) } -func (c *current) onDocumentRawLine369() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onDocumentFragment65() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonDocumentRawLine369() (interface{}, error) { +func (p *parser) callonDocumentFragment65() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine369() + return p.cur.onDocumentFragment65() } -func (c *current) onDocumentRawLine362() (interface{}, error) { - return types.NewBlockDelimiter(types.Passthrough, string(c.text)) +func (c *current) onDocumentFragment68() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonDocumentRawLine362() (interface{}, error) { +func (p *parser) callonDocumentFragment68() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine362() + return p.cur.onDocumentFragment68() } -func (c *current) onDocumentRawLine380() (interface{}, error) { - return string(c.text), nil +func (c *current) onDocumentFragment59() (interface{}, error) { + return types.NewBlankLine() } -func (p *parser) callonDocumentRawLine380() (interface{}, error) { +func (p *parser) callonDocumentFragment59() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine380() + return p.cur.onDocumentFragment59() } -func (c *current) onDocumentRawLine383() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onDocumentFragment77() (bool, error) { + + return !c.isWithinDelimitedBlock(), nil + } -func (p *parser) callonDocumentRawLine383() (interface{}, error) { +func (p *parser) callonDocumentFragment77() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine383() + return p.cur.onDocumentFragment77() } -func (c *current) onDocumentRawLine376() (interface{}, error) { - return types.NewBlockDelimiter(types.Quote, string(c.text)) +func (c *current) onDocumentFragment79() (interface{}, error) { + + // `=` is level 0, `==` is level 1, etc. + return (len(c.text) - 1), nil + } -func (p *parser) callonDocumentRawLine376() (interface{}, error) { +func (p *parser) callonDocumentFragment79() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine376() + return p.cur.onDocumentFragment79() } -func (c *current) onDocumentRawLine394() (interface{}, error) { - return string(c.text), 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) callonDocumentRawLine394() (interface{}, error) { +func (p *parser) callonDocumentFragment82() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine394() + return p.cur.onDocumentFragment82(stack["level"]) } -func (c *current) onDocumentRawLine397() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onDocumentFragment83(level interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") return string(c.text), nil + } -func (p *parser) callonDocumentRawLine397() (interface{}, error) { +func (p *parser) callonDocumentFragment83() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine397() + return p.cur.onDocumentFragment83(stack["level"]) } -func (c *current) onDocumentRawLine390() (interface{}, error) { - return types.NewBlockDelimiter(types.Sidebar, string(c.text)) +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) callonDocumentRawLine390() (interface{}, error) { +func (p *parser) callonDocumentFragment87() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine390() + return p.cur.onDocumentFragment87() } -func (c *current) onDocumentRawLine268(delimiter interface{}) (interface{}, error) { - return delimiter, nil - +func (c *current) onDocumentFragment91() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonDocumentRawLine268() (interface{}, error) { +func (p *parser) callonDocumentFragment91() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine268(stack["delimiter"]) + return p.cur.onDocumentFragment91() } -func (c *current) onDocumentRawLine406() (bool, error) { - // should only be enabled when reading files to include, not the main (root) file - return c.isSectionEnabled(), nil +func (c *current) onDocumentFragment75(level, title interface{}) (interface{}, error) { + return types.NewSection(level.(int), title.([]interface{})) } -func (p *parser) callonDocumentRawLine406() (bool, error) { +func (p *parser) callonDocumentFragment75() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine406() + return p.cur.onDocumentFragment75(stack["level"], stack["title"]) } -func (c *current) onDocumentRawLine407() (bool, error) { - - return !c.isWithinDelimitedBlock(), nil +func (c *current) onDocumentFragment104() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDocumentRawLine407() (bool, error) { +func (p *parser) callonDocumentFragment104() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine407() + return p.cur.onDocumentFragment104() } -func (c *current) onDocumentRawLine409() (interface{}, error) { - - // `=` is level 0, `==` is level 1, etc. - return (len(c.text) - 1), nil - +func (c *current) onDocumentFragment107() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonDocumentRawLine409() (interface{}, error) { +func (p *parser) callonDocumentFragment107() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine409() + return p.cur.onDocumentFragment107() } -func (c *current) onDocumentRawLine412(level interface{}) (bool, error) { - - // use a predicate to make sure that only `=` (level 0) to `======` (level 5) are allowed - return level.(int) <= 5, nil - +func (c *current) onDocumentFragment100() (interface{}, error) { + return types.NewBlockDelimiter(types.Comment, string(c.text)) } -func (p *parser) callonDocumentRawLine412() (bool, error) { +func (p *parser) callonDocumentFragment100() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine412(stack["level"]) + return p.cur.onDocumentFragment100() } -func (c *current) onDocumentRawLine413(level interface{}) (interface{}, error) { - // log.Debug("matched multiple spaces") +func (c *current) onDocumentFragment124() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentRawLine413() (interface{}, error) { +func (p *parser) callonDocumentFragment124() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine413(stack["level"]) + return p.cur.onDocumentFragment124() } -func (c *current) onDocumentRawLine404(level interface{}) (interface{}, error) { - return types.NewRawSection(level.(int), string(c.text)) // just retain the raw content - +func (c *current) onDocumentFragment127() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonDocumentRawLine404() (interface{}, error) { +func (p *parser) callonDocumentFragment127() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine404(stack["level"]) + return p.cur.onDocumentFragment127() } -func (c *current) onDocumentRawLine1(element interface{}) (interface{}, error) { - // in case of parse error, we'll keep the rawline content as-is - return element, nil - +func (c *current) onDocumentFragment120() (interface{}, error) { + return types.NewBlockDelimiter(types.Comment, string(c.text)) } -func (p *parser) callonDocumentRawLine1() (interface{}, error) { +func (p *parser) callonDocumentFragment120() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine1(stack["element"]) + return p.cur.onDocumentFragment120() } -func (c *current) onFileInclusion19() (interface{}, error) { - // not supported for now: EOL, space, "{", "[", "]". Also, punctuation chars and `<` and `>` special chars are treated separately below (but `&` is allowed) - return types.NewStringElement(string(c.text)) +func (c *current) onDocumentFragment143() (interface{}, error) { + // content is NOT mandatory + return string(c.text), nil } -func (p *parser) callonFileInclusion19() (interface{}, error) { +func (p *parser) callonDocumentFragment143() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileInclusion19() + return p.cur.onDocumentFragment143() } -func (c *current) onFileInclusion23() (interface{}, error) { +func (c *current) onDocumentFragment147() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonFileInclusion23() (interface{}, error) { +func (p *parser) callonDocumentFragment147() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileInclusion23() + return p.cur.onDocumentFragment147() } -func (c *current) onFileInclusion30() (interface{}, error) { - return string(c.text), nil +func (c *current) onDocumentFragment137(content interface{}) (interface{}, error) { + + return types.NewRawLine(content.(string)) } -func (p *parser) callonFileInclusion30() (interface{}, error) { +func (p *parser) callonDocumentFragment137() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileInclusion30() + return p.cur.onDocumentFragment137(stack["content"]) } -func (c *current) onFileInclusion34() (bool, error) { - return c.isSubstitutionEnabled(Attributes), nil +func (c *current) onDocumentFragment116(line interface{}) (interface{}, error) { + return line, nil } -func (p *parser) callonFileInclusion34() (bool, error) { +func (p *parser) callonDocumentFragment116() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileInclusion34() + return p.cur.onDocumentFragment116(stack["line"]) } -func (c *current) onFileInclusion41() (interface{}, error) { +func (c *current) onDocumentFragment160() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonFileInclusion41() (interface{}, error) { +func (p *parser) callonDocumentFragment160() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileInclusion41() + return p.cur.onDocumentFragment160() } -func (c *current) onFileInclusion53() (interface{}, error) { +func (c *current) onDocumentFragment163() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonFileInclusion53() (interface{}, error) { +func (p *parser) callonDocumentFragment163() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileInclusion53() + return p.cur.onDocumentFragment163() } -func (c *current) onFileInclusion55() (interface{}, error) { - - return strconv.Atoi(string(c.text)) - +func (c *current) onDocumentFragment156() (interface{}, error) { + return types.NewBlockDelimiter(types.Comment, string(c.text)) } -func (p *parser) callonFileInclusion55() (interface{}, error) { +func (p *parser) callonDocumentFragment156() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileInclusion55() + return p.cur.onDocumentFragment156() } -func (c *current) onFileInclusion48(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onDocumentFragment98(content interface{}) (interface{}, error) { + c.unsetWithinDelimitedBlock() + return types.NewDelimitedBlock(types.Comment, content.([]interface{})) } -func (p *parser) callonFileInclusion48() (interface{}, error) { +func (p *parser) callonDocumentFragment98() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileInclusion48(stack["start"]) + return p.cur.onDocumentFragment98(stack["content"]) } -func (c *current) onFileInclusion37(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) +func (c *current) onDocumentFragment178() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonFileInclusion37() (interface{}, error) { +func (p *parser) callonDocumentFragment178() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileInclusion37(stack["name"], stack["start"]) + return p.cur.onDocumentFragment178() } -func (c *current) onFileInclusion63() (interface{}, error) { +func (c *current) onDocumentFragment181() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonFileInclusion63() (interface{}, error) { +func (p *parser) callonDocumentFragment181() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileInclusion63() + return p.cur.onDocumentFragment181() } -func (c *current) onFileInclusion75() (interface{}, error) { - return string(c.text), nil - +func (c *current) onDocumentFragment174() (interface{}, error) { + return types.NewBlockDelimiter(types.Example, string(c.text)) } -func (p *parser) callonFileInclusion75() (interface{}, error) { +func (p *parser) callonDocumentFragment174() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileInclusion75() + return p.cur.onDocumentFragment174() } -func (c *current) onFileInclusion77() (interface{}, error) { - - return strconv.Atoi(string(c.text)) +func (c *current) onDocumentFragment198() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonFileInclusion77() (interface{}, error) { +func (p *parser) callonDocumentFragment198() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileInclusion77() + return p.cur.onDocumentFragment198() } -func (c *current) onFileInclusion70(start interface{}) (interface{}, error) { - return start, nil - +func (c *current) onDocumentFragment201() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonFileInclusion70() (interface{}, error) { +func (p *parser) callonDocumentFragment201() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileInclusion70(stack["start"]) + return p.cur.onDocumentFragment201() } -func (c *current) onFileInclusion59(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) +func (c *current) onDocumentFragment194() (interface{}, error) { + return types.NewBlockDelimiter(types.Example, string(c.text)) } -func (p *parser) callonFileInclusion59() (interface{}, error) { +func (p *parser) callonDocumentFragment194() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileInclusion59(stack["name"], stack["start"]) + return p.cur.onDocumentFragment194() } -func (c *current) onFileInclusion85() (interface{}, error) { +func (c *current) onDocumentFragment217() (interface{}, error) { + // content is NOT mandatory return string(c.text), nil } -func (p *parser) callonFileInclusion85() (interface{}, error) { +func (p *parser) callonDocumentFragment217() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileInclusion85() + return p.cur.onDocumentFragment217() } -func (c *current) onFileInclusion81(name interface{}) (interface{}, error) { - - return types.NewAttributeSubstitution(name.(string), string(c.text)) - +func (c *current) onDocumentFragment221() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonFileInclusion81() (interface{}, error) { +func (p *parser) callonDocumentFragment221() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileInclusion81(stack["name"]) + return p.cur.onDocumentFragment221() } -func (c *current) onFileInclusion32(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onDocumentFragment211(content interface{}) (interface{}, error) { + + return types.NewRawLine(content.(string)) } -func (p *parser) callonFileInclusion32() (interface{}, error) { +func (p *parser) callonDocumentFragment211() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileInclusion32(stack["element"]) + return p.cur.onDocumentFragment211(stack["content"]) } -func (c *current) onFileInclusion93() (bool, error) { - return c.isSubstitutionEnabled(SpecialCharacters), nil +func (c *current) onDocumentFragment190(line interface{}) (interface{}, error) { + return line, nil } -func (p *parser) callonFileInclusion93() (bool, error) { +func (p *parser) callonDocumentFragment190() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileInclusion93() + return p.cur.onDocumentFragment190(stack["line"]) } -func (c *current) onFileInclusion102() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ +func (c *current) onDocumentFragment234() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonFileInclusion102() (interface{}, error) { +func (p *parser) callonDocumentFragment234() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileInclusion102() + return p.cur.onDocumentFragment234() } -func (c *current) onFileInclusion106() (interface{}, error) { +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) callonFileInclusion106() (interface{}, error) { +func (p *parser) callonDocumentFragment230() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileInclusion106() + return p.cur.onDocumentFragment230() } -func (c *current) onFileInclusion112() (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) onDocumentFragment172(content interface{}) (interface{}, error) { + c.unsetWithinDelimitedBlock() + return types.NewDelimitedBlock(types.Example, content.([]interface{})) } -func (p *parser) callonFileInclusion112() (interface{}, error) { +func (p *parser) callonDocumentFragment172() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileInclusion112() + return p.cur.onDocumentFragment172(stack["content"]) } -func (c *current) onFileInclusion121() (interface{}, error) { +func (c *current) onDocumentFragment253() (interface{}, error) { return string(c.text), nil - } -func (p *parser) callonFileInclusion121() (interface{}, error) { +func (p *parser) callonDocumentFragment253() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileInclusion121() + return p.cur.onDocumentFragment253() } -func (c *current) onFileInclusion117(name interface{}) (interface{}, error) { - - return types.NewAttributeSubstitution(name.(string), string(c.text)) +func (c *current) onDocumentFragment257() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonFileInclusion117() (interface{}, error) { +func (p *parser) callonDocumentFragment257() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileInclusion117(stack["name"]) + return p.cur.onDocumentFragment257() } -func (c *current) onFileInclusion127() (interface{}, error) { - - return types.NewStringElement(string(c.text)) - +func (c *current) onDocumentFragment260() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonFileInclusion127() (interface{}, error) { +func (p *parser) callonDocumentFragment260() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileInclusion127() + return p.cur.onDocumentFragment260() } -func (c *current) onFileInclusion98(id, label interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, label) - +func (c *current) onDocumentFragment249(language interface{}) (interface{}, error) { + return types.NewMarkdownCodeBlockDelimiter(language.(string), string(c.text)) } -func (p *parser) callonFileInclusion98() (interface{}, error) { +func (p *parser) callonDocumentFragment249() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileInclusion98(stack["id"], stack["label"]) + return p.cur.onDocumentFragment249(stack["language"]) } -func (c *current) onFileInclusion134() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ +func (c *current) onDocumentFragment277() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonFileInclusion134() (interface{}, error) { +func (p *parser) callonDocumentFragment277() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileInclusion134() + return p.cur.onDocumentFragment277() } -func (c *current) onFileInclusion130(id interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, nil) - +func (c *current) onDocumentFragment280() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonFileInclusion130() (interface{}, error) { +func (p *parser) callonDocumentFragment280() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileInclusion130(stack["id"]) + return p.cur.onDocumentFragment280() } -func (c *current) onFileInclusion96() (interface{}, error) { - return types.NewStringElement(string(c.text)) - +func (c *current) onDocumentFragment273() (interface{}, error) { + return types.NewBlockDelimiter(types.Fenced, string(c.text)) } -func (p *parser) callonFileInclusion96() (interface{}, error) { +func (p *parser) callonDocumentFragment273() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileInclusion96() + return p.cur.onDocumentFragment273() } -func (c *current) onFileInclusion138() (interface{}, error) { - return types.NewSpecialCharacter(string(c.text)) +func (c *current) onDocumentFragment296() (interface{}, error) { + // content is NOT mandatory + return string(c.text), nil } -func (p *parser) callonFileInclusion138() (interface{}, error) { +func (p *parser) callonDocumentFragment296() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileInclusion138() + return p.cur.onDocumentFragment296() } -func (c *current) onFileInclusion91(element interface{}) (interface{}, error) { - return element, nil - +func (c *current) onDocumentFragment300() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonFileInclusion91() (interface{}, error) { +func (p *parser) callonDocumentFragment300() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileInclusion91(stack["element"]) + return p.cur.onDocumentFragment300() } -func (c *current) onFileInclusion140() (interface{}, error) { - return types.NewStringElement(string(c.text)) +func (c *current) onDocumentFragment290(content interface{}) (interface{}, error) { + + return types.NewRawLine(content.(string)) } -func (p *parser) callonFileInclusion140() (interface{}, error) { +func (p *parser) callonDocumentFragment290() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileInclusion140() + return p.cur.onDocumentFragment290(stack["content"]) } -func (c *current) onFileInclusion12(elements interface{}) (interface{}, error) { - return types.NewInlineElements(elements.([]interface{})) +func (c *current) onDocumentFragment269(line interface{}) (interface{}, error) { + return line, nil } -func (p *parser) callonFileInclusion12() (interface{}, error) { +func (p *parser) callonDocumentFragment269() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileInclusion12(stack["elements"]) + return p.cur.onDocumentFragment269(stack["line"]) } -func (c *current) onFileInclusion146() (interface{}, error) { +func (c *current) onDocumentFragment313() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonFileInclusion146() (interface{}, error) { +func (p *parser) callonDocumentFragment313() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileInclusion146() + return p.cur.onDocumentFragment313() } -func (c *current) onFileInclusion142(ref interface{}) (interface{}, error) { - return types.NewElementPlaceHolder(ref.(string)) +func (c *current) onDocumentFragment316() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonFileInclusion142() (interface{}, error) { +func (p *parser) callonDocumentFragment316() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileInclusion142(stack["ref"]) + return p.cur.onDocumentFragment316() } -func (c *current) onFileInclusion8(path interface{}) (interface{}, error) { - return types.NewLocation("", path.([]interface{})) - +func (c *current) onDocumentFragment309() (interface{}, error) { + return types.NewBlockDelimiter(types.Fenced, string(c.text)) } -func (p *parser) callonFileInclusion8() (interface{}, error) { +func (p *parser) callonDocumentFragment309() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileInclusion8(stack["path"]) + return p.cur.onDocumentFragment309() } -func (c *current) onFileInclusion4(path, attributes interface{}) (interface{}, error) { - - return types.NewFileInclusion(path.(*types.Location), attributes.(types.Attributes), string(c.text)) +func (c *current) onDocumentFragment246(delimiter, content interface{}) (interface{}, error) { + c.unsetWithinDelimitedBlock() + // Markdown code with fences is a "listing/source" block in Asciidoc + b, err := types.NewDelimitedBlock(types.Listing, content.([]interface{})) + b.AddAttributes(delimiter.(*types.BlockDelimiter).Attributes) + return b, err } -func (p *parser) callonFileInclusion4() (interface{}, error) { +func (p *parser) callonDocumentFragment246() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileInclusion4(stack["path"], stack["attributes"]) + return p.cur.onDocumentFragment246(stack["delimiter"], stack["content"]) } -func (c *current) onFileInclusion153() (interface{}, error) { +func (c *current) onDocumentFragment331() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonFileInclusion153() (interface{}, error) { +func (p *parser) callonDocumentFragment331() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileInclusion153() + return p.cur.onDocumentFragment331() } -func (c *current) onFileInclusion156() (interface{}, error) { +func (c *current) onDocumentFragment334() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonFileInclusion156() (interface{}, error) { +func (p *parser) callonDocumentFragment334() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileInclusion156() + return p.cur.onDocumentFragment334() } -func (c *current) onFileInclusion1(incl interface{}) (interface{}, error) { - return incl.(*types.FileInclusion), nil - +func (c *current) onDocumentFragment327() (interface{}, error) { + return types.NewBlockDelimiter(types.Fenced, string(c.text)) } -func (p *parser) callonFileInclusion1() (interface{}, error) { +func (p *parser) callonDocumentFragment327() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileInclusion1(stack["incl"]) + return p.cur.onDocumentFragment327() } -func (c *current) onLineRanges12() (interface{}, error) { - return strconv.Atoi(string(c.text)) +func (c *current) onDocumentFragment351() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonLineRanges12() (interface{}, error) { +func (p *parser) callonDocumentFragment351() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLineRanges12() + return p.cur.onDocumentFragment351() } -func (c *current) onLineRanges20() (interface{}, error) { - return strconv.Atoi(string(c.text)) - +func (c *current) onDocumentFragment354() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonLineRanges20() (interface{}, error) { +func (p *parser) callonDocumentFragment354() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLineRanges20() + return p.cur.onDocumentFragment354() } -func (c *current) onLineRanges9(start, end interface{}) (interface{}, error) { - // eg: lines=12..14 - return types.NewLineRange(start.(int), end.(int)) - +func (c *current) onDocumentFragment347() (interface{}, error) { + return types.NewBlockDelimiter(types.Fenced, string(c.text)) } -func (p *parser) callonLineRanges9() (interface{}, error) { +func (p *parser) callonDocumentFragment347() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLineRanges9(stack["start"], stack["end"]) + return p.cur.onDocumentFragment347() } -func (c *current) onLineRanges28() (interface{}, error) { - return strconv.Atoi(string(c.text)) +func (c *current) onDocumentFragment370() (interface{}, error) { + // content is NOT mandatory + return string(c.text), nil } -func (p *parser) callonLineRanges28() (interface{}, error) { +func (p *parser) callonDocumentFragment370() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLineRanges28() + return p.cur.onDocumentFragment370() } -func (c *current) onLineRanges26(singleline interface{}) (interface{}, error) { - // eg: lines=12 - return types.NewLineRange(singleline.(int), singleline.(int)) - +func (c *current) onDocumentFragment374() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonLineRanges26() (interface{}, error) { +func (p *parser) callonDocumentFragment374() (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)) - + return p.cur.onDocumentFragment374() } -func (p *parser) callonLineRanges44() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLineRanges44() -} +func (c *current) onDocumentFragment364(content interface{}) (interface{}, error) { -func (c *current) onLineRanges52() (interface{}, error) { - return strconv.Atoi(string(c.text)) + return types.NewRawLine(content.(string)) } -func (p *parser) callonLineRanges52() (interface{}, error) { +func (p *parser) callonDocumentFragment364() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLineRanges52() + return p.cur.onDocumentFragment364(stack["content"]) } -func (c *current) onLineRanges41(start, end interface{}) (interface{}, error) { - // eg: lines=12..14 - return types.NewLineRange(start.(int), end.(int)) +func (c *current) onDocumentFragment343(line interface{}) (interface{}, error) { + return line, nil } -func (p *parser) callonLineRanges41() (interface{}, error) { +func (p *parser) callonDocumentFragment343() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLineRanges41(stack["start"], stack["end"]) + return p.cur.onDocumentFragment343(stack["line"]) } -func (c *current) onLineRanges60() (interface{}, error) { - return strconv.Atoi(string(c.text)) +func (c *current) onDocumentFragment387() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonLineRanges60() (interface{}, error) { +func (p *parser) callonDocumentFragment387() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLineRanges60() + return p.cur.onDocumentFragment387() } -func (c *current) onLineRanges58(singleline interface{}) (interface{}, error) { - // eg: lines=12 - return types.NewLineRange(singleline.(int), singleline.(int)) - +func (c *current) onDocumentFragment390() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonLineRanges58() (interface{}, error) { +func (p *parser) callonDocumentFragment390() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLineRanges58(stack["singleline"]) + return p.cur.onDocumentFragment390() } -func (c *current) onLineRanges36(other interface{}) (interface{}, error) { - return other, nil - +func (c *current) onDocumentFragment383() (interface{}, error) { + return types.NewBlockDelimiter(types.Fenced, string(c.text)) } -func (p *parser) callonLineRanges36() (interface{}, error) { +func (p *parser) callonDocumentFragment383() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLineRanges36(stack["other"]) + return p.cur.onDocumentFragment383() } -func (c *current) onLineRanges5(first, others interface{}) (interface{}, error) { - return append([]interface{}{first}, others.([]interface{})...), nil +func (c *current) onDocumentFragment325(content interface{}) (interface{}, error) { + c.unsetWithinDelimitedBlock() + return types.NewDelimitedBlock(types.Fenced, content.([]interface{})) } -func (p *parser) callonLineRanges5() (interface{}, error) { +func (p *parser) callonDocumentFragment325() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLineRanges5(stack["first"], stack["others"]) + return p.cur.onDocumentFragment325(stack["content"]) } -func (c *current) onLineRanges69() (interface{}, error) { - return strconv.Atoi(string(c.text)) +func (c *current) onDocumentFragment405() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonLineRanges69() (interface{}, error) { +func (p *parser) callonDocumentFragment405() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLineRanges69() + return p.cur.onDocumentFragment405() } -func (c *current) onLineRanges77() (interface{}, error) { - return strconv.Atoi(string(c.text)) - +func (c *current) onDocumentFragment408() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonLineRanges77() (interface{}, error) { +func (p *parser) callonDocumentFragment408() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLineRanges77() + return p.cur.onDocumentFragment408() } -func (c *current) onLineRanges66(start, end interface{}) (interface{}, error) { - // eg: lines=12..14 - return types.NewLineRange(start.(int), end.(int)) - +func (c *current) onDocumentFragment401() (interface{}, error) { + return types.NewBlockDelimiter(types.Listing, string(c.text)) } -func (p *parser) callonLineRanges66() (interface{}, error) { +func (p *parser) callonDocumentFragment401() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLineRanges66(stack["start"], stack["end"]) + return p.cur.onDocumentFragment401() } -func (c *current) onLineRanges85() (interface{}, error) { - return strconv.Atoi(string(c.text)) +func (c *current) onDocumentFragment425() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonLineRanges85() (interface{}, error) { +func (p *parser) callonDocumentFragment425() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLineRanges85() + return p.cur.onDocumentFragment425() } -func (c *current) onLineRanges83(singleline interface{}) (interface{}, error) { - // eg: lines=12 - return types.NewLineRange(singleline.(int), singleline.(int)) - +func (c *current) onDocumentFragment428() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonLineRanges83() (interface{}, error) { +func (p *parser) callonDocumentFragment428() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLineRanges83(stack["singleline"]) + return p.cur.onDocumentFragment428() } -func (c *current) onLineRanges1(value interface{}) (interface{}, error) { - // must make sure that the whole content is parsed - return value, nil - +func (c *current) onDocumentFragment421() (interface{}, error) { + return types.NewBlockDelimiter(types.Listing, string(c.text)) } -func (p *parser) callonLineRanges1() (interface{}, error) { +func (p *parser) callonDocumentFragment421() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLineRanges1(stack["value"]) + return p.cur.onDocumentFragment421() } -func (c *current) onTagRanges11() (interface{}, error) { +func (c *current) onDocumentFragment444() (interface{}, error) { + // content is NOT mandatory return string(c.text), nil } -func (p *parser) callonTagRanges11() (interface{}, error) { +func (p *parser) callonDocumentFragment444() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onTagRanges11() + return p.cur.onDocumentFragment444() } -func (c *current) onTagRanges17() (interface{}, error) { +func (c *current) onDocumentFragment448() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonTagRanges17() (interface{}, error) { +func (p *parser) callonDocumentFragment448() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onTagRanges17() + return p.cur.onDocumentFragment448() } -func (c *current) onTagRanges20(stars interface{}) (bool, error) { +func (c *current) onDocumentFragment438(content interface{}) (interface{}, error) { - // use a predicate to make sure that only `*` and `**` are allowed - return len(stars.(string)) <= 2, nil + return types.NewRawLine(content.(string)) } -func (p *parser) callonTagRanges20() (bool, error) { +func (p *parser) callonDocumentFragment438() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onTagRanges20(stack["stars"]) + return p.cur.onDocumentFragment438(stack["content"]) } -func (c *current) onTagRanges14(stars interface{}) (interface{}, error) { - return stars, nil +func (c *current) onDocumentFragment417(line interface{}) (interface{}, error) { + return line, nil } -func (p *parser) callonTagRanges14() (interface{}, error) { +func (p *parser) callonDocumentFragment417() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onTagRanges14(stack["stars"]) + return p.cur.onDocumentFragment417(stack["line"]) } -func (c *current) onTagRanges8(tag interface{}) (interface{}, error) { - return types.NewTagRange(tag.(string), true) +func (c *current) onDocumentFragment461() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonTagRanges8() (interface{}, error) { +func (p *parser) callonDocumentFragment461() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onTagRanges8(stack["tag"]) + return p.cur.onDocumentFragment461() } -func (c *current) onTagRanges26() (interface{}, error) { +func (c *current) onDocumentFragment464() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonTagRanges26() (interface{}, error) { +func (p *parser) callonDocumentFragment464() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onTagRanges26() + return p.cur.onDocumentFragment464() } -func (c *current) onTagRanges32() (interface{}, error) { - return string(c.text), nil - +func (c *current) onDocumentFragment457() (interface{}, error) { + return types.NewBlockDelimiter(types.Listing, string(c.text)) } -func (p *parser) callonTagRanges32() (interface{}, error) { +func (p *parser) callonDocumentFragment457() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onTagRanges32() + return p.cur.onDocumentFragment457() } -func (c *current) onTagRanges35(stars interface{}) (bool, error) { - - // use a predicate to make sure that only `*` and `**` are allowed - return len(stars.(string)) <= 2, nil +func (c *current) onDocumentFragment399(content interface{}) (interface{}, error) { + c.unsetWithinDelimitedBlock() + return types.NewDelimitedBlock(types.Listing, content.([]interface{})) } -func (p *parser) callonTagRanges35() (bool, error) { +func (p *parser) callonDocumentFragment399() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onTagRanges35(stack["stars"]) + return p.cur.onDocumentFragment399(stack["content"]) } -func (c *current) onTagRanges29(stars interface{}) (interface{}, error) { - return stars, nil +func (c *current) onDocumentFragment479() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonTagRanges29() (interface{}, error) { +func (p *parser) callonDocumentFragment479() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onTagRanges29(stack["stars"]) + return p.cur.onDocumentFragment479() } -func (c *current) onTagRanges21(tag interface{}) (interface{}, error) { - return types.NewTagRange(tag.(string), false) +func (c *current) onDocumentFragment482() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} +func (p *parser) callonDocumentFragment482() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment482() } -func (p *parser) callonTagRanges21() (interface{}, error) { +func (c *current) onDocumentFragment475() (interface{}, error) { + return types.NewBlockDelimiter(types.Literal, string(c.text)) +} + +func (p *parser) callonDocumentFragment475() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onTagRanges21(stack["tag"]) + return p.cur.onDocumentFragment475() } -func (c *current) onTagRanges46() (interface{}, error) { +func (c *current) onDocumentFragment499() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonTagRanges46() (interface{}, error) { +func (p *parser) callonDocumentFragment499() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onTagRanges46() + return p.cur.onDocumentFragment499() } -func (c *current) onTagRanges52() (interface{}, error) { +func (c *current) onDocumentFragment502() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonTagRanges52() (interface{}, error) { +func (p *parser) callonDocumentFragment502() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onTagRanges52() + return p.cur.onDocumentFragment502() } -func (c *current) onTagRanges55(stars interface{}) (bool, error) { +func (c *current) onDocumentFragment495() (interface{}, error) { + return types.NewBlockDelimiter(types.Literal, string(c.text)) +} - // use a predicate to make sure that only `*` and `**` are allowed - return len(stars.(string)) <= 2, nil +func (p *parser) callonDocumentFragment495() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment495() +} + +func (c *current) onDocumentFragment518() (interface{}, error) { + // content is NOT mandatory + return string(c.text), nil } -func (p *parser) callonTagRanges55() (bool, error) { +func (p *parser) callonDocumentFragment518() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onTagRanges55(stack["stars"]) + return p.cur.onDocumentFragment518() } -func (c *current) onTagRanges49(stars interface{}) (interface{}, error) { - return stars, nil - +func (c *current) onDocumentFragment522() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonTagRanges49() (interface{}, error) { +func (p *parser) callonDocumentFragment522() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onTagRanges49(stack["stars"]) + return p.cur.onDocumentFragment522() } -func (c *current) onTagRanges43(tag interface{}) (interface{}, error) { - return types.NewTagRange(tag.(string), true) +func (c *current) onDocumentFragment512(content interface{}) (interface{}, error) { + + return types.NewRawLine(content.(string)) } -func (p *parser) callonTagRanges43() (interface{}, error) { +func (p *parser) callonDocumentFragment512() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onTagRanges43(stack["tag"]) + return p.cur.onDocumentFragment512(stack["content"]) } -func (c *current) onTagRanges61() (interface{}, error) { - return string(c.text), nil +func (c *current) onDocumentFragment491(line interface{}) (interface{}, error) { + return line, nil } -func (p *parser) callonTagRanges61() (interface{}, error) { +func (p *parser) callonDocumentFragment491() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onTagRanges61() + return p.cur.onDocumentFragment491(stack["line"]) } -func (c *current) onTagRanges67() (interface{}, error) { +func (c *current) onDocumentFragment535() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonTagRanges67() (interface{}, error) { +func (p *parser) callonDocumentFragment535() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onTagRanges67() + return p.cur.onDocumentFragment535() } -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 (c *current) onDocumentFragment538() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonTagRanges70() (bool, error) { +func (p *parser) callonDocumentFragment538() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onTagRanges70(stack["stars"]) + return p.cur.onDocumentFragment538() } -func (c *current) onTagRanges64(stars interface{}) (interface{}, error) { - return stars, nil - +func (c *current) onDocumentFragment531() (interface{}, error) { + return types.NewBlockDelimiter(types.Literal, string(c.text)) } -func (p *parser) callonTagRanges64() (interface{}, error) { +func (p *parser) callonDocumentFragment531() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onTagRanges64(stack["stars"]) + return p.cur.onDocumentFragment531() } -func (c *current) onTagRanges56(tag interface{}) (interface{}, error) { - return types.NewTagRange(tag.(string), false) +func (c *current) onDocumentFragment473(content interface{}) (interface{}, error) { + c.unsetWithinDelimitedBlock() + return types.NewDelimitedBlock(types.Literal, content.([]interface{})) } -func (p *parser) callonTagRanges56() (interface{}, error) { +func (p *parser) callonDocumentFragment473() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onTagRanges56(stack["tag"]) + return p.cur.onDocumentFragment473(stack["content"]) } -func (c *current) onTagRanges38(other interface{}) (interface{}, error) { - return other, nil +func (c *current) onDocumentFragment559() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonTagRanges38() (interface{}, error) { +func (p *parser) callonDocumentFragment559() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onTagRanges38(stack["other"]) + return p.cur.onDocumentFragment559() } -func (c *current) onTagRanges4(first, others interface{}) (interface{}, error) { - return append([]interface{}{first}, others.([]interface{})...), nil - +func (c *current) onDocumentFragment562() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonTagRanges4() (interface{}, error) { +func (p *parser) callonDocumentFragment562() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onTagRanges4(stack["first"], stack["others"]) + return p.cur.onDocumentFragment562() } -func (c *current) onTagRanges1(value interface{}) (interface{}, error) { - // must make sure that the whole content is parsed - return value, nil +func (c *current) onDocumentFragment553() (interface{}, error) { + return types.NewBlankLine() } -func (p *parser) callonTagRanges1() (interface{}, error) { +func (p *parser) callonDocumentFragment553() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onTagRanges1(stack["value"]) + return p.cur.onDocumentFragment553() } -func (c *current) onIncludedFileLine11() (interface{}, error) { +func (c *current) onDocumentFragment571() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonIncludedFileLine11() (interface{}, error) { +func (p *parser) callonDocumentFragment571() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIncludedFileLine11() + return p.cur.onDocumentFragment571() } -func (c *current) onIncludedFileLine10() (interface{}, error) { +func (c *current) onDocumentFragment575() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonIncludedFileLine10() (interface{}, error) { +func (p *parser) callonDocumentFragment575() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIncludedFileLine10() + return p.cur.onDocumentFragment575() } -func (c *current) onIncludedFileLine6(tag interface{}) (interface{}, error) { - return types.NewIncludedFileStartTag(tag.(string)) +func (c *current) onDocumentFragment550(content interface{}) (interface{}, error) { + return types.NewRawLine(content.(string)) } -func (p *parser) callonIncludedFileLine6() (interface{}, error) { +func (p *parser) callonDocumentFragment550() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIncludedFileLine6(stack["tag"]) + return p.cur.onDocumentFragment550(stack["content"]) } -func (c *current) onIncludedFileLine20() (interface{}, error) { +func (c *current) onDocumentFragment594() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonIncludedFileLine20() (interface{}, error) { +func (p *parser) callonDocumentFragment594() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIncludedFileLine20() + return p.cur.onDocumentFragment594() } -func (c *current) onIncludedFileLine19() (interface{}, error) { +func (c *current) onDocumentFragment597() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonIncludedFileLine19() (interface{}, error) { +func (p *parser) callonDocumentFragment597() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIncludedFileLine19() + return p.cur.onDocumentFragment597() } -func (c *current) onIncludedFileLine15(tag interface{}) (interface{}, error) { - return types.NewIncludedFileEndTag(tag.(string)) +func (c *current) onDocumentFragment588() (interface{}, error) { + return types.NewBlankLine() } -func (p *parser) callonIncludedFileLine15() (interface{}, error) { +func (p *parser) callonDocumentFragment588() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIncludedFileLine15(stack["tag"]) + return p.cur.onDocumentFragment588() } -func (c *current) onIncludedFileLine24() (interface{}, error) { +func (c *current) onDocumentFragment606() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonIncludedFileLine24() (interface{}, error) { +func (p *parser) callonDocumentFragment606() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIncludedFileLine24() + return p.cur.onDocumentFragment606() } -func (c *current) onIncludedFileLine27() (interface{}, error) { +func (c *current) onDocumentFragment610() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonIncludedFileLine27() (interface{}, error) { +func (p *parser) callonDocumentFragment610() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIncludedFileLine27() + return p.cur.onDocumentFragment610() } -func (c *current) onIncludedFileLine1(content interface{}) (interface{}, error) { - return types.NewIncludedFileLine(content.([]interface{})) +func (c *current) onDocumentFragment585(content interface{}) (interface{}, error) { + return types.NewRawLine(content.(string)) } -func (p *parser) callonIncludedFileLine1() (interface{}, error) { +func (p *parser) callonDocumentFragment585() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIncludedFileLine1(stack["content"]) + return p.cur.onDocumentFragment585(stack["content"]) } -func (c *current) onDocumentFragment20() (interface{}, error) { - return string(c.text), nil +func (c *current) onDocumentFragment620() (interface{}, error) { + return strings.TrimRight(string(c.text), " \t"), nil // trim spaces and tabs } -func (p *parser) callonDocumentFragment20() (interface{}, error) { +func (p *parser) callonDocumentFragment620() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment20() + return p.cur.onDocumentFragment620() } -func (c *current) onDocumentFragment27() (interface{}, error) { - return string(c.text), nil +func (c *current) onDocumentFragment623(content interface{}) (bool, error) { + return len(strings.TrimSpace(content.(string))) > 0, nil } -func (p *parser) callonDocumentFragment27() (interface{}, error) { +func (p *parser) callonDocumentFragment623() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment27() + return p.cur.onDocumentFragment623(stack["content"]) } -func (c *current) onDocumentFragment30() (interface{}, error) { +func (c *current) onDocumentFragment625() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDocumentFragment30() (interface{}, error) { +func (p *parser) callonDocumentFragment625() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment30() + return p.cur.onDocumentFragment625() } -func (c *current) onDocumentFragment16(name interface{}) (interface{}, error) { - return types.NewAttributeReset(name.(string), string(c.text)) +func (c *current) onDocumentFragment617(content interface{}) (interface{}, error) { + return types.NewRawLine(content.(string)) + } -func (p *parser) callonDocumentFragment16() (interface{}, error) { +func (p *parser) callonDocumentFragment617() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment16(stack["name"]) + return p.cur.onDocumentFragment617(stack["content"]) } -func (c *current) onDocumentFragment41() (interface{}, error) { - return string(c.text), nil +func (c *current) onDocumentFragment547(firstLine, otherLines interface{}) (interface{}, error) { + return types.NewDelimitedBlock(types.MarkdownQuote, append([]interface{}{firstLine}, otherLines.([]interface{})...)) } -func (p *parser) callonDocumentFragment41() (interface{}, error) { +func (p *parser) callonDocumentFragment547() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment41() + return p.cur.onDocumentFragment547(stack["firstLine"], stack["otherLines"]) } -func (c *current) onDocumentFragment48() (interface{}, error) { +func (c *current) onDocumentFragment638() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentFragment48() (interface{}, error) { +func (p *parser) callonDocumentFragment638() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment48() + return p.cur.onDocumentFragment638() } -func (c *current) onDocumentFragment51() (interface{}, error) { +func (c *current) onDocumentFragment641() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDocumentFragment51() (interface{}, error) { +func (p *parser) callonDocumentFragment641() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment51() + return p.cur.onDocumentFragment641() } -func (c *current) onDocumentFragment37(name interface{}) (interface{}, error) { - return types.NewAttributeReset(name.(string), string(c.text)) +func (c *current) onDocumentFragment634() (interface{}, error) { + return types.NewBlockDelimiter(types.Passthrough, string(c.text)) } -func (p *parser) callonDocumentFragment37() (interface{}, error) { +func (p *parser) callonDocumentFragment634() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment37(stack["name"]) + return p.cur.onDocumentFragment634() } -func (c *current) onDocumentFragment65() (interface{}, error) { +func (c *current) onDocumentFragment658() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentFragment65() (interface{}, error) { +func (p *parser) callonDocumentFragment658() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment65() + return p.cur.onDocumentFragment658() } -func (c *current) onDocumentFragment68() (interface{}, error) { +func (c *current) onDocumentFragment661() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDocumentFragment68() (interface{}, error) { +func (p *parser) callonDocumentFragment661() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment68() + return p.cur.onDocumentFragment661() } -func (c *current) onDocumentFragment59() (interface{}, error) { - return types.NewBlankLine() - +func (c *current) onDocumentFragment654() (interface{}, error) { + return types.NewBlockDelimiter(types.Passthrough, string(c.text)) } -func (p *parser) callonDocumentFragment59() (interface{}, error) { +func (p *parser) callonDocumentFragment654() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment59() + return p.cur.onDocumentFragment654() } -func (c *current) onDocumentFragment77() (bool, error) { - - return !c.isWithinDelimitedBlock(), nil +func (c *current) onDocumentFragment677() (interface{}, error) { + // content is NOT mandatory + return string(c.text), nil } -func (p *parser) callonDocumentFragment77() (bool, error) { +func (p *parser) callonDocumentFragment677() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment77() + return p.cur.onDocumentFragment677() } -func (c *current) onDocumentFragment79() (interface{}, error) { - - // `=` is level 0, `==` is level 1, etc. - return (len(c.text) - 1), nil - +func (c *current) onDocumentFragment681() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonDocumentFragment79() (interface{}, error) { +func (p *parser) callonDocumentFragment681() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment79() + return p.cur.onDocumentFragment681() } -func (c *current) onDocumentFragment82(level interface{}) (bool, error) { +func (c *current) onDocumentFragment671(content interface{}) (interface{}, error) { - // use a predicate to make sure that only `=` (level 0) to `======` (level 5) are allowed - return level.(int) <= 5, nil + return types.NewRawLine(content.(string)) } -func (p *parser) callonDocumentFragment82() (bool, error) { +func (p *parser) callonDocumentFragment671() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment82(stack["level"]) + return p.cur.onDocumentFragment671(stack["content"]) } -func (c *current) onDocumentFragment83(level interface{}) (interface{}, error) { - // log.Debug("matched multiple spaces") - return string(c.text), nil +func (c *current) onDocumentFragment650(line interface{}) (interface{}, error) { + return line, nil } -func (p *parser) callonDocumentFragment83() (interface{}, error) { +func (p *parser) callonDocumentFragment650() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment83(stack["level"]) + return p.cur.onDocumentFragment650(stack["line"]) } -func (c *current) onDocumentFragment87() (interface{}, error) { - // can't have empty title, that may collide with example block delimiter (`====`) - return []interface{}{ - types.RawLine(c.text), - }, nil +func (c *current) onDocumentFragment694() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDocumentFragment87() (interface{}, error) { +func (p *parser) callonDocumentFragment694() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment87() + return p.cur.onDocumentFragment694() } -func (c *current) onDocumentFragment91() (interface{}, error) { +func (c *current) onDocumentFragment697() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDocumentFragment91() (interface{}, error) { +func (p *parser) callonDocumentFragment697() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment91() + return p.cur.onDocumentFragment697() } -func (c *current) onDocumentFragment75(level, title interface{}) (interface{}, error) { - return types.NewSection(level.(int), title.([]interface{})) +func (c *current) onDocumentFragment690() (interface{}, error) { + return types.NewBlockDelimiter(types.Passthrough, string(c.text)) +} +func (p *parser) callonDocumentFragment690() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment690() } -func (p *parser) callonDocumentFragment75() (interface{}, error) { +func (c *current) onDocumentFragment632(content interface{}) (interface{}, error) { + c.unsetWithinDelimitedBlock() + return types.NewDelimitedBlock(types.Passthrough, content.([]interface{})) + +} + +func (p *parser) callonDocumentFragment632() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment75(stack["level"], stack["title"]) + return p.cur.onDocumentFragment632(stack["content"]) } -func (c *current) onDocumentFragment104() (interface{}, error) { +func (c *current) onDocumentFragment712() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentFragment104() (interface{}, error) { +func (p *parser) callonDocumentFragment712() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment104() + return p.cur.onDocumentFragment712() } -func (c *current) onDocumentFragment107() (interface{}, error) { +func (c *current) onDocumentFragment715() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDocumentFragment107() (interface{}, error) { +func (p *parser) callonDocumentFragment715() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment107() + return p.cur.onDocumentFragment715() } -func (c *current) onDocumentFragment100() (interface{}, error) { - return types.NewBlockDelimiter(types.Comment, string(c.text)) +func (c *current) onDocumentFragment708() (interface{}, error) { + return types.NewBlockDelimiter(types.Quote, string(c.text)) } -func (p *parser) callonDocumentFragment100() (interface{}, error) { +func (p *parser) callonDocumentFragment708() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment100() + return p.cur.onDocumentFragment708() } -func (c *current) onDocumentFragment124() (interface{}, error) { +func (c *current) onDocumentFragment732() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentFragment124() (interface{}, error) { +func (p *parser) callonDocumentFragment732() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment124() + return p.cur.onDocumentFragment732() } -func (c *current) onDocumentFragment127() (interface{}, error) { +func (c *current) onDocumentFragment735() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDocumentFragment127() (interface{}, error) { +func (p *parser) callonDocumentFragment735() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment127() + return p.cur.onDocumentFragment735() } -func (c *current) onDocumentFragment120() (interface{}, error) { - return types.NewBlockDelimiter(types.Comment, string(c.text)) +func (c *current) onDocumentFragment728() (interface{}, error) { + return types.NewBlockDelimiter(types.Quote, string(c.text)) } -func (p *parser) callonDocumentFragment120() (interface{}, error) { +func (p *parser) callonDocumentFragment728() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment120() + return p.cur.onDocumentFragment728() } -func (c *current) onDocumentFragment143() (interface{}, error) { +func (c *current) onDocumentFragment751() (interface{}, error) { // content is NOT mandatory return string(c.text), nil } -func (p *parser) callonDocumentFragment143() (interface{}, error) { +func (p *parser) callonDocumentFragment751() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment143() + return p.cur.onDocumentFragment751() } -func (c *current) onDocumentFragment147() (interface{}, error) { +func (c *current) onDocumentFragment755() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDocumentFragment147() (interface{}, error) { +func (p *parser) callonDocumentFragment755() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment147() + return p.cur.onDocumentFragment755() } -func (c *current) onDocumentFragment137(content interface{}) (interface{}, error) { +func (c *current) onDocumentFragment745(content interface{}) (interface{}, error) { return types.NewRawLine(content.(string)) } -func (p *parser) callonDocumentFragment137() (interface{}, error) { +func (p *parser) callonDocumentFragment745() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment137(stack["content"]) + return p.cur.onDocumentFragment745(stack["content"]) } -func (c *current) onDocumentFragment116(line interface{}) (interface{}, error) { +func (c *current) onDocumentFragment724(line interface{}) (interface{}, error) { return line, nil } -func (p *parser) callonDocumentFragment116() (interface{}, error) { +func (p *parser) callonDocumentFragment724() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment116(stack["line"]) + return p.cur.onDocumentFragment724(stack["line"]) } -func (c *current) onDocumentFragment160() (interface{}, error) { +func (c *current) onDocumentFragment768() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentFragment160() (interface{}, error) { +func (p *parser) callonDocumentFragment768() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment160() + return p.cur.onDocumentFragment768() } -func (c *current) onDocumentFragment163() (interface{}, error) { +func (c *current) onDocumentFragment771() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDocumentFragment163() (interface{}, error) { +func (p *parser) callonDocumentFragment771() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment163() + return p.cur.onDocumentFragment771() } -func (c *current) onDocumentFragment156() (interface{}, error) { - return types.NewBlockDelimiter(types.Comment, string(c.text)) +func (c *current) onDocumentFragment764() (interface{}, error) { + return types.NewBlockDelimiter(types.Quote, string(c.text)) } -func (p *parser) callonDocumentFragment156() (interface{}, error) { +func (p *parser) callonDocumentFragment764() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment156() + return p.cur.onDocumentFragment764() } -func (c *current) onDocumentFragment98(content interface{}) (interface{}, error) { +func (c *current) onDocumentFragment706(content interface{}) (interface{}, error) { c.unsetWithinDelimitedBlock() - return types.NewDelimitedBlock(types.Comment, content.([]interface{})) + return types.NewDelimitedBlock(types.Quote, content.([]interface{})) } -func (p *parser) callonDocumentFragment98() (interface{}, error) { +func (p *parser) callonDocumentFragment706() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment98(stack["content"]) + return p.cur.onDocumentFragment706(stack["content"]) } -func (c *current) onDocumentFragment178() (interface{}, error) { +func (c *current) onDocumentFragment786() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentFragment178() (interface{}, error) { +func (p *parser) callonDocumentFragment786() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment178() + return p.cur.onDocumentFragment786() } -func (c *current) onDocumentFragment181() (interface{}, error) { +func (c *current) onDocumentFragment789() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDocumentFragment181() (interface{}, error) { +func (p *parser) callonDocumentFragment789() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment181() + return p.cur.onDocumentFragment789() } -func (c *current) onDocumentFragment174() (interface{}, error) { - return types.NewBlockDelimiter(types.Example, string(c.text)) +func (c *current) onDocumentFragment782() (interface{}, error) { + return types.NewBlockDelimiter(types.Sidebar, string(c.text)) } -func (p *parser) callonDocumentFragment174() (interface{}, error) { +func (p *parser) callonDocumentFragment782() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment174() + return p.cur.onDocumentFragment782() } -func (c *current) onDocumentFragment198() (interface{}, error) { +func (c *current) onDocumentFragment806() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentFragment198() (interface{}, error) { +func (p *parser) callonDocumentFragment806() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment198() + return p.cur.onDocumentFragment806() } -func (c *current) onDocumentFragment201() (interface{}, error) { +func (c *current) onDocumentFragment809() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDocumentFragment201() (interface{}, error) { +func (p *parser) callonDocumentFragment809() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment201() + return p.cur.onDocumentFragment809() } -func (c *current) onDocumentFragment194() (interface{}, error) { - return types.NewBlockDelimiter(types.Example, string(c.text)) +func (c *current) onDocumentFragment802() (interface{}, error) { + return types.NewBlockDelimiter(types.Sidebar, string(c.text)) } -func (p *parser) callonDocumentFragment194() (interface{}, error) { +func (p *parser) callonDocumentFragment802() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment194() + return p.cur.onDocumentFragment802() } -func (c *current) onDocumentFragment217() (interface{}, error) { +func (c *current) onDocumentFragment825() (interface{}, error) { // content is NOT mandatory return string(c.text), nil } -func (p *parser) callonDocumentFragment217() (interface{}, error) { +func (p *parser) callonDocumentFragment825() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment217() + return p.cur.onDocumentFragment825() } -func (c *current) onDocumentFragment221() (interface{}, error) { +func (c *current) onDocumentFragment829() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDocumentFragment221() (interface{}, error) { +func (p *parser) callonDocumentFragment829() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment221() + return p.cur.onDocumentFragment829() } -func (c *current) onDocumentFragment211(content interface{}) (interface{}, error) { +func (c *current) onDocumentFragment819(content interface{}) (interface{}, error) { return types.NewRawLine(content.(string)) } -func (p *parser) callonDocumentFragment211() (interface{}, error) { +func (p *parser) callonDocumentFragment819() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment211(stack["content"]) + return p.cur.onDocumentFragment819(stack["content"]) } -func (c *current) onDocumentFragment190(line interface{}) (interface{}, error) { +func (c *current) onDocumentFragment798(line interface{}) (interface{}, error) { return line, nil } -func (p *parser) callonDocumentFragment190() (interface{}, error) { +func (p *parser) callonDocumentFragment798() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment190(stack["line"]) + return p.cur.onDocumentFragment798(stack["line"]) } -func (c *current) onDocumentFragment234() (interface{}, error) { +func (c *current) onDocumentFragment842() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentFragment234() (interface{}, error) { +func (p *parser) callonDocumentFragment842() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment234() + return p.cur.onDocumentFragment842() } -func (c *current) onDocumentFragment237() (interface{}, error) { +func (c *current) onDocumentFragment845() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDocumentFragment237() (interface{}, error) { +func (p *parser) callonDocumentFragment845() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment237() + return p.cur.onDocumentFragment845() } -func (c *current) onDocumentFragment230() (interface{}, error) { - return types.NewBlockDelimiter(types.Example, string(c.text)) +func (c *current) onDocumentFragment838() (interface{}, error) { + return types.NewBlockDelimiter(types.Sidebar, string(c.text)) } -func (p *parser) callonDocumentFragment230() (interface{}, error) { +func (p *parser) callonDocumentFragment838() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment230() + return p.cur.onDocumentFragment838() } -func (c *current) onDocumentFragment172(content interface{}) (interface{}, error) { +func (c *current) onDocumentFragment780(content interface{}) (interface{}, error) { c.unsetWithinDelimitedBlock() - return types.NewDelimitedBlock(types.Example, content.([]interface{})) + return types.NewDelimitedBlock(types.Sidebar, content.([]interface{})) } -func (p *parser) callonDocumentFragment172() (interface{}, error) { +func (p *parser) callonDocumentFragment780() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment172(stack["content"]) + return p.cur.onDocumentFragment780(stack["content"]) } -func (c *current) onDocumentFragment253() (interface{}, error) { +func (c *current) onDocumentFragment865() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonDocumentFragment253() (interface{}, error) { +func (p *parser) callonDocumentFragment865() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment253() + return p.cur.onDocumentFragment865() } -func (c *current) onDocumentFragment257() (interface{}, error) { +func (c *current) onDocumentFragment868() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonDocumentFragment257() (interface{}, error) { +func (p *parser) callonDocumentFragment868() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment257() + return p.cur.onDocumentFragment868() } -func (c *current) onDocumentFragment260() (interface{}, error) { +func (c *current) onDocumentFragment876() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDocumentFragment260() (interface{}, error) { +func (p *parser) callonDocumentFragment876() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment260() + return p.cur.onDocumentFragment876() } -func (c *current) onDocumentFragment249(language interface{}) (interface{}, error) { - return types.NewMarkdownCodeBlockDelimiter(language.(string), string(c.text)) +func (c *current) onDocumentFragment854() (interface{}, error) { + + return types.NewThematicBreak() + } -func (p *parser) callonDocumentFragment249() (interface{}, error) { +func (p *parser) callonDocumentFragment854() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment249(stack["language"]) + return p.cur.onDocumentFragment854() } -func (c *current) onDocumentFragment277() (interface{}, error) { +func (c *current) onDocumentFragment888() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentFragment277() (interface{}, error) { +func (p *parser) callonDocumentFragment888() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment277() + return p.cur.onDocumentFragment888() } -func (c *current) onDocumentFragment280() (interface{}, error) { +func (c *current) onDocumentFragment891() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDocumentFragment280() (interface{}, error) { +func (p *parser) callonDocumentFragment891() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment280() + return p.cur.onDocumentFragment891() } -func (c *current) onDocumentFragment273() (interface{}, error) { - return types.NewBlockDelimiter(types.Fenced, string(c.text)) +func (c *current) onDocumentFragment908() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonDocumentFragment273() (interface{}, error) { +func (p *parser) callonDocumentFragment908() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment273() + return p.cur.onDocumentFragment908() } -func (c *current) onDocumentFragment296() (interface{}, error) { - // content is NOT mandatory +func (c *current) onDocumentFragment914() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentFragment296() (interface{}, error) { +func (p *parser) callonDocumentFragment914() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment296() + return p.cur.onDocumentFragment914() } -func (c *current) onDocumentFragment300() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onDocumentFragment912(content interface{}) (interface{}, error) { + return types.NewRawContent(content.(string)) + } -func (p *parser) callonDocumentFragment300() (interface{}, error) { +func (p *parser) callonDocumentFragment912() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment300() + return p.cur.onDocumentFragment912(stack["content"]) } -func (c *current) onDocumentFragment290(content interface{}) (interface{}, error) { - - return types.NewRawLine(content.(string)) +func (c *current) onDocumentFragment904(content interface{}) (interface{}, error) { + return types.NewTableCell(content.(types.RawContent)) } -func (p *parser) callonDocumentFragment290() (interface{}, error) { +func (p *parser) callonDocumentFragment904() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment290(stack["content"]) + return p.cur.onDocumentFragment904(stack["content"]) } -func (c *current) onDocumentFragment269(line interface{}) (interface{}, error) { - return line, nil - +func (c *current) onDocumentFragment918() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonDocumentFragment269() (interface{}, error) { +func (p *parser) callonDocumentFragment918() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment269(stack["line"]) + return p.cur.onDocumentFragment918() } -func (c *current) onDocumentFragment313() (interface{}, error) { +func (c *current) onDocumentFragment932() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentFragment313() (interface{}, error) { +func (p *parser) callonDocumentFragment932() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment313() + return p.cur.onDocumentFragment932() } -func (c *current) onDocumentFragment316() (interface{}, error) { +func (c *current) onDocumentFragment935() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDocumentFragment316() (interface{}, error) { +func (p *parser) callonDocumentFragment935() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment316() + return p.cur.onDocumentFragment935() } -func (c *current) onDocumentFragment309() (interface{}, error) { - return types.NewBlockDelimiter(types.Fenced, string(c.text)) +func (c *current) onDocumentFragment926() (interface{}, error) { + return types.NewBlankLine() + } -func (p *parser) callonDocumentFragment309() (interface{}, error) { +func (p *parser) callonDocumentFragment926() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment309() + return p.cur.onDocumentFragment926() } -func (c *current) onDocumentFragment246(delimiter, content interface{}) (interface{}, error) { - c.unsetWithinDelimitedBlock() - // Markdown code with fences is a "listing/source" block in Asciidoc - b, err := types.NewDelimitedBlock(types.Listing, content.([]interface{})) - b.AddAttributes(delimiter.(*types.BlockDelimiter).Attributes) - return b, err +func (c *current) onDocumentFragment900(cells interface{}) (interface{}, error) { + return types.NewTableRow(cells.([]interface{})) } -func (p *parser) callonDocumentFragment246() (interface{}, error) { +func (p *parser) callonDocumentFragment900() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment246(stack["delimiter"], stack["content"]) + return p.cur.onDocumentFragment900(stack["cells"]) } -func (c *current) onDocumentFragment331() (interface{}, error) { +func (c *current) onDocumentFragment952() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentFragment331() (interface{}, error) { +func (p *parser) callonDocumentFragment952() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment331() + return p.cur.onDocumentFragment952() } -func (c *current) onDocumentFragment334() (interface{}, error) { +func (c *current) onDocumentFragment955() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDocumentFragment334() (interface{}, error) { +func (p *parser) callonDocumentFragment955() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment334() + return p.cur.onDocumentFragment955() } -func (c *current) onDocumentFragment327() (interface{}, error) { - return types.NewBlockDelimiter(types.Fenced, string(c.text)) +func (c *current) onDocumentFragment976() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonDocumentFragment327() (interface{}, error) { +func (p *parser) callonDocumentFragment976() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment327() + return p.cur.onDocumentFragment976() } -func (c *current) onDocumentFragment351() (interface{}, error) { +func (c *current) onDocumentFragment979() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDocumentFragment979() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment979() +} + +func (c *current) onDocumentFragment995() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentFragment351() (interface{}, error) { +func (p *parser) callonDocumentFragment995() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment351() + return p.cur.onDocumentFragment995() } -func (c *current) onDocumentFragment354() (interface{}, error) { +func (c *current) onDocumentFragment998() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDocumentFragment354() (interface{}, error) { +func (p *parser) callonDocumentFragment998() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment354() + return p.cur.onDocumentFragment998() } -func (c *current) onDocumentFragment347() (interface{}, error) { - return types.NewBlockDelimiter(types.Fenced, string(c.text)) +func (c *current) onDocumentFragment989() (interface{}, error) { + return types.NewBlankLine() + } -func (p *parser) callonDocumentFragment347() (interface{}, error) { +func (p *parser) callonDocumentFragment989() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment347() + return p.cur.onDocumentFragment989() } -func (c *current) onDocumentFragment370() (interface{}, error) { - // content is NOT mandatory +func (c *current) onDocumentFragment1007() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentFragment370() (interface{}, error) { +func (p *parser) callonDocumentFragment1007() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment370() + return p.cur.onDocumentFragment1007() } -func (c *current) onDocumentFragment374() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onDocumentFragment1013() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonDocumentFragment374() (interface{}, error) { +func (p *parser) callonDocumentFragment1013() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment374() + return p.cur.onDocumentFragment1013() } -func (c *current) onDocumentFragment364(content interface{}) (interface{}, error) { - - return types.NewRawLine(content.(string)) +func (c *current) onDocumentFragment1011(content interface{}) (interface{}, error) { + return types.NewRawContent(content.(string)) } -func (p *parser) callonDocumentFragment364() (interface{}, error) { +func (p *parser) callonDocumentFragment1011() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment364(stack["content"]) + return p.cur.onDocumentFragment1011(stack["content"]) } -func (c *current) onDocumentFragment343(line interface{}) (interface{}, error) { - return line, nil +func (c *current) onDocumentFragment969(content interface{}) (interface{}, error) { + return types.NewTableCell(content.(types.RawContent)) } -func (p *parser) callonDocumentFragment343() (interface{}, error) { +func (p *parser) callonDocumentFragment969() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment343(stack["line"]) + return p.cur.onDocumentFragment969(stack["content"]) } -func (c *current) onDocumentFragment387() (interface{}, error) { +func (c *current) onDocumentFragment1017() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil +} +func (p *parser) callonDocumentFragment1017() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment1017() } -func (p *parser) callonDocumentFragment387() (interface{}, error) { +func (c *current) onDocumentFragment966(cell interface{}) (interface{}, error) { + return cell, nil + +} + +func (p *parser) callonDocumentFragment966() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment387() + return p.cur.onDocumentFragment966(stack["cell"]) } -func (c *current) onDocumentFragment390() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onDocumentFragment1032() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonDocumentFragment390() (interface{}, error) { +func (p *parser) callonDocumentFragment1032() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment390() + return p.cur.onDocumentFragment1032() } -func (c *current) onDocumentFragment383() (interface{}, error) { - return types.NewBlockDelimiter(types.Fenced, string(c.text)) +func (c *current) onDocumentFragment1035() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonDocumentFragment383() (interface{}, error) { +func (p *parser) callonDocumentFragment1035() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment383() + return p.cur.onDocumentFragment1035() } -func (c *current) onDocumentFragment325(content interface{}) (interface{}, error) { - c.unsetWithinDelimitedBlock() - return types.NewDelimitedBlock(types.Fenced, content.([]interface{})) +func (c *current) onDocumentFragment1026() (interface{}, error) { + return types.NewBlankLine() } -func (p *parser) callonDocumentFragment325() (interface{}, error) { +func (p *parser) callonDocumentFragment1026() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment325(stack["content"]) + return p.cur.onDocumentFragment1026() } -func (c *current) onDocumentFragment405() (interface{}, error) { +func (c *current) onDocumentFragment1047() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentFragment405() (interface{}, error) { +func (p *parser) callonDocumentFragment1047() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment405() + return p.cur.onDocumentFragment1047() } -func (c *current) onDocumentFragment408() (interface{}, error) { +func (c *current) onDocumentFragment1050() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDocumentFragment408() (interface{}, error) { +func (p *parser) callonDocumentFragment1050() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment408() + return p.cur.onDocumentFragment1050() } -func (c *current) onDocumentFragment401() (interface{}, error) { - return types.NewBlockDelimiter(types.Listing, string(c.text)) +func (c *current) onDocumentFragment945(cells interface{}) (interface{}, error) { + return types.NewTableRow(cells.([]interface{})) + } -func (p *parser) callonDocumentFragment401() (interface{}, error) { +func (p *parser) callonDocumentFragment945() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment401() + return p.cur.onDocumentFragment945(stack["cells"]) } -func (c *current) onDocumentFragment425() (interface{}, error) { +func (c *current) onDocumentFragment1066() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentFragment425() (interface{}, error) { +func (p *parser) callonDocumentFragment1066() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment425() + return p.cur.onDocumentFragment1066() } -func (c *current) onDocumentFragment428() (interface{}, error) { +func (c *current) onDocumentFragment1069() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDocumentFragment428() (interface{}, error) { +func (p *parser) callonDocumentFragment1069() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment428() + return p.cur.onDocumentFragment1069() } -func (c *current) onDocumentFragment421() (interface{}, error) { - return types.NewBlockDelimiter(types.Listing, string(c.text)) +func (c *current) onDocumentFragment1087() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonDocumentFragment421() (interface{}, error) { +func (p *parser) callonDocumentFragment1087() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment421() + return p.cur.onDocumentFragment1087() } -func (c *current) onDocumentFragment444() (interface{}, error) { - // content is NOT mandatory +func (c *current) onDocumentFragment1090() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDocumentFragment1090() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment1090() +} + +func (c *current) onDocumentFragment1106() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentFragment444() (interface{}, error) { +func (p *parser) callonDocumentFragment1106() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment444() + return p.cur.onDocumentFragment1106() } -func (c *current) onDocumentFragment448() (interface{}, error) { +func (c *current) onDocumentFragment1109() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDocumentFragment448() (interface{}, error) { +func (p *parser) callonDocumentFragment1109() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment448() + return p.cur.onDocumentFragment1109() } -func (c *current) onDocumentFragment438(content interface{}) (interface{}, error) { - - return types.NewRawLine(content.(string)) +func (c *current) onDocumentFragment1100() (interface{}, error) { + return types.NewBlankLine() } -func (p *parser) callonDocumentFragment438() (interface{}, error) { +func (p *parser) callonDocumentFragment1100() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment438(stack["content"]) + return p.cur.onDocumentFragment1100() } -func (c *current) onDocumentFragment417(line interface{}) (interface{}, error) { - return line, nil +func (c *current) onDocumentFragment1118() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDocumentFragment417() (interface{}, error) { +func (p *parser) callonDocumentFragment1118() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment417(stack["line"]) + return p.cur.onDocumentFragment1118() } -func (c *current) onDocumentFragment461() (interface{}, error) { +func (c *current) onDocumentFragment1124() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentFragment461() (interface{}, error) { +func (p *parser) callonDocumentFragment1124() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment461() + return p.cur.onDocumentFragment1124() } -func (c *current) onDocumentFragment464() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onDocumentFragment1122(content interface{}) (interface{}, error) { + return types.NewRawContent(content.(string)) + } -func (p *parser) callonDocumentFragment464() (interface{}, error) { +func (p *parser) callonDocumentFragment1122() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment464() + return p.cur.onDocumentFragment1122(stack["content"]) } -func (c *current) onDocumentFragment457() (interface{}, error) { - return types.NewBlockDelimiter(types.Listing, string(c.text)) +func (c *current) onDocumentFragment1080(content interface{}) (interface{}, error) { + return types.NewTableCell(content.(types.RawContent)) + } -func (p *parser) callonDocumentFragment457() (interface{}, error) { +func (p *parser) callonDocumentFragment1080() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment457() + return p.cur.onDocumentFragment1080(stack["content"]) } -func (c *current) onDocumentFragment399(content interface{}) (interface{}, error) { - c.unsetWithinDelimitedBlock() - return types.NewDelimitedBlock(types.Listing, content.([]interface{})) - +func (c *current) onDocumentFragment1128() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonDocumentFragment399() (interface{}, error) { +func (p *parser) callonDocumentFragment1128() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment399(stack["content"]) + return p.cur.onDocumentFragment1128() } -func (c *current) onDocumentFragment479() (interface{}, error) { +func (c *current) onDocumentFragment1142() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentFragment479() (interface{}, error) { +func (p *parser) callonDocumentFragment1142() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment479() + return p.cur.onDocumentFragment1142() +} + +func (c *current) onDocumentFragment1145() (interface{}, error) { + // TODO: just use "\n" + 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) onDocumentFragment482() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onDocumentFragment1136() (interface{}, error) { + return types.NewBlankLine() + } -func (p *parser) callonDocumentFragment482() (interface{}, error) { +func (p *parser) callonDocumentFragment1136() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment482() + return p.cur.onDocumentFragment1136() } -func (c *current) onDocumentFragment475() (interface{}, error) { - return types.NewBlockDelimiter(types.Literal, string(c.text)) +func (c *current) onDocumentFragment1059(cells interface{}) (interface{}, error) { + return types.NewTableRow(cells.([]interface{})) + } -func (p *parser) callonDocumentFragment475() (interface{}, error) { +func (p *parser) callonDocumentFragment1059() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment475() + return p.cur.onDocumentFragment1059(stack["cells"]) } -func (c *current) onDocumentFragment499() (interface{}, error) { +func (c *current) onDocumentFragment1156() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentFragment499() (interface{}, error) { +func (p *parser) callonDocumentFragment1156() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment499() + return p.cur.onDocumentFragment1156() } -func (c *current) onDocumentFragment502() (interface{}, error) { +func (c *current) onDocumentFragment1159() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDocumentFragment502() (interface{}, error) { +func (p *parser) callonDocumentFragment1159() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment502() + return p.cur.onDocumentFragment1159() } -func (c *current) onDocumentFragment495() (interface{}, error) { - return types.NewBlockDelimiter(types.Literal, string(c.text)) +func (c *current) onDocumentFragment884(header, rows interface{}) (interface{}, error) { + return types.NewTable(header, rows.([]interface{})) + } -func (p *parser) callonDocumentFragment495() (interface{}, error) { +func (p *parser) callonDocumentFragment884() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment495() + return p.cur.onDocumentFragment884(stack["header"], stack["rows"]) } -func (c *current) onDocumentFragment518() (interface{}, error) { - // content is NOT mandatory +func (c *current) onDocumentFragment1174() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentFragment518() (interface{}, error) { +func (p *parser) callonDocumentFragment1174() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment518() + return p.cur.onDocumentFragment1174() } -func (c *current) onDocumentFragment522() (interface{}, error) { +func (c *current) onDocumentFragment1178() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDocumentFragment522() (interface{}, error) { +func (p *parser) callonDocumentFragment1178() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment522() + return p.cur.onDocumentFragment1178() } -func (c *current) onDocumentFragment512(content interface{}) (interface{}, error) { - - return types.NewRawLine(content.(string)) +func (c *current) onDocumentFragment1168(content interface{}) (interface{}, error) { + return types.NewSingleLineComment(content.(string)) } -func (p *parser) callonDocumentFragment512() (interface{}, error) { +func (p *parser) callonDocumentFragment1168() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment512(stack["content"]) + return p.cur.onDocumentFragment1168(stack["content"]) } -func (c *current) onDocumentFragment491(line interface{}) (interface{}, error) { - return line, nil - +func (c *current) onDocumentFragment1189() (interface{}, error) { + return types.Tip, nil } -func (p *parser) callonDocumentFragment491() (interface{}, error) { +func (p *parser) callonDocumentFragment1189() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment491(stack["line"]) + return p.cur.onDocumentFragment1189() } -func (c *current) onDocumentFragment535() (interface{}, error) { - return string(c.text), nil +func (c *current) onDocumentFragment1191() (interface{}, error) { + return types.Note, nil +} +func (p *parser) callonDocumentFragment1191() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment1191() } -func (p *parser) callonDocumentFragment535() (interface{}, error) { +func (c *current) onDocumentFragment1193() (interface{}, error) { + return types.Important, nil +} + +func (p *parser) callonDocumentFragment1193() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment535() + return p.cur.onDocumentFragment1193() } -func (c *current) onDocumentFragment538() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onDocumentFragment1195() (interface{}, error) { + return types.Warning, nil } -func (p *parser) callonDocumentFragment538() (interface{}, error) { +func (p *parser) callonDocumentFragment1195() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment538() + return p.cur.onDocumentFragment1195() } -func (c *current) onDocumentFragment531() (interface{}, error) { - return types.NewBlockDelimiter(types.Literal, string(c.text)) +func (c *current) onDocumentFragment1197() (interface{}, error) { + return types.Caution, nil } -func (p *parser) callonDocumentFragment531() (interface{}, error) { +func (p *parser) callonDocumentFragment1197() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment531() + return p.cur.onDocumentFragment1197() } -func (c *current) onDocumentFragment473(content interface{}) (interface{}, error) { - c.unsetWithinDelimitedBlock() - return types.NewDelimitedBlock(types.Literal, content.([]interface{})) +func (c *current) onDocumentFragment1204() (interface{}, error) { + return strings.TrimRight(string(c.text), " \t"), nil // trim spaces and tabs } -func (p *parser) callonDocumentFragment473() (interface{}, error) { +func (p *parser) callonDocumentFragment1204() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment473(stack["content"]) + return p.cur.onDocumentFragment1204() } -func (c *current) onDocumentFragment559() (interface{}, error) { - return string(c.text), nil +func (c *current) onDocumentFragment1207(content interface{}) (bool, error) { + return len(strings.TrimSpace(content.(string))) > 0, nil } -func (p *parser) callonDocumentFragment559() (interface{}, error) { +func (p *parser) callonDocumentFragment1207() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment559() + return p.cur.onDocumentFragment1207(stack["content"]) } -func (c *current) onDocumentFragment562() (interface{}, error) { +func (c *current) onDocumentFragment1209() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDocumentFragment562() (interface{}, error) { +func (p *parser) callonDocumentFragment1209() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment562() + return p.cur.onDocumentFragment1209() } -func (c *current) onDocumentFragment553() (interface{}, error) { - return types.NewBlankLine() +func (c *current) onDocumentFragment1201(content interface{}) (interface{}, error) { + return types.NewRawLine(content.(string)) } -func (p *parser) callonDocumentFragment553() (interface{}, error) { +func (p *parser) callonDocumentFragment1201() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment553() + return p.cur.onDocumentFragment1201(stack["content"]) } -func (c *current) onDocumentFragment571() (interface{}, error) { - +func (c *current) onDocumentFragment1224() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentFragment571() (interface{}, error) { +func (p *parser) callonDocumentFragment1224() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment571() + return p.cur.onDocumentFragment1224() } -func (c *current) onDocumentFragment575() (interface{}, error) { +func (c *current) onDocumentFragment1226() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDocumentFragment575() (interface{}, error) { +func (p *parser) callonDocumentFragment1226() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment575() + return p.cur.onDocumentFragment1226() } -func (c *current) onDocumentFragment550(content interface{}) (interface{}, error) { - return types.NewRawLine(content.(string)) +func (c *current) onDocumentFragment1239() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDocumentFragment550() (interface{}, error) { +func (p *parser) callonDocumentFragment1239() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment550(stack["content"]) + return p.cur.onDocumentFragment1239() } -func (c *current) onDocumentFragment594() (interface{}, error) { +func (c *current) onDocumentFragment1243() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonDocumentFragment594() (interface{}, error) { +func (p *parser) callonDocumentFragment1243() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment594() + return p.cur.onDocumentFragment1243() } -func (c *current) onDocumentFragment597() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onDocumentFragment1233(content interface{}) (interface{}, error) { + return types.NewSingleLineComment(content.(string)) + } -func (p *parser) callonDocumentFragment597() (interface{}, error) { +func (p *parser) callonDocumentFragment1233() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment597() + return p.cur.onDocumentFragment1233(stack["content"]) } -func (c *current) onDocumentFragment588() (interface{}, error) { - return types.NewBlankLine() +func (c *current) onDocumentFragment1253() (interface{}, error) { + return strings.TrimRight(string(c.text), " \t"), nil // trim spaces and tabs } -func (p *parser) callonDocumentFragment588() (interface{}, error) { +func (p *parser) callonDocumentFragment1253() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment588() + return p.cur.onDocumentFragment1253() } -func (c *current) onDocumentFragment606() (interface{}, error) { - - return string(c.text), nil +func (c *current) onDocumentFragment1256(content interface{}) (bool, error) { + return len(strings.TrimSpace(content.(string))) > 0, nil } -func (p *parser) callonDocumentFragment606() (interface{}, error) { +func (p *parser) callonDocumentFragment1256() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment606() + return p.cur.onDocumentFragment1256(stack["content"]) } -func (c *current) onDocumentFragment610() (interface{}, error) { +func (c *current) onDocumentFragment1258() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDocumentFragment610() (interface{}, error) { +func (p *parser) callonDocumentFragment1258() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment610() + return p.cur.onDocumentFragment1258() } -func (c *current) onDocumentFragment585(content interface{}) (interface{}, error) { +func (c *current) onDocumentFragment1250(content interface{}) (interface{}, error) { return types.NewRawLine(content.(string)) } -func (p *parser) callonDocumentFragment585() (interface{}, error) { +func (p *parser) callonDocumentFragment1250() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment585(stack["content"]) + return p.cur.onDocumentFragment1250(stack["content"]) } -func (c *current) onDocumentFragment620() (interface{}, error) { - return strings.TrimRight(string(c.text), " \t"), nil // trim spaces and tabs +func (c *current) onDocumentFragment1218(line interface{}) (interface{}, error) { + return line, nil } -func (p *parser) callonDocumentFragment620() (interface{}, error) { +func (p *parser) callonDocumentFragment1218() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment620() + return p.cur.onDocumentFragment1218(stack["line"]) } -func (c *current) onDocumentFragment623(content interface{}) (bool, error) { - return len(strings.TrimSpace(content.(string))) > 0, nil +func (c *current) onDocumentFragment1185(kind, firstLine, otherLines interface{}) (interface{}, error) { + + return types.NewAdmonitionParagraph(kind.(string), append([]interface{}{firstLine}, otherLines.([]interface{})...)) } -func (p *parser) callonDocumentFragment623() (bool, error) { +func (p *parser) callonDocumentFragment1185() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment623(stack["content"]) + return p.cur.onDocumentFragment1185(stack["kind"], stack["firstLine"], stack["otherLines"]) } -func (c *current) onDocumentFragment625() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onDocumentFragment1273() (interface{}, error) { + // log.Debug("matched multiple spaces") return string(c.text), nil + } -func (p *parser) callonDocumentFragment625() (interface{}, error) { +func (p *parser) callonDocumentFragment1273() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment625() + return p.cur.onDocumentFragment1273() } -func (c *current) onDocumentFragment617(content interface{}) (interface{}, error) { - return types.NewRawLine(content.(string)) +func (c *current) onDocumentFragment1271() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDocumentFragment617() (interface{}, error) { +func (p *parser) callonDocumentFragment1271() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment617(stack["content"]) + return p.cur.onDocumentFragment1271() } -func (c *current) onDocumentFragment547(firstLine, otherLines interface{}) (interface{}, error) { - return types.NewDelimitedBlock(types.MarkdownQuote, append([]interface{}{firstLine}, otherLines.([]interface{})...)) +func (c *current) onDocumentFragment1278(content interface{}) (bool, error) { + return len(strings.TrimSpace(string(c.text))) > 0, nil } -func (p *parser) callonDocumentFragment547() (interface{}, error) { +func (p *parser) callonDocumentFragment1278() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment547(stack["firstLine"], stack["otherLines"]) + return p.cur.onDocumentFragment1278(stack["content"]) } -func (c *current) onDocumentFragment638() (interface{}, error) { +func (c *current) onDocumentFragment1280() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonDocumentFragment638() (interface{}, error) { +func (p *parser) callonDocumentFragment1280() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment638() + return p.cur.onDocumentFragment1280() } -func (c *current) onDocumentFragment641() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onDocumentFragment1268(content interface{}) (interface{}, error) { + return types.NewRawLine(content.(string)) + } -func (p *parser) callonDocumentFragment641() (interface{}, error) { +func (p *parser) callonDocumentFragment1268() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment641() + return p.cur.onDocumentFragment1268(stack["content"]) } -func (c *current) onDocumentFragment634() (interface{}, error) { - return types.NewBlockDelimiter(types.Passthrough, string(c.text)) +func (c *current) onDocumentFragment1296() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonDocumentFragment634() (interface{}, error) { +func (p *parser) callonDocumentFragment1296() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment634() + return p.cur.onDocumentFragment1296() } -func (c *current) onDocumentFragment658() (interface{}, error) { +func (c *current) onDocumentFragment1300() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonDocumentFragment658() (interface{}, error) { +func (p *parser) callonDocumentFragment1300() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment658() + return p.cur.onDocumentFragment1300() } -func (c *current) onDocumentFragment661() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onDocumentFragment1290(content interface{}) (interface{}, error) { + return types.NewSingleLineComment(content.(string)) + } -func (p *parser) callonDocumentFragment661() (interface{}, error) { +func (p *parser) callonDocumentFragment1290() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment661() + return p.cur.onDocumentFragment1290(stack["content"]) } -func (c *current) onDocumentFragment654() (interface{}, error) { - return types.NewBlockDelimiter(types.Passthrough, string(c.text)) +func (c *current) onDocumentFragment1310() (interface{}, error) { + return strings.TrimRight(string(c.text), " \t"), nil // trim spaces and tabs + } -func (p *parser) callonDocumentFragment654() (interface{}, error) { +func (p *parser) callonDocumentFragment1310() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment654() + return p.cur.onDocumentFragment1310() } -func (c *current) onDocumentFragment677() (interface{}, error) { - // content is NOT mandatory - return string(c.text), nil +func (c *current) onDocumentFragment1313(content interface{}) (bool, error) { + return len(strings.TrimSpace(content.(string))) > 0, nil } -func (p *parser) callonDocumentFragment677() (interface{}, error) { +func (p *parser) callonDocumentFragment1313() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment677() + return p.cur.onDocumentFragment1313(stack["content"]) } -func (c *current) onDocumentFragment681() (interface{}, error) { +func (c *current) onDocumentFragment1315() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDocumentFragment681() (interface{}, error) { +func (p *parser) callonDocumentFragment1315() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment681() + return p.cur.onDocumentFragment1315() } -func (c *current) onDocumentFragment671(content interface{}) (interface{}, error) { - +func (c *current) onDocumentFragment1307(content interface{}) (interface{}, error) { return types.NewRawLine(content.(string)) } -func (p *parser) callonDocumentFragment671() (interface{}, error) { +func (p *parser) callonDocumentFragment1307() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment671(stack["content"]) + return p.cur.onDocumentFragment1307(stack["content"]) } -func (c *current) onDocumentFragment650(line interface{}) (interface{}, error) { - return line, nil +func (c *current) onDocumentFragment1265(firstLine, otherLines interface{}) (interface{}, error) { + + return types.NewLiteralParagraph(types.LiteralBlockWithSpacesOnFirstLine, append([]interface{}{firstLine}, otherLines.([]interface{})...)) } -func (p *parser) callonDocumentFragment650() (interface{}, error) { +func (p *parser) callonDocumentFragment1265() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment650(stack["line"]) + return p.cur.onDocumentFragment1265(stack["firstLine"], stack["otherLines"]) } -func (c *current) onDocumentFragment694() (interface{}, error) { - return string(c.text), nil +func (c *current) onDocumentFragment1324() (bool, error) { + return c.isFrontMatterAllowed(), nil } -func (p *parser) callonDocumentFragment694() (interface{}, error) { +func (p *parser) callonDocumentFragment1324() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment694() + return p.cur.onDocumentFragment1324() } -func (c *current) onDocumentFragment697() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onDocumentFragment1330() (interface{}, error) { return string(c.text), nil -} - -func (p *parser) callonDocumentFragment697() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment697() -} -func (c *current) onDocumentFragment690() (interface{}, error) { - return types.NewBlockDelimiter(types.Passthrough, string(c.text)) } -func (p *parser) callonDocumentFragment690() (interface{}, error) { +func (p *parser) callonDocumentFragment1330() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment690() + return p.cur.onDocumentFragment1330() } -func (c *current) onDocumentFragment632(content interface{}) (interface{}, error) { - c.unsetWithinDelimitedBlock() - return types.NewDelimitedBlock(types.Passthrough, content.([]interface{})) - +func (c *current) onDocumentFragment1333() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonDocumentFragment632() (interface{}, error) { +func (p *parser) callonDocumentFragment1333() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment632(stack["content"]) + return p.cur.onDocumentFragment1333() } -func (c *current) onDocumentFragment712() (interface{}, error) { +func (c *current) onDocumentFragment1350() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentFragment712() (interface{}, error) { +func (p *parser) callonDocumentFragment1350() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment712() + return p.cur.onDocumentFragment1350() } -func (c *current) onDocumentFragment715() (interface{}, error) { +func (c *current) onDocumentFragment1353() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDocumentFragment715() (interface{}, error) { +func (p *parser) callonDocumentFragment1353() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment715() + return p.cur.onDocumentFragment1353() } -func (c *current) onDocumentFragment708() (interface{}, error) { - return types.NewBlockDelimiter(types.Quote, string(c.text)) +func (c *current) onDocumentFragment1342() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDocumentFragment708() (interface{}, error) { +func (p *parser) callonDocumentFragment1342() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment708() + return p.cur.onDocumentFragment1342() } -func (c *current) onDocumentFragment732() (interface{}, error) { +func (c *current) onDocumentFragment1363() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentFragment732() (interface{}, error) { +func (p *parser) callonDocumentFragment1363() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment732() + return p.cur.onDocumentFragment1363() } -func (c *current) onDocumentFragment735() (interface{}, error) { +func (c *current) onDocumentFragment1366() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDocumentFragment735() (interface{}, error) { +func (p *parser) callonDocumentFragment1366() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment735() + return p.cur.onDocumentFragment1366() } -func (c *current) onDocumentFragment728() (interface{}, error) { - return types.NewBlockDelimiter(types.Quote, string(c.text)) +func (c *current) onDocumentFragment1326(content interface{}) (interface{}, error) { + return types.NewYamlFrontMatter(content.(string)) } -func (p *parser) callonDocumentFragment728() (interface{}, error) { +func (p *parser) callonDocumentFragment1326() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment728() + return p.cur.onDocumentFragment1326(stack["content"]) } -func (c *current) onDocumentFragment751() (interface{}, error) { - // content is NOT mandatory - return string(c.text), nil +func (c *current) onDocumentFragment1322(frontmatter interface{}) (interface{}, error) { + return frontmatter, nil } -func (p *parser) callonDocumentFragment751() (interface{}, error) { +func (p *parser) callonDocumentFragment1322() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment751() + return p.cur.onDocumentFragment1322(stack["frontmatter"]) } -func (c *current) onDocumentFragment755() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onDocumentFragment1(attributes, element interface{}) (interface{}, error) { + c.disableFrontMatterRule() // not allowed as soon as a single element is found + c.disableDocumentHeaderRule(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) callonDocumentFragment755() (interface{}, error) { +func (p *parser) callonDocumentFragment1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment755() + return p.cur.onDocumentFragment1(stack["attributes"], stack["element"]) } -func (c *current) onDocumentFragment745(content interface{}) (interface{}, error) { +func (c *current) onDelimitedBlockElements10() (interface{}, error) { + return string(c.text), nil +} - return types.NewRawLine(content.(string)) +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) callonDocumentFragment745() (interface{}, error) { +func (p *parser) callonDelimitedBlockElements6() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment745(stack["content"]) + return p.cur.onDelimitedBlockElements6(stack["ref"]) } -func (c *current) onDocumentFragment724(line interface{}) (interface{}, error) { - return line, nil +func (c *current) onDelimitedBlockElements1(elements interface{}) (interface{}, error) { + return elements, nil } -func (p *parser) callonDocumentFragment724() (interface{}, error) { +func (p *parser) callonDelimitedBlockElements1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment724(stack["line"]) + return p.cur.onDelimitedBlockElements1(stack["elements"]) } -func (c *current) onDocumentFragment768() (interface{}, error) { +func (c *current) onAttributeDeclaration5() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentFragment768() (interface{}, error) { +func (p *parser) callonAttributeDeclaration5() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment768() + return p.cur.onAttributeDeclaration5() } -func (c *current) onDocumentFragment771() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onAttributeDeclaration15() (interface{}, error) { + // log.Debug("matched multiple spaces") return string(c.text), nil + } -func (p *parser) callonDocumentFragment771() (interface{}, error) { +func (p *parser) callonAttributeDeclaration15() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment771() + return p.cur.onAttributeDeclaration15() } -func (c *current) onDocumentFragment764() (interface{}, error) { - return types.NewBlockDelimiter(types.Quote, string(c.text)) +func (c *current) onAttributeDeclaration13(value interface{}) (interface{}, error) { + return value, nil + } -func (p *parser) callonDocumentFragment764() (interface{}, error) { +func (p *parser) callonAttributeDeclaration13() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment764() + return p.cur.onAttributeDeclaration13(stack["value"]) } -func (c *current) onDocumentFragment706(content interface{}) (interface{}, error) { - c.unsetWithinDelimitedBlock() - return types.NewDelimitedBlock(types.Quote, content.([]interface{})) - +func (c *current) onAttributeDeclaration21() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonDocumentFragment706() (interface{}, error) { +func (p *parser) callonAttributeDeclaration21() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment706(stack["content"]) + return p.cur.onAttributeDeclaration21() } -func (c *current) onDocumentFragment786() (interface{}, error) { - return string(c.text), 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) callonDocumentFragment786() (interface{}, error) { +func (p *parser) callonAttributeDeclaration1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment786() + return p.cur.onAttributeDeclaration1(stack["name"], stack["value"]) } -func (c *current) onDocumentFragment789() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onAttributeDeclarationValue14() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonDocumentFragment789() (interface{}, error) { +func (p *parser) callonAttributeDeclarationValue14() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment789() + return p.cur.onAttributeDeclarationValue14() } -func (c *current) onDocumentFragment782() (interface{}, error) { - return types.NewBlockDelimiter(types.Sidebar, string(c.text)) +func (c *current) onAttributeDeclarationValue17() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonDocumentFragment782() (interface{}, error) { +func (p *parser) callonAttributeDeclarationValue17() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment782() + return p.cur.onAttributeDeclarationValue17() } -func (c *current) onDocumentFragment806() (interface{}, error) { - return string(c.text), nil +func (c *current) onAttributeDeclarationValue26() (interface{}, error) { + return types.NewStringElement(string(c.text)) } -func (p *parser) callonDocumentFragment806() (interface{}, error) { +func (p *parser) callonAttributeDeclarationValue26() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment806() + return p.cur.onAttributeDeclarationValue26() } -func (c *current) onDocumentFragment809() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onAttributeDeclarationValue29() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonDocumentFragment809() (interface{}, error) { +func (p *parser) callonAttributeDeclarationValue29() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment809() + return p.cur.onAttributeDeclarationValue29() } -func (c *current) onDocumentFragment802() (interface{}, error) { - return types.NewBlockDelimiter(types.Sidebar, string(c.text)) +func (c *current) onAttributeDeclarationValue33() (bool, error) { + return c.isSubstitutionEnabled(Attributes), nil + } -func (p *parser) callonDocumentFragment802() (interface{}, error) { +func (p *parser) callonAttributeDeclarationValue33() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment802() + return p.cur.onAttributeDeclarationValue33() } -func (c *current) onDocumentFragment825() (interface{}, error) { - // content is NOT mandatory +func (c *current) onAttributeDeclarationValue40() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentFragment825() (interface{}, error) { +func (p *parser) callonAttributeDeclarationValue40() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment825() + return p.cur.onAttributeDeclarationValue40() } -func (c *current) onDocumentFragment829() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onAttributeDeclarationValue52() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonDocumentFragment829() (interface{}, error) { +func (p *parser) callonAttributeDeclarationValue52() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment829() + return p.cur.onAttributeDeclarationValue52() } -func (c *current) onDocumentFragment819(content interface{}) (interface{}, error) { +func (c *current) onAttributeDeclarationValue54() (interface{}, error) { - return types.NewRawLine(content.(string)) + return strconv.Atoi(string(c.text)) } -func (p *parser) callonDocumentFragment819() (interface{}, error) { +func (p *parser) callonAttributeDeclarationValue54() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment819(stack["content"]) + return p.cur.onAttributeDeclarationValue54() } -func (c *current) onDocumentFragment798(line interface{}) (interface{}, error) { - return line, nil +func (c *current) onAttributeDeclarationValue47(start interface{}) (interface{}, error) { + return start, nil } -func (p *parser) callonDocumentFragment798() (interface{}, error) { +func (p *parser) callonAttributeDeclarationValue47() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment798(stack["line"]) + return p.cur.onAttributeDeclarationValue47(stack["start"]) } -func (c *current) onDocumentFragment842() (interface{}, error) { - return string(c.text), nil - +func (c *current) onAttributeDeclarationValue36(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) } -func (p *parser) callonDocumentFragment842() (interface{}, error) { +func (p *parser) callonAttributeDeclarationValue36() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment842() + return p.cur.onAttributeDeclarationValue36(stack["name"], stack["start"]) } -func (c *current) onDocumentFragment845() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onAttributeDeclarationValue62() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonDocumentFragment845() (interface{}, error) { +func (p *parser) callonAttributeDeclarationValue62() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment845() + return p.cur.onAttributeDeclarationValue62() } -func (c *current) onDocumentFragment838() (interface{}, error) { - return types.NewBlockDelimiter(types.Sidebar, string(c.text)) +func (c *current) onAttributeDeclarationValue74() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonDocumentFragment838() (interface{}, error) { +func (p *parser) callonAttributeDeclarationValue74() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment838() + return p.cur.onAttributeDeclarationValue74() } -func (c *current) onDocumentFragment780(content interface{}) (interface{}, error) { - c.unsetWithinDelimitedBlock() - return types.NewDelimitedBlock(types.Sidebar, content.([]interface{})) +func (c *current) onAttributeDeclarationValue76() (interface{}, error) { + + return strconv.Atoi(string(c.text)) } -func (p *parser) callonDocumentFragment780() (interface{}, error) { +func (p *parser) callonAttributeDeclarationValue76() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment780(stack["content"]) + return p.cur.onAttributeDeclarationValue76() } -func (c *current) onDocumentFragment865() (interface{}, error) { - return string(c.text), nil +func (c *current) onAttributeDeclarationValue69(start interface{}) (interface{}, error) { + return start, nil } -func (p *parser) callonDocumentFragment865() (interface{}, error) { +func (p *parser) callonAttributeDeclarationValue69() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment865() + return p.cur.onAttributeDeclarationValue69(stack["start"]) } -func (c *current) onDocumentFragment868() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onAttributeDeclarationValue58(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) } -func (p *parser) callonDocumentFragment868() (interface{}, error) { +func (p *parser) callonAttributeDeclarationValue58() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment868() + return p.cur.onAttributeDeclarationValue58(stack["name"], stack["start"]) } -func (c *current) onDocumentFragment876() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onAttributeDeclarationValue84() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonDocumentFragment876() (interface{}, error) { +func (p *parser) callonAttributeDeclarationValue84() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment876() + return p.cur.onAttributeDeclarationValue84() } -func (c *current) onDocumentFragment854() (interface{}, error) { +func (c *current) onAttributeDeclarationValue80(name interface{}) (interface{}, error) { - return types.NewThematicBreak() + log.Debug("matching escaped attribute reference") + // return types.NewStringElement("{"+name.(string)+"}") + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) } -func (p *parser) callonDocumentFragment854() (interface{}, error) { +func (p *parser) callonAttributeDeclarationValue80() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment854() + return p.cur.onAttributeDeclarationValue80(stack["name"]) } -func (c *current) onDocumentFragment888() (interface{}, error) { +func (c *current) onAttributeDeclarationValue94() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentFragment888() (interface{}, error) { +func (p *parser) callonAttributeDeclarationValue94() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment888() + return p.cur.onAttributeDeclarationValue94() } -func (c *current) onDocumentFragment891() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onAttributeDeclarationValue90(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) + } -func (p *parser) callonDocumentFragment891() (interface{}, error) { +func (p *parser) callonAttributeDeclarationValue90() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment891() + return p.cur.onAttributeDeclarationValue90(stack["name"]) } -func (c *current) onDocumentFragment908() (interface{}, error) { - return string(c.text), nil +func (c *current) onAttributeDeclarationValue31(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonDocumentFragment908() (interface{}, error) { +func (p *parser) callonAttributeDeclarationValue31() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment908() + return p.cur.onAttributeDeclarationValue31(stack["element"]) } -func (c *current) onDocumentFragment914() (interface{}, error) { - return string(c.text), nil +func (c *current) onAttributeDeclarationValue100() (interface{}, error) { + // standalone '{' + return types.NewStringElement(string(c.text)) } -func (p *parser) callonDocumentFragment914() (interface{}, error) { +func (p *parser) callonAttributeDeclarationValue100() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment914() + return p.cur.onAttributeDeclarationValue100() } -func (c *current) onDocumentFragment912(content interface{}) (interface{}, error) { - return types.NewRawContent(content.(string)) +func (c *current) onAttributeDeclarationValue7(element interface{}) (interface{}, error) { + + return element, nil } -func (p *parser) callonDocumentFragment912() (interface{}, error) { +func (p *parser) callonAttributeDeclarationValue7() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment912(stack["content"]) + return p.cur.onAttributeDeclarationValue7(stack["element"]) } -func (c *current) onDocumentFragment904(content interface{}) (interface{}, error) { - return types.NewTableCell(content.(types.RawContent)) +func (c *current) onAttributeDeclarationValue4(elements interface{}) (interface{}, error) { + return elements.([]interface{}), nil } -func (p *parser) callonDocumentFragment904() (interface{}, error) { +func (p *parser) callonAttributeDeclarationValue4() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment904(stack["content"]) + return p.cur.onAttributeDeclarationValue4(stack["elements"]) } -func (c *current) onDocumentFragment918() (interface{}, error) { +func (c *current) onAttributeDeclarationValue107() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDocumentFragment918() (interface{}, error) { +func (p *parser) callonAttributeDeclarationValue107() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment918() + return p.cur.onAttributeDeclarationValue107() } -func (c *current) onDocumentFragment932() (interface{}, error) { +func (c *current) onAttributeDeclarationValue113() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentFragment932() (interface{}, error) { +func (p *parser) callonAttributeDeclarationValue113() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment932() + return p.cur.onAttributeDeclarationValue113() } -func (c *current) onDocumentFragment935() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onAttributeDeclarationValue104(elements interface{}) (interface{}, error) { + return elements, nil + } -func (p *parser) callonDocumentFragment935() (interface{}, error) { +func (p *parser) callonAttributeDeclarationValue104() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment935() + return p.cur.onAttributeDeclarationValue104(stack["elements"]) } -func (c *current) onDocumentFragment926() (interface{}, error) { - return types.NewBlankLine() +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) callonDocumentFragment926() (interface{}, error) { +func (p *parser) callonAttributeDeclarationValue1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment926() + return p.cur.onAttributeDeclarationValue1(stack["elements"], stack["otherElements"]) } -func (c *current) onDocumentFragment900(cells interface{}) (interface{}, error) { - return types.NewTableRow(cells.([]interface{})) +func (c *current) onBlockAttributes16() (interface{}, error) { + // spaces, commas and dots are allowed in this syntax + return types.NewStringElement(string(c.text)) } -func (p *parser) callonDocumentFragment900() (interface{}, error) { +func (p *parser) callonBlockAttributes16() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment900(stack["cells"]) + return p.cur.onBlockAttributes16() } -func (c *current) onDocumentFragment952() (interface{}, error) { +func (c *current) onBlockAttributes23() (interface{}, error) { return string(c.text), nil - } -func (p *parser) callonDocumentFragment952() (interface{}, error) { +func (p *parser) callonBlockAttributes23() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment952() + return p.cur.onBlockAttributes23() } -func (c *current) onDocumentFragment955() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onBlockAttributes19(ref interface{}) (interface{}, error) { + return types.NewElementPlaceHolder(ref.(string)) } -func (p *parser) callonDocumentFragment955() (interface{}, error) { +func (p *parser) callonBlockAttributes19() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment955() + return p.cur.onBlockAttributes19(stack["ref"]) } -func (c *current) onDocumentFragment976() (interface{}, error) { - return string(c.text), nil +func (c *current) onBlockAttributes29() (bool, error) { + return c.isSubstitutionEnabled(Attributes), nil } -func (p *parser) callonDocumentFragment976() (interface{}, error) { +func (p *parser) callonBlockAttributes29() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment976() + return p.cur.onBlockAttributes29() } -func (c *current) onDocumentFragment979() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onBlockAttributes36() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonDocumentFragment979() (interface{}, error) { +func (p *parser) callonBlockAttributes36() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment979() + return p.cur.onBlockAttributes36() } -func (c *current) onDocumentFragment995() (interface{}, error) { +func (c *current) onBlockAttributes48() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentFragment995() (interface{}, error) { +func (p *parser) callonBlockAttributes48() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment995() + return p.cur.onBlockAttributes48() } -func (c *current) onDocumentFragment998() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onBlockAttributes50() (interface{}, error) { + + return strconv.Atoi(string(c.text)) + } -func (p *parser) callonDocumentFragment998() (interface{}, error) { +func (p *parser) callonBlockAttributes50() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment998() + return p.cur.onBlockAttributes50() } -func (c *current) onDocumentFragment989() (interface{}, error) { - return types.NewBlankLine() +func (c *current) onBlockAttributes43(start interface{}) (interface{}, error) { + return start, nil } -func (p *parser) callonDocumentFragment989() (interface{}, error) { +func (p *parser) callonBlockAttributes43() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment989() + return p.cur.onBlockAttributes43(stack["start"]) } -func (c *current) onDocumentFragment1007() (interface{}, error) { - return string(c.text), nil - +func (c *current) onBlockAttributes32(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) } -func (p *parser) callonDocumentFragment1007() (interface{}, error) { +func (p *parser) callonBlockAttributes32() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1007() + return p.cur.onBlockAttributes32(stack["name"], stack["start"]) } -func (c *current) onDocumentFragment1013() (interface{}, error) { +func (c *current) onBlockAttributes58() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentFragment1013() (interface{}, error) { +func (p *parser) callonBlockAttributes58() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1013() + return p.cur.onBlockAttributes58() } -func (c *current) onDocumentFragment1011(content interface{}) (interface{}, error) { - return types.NewRawContent(content.(string)) +func (c *current) onBlockAttributes70() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDocumentFragment1011() (interface{}, error) { +func (p *parser) callonBlockAttributes70() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1011(stack["content"]) + return p.cur.onBlockAttributes70() } -func (c *current) onDocumentFragment969(content interface{}) (interface{}, error) { - return types.NewTableCell(content.(types.RawContent)) +func (c *current) onBlockAttributes72() (interface{}, error) { + + return strconv.Atoi(string(c.text)) } -func (p *parser) callonDocumentFragment969() (interface{}, error) { +func (p *parser) callonBlockAttributes72() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment969(stack["content"]) + return p.cur.onBlockAttributes72() } -func (c *current) onDocumentFragment1017() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onBlockAttributes65(start interface{}) (interface{}, error) { + return start, nil + } -func (p *parser) callonDocumentFragment1017() (interface{}, error) { +func (p *parser) callonBlockAttributes65() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1017() + return p.cur.onBlockAttributes65(stack["start"]) } -func (c *current) onDocumentFragment966(cell interface{}) (interface{}, error) { - return cell, nil - +func (c *current) onBlockAttributes54(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) } -func (p *parser) callonDocumentFragment966() (interface{}, error) { +func (p *parser) callonBlockAttributes54() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment966(stack["cell"]) + return p.cur.onBlockAttributes54(stack["name"], stack["start"]) } -func (c *current) onDocumentFragment1032() (interface{}, error) { +func (c *current) onBlockAttributes80() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentFragment1032() (interface{}, error) { +func (p *parser) callonBlockAttributes80() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1032() + return p.cur.onBlockAttributes80() } -func (c *current) onDocumentFragment1035() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onBlockAttributes76(name interface{}) (interface{}, error) { + + log.Debug("matching escaped attribute reference") + // return types.NewStringElement("{"+name.(string)+"}") + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) + } -func (p *parser) callonDocumentFragment1035() (interface{}, error) { +func (p *parser) callonBlockAttributes76() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1035() + return p.cur.onBlockAttributes76(stack["name"]) } -func (c *current) onDocumentFragment1026() (interface{}, error) { - return types.NewBlankLine() +func (c *current) onBlockAttributes90() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDocumentFragment1026() (interface{}, error) { +func (p *parser) callonBlockAttributes90() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1026() + return p.cur.onBlockAttributes90() } -func (c *current) onDocumentFragment1047() (interface{}, error) { - return string(c.text), nil +func (c *current) onBlockAttributes86(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonDocumentFragment1047() (interface{}, error) { +func (p *parser) callonBlockAttributes86() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1047() + return p.cur.onBlockAttributes86(stack["name"]) } -func (c *current) onDocumentFragment1050() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onBlockAttributes27(element interface{}) (interface{}, error) { + return element, nil + } -func (p *parser) callonDocumentFragment1050() (interface{}, error) { +func (p *parser) callonBlockAttributes27() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1050() + return p.cur.onBlockAttributes27(stack["element"]) } -func (c *current) onDocumentFragment945(cells interface{}) (interface{}, error) { - return types.NewTableRow(cells.([]interface{})) +func (c *current) onBlockAttributes96() (interface{}, error) { + + return types.NewStringElement(string(c.text)) } -func (p *parser) callonDocumentFragment945() (interface{}, error) { +func (p *parser) callonBlockAttributes96() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment945(stack["cells"]) + return p.cur.onBlockAttributes96() } -func (c *current) onDocumentFragment1066() (interface{}, error) { - return string(c.text), nil +func (c *current) onBlockAttributes12(elements interface{}) (interface{}, error) { + return types.Reduce(elements, strings.TrimSpace), nil } -func (p *parser) callonDocumentFragment1066() (interface{}, error) { +func (p *parser) callonBlockAttributes12() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1066() + return p.cur.onBlockAttributes12(stack["elements"]) } -func (c *current) onDocumentFragment1069() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onBlockAttributes8(id interface{}) (interface{}, error) { + return types.NewIDAttribute(id) + } -func (p *parser) callonDocumentFragment1069() (interface{}, error) { +func (p *parser) callonBlockAttributes8() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1069() + return p.cur.onBlockAttributes8(stack["id"]) } -func (c *current) onDocumentFragment1087() (interface{}, error) { +func (c *current) onBlockAttributes100() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentFragment1087() (interface{}, error) { +func (p *parser) callonBlockAttributes100() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1087() + return p.cur.onBlockAttributes100() } -func (c *current) onDocumentFragment1090() (interface{}, error) { +func (c *current) onBlockAttributes103() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDocumentFragment1090() (interface{}, error) { +func (p *parser) callonBlockAttributes103() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1090() + return p.cur.onBlockAttributes103() } -func (c *current) onDocumentFragment1106() (interface{}, error) { +func (c *current) onBlockAttributes117() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentFragment1106() (interface{}, error) { +func (p *parser) callonBlockAttributes117() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1106() + return p.cur.onBlockAttributes117() } -func (c *current) onDocumentFragment1109() (interface{}, error) { +func (c *current) onBlockAttributes120() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDocumentFragment1109() (interface{}, error) { +func (p *parser) callonBlockAttributes120() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1109() + return p.cur.onBlockAttributes120() } -func (c *current) onDocumentFragment1100() (interface{}, error) { +func (c *current) onBlockAttributes111() (interface{}, error) { return types.NewBlankLine() } -func (p *parser) callonDocumentFragment1100() (interface{}, error) { +func (p *parser) callonBlockAttributes111() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1100() + return p.cur.onBlockAttributes111() } -func (c *current) onDocumentFragment1118() (interface{}, error) { - return string(c.text), nil +func (c *current) onBlockAttributes5(anchor interface{}) (interface{}, error) { + return anchor, nil } -func (p *parser) callonDocumentFragment1118() (interface{}, error) { +func (p *parser) callonBlockAttributes5() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1118() + return p.cur.onBlockAttributes5(stack["anchor"]) } -func (c *current) onDocumentFragment1124() (interface{}, error) { +func (c *current) onBlockAttributes141() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentFragment1124() (interface{}, error) { +func (p *parser) callonBlockAttributes141() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1124() + return p.cur.onBlockAttributes141() } -func (c *current) onDocumentFragment1122(content interface{}) (interface{}, error) { - return types.NewRawContent(content.(string)) +func (c *current) onBlockAttributes148() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDocumentFragment1122() (interface{}, error) { +func (p *parser) callonBlockAttributes148() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1122(stack["content"]) + return p.cur.onBlockAttributes148() } -func (c *current) onDocumentFragment1080(content interface{}) (interface{}, error) { - return types.NewTableCell(content.(types.RawContent)) +func (c *current) onBlockAttributes144(name interface{}) (interface{}, error) { + + log.Debug("matching escaped attribute reference") + // return types.NewStringElement("{"+name.(string)+"}") + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) } -func (p *parser) callonDocumentFragment1080() (interface{}, error) { +func (p *parser) callonBlockAttributes144() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1080(stack["content"]) + return p.cur.onBlockAttributes144(stack["name"]) } -func (c *current) onDocumentFragment1128() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onBlockAttributes158() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonDocumentFragment1128() (interface{}, error) { +func (p *parser) callonBlockAttributes158() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1128() + return p.cur.onBlockAttributes158() } -func (c *current) onDocumentFragment1142() (interface{}, error) { - return string(c.text), nil +func (c *current) onBlockAttributes154(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonDocumentFragment1142() (interface{}, error) { +func (p *parser) callonBlockAttributes154() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1142() + return p.cur.onBlockAttributes154(stack["name"]) } -func (c *current) onDocumentFragment1145() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onBlockAttributes164() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonDocumentFragment1145() (interface{}, error) { +func (p *parser) callonBlockAttributes164() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1145() + return p.cur.onBlockAttributes164() } -func (c *current) onDocumentFragment1136() (interface{}, error) { - return types.NewBlankLine() +func (c *current) onBlockAttributes134(elements interface{}) (interface{}, error) { + return types.Reduce(elements, strings.TrimSpace), nil } -func (p *parser) callonDocumentFragment1136() (interface{}, error) { +func (p *parser) callonBlockAttributes134() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1136() + return p.cur.onBlockAttributes134(stack["elements"]) } -func (c *current) onDocumentFragment1059(cells interface{}) (interface{}, error) { - return types.NewTableRow(cells.([]interface{})) +func (c *current) onBlockAttributes130(title interface{}) (interface{}, error) { + return types.NewTitleAttribute(title) } -func (p *parser) callonDocumentFragment1059() (interface{}, error) { +func (p *parser) callonBlockAttributes130() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1059(stack["cells"]) + return p.cur.onBlockAttributes130(stack["title"]) } -func (c *current) onDocumentFragment1156() (interface{}, error) { +func (c *current) onBlockAttributes167() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentFragment1156() (interface{}, error) { +func (p *parser) callonBlockAttributes167() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1156() + return p.cur.onBlockAttributes167() } -func (c *current) onDocumentFragment1159() (interface{}, error) { +func (c *current) onBlockAttributes170() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDocumentFragment1159() (interface{}, error) { +func (p *parser) callonBlockAttributes170() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1159() + return p.cur.onBlockAttributes170() } -func (c *current) onDocumentFragment884(header, rows interface{}) (interface{}, error) { - return types.NewTable(header, rows.([]interface{})) +func (c *current) onBlockAttributes184() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDocumentFragment884() (interface{}, error) { +func (p *parser) callonBlockAttributes184() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment884(stack["header"], stack["rows"]) + return p.cur.onBlockAttributes184() } -func (c *current) onDocumentFragment1174() (interface{}, error) { +func (c *current) onBlockAttributes187() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonDocumentFragment1174() (interface{}, error) { +func (p *parser) callonBlockAttributes187() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1174() + return p.cur.onBlockAttributes187() } -func (c *current) onDocumentFragment1178() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onBlockAttributes178() (interface{}, error) { + return types.NewBlankLine() + } -func (p *parser) callonDocumentFragment1178() (interface{}, error) { +func (p *parser) callonBlockAttributes178() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1178() + return p.cur.onBlockAttributes178() } -func (c *current) onDocumentFragment1168(content interface{}) (interface{}, error) { - return types.NewSingleLineComment(content.(string)) +func (c *current) onBlockAttributes127(title interface{}) (interface{}, error) { + return title, nil } -func (p *parser) callonDocumentFragment1168() (interface{}, error) { +func (p *parser) callonBlockAttributes127() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1168(stack["content"]) + return p.cur.onBlockAttributes127(stack["title"]) } -func (c *current) onDocumentFragment1189() (interface{}, error) { - return types.Tip, nil +func (c *current) onBlockAttributes199() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonDocumentFragment1189() (interface{}, error) { +func (p *parser) callonBlockAttributes199() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1189() + return p.cur.onBlockAttributes199() } -func (c *current) onDocumentFragment1191() (interface{}, error) { - return types.Note, nil +func (c *current) onBlockAttributes202() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonDocumentFragment1191() (interface{}, error) { +func (p *parser) callonBlockAttributes202() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1191() + return p.cur.onBlockAttributes202() } -func (c *current) onDocumentFragment1193() (interface{}, error) { - return types.Important, nil +func (c *current) onBlockAttributes216() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonDocumentFragment1193() (interface{}, error) { +func (p *parser) callonBlockAttributes216() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1193() + return p.cur.onBlockAttributes216() } -func (c *current) onDocumentFragment1195() (interface{}, error) { - return types.Warning, nil +func (c *current) onBlockAttributes219() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonDocumentFragment1195() (interface{}, error) { +func (p *parser) callonBlockAttributes219() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1195() + return p.cur.onBlockAttributes219() } -func (c *current) onDocumentFragment1197() (interface{}, error) { - return types.Caution, nil +func (c *current) onBlockAttributes210() (interface{}, error) { + return types.NewBlankLine() + } -func (p *parser) callonDocumentFragment1197() (interface{}, error) { +func (p *parser) callonBlockAttributes210() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1197() + return p.cur.onBlockAttributes210() } -func (c *current) onDocumentFragment1204() (interface{}, error) { - return strings.TrimRight(string(c.text), " \t"), nil // trim spaces and tabs +func (c *current) onBlockAttributes194(attributes interface{}) (interface{}, error) { + return attributes, nil } -func (p *parser) callonDocumentFragment1204() (interface{}, error) { +func (p *parser) callonBlockAttributes194() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1204() + return p.cur.onBlockAttributes194(stack["attributes"]) } -func (c *current) onDocumentFragment1207(content interface{}) (bool, error) { - return len(strings.TrimSpace(content.(string))) > 0, nil +func (c *current) onBlockAttributes1(attributes interface{}) (interface{}, error) { + // c.unsetCurrentSubstitution() + return types.MergeAttributes(attributes.([]interface{})...) } -func (p *parser) callonDocumentFragment1207() (bool, error) { +func (p *parser) callonBlockAttributes1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1207(stack["content"]) + return p.cur.onBlockAttributes1(stack["attributes"]) } -func (c *current) onDocumentFragment1209() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onInlineAttributes6(attribute interface{}) (interface{}, error) { + return attribute, nil + } -func (p *parser) callonDocumentFragment1209() (interface{}, error) { +func (p *parser) callonInlineAttributes6() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1209() + return p.cur.onInlineAttributes6(stack["attribute"]) } -func (c *current) onDocumentFragment1201(content interface{}) (interface{}, error) { - return types.NewRawLine(content.(string)) +func (c *current) onInlineAttributes1(attributes interface{}) (interface{}, error) { + return types.NewAttributes(attributes.([]interface{})...) } -func (p *parser) callonDocumentFragment1201() (interface{}, error) { +func (p *parser) callonInlineAttributes1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1201(stack["content"]) + return p.cur.onInlineAttributes1(stack["attributes"]) } -func (c *current) onDocumentFragment1224() (interface{}, error) { - return string(c.text), nil +func (c *current) onLongHandAttributes1(firstPositionalAttributes, otherAttributes interface{}) (interface{}, error) { + attributes := []interface{}{} + if firstPositionalAttributes != nil { + attributes = append(attributes, firstPositionalAttributes.([]interface{})...) + } + if len(otherAttributes.([]interface{})) > 0 { + attributes = append(attributes, otherAttributes.([]interface{})...) + } + return types.NewAttributes(attributes...) } -func (p *parser) callonDocumentFragment1224() (interface{}, error) { +func (p *parser) callonLongHandAttributes1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1224() + return p.cur.onLongHandAttributes1(stack["firstPositionalAttributes"], stack["otherAttributes"]) } -func (c *current) onDocumentFragment1226() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onFirstPositionalAttributes8(extra interface{}) (interface{}, error) { + return extra, nil + } -func (p *parser) callonDocumentFragment1226() (interface{}, error) { +func (p *parser) callonFirstPositionalAttributes8() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1226() + return p.cur.onFirstPositionalAttributes8(stack["extra"]) } -func (c *current) onDocumentFragment1239() (interface{}, error) { +func (c *current) onFirstPositionalAttributes23() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentFragment1239() (interface{}, error) { +func (p *parser) callonFirstPositionalAttributes23() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1239() + return p.cur.onFirstPositionalAttributes23() } -func (c *current) onDocumentFragment1243() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onFirstPositionalAttributes25(main, extras interface{}) (bool, error) { + // make sure there was a match + return main != nil || len(extras.([]interface{})) > 0, nil + } -func (p *parser) callonDocumentFragment1243() (interface{}, error) { +func (p *parser) callonFirstPositionalAttributes25() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1243() + return p.cur.onFirstPositionalAttributes25(stack["main"], stack["extras"]) } -func (c *current) onDocumentFragment1233(content interface{}) (interface{}, error) { - return types.NewSingleLineComment(content.(string)) +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) callonDocumentFragment1233() (interface{}, error) { +func (p *parser) callonFirstPositionalAttributes1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1233(stack["content"]) + return p.cur.onFirstPositionalAttributes1(stack["main"], stack["extras"]) } -func (c *current) onDocumentFragment1253() (interface{}, error) { - return strings.TrimRight(string(c.text), " \t"), nil // trim spaces and tabs +func (c *current) onShortHandIDAttribute1(id interface{}) (interface{}, error) { + return types.NewIDAttribute(id) } -func (p *parser) callonDocumentFragment1253() (interface{}, error) { +func (p *parser) callonShortHandIDAttribute1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1253() + return p.cur.onShortHandIDAttribute1(stack["id"]) } -func (c *current) onDocumentFragment1256(content interface{}) (bool, error) { - return len(strings.TrimSpace(content.(string))) > 0, nil +func (c *current) onShortHandAttribute1(value interface{}) (interface{}, error) { + return types.NewPositionalAttribute(value) } -func (p *parser) callonDocumentFragment1256() (bool, error) { +func (p *parser) callonShortHandAttribute1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1256(stack["content"]) + return p.cur.onShortHandAttribute1(stack["value"]) } -func (c *current) onDocumentFragment1258() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onShortHandDotRoleAttribute1(role interface{}) (interface{}, error) { + return types.NewRoleAttribute(role) + } -func (p *parser) callonDocumentFragment1258() (interface{}, error) { +func (p *parser) callonShortHandDotRoleAttribute1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1258() + return p.cur.onShortHandDotRoleAttribute1(stack["role"]) } -func (c *current) onDocumentFragment1250(content interface{}) (interface{}, error) { - return types.NewRawLine(content.(string)) +func (c *current) onShortHandOptionAttribute1(option interface{}) (interface{}, error) { + return types.NewOptionAttribute(option) } -func (p *parser) callonDocumentFragment1250() (interface{}, error) { +func (p *parser) callonShortHandOptionAttribute1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1250(stack["content"]) + return p.cur.onShortHandOptionAttribute1(stack["option"]) } -func (c *current) onDocumentFragment1218(line interface{}) (interface{}, error) { - return line, nil +func (c *current) onShortHandAttributeValue9() (interface{}, error) { + return types.NewStringElement(string(c.text)) } -func (p *parser) callonDocumentFragment1218() (interface{}, error) { +func (p *parser) callonShortHandAttributeValue9() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1218(stack["line"]) + return p.cur.onShortHandAttributeValue9() } -func (c *current) onDocumentFragment1185(kind, firstLine, otherLines interface{}) (interface{}, error) { - - return types.NewAdmonitionParagraph(kind.(string), append([]interface{}{firstLine}, otherLines.([]interface{})...)) +func (c *current) onShortHandAttributeValue14() (bool, error) { + return c.isSubstitutionEnabled(Attributes), nil } -func (p *parser) callonDocumentFragment1185() (interface{}, error) { +func (p *parser) callonShortHandAttributeValue14() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1185(stack["kind"], stack["firstLine"], stack["otherLines"]) + return p.cur.onShortHandAttributeValue14() } -func (c *current) onDocumentFragment1273() (interface{}, error) { - // log.Debug("matched multiple spaces") +func (c *current) onShortHandAttributeValue21() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentFragment1273() (interface{}, error) { +func (p *parser) callonShortHandAttributeValue21() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1273() + return p.cur.onShortHandAttributeValue21() } -func (c *current) onDocumentFragment1271() (interface{}, error) { +func (c *current) onShortHandAttributeValue33() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentFragment1271() (interface{}, error) { +func (p *parser) callonShortHandAttributeValue33() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1271() + return p.cur.onShortHandAttributeValue33() } -func (c *current) onDocumentFragment1278(content interface{}) (bool, error) { - return len(strings.TrimSpace(string(c.text))) > 0, nil +func (c *current) onShortHandAttributeValue35() (interface{}, error) { + + return strconv.Atoi(string(c.text)) } -func (p *parser) callonDocumentFragment1278() (bool, error) { +func (p *parser) callonShortHandAttributeValue35() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1278(stack["content"]) + return p.cur.onShortHandAttributeValue35() } -func (c *current) onDocumentFragment1280() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onShortHandAttributeValue28(start interface{}) (interface{}, error) { + return start, nil + } -func (p *parser) callonDocumentFragment1280() (interface{}, error) { +func (p *parser) callonShortHandAttributeValue28() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1280() + return p.cur.onShortHandAttributeValue28(stack["start"]) } -func (c *current) onDocumentFragment1268(content interface{}) (interface{}, error) { - return types.NewRawLine(content.(string)) - +func (c *current) onShortHandAttributeValue17(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) } -func (p *parser) callonDocumentFragment1268() (interface{}, error) { +func (p *parser) callonShortHandAttributeValue17() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1268(stack["content"]) + return p.cur.onShortHandAttributeValue17(stack["name"], stack["start"]) } -func (c *current) onDocumentFragment1296() (interface{}, error) { +func (c *current) onShortHandAttributeValue43() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentFragment1296() (interface{}, error) { +func (p *parser) callonShortHandAttributeValue43() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1296() + return p.cur.onShortHandAttributeValue43() } -func (c *current) onDocumentFragment1300() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onShortHandAttributeValue55() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonDocumentFragment1300() (interface{}, error) { +func (p *parser) callonShortHandAttributeValue55() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1300() + return p.cur.onShortHandAttributeValue55() } -func (c *current) onDocumentFragment1290(content interface{}) (interface{}, error) { - return types.NewSingleLineComment(content.(string)) +func (c *current) onShortHandAttributeValue57() (interface{}, error) { + + return strconv.Atoi(string(c.text)) } -func (p *parser) callonDocumentFragment1290() (interface{}, error) { +func (p *parser) callonShortHandAttributeValue57() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1290(stack["content"]) + return p.cur.onShortHandAttributeValue57() } -func (c *current) onDocumentFragment1310() (interface{}, error) { - return strings.TrimRight(string(c.text), " \t"), nil // trim spaces and tabs +func (c *current) onShortHandAttributeValue50(start interface{}) (interface{}, error) { + return start, nil } -func (p *parser) callonDocumentFragment1310() (interface{}, error) { +func (p *parser) callonShortHandAttributeValue50() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1310() + return p.cur.onShortHandAttributeValue50(stack["start"]) } -func (c *current) onDocumentFragment1313(content interface{}) (bool, error) { - return len(strings.TrimSpace(content.(string))) > 0, nil - +func (c *current) onShortHandAttributeValue39(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) } -func (p *parser) callonDocumentFragment1313() (bool, error) { +func (p *parser) callonShortHandAttributeValue39() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1313(stack["content"]) + return p.cur.onShortHandAttributeValue39(stack["name"], stack["start"]) } -func (c *current) onDocumentFragment1315() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onShortHandAttributeValue65() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonDocumentFragment1315() (interface{}, error) { +func (p *parser) callonShortHandAttributeValue65() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1315() + return p.cur.onShortHandAttributeValue65() } -func (c *current) onDocumentFragment1307(content interface{}) (interface{}, error) { - return types.NewRawLine(content.(string)) +func (c *current) onShortHandAttributeValue61(name interface{}) (interface{}, error) { + + log.Debug("matching escaped attribute reference") + // return types.NewStringElement("{"+name.(string)+"}") + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) } -func (p *parser) callonDocumentFragment1307() (interface{}, error) { +func (p *parser) callonShortHandAttributeValue61() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1307(stack["content"]) + return p.cur.onShortHandAttributeValue61(stack["name"]) } -func (c *current) onDocumentFragment1265(firstLine, otherLines interface{}) (interface{}, error) { - - return types.NewLiteralParagraph(types.LiteralBlockWithSpacesOnFirstLine, append([]interface{}{firstLine}, otherLines.([]interface{})...)) +func (c *current) onShortHandAttributeValue75() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDocumentFragment1265() (interface{}, error) { +func (p *parser) callonShortHandAttributeValue75() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1265(stack["firstLine"], stack["otherLines"]) + return p.cur.onShortHandAttributeValue75() } -func (c *current) onDocumentFragment1324() (bool, error) { - return c.isFrontMatterAllowed(), nil +func (c *current) onShortHandAttributeValue71(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonDocumentFragment1324() (bool, error) { +func (p *parser) callonShortHandAttributeValue71() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1324() + return p.cur.onShortHandAttributeValue71(stack["name"]) } -func (c *current) onDocumentFragment1330() (interface{}, error) { - return string(c.text), nil +func (c *current) onShortHandAttributeValue12(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonDocumentFragment1330() (interface{}, error) { +func (p *parser) callonShortHandAttributeValue12() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1330() + return p.cur.onShortHandAttributeValue12(stack["element"]) } -func (c *current) onDocumentFragment1333() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onShortHandAttributeValue81() (interface{}, error) { + + return types.NewStringElement(string(c.text)) + } -func (p *parser) callonDocumentFragment1333() (interface{}, error) { +func (p *parser) callonShortHandAttributeValue81() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1333() + return p.cur.onShortHandAttributeValue81() } -func (c *current) onDocumentFragment1350() (interface{}, error) { +func (c *current) onShortHandAttributeValue87() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentFragment1350() (interface{}, error) { +func (p *parser) callonShortHandAttributeValue87() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1350() + return p.cur.onShortHandAttributeValue87() } -func (c *current) onDocumentFragment1353() (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) callonDocumentFragment1353() (interface{}, error) { +func (p *parser) callonShortHandAttributeValue4() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1353() + return p.cur.onShortHandAttributeValue4(stack["elements"]) } -func (c *current) onDocumentFragment1342() (interface{}, error) { +func (c *current) onPositionalAttribute11() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonDocumentFragment1342() (interface{}, error) { +func (p *parser) callonPositionalAttribute11() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1342() + return p.cur.onPositionalAttribute11() } -func (c *current) onDocumentFragment1363() (interface{}, error) { - return string(c.text), nil +func (c *current) onPositionalAttribute2(value interface{}) (interface{}, error) { + // TODO: see if we can just use `((",")? / &"]")` instead (ie, no need to check for Space*) + return types.NewPositionalAttribute(value) } -func (p *parser) callonDocumentFragment1363() (interface{}, error) { +func (p *parser) callonPositionalAttribute2() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1363() + return p.cur.onPositionalAttribute2(stack["value"]) } -func (c *current) onDocumentFragment1366() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onPositionalAttribute20() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonDocumentFragment1366() (interface{}, error) { +func (p *parser) callonPositionalAttribute20() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1366() + return p.cur.onPositionalAttribute20() } -func (c *current) onDocumentFragment1326(content interface{}) (interface{}, error) { - return types.NewYamlFrontMatter(content.(string)) +func (c *current) onPositionalAttribute26() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonDocumentFragment1326() (interface{}, error) { +func (p *parser) callonPositionalAttribute26() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1326(stack["content"]) + return p.cur.onPositionalAttribute26() } -func (c *current) onDocumentFragment1322(frontmatter interface{}) (interface{}, error) { - return frontmatter, 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) callonDocumentFragment1322() (interface{}, error) { +func (p *parser) callonPositionalAttribute30() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1322(stack["frontmatter"]) + return p.cur.onPositionalAttribute30(stack["value"]) } -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 +func (c *current) onPositionalAttribute15(value interface{}) (interface{}, error) { - if element, ok := element.(types.WithAttributes); ok && attributes != nil { - element.AddAttributes(attributes.(types.Attributes)) - } - return element, nil + return types.NewPositionalAttribute(nil) } -func (p *parser) callonDocumentFragment1() (interface{}, error) { +func (p *parser) callonPositionalAttribute15() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1(stack["attributes"], stack["element"]) + return p.cur.onPositionalAttribute15(stack["value"]) } -func (c *current) onDelimitedBlockElements10() (interface{}, error) { +func (c *current) onNamedAttribute7() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonDelimitedBlockElements10() (interface{}, error) { +func (p *parser) callonNamedAttribute7() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDelimitedBlockElements10() + return p.cur.onNamedAttribute7() } -func (c *current) onDelimitedBlockElements6(ref interface{}) (interface{}, error) { - return types.NewElementPlaceHolder(ref.(string)) +func (c *current) onNamedAttribute12() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonDelimitedBlockElements6() (interface{}, error) { +func (p *parser) callonNamedAttribute12() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDelimitedBlockElements6(stack["ref"]) + return p.cur.onNamedAttribute12() } -func (c *current) onDelimitedBlockElements1(elements interface{}) (interface{}, error) { - return elements, nil +func (c *current) onNamedAttribute4() (interface{}, error) { + return strings.TrimSpace(string(c.text)), nil } -func (p *parser) callonDelimitedBlockElements1() (interface{}, error) { +func (p *parser) callonNamedAttribute4() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDelimitedBlockElements1(stack["elements"]) + return p.cur.onNamedAttribute4() } -func (c *current) onAttributeDeclaration5() (interface{}, error) { +func (c *current) onNamedAttribute16() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonAttributeDeclaration5() (interface{}, error) { +func (p *parser) callonNamedAttribute16() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeDeclaration5() + return p.cur.onNamedAttribute16() } -func (c *current) onAttributeDeclaration15() (interface{}, error) { - // log.Debug("matched multiple spaces") +func (c *current) onNamedAttribute24() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonAttributeDeclaration15() (interface{}, error) { +func (p *parser) callonNamedAttribute24() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeDeclaration15() + return p.cur.onNamedAttribute24() } -func (c *current) onAttributeDeclaration13(value interface{}) (interface{}, error) { - return value, nil +func (c *current) onNamedAttribute1(key, value interface{}) (interface{}, error) { + // TODO: include `,` or expect `]` + return types.NewNamedAttribute(key.(string), value) } -func (p *parser) callonAttributeDeclaration13() (interface{}, error) { +func (p *parser) callonNamedAttribute1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeDeclaration13(stack["value"]) + return p.cur.onNamedAttribute1(stack["key"], stack["value"]) } -func (c *current) onAttributeDeclaration21() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onAttributeValue12() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonAttributeDeclaration21() (interface{}, error) { +func (p *parser) callonAttributeValue12() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeDeclaration21() + return p.cur.onAttributeValue12() } -func (c *current) onAttributeDeclaration1(name, value interface{}) (interface{}, error) { - return types.NewAttributeDeclaration(name.(string), types.Reduce(value, strings.TrimSpace), string(c.text)) +func (c *current) onAttributeValue1(value interface{}) (interface{}, error) { + return value, nil } -func (p *parser) callonAttributeDeclaration1() (interface{}, error) { +func (p *parser) callonAttributeValue1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeDeclaration1(stack["name"], stack["value"]) + return p.cur.onAttributeValue1(stack["value"]) } -func (c *current) onAttributeDeclarationValue14() (interface{}, error) { - return string(c.text), nil +func (c *current) onSingleQuotedAttributeValue1(content interface{}) (interface{}, error) { + return content, nil } -func (p *parser) callonAttributeDeclarationValue14() (interface{}, error) { +func (p *parser) callonSingleQuotedAttributeValue1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeDeclarationValue14() + return p.cur.onSingleQuotedAttributeValue1(stack["content"]) } -func (c *current) onAttributeDeclarationValue17() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onSingleQuotedAttributeValueContent5() (interface{}, error) { 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) { +func (p *parser) callonSingleQuotedAttributeValueContent5() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeDeclarationValue26() + return p.cur.onSingleQuotedAttributeValueContent5() } -func (c *current) onAttributeDeclarationValue29() (interface{}, error) { +func (c *current) onSingleQuotedAttributeValueContent8() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonAttributeDeclarationValue29() (interface{}, error) { +func (p *parser) callonSingleQuotedAttributeValueContent8() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeDeclarationValue29() + return p.cur.onSingleQuotedAttributeValueContent8() } -func (c *current) onAttributeDeclarationValue33() (bool, error) { +func (c *current) onSingleQuotedAttributeValueContent13() (bool, error) { return c.isSubstitutionEnabled(Attributes), nil } -func (p *parser) callonAttributeDeclarationValue33() (bool, error) { +func (p *parser) callonSingleQuotedAttributeValueContent13() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeDeclarationValue33() + return p.cur.onSingleQuotedAttributeValueContent13() } -func (c *current) onAttributeDeclarationValue40() (interface{}, error) { +func (c *current) onSingleQuotedAttributeValueContent20() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonAttributeDeclarationValue40() (interface{}, error) { +func (p *parser) callonSingleQuotedAttributeValueContent20() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeDeclarationValue40() + return p.cur.onSingleQuotedAttributeValueContent20() } -func (c *current) onAttributeDeclarationValue52() (interface{}, error) { +func (c *current) onSingleQuotedAttributeValueContent32() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonAttributeDeclarationValue52() (interface{}, error) { +func (p *parser) callonSingleQuotedAttributeValueContent32() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeDeclarationValue52() + return p.cur.onSingleQuotedAttributeValueContent32() } -func (c *current) onAttributeDeclarationValue54() (interface{}, error) { +func (c *current) onSingleQuotedAttributeValueContent34() (interface{}, error) { return strconv.Atoi(string(c.text)) } -func (p *parser) callonAttributeDeclarationValue54() (interface{}, error) { +func (p *parser) callonSingleQuotedAttributeValueContent34() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeDeclarationValue54() + return p.cur.onSingleQuotedAttributeValueContent34() } -func (c *current) onAttributeDeclarationValue47(start interface{}) (interface{}, error) { +func (c *current) onSingleQuotedAttributeValueContent27(start interface{}) (interface{}, error) { return start, nil } -func (p *parser) callonAttributeDeclarationValue47() (interface{}, error) { +func (p *parser) callonSingleQuotedAttributeValueContent27() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeDeclarationValue47(stack["start"]) + return p.cur.onSingleQuotedAttributeValueContent27(stack["start"]) } -func (c *current) onAttributeDeclarationValue36(name, start interface{}) (interface{}, error) { +func (c *current) onSingleQuotedAttributeValueContent16(name, start interface{}) (interface{}, error) { return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) } -func (p *parser) callonAttributeDeclarationValue36() (interface{}, error) { +func (p *parser) callonSingleQuotedAttributeValueContent16() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeDeclarationValue36(stack["name"], stack["start"]) + return p.cur.onSingleQuotedAttributeValueContent16(stack["name"], stack["start"]) } -func (c *current) onAttributeDeclarationValue62() (interface{}, error) { +func (c *current) onSingleQuotedAttributeValueContent42() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonAttributeDeclarationValue62() (interface{}, error) { +func (p *parser) callonSingleQuotedAttributeValueContent42() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeDeclarationValue62() + return p.cur.onSingleQuotedAttributeValueContent42() } -func (c *current) onAttributeDeclarationValue74() (interface{}, error) { +func (c *current) onSingleQuotedAttributeValueContent54() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonAttributeDeclarationValue74() (interface{}, error) { +func (p *parser) callonSingleQuotedAttributeValueContent54() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeDeclarationValue74() + return p.cur.onSingleQuotedAttributeValueContent54() } -func (c *current) onAttributeDeclarationValue76() (interface{}, error) { +func (c *current) onSingleQuotedAttributeValueContent56() (interface{}, error) { return strconv.Atoi(string(c.text)) } -func (p *parser) callonAttributeDeclarationValue76() (interface{}, error) { +func (p *parser) callonSingleQuotedAttributeValueContent56() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeDeclarationValue76() + return p.cur.onSingleQuotedAttributeValueContent56() } -func (c *current) onAttributeDeclarationValue69(start interface{}) (interface{}, error) { +func (c *current) onSingleQuotedAttributeValueContent49(start interface{}) (interface{}, error) { return start, nil } -func (p *parser) callonAttributeDeclarationValue69() (interface{}, error) { +func (p *parser) callonSingleQuotedAttributeValueContent49() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeDeclarationValue69(stack["start"]) + return p.cur.onSingleQuotedAttributeValueContent49(stack["start"]) } -func (c *current) onAttributeDeclarationValue58(name, start interface{}) (interface{}, error) { +func (c *current) onSingleQuotedAttributeValueContent38(name, start interface{}) (interface{}, error) { return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) } -func (p *parser) callonAttributeDeclarationValue58() (interface{}, error) { +func (p *parser) callonSingleQuotedAttributeValueContent38() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeDeclarationValue58(stack["name"], stack["start"]) + return p.cur.onSingleQuotedAttributeValueContent38(stack["name"], stack["start"]) } -func (c *current) onAttributeDeclarationValue84() (interface{}, error) { +func (c *current) onSingleQuotedAttributeValueContent64() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonAttributeDeclarationValue84() (interface{}, error) { +func (p *parser) callonSingleQuotedAttributeValueContent64() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeDeclarationValue84() + return p.cur.onSingleQuotedAttributeValueContent64() } -func (c *current) onAttributeDeclarationValue80(name interface{}) (interface{}, error) { +func (c *current) onSingleQuotedAttributeValueContent60(name interface{}) (interface{}, error) { - return types.NewAttributeSubstitution(name.(string), string(c.text)) + log.Debug("matching escaped attribute reference") + // return types.NewStringElement("{"+name.(string)+"}") + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) } -func (p *parser) callonAttributeDeclarationValue80() (interface{}, error) { +func (p *parser) callonSingleQuotedAttributeValueContent60() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeDeclarationValue80(stack["name"]) + return p.cur.onSingleQuotedAttributeValueContent60(stack["name"]) } -func (c *current) onAttributeDeclarationValue31(element interface{}) (interface{}, error) { - return element, nil - +func (c *current) onSingleQuotedAttributeValueContent74() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonAttributeDeclarationValue31() (interface{}, error) { +func (p *parser) callonSingleQuotedAttributeValueContent74() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeDeclarationValue31(stack["element"]) + return p.cur.onSingleQuotedAttributeValueContent74() } -func (c *current) onAttributeDeclarationValue90() (interface{}, error) { - // standalone '{' - return types.NewStringElement(string(c.text)) +func (c *current) onSingleQuotedAttributeValueContent70(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonAttributeDeclarationValue90() (interface{}, error) { +func (p *parser) callonSingleQuotedAttributeValueContent70() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeDeclarationValue90() + return p.cur.onSingleQuotedAttributeValueContent70(stack["name"]) } -func (c *current) onAttributeDeclarationValue7(element interface{}) (interface{}, error) { - +func (c *current) onSingleQuotedAttributeValueContent11(element interface{}) (interface{}, error) { return element, nil } -func (p *parser) callonAttributeDeclarationValue7() (interface{}, error) { +func (p *parser) callonSingleQuotedAttributeValueContent11() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeDeclarationValue7(stack["element"]) + return p.cur.onSingleQuotedAttributeValueContent11(stack["element"]) } -func (c *current) onAttributeDeclarationValue4(elements interface{}) (interface{}, error) { - return elements.([]interface{}), nil +func (c *current) onSingleQuotedAttributeValueContent80() (interface{}, error) { + + return types.NewStringElement(`'`) // escaped single quote } -func (p *parser) callonAttributeDeclarationValue4() (interface{}, error) { +func (p *parser) callonSingleQuotedAttributeValueContent80() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeDeclarationValue4(stack["elements"]) + return p.cur.onSingleQuotedAttributeValueContent80() } -func (c *current) onAttributeDeclarationValue97() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onSingleQuotedAttributeValueContent84() (interface{}, error) { + // quoted string delimiters or standalone backslash + return types.NewStringElement(string(c.text)) // keep as-is for now + } -func (p *parser) callonAttributeDeclarationValue97() (interface{}, error) { +func (p *parser) callonSingleQuotedAttributeValueContent84() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeDeclarationValue97() + return p.cur.onSingleQuotedAttributeValueContent84() } -func (c *current) onAttributeDeclarationValue103() (interface{}, error) { - return string(c.text), nil +func (c *current) onSingleQuotedAttributeValueContent86() (interface{}, error) { + // = and , signs are allowed within '' quoted values + return types.NewStringElement(string(c.text)) } -func (p *parser) callonAttributeDeclarationValue103() (interface{}, error) { +func (p *parser) callonSingleQuotedAttributeValueContent86() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeDeclarationValue103() + return p.cur.onSingleQuotedAttributeValueContent86() } -func (c *current) onAttributeDeclarationValue94(elements interface{}) (interface{}, error) { - return elements, nil +func (c *current) onSingleQuotedAttributeValueContent1(elements interface{}) (interface{}, error) { + return types.Reduce(elements), nil } -func (p *parser) callonAttributeDeclarationValue94() (interface{}, error) { +func (p *parser) callonSingleQuotedAttributeValueContent1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeDeclarationValue94(stack["elements"]) + return p.cur.onSingleQuotedAttributeValueContent1(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 (c *current) onDoubleQuotedAttributeValue13() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonAttributeDeclarationValue1() (interface{}, error) { +func (p *parser) callonDoubleQuotedAttributeValue13() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeDeclarationValue1(stack["elements"], stack["otherElements"]) + return p.cur.onDoubleQuotedAttributeValue13() } -func (c *current) onBlockAttributes16() (interface{}, error) { - // spaces, commas and dots are allowed in this syntax - return types.NewStringElement(string(c.text)) +func (c *current) onDoubleQuotedAttributeValue1(content interface{}) (interface{}, error) { + return content, nil } -func (p *parser) callonBlockAttributes16() (interface{}, error) { +func (p *parser) callonDoubleQuotedAttributeValue1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes16() + return p.cur.onDoubleQuotedAttributeValue1(stack["content"]) } -func (c *current) onBlockAttributes23() (interface{}, error) { +func (c *current) onDoubleQuotedAttributeValueContent5() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonBlockAttributes23() (interface{}, error) { +func (p *parser) callonDoubleQuotedAttributeValueContent5() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes23() + return p.cur.onDoubleQuotedAttributeValueContent5() } -func (c *current) onBlockAttributes19(ref interface{}) (interface{}, error) { - return types.NewElementPlaceHolder(ref.(string)) +func (c *current) onDoubleQuotedAttributeValueContent8() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonBlockAttributes19() (interface{}, error) { +func (p *parser) callonDoubleQuotedAttributeValueContent8() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes19(stack["ref"]) + return p.cur.onDoubleQuotedAttributeValueContent8() } -func (c *current) onBlockAttributes29() (bool, error) { +func (c *current) onDoubleQuotedAttributeValueContent13() (bool, error) { return c.isSubstitutionEnabled(Attributes), nil } -func (p *parser) callonBlockAttributes29() (bool, error) { +func (p *parser) callonDoubleQuotedAttributeValueContent13() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes29() + return p.cur.onDoubleQuotedAttributeValueContent13() } -func (c *current) onBlockAttributes36() (interface{}, error) { +func (c *current) onDoubleQuotedAttributeValueContent20() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonBlockAttributes36() (interface{}, error) { +func (p *parser) callonDoubleQuotedAttributeValueContent20() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes36() + return p.cur.onDoubleQuotedAttributeValueContent20() } -func (c *current) onBlockAttributes48() (interface{}, error) { +func (c *current) onDoubleQuotedAttributeValueContent32() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonBlockAttributes48() (interface{}, error) { +func (p *parser) callonDoubleQuotedAttributeValueContent32() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes48() + return p.cur.onDoubleQuotedAttributeValueContent32() } -func (c *current) onBlockAttributes50() (interface{}, error) { +func (c *current) onDoubleQuotedAttributeValueContent34() (interface{}, error) { return strconv.Atoi(string(c.text)) } -func (p *parser) callonBlockAttributes50() (interface{}, error) { +func (p *parser) callonDoubleQuotedAttributeValueContent34() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes50() + return p.cur.onDoubleQuotedAttributeValueContent34() } -func (c *current) onBlockAttributes43(start interface{}) (interface{}, error) { +func (c *current) onDoubleQuotedAttributeValueContent27(start interface{}) (interface{}, error) { return start, nil } -func (p *parser) callonBlockAttributes43() (interface{}, error) { +func (p *parser) callonDoubleQuotedAttributeValueContent27() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes43(stack["start"]) + return p.cur.onDoubleQuotedAttributeValueContent27(stack["start"]) } -func (c *current) onBlockAttributes32(name, start interface{}) (interface{}, error) { +func (c *current) onDoubleQuotedAttributeValueContent16(name, start interface{}) (interface{}, error) { return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) } -func (p *parser) callonBlockAttributes32() (interface{}, error) { +func (p *parser) callonDoubleQuotedAttributeValueContent16() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes32(stack["name"], stack["start"]) + return p.cur.onDoubleQuotedAttributeValueContent16(stack["name"], stack["start"]) } -func (c *current) onBlockAttributes58() (interface{}, error) { +func (c *current) onDoubleQuotedAttributeValueContent42() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonBlockAttributes58() (interface{}, error) { +func (p *parser) callonDoubleQuotedAttributeValueContent42() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes58() + return p.cur.onDoubleQuotedAttributeValueContent42() } -func (c *current) onBlockAttributes70() (interface{}, error) { +func (c *current) onDoubleQuotedAttributeValueContent54() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonBlockAttributes70() (interface{}, error) { +func (p *parser) callonDoubleQuotedAttributeValueContent54() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes70() + return p.cur.onDoubleQuotedAttributeValueContent54() } -func (c *current) onBlockAttributes72() (interface{}, error) { +func (c *current) onDoubleQuotedAttributeValueContent56() (interface{}, error) { return strconv.Atoi(string(c.text)) } -func (p *parser) callonBlockAttributes72() (interface{}, error) { +func (p *parser) callonDoubleQuotedAttributeValueContent56() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes72() + return p.cur.onDoubleQuotedAttributeValueContent56() } -func (c *current) onBlockAttributes65(start interface{}) (interface{}, error) { +func (c *current) onDoubleQuotedAttributeValueContent49(start interface{}) (interface{}, error) { return start, nil } -func (p *parser) callonBlockAttributes65() (interface{}, error) { +func (p *parser) callonDoubleQuotedAttributeValueContent49() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes65(stack["start"]) + return p.cur.onDoubleQuotedAttributeValueContent49(stack["start"]) } -func (c *current) onBlockAttributes54(name, start interface{}) (interface{}, error) { +func (c *current) onDoubleQuotedAttributeValueContent38(name, start interface{}) (interface{}, error) { return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) } -func (p *parser) callonBlockAttributes54() (interface{}, error) { +func (p *parser) callonDoubleQuotedAttributeValueContent38() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes54(stack["name"], stack["start"]) + return p.cur.onDoubleQuotedAttributeValueContent38(stack["name"], stack["start"]) } -func (c *current) onBlockAttributes80() (interface{}, error) { +func (c *current) onDoubleQuotedAttributeValueContent64() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonBlockAttributes80() (interface{}, error) { +func (p *parser) callonDoubleQuotedAttributeValueContent64() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes80() + return p.cur.onDoubleQuotedAttributeValueContent64() } -func (c *current) onBlockAttributes76(name interface{}) (interface{}, error) { +func (c *current) onDoubleQuotedAttributeValueContent60(name interface{}) (interface{}, error) { - return types.NewAttributeSubstitution(name.(string), string(c.text)) + log.Debug("matching escaped attribute reference") + // return types.NewStringElement("{"+name.(string)+"}") + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) } -func (p *parser) callonBlockAttributes76() (interface{}, error) { +func (p *parser) callonDoubleQuotedAttributeValueContent60() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes76(stack["name"]) + return p.cur.onDoubleQuotedAttributeValueContent60(stack["name"]) } -func (c *current) onBlockAttributes27(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onDoubleQuotedAttributeValueContent74() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonBlockAttributes27() (interface{}, error) { +func (p *parser) callonDoubleQuotedAttributeValueContent74() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes27(stack["element"]) + return p.cur.onDoubleQuotedAttributeValueContent74() } -func (c *current) onBlockAttributes86() (interface{}, error) { +func (c *current) onDoubleQuotedAttributeValueContent70(name interface{}) (interface{}, error) { - return types.NewStringElement(string(c.text)) + return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonBlockAttributes86() (interface{}, error) { +func (p *parser) callonDoubleQuotedAttributeValueContent70() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes86() + return p.cur.onDoubleQuotedAttributeValueContent70(stack["name"]) } -func (c *current) onBlockAttributes12(elements interface{}) (interface{}, error) { - return types.Reduce(elements, strings.TrimSpace), nil +func (c *current) onDoubleQuotedAttributeValueContent11(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonBlockAttributes12() (interface{}, error) { +func (p *parser) callonDoubleQuotedAttributeValueContent11() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes12(stack["elements"]) + return p.cur.onDoubleQuotedAttributeValueContent11(stack["element"]) } -func (c *current) onBlockAttributes8(id interface{}) (interface{}, error) { - return types.NewIDAttribute(id) +func (c *current) onDoubleQuotedAttributeValueContent80() (interface{}, error) { + + return types.NewStringElement(`"`) // escaped double quote } -func (p *parser) callonBlockAttributes8() (interface{}, error) { +func (p *parser) callonDoubleQuotedAttributeValueContent80() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes8(stack["id"]) + return p.cur.onDoubleQuotedAttributeValueContent80() } -func (c *current) onBlockAttributes90() (interface{}, error) { - return string(c.text), nil +func (c *current) onDoubleQuotedAttributeValueContent85() (interface{}, error) { + // quoted string delimiters or standalone backslash or standalone backtick + return types.NewStringElement(string(c.text)) // keep as-is for now } -func (p *parser) callonBlockAttributes90() (interface{}, error) { +func (p *parser) callonDoubleQuotedAttributeValueContent85() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes90() + return p.cur.onDoubleQuotedAttributeValueContent85() } -func (c *current) onBlockAttributes93() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onDoubleQuotedAttributeValueContent87() (interface{}, error) { + // = and , signs are allowed within " quoted values + return types.NewStringElement(string(c.text)) + } -func (p *parser) callonBlockAttributes93() (interface{}, error) { +func (p *parser) callonDoubleQuotedAttributeValueContent87() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes93() + return p.cur.onDoubleQuotedAttributeValueContent87() } -func (c *current) onBlockAttributes107() (interface{}, error) { - return string(c.text), nil +func (c *current) onDoubleQuotedAttributeValueContent1(elements interface{}) (interface{}, error) { + return types.Reduce(elements), nil } -func (p *parser) callonBlockAttributes107() (interface{}, error) { +func (p *parser) callonDoubleQuotedAttributeValueContent1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes107() + return p.cur.onDoubleQuotedAttributeValueContent1(stack["elements"]) } -func (c *current) onBlockAttributes110() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onUnquotedAttributeValue4() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonBlockAttributes110() (interface{}, error) { +func (p *parser) callonUnquotedAttributeValue4() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes110() + return p.cur.onUnquotedAttributeValue4() } -func (c *current) onBlockAttributes101() (interface{}, error) { - return types.NewBlankLine() +func (c *current) onUnquotedAttributeValue14() (interface{}, error) { + // not within brackets and stop on space and `{` + return string(c.text), nil } -func (p *parser) callonBlockAttributes101() (interface{}, error) { +func (p *parser) callonUnquotedAttributeValue14() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes101() + return p.cur.onUnquotedAttributeValue14() } -func (c *current) onBlockAttributes5(anchor interface{}) (interface{}, error) { - return anchor, nil +func (c *current) onUnquotedAttributeValue17() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonBlockAttributes5() (interface{}, error) { +func (p *parser) callonUnquotedAttributeValue17() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes5(stack["anchor"]) + return p.cur.onUnquotedAttributeValue17() } -func (c *current) onBlockAttributes131() (interface{}, error) { - return string(c.text), nil +func (c *current) onUnquotedAttributeValue21() (bool, error) { + return c.isSubstitutionEnabled(Attributes), nil } -func (p *parser) callonBlockAttributes131() (interface{}, error) { +func (p *parser) callonUnquotedAttributeValue21() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes131() + return p.cur.onUnquotedAttributeValue21() } -func (c *current) onBlockAttributes138() (interface{}, error) { +func (c *current) onUnquotedAttributeValue28() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonBlockAttributes138() (interface{}, error) { +func (p *parser) callonUnquotedAttributeValue28() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes138() + return p.cur.onUnquotedAttributeValue28() } -func (c *current) onBlockAttributes134(name interface{}) (interface{}, error) { - - return types.NewAttributeSubstitution(name.(string), string(c.text)) +func (c *current) onUnquotedAttributeValue40() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonBlockAttributes134() (interface{}, error) { +func (p *parser) callonUnquotedAttributeValue40() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes134(stack["name"]) + return p.cur.onUnquotedAttributeValue40() } -func (c *current) onBlockAttributes144() (interface{}, error) { +func (c *current) onUnquotedAttributeValue42() (interface{}, error) { - return string(c.text), nil + return strconv.Atoi(string(c.text)) } -func (p *parser) callonBlockAttributes144() (interface{}, error) { +func (p *parser) callonUnquotedAttributeValue42() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes144() + return p.cur.onUnquotedAttributeValue42() } -func (c *current) onBlockAttributes124(elements interface{}) (interface{}, error) { - return types.Reduce(elements, strings.TrimSpace), nil +func (c *current) onUnquotedAttributeValue35(start interface{}) (interface{}, error) { + return start, nil } -func (p *parser) callonBlockAttributes124() (interface{}, error) { +func (p *parser) callonUnquotedAttributeValue35() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes124(stack["elements"]) + return p.cur.onUnquotedAttributeValue35(stack["start"]) } -func (c *current) onBlockAttributes120(title interface{}) (interface{}, error) { - return types.NewTitleAttribute(title) - +func (c *current) onUnquotedAttributeValue24(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) } -func (p *parser) callonBlockAttributes120() (interface{}, error) { +func (p *parser) callonUnquotedAttributeValue24() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes120(stack["title"]) + return p.cur.onUnquotedAttributeValue24(stack["name"], stack["start"]) } -func (c *current) onBlockAttributes147() (interface{}, error) { +func (c *current) onUnquotedAttributeValue50() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonBlockAttributes147() (interface{}, error) { +func (p *parser) callonUnquotedAttributeValue50() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes147() + return p.cur.onUnquotedAttributeValue50() } -func (c *current) onBlockAttributes150() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onUnquotedAttributeValue62() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonBlockAttributes150() (interface{}, error) { +func (p *parser) callonUnquotedAttributeValue62() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes150() + return p.cur.onUnquotedAttributeValue62() } -func (c *current) onBlockAttributes164() (interface{}, error) { - return string(c.text), nil +func (c *current) onUnquotedAttributeValue64() (interface{}, error) { + + return strconv.Atoi(string(c.text)) } -func (p *parser) callonBlockAttributes164() (interface{}, error) { +func (p *parser) callonUnquotedAttributeValue64() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes164() + return p.cur.onUnquotedAttributeValue64() } -func (c *current) onBlockAttributes167() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onUnquotedAttributeValue57(start interface{}) (interface{}, error) { + return start, nil + } -func (p *parser) callonBlockAttributes167() (interface{}, error) { +func (p *parser) callonUnquotedAttributeValue57() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes167() + return p.cur.onUnquotedAttributeValue57(stack["start"]) } -func (c *current) onBlockAttributes158() (interface{}, error) { - return types.NewBlankLine() - +func (c *current) onUnquotedAttributeValue46(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) } -func (p *parser) callonBlockAttributes158() (interface{}, error) { +func (p *parser) callonUnquotedAttributeValue46() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes158() + return p.cur.onUnquotedAttributeValue46(stack["name"], stack["start"]) } -func (c *current) onBlockAttributes117(title interface{}) (interface{}, error) { - return title, nil +func (c *current) onUnquotedAttributeValue72() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonBlockAttributes117() (interface{}, error) { +func (p *parser) callonUnquotedAttributeValue72() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes117(stack["title"]) + return p.cur.onUnquotedAttributeValue72() } -func (c *current) onBlockAttributes179() (interface{}, error) { - return string(c.text), nil +func (c *current) onUnquotedAttributeValue68(name interface{}) (interface{}, error) { + + log.Debug("matching escaped attribute reference") + // return types.NewStringElement("{"+name.(string)+"}") + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) } -func (p *parser) callonBlockAttributes179() (interface{}, error) { +func (p *parser) callonUnquotedAttributeValue68() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes179() + return p.cur.onUnquotedAttributeValue68(stack["name"]) } -func (c *current) onBlockAttributes182() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onUnquotedAttributeValue82() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonBlockAttributes182() (interface{}, error) { +func (p *parser) callonUnquotedAttributeValue82() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes182() + return p.cur.onUnquotedAttributeValue82() } -func (c *current) onBlockAttributes196() (interface{}, error) { - return string(c.text), nil +func (c *current) onUnquotedAttributeValue78(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonBlockAttributes196() (interface{}, error) { +func (p *parser) callonUnquotedAttributeValue78() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes196() + return p.cur.onUnquotedAttributeValue78(stack["name"]) } -func (c *current) onBlockAttributes199() (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) callonBlockAttributes199() (interface{}, error) { +func (p *parser) callonUnquotedAttributeValue19() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes199() + return p.cur.onUnquotedAttributeValue19(stack["element"]) } -func (c *current) onBlockAttributes190() (interface{}, error) { - return types.NewBlankLine() +func (c *current) onUnquotedAttributeValue1(elements interface{}) (interface{}, error) { + return types.Reduce(elements, strings.TrimSpace), nil } -func (p *parser) callonBlockAttributes190() (interface{}, error) { +func (p *parser) callonUnquotedAttributeValue1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes190() + return p.cur.onUnquotedAttributeValue1(stack["elements"]) } -func (c *current) onBlockAttributes174(attributes interface{}) (interface{}, error) { - return attributes, nil +func (c *current) onCrossReference6() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ + return string(c.text), nil } -func (p *parser) callonBlockAttributes174() (interface{}, error) { +func (p *parser) callonCrossReference6() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes174(stack["attributes"]) + return p.cur.onCrossReference6() } -func (c *current) onBlockAttributes1(attributes interface{}) (interface{}, error) { - // c.unsetCurrentSubstitution() - return types.MergeAttributes(attributes.([]interface{})...) +func (c *current) onCrossReference10() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonBlockAttributes1() (interface{}, error) { +func (p *parser) callonCrossReference10() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes1(stack["attributes"]) + return p.cur.onCrossReference10() } -func (c *current) onInlineAttributes6(attribute interface{}) (interface{}, error) { - return attribute, nil +func (c *current) onCrossReference16() (interface{}, error) { + // `{`, `>` and `>` characters are not allowed as they are used for attribute substitutions and cross-references + return types.NewStringElement(string(c.text)) } -func (p *parser) callonInlineAttributes6() (interface{}, error) { +func (p *parser) callonCrossReference16() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineAttributes6(stack["attribute"]) + return p.cur.onCrossReference16() } -func (c *current) onInlineAttributes1(attributes interface{}) (interface{}, error) { - return types.NewAttributes(attributes.([]interface{})...) +func (c *current) onCrossReference25() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonInlineAttributes1() (interface{}, error) { +func (p *parser) callonCrossReference25() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineAttributes1(stack["attributes"]) + return p.cur.onCrossReference25() } -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) onCrossReference21(name interface{}) (interface{}, error) { + + log.Debug("matching escaped attribute reference") + // return types.NewStringElement("{"+name.(string)+"}") + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) } -func (p *parser) callonLongHandAttributes1() (interface{}, error) { +func (p *parser) callonCrossReference21() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes1(stack["firstPositionalAttributes"], stack["otherAttributes"]) + return p.cur.onCrossReference21(stack["name"]) } -func (c *current) onFirstPositionalAttributes8(extra interface{}) (interface{}, error) { - return extra, nil +func (c *current) onCrossReference35() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonFirstPositionalAttributes8() (interface{}, error) { +func (p *parser) callonCrossReference35() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFirstPositionalAttributes8(stack["extra"]) + return p.cur.onCrossReference35() } -func (c *current) onFirstPositionalAttributes23() (interface{}, error) { - return string(c.text), nil +func (c *current) onCrossReference31(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonFirstPositionalAttributes23() (interface{}, error) { +func (p *parser) callonCrossReference31() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFirstPositionalAttributes23() + return p.cur.onCrossReference31(stack["name"]) } -func (c *current) onFirstPositionalAttributes25(main, extras interface{}) (bool, error) { - // make sure there was a match - return main != nil || len(extras.([]interface{})) > 0, nil +func (c *current) onCrossReference41() (interface{}, error) { + + return types.NewStringElement(string(c.text)) } -func (p *parser) callonFirstPositionalAttributes25() (bool, error) { +func (p *parser) callonCrossReference41() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFirstPositionalAttributes25(stack["main"], stack["extras"]) + return p.cur.onCrossReference41() } -func (c *current) onFirstPositionalAttributes1(main, extras interface{}) (interface{}, error) { - attrs := []interface{}{} - if main != nil { - attrs = append(attrs, main) - } - if len(extras.([]interface{})) > 0 { - attrs = append(attrs, extras.([]interface{})...) - } - return attrs, nil +func (c *current) onCrossReference2(id, label interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, label) } -func (p *parser) callonFirstPositionalAttributes1() (interface{}, error) { +func (p *parser) callonCrossReference2() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFirstPositionalAttributes1(stack["main"], stack["extras"]) + return p.cur.onCrossReference2(stack["id"], stack["label"]) } -func (c *current) onShortHandIDAttribute1(id interface{}) (interface{}, error) { - return types.NewIDAttribute(id) +func (c *current) onCrossReference48() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ + return string(c.text), nil } -func (p *parser) callonShortHandIDAttribute1() (interface{}, error) { +func (p *parser) callonCrossReference48() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortHandIDAttribute1(stack["id"]) + return p.cur.onCrossReference48() } -func (c *current) onShortHandAttribute1(value interface{}) (interface{}, error) { - return types.NewPositionalAttribute(value) +func (c *current) onCrossReference44(id interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, nil) } -func (p *parser) callonShortHandAttribute1() (interface{}, error) { +func (p *parser) callonCrossReference44() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortHandAttribute1(stack["value"]) + return p.cur.onCrossReference44(stack["id"]) } -func (c *current) onShortHandDotRoleAttribute1(role interface{}) (interface{}, error) { - return types.NewRoleAttribute(role) +func (c *current) onExternalCrossReference16() (interface{}, error) { + // not supported for now: EOL, space, "{", "[", "]". Also, punctuation chars and `<` and `>` special chars are treated separately below (but `&` is allowed) + return types.NewStringElement(string(c.text)) } -func (p *parser) callonShortHandDotRoleAttribute1() (interface{}, error) { +func (p *parser) callonExternalCrossReference16() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortHandDotRoleAttribute1(stack["role"]) + return p.cur.onExternalCrossReference16() } -func (c *current) onShortHandOptionAttribute1(option interface{}) (interface{}, error) { - return types.NewOptionAttribute(option) - +func (c *current) onExternalCrossReference20() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonShortHandOptionAttribute1() (interface{}, error) { +func (p *parser) callonExternalCrossReference20() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortHandOptionAttribute1(stack["option"]) + return p.cur.onExternalCrossReference20() } -func (c *current) onShortHandAttributeValue9() (interface{}, error) { - return types.NewStringElement(string(c.text)) +func (c *current) onExternalCrossReference27() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonShortHandAttributeValue9() (interface{}, error) { +func (p *parser) callonExternalCrossReference27() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortHandAttributeValue9() + return p.cur.onExternalCrossReference27() } -func (c *current) onShortHandAttributeValue14() (bool, error) { +func (c *current) onExternalCrossReference31() (bool, error) { return c.isSubstitutionEnabled(Attributes), nil } -func (p *parser) callonShortHandAttributeValue14() (bool, error) { +func (p *parser) callonExternalCrossReference31() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortHandAttributeValue14() + return p.cur.onExternalCrossReference31() } -func (c *current) onShortHandAttributeValue21() (interface{}, error) { +func (c *current) onExternalCrossReference38() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonShortHandAttributeValue21() (interface{}, error) { +func (p *parser) callonExternalCrossReference38() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortHandAttributeValue21() + return p.cur.onExternalCrossReference38() } -func (c *current) onShortHandAttributeValue33() (interface{}, error) { +func (c *current) onExternalCrossReference50() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonShortHandAttributeValue33() (interface{}, error) { +func (p *parser) callonExternalCrossReference50() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortHandAttributeValue33() + return p.cur.onExternalCrossReference50() } -func (c *current) onShortHandAttributeValue35() (interface{}, error) { +func (c *current) onExternalCrossReference52() (interface{}, error) { return strconv.Atoi(string(c.text)) } -func (p *parser) callonShortHandAttributeValue35() (interface{}, error) { +func (p *parser) callonExternalCrossReference52() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortHandAttributeValue35() + return p.cur.onExternalCrossReference52() } -func (c *current) onShortHandAttributeValue28(start interface{}) (interface{}, error) { +func (c *current) onExternalCrossReference45(start interface{}) (interface{}, error) { return start, nil } -func (p *parser) callonShortHandAttributeValue28() (interface{}, error) { +func (p *parser) callonExternalCrossReference45() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortHandAttributeValue28(stack["start"]) + return p.cur.onExternalCrossReference45(stack["start"]) } -func (c *current) onShortHandAttributeValue17(name, start interface{}) (interface{}, error) { +func (c *current) onExternalCrossReference34(name, start interface{}) (interface{}, error) { return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) } -func (p *parser) callonShortHandAttributeValue17() (interface{}, error) { +func (p *parser) callonExternalCrossReference34() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortHandAttributeValue17(stack["name"], stack["start"]) + return p.cur.onExternalCrossReference34(stack["name"], stack["start"]) } -func (c *current) onShortHandAttributeValue43() (interface{}, error) { +func (c *current) onExternalCrossReference60() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonShortHandAttributeValue43() (interface{}, error) { +func (p *parser) callonExternalCrossReference60() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortHandAttributeValue43() + return p.cur.onExternalCrossReference60() } -func (c *current) onShortHandAttributeValue55() (interface{}, error) { +func (c *current) onExternalCrossReference72() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonShortHandAttributeValue55() (interface{}, error) { +func (p *parser) callonExternalCrossReference72() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortHandAttributeValue55() + return p.cur.onExternalCrossReference72() } -func (c *current) onShortHandAttributeValue57() (interface{}, error) { +func (c *current) onExternalCrossReference74() (interface{}, error) { return strconv.Atoi(string(c.text)) } -func (p *parser) callonShortHandAttributeValue57() (interface{}, error) { +func (p *parser) callonExternalCrossReference74() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortHandAttributeValue57() + return p.cur.onExternalCrossReference74() } -func (c *current) onShortHandAttributeValue50(start interface{}) (interface{}, error) { +func (c *current) onExternalCrossReference67(start interface{}) (interface{}, error) { return start, nil } -func (p *parser) callonShortHandAttributeValue50() (interface{}, error) { +func (p *parser) callonExternalCrossReference67() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortHandAttributeValue50(stack["start"]) + return p.cur.onExternalCrossReference67(stack["start"]) +} + +func (c *current) onExternalCrossReference56(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) +} + +func (p *parser) callonExternalCrossReference56() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExternalCrossReference56(stack["name"], stack["start"]) +} + +func (c *current) onExternalCrossReference82() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonExternalCrossReference82() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExternalCrossReference82() } -func (c *current) onShortHandAttributeValue39(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) +func (c *current) onExternalCrossReference78(name interface{}) (interface{}, error) { + + log.Debug("matching escaped attribute reference") + // return types.NewStringElement("{"+name.(string)+"}") + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) + } -func (p *parser) callonShortHandAttributeValue39() (interface{}, error) { +func (p *parser) callonExternalCrossReference78() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortHandAttributeValue39(stack["name"], stack["start"]) + return p.cur.onExternalCrossReference78(stack["name"]) } -func (c *current) onShortHandAttributeValue65() (interface{}, error) { +func (c *current) onExternalCrossReference92() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonShortHandAttributeValue65() (interface{}, error) { +func (p *parser) callonExternalCrossReference92() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortHandAttributeValue65() + return p.cur.onExternalCrossReference92() } -func (c *current) onShortHandAttributeValue61(name interface{}) (interface{}, error) { +func (c *current) onExternalCrossReference88(name interface{}) (interface{}, error) { return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonShortHandAttributeValue61() (interface{}, error) { +func (p *parser) callonExternalCrossReference88() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortHandAttributeValue61(stack["name"]) + return p.cur.onExternalCrossReference88(stack["name"]) } -func (c *current) onShortHandAttributeValue12(element interface{}) (interface{}, error) { +func (c *current) onExternalCrossReference29(element interface{}) (interface{}, error) { return element, nil } -func (p *parser) callonShortHandAttributeValue12() (interface{}, error) { +func (p *parser) callonExternalCrossReference29() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortHandAttributeValue12(stack["element"]) + return p.cur.onExternalCrossReference29(stack["element"]) } -func (c *current) onShortHandAttributeValue71() (interface{}, error) { - - return types.NewStringElement(string(c.text)) +func (c *current) onExternalCrossReference100() (bool, error) { + return c.isSubstitutionEnabled(SpecialCharacters), nil } -func (p *parser) callonShortHandAttributeValue71() (interface{}, error) { +func (p *parser) callonExternalCrossReference100() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortHandAttributeValue71() + return p.cur.onExternalCrossReference100() } -func (c *current) onShortHandAttributeValue77() (interface{}, error) { +func (c *current) onExternalCrossReference109() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ return string(c.text), nil } -func (p *parser) callonShortHandAttributeValue77() (interface{}, error) { +func (p *parser) callonExternalCrossReference109() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortHandAttributeValue77() + return p.cur.onExternalCrossReference109() } -func (c *current) onShortHandAttributeValue4(elements interface{}) (interface{}, error) { - return types.Reduce(elements, strings.TrimSpace), nil +func (c *current) onExternalCrossReference113() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonShortHandAttributeValue4() (interface{}, error) { +func (p *parser) callonExternalCrossReference113() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortHandAttributeValue4(stack["elements"]) + return p.cur.onExternalCrossReference113() } -func (c *current) onPositionalAttribute11() (interface{}, error) { - return string(c.text), nil +func (c *current) onExternalCrossReference119() (interface{}, error) { + // `{`, `>` and `>` characters are not allowed as they are used for attribute substitutions and cross-references + return types.NewStringElement(string(c.text)) } -func (p *parser) callonPositionalAttribute11() (interface{}, error) { +func (p *parser) callonExternalCrossReference119() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onPositionalAttribute11() + return p.cur.onExternalCrossReference119() } -func (c *current) onPositionalAttribute2(value interface{}) (interface{}, error) { - // TODO: see if we can just use `((",")? / &"]")` instead (ie, no need to check for Space*) - return types.NewPositionalAttribute(value) +func (c *current) onExternalCrossReference128() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonPositionalAttribute2() (interface{}, error) { +func (p *parser) callonExternalCrossReference128() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onPositionalAttribute2(stack["value"]) + return p.cur.onExternalCrossReference128() } -func (c *current) onPositionalAttribute20() (interface{}, error) { - return string(c.text), nil +func (c *current) onExternalCrossReference124(name interface{}) (interface{}, error) { + + log.Debug("matching escaped attribute reference") + // return types.NewStringElement("{"+name.(string)+"}") + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) } -func (p *parser) callonPositionalAttribute20() (interface{}, error) { +func (p *parser) callonExternalCrossReference124() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onPositionalAttribute20() + return p.cur.onExternalCrossReference124(stack["name"]) } -func (c *current) onPositionalAttribute26() (interface{}, error) { +func (c *current) onExternalCrossReference138() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonPositionalAttribute26() (interface{}, error) { +func (p *parser) callonExternalCrossReference138() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onPositionalAttribute26() + return p.cur.onExternalCrossReference138() } -func (c *current) onPositionalAttribute30(value interface{}) (bool, error) { - // here we can't rely on `c.text` if the content is empty - // (in such a case, `c.text` contains the char sequence of the previous - // rule that matched) - return !types.AllNilEntries(value.([]interface{})), nil +func (c *current) onExternalCrossReference134(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonPositionalAttribute30() (bool, error) { +func (p *parser) callonExternalCrossReference134() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onPositionalAttribute30(stack["value"]) + return p.cur.onExternalCrossReference134(stack["name"]) } -func (c *current) onPositionalAttribute15(value interface{}) (interface{}, error) { +func (c *current) onExternalCrossReference144() (interface{}, error) { - return types.NewPositionalAttribute(nil) + return types.NewStringElement(string(c.text)) } -func (p *parser) callonPositionalAttribute15() (interface{}, error) { +func (p *parser) callonExternalCrossReference144() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onPositionalAttribute15(stack["value"]) + return p.cur.onExternalCrossReference144() } -func (c *current) onNamedAttribute7() (interface{}, error) { - return string(c.text), nil +func (c *current) onExternalCrossReference105(id, label interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, label) } -func (p *parser) callonNamedAttribute7() (interface{}, error) { +func (p *parser) callonExternalCrossReference105() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNamedAttribute7() + return p.cur.onExternalCrossReference105(stack["id"], stack["label"]) } -func (c *current) onNamedAttribute12() (interface{}, error) { +func (c *current) onExternalCrossReference151() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ return string(c.text), nil } -func (p *parser) callonNamedAttribute12() (interface{}, error) { +func (p *parser) callonExternalCrossReference151() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNamedAttribute12() + return p.cur.onExternalCrossReference151() } -func (c *current) onNamedAttribute4() (interface{}, error) { - return strings.TrimSpace(string(c.text)), nil +func (c *current) onExternalCrossReference147(id interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, nil) } -func (p *parser) callonNamedAttribute4() (interface{}, error) { +func (p *parser) callonExternalCrossReference147() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNamedAttribute4() + return p.cur.onExternalCrossReference147(stack["id"]) } -func (c *current) onNamedAttribute16() (interface{}, error) { - return string(c.text), nil +func (c *current) onExternalCrossReference103() (interface{}, error) { + return types.NewStringElement(string(c.text)) } -func (p *parser) callonNamedAttribute16() (interface{}, error) { +func (p *parser) callonExternalCrossReference103() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNamedAttribute16() + return p.cur.onExternalCrossReference103() } -func (c *current) onNamedAttribute24() (interface{}, error) { - return string(c.text), nil +func (c *current) onExternalCrossReference155() (interface{}, error) { + return types.NewSpecialCharacter(string(c.text)) } -func (p *parser) callonNamedAttribute24() (interface{}, error) { +func (p *parser) callonExternalCrossReference155() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNamedAttribute24() + return p.cur.onExternalCrossReference155() } -func (c *current) onNamedAttribute1(key, value interface{}) (interface{}, error) { - // TODO: include `,` or expect `]` - return types.NewNamedAttribute(key.(string), value) +func (c *current) onExternalCrossReference98(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonNamedAttribute1() (interface{}, error) { +func (p *parser) callonExternalCrossReference98() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNamedAttribute1(stack["key"], stack["value"]) + return p.cur.onExternalCrossReference98(stack["element"]) } -func (c *current) onAttributeValue12() (interface{}, error) { - return string(c.text), nil +func (c *current) onExternalCrossReference157() (interface{}, error) { + return types.NewStringElement(string(c.text)) } -func (p *parser) callonAttributeValue12() (interface{}, error) { +func (p *parser) callonExternalCrossReference157() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeValue12() + return p.cur.onExternalCrossReference157() } -func (c *current) onAttributeValue1(value interface{}) (interface{}, error) { - return value, nil +func (c *current) onExternalCrossReference9(elements interface{}) (interface{}, error) { + return types.NewInlineElements(elements.([]interface{})) } -func (p *parser) callonAttributeValue1() (interface{}, error) { +func (p *parser) callonExternalCrossReference9() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeValue1(stack["value"]) + return p.cur.onExternalCrossReference9(stack["elements"]) } -func (c *current) onSingleQuotedAttributeValue1(content interface{}) (interface{}, error) { - return content, nil - +func (c *current) onExternalCrossReference163() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonSingleQuotedAttributeValue1() (interface{}, error) { +func (p *parser) callonExternalCrossReference163() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedAttributeValue1(stack["content"]) + return p.cur.onExternalCrossReference163() } -func (c *current) onSingleQuotedAttributeValueContent5() (interface{}, error) { - return string(c.text), nil - +func (c *current) onExternalCrossReference159(ref interface{}) (interface{}, error) { + return types.NewElementPlaceHolder(ref.(string)) } -func (p *parser) callonSingleQuotedAttributeValueContent5() (interface{}, error) { +func (p *parser) callonExternalCrossReference159() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedAttributeValueContent5() + return p.cur.onExternalCrossReference159(stack["ref"]) } -func (c *current) onSingleQuotedAttributeValueContent8() (interface{}, error) { - return string(c.text), nil +func (c *current) onExternalCrossReference5(path interface{}) (interface{}, error) { + return types.NewLocation("", path.([]interface{})) } -func (p *parser) callonSingleQuotedAttributeValueContent8() (interface{}, error) { +func (p *parser) callonExternalCrossReference5() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedAttributeValueContent8() + return p.cur.onExternalCrossReference5(stack["path"]) } -func (c *current) onSingleQuotedAttributeValueContent13() (bool, error) { - return c.isSubstitutionEnabled(Attributes), nil +func (c *current) onExternalCrossReference1(url, attributes interface{}) (interface{}, error) { + return types.NewExternalCrossReference(url.(*types.Location), attributes.(types.Attributes)) } -func (p *parser) callonSingleQuotedAttributeValueContent13() (bool, error) { +func (p *parser) callonExternalCrossReference1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedAttributeValueContent13() + return p.cur.onExternalCrossReference1(stack["url"], stack["attributes"]) } -func (c *current) onSingleQuotedAttributeValueContent20() (interface{}, error) { +func (c *current) onMarkdownQuoteAttribution5() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSingleQuotedAttributeValueContent20() (interface{}, error) { +func (p *parser) callonMarkdownQuoteAttribution5() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedAttributeValueContent20() + return p.cur.onMarkdownQuoteAttribution5() } -func (c *current) onSingleQuotedAttributeValueContent32() (interface{}, error) { +func (c *current) onMarkdownQuoteAttribution9() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonSingleQuotedAttributeValueContent32() (interface{}, error) { +func (p *parser) callonMarkdownQuoteAttribution9() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedAttributeValueContent32() + return p.cur.onMarkdownQuoteAttribution9() } -func (c *current) onSingleQuotedAttributeValueContent34() (interface{}, error) { - - return strconv.Atoi(string(c.text)) +func (c *current) onMarkdownQuoteAttribution1(author interface{}) (interface{}, error) { + return author, nil } -func (p *parser) callonSingleQuotedAttributeValueContent34() (interface{}, error) { +func (p *parser) callonMarkdownQuoteAttribution1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedAttributeValueContent34() + return p.cur.onMarkdownQuoteAttribution1(stack["author"]) } -func (c *current) onSingleQuotedAttributeValueContent27(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onDocumentHeader3() (bool, error) { + return c.isDocumentHeaderAllowed(), nil } -func (p *parser) callonSingleQuotedAttributeValueContent27() (interface{}, error) { +func (p *parser) callonDocumentHeader3() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedAttributeValueContent27(stack["start"]) + return p.cur.onDocumentHeader3() } -func (c *current) onSingleQuotedAttributeValueContent16(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) +func (c *current) onDocumentHeader11() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonSingleQuotedAttributeValueContent16() (interface{}, error) { +func (p *parser) callonDocumentHeader11() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedAttributeValueContent16(stack["name"], stack["start"]) + return p.cur.onDocumentHeader11() } -func (c *current) onSingleQuotedAttributeValueContent42() (interface{}, error) { +func (c *current) onDocumentHeader14() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonSingleQuotedAttributeValueContent42() (interface{}, error) { +func (p *parser) callonDocumentHeader14() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedAttributeValueContent42() + return p.cur.onDocumentHeader14() } -func (c *current) onSingleQuotedAttributeValueContent54() (interface{}, error) { - return string(c.text), nil +func (c *current) onDocumentHeader5() (interface{}, error) { + return types.NewBlankLine() } -func (p *parser) callonSingleQuotedAttributeValueContent54() (interface{}, error) { +func (p *parser) callonDocumentHeader5() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedAttributeValueContent54() + return p.cur.onDocumentHeader5() } -func (c *current) onSingleQuotedAttributeValueContent56() (interface{}, error) { - - return strconv.Atoi(string(c.text)) +func (c *current) onDocumentHeader25() (interface{}, error) { + // log.Debug("matched multiple spaces") + return string(c.text), nil } -func (p *parser) callonSingleQuotedAttributeValueContent56() (interface{}, error) { +func (p *parser) callonDocumentHeader25() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedAttributeValueContent56() + return p.cur.onDocumentHeader25() } -func (c *current) onSingleQuotedAttributeValueContent49(start interface{}) (interface{}, error) { - return start, nil +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) callonSingleQuotedAttributeValueContent49() (interface{}, error) { +func (p *parser) callonDocumentHeader29() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedAttributeValueContent49(stack["start"]) + return p.cur.onDocumentHeader29() } -func (c *current) onSingleQuotedAttributeValueContent38(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) +func (c *current) onDocumentHeader33() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonSingleQuotedAttributeValueContent38() (interface{}, error) { +func (p *parser) callonDocumentHeader33() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedAttributeValueContent38(stack["name"], stack["start"]) + return p.cur.onDocumentHeader33() } -func (c *current) onSingleQuotedAttributeValueContent64() (interface{}, error) { - return string(c.text), nil +func (c *current) onDocumentHeader22(title interface{}) (interface{}, error) { + return title, nil } -func (p *parser) callonSingleQuotedAttributeValueContent64() (interface{}, error) { +func (p *parser) callonDocumentHeader22() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedAttributeValueContent64() + return p.cur.onDocumentHeader22(stack["title"]) } -func (c *current) onSingleQuotedAttributeValueContent60(name interface{}) (interface{}, error) { - - return types.NewAttributeSubstitution(name.(string), string(c.text)) +func (c *current) onDocumentHeader51() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonSingleQuotedAttributeValueContent60() (interface{}, error) { +func (p *parser) callonDocumentHeader51() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedAttributeValueContent60(stack["name"]) + return p.cur.onDocumentHeader51() } -func (c *current) onSingleQuotedAttributeValueContent11(element interface{}) (interface{}, error) { - return element, nil - +func (c *current) onDocumentHeader54() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonSingleQuotedAttributeValueContent11() (interface{}, error) { +func (p *parser) callonDocumentHeader54() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedAttributeValueContent11(stack["element"]) + return p.cur.onDocumentHeader54() } -func (c *current) onSingleQuotedAttributeValueContent70() (interface{}, error) { - - return types.NewStringElement(`'`) // escaped single quote +func (c *current) onDocumentHeader45() (interface{}, error) { + return types.NewBlankLine() } -func (p *parser) callonSingleQuotedAttributeValueContent70() (interface{}, error) { +func (p *parser) callonDocumentHeader45() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedAttributeValueContent70() + return p.cur.onDocumentHeader45() } -func (c *current) onSingleQuotedAttributeValueContent74() (interface{}, error) { - // quoted string delimiters or standalone backslash - return types.NewStringElement(string(c.text)) // keep as-is for now +func (c *current) onDocumentHeader69() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonSingleQuotedAttributeValueContent74() (interface{}, error) { +func (p *parser) callonDocumentHeader69() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedAttributeValueContent74() + return p.cur.onDocumentHeader69() } -func (c *current) onSingleQuotedAttributeValueContent76() (interface{}, error) { - // = and , signs are allowed within '' quoted values - return types.NewStringElement(string(c.text)) - +func (c *current) onDocumentHeader73() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonSingleQuotedAttributeValueContent76() (interface{}, error) { +func (p *parser) callonDocumentHeader73() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedAttributeValueContent76() + return p.cur.onDocumentHeader73() } -func (c *current) onSingleQuotedAttributeValueContent1(elements interface{}) (interface{}, error) { - return types.Reduce(elements), nil +func (c *current) onDocumentHeader63(content interface{}) (interface{}, error) { + return types.NewSingleLineComment(content.(string)) } -func (p *parser) callonSingleQuotedAttributeValueContent1() (interface{}, error) { +func (p *parser) callonDocumentHeader63() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedAttributeValueContent1(stack["elements"]) + return p.cur.onDocumentHeader63(stack["content"]) } -func (c *current) onDoubleQuotedAttributeValue13() (interface{}, error) { +func (c *current) onDocumentHeader86() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDoubleQuotedAttributeValue13() (interface{}, error) { +func (p *parser) callonDocumentHeader86() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedAttributeValue13() + return p.cur.onDocumentHeader86() } -func (c *current) onDoubleQuotedAttributeValue1(content interface{}) (interface{}, error) { - return content, 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) callonDoubleQuotedAttributeValue1() (interface{}, error) { +func (p *parser) callonDocumentHeader82() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedAttributeValue1(stack["content"]) + return p.cur.onDocumentHeader82() } -func (c *current) onDoubleQuotedAttributeValueContent5() (interface{}, error) { +func (c *current) onDocumentHeader106() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDoubleQuotedAttributeValueContent5() (interface{}, error) { +func (p *parser) callonDocumentHeader106() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedAttributeValueContent5() + return p.cur.onDocumentHeader106() } -func (c *current) onDoubleQuotedAttributeValueContent8() (interface{}, error) { +func (c *current) onDocumentHeader109() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonDoubleQuotedAttributeValueContent8() (interface{}, error) { +func (p *parser) callonDocumentHeader109() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedAttributeValueContent8() + return p.cur.onDocumentHeader109() } -func (c *current) onDoubleQuotedAttributeValueContent13() (bool, error) { - return c.isSubstitutionEnabled(Attributes), nil - +func (c *current) onDocumentHeader102() (interface{}, error) { + return types.NewBlockDelimiter(types.Comment, string(c.text)) } -func (p *parser) callonDoubleQuotedAttributeValueContent13() (bool, error) { +func (p *parser) callonDocumentHeader102() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedAttributeValueContent13() + return p.cur.onDocumentHeader102() } -func (c *current) onDoubleQuotedAttributeValueContent20() (interface{}, error) { +func (c *current) onDocumentHeader125() (interface{}, error) { + // content is NOT mandatory return string(c.text), nil } -func (p *parser) callonDoubleQuotedAttributeValueContent20() (interface{}, error) { +func (p *parser) callonDocumentHeader125() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedAttributeValueContent20() + return p.cur.onDocumentHeader125() } -func (c *current) onDoubleQuotedAttributeValueContent32() (interface{}, error) { +func (c *current) onDocumentHeader129() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonDoubleQuotedAttributeValueContent32() (interface{}, error) { +func (p *parser) callonDocumentHeader129() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedAttributeValueContent32() + return p.cur.onDocumentHeader129() } -func (c *current) onDoubleQuotedAttributeValueContent34() (interface{}, error) { +func (c *current) onDocumentHeader119(content interface{}) (interface{}, error) { - return strconv.Atoi(string(c.text)) + return types.NewRawLine(content.(string)) } -func (p *parser) callonDoubleQuotedAttributeValueContent34() (interface{}, error) { +func (p *parser) callonDocumentHeader119() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedAttributeValueContent34() + return p.cur.onDocumentHeader119(stack["content"]) } -func (c *current) onDoubleQuotedAttributeValueContent27(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onDocumentHeader98(line interface{}) (interface{}, error) { + return line, nil } -func (p *parser) callonDoubleQuotedAttributeValueContent27() (interface{}, error) { +func (p *parser) callonDocumentHeader98() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedAttributeValueContent27(stack["start"]) + return p.cur.onDocumentHeader98(stack["line"]) } -func (c *current) onDoubleQuotedAttributeValueContent16(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) +func (c *current) onDocumentHeader142() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonDoubleQuotedAttributeValueContent16() (interface{}, error) { +func (p *parser) callonDocumentHeader142() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedAttributeValueContent16(stack["name"], stack["start"]) + return p.cur.onDocumentHeader142() } -func (c *current) onDoubleQuotedAttributeValueContent42() (interface{}, error) { +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) callonDoubleQuotedAttributeValueContent42() (interface{}, error) { +func (p *parser) callonDocumentHeader138() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedAttributeValueContent42() + return p.cur.onDocumentHeader138() } -func (c *current) onDoubleQuotedAttributeValueContent54() (interface{}, error) { - return string(c.text), nil +func (c *current) onDocumentHeader80(content interface{}) (interface{}, error) { + c.unsetWithinDelimitedBlock() + return types.NewDelimitedBlock(types.Comment, content.([]interface{})) } -func (p *parser) callonDoubleQuotedAttributeValueContent54() (interface{}, error) { +func (p *parser) callonDocumentHeader80() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedAttributeValueContent54() + return p.cur.onDocumentHeader80(stack["content"]) } -func (c *current) onDoubleQuotedAttributeValueContent56() (interface{}, error) { - - return strconv.Atoi(string(c.text)) +func (c *current) onDocumentHeader158() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDoubleQuotedAttributeValueContent56() (interface{}, error) { +func (p *parser) callonDocumentHeader158() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedAttributeValueContent56() + return p.cur.onDocumentHeader158() } -func (c *current) onDoubleQuotedAttributeValueContent49(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onDocumentHeader175() (interface{}, error) { + // no space allowed + return string(c.text), nil } -func (p *parser) callonDoubleQuotedAttributeValueContent49() (interface{}, error) { +func (p *parser) callonDocumentHeader175() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedAttributeValueContent49(stack["start"]) + return p.cur.onDocumentHeader175() } -func (c *current) onDoubleQuotedAttributeValueContent38(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) +func (c *current) onDocumentHeader179() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonDoubleQuotedAttributeValueContent38() (interface{}, error) { +func (p *parser) callonDocumentHeader179() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedAttributeValueContent38(stack["name"], stack["start"]) + return p.cur.onDocumentHeader179() } -func (c *current) onDoubleQuotedAttributeValueContent64() (interface{}, error) { +func (c *current) onDocumentHeader183() (interface{}, error) { + // no space allowed return string(c.text), nil } -func (p *parser) callonDoubleQuotedAttributeValueContent64() (interface{}, error) { +func (p *parser) callonDocumentHeader183() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedAttributeValueContent64() + return p.cur.onDocumentHeader183() } -func (c *current) onDoubleQuotedAttributeValueContent60(name interface{}) (interface{}, error) { - - return types.NewAttributeSubstitution(name.(string), string(c.text)) +func (c *current) onDocumentHeader187() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDoubleQuotedAttributeValueContent60() (interface{}, error) { +func (p *parser) callonDocumentHeader187() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedAttributeValueContent60(stack["name"]) + return p.cur.onDocumentHeader187() } -func (c *current) onDoubleQuotedAttributeValueContent11(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onDocumentHeader191() (interface{}, error) { + // spaces allowed + return string(c.text), nil } -func (p *parser) callonDoubleQuotedAttributeValueContent11() (interface{}, error) { +func (p *parser) callonDocumentHeader191() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedAttributeValueContent11(stack["element"]) + return p.cur.onDocumentHeader191() } -func (c *current) onDoubleQuotedAttributeValueContent70() (interface{}, error) { - - return types.NewStringElement(`"`) // escaped double quote +func (c *current) onDocumentHeader195() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDoubleQuotedAttributeValueContent70() (interface{}, error) { +func (p *parser) callonDocumentHeader195() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedAttributeValueContent70() + return p.cur.onDocumentHeader195() } -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 (c *current) onDocumentHeader172(part1, part2, part3 interface{}) (interface{}, error) { + return types.NewDocumentAuthorFullName(part1.(string), part2, part3) } -func (p *parser) callonDoubleQuotedAttributeValueContent75() (interface{}, error) { +func (p *parser) callonDocumentHeader172() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedAttributeValueContent75() + return p.cur.onDocumentHeader172(stack["part1"], stack["part2"], stack["part3"]) } -func (c *current) onDoubleQuotedAttributeValueContent77() (interface{}, error) { - // = and , signs are allowed within " quoted values - return types.NewStringElement(string(c.text)) +func (c *current) onDocumentHeader206() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDoubleQuotedAttributeValueContent77() (interface{}, error) { +func (p *parser) callonDocumentHeader206() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedAttributeValueContent77() + return p.cur.onDocumentHeader206() } -func (c *current) onDoubleQuotedAttributeValueContent1(elements interface{}) (interface{}, error) { - return types.Reduce(elements), nil +func (c *current) onDocumentHeader199(email interface{}) (interface{}, error) { + return email, nil } -func (p *parser) callonDoubleQuotedAttributeValueContent1() (interface{}, error) { +func (p *parser) callonDocumentHeader199() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedAttributeValueContent1(stack["elements"]) + return p.cur.onDocumentHeader199(stack["email"]) } -func (c *current) onUnquotedAttributeValue4() (interface{}, error) { +func (c *current) onDocumentHeader211() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonUnquotedAttributeValue4() (interface{}, error) { +func (p *parser) callonDocumentHeader211() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onUnquotedAttributeValue4() + return p.cur.onDocumentHeader211() } -func (c *current) onUnquotedAttributeValue14() (interface{}, error) { - // not within brackets and stop on space and `{` +func (c *current) onDocumentHeader216() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonUnquotedAttributeValue14() (interface{}, error) { +func (p *parser) callonDocumentHeader216() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onUnquotedAttributeValue14() + return p.cur.onDocumentHeader216() } -func (c *current) onUnquotedAttributeValue17() (interface{}, error) { - return string(c.text), 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) callonUnquotedAttributeValue17() (interface{}, error) { +func (p *parser) callonDocumentHeader218() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onUnquotedAttributeValue17() + return p.cur.onDocumentHeader218(stack["fullName"], stack["email"]) } -func (c *current) onUnquotedAttributeValue21() (bool, error) { - return c.isSubstitutionEnabled(Attributes), nil +func (c *current) onDocumentHeader168(fullName, email interface{}) (interface{}, error) { + return types.NewDocumentAuthor(fullName, email) + +} + +func (p *parser) callonDocumentHeader168() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeader168(stack["fullName"], stack["email"]) +} +func (c *current) onDocumentHeader162(authors interface{}) (interface{}, error) { + return types.NewDocumentAuthors(authors.([]interface{})...) } -func (p *parser) callonUnquotedAttributeValue21() (bool, error) { +func (p *parser) callonDocumentHeader162() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onUnquotedAttributeValue21() + return p.cur.onDocumentHeader162(stack["authors"]) } -func (c *current) onUnquotedAttributeValue28() (interface{}, error) { +func (c *current) onDocumentHeader223() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonUnquotedAttributeValue28() (interface{}, error) { +func (p *parser) callonDocumentHeader223() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onUnquotedAttributeValue28() + return p.cur.onDocumentHeader223() } -func (c *current) onUnquotedAttributeValue40() (interface{}, error) { +func (c *current) onDocumentHeader233() (interface{}, error) { + // no space allowed return string(c.text), nil } -func (p *parser) callonUnquotedAttributeValue40() (interface{}, error) { +func (p *parser) callonDocumentHeader233() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onUnquotedAttributeValue40() + return p.cur.onDocumentHeader233() } -func (c *current) onUnquotedAttributeValue42() (interface{}, error) { - - return strconv.Atoi(string(c.text)) +func (c *current) onDocumentHeader237() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonUnquotedAttributeValue42() (interface{}, error) { +func (p *parser) callonDocumentHeader237() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onUnquotedAttributeValue42() + return p.cur.onDocumentHeader237() } -func (c *current) onUnquotedAttributeValue35(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onDocumentHeader241() (interface{}, error) { + // no space allowed + return string(c.text), nil } -func (p *parser) callonUnquotedAttributeValue35() (interface{}, error) { +func (p *parser) callonDocumentHeader241() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onUnquotedAttributeValue35(stack["start"]) + return p.cur.onDocumentHeader241() } -func (c *current) onUnquotedAttributeValue24(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) +func (c *current) onDocumentHeader245() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonUnquotedAttributeValue24() (interface{}, error) { +func (p *parser) callonDocumentHeader245() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onUnquotedAttributeValue24(stack["name"], stack["start"]) + return p.cur.onDocumentHeader245() } -func (c *current) onUnquotedAttributeValue50() (interface{}, error) { +func (c *current) onDocumentHeader249() (interface{}, error) { + // spaces allowed return string(c.text), nil } -func (p *parser) callonUnquotedAttributeValue50() (interface{}, error) { +func (p *parser) callonDocumentHeader249() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onUnquotedAttributeValue50() + return p.cur.onDocumentHeader249() } -func (c *current) onUnquotedAttributeValue62() (interface{}, error) { +func (c *current) onDocumentHeader253() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonUnquotedAttributeValue62() (interface{}, error) { +func (p *parser) callonDocumentHeader253() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onUnquotedAttributeValue62() + return p.cur.onDocumentHeader253() } -func (c *current) onUnquotedAttributeValue64() (interface{}, error) { - - return strconv.Atoi(string(c.text)) +func (c *current) onDocumentHeader230(part1, part2, part3 interface{}) (interface{}, error) { + return types.NewDocumentAuthorFullName(part1.(string), part2, part3) } -func (p *parser) callonUnquotedAttributeValue64() (interface{}, error) { +func (p *parser) callonDocumentHeader230() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onUnquotedAttributeValue64() + return p.cur.onDocumentHeader230(stack["part1"], stack["part2"], stack["part3"]) } -func (c *current) onUnquotedAttributeValue57(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onDocumentHeader264() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonUnquotedAttributeValue57() (interface{}, error) { +func (p *parser) callonDocumentHeader264() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onUnquotedAttributeValue57(stack["start"]) + return p.cur.onDocumentHeader264() } -func (c *current) onUnquotedAttributeValue46(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) +func (c *current) onDocumentHeader257(email interface{}) (interface{}, error) { + return email, nil + } -func (p *parser) callonUnquotedAttributeValue46() (interface{}, error) { +func (p *parser) callonDocumentHeader257() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onUnquotedAttributeValue46(stack["name"], stack["start"]) + return p.cur.onDocumentHeader257(stack["email"]) } -func (c *current) onUnquotedAttributeValue72() (interface{}, error) { +func (c *current) onDocumentHeader269() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonUnquotedAttributeValue72() (interface{}, error) { +func (p *parser) callonDocumentHeader269() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onUnquotedAttributeValue72() + return p.cur.onDocumentHeader269() } -func (c *current) onUnquotedAttributeValue68(name interface{}) (interface{}, error) { - - return types.NewAttributeSubstitution(name.(string), string(c.text)) +func (c *current) onDocumentHeader274() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonUnquotedAttributeValue68() (interface{}, error) { +func (p *parser) callonDocumentHeader274() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onUnquotedAttributeValue68(stack["name"]) + return p.cur.onDocumentHeader274() } -func (c *current) onUnquotedAttributeValue19(element interface{}) (interface{}, error) { - return element, 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) callonUnquotedAttributeValue19() (interface{}, error) { +func (p *parser) callonDocumentHeader276() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onUnquotedAttributeValue19(stack["element"]) + return p.cur.onDocumentHeader276(stack["fullName"], stack["email"]) } -func (c *current) onUnquotedAttributeValue1(elements interface{}) (interface{}, error) { - return types.Reduce(elements, strings.TrimSpace), nil +func (c *current) onDocumentHeader226(fullName, email interface{}) (interface{}, error) { + return types.NewDocumentAuthor(fullName, email) } -func (p *parser) callonUnquotedAttributeValue1() (interface{}, error) { +func (p *parser) callonDocumentHeader226() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onUnquotedAttributeValue1(stack["elements"]) + return p.cur.onDocumentHeader226(stack["fullName"], stack["email"]) } -func (c *current) onCrossReference6() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ - return string(c.text), nil - +func (c *current) onDocumentHeader219(author interface{}) (interface{}, error) { + return types.NewDocumentAuthors(author) } -func (p *parser) callonCrossReference6() (interface{}, error) { +func (p *parser) callonDocumentHeader219() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onCrossReference6() + return p.cur.onDocumentHeader219(stack["author"]) } -func (c *current) onCrossReference10() (interface{}, error) { +func (c *current) onDocumentHeader278() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonCrossReference10() (interface{}, error) { +func (p *parser) callonDocumentHeader278() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onCrossReference10() + return p.cur.onDocumentHeader278() } -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) onDocumentHeader155(authors interface{}) (interface{}, error) { + return authors, nil } -func (p *parser) callonCrossReference16() (interface{}, error) { +func (p *parser) callonDocumentHeader155() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onCrossReference16() + return p.cur.onDocumentHeader155(stack["authors"]) } -func (c *current) onCrossReference25() (interface{}, error) { +func (c *current) onDocumentHeader293() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonCrossReference25() (interface{}, error) { +func (p *parser) callonDocumentHeader293() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onCrossReference25() + return p.cur.onDocumentHeader293() } -func (c *current) onCrossReference21(name interface{}) (interface{}, error) { - - return types.NewAttributeSubstitution(name.(string), string(c.text)) - +func (c *current) onDocumentHeader297() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonCrossReference21() (interface{}, error) { +func (p *parser) callonDocumentHeader297() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onCrossReference21(stack["name"]) + return p.cur.onDocumentHeader297() } -func (c *current) onCrossReference31() (interface{}, error) { - - return types.NewStringElement(string(c.text)) +func (c *current) onDocumentHeader287(content interface{}) (interface{}, error) { + return types.NewSingleLineComment(content.(string)) } -func (p *parser) callonCrossReference31() (interface{}, error) { +func (p *parser) callonDocumentHeader287() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onCrossReference31() + return p.cur.onDocumentHeader287(stack["content"]) } -func (c *current) onCrossReference2(id, label interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, label) +func (c *current) onDocumentHeader310() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonCrossReference2() (interface{}, error) { +func (p *parser) callonDocumentHeader310() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onCrossReference2(stack["id"], stack["label"]) + return p.cur.onDocumentHeader310() } -func (c *current) onCrossReference38() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ +func (c *current) onDocumentHeader313() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonCrossReference38() (interface{}, error) { +func (p *parser) callonDocumentHeader313() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onCrossReference38() + return p.cur.onDocumentHeader313() } -func (c *current) onCrossReference34(id interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, nil) - +func (c *current) onDocumentHeader306() (interface{}, error) { + return types.NewBlockDelimiter(types.Comment, string(c.text)) } -func (p *parser) callonCrossReference34() (interface{}, error) { +func (p *parser) callonDocumentHeader306() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onCrossReference34(stack["id"]) + return p.cur.onDocumentHeader306() } -func (c *current) onExternalCrossReference16() (interface{}, error) { - // not supported for now: EOL, space, "{", "[", "]". Also, punctuation chars and `<` and `>` special chars are treated separately below (but `&` is allowed) - return types.NewStringElement(string(c.text)) +func (c *current) onDocumentHeader330() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonExternalCrossReference16() (interface{}, error) { +func (p *parser) callonDocumentHeader330() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference16() + return p.cur.onDocumentHeader330() } -func (c *current) onExternalCrossReference20() (interface{}, error) { +func (c *current) onDocumentHeader333() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonExternalCrossReference20() (interface{}, error) { +func (p *parser) callonDocumentHeader333() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference20() + return p.cur.onDocumentHeader333() } -func (c *current) onExternalCrossReference27() (interface{}, error) { - return string(c.text), nil - +func (c *current) onDocumentHeader326() (interface{}, error) { + return types.NewBlockDelimiter(types.Comment, string(c.text)) } -func (p *parser) callonExternalCrossReference27() (interface{}, error) { +func (p *parser) callonDocumentHeader326() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference27() + return p.cur.onDocumentHeader326() } -func (c *current) onExternalCrossReference31() (bool, error) { - return c.isSubstitutionEnabled(Attributes), nil +func (c *current) onDocumentHeader349() (interface{}, error) { + // content is NOT mandatory + return string(c.text), nil } -func (p *parser) callonExternalCrossReference31() (bool, error) { +func (p *parser) callonDocumentHeader349() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference31() + return p.cur.onDocumentHeader349() } -func (c *current) onExternalCrossReference38() (interface{}, error) { +func (c *current) onDocumentHeader353() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonExternalCrossReference38() (interface{}, error) { +func (p *parser) callonDocumentHeader353() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference38() + return p.cur.onDocumentHeader353() } -func (c *current) onExternalCrossReference50() (interface{}, error) { - return string(c.text), nil +func (c *current) onDocumentHeader343(content interface{}) (interface{}, error) { + + return types.NewRawLine(content.(string)) } -func (p *parser) callonExternalCrossReference50() (interface{}, error) { +func (p *parser) callonDocumentHeader343() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference50() + return p.cur.onDocumentHeader343(stack["content"]) } -func (c *current) onExternalCrossReference52() (interface{}, error) { - - return strconv.Atoi(string(c.text)) +func (c *current) onDocumentHeader322(line interface{}) (interface{}, error) { + return line, nil } -func (p *parser) callonExternalCrossReference52() (interface{}, error) { +func (p *parser) callonDocumentHeader322() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference52() + return p.cur.onDocumentHeader322(stack["line"]) } -func (c *current) onExternalCrossReference45(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onDocumentHeader366() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonExternalCrossReference45() (interface{}, error) { +func (p *parser) callonDocumentHeader366() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference45(stack["start"]) + return p.cur.onDocumentHeader366() } -func (c *current) onExternalCrossReference34(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) +func (c *current) onDocumentHeader369() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonExternalCrossReference34() (interface{}, error) { +func (p *parser) callonDocumentHeader369() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference34(stack["name"], stack["start"]) + return p.cur.onDocumentHeader369() } -func (c *current) onExternalCrossReference60() (interface{}, error) { - return string(c.text), nil - +func (c *current) onDocumentHeader362() (interface{}, error) { + return types.NewBlockDelimiter(types.Comment, string(c.text)) } -func (p *parser) callonExternalCrossReference60() (interface{}, error) { +func (p *parser) callonDocumentHeader362() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference60() + return p.cur.onDocumentHeader362() } -func (c *current) onExternalCrossReference72() (interface{}, error) { - return string(c.text), nil +func (c *current) onDocumentHeader304(content interface{}) (interface{}, error) { + c.unsetWithinDelimitedBlock() + return types.NewDelimitedBlock(types.Comment, content.([]interface{})) } -func (p *parser) callonExternalCrossReference72() (interface{}, error) { +func (p *parser) callonDocumentHeader304() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference72() + return p.cur.onDocumentHeader304(stack["content"]) } -func (c *current) onExternalCrossReference74() (interface{}, error) { - - return strconv.Atoi(string(c.text)) +func (c *current) onDocumentHeader383() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonExternalCrossReference74() (interface{}, error) { +func (p *parser) callonDocumentHeader383() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference74() + return p.cur.onDocumentHeader383() } -func (c *current) onExternalCrossReference67(start interface{}) (interface{}, error) { - return start, nil - +func (c *current) onDocumentHeader393() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonExternalCrossReference67() (interface{}, error) { +func (p *parser) callonDocumentHeader393() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference67(stack["start"]) + return p.cur.onDocumentHeader393() } -func (c *current) onExternalCrossReference56(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) +func (c *current) onDocumentHeader407() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonExternalCrossReference56() (interface{}, error) { +func (p *parser) callonDocumentHeader407() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference56(stack["name"], stack["start"]) + return p.cur.onDocumentHeader407() } -func (c *current) onExternalCrossReference82() (interface{}, error) { +func (c *current) onDocumentHeader399() (interface{}, error) { return string(c.text), nil - } -func (p *parser) callonExternalCrossReference82() (interface{}, error) { +func (p *parser) callonDocumentHeader399() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference82() + return p.cur.onDocumentHeader399() } -func (c *current) onExternalCrossReference78(name interface{}) (interface{}, error) { - - return types.NewAttributeSubstitution(name.(string), string(c.text)) - +func (c *current) onDocumentHeader415() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonExternalCrossReference78() (interface{}, error) { +func (p *parser) callonDocumentHeader415() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference78(stack["name"]) + return p.cur.onDocumentHeader415() } -func (c *current) onExternalCrossReference29(element interface{}) (interface{}, error) { - return element, nil - +func (c *current) onDocumentHeader422() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonExternalCrossReference29() (interface{}, error) { +func (p *parser) callonDocumentHeader422() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference29(stack["element"]) + return p.cur.onDocumentHeader422() } -func (c *current) onExternalCrossReference90() (bool, error) { - return c.isSubstitutionEnabled(SpecialCharacters), nil +func (c *current) onDocumentHeader389(revnumber, revdate, revremark interface{}) (interface{}, error) { + return types.NewDocumentRevision(revnumber, revdate, revremark) } -func (p *parser) callonExternalCrossReference90() (bool, error) { +func (p *parser) callonDocumentHeader389() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference90() + return p.cur.onDocumentHeader389(stack["revnumber"], stack["revdate"], stack["revremark"]) } -func (c *current) onExternalCrossReference99() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ +func (c *current) onDocumentHeader428() (interface{}, error) { return string(c.text), nil - } -func (p *parser) callonExternalCrossReference99() (interface{}, error) { +func (p *parser) callonDocumentHeader428() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference99() + return p.cur.onDocumentHeader428() } -func (c *current) onExternalCrossReference103() (interface{}, error) { +func (c *current) onDocumentHeader435() (interface{}, error) { return string(c.text), nil - } -func (p *parser) callonExternalCrossReference103() (interface{}, error) { +func (p *parser) callonDocumentHeader435() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference103() + return p.cur.onDocumentHeader435() } -func (c *current) onExternalCrossReference109() (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) onDocumentHeader425(revdate, revremark interface{}) (interface{}, error) { + return types.NewDocumentRevision(nil, revdate, revremark) } -func (p *parser) callonExternalCrossReference109() (interface{}, error) { +func (p *parser) callonDocumentHeader425() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference109() + return p.cur.onDocumentHeader425(stack["revdate"], stack["revremark"]) } -func (c *current) onExternalCrossReference118() (interface{}, error) { +func (c *current) onDocumentHeader439() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonExternalCrossReference118() (interface{}, error) { +func (p *parser) callonDocumentHeader439() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference118() + return p.cur.onDocumentHeader439() } -func (c *current) onExternalCrossReference114(name interface{}) (interface{}, error) { - - return types.NewAttributeSubstitution(name.(string), string(c.text)) - +func (c *current) onDocumentHeader380(revision interface{}) (interface{}, error) { + return revision, nil } -func (p *parser) callonExternalCrossReference114() (interface{}, error) { +func (p *parser) callonDocumentHeader380() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference114(stack["name"]) + return p.cur.onDocumentHeader380(stack["revision"]) } -func (c *current) onExternalCrossReference124() (interface{}, error) { - - return types.NewStringElement(string(c.text)) +func (c *current) onDocumentHeader42(authors, revision interface{}) (interface{}, error) { + return types.NewDocumentInformation(authors.(types.DocumentAuthors), revision) } -func (p *parser) callonExternalCrossReference124() (interface{}, error) { +func (p *parser) callonDocumentHeader42() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference124() + return p.cur.onDocumentHeader42(stack["authors"], stack["revision"]) } -func (c *current) onExternalCrossReference95(id, label interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, label) +func (c *current) onDocumentHeader454() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonExternalCrossReference95() (interface{}, error) { +func (p *parser) callonDocumentHeader454() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference95(stack["id"], stack["label"]) + return p.cur.onDocumentHeader454() } -func (c *current) onExternalCrossReference131() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ +func (c *current) onDocumentHeader461() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExternalCrossReference131() (interface{}, error) { +func (p *parser) callonDocumentHeader461() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference131() + return p.cur.onDocumentHeader461() } -func (c *current) onExternalCrossReference127(id interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, nil) - +func (c *current) onDocumentHeader464() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonExternalCrossReference127() (interface{}, error) { +func (p *parser) callonDocumentHeader464() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference127(stack["id"]) + return p.cur.onDocumentHeader464() } -func (c *current) onExternalCrossReference93() (interface{}, error) { - return types.NewStringElement(string(c.text)) - +func (c *current) onDocumentHeader450(name interface{}) (interface{}, error) { + return types.NewAttributeReset(name.(string), string(c.text)) } -func (p *parser) callonExternalCrossReference93() (interface{}, error) { +func (p *parser) callonDocumentHeader450() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference93() + return p.cur.onDocumentHeader450(stack["name"]) } -func (c *current) onExternalCrossReference135() (interface{}, error) { - return types.NewSpecialCharacter(string(c.text)) +func (c *current) onDocumentHeader475() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonExternalCrossReference135() (interface{}, error) { +func (p *parser) callonDocumentHeader475() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference135() + return p.cur.onDocumentHeader475() } -func (c *current) onExternalCrossReference88(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onDocumentHeader482() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonExternalCrossReference88() (interface{}, error) { +func (p *parser) callonDocumentHeader482() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference88(stack["element"]) + return p.cur.onDocumentHeader482() } -func (c *current) onExternalCrossReference137() (interface{}, error) { - return types.NewStringElement(string(c.text)) - +func (c *current) onDocumentHeader485() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonExternalCrossReference137() (interface{}, error) { +func (p *parser) callonDocumentHeader485() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference137() + return p.cur.onDocumentHeader485() } -func (c *current) onExternalCrossReference9(elements interface{}) (interface{}, error) { - return types.NewInlineElements(elements.([]interface{})) - +func (c *current) onDocumentHeader471(name interface{}) (interface{}, error) { + return types.NewAttributeReset(name.(string), string(c.text)) } -func (p *parser) callonExternalCrossReference9() (interface{}, error) { +func (p *parser) callonDocumentHeader471() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference9(stack["elements"]) + return p.cur.onDocumentHeader471(stack["name"]) } -func (c *current) onExternalCrossReference143() (interface{}, error) { +func (c *current) onDocumentHeader498() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonExternalCrossReference143() (interface{}, error) { +func (p *parser) callonDocumentHeader498() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference143() + return p.cur.onDocumentHeader498() } -func (c *current) onExternalCrossReference139(ref interface{}) (interface{}, error) { - return types.NewElementPlaceHolder(ref.(string)) +func (c *current) onDocumentHeader502() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonExternalCrossReference139() (interface{}, error) { +func (p *parser) callonDocumentHeader502() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference139(stack["ref"]) + return p.cur.onDocumentHeader502() } -func (c *current) onExternalCrossReference5(path interface{}) (interface{}, error) { - return types.NewLocation("", path.([]interface{})) +func (c *current) onDocumentHeader492(content interface{}) (interface{}, error) { + return types.NewSingleLineComment(content.(string)) } -func (p *parser) callonExternalCrossReference5() (interface{}, error) { +func (p *parser) callonDocumentHeader492() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference5(stack["path"]) + return p.cur.onDocumentHeader492(stack["content"]) } -func (c *current) onExternalCrossReference1(url, attributes interface{}) (interface{}, error) { - return types.NewExternalCrossReference(url.(*types.Location), attributes.(types.Attributes)) +func (c *current) onDocumentHeader515() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonExternalCrossReference1() (interface{}, error) { +func (p *parser) callonDocumentHeader515() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference1(stack["url"], stack["attributes"]) + return p.cur.onDocumentHeader515() } -func (c *current) onMarkdownQuoteAttribution5() (interface{}, error) { +func (c *current) onDocumentHeader518() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonMarkdownQuoteAttribution5() (interface{}, error) { +func (p *parser) callonDocumentHeader518() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onMarkdownQuoteAttribution5() + return p.cur.onDocumentHeader518() } -func (c *current) onMarkdownQuoteAttribution9() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onDocumentHeader511() (interface{}, error) { + return types.NewBlockDelimiter(types.Comment, string(c.text)) } -func (p *parser) callonMarkdownQuoteAttribution9() (interface{}, error) { +func (p *parser) callonDocumentHeader511() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onMarkdownQuoteAttribution9() + return p.cur.onDocumentHeader511() } -func (c *current) onMarkdownQuoteAttribution1(author interface{}) (interface{}, error) { - return author, nil +func (c *current) onDocumentHeader535() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonMarkdownQuoteAttribution1() (interface{}, error) { +func (p *parser) callonDocumentHeader535() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onMarkdownQuoteAttribution1(stack["author"]) + return p.cur.onDocumentHeader535() } -func (c *current) onDocumentHeader3() (bool, error) { - return c.isDocumentHeaderAllowed(), nil +func (c *current) onDocumentHeader538() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} +func (p *parser) callonDocumentHeader538() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeader538() } -func (p *parser) callonDocumentHeader3() (bool, error) { +func (c *current) onDocumentHeader531() (interface{}, error) { + return types.NewBlockDelimiter(types.Comment, string(c.text)) +} + +func (p *parser) callonDocumentHeader531() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader3() + return p.cur.onDocumentHeader531() } -func (c *current) onDocumentHeader11() (interface{}, error) { +func (c *current) onDocumentHeader554() (interface{}, error) { + // content is NOT mandatory return string(c.text), nil } -func (p *parser) callonDocumentHeader11() (interface{}, error) { +func (p *parser) callonDocumentHeader554() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader11() + return p.cur.onDocumentHeader554() } -func (c *current) onDocumentHeader14() (interface{}, error) { +func (c *current) onDocumentHeader558() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDocumentHeader14() (interface{}, error) { +func (p *parser) callonDocumentHeader558() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader14() + return p.cur.onDocumentHeader558() } -func (c *current) onDocumentHeader5() (interface{}, error) { - return types.NewBlankLine() +func (c *current) onDocumentHeader548(content interface{}) (interface{}, error) { + + return types.NewRawLine(content.(string)) } -func (p *parser) callonDocumentHeader5() (interface{}, error) { +func (p *parser) callonDocumentHeader548() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader5() + return p.cur.onDocumentHeader548(stack["content"]) } -func (c *current) onDocumentHeader25() (interface{}, error) { - // log.Debug("matched multiple spaces") - return string(c.text), nil +func (c *current) onDocumentHeader527(line interface{}) (interface{}, error) { + return line, nil } -func (p *parser) callonDocumentHeader25() (interface{}, error) { +func (p *parser) callonDocumentHeader527() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader25() + return p.cur.onDocumentHeader527(stack["line"]) } -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) onDocumentHeader571() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDocumentHeader29() (interface{}, error) { +func (p *parser) callonDocumentHeader571() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader29() + return p.cur.onDocumentHeader571() } -func (c *current) onDocumentHeader33() (interface{}, error) { +func (c *current) onDocumentHeader574() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDocumentHeader33() (interface{}, error) { +func (p *parser) callonDocumentHeader574() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader33() + return p.cur.onDocumentHeader574() } -func (c *current) onDocumentHeader22(title interface{}) (interface{}, error) { - return title, nil - +func (c *current) onDocumentHeader567() (interface{}, error) { + return types.NewBlockDelimiter(types.Comment, string(c.text)) } -func (p *parser) callonDocumentHeader22() (interface{}, error) { +func (p *parser) callonDocumentHeader567() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader22(stack["title"]) + return p.cur.onDocumentHeader567() } -func (c *current) onDocumentHeader51() (interface{}, error) { - return string(c.text), nil +func (c *current) onDocumentHeader509(content interface{}) (interface{}, error) { + c.unsetWithinDelimitedBlock() + return types.NewDelimitedBlock(types.Comment, content.([]interface{})) } -func (p *parser) callonDocumentHeader51() (interface{}, error) { +func (p *parser) callonDocumentHeader509() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader51() + return p.cur.onDocumentHeader509(stack["content"]) } -func (c *current) onDocumentHeader54() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onDocumentHeader1(title, info, extraAttrs interface{}) (interface{}, error) { + return types.NewDocumentHeader(title.([]interface{}), info, extraAttrs.([]interface{})) + } -func (p *parser) callonDocumentHeader54() (interface{}, error) { +func (p *parser) callonDocumentHeader1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader54() + return p.cur.onDocumentHeader1(stack["title"], stack["info"], stack["extraAttrs"]) } -func (c *current) onDocumentHeader45() (interface{}, error) { - return types.NewBlankLine() +func (c *current) onInlineElement9() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDocumentHeader45() (interface{}, error) { +func (p *parser) callonInlineElement9() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader45() + return p.cur.onInlineElement9() } -func (c *current) onDocumentHeader69() (interface{}, error) { +func (c *current) onInlineElement14() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonDocumentHeader69() (interface{}, error) { +func (p *parser) callonInlineElement14() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader69() + return p.cur.onInlineElement14() } -func (c *current) onDocumentHeader73() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onInlineElement4() (interface{}, error) { + return types.NewStringElement(string(c.text)) + } -func (p *parser) callonDocumentHeader73() (interface{}, error) { +func (p *parser) callonInlineElement4() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader73() + return p.cur.onInlineElement4() } -func (c *current) onDocumentHeader63(content interface{}) (interface{}, error) { - return types.NewSingleLineComment(content.(string)) +func (c *current) onInlineElement21() (interface{}, error) { + // log.Debug("matched multiple spaces") + return string(c.text), nil } -func (p *parser) callonDocumentHeader63() (interface{}, error) { +func (p *parser) callonInlineElement21() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader63(stack["content"]) + return p.cur.onInlineElement21() } -func (c *current) onDocumentHeader86() (interface{}, error) { - return string(c.text), nil +func (c *current) onInlineElement26() (bool, error) { + + return c.isSubstitutionEnabled(PostReplacements) && c.isPreceededBySpace(), nil } -func (p *parser) callonDocumentHeader86() (interface{}, error) { +func (p *parser) callonInlineElement26() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader86() + return p.cur.onInlineElement26() } -func (c *current) onDocumentHeader89() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onInlineElement29() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonDocumentHeader89() (interface{}, error) { +func (p *parser) callonInlineElement29() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader89() + return p.cur.onInlineElement29() } -func (c *current) onDocumentHeader82() (interface{}, error) { - return types.NewBlockDelimiter(types.Comment, string(c.text)) +func (c *current) onInlineElement33() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonDocumentHeader82() (interface{}, error) { +func (p *parser) callonInlineElement33() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader82() + return p.cur.onInlineElement33() } -func (c *current) onDocumentHeader106() (interface{}, error) { - return string(c.text), nil +func (c *current) onInlineElement24() (interface{}, error) { + return types.NewLineBreak() } -func (p *parser) callonDocumentHeader106() (interface{}, error) { +func (p *parser) callonInlineElement24() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader106() + return p.cur.onInlineElement24() } -func (c *current) onDocumentHeader109() (interface{}, error) { +func (c *current) onInlineElement43() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDocumentHeader109() (interface{}, error) { +func (p *parser) callonInlineElement43() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader109() + return p.cur.onInlineElement43() } -func (c *current) onDocumentHeader102() (interface{}, error) { - return types.NewBlockDelimiter(types.Comment, string(c.text)) +func (c *current) onInlineElement54() (bool, error) { + return c.isSubstitutionEnabled(Attributes), nil + } -func (p *parser) callonDocumentHeader102() (interface{}, error) { +func (p *parser) callonInlineElement54() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader102() + return p.cur.onInlineElement54() } -func (c *current) onDocumentHeader125() (interface{}, error) { - // content is NOT mandatory +func (c *current) onInlineElement61() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentHeader125() (interface{}, error) { +func (p *parser) callonInlineElement61() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader125() + return p.cur.onInlineElement61() } -func (c *current) onDocumentHeader129() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onInlineElement73() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonDocumentHeader129() (interface{}, error) { +func (p *parser) callonInlineElement73() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader129() + return p.cur.onInlineElement73() } -func (c *current) onDocumentHeader119(content interface{}) (interface{}, error) { +func (c *current) onInlineElement75() (interface{}, error) { - return types.NewRawLine(content.(string)) + return strconv.Atoi(string(c.text)) } -func (p *parser) callonDocumentHeader119() (interface{}, error) { +func (p *parser) callonInlineElement75() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader119(stack["content"]) + return p.cur.onInlineElement75() } -func (c *current) onDocumentHeader98(line interface{}) (interface{}, error) { - return line, nil +func (c *current) onInlineElement68(start interface{}) (interface{}, error) { + return start, nil } -func (p *parser) callonDocumentHeader98() (interface{}, error) { +func (p *parser) callonInlineElement68() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader98(stack["line"]) + return p.cur.onInlineElement68(stack["start"]) } -func (c *current) onDocumentHeader142() (interface{}, error) { - return string(c.text), nil - +func (c *current) onInlineElement57(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) } -func (p *parser) callonDocumentHeader142() (interface{}, error) { +func (p *parser) callonInlineElement57() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader142() + return p.cur.onInlineElement57(stack["name"], stack["start"]) } -func (c *current) onDocumentHeader145() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onInlineElement83() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonDocumentHeader145() (interface{}, error) { +func (p *parser) callonInlineElement83() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader145() + return p.cur.onInlineElement83() } -func (c *current) onDocumentHeader138() (interface{}, error) { - return types.NewBlockDelimiter(types.Comment, string(c.text)) +func (c *current) onInlineElement95() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonDocumentHeader138() (interface{}, error) { +func (p *parser) callonInlineElement95() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader138() + return p.cur.onInlineElement95() } -func (c *current) onDocumentHeader80(content interface{}) (interface{}, error) { - c.unsetWithinDelimitedBlock() - return types.NewDelimitedBlock(types.Comment, content.([]interface{})) +func (c *current) onInlineElement97() (interface{}, error) { + + return strconv.Atoi(string(c.text)) } -func (p *parser) callonDocumentHeader80() (interface{}, error) { +func (p *parser) callonInlineElement97() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader80(stack["content"]) + return p.cur.onInlineElement97() } -func (c *current) onDocumentHeader158() (interface{}, error) { - return string(c.text), nil +func (c *current) onInlineElement90(start interface{}) (interface{}, error) { + return start, nil } -func (p *parser) callonDocumentHeader158() (interface{}, error) { +func (p *parser) callonInlineElement90() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader158() + return p.cur.onInlineElement90(stack["start"]) } -func (c *current) onDocumentHeader175() (interface{}, error) { - // no space allowed - return string(c.text), nil - +func (c *current) onInlineElement79(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) } -func (p *parser) callonDocumentHeader175() (interface{}, error) { +func (p *parser) callonInlineElement79() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader175() + return p.cur.onInlineElement79(stack["name"], stack["start"]) } -func (c *current) onDocumentHeader179() (interface{}, error) { +func (c *current) onInlineElement105() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentHeader179() (interface{}, error) { +func (p *parser) callonInlineElement105() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader179() + return p.cur.onInlineElement105() } -func (c *current) onDocumentHeader183() (interface{}, error) { - // no space allowed - return string(c.text), nil +func (c *current) onInlineElement101(name interface{}) (interface{}, error) { + + log.Debug("matching escaped attribute reference") + // return types.NewStringElement("{"+name.(string)+"}") + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) } -func (p *parser) callonDocumentHeader183() (interface{}, error) { +func (p *parser) callonInlineElement101() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader183() + return p.cur.onInlineElement101(stack["name"]) } -func (c *current) onDocumentHeader187() (interface{}, error) { +func (c *current) onInlineElement115() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentHeader187() (interface{}, error) { +func (p *parser) callonInlineElement115() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader187() + return p.cur.onInlineElement115() } -func (c *current) onDocumentHeader191() (interface{}, error) { - // spaces allowed - return string(c.text), nil +func (c *current) onInlineElement111(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonDocumentHeader191() (interface{}, error) { +func (p *parser) callonInlineElement111() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader191() + return p.cur.onInlineElement111(stack["name"]) } -func (c *current) onDocumentHeader195() (interface{}, error) { - return string(c.text), nil +func (c *current) onInlineElement52(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonDocumentHeader195() (interface{}, error) { +func (p *parser) callonInlineElement52() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader195() + return p.cur.onInlineElement52(stack["element"]) } -func (c *current) onDocumentHeader172(part1, part2, part3 interface{}) (interface{}, error) { - return types.NewDocumentAuthorFullName(part1.(string), part2, part3) +func (c *current) onInlineElement124() (bool, error) { + return c.isSubstitutionEnabled(SpecialCharacters), nil } -func (p *parser) callonDocumentHeader172() (interface{}, error) { +func (p *parser) callonInlineElement124() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader172(stack["part1"], stack["part2"], stack["part3"]) + return p.cur.onInlineElement124() } -func (c *current) onDocumentHeader206() (interface{}, error) { +func (c *current) onInlineElement133() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ return string(c.text), nil } -func (p *parser) callonDocumentHeader206() (interface{}, error) { +func (p *parser) callonInlineElement133() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader206() + return p.cur.onInlineElement133() } -func (c *current) onDocumentHeader199(email interface{}) (interface{}, error) { - return email, nil +func (c *current) onInlineElement137() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDocumentHeader199() (interface{}, error) { +func (p *parser) callonInlineElement137() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader199(stack["email"]) + return p.cur.onInlineElement137() } -func (c *current) onDocumentHeader211() (interface{}, error) { - return string(c.text), nil +func (c *current) onInlineElement143() (interface{}, error) { + // `{`, `>` and `>` characters are not allowed as they are used for attribute substitutions and cross-references + return types.NewStringElement(string(c.text)) } -func (p *parser) callonDocumentHeader211() (interface{}, error) { +func (p *parser) callonInlineElement143() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader211() + return p.cur.onInlineElement143() } -func (c *current) onDocumentHeader216() (interface{}, error) { +func (c *current) onInlineElement152() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentHeader216() (interface{}, error) { +func (p *parser) callonInlineElement152() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader216() + return p.cur.onInlineElement152() } -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) onInlineElement148(name interface{}) (interface{}, error) { + + log.Debug("matching escaped attribute reference") + // return types.NewStringElement("{"+name.(string)+"}") + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) } -func (p *parser) callonDocumentHeader218() (bool, error) { +func (p *parser) callonInlineElement148() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader218(stack["fullName"], stack["email"]) + return p.cur.onInlineElement148(stack["name"]) } -func (c *current) onDocumentHeader168(fullName, email interface{}) (interface{}, error) { - return types.NewDocumentAuthor(fullName, email) +func (c *current) onInlineElement162() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDocumentHeader168() (interface{}, error) { +func (p *parser) callonInlineElement162() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader168(stack["fullName"], stack["email"]) -} - -func (c *current) onDocumentHeader162(authors interface{}) (interface{}, error) { - return types.NewDocumentAuthors(authors.([]interface{})...) + return p.cur.onInlineElement162() } -func (p *parser) callonDocumentHeader162() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentHeader162(stack["authors"]) -} +func (c *current) onInlineElement158(name interface{}) (interface{}, error) { -func (c *current) onDocumentHeader223() (interface{}, error) { - return string(c.text), nil + return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonDocumentHeader223() (interface{}, error) { +func (p *parser) callonInlineElement158() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader223() + return p.cur.onInlineElement158(stack["name"]) } -func (c *current) onDocumentHeader233() (interface{}, error) { - // no space allowed - return string(c.text), nil +func (c *current) onInlineElement168() (interface{}, error) { + + return types.NewStringElement(string(c.text)) } -func (p *parser) callonDocumentHeader233() (interface{}, error) { +func (p *parser) callonInlineElement168() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader233() + return p.cur.onInlineElement168() } -func (c *current) onDocumentHeader237() (interface{}, error) { - return string(c.text), nil +func (c *current) onInlineElement129(id, label interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, label) } -func (p *parser) callonDocumentHeader237() (interface{}, error) { +func (p *parser) callonInlineElement129() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader237() + return p.cur.onInlineElement129(stack["id"], stack["label"]) } -func (c *current) onDocumentHeader241() (interface{}, error) { - // no space allowed +func (c *current) onInlineElement175() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ return string(c.text), nil } -func (p *parser) callonDocumentHeader241() (interface{}, error) { +func (p *parser) callonInlineElement175() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader241() + return p.cur.onInlineElement175() } -func (c *current) onDocumentHeader245() (interface{}, error) { - return string(c.text), nil +func (c *current) onInlineElement171(id interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, nil) } -func (p *parser) callonDocumentHeader245() (interface{}, error) { +func (p *parser) callonInlineElement171() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader245() + return p.cur.onInlineElement171(stack["id"]) } -func (c *current) onDocumentHeader249() (interface{}, error) { - // spaces allowed - return string(c.text), nil +func (c *current) onInlineElement127() (interface{}, error) { + return types.NewStringElement(string(c.text)) } -func (p *parser) callonDocumentHeader249() (interface{}, error) { +func (p *parser) callonInlineElement127() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader249() + return p.cur.onInlineElement127() } -func (c *current) onDocumentHeader253() (interface{}, error) { - return string(c.text), nil +func (c *current) onInlineElement179() (interface{}, error) { + return types.NewSpecialCharacter(string(c.text)) } -func (p *parser) callonDocumentHeader253() (interface{}, error) { +func (p *parser) callonInlineElement179() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader253() + return p.cur.onInlineElement179() } -func (c *current) onDocumentHeader230(part1, part2, part3 interface{}) (interface{}, error) { - return types.NewDocumentAuthorFullName(part1.(string), part2, part3) +func (c *current) onInlineElement122(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonDocumentHeader230() (interface{}, error) { +func (p *parser) callonInlineElement122() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader230(stack["part1"], stack["part2"], stack["part3"]) + return p.cur.onInlineElement122(stack["element"]) } -func (c *current) onDocumentHeader264() (interface{}, error) { - return string(c.text), nil +func (c *current) onInlineElement185() (interface{}, error) { + return types.NewStringElement("\u2019") } -func (p *parser) callonDocumentHeader264() (interface{}, error) { +func (p *parser) callonInlineElement185() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader264() + return p.cur.onInlineElement185() } -func (c *current) onDocumentHeader257(email interface{}) (interface{}, error) { - return email, nil +func (c *current) onInlineElement187() (interface{}, error) { + return types.NewStringElement("\u00a9") } -func (p *parser) callonDocumentHeader257() (interface{}, error) { +func (p *parser) callonInlineElement187() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader257(stack["email"]) + return p.cur.onInlineElement187() } -func (c *current) onDocumentHeader269() (interface{}, error) { - return string(c.text), nil +func (c *current) onInlineElement189() (interface{}, error) { + return types.NewStringElement("\u2122") } -func (p *parser) callonDocumentHeader269() (interface{}, error) { +func (p *parser) callonInlineElement189() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader269() + return p.cur.onInlineElement189() } -func (c *current) onDocumentHeader274() (interface{}, error) { - return string(c.text), nil +func (c *current) onInlineElement191() (interface{}, error) { + return types.NewStringElement("\u00ae") } -func (p *parser) callonDocumentHeader274() (interface{}, error) { +func (p *parser) callonInlineElement191() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader274() + return p.cur.onInlineElement191() } -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) onInlineElement193() (interface{}, error) { + return types.NewStringElement("\u2026\u200b") } -func (p *parser) callonDocumentHeader276() (bool, error) { +func (p *parser) callonInlineElement193() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader276(stack["fullName"], stack["email"]) + return p.cur.onInlineElement193() } -func (c *current) onDocumentHeader226(fullName, email interface{}) (interface{}, error) { - return types.NewDocumentAuthor(fullName, email) +func (c *current) onInlineElement181() (interface{}, error) { + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) } -func (p *parser) callonDocumentHeader226() (interface{}, error) { +func (p *parser) callonInlineElement181() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader226(stack["fullName"], stack["email"]) + return p.cur.onInlineElement181() } -func (c *current) onDocumentHeader219(author interface{}) (interface{}, error) { - return types.NewDocumentAuthors(author) +func (c *current) onInlineElement195() (interface{}, error) { + return types.NewStringElement("\u2019") + } -func (p *parser) callonDocumentHeader219() (interface{}, error) { +func (p *parser) callonInlineElement195() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader219(stack["author"]) + return p.cur.onInlineElement195() } -func (c *current) onDocumentHeader278() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onInlineElement197() (interface{}, error) { + return types.NewStringElement("\u00a9") + } -func (p *parser) callonDocumentHeader278() (interface{}, error) { +func (p *parser) callonInlineElement197() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader278() + return p.cur.onInlineElement197() } -func (c *current) onDocumentHeader155(authors interface{}) (interface{}, error) { - return authors, nil +func (c *current) onInlineElement199() (interface{}, error) { + return types.NewStringElement("\u2122") + } -func (p *parser) callonDocumentHeader155() (interface{}, error) { +func (p *parser) callonInlineElement199() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader155(stack["authors"]) + return p.cur.onInlineElement199() } -func (c *current) onDocumentHeader293() (interface{}, error) { - return string(c.text), nil +func (c *current) onInlineElement201() (interface{}, error) { + return types.NewStringElement("\u00ae") } -func (p *parser) callonDocumentHeader293() (interface{}, error) { +func (p *parser) callonInlineElement201() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader293() + return p.cur.onInlineElement201() } -func (c *current) onDocumentHeader297() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onInlineElement203() (interface{}, error) { + return types.NewStringElement("\u2026\u200b") + } -func (p *parser) callonDocumentHeader297() (interface{}, error) { +func (p *parser) callonInlineElement203() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader297() + return p.cur.onInlineElement203() } -func (c *current) onDocumentHeader287(content interface{}) (interface{}, error) { - return types.NewSingleLineComment(content.(string)) +func (c *current) onInlineElement205() (interface{}, error) { + log.Debug("matched escaped apostrophe") + return types.NewStringElement(strings.TrimSuffix(string(c.text), `\'`) + `'`) // retain the apostrophe, but discard the `\` escape char } -func (p *parser) callonDocumentHeader287() (interface{}, error) { +func (p *parser) callonInlineElement205() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader287(stack["content"]) + return p.cur.onInlineElement205() } -func (c *current) onDocumentHeader310() (interface{}, error) { - return string(c.text), nil +func (c *current) onInlineElement211() (interface{}, error) { + return types.NewStringElement(strings.TrimSuffix(string(c.text), `'`) + "\u2019") // convert quote } -func (p *parser) callonDocumentHeader310() (interface{}, error) { +func (p *parser) callonInlineElement211() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader310() + return p.cur.onInlineElement211() } -func (c *current) onDocumentHeader313() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onInlineElement221() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentHeader313() (interface{}, error) { +func (p *parser) callonInlineElement221() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader313() + return p.cur.onInlineElement221() } -func (c *current) onDocumentHeader306() (interface{}, error) { - return types.NewBlockDelimiter(types.Comment, string(c.text)) +func (c *current) onInlineElement217(ref interface{}) (interface{}, error) { + return types.NewElementPlaceHolder(ref.(string)) } -func (p *parser) callonDocumentHeader306() (interface{}, error) { +func (p *parser) callonInlineElement217() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader306() + return p.cur.onInlineElement217(stack["ref"]) } -func (c *current) onDocumentHeader330() (interface{}, error) { - return string(c.text), nil +func (c *current) onInlineElement225() (interface{}, error) { + + return types.NewStringElement(string(c.text)) } -func (p *parser) callonDocumentHeader330() (interface{}, error) { +func (p *parser) callonInlineElement225() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader330() + return p.cur.onInlineElement225() } -func (c *current) onDocumentHeader333() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onInlineElement1(element interface{}) (interface{}, error) { + c.trackSpaceSuffix(element) + return element, nil } -func (p *parser) callonDocumentHeader333() (interface{}, error) { +func (p *parser) callonInlineElement1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader333() + return p.cur.onInlineElement1(stack["element"]) } -func (c *current) onDocumentHeader326() (interface{}, error) { - return types.NewBlockDelimiter(types.Comment, string(c.text)) +func (c *current) onIndexTerm1(term interface{}) (interface{}, error) { + return types.NewIndexTerm(term.([]interface{})) + } -func (p *parser) callonDocumentHeader326() (interface{}, error) { +func (p *parser) callonIndexTerm1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader326() + return p.cur.onIndexTerm1(stack["term"]) } -func (c *current) onDocumentHeader349() (interface{}, error) { - // content is NOT mandatory - return string(c.text), nil +func (c *current) onIndexTermContent5() (interface{}, error) { + return types.NewStringElement(string(c.text)) } -func (p *parser) callonDocumentHeader349() (interface{}, error) { +func (p *parser) callonIndexTermContent5() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader349() + return p.cur.onIndexTermContent5() } -func (c *current) onDocumentHeader353() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onIndexTermContent14() (interface{}, error) { + // allow ` + return types.NewStringElement(string(c.text)) + } -func (p *parser) callonDocumentHeader353() (interface{}, error) { +func (p *parser) callonIndexTermContent14() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader353() + return p.cur.onIndexTermContent14() } -func (c *current) onDocumentHeader343(content interface{}) (interface{}, error) { - - return types.NewRawLine(content.(string)) +func (c *current) onIndexTermContent25() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDocumentHeader343() (interface{}, error) { +func (p *parser) callonIndexTermContent25() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader343(stack["content"]) + return p.cur.onIndexTermContent25() } -func (c *current) onDocumentHeader322(line interface{}) (interface{}, error) { - return line, nil +func (c *current) onIndexTermContent29() (bool, error) { + return c.isSubstitutionEnabled(SpecialCharacters), nil } -func (p *parser) callonDocumentHeader322() (interface{}, error) { +func (p *parser) callonIndexTermContent29() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader322(stack["line"]) + return p.cur.onIndexTermContent29() } -func (c *current) onDocumentHeader366() (interface{}, error) { +func (c *current) onIndexTermContent38() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ return string(c.text), nil } -func (p *parser) callonDocumentHeader366() (interface{}, error) { +func (p *parser) callonIndexTermContent38() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader366() + return p.cur.onIndexTermContent38() } -func (c *current) onDocumentHeader369() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onIndexTermContent42() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonDocumentHeader369() (interface{}, error) { +func (p *parser) callonIndexTermContent42() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader369() + return p.cur.onIndexTermContent42() } -func (c *current) onDocumentHeader362() (interface{}, error) { - return types.NewBlockDelimiter(types.Comment, 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) callonDocumentHeader362() (interface{}, error) { +func (p *parser) callonIndexTermContent48() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader362() + return p.cur.onIndexTermContent48() } -func (c *current) onDocumentHeader304(content interface{}) (interface{}, error) { - c.unsetWithinDelimitedBlock() - return types.NewDelimitedBlock(types.Comment, content.([]interface{})) +func (c *current) onIndexTermContent57() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDocumentHeader304() (interface{}, error) { +func (p *parser) callonIndexTermContent57() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader304(stack["content"]) + return p.cur.onIndexTermContent57() } -func (c *current) onDocumentHeader383() (interface{}, error) { - return string(c.text), nil +func (c *current) onIndexTermContent53(name interface{}) (interface{}, error) { + + log.Debug("matching escaped attribute reference") + // return types.NewStringElement("{"+name.(string)+"}") + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) } -func (p *parser) callonDocumentHeader383() (interface{}, error) { +func (p *parser) callonIndexTermContent53() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader383() + return p.cur.onIndexTermContent53(stack["name"]) } -func (c *current) onDocumentHeader393() (interface{}, error) { +func (c *current) onIndexTermContent67() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonDocumentHeader393() (interface{}, error) { +func (p *parser) callonIndexTermContent67() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader393() + return p.cur.onIndexTermContent67() } -func (c *current) onDocumentHeader407() (interface{}, error) { - return string(c.text), nil +func (c *current) onIndexTermContent63(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonDocumentHeader407() (interface{}, error) { +func (p *parser) callonIndexTermContent63() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader407() + return p.cur.onIndexTermContent63(stack["name"]) } -func (c *current) onDocumentHeader399() (interface{}, error) { - return string(c.text), nil +func (c *current) onIndexTermContent73() (interface{}, error) { + + return types.NewStringElement(string(c.text)) + } -func (p *parser) callonDocumentHeader399() (interface{}, error) { +func (p *parser) callonIndexTermContent73() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader399() + return p.cur.onIndexTermContent73() } -func (c *current) onDocumentHeader415() (interface{}, error) { - return string(c.text), nil +func (c *current) onIndexTermContent34(id, label interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, label) + } -func (p *parser) callonDocumentHeader415() (interface{}, error) { +func (p *parser) callonIndexTermContent34() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader415() + return p.cur.onIndexTermContent34(stack["id"], stack["label"]) } -func (c *current) onDocumentHeader422() (interface{}, error) { +func (c *current) onIndexTermContent80() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ return string(c.text), nil + } -func (p *parser) callonDocumentHeader422() (interface{}, error) { +func (p *parser) callonIndexTermContent80() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader422() + return p.cur.onIndexTermContent80() } -func (c *current) onDocumentHeader389(revnumber, revdate, revremark interface{}) (interface{}, error) { - return types.NewDocumentRevision(revnumber, revdate, revremark) +func (c *current) onIndexTermContent76(id interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, nil) } -func (p *parser) callonDocumentHeader389() (interface{}, error) { +func (p *parser) callonIndexTermContent76() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader389(stack["revnumber"], stack["revdate"], stack["revremark"]) + return p.cur.onIndexTermContent76(stack["id"]) } -func (c *current) onDocumentHeader428() (interface{}, error) { - return string(c.text), nil +func (c *current) onIndexTermContent32() (interface{}, error) { + return types.NewStringElement(string(c.text)) + } -func (p *parser) callonDocumentHeader428() (interface{}, error) { +func (p *parser) callonIndexTermContent32() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader428() + return p.cur.onIndexTermContent32() } -func (c *current) onDocumentHeader435() (interface{}, error) { - return string(c.text), nil +func (c *current) onIndexTermContent84() (interface{}, error) { + return types.NewSpecialCharacter(string(c.text)) + } -func (p *parser) callonDocumentHeader435() (interface{}, error) { +func (p *parser) callonIndexTermContent84() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader435() + return p.cur.onIndexTermContent84() } -func (c *current) onDocumentHeader425(revdate, revremark interface{}) (interface{}, error) { - return types.NewDocumentRevision(nil, revdate, revremark) +func (c *current) onIndexTermContent27(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonDocumentHeader425() (interface{}, error) { +func (p *parser) callonIndexTermContent27() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader425(stack["revdate"], stack["revremark"]) + return p.cur.onIndexTermContent27(stack["element"]) } -func (c *current) onDocumentHeader439() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onIndexTermContent90() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentHeader439() (interface{}, error) { +func (p *parser) callonIndexTermContent90() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader439() + return p.cur.onIndexTermContent90() } -func (c *current) onDocumentHeader380(revision interface{}) (interface{}, error) { - return revision, nil +func (c *current) onIndexTermContent86(ref interface{}) (interface{}, error) { + return types.NewElementPlaceHolder(ref.(string)) } -func (p *parser) callonDocumentHeader380() (interface{}, error) { +func (p *parser) callonIndexTermContent86() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader380(stack["revision"]) + return p.cur.onIndexTermContent86(stack["ref"]) } -func (c *current) onDocumentHeader42(authors, revision interface{}) (interface{}, error) { - return types.NewDocumentInformation(authors.(types.DocumentAuthors), revision) - +func (c *current) onIndexTermContent94() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDocumentHeader42() (interface{}, error) { +func (p *parser) callonIndexTermContent94() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader42(stack["authors"], stack["revision"]) + return p.cur.onIndexTermContent94() } -func (c *current) onDocumentHeader454() (interface{}, error) { - return string(c.text), nil - +func (c *current) onIndexTermContent1(elements interface{}) (interface{}, error) { + return types.NewInlineElements(elements.([]interface{})) } -func (p *parser) callonDocumentHeader454() (interface{}, error) { +func (p *parser) callonIndexTermContent1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader454() + return p.cur.onIndexTermContent1(stack["elements"]) } -func (c *current) onDocumentHeader461() (interface{}, error) { - return string(c.text), nil +func (c *current) onImageBlock25() (interface{}, error) { + // not supported for now: EOL, space, "{", "[", "]". Also, punctuation chars and `<` and `>` special chars are treated separately below (but `&` is allowed) + return types.NewStringElement(string(c.text)) } -func (p *parser) callonDocumentHeader461() (interface{}, error) { +func (p *parser) callonImageBlock25() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader461() + return p.cur.onImageBlock25() } -func (c *current) onDocumentHeader464() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onImageBlock29() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentHeader464() (interface{}, error) { +func (p *parser) callonImageBlock29() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader464() + return p.cur.onImageBlock29() } -func (c *current) onDocumentHeader450(name interface{}) (interface{}, error) { - return types.NewAttributeReset(name.(string), string(c.text)) +func (c *current) onImageBlock36() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonDocumentHeader450() (interface{}, error) { +func (p *parser) callonImageBlock36() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader450(stack["name"]) + return p.cur.onImageBlock36() } -func (c *current) onDocumentHeader475() (interface{}, error) { - return string(c.text), nil +func (c *current) onImageBlock40() (bool, error) { + return c.isSubstitutionEnabled(Attributes), nil } -func (p *parser) callonDocumentHeader475() (interface{}, error) { +func (p *parser) callonImageBlock40() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader475() + return p.cur.onImageBlock40() } -func (c *current) onDocumentHeader482() (interface{}, error) { +func (c *current) onImageBlock47() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentHeader482() (interface{}, error) { +func (p *parser) callonImageBlock47() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader482() + return p.cur.onImageBlock47() } -func (c *current) onDocumentHeader485() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onImageBlock59() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonDocumentHeader485() (interface{}, error) { +func (p *parser) callonImageBlock59() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader485() + return p.cur.onImageBlock59() } -func (c *current) onDocumentHeader471(name interface{}) (interface{}, error) { - return types.NewAttributeReset(name.(string), string(c.text)) +func (c *current) onImageBlock61() (interface{}, error) { + + return strconv.Atoi(string(c.text)) + } -func (p *parser) callonDocumentHeader471() (interface{}, error) { +func (p *parser) callonImageBlock61() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader471(stack["name"]) + return p.cur.onImageBlock61() } -func (c *current) onDocumentHeader498() (interface{}, error) { - return string(c.text), nil +func (c *current) onImageBlock54(start interface{}) (interface{}, error) { + return start, nil } -func (p *parser) callonDocumentHeader498() (interface{}, error) { +func (p *parser) callonImageBlock54() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader498() + return p.cur.onImageBlock54(stack["start"]) } -func (c *current) onDocumentHeader502() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onImageBlock43(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) } -func (p *parser) callonDocumentHeader502() (interface{}, error) { +func (p *parser) callonImageBlock43() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader502() + return p.cur.onImageBlock43(stack["name"], stack["start"]) } -func (c *current) onDocumentHeader492(content interface{}) (interface{}, error) { - return types.NewSingleLineComment(content.(string)) +func (c *current) onImageBlock69() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDocumentHeader492() (interface{}, error) { +func (p *parser) callonImageBlock69() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader492(stack["content"]) + return p.cur.onImageBlock69() } -func (c *current) onDocumentHeader515() (interface{}, error) { +func (c *current) onImageBlock81() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentHeader515() (interface{}, error) { +func (p *parser) callonImageBlock81() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader515() + return p.cur.onImageBlock81() } -func (c *current) onDocumentHeader518() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onImageBlock83() (interface{}, error) { + + return strconv.Atoi(string(c.text)) + } -func (p *parser) callonDocumentHeader518() (interface{}, error) { +func (p *parser) callonImageBlock83() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader518() + return p.cur.onImageBlock83() } -func (c *current) onDocumentHeader511() (interface{}, error) { - return types.NewBlockDelimiter(types.Comment, string(c.text)) +func (c *current) onImageBlock76(start interface{}) (interface{}, error) { + return start, nil + } -func (p *parser) callonDocumentHeader511() (interface{}, error) { +func (p *parser) callonImageBlock76() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader511() + return p.cur.onImageBlock76(stack["start"]) } -func (c *current) onDocumentHeader535() (interface{}, error) { - return string(c.text), nil - +func (c *current) onImageBlock65(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) } -func (p *parser) callonDocumentHeader535() (interface{}, error) { +func (p *parser) callonImageBlock65() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader535() + return p.cur.onImageBlock65(stack["name"], stack["start"]) } -func (c *current) onDocumentHeader538() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onImageBlock91() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonDocumentHeader538() (interface{}, error) { +func (p *parser) callonImageBlock91() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader538() + return p.cur.onImageBlock91() } -func (c *current) onDocumentHeader531() (interface{}, error) { - return types.NewBlockDelimiter(types.Comment, string(c.text)) +func (c *current) onImageBlock87(name interface{}) (interface{}, error) { + + log.Debug("matching escaped attribute reference") + // return types.NewStringElement("{"+name.(string)+"}") + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) + } -func (p *parser) callonDocumentHeader531() (interface{}, error) { +func (p *parser) callonImageBlock87() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader531() + return p.cur.onImageBlock87(stack["name"]) } -func (c *current) onDocumentHeader554() (interface{}, error) { - // content is NOT mandatory +func (c *current) onImageBlock101() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentHeader554() (interface{}, error) { +func (p *parser) callonImageBlock101() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader554() + return p.cur.onImageBlock101() } -func (c *current) onDocumentHeader558() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onImageBlock97(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) + } -func (p *parser) callonDocumentHeader558() (interface{}, error) { +func (p *parser) callonImageBlock97() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader558() + return p.cur.onImageBlock97(stack["name"]) } -func (c *current) onDocumentHeader548(content interface{}) (interface{}, error) { - - return types.NewRawLine(content.(string)) +func (c *current) onImageBlock38(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonDocumentHeader548() (interface{}, error) { +func (p *parser) callonImageBlock38() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader548(stack["content"]) + return p.cur.onImageBlock38(stack["element"]) } -func (c *current) onDocumentHeader527(line interface{}) (interface{}, error) { - return line, nil +func (c *current) onImageBlock109() (bool, error) { + return c.isSubstitutionEnabled(SpecialCharacters), nil } -func (p *parser) callonDocumentHeader527() (interface{}, error) { +func (p *parser) callonImageBlock109() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader527(stack["line"]) + return p.cur.onImageBlock109() } -func (c *current) onDocumentHeader571() (interface{}, error) { +func (c *current) onImageBlock118() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ return string(c.text), nil } -func (p *parser) callonDocumentHeader571() (interface{}, error) { +func (p *parser) callonImageBlock118() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader571() + return p.cur.onImageBlock118() } -func (c *current) onDocumentHeader574() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onImageBlock122() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonDocumentHeader574() (interface{}, error) { +func (p *parser) callonImageBlock122() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader574() + return p.cur.onImageBlock122() } -func (c *current) onDocumentHeader567() (interface{}, error) { - return types.NewBlockDelimiter(types.Comment, string(c.text)) +func (c *current) onImageBlock128() (interface{}, error) { + // `{`, `>` and `>` characters are not allowed as they are used for attribute substitutions and cross-references + return types.NewStringElement(string(c.text)) + } -func (p *parser) callonDocumentHeader567() (interface{}, error) { +func (p *parser) callonImageBlock128() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader567() + return p.cur.onImageBlock128() } -func (c *current) onDocumentHeader509(content interface{}) (interface{}, error) { - c.unsetWithinDelimitedBlock() - return types.NewDelimitedBlock(types.Comment, content.([]interface{})) +func (c *current) onImageBlock137() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDocumentHeader509() (interface{}, error) { +func (p *parser) callonImageBlock137() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader509(stack["content"]) + return p.cur.onImageBlock137() } -func (c *current) onDocumentHeader1(title, info, extraAttrs interface{}) (interface{}, error) { - return types.NewDocumentHeader(title.([]interface{}), info, extraAttrs.([]interface{})) +func (c *current) onImageBlock133(name interface{}) (interface{}, error) { + + log.Debug("matching escaped attribute reference") + // return types.NewStringElement("{"+name.(string)+"}") + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) } -func (p *parser) callonDocumentHeader1() (interface{}, error) { +func (p *parser) callonImageBlock133() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader1(stack["title"], stack["info"], stack["extraAttrs"]) + return p.cur.onImageBlock133(stack["name"]) } -func (c *current) onInlineElement9() (interface{}, error) { +func (c *current) onImageBlock147() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonInlineElement9() (interface{}, error) { +func (p *parser) callonImageBlock147() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement9() + return p.cur.onImageBlock147() } -func (c *current) onInlineElement14() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onImageBlock143(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) + } -func (p *parser) callonInlineElement14() (interface{}, error) { +func (p *parser) callonImageBlock143() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement14() + return p.cur.onImageBlock143(stack["name"]) } -func (c *current) onInlineElement4() (interface{}, error) { +func (c *current) onImageBlock153() (interface{}, error) { + return types.NewStringElement(string(c.text)) } -func (p *parser) callonInlineElement4() (interface{}, error) { +func (p *parser) callonImageBlock153() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement4() + return p.cur.onImageBlock153() } -func (c *current) onInlineElement21() (interface{}, error) { - // log.Debug("matched multiple spaces") - return string(c.text), nil +func (c *current) onImageBlock114(id, label interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, label) } -func (p *parser) callonInlineElement21() (interface{}, error) { +func (p *parser) callonImageBlock114() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement21() + return p.cur.onImageBlock114(stack["id"], stack["label"]) } -func (c *current) onInlineElement26() (bool, error) { - - return c.isSubstitutionEnabled(PostReplacements) && c.isPreceededBySpace(), nil +func (c *current) onImageBlock160() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ + return string(c.text), nil } -func (p *parser) callonInlineElement26() (bool, error) { +func (p *parser) callonImageBlock160() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement26() + return p.cur.onImageBlock160() } -func (c *current) onInlineElement29() (interface{}, error) { - return string(c.text), nil +func (c *current) onImageBlock156(id interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, nil) } -func (p *parser) callonInlineElement29() (interface{}, error) { +func (p *parser) callonImageBlock156() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement29() + return p.cur.onImageBlock156(stack["id"]) } -func (c *current) onInlineElement33() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onImageBlock112() (interface{}, error) { + return types.NewStringElement(string(c.text)) + } -func (p *parser) callonInlineElement33() (interface{}, error) { +func (p *parser) callonImageBlock112() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement33() + return p.cur.onImageBlock112() } -func (c *current) onInlineElement24() (interface{}, error) { - return types.NewLineBreak() +func (c *current) onImageBlock164() (interface{}, error) { + return types.NewSpecialCharacter(string(c.text)) } -func (p *parser) callonInlineElement24() (interface{}, error) { +func (p *parser) callonImageBlock164() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement24() + return p.cur.onImageBlock164() } -func (c *current) onInlineElement43() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onImageBlock107(element interface{}) (interface{}, error) { + return element, nil + } -func (p *parser) callonInlineElement43() (interface{}, error) { +func (p *parser) callonImageBlock107() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement43() + return p.cur.onImageBlock107(stack["element"]) } -func (c *current) onInlineElement54() (bool, error) { - return c.isSubstitutionEnabled(Attributes), nil +func (c *current) onImageBlock166() (interface{}, error) { + return types.NewStringElement(string(c.text)) } -func (p *parser) callonInlineElement54() (bool, error) { +func (p *parser) callonImageBlock166() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement54() + return p.cur.onImageBlock166() } -func (c *current) onInlineElement61() (interface{}, error) { - return string(c.text), nil +func (c *current) onImageBlock18(elements interface{}) (interface{}, error) { + return types.NewInlineElements(elements.([]interface{})) } -func (p *parser) callonInlineElement61() (interface{}, error) { +func (p *parser) callonImageBlock18() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement61() + return p.cur.onImageBlock18(stack["elements"]) } -func (c *current) onInlineElement73() (interface{}, error) { +func (c *current) onImageBlock172() (interface{}, error) { return string(c.text), nil - } -func (p *parser) callonInlineElement73() (interface{}, error) { +func (p *parser) callonImageBlock172() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement73() + return p.cur.onImageBlock172() } -func (c *current) onInlineElement75() (interface{}, error) { - - return strconv.Atoi(string(c.text)) - +func (c *current) onImageBlock168(ref interface{}) (interface{}, error) { + return types.NewElementPlaceHolder(ref.(string)) } -func (p *parser) callonInlineElement75() (interface{}, error) { +func (p *parser) callonImageBlock168() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement75() + return p.cur.onImageBlock168(stack["ref"]) } -func (c *current) onInlineElement68(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onImageBlock5(scheme, path interface{}) (interface{}, error) { + return types.NewLocation(scheme, path.([]interface{})) } -func (p *parser) callonInlineElement68() (interface{}, error) { +func (p *parser) callonImageBlock5() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement68(stack["start"]) + return p.cur.onImageBlock5(stack["scheme"], stack["path"]) } -func (c *current) onInlineElement57(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) +func (c *current) onImageBlock179() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonInlineElement57() (interface{}, error) { +func (p *parser) callonImageBlock179() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement57(stack["name"], stack["start"]) + return p.cur.onImageBlock179() } -func (c *current) onInlineElement83() (interface{}, error) { +func (c *current) onImageBlock182() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonInlineElement83() (interface{}, error) { +func (p *parser) callonImageBlock182() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement83() + return p.cur.onImageBlock182() } -func (c *current) onInlineElement95() (interface{}, error) { - return string(c.text), nil +func (c *current) onImageBlock1(path, attributes interface{}) (interface{}, error) { + // 'imagesdir' attribute is added after applying the attribute substitutions on the image location + return types.NewImageBlock(path.(*types.Location), attributes.(types.Attributes)) } -func (p *parser) callonInlineElement95() (interface{}, error) { +func (p *parser) callonImageBlock1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement95() + return p.cur.onImageBlock1(stack["path"], stack["attributes"]) } -func (c *current) onInlineElement97() (interface{}, error) { - - return strconv.Atoi(string(c.text)) +func (c *current) onInlineImage27() (interface{}, error) { + // not supported for now: EOL, space, "{", "[", "]". Also, punctuation chars and `<` and `>` special chars are treated separately below (but `&` is allowed) + return types.NewStringElement(string(c.text)) } -func (p *parser) callonInlineElement97() (interface{}, error) { +func (p *parser) callonInlineImage27() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement97() + return p.cur.onInlineImage27() } -func (c *current) onInlineElement90(start interface{}) (interface{}, error) { - return start, nil - +func (c *current) onInlineImage31() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonInlineElement90() (interface{}, error) { +func (p *parser) callonInlineImage31() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement90(stack["start"]) + return p.cur.onInlineImage31() } -func (c *current) onInlineElement79(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) +func (c *current) onInlineImage38() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonInlineElement79() (interface{}, error) { +func (p *parser) callonInlineImage38() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement79(stack["name"], stack["start"]) + return p.cur.onInlineImage38() } -func (c *current) onInlineElement105() (interface{}, error) { - return string(c.text), nil +func (c *current) onInlineImage42() (bool, error) { + return c.isSubstitutionEnabled(Attributes), nil } -func (p *parser) callonInlineElement105() (interface{}, error) { +func (p *parser) callonInlineImage42() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement105() + return p.cur.onInlineImage42() } -func (c *current) onInlineElement101(name interface{}) (interface{}, error) { - - return types.NewAttributeSubstitution(name.(string), string(c.text)) +func (c *current) onInlineImage49() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonInlineElement101() (interface{}, error) { +func (p *parser) callonInlineImage49() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement101(stack["name"]) + return p.cur.onInlineImage49() } -func (c *current) onInlineElement52(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onInlineImage61() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonInlineElement52() (interface{}, error) { +func (p *parser) callonInlineImage61() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement52(stack["element"]) + return p.cur.onInlineImage61() } -func (c *current) onInlineElement114() (bool, error) { - return c.isSubstitutionEnabled(SpecialCharacters), nil +func (c *current) onInlineImage63() (interface{}, error) { + + return strconv.Atoi(string(c.text)) } -func (p *parser) callonInlineElement114() (bool, error) { +func (p *parser) callonInlineImage63() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement114() + return p.cur.onInlineImage63() } -func (c *current) onInlineElement123() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ - return string(c.text), nil +func (c *current) onInlineImage56(start interface{}) (interface{}, error) { + return start, nil } -func (p *parser) callonInlineElement123() (interface{}, error) { +func (p *parser) callonInlineImage56() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement123() + return p.cur.onInlineImage56(stack["start"]) } -func (c *current) onInlineElement127() (interface{}, error) { - return string(c.text), nil - +func (c *current) onInlineImage45(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) } -func (p *parser) callonInlineElement127() (interface{}, error) { +func (p *parser) callonInlineImage45() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement127() + return p.cur.onInlineImage45(stack["name"], stack["start"]) } -func (c *current) onInlineElement133() (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) onInlineImage71() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonInlineElement133() (interface{}, error) { +func (p *parser) callonInlineImage71() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement133() + return p.cur.onInlineImage71() } -func (c *current) onInlineElement142() (interface{}, error) { +func (c *current) onInlineImage83() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonInlineElement142() (interface{}, error) { +func (p *parser) callonInlineImage83() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement142() + return p.cur.onInlineImage83() } -func (c *current) onInlineElement138(name interface{}) (interface{}, error) { +func (c *current) onInlineImage85() (interface{}, error) { - return types.NewAttributeSubstitution(name.(string), string(c.text)) + return strconv.Atoi(string(c.text)) } -func (p *parser) callonInlineElement138() (interface{}, error) { +func (p *parser) callonInlineImage85() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement138(stack["name"]) + return p.cur.onInlineImage85() } -func (c *current) onInlineElement148() (interface{}, error) { - - return types.NewStringElement(string(c.text)) +func (c *current) onInlineImage78(start interface{}) (interface{}, error) { + return start, nil } -func (p *parser) callonInlineElement148() (interface{}, error) { +func (p *parser) callonInlineImage78() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement148() + return p.cur.onInlineImage78(stack["start"]) } -func (c *current) onInlineElement119(id, label interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, label) - +func (c *current) onInlineImage67(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) } -func (p *parser) callonInlineElement119() (interface{}, error) { +func (p *parser) callonInlineImage67() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement119(stack["id"], stack["label"]) + return p.cur.onInlineImage67(stack["name"], stack["start"]) } -func (c *current) onInlineElement155() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ +func (c *current) onInlineImage93() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonInlineElement155() (interface{}, error) { +func (p *parser) callonInlineImage93() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement155() + return p.cur.onInlineImage93() } -func (c *current) onInlineElement151(id interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, nil) +func (c *current) onInlineImage89(name interface{}) (interface{}, error) { + + log.Debug("matching escaped attribute reference") + // return types.NewStringElement("{"+name.(string)+"}") + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) } -func (p *parser) callonInlineElement151() (interface{}, error) { +func (p *parser) callonInlineImage89() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement151(stack["id"]) + return p.cur.onInlineImage89(stack["name"]) } -func (c *current) onInlineElement117() (interface{}, error) { - return types.NewStringElement(string(c.text)) +func (c *current) onInlineImage103() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonInlineElement117() (interface{}, error) { +func (p *parser) callonInlineImage103() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement117() + return p.cur.onInlineImage103() } -func (c *current) onInlineElement159() (interface{}, error) { - return types.NewSpecialCharacter(string(c.text)) +func (c *current) onInlineImage99(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonInlineElement159() (interface{}, error) { +func (p *parser) callonInlineImage99() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement159() + return p.cur.onInlineImage99(stack["name"]) } -func (c *current) onInlineElement112(element interface{}) (interface{}, error) { +func (c *current) onInlineImage40(element interface{}) (interface{}, error) { return element, nil } -func (p *parser) callonInlineElement112() (interface{}, error) { +func (p *parser) callonInlineImage40() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement112(stack["element"]) + return p.cur.onInlineImage40(stack["element"]) } -func (c *current) onInlineElement161() (interface{}, error) { - return types.NewStringElement("\u2019") +func (c *current) onInlineImage111() (bool, error) { + return c.isSubstitutionEnabled(SpecialCharacters), nil } -func (p *parser) callonInlineElement161() (interface{}, error) { +func (p *parser) callonInlineImage111() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement161() + return p.cur.onInlineImage111() } -func (c *current) onInlineElement163() (interface{}, error) { - return types.NewStringElement("\u00a9") +func (c *current) onInlineImage120() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ + return string(c.text), nil } -func (p *parser) callonInlineElement163() (interface{}, error) { +func (p *parser) callonInlineImage120() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement163() + return p.cur.onInlineImage120() } -func (c *current) onInlineElement165() (interface{}, error) { - return types.NewStringElement("\u2122") +func (c *current) onInlineImage124() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonInlineElement165() (interface{}, error) { +func (p *parser) callonInlineImage124() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement165() + return p.cur.onInlineImage124() } -func (c *current) onInlineElement167() (interface{}, error) { - return types.NewStringElement("\u00ae") +func (c *current) onInlineImage130() (interface{}, error) { + // `{`, `>` and `>` characters are not allowed as they are used for attribute substitutions and cross-references + return types.NewStringElement(string(c.text)) } -func (p *parser) callonInlineElement167() (interface{}, error) { +func (p *parser) callonInlineImage130() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement167() + return p.cur.onInlineImage130() } -func (c *current) onInlineElement169() (interface{}, error) { - return types.NewStringElement("\u2026\u200b") +func (c *current) onInlineImage139() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonInlineElement169() (interface{}, error) { +func (p *parser) callonInlineImage139() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement169() + return p.cur.onInlineImage139() } -func (c *current) onInlineElement171() (interface{}, error) { - return types.NewStringElement(string(c.text[:1]) + "\u2019") +func (c *current) onInlineImage135(name interface{}) (interface{}, error) { + + log.Debug("matching escaped attribute reference") + // return types.NewStringElement("{"+name.(string)+"}") + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) } -func (p *parser) callonInlineElement171() (interface{}, error) { +func (p *parser) callonInlineImage135() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement171() + return p.cur.onInlineImage135(stack["name"]) } -func (c *current) onInlineElement181() (interface{}, error) { +func (c *current) onInlineImage149() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonInlineElement181() (interface{}, error) { +func (p *parser) callonInlineImage149() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement181() + return p.cur.onInlineImage149() } -func (c *current) onInlineElement177(ref interface{}) (interface{}, error) { - return types.NewElementPlaceHolder(ref.(string)) +func (c *current) onInlineImage145(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) + } -func (p *parser) callonInlineElement177() (interface{}, error) { +func (p *parser) callonInlineImage145() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement177(stack["ref"]) + return p.cur.onInlineImage145(stack["name"]) } -func (c *current) onInlineElement185() (interface{}, error) { +func (c *current) onInlineImage155() (interface{}, error) { return types.NewStringElement(string(c.text)) } -func (p *parser) callonInlineElement185() (interface{}, error) { +func (p *parser) callonInlineImage155() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement185() + return p.cur.onInlineImage155() } -func (c *current) onInlineElement1(element interface{}) (interface{}, error) { - c.trackSpaceSuffix(element) - return element, nil +func (c *current) onInlineImage116(id, label interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, label) + } -func (p *parser) callonInlineElement1() (interface{}, error) { +func (p *parser) callonInlineImage116() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement1(stack["element"]) + return p.cur.onInlineImage116(stack["id"], stack["label"]) } -func (c *current) onIndexTerm1(term interface{}) (interface{}, error) { - return types.NewIndexTerm(term.([]interface{})) +func (c *current) onInlineImage162() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ + return string(c.text), nil } -func (p *parser) callonIndexTerm1() (interface{}, error) { +func (p *parser) callonInlineImage162() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIndexTerm1(stack["term"]) + return p.cur.onInlineImage162() } -func (c *current) onIndexTermContent5() (interface{}, error) { - return types.NewStringElement(string(c.text)) +func (c *current) onInlineImage158(id interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, nil) } -func (p *parser) callonIndexTermContent5() (interface{}, error) { +func (p *parser) callonInlineImage158() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIndexTermContent5() + return p.cur.onInlineImage158(stack["id"]) } -func (c *current) onIndexTermContent14() (interface{}, error) { - // allow ` +func (c *current) onInlineImage114() (interface{}, error) { return types.NewStringElement(string(c.text)) } -func (p *parser) callonIndexTermContent14() (interface{}, error) { +func (p *parser) callonInlineImage114() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIndexTermContent14() + return p.cur.onInlineImage114() } -func (c *current) onIndexTermContent25() (interface{}, error) { - return string(c.text), nil +func (c *current) onInlineImage166() (interface{}, error) { + return types.NewSpecialCharacter(string(c.text)) } -func (p *parser) callonIndexTermContent25() (interface{}, error) { +func (p *parser) callonInlineImage166() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIndexTermContent25() + return p.cur.onInlineImage166() } -func (c *current) onIndexTermContent29() (bool, error) { - return c.isSubstitutionEnabled(SpecialCharacters), nil +func (c *current) onInlineImage109(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonIndexTermContent29() (bool, error) { +func (p *parser) callonInlineImage109() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIndexTermContent29() + return p.cur.onInlineImage109(stack["element"]) } -func (c *current) onIndexTermContent38() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ - return string(c.text), nil +func (c *current) onInlineImage168() (interface{}, error) { + return types.NewStringElement(string(c.text)) } -func (p *parser) callonIndexTermContent38() (interface{}, error) { +func (p *parser) callonInlineImage168() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIndexTermContent38() + return p.cur.onInlineImage168() } -func (c *current) onIndexTermContent42() (interface{}, error) { - return string(c.text), nil +func (c *current) onInlineImage20(elements interface{}) (interface{}, error) { + return types.NewInlineElements(elements.([]interface{})) } -func (p *parser) callonIndexTermContent42() (interface{}, error) { +func (p *parser) callonInlineImage20() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIndexTermContent42() + return p.cur.onInlineImage20(stack["elements"]) } -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) onInlineImage174() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonIndexTermContent48() (interface{}, error) { +func (p *parser) callonInlineImage174() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIndexTermContent48() + return p.cur.onInlineImage174() } -func (c *current) onIndexTermContent57() (interface{}, error) { - return string(c.text), nil - +func (c *current) onInlineImage170(ref interface{}) (interface{}, error) { + return types.NewElementPlaceHolder(ref.(string)) } -func (p *parser) callonIndexTermContent57() (interface{}, error) { +func (p *parser) callonInlineImage170() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIndexTermContent57() + return p.cur.onInlineImage170(stack["ref"]) } -func (c *current) onIndexTermContent53(name interface{}) (interface{}, error) { - - return types.NewAttributeSubstitution(name.(string), string(c.text)) +func (c *current) onInlineImage7(scheme, path interface{}) (interface{}, error) { + return types.NewLocation(scheme, path.([]interface{})) } -func (p *parser) callonIndexTermContent53() (interface{}, error) { +func (p *parser) callonInlineImage7() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIndexTermContent53(stack["name"]) + return p.cur.onInlineImage7(stack["scheme"], stack["path"]) } -func (c *current) onIndexTermContent63() (interface{}, error) { - - return types.NewStringElement(string(c.text)) +func (c *current) onInlineImage1(path, attributes interface{}) (interface{}, error) { + return types.NewInlineImage(path.(*types.Location), attributes.(types.Attributes)) } -func (p *parser) callonIndexTermContent63() (interface{}, error) { +func (p *parser) callonInlineImage1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIndexTermContent63() + return p.cur.onInlineImage1(stack["path"], stack["attributes"]) } -func (c *current) onIndexTermContent34(id, label interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, label) - +func (c *current) onInlineIcon5() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonIndexTermContent34() (interface{}, error) { +func (p *parser) callonInlineIcon5() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIndexTermContent34(stack["id"], stack["label"]) + return p.cur.onInlineIcon5() } -func (c *current) onIndexTermContent70() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ - return string(c.text), nil +func (c *current) onInlineIcon1(icon, attributes interface{}) (interface{}, error) { + return types.NewIcon(icon.(string), attributes) } -func (p *parser) callonIndexTermContent70() (interface{}, error) { +func (p *parser) callonInlineIcon1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIndexTermContent70() + return p.cur.onInlineIcon1(stack["icon"], stack["attributes"]) } -func (c *current) onIndexTermContent66(id interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, nil) +func (c *current) onInlineFootnote2(content interface{}) (interface{}, error) { + return types.NewFootnote("", content) } -func (p *parser) callonIndexTermContent66() (interface{}, error) { +func (p *parser) callonInlineFootnote2() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIndexTermContent66(stack["id"]) + return p.cur.onInlineFootnote2(stack["content"]) } -func (c *current) onIndexTermContent32() (interface{}, error) { - return types.NewStringElement(string(c.text)) +func (c *current) onInlineFootnote12() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonIndexTermContent32() (interface{}, error) { +func (p *parser) callonInlineFootnote12() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIndexTermContent32() + return p.cur.onInlineFootnote12() } -func (c *current) onIndexTermContent74() (interface{}, error) { - return types.NewSpecialCharacter(string(c.text)) +func (c *current) onInlineFootnote8(ref, content interface{}) (interface{}, error) { + // TODO: use only this rule with `ref:(FootnoteRef)?` + return types.NewFootnote(ref.(string), content) } -func (p *parser) callonIndexTermContent74() (interface{}, error) { +func (p *parser) callonInlineFootnote8() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIndexTermContent74() + return p.cur.onInlineFootnote8(stack["ref"], stack["content"]) } -func (c *current) onIndexTermContent27(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onFootnoteContent1(elements interface{}) (interface{}, error) { + // footnote content may span multiple lines + return types.NewInlineElements(elements.([]interface{})) } -func (p *parser) callonIndexTermContent27() (interface{}, error) { +func (p *parser) callonFootnoteContent1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIndexTermContent27(stack["element"]) + return p.cur.onFootnoteContent1(stack["elements"]) } -func (c *current) onIndexTermContent80() (interface{}, error) { - return string(c.text), nil +func (c *current) onPassthroughMacro7() (interface{}, error) { + return types.NewStringElement(string(c.text)) + } -func (p *parser) callonIndexTermContent80() (interface{}, error) { +func (p *parser) callonPassthroughMacro7() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIndexTermContent80() + return p.cur.onPassthroughMacro7() } -func (c *current) onIndexTermContent76(ref interface{}) (interface{}, error) { - return types.NewElementPlaceHolder(ref.(string)) +func (c *current) onPassthroughMacro2(content interface{}) (interface{}, error) { + return types.NewInlinePassthrough(types.PassthroughMacro, []interface{}{content}) + } -func (p *parser) callonIndexTermContent76() (interface{}, error) { +func (p *parser) callonPassthroughMacro2() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIndexTermContent76(stack["ref"]) + return p.cur.onPassthroughMacro2(stack["content"]) } -func (c *current) onIndexTermContent84() (interface{}, error) { - return string(c.text), nil +func (c *current) onPassthroughMacro17() (interface{}, error) { + return types.NewStringElement(string(c.text)) + } -func (p *parser) callonIndexTermContent84() (interface{}, error) { +func (p *parser) callonPassthroughMacro17() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIndexTermContent84() + return p.cur.onPassthroughMacro17() } -func (c *current) onIndexTermContent1(elements interface{}) (interface{}, error) { - return types.NewInlineElements(elements.([]interface{})) +func (c *current) onPassthroughMacro10(content interface{}) (interface{}, error) { + return types.NewInlinePassthrough(types.PassthroughMacro, content.([]interface{})) + } -func (p *parser) callonIndexTermContent1() (interface{}, error) { +func (p *parser) callonPassthroughMacro10() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIndexTermContent1(stack["elements"]) + return p.cur.onPassthroughMacro10(stack["content"]) } -func (c *current) onImageBlock25() (interface{}, error) { +func (c *current) onLink26() (interface{}, error) { // not supported for now: EOL, space, "{", "[", "]". Also, punctuation chars and `<` and `>` special chars are treated separately below (but `&` is allowed) return types.NewStringElement(string(c.text)) } -func (p *parser) callonImageBlock25() (interface{}, error) { +func (p *parser) callonLink26() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock25() + return p.cur.onLink26() } -func (c *current) onImageBlock29() (interface{}, error) { +func (c *current) onLink30() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonImageBlock29() (interface{}, error) { +func (p *parser) callonLink30() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock29() + return p.cur.onLink30() } -func (c *current) onImageBlock36() (interface{}, error) { +func (c *current) onLink37() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonImageBlock36() (interface{}, error) { +func (p *parser) callonLink37() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock36() + return p.cur.onLink37() } -func (c *current) onImageBlock40() (bool, error) { +func (c *current) onLink41() (bool, error) { return c.isSubstitutionEnabled(Attributes), nil } -func (p *parser) callonImageBlock40() (bool, error) { +func (p *parser) callonLink41() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock40() + return p.cur.onLink41() } -func (c *current) onImageBlock47() (interface{}, error) { +func (c *current) onLink48() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonImageBlock47() (interface{}, error) { +func (p *parser) callonLink48() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock47() + return p.cur.onLink48() } -func (c *current) onImageBlock59() (interface{}, error) { +func (c *current) onLink60() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonImageBlock59() (interface{}, error) { +func (p *parser) callonLink60() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock59() + return p.cur.onLink60() } -func (c *current) onImageBlock61() (interface{}, error) { +func (c *current) onLink62() (interface{}, error) { return strconv.Atoi(string(c.text)) } -func (p *parser) callonImageBlock61() (interface{}, error) { +func (p *parser) callonLink62() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock61() + return p.cur.onLink62() } -func (c *current) onImageBlock54(start interface{}) (interface{}, error) { +func (c *current) onLink55(start interface{}) (interface{}, error) { return start, nil } -func (p *parser) callonImageBlock54() (interface{}, error) { +func (p *parser) callonLink55() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock54(stack["start"]) + return p.cur.onLink55(stack["start"]) } -func (c *current) onImageBlock43(name, start interface{}) (interface{}, error) { +func (c *current) onLink44(name, start interface{}) (interface{}, error) { return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) } -func (p *parser) callonImageBlock43() (interface{}, error) { +func (p *parser) callonLink44() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock43(stack["name"], stack["start"]) + return p.cur.onLink44(stack["name"], stack["start"]) } -func (c *current) onImageBlock69() (interface{}, error) { +func (c *current) onLink70() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonImageBlock69() (interface{}, error) { +func (p *parser) callonLink70() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock69() + return p.cur.onLink70() } -func (c *current) onImageBlock81() (interface{}, error) { +func (c *current) onLink82() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonImageBlock81() (interface{}, error) { +func (p *parser) callonLink82() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock81() + return p.cur.onLink82() } -func (c *current) onImageBlock83() (interface{}, error) { +func (c *current) onLink84() (interface{}, error) { return strconv.Atoi(string(c.text)) } -func (p *parser) callonImageBlock83() (interface{}, error) { +func (p *parser) callonLink84() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock83() + return p.cur.onLink84() } -func (c *current) onImageBlock76(start interface{}) (interface{}, error) { +func (c *current) onLink77(start interface{}) (interface{}, error) { return start, nil } -func (p *parser) callonImageBlock76() (interface{}, error) { +func (p *parser) callonLink77() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock76(stack["start"]) + return p.cur.onLink77(stack["start"]) } -func (c *current) onImageBlock65(name, start interface{}) (interface{}, error) { +func (c *current) onLink66(name, start interface{}) (interface{}, error) { return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) } -func (p *parser) callonImageBlock65() (interface{}, error) { +func (p *parser) callonLink66() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock65(stack["name"], stack["start"]) + return p.cur.onLink66(stack["name"], stack["start"]) } -func (c *current) onImageBlock91() (interface{}, error) { +func (c *current) onLink92() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonImageBlock91() (interface{}, error) { +func (p *parser) callonLink92() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock91() + return p.cur.onLink92() } -func (c *current) onImageBlock87(name interface{}) (interface{}, error) { +func (c *current) onLink88(name interface{}) (interface{}, error) { + + log.Debug("matching escaped attribute reference") + // return types.NewStringElement("{"+name.(string)+"}") + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) + +} + +func (p *parser) callonLink88() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onLink88(stack["name"]) +} + +func (c *current) onLink102() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonLink102() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onLink102() +} + +func (c *current) onLink98(name interface{}) (interface{}, error) { return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonImageBlock87() (interface{}, error) { +func (p *parser) callonLink98() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock87(stack["name"]) + return p.cur.onLink98(stack["name"]) } -func (c *current) onImageBlock38(element interface{}) (interface{}, error) { +func (c *current) onLink39(element interface{}) (interface{}, error) { return element, nil } -func (p *parser) callonImageBlock38() (interface{}, error) { +func (p *parser) callonLink39() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock38(stack["element"]) + return p.cur.onLink39(stack["element"]) } -func (c *current) onImageBlock99() (bool, error) { +func (c *current) onLink110() (bool, error) { return c.isSubstitutionEnabled(SpecialCharacters), nil } -func (p *parser) callonImageBlock99() (bool, error) { +func (p *parser) callonLink110() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock99() + return p.cur.onLink110() } -func (c *current) onImageBlock108() (interface{}, error) { +func (c *current) onLink119() (interface{}, error) { // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ return string(c.text), nil } -func (p *parser) callonImageBlock108() (interface{}, error) { +func (p *parser) callonLink119() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock108() + return p.cur.onLink119() } -func (c *current) onImageBlock112() (interface{}, error) { +func (c *current) onLink123() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonImageBlock112() (interface{}, error) { +func (p *parser) callonLink123() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock112() + return p.cur.onLink123() } -func (c *current) onImageBlock118() (interface{}, error) { +func (c *current) onLink129() (interface{}, error) { // `{`, `>` and `>` characters are not allowed as they are used for attribute substitutions and cross-references return types.NewStringElement(string(c.text)) } -func (p *parser) callonImageBlock118() (interface{}, error) { +func (p *parser) callonLink129() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock118() + return p.cur.onLink129() } -func (c *current) onImageBlock127() (interface{}, error) { +func (c *current) onLink138() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonImageBlock127() (interface{}, error) { +func (p *parser) callonLink138() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock127() + return p.cur.onLink138() } -func (c *current) onImageBlock123(name interface{}) (interface{}, error) { +func (c *current) onLink134(name interface{}) (interface{}, error) { - return types.NewAttributeSubstitution(name.(string), string(c.text)) + log.Debug("matching escaped attribute reference") + // return types.NewStringElement("{"+name.(string)+"}") + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) } -func (p *parser) callonImageBlock123() (interface{}, error) { +func (p *parser) callonLink134() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock123(stack["name"]) + return p.cur.onLink134(stack["name"]) } -func (c *current) onImageBlock133() (interface{}, error) { - - return types.NewStringElement(string(c.text)) +func (c *current) onLink148() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonImageBlock133() (interface{}, error) { +func (p *parser) callonLink148() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock133() + return p.cur.onLink148() } -func (c *current) onImageBlock104(id, label interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, label) +func (c *current) onLink144(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonImageBlock104() (interface{}, error) { +func (p *parser) callonLink144() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock104(stack["id"], stack["label"]) + return p.cur.onLink144(stack["name"]) } -func (c *current) onImageBlock140() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ - return string(c.text), nil +func (c *current) onLink154() (interface{}, error) { + + return types.NewStringElement(string(c.text)) } -func (p *parser) callonImageBlock140() (interface{}, error) { +func (p *parser) callonLink154() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock140() + return p.cur.onLink154() } -func (c *current) onImageBlock136(id interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, nil) +func (c *current) onLink115(id, label interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, label) } -func (p *parser) callonImageBlock136() (interface{}, error) { +func (p *parser) callonLink115() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock136(stack["id"]) + return p.cur.onLink115(stack["id"], stack["label"]) } -func (c *current) onImageBlock102() (interface{}, error) { - return types.NewStringElement(string(c.text)) +func (c *current) onLink161() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ + return string(c.text), nil } -func (p *parser) callonImageBlock102() (interface{}, error) { +func (p *parser) callonLink161() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock102() + return p.cur.onLink161() } -func (c *current) onImageBlock144() (interface{}, error) { - return types.NewSpecialCharacter(string(c.text)) +func (c *current) onLink157(id interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, nil) } -func (p *parser) callonImageBlock144() (interface{}, error) { +func (p *parser) callonLink157() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock144() + return p.cur.onLink157(stack["id"]) } -func (c *current) onImageBlock97(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onLink113() (interface{}, error) { + return types.NewStringElement(string(c.text)) } -func (p *parser) callonImageBlock97() (interface{}, error) { +func (p *parser) callonLink113() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock97(stack["element"]) + return p.cur.onLink113() } -func (c *current) onImageBlock146() (interface{}, error) { - return types.NewStringElement(string(c.text)) +func (c *current) onLink165() (interface{}, error) { + return types.NewSpecialCharacter(string(c.text)) } -func (p *parser) callonImageBlock146() (interface{}, error) { +func (p *parser) callonLink165() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock146() + return p.cur.onLink165() } -func (c *current) onImageBlock18(elements interface{}) (interface{}, error) { - return types.NewInlineElements(elements.([]interface{})) +func (c *current) onLink108(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonImageBlock18() (interface{}, error) { +func (p *parser) callonLink108() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock18(stack["elements"]) + return p.cur.onLink108(stack["element"]) } -func (c *current) onImageBlock152() (interface{}, error) { - return string(c.text), nil +func (c *current) onLink167() (interface{}, error) { + return types.NewStringElement(string(c.text)) + } -func (p *parser) callonImageBlock152() (interface{}, error) { +func (p *parser) callonLink167() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock152() + return p.cur.onLink167() } -func (c *current) onImageBlock148(ref interface{}) (interface{}, error) { - return types.NewElementPlaceHolder(ref.(string)) +func (c *current) onLink19(elements interface{}) (interface{}, error) { + return types.NewInlineElements(elements.([]interface{})) + } -func (p *parser) callonImageBlock148() (interface{}, error) { +func (p *parser) callonLink19() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock148(stack["ref"]) + return p.cur.onLink19(stack["elements"]) } -func (c *current) onImageBlock5(scheme, path interface{}) (interface{}, error) { +func (c *current) onLink6(scheme, path interface{}) (interface{}, error) { return types.NewLocation(scheme, path.([]interface{})) } -func (p *parser) callonImageBlock5() (interface{}, error) { +func (p *parser) callonLink6() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock5(stack["scheme"], stack["path"]) + return p.cur.onLink6(stack["scheme"], stack["path"]) } -func (c *current) onImageBlock159() (interface{}, error) { - return string(c.text), nil +func (c *current) onLink172(url, closingBracket interface{}) (bool, error) { + return url.(*types.Location).TrimAngleBracketSuffix() } -func (p *parser) callonImageBlock159() (interface{}, error) { +func (p *parser) callonLink172() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock159() + return p.cur.onLink172(stack["url"], stack["closingBracket"]) } -func (c *current) onImageBlock162() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonImageBlock162() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onImageBlock162() -} +func (c *current) onLink2(url, closingBracket interface{}) (interface{}, error) { -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)) + return types.NewInlineLink(url.(*types.Location), nil) } -func (p *parser) callonImageBlock1() (interface{}, error) { +func (p *parser) callonLink2() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock1(stack["path"], stack["attributes"]) + return p.cur.onLink2(stack["url"], stack["closingBracket"]) } -func (c *current) onInlineImage27() (interface{}, error) { +func (c *current) onRelativeLink26() (interface{}, error) { // not supported for now: EOL, space, "{", "[", "]". Also, punctuation chars and `<` and `>` special chars are treated separately below (but `&` is allowed) return types.NewStringElement(string(c.text)) } -func (p *parser) callonInlineImage27() (interface{}, error) { +func (p *parser) callonRelativeLink26() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage27() + return p.cur.onRelativeLink26() } -func (c *current) onInlineImage31() (interface{}, error) { +func (c *current) onRelativeLink30() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonInlineImage31() (interface{}, error) { +func (p *parser) callonRelativeLink30() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage31() + return p.cur.onRelativeLink30() } -func (c *current) onInlineImage38() (interface{}, error) { +func (c *current) onRelativeLink37() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonInlineImage38() (interface{}, error) { +func (p *parser) callonRelativeLink37() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage38() + return p.cur.onRelativeLink37() } -func (c *current) onInlineImage42() (bool, error) { +func (c *current) onRelativeLink41() (bool, error) { return c.isSubstitutionEnabled(Attributes), nil } -func (p *parser) callonInlineImage42() (bool, error) { +func (p *parser) callonRelativeLink41() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage42() + return p.cur.onRelativeLink41() } -func (c *current) onInlineImage49() (interface{}, error) { +func (c *current) onRelativeLink48() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonInlineImage49() (interface{}, error) { +func (p *parser) callonRelativeLink48() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage49() + return p.cur.onRelativeLink48() } -func (c *current) onInlineImage61() (interface{}, error) { +func (c *current) onRelativeLink60() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonInlineImage61() (interface{}, error) { +func (p *parser) callonRelativeLink60() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage61() + return p.cur.onRelativeLink60() } -func (c *current) onInlineImage63() (interface{}, error) { +func (c *current) onRelativeLink62() (interface{}, error) { return strconv.Atoi(string(c.text)) } -func (p *parser) callonInlineImage63() (interface{}, error) { +func (p *parser) callonRelativeLink62() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage63() + return p.cur.onRelativeLink62() } -func (c *current) onInlineImage56(start interface{}) (interface{}, error) { +func (c *current) onRelativeLink55(start interface{}) (interface{}, error) { return start, nil } -func (p *parser) callonInlineImage56() (interface{}, error) { +func (p *parser) callonRelativeLink55() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage56(stack["start"]) + return p.cur.onRelativeLink55(stack["start"]) } -func (c *current) onInlineImage45(name, start interface{}) (interface{}, error) { +func (c *current) onRelativeLink44(name, start interface{}) (interface{}, error) { return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) } -func (p *parser) callonInlineImage45() (interface{}, error) { +func (p *parser) callonRelativeLink44() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage45(stack["name"], stack["start"]) + return p.cur.onRelativeLink44(stack["name"], stack["start"]) } -func (c *current) onInlineImage71() (interface{}, error) { +func (c *current) onRelativeLink70() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonInlineImage71() (interface{}, error) { +func (p *parser) callonRelativeLink70() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage71() + return p.cur.onRelativeLink70() } -func (c *current) onInlineImage83() (interface{}, error) { +func (c *current) onRelativeLink82() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonInlineImage83() (interface{}, error) { +func (p *parser) callonRelativeLink82() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage83() + return p.cur.onRelativeLink82() } -func (c *current) onInlineImage85() (interface{}, error) { +func (c *current) onRelativeLink84() (interface{}, error) { return strconv.Atoi(string(c.text)) } -func (p *parser) callonInlineImage85() (interface{}, error) { +func (p *parser) callonRelativeLink84() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage85() + return p.cur.onRelativeLink84() } -func (c *current) onInlineImage78(start interface{}) (interface{}, error) { +func (c *current) onRelativeLink77(start interface{}) (interface{}, error) { return start, nil } -func (p *parser) callonInlineImage78() (interface{}, error) { +func (p *parser) callonRelativeLink77() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage78(stack["start"]) + return p.cur.onRelativeLink77(stack["start"]) } -func (c *current) onInlineImage67(name, start interface{}) (interface{}, error) { +func (c *current) onRelativeLink66(name, start interface{}) (interface{}, error) { return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) } -func (p *parser) callonInlineImage67() (interface{}, error) { +func (p *parser) callonRelativeLink66() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage67(stack["name"], stack["start"]) + return p.cur.onRelativeLink66(stack["name"], stack["start"]) } -func (c *current) onInlineImage93() (interface{}, error) { +func (c *current) onRelativeLink92() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonInlineImage93() (interface{}, error) { +func (p *parser) callonRelativeLink92() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage93() + return p.cur.onRelativeLink92() } -func (c *current) onInlineImage89(name interface{}) (interface{}, error) { +func (c *current) onRelativeLink88(name interface{}) (interface{}, error) { + + log.Debug("matching escaped attribute reference") + // return types.NewStringElement("{"+name.(string)+"}") + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) + +} + +func (p *parser) callonRelativeLink88() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onRelativeLink88(stack["name"]) +} + +func (c *current) onRelativeLink102() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonRelativeLink102() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onRelativeLink102() +} + +func (c *current) onRelativeLink98(name interface{}) (interface{}, error) { return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonInlineImage89() (interface{}, error) { +func (p *parser) callonRelativeLink98() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage89(stack["name"]) + return p.cur.onRelativeLink98(stack["name"]) } -func (c *current) onInlineImage40(element interface{}) (interface{}, error) { +func (c *current) onRelativeLink39(element interface{}) (interface{}, error) { return element, nil } -func (p *parser) callonInlineImage40() (interface{}, error) { +func (p *parser) callonRelativeLink39() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage40(stack["element"]) + return p.cur.onRelativeLink39(stack["element"]) } -func (c *current) onInlineImage101() (bool, error) { +func (c *current) onRelativeLink110() (bool, error) { return c.isSubstitutionEnabled(SpecialCharacters), nil } -func (p *parser) callonInlineImage101() (bool, error) { +func (p *parser) callonRelativeLink110() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage101() + return p.cur.onRelativeLink110() } -func (c *current) onInlineImage110() (interface{}, error) { +func (c *current) onRelativeLink119() (interface{}, error) { // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ return string(c.text), nil } -func (p *parser) callonInlineImage110() (interface{}, error) { +func (p *parser) callonRelativeLink119() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage110() + return p.cur.onRelativeLink119() } -func (c *current) onInlineImage114() (interface{}, error) { +func (c *current) onRelativeLink123() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonInlineImage114() (interface{}, error) { +func (p *parser) callonRelativeLink123() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage114() + return p.cur.onRelativeLink123() } -func (c *current) onInlineImage120() (interface{}, error) { +func (c *current) onRelativeLink129() (interface{}, error) { // `{`, `>` and `>` characters are not allowed as they are used for attribute substitutions and cross-references return types.NewStringElement(string(c.text)) } -func (p *parser) callonInlineImage120() (interface{}, error) { +func (p *parser) callonRelativeLink129() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage120() + return p.cur.onRelativeLink129() +} + +func (c *current) onRelativeLink138() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonRelativeLink138() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onRelativeLink138() +} + +func (c *current) onRelativeLink134(name interface{}) (interface{}, error) { + + log.Debug("matching escaped attribute reference") + // return types.NewStringElement("{"+name.(string)+"}") + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) + +} + +func (p *parser) callonRelativeLink134() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onRelativeLink134(stack["name"]) } -func (c *current) onInlineImage129() (interface{}, error) { +func (c *current) onRelativeLink148() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonInlineImage129() (interface{}, error) { +func (p *parser) callonRelativeLink148() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage129() + return p.cur.onRelativeLink148() } -func (c *current) onInlineImage125(name interface{}) (interface{}, error) { +func (c *current) onRelativeLink144(name interface{}) (interface{}, error) { return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonInlineImage125() (interface{}, error) { +func (p *parser) callonRelativeLink144() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage125(stack["name"]) + return p.cur.onRelativeLink144(stack["name"]) } -func (c *current) onInlineImage135() (interface{}, error) { +func (c *current) onRelativeLink154() (interface{}, error) { return types.NewStringElement(string(c.text)) } -func (p *parser) callonInlineImage135() (interface{}, error) { +func (p *parser) callonRelativeLink154() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage135() + return p.cur.onRelativeLink154() } -func (c *current) onInlineImage106(id, label interface{}) (interface{}, error) { +func (c *current) onRelativeLink115(id, label interface{}) (interface{}, error) { return types.NewInternalCrossReference(id, label) } -func (p *parser) callonInlineImage106() (interface{}, error) { +func (p *parser) callonRelativeLink115() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage106(stack["id"], stack["label"]) + return p.cur.onRelativeLink115(stack["id"], stack["label"]) } -func (c *current) onInlineImage142() (interface{}, error) { +func (c *current) onRelativeLink161() (interface{}, error) { // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ return string(c.text), nil } -func (p *parser) callonInlineImage142() (interface{}, error) { +func (p *parser) callonRelativeLink161() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage142() + return p.cur.onRelativeLink161() } -func (c *current) onInlineImage138(id interface{}) (interface{}, error) { +func (c *current) onRelativeLink157(id interface{}) (interface{}, error) { return types.NewInternalCrossReference(id, nil) } -func (p *parser) callonInlineImage138() (interface{}, error) { +func (p *parser) callonRelativeLink157() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage138(stack["id"]) + return p.cur.onRelativeLink157(stack["id"]) } -func (c *current) onInlineImage104() (interface{}, error) { +func (c *current) onRelativeLink113() (interface{}, error) { return types.NewStringElement(string(c.text)) } -func (p *parser) callonInlineImage104() (interface{}, error) { +func (p *parser) callonRelativeLink113() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage104() + return p.cur.onRelativeLink113() } -func (c *current) onInlineImage146() (interface{}, error) { +func (c *current) onRelativeLink165() (interface{}, error) { return types.NewSpecialCharacter(string(c.text)) } -func (p *parser) callonInlineImage146() (interface{}, error) { +func (p *parser) callonRelativeLink165() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage146() + return p.cur.onRelativeLink165() } -func (c *current) onInlineImage99(element interface{}) (interface{}, error) { +func (c *current) onRelativeLink108(element interface{}) (interface{}, error) { return element, nil } -func (p *parser) callonInlineImage99() (interface{}, error) { +func (p *parser) callonRelativeLink108() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage99(stack["element"]) + return p.cur.onRelativeLink108(stack["element"]) } -func (c *current) onInlineImage148() (interface{}, error) { +func (c *current) onRelativeLink167() (interface{}, error) { return types.NewStringElement(string(c.text)) } -func (p *parser) callonInlineImage148() (interface{}, error) { +func (p *parser) callonRelativeLink167() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage148() + return p.cur.onRelativeLink167() } -func (c *current) onInlineImage20(elements interface{}) (interface{}, error) { +func (c *current) onRelativeLink19(elements interface{}) (interface{}, error) { return types.NewInlineElements(elements.([]interface{})) } -func (p *parser) callonInlineImage20() (interface{}, error) { +func (p *parser) callonRelativeLink19() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage20(stack["elements"]) + return p.cur.onRelativeLink19(stack["elements"]) } -func (c *current) onInlineImage154() (interface{}, error) { +func (c *current) onRelativeLink173() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonInlineImage154() (interface{}, error) { +func (p *parser) callonRelativeLink173() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage154() + return p.cur.onRelativeLink173() } -func (c *current) onInlineImage150(ref interface{}) (interface{}, error) { +func (c *current) onRelativeLink169(ref interface{}) (interface{}, error) { return types.NewElementPlaceHolder(ref.(string)) } -func (p *parser) callonInlineImage150() (interface{}, error) { +func (p *parser) callonRelativeLink169() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage150(stack["ref"]) + return p.cur.onRelativeLink169(stack["ref"]) } -func (c *current) onInlineImage7(scheme, path interface{}) (interface{}, error) { +func (c *current) onRelativeLink6(scheme, path interface{}) (interface{}, error) { return types.NewLocation(scheme, path.([]interface{})) } -func (p *parser) callonInlineImage7() (interface{}, error) { +func (p *parser) callonRelativeLink6() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage7(stack["scheme"], stack["path"]) + return p.cur.onRelativeLink6(stack["scheme"], stack["path"]) } -func (c *current) onInlineImage1(path, attributes interface{}) (interface{}, error) { - return types.NewInlineImage(path.(*types.Location), attributes.(types.Attributes)) +func (c *current) onRelativeLink2(url, attributes interface{}) (interface{}, error) { + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) } -func (p *parser) callonInlineImage1() (interface{}, error) { +func (p *parser) callonRelativeLink2() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage1(stack["path"], stack["attributes"]) + return p.cur.onRelativeLink2(stack["url"], stack["attributes"]) } -func (c *current) onInlineIcon5() (interface{}, error) { +func (c *current) onRelativeLink203() (interface{}, error) { + // not supported for now: EOL, space, "{", "[", "]". Also, punctuation chars and `<` and `>` special chars are treated separately below (but `&` is allowed) + return types.NewStringElement(string(c.text)) + +} + +func (p *parser) callonRelativeLink203() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onRelativeLink203() +} + +func (c *current) onRelativeLink207() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonInlineIcon5() (interface{}, error) { +func (p *parser) callonRelativeLink207() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineIcon5() + return p.cur.onRelativeLink207() } -func (c *current) onInlineIcon1(icon, attributes interface{}) (interface{}, error) { - return types.NewIcon(icon.(string), attributes) +func (c *current) onRelativeLink214() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonInlineIcon1() (interface{}, error) { +func (p *parser) callonRelativeLink214() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineIcon1(stack["icon"], stack["attributes"]) + return p.cur.onRelativeLink214() } -func (c *current) onInlineFootnote2(content interface{}) (interface{}, error) { - return types.NewFootnote("", content) +func (c *current) onRelativeLink218() (bool, error) { + return c.isSubstitutionEnabled(Attributes), nil } -func (p *parser) callonInlineFootnote2() (interface{}, error) { +func (p *parser) callonRelativeLink218() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineFootnote2(stack["content"]) + return p.cur.onRelativeLink218() } -func (c *current) onInlineFootnote12() (interface{}, error) { +func (c *current) onRelativeLink225() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonInlineFootnote12() (interface{}, error) { +func (p *parser) callonRelativeLink225() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineFootnote12() + return p.cur.onRelativeLink225() } -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) onRelativeLink237() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonInlineFootnote8() (interface{}, error) { +func (p *parser) callonRelativeLink237() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineFootnote8(stack["ref"], stack["content"]) + return p.cur.onRelativeLink237() } -func (c *current) onFootnoteContent1(elements interface{}) (interface{}, error) { - // footnote content may span multiple lines - return types.NewInlineElements(elements.([]interface{})) +func (c *current) onRelativeLink239() (interface{}, error) { + + return strconv.Atoi(string(c.text)) } -func (p *parser) callonFootnoteContent1() (interface{}, error) { +func (p *parser) callonRelativeLink239() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFootnoteContent1(stack["elements"]) + return p.cur.onRelativeLink239() } -func (c *current) onPassthroughMacro7() (interface{}, error) { - return types.NewStringElement(string(c.text)) +func (c *current) onRelativeLink232(start interface{}) (interface{}, error) { + return start, nil } -func (p *parser) callonPassthroughMacro7() (interface{}, error) { +func (p *parser) callonRelativeLink232() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onPassthroughMacro7() + return p.cur.onRelativeLink232(stack["start"]) } -func (c *current) onPassthroughMacro2(content interface{}) (interface{}, error) { - return types.NewInlinePassthrough(types.PassthroughMacro, []interface{}{content}) - +func (c *current) onRelativeLink221(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) } -func (p *parser) callonPassthroughMacro2() (interface{}, error) { +func (p *parser) callonRelativeLink221() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onPassthroughMacro2(stack["content"]) + return p.cur.onRelativeLink221(stack["name"], stack["start"]) } -func (c *current) onPassthroughMacro17() (interface{}, error) { - return types.NewStringElement(string(c.text)) +func (c *current) onRelativeLink247() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonPassthroughMacro17() (interface{}, error) { +func (p *parser) callonRelativeLink247() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onPassthroughMacro17() + return p.cur.onRelativeLink247() } -func (c *current) onPassthroughMacro10(content interface{}) (interface{}, error) { - return types.NewInlinePassthrough(types.PassthroughMacro, content.([]interface{})) +func (c *current) onRelativeLink259() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonPassthroughMacro10() (interface{}, error) { +func (p *parser) callonRelativeLink259() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onPassthroughMacro10(stack["content"]) + return p.cur.onRelativeLink259() } -func (c *current) onLink26() (interface{}, error) { - // not supported for now: EOL, space, "{", "[", "]". Also, punctuation chars and `<` and `>` special chars are treated separately below (but `&` is allowed) - return types.NewStringElement(string(c.text)) +func (c *current) onRelativeLink261() (interface{}, error) { + + return strconv.Atoi(string(c.text)) } -func (p *parser) callonLink26() (interface{}, error) { +func (p *parser) callonRelativeLink261() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink26() + return p.cur.onRelativeLink261() } -func (c *current) onLink30() (interface{}, error) { - return string(c.text), nil +func (c *current) onRelativeLink254(start interface{}) (interface{}, error) { + return start, nil + } -func (p *parser) callonLink30() (interface{}, error) { +func (p *parser) callonRelativeLink254() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink30() + return p.cur.onRelativeLink254(stack["start"]) } -func (c *current) onLink37() (interface{}, error) { - return string(c.text), nil - +func (c *current) onRelativeLink243(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) } -func (p *parser) callonLink37() (interface{}, error) { +func (p *parser) callonRelativeLink243() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink37() + return p.cur.onRelativeLink243(stack["name"], stack["start"]) } -func (c *current) onLink41() (bool, error) { - return c.isSubstitutionEnabled(Attributes), nil +func (c *current) onRelativeLink269() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonLink41() (bool, error) { +func (p *parser) callonRelativeLink269() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink41() + return p.cur.onRelativeLink269() } -func (c *current) onLink48() (interface{}, error) { - return string(c.text), nil +func (c *current) onRelativeLink265(name interface{}) (interface{}, error) { + + log.Debug("matching escaped attribute reference") + // return types.NewStringElement("{"+name.(string)+"}") + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) } -func (p *parser) callonLink48() (interface{}, error) { +func (p *parser) callonRelativeLink265() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink48() + return p.cur.onRelativeLink265(stack["name"]) } -func (c *current) onLink60() (interface{}, error) { +func (c *current) onRelativeLink279() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonLink60() (interface{}, error) { +func (p *parser) callonRelativeLink279() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink60() + return p.cur.onRelativeLink279() } -func (c *current) onLink62() (interface{}, error) { +func (c *current) onRelativeLink275(name interface{}) (interface{}, error) { - return strconv.Atoi(string(c.text)) + return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonLink62() (interface{}, error) { +func (p *parser) callonRelativeLink275() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink62() + return p.cur.onRelativeLink275(stack["name"]) } -func (c *current) onLink55(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onRelativeLink216(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonLink55() (interface{}, error) { +func (p *parser) callonRelativeLink216() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink55(stack["start"]) + return p.cur.onRelativeLink216(stack["element"]) } -func (c *current) onLink44(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) +func (c *current) onRelativeLink287() (bool, error) { + return c.isSubstitutionEnabled(SpecialCharacters), nil + } -func (p *parser) callonLink44() (interface{}, error) { +func (p *parser) callonRelativeLink287() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink44(stack["name"], stack["start"]) + return p.cur.onRelativeLink287() } -func (c *current) onLink70() (interface{}, error) { +func (c *current) onRelativeLink296() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ return string(c.text), nil } -func (p *parser) callonLink70() (interface{}, error) { +func (p *parser) callonRelativeLink296() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink70() + return p.cur.onRelativeLink296() } -func (c *current) onLink82() (interface{}, error) { +func (c *current) onRelativeLink300() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonLink82() (interface{}, error) { +func (p *parser) callonRelativeLink300() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink82() + return p.cur.onRelativeLink300() } -func (c *current) onLink84() (interface{}, error) { - - return strconv.Atoi(string(c.text)) +func (c *current) onRelativeLink306() (interface{}, error) { + // `{`, `>` and `>` characters are not allowed as they are used for attribute substitutions and cross-references + return types.NewStringElement(string(c.text)) } -func (p *parser) callonLink84() (interface{}, error) { +func (p *parser) callonRelativeLink306() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink84() + return p.cur.onRelativeLink306() } -func (c *current) onLink77(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onRelativeLink315() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonLink77() (interface{}, error) { +func (p *parser) callonRelativeLink315() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink77(stack["start"]) + return p.cur.onRelativeLink315() } -func (c *current) onLink66(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) +func (c *current) onRelativeLink311(name interface{}) (interface{}, error) { + + log.Debug("matching escaped attribute reference") + // return types.NewStringElement("{"+name.(string)+"}") + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) + } -func (p *parser) callonLink66() (interface{}, error) { +func (p *parser) callonRelativeLink311() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink66(stack["name"], stack["start"]) + return p.cur.onRelativeLink311(stack["name"]) } -func (c *current) onLink92() (interface{}, error) { +func (c *current) onRelativeLink325() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonLink92() (interface{}, error) { +func (p *parser) callonRelativeLink325() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink92() + return p.cur.onRelativeLink325() } -func (c *current) onLink88(name interface{}) (interface{}, error) { +func (c *current) onRelativeLink321(name interface{}) (interface{}, error) { return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonLink88() (interface{}, error) { +func (p *parser) callonRelativeLink321() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink88(stack["name"]) + return p.cur.onRelativeLink321(stack["name"]) } -func (c *current) onLink39(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onRelativeLink331() (interface{}, error) { + + return types.NewStringElement(string(c.text)) } -func (p *parser) callonLink39() (interface{}, error) { +func (p *parser) callonRelativeLink331() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink39(stack["element"]) + return p.cur.onRelativeLink331() } -func (c *current) onLink100() (bool, error) { - return c.isSubstitutionEnabled(SpecialCharacters), nil +func (c *current) onRelativeLink292(id, label interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, label) } -func (p *parser) callonLink100() (bool, error) { +func (p *parser) callonRelativeLink292() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink100() + return p.cur.onRelativeLink292(stack["id"], stack["label"]) } -func (c *current) onLink109() (interface{}, error) { +func (c *current) onRelativeLink338() (interface{}, error) { // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ return string(c.text), nil } -func (p *parser) callonLink109() (interface{}, error) { +func (p *parser) callonRelativeLink338() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink109() + return p.cur.onRelativeLink338() } -func (c *current) onLink113() (interface{}, error) { - return string(c.text), nil +func (c *current) onRelativeLink334(id interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, nil) } -func (p *parser) callonLink113() (interface{}, error) { +func (p *parser) callonRelativeLink334() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink113() + return p.cur.onRelativeLink334(stack["id"]) } -func (c *current) onLink119() (interface{}, error) { - // `{`, `>` and `>` characters are not allowed as they are used for attribute substitutions and cross-references +func (c *current) onRelativeLink290() (interface{}, error) { return types.NewStringElement(string(c.text)) } -func (p *parser) callonLink119() (interface{}, error) { +func (p *parser) callonRelativeLink290() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink119() + return p.cur.onRelativeLink290() } -func (c *current) onLink128() (interface{}, error) { - return string(c.text), nil +func (c *current) onRelativeLink342() (interface{}, error) { + return types.NewSpecialCharacter(string(c.text)) } -func (p *parser) callonLink128() (interface{}, error) { +func (p *parser) callonRelativeLink342() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink128() + return p.cur.onRelativeLink342() } -func (c *current) onLink124(name interface{}) (interface{}, error) { - - return types.NewAttributeSubstitution(name.(string), string(c.text)) +func (c *current) onRelativeLink285(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonLink124() (interface{}, error) { +func (p *parser) callonRelativeLink285() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink124(stack["name"]) + return p.cur.onRelativeLink285(stack["element"]) } -func (c *current) onLink134() (interface{}, error) { - +func (c *current) onRelativeLink344() (interface{}, error) { return types.NewStringElement(string(c.text)) } -func (p *parser) callonLink134() (interface{}, error) { +func (p *parser) callonRelativeLink344() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink134() + return p.cur.onRelativeLink344() } -func (c *current) onLink105(id, label interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, label) +func (c *current) onRelativeLink196(elements interface{}) (interface{}, error) { + return types.NewInlineElements(elements.([]interface{})) } -func (p *parser) callonLink105() (interface{}, error) { +func (p *parser) callonRelativeLink196() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink105(stack["id"], stack["label"]) + return p.cur.onRelativeLink196(stack["elements"]) } -func (c *current) onLink141() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ +func (c *current) onRelativeLink350() (interface{}, error) { return string(c.text), nil +} +func (p *parser) callonRelativeLink350() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onRelativeLink350() } -func (p *parser) callonLink141() (interface{}, error) { +func (c *current) onRelativeLink346(ref interface{}) (interface{}, error) { + return types.NewElementPlaceHolder(ref.(string)) +} + +func (p *parser) callonRelativeLink346() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink141() + return p.cur.onRelativeLink346(stack["ref"]) } -func (c *current) onLink137(id interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, nil) +func (c *current) onRelativeLink183(scheme, path interface{}) (interface{}, error) { + return types.NewLocation(scheme, path.([]interface{})) } -func (p *parser) callonLink137() (interface{}, error) { +func (p *parser) callonRelativeLink183() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink137(stack["id"]) + return p.cur.onRelativeLink183(stack["scheme"], stack["path"]) } -func (c *current) onLink103() (interface{}, error) { - return types.NewStringElement(string(c.text)) +func (c *current) onRelativeLink179(url, attributes interface{}) (interface{}, error) { + return types.NewInlineLink(url.(*types.Location), attributes.(types.Attributes)) } -func (p *parser) callonLink103() (interface{}, error) { +func (p *parser) callonRelativeLink179() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink103() + return p.cur.onRelativeLink179(stack["url"], stack["attributes"]) } -func (c *current) onLink145() (interface{}, error) { - return types.NewSpecialCharacter(string(c.text)) +func (c *current) onExternalLink26() (interface{}, error) { + // not supported for now: EOL, space, "{", "[", "]". Also, punctuation chars and `<` and `>` special chars are treated separately below (but `&` is allowed) + return types.NewStringElement(string(c.text)) } -func (p *parser) callonLink145() (interface{}, error) { +func (p *parser) callonExternalLink26() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink145() + return p.cur.onExternalLink26() } -func (c *current) onLink98(element interface{}) (interface{}, error) { - return element, nil - +func (c *current) onExternalLink30() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonLink98() (interface{}, error) { +func (p *parser) callonExternalLink30() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink98(stack["element"]) + return p.cur.onExternalLink30() } -func (c *current) onLink147() (interface{}, error) { - return types.NewStringElement(string(c.text)) +func (c *current) onExternalLink37() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonLink147() (interface{}, error) { +func (p *parser) callonExternalLink37() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink147() + return p.cur.onExternalLink37() } -func (c *current) onLink19(elements interface{}) (interface{}, error) { - return types.NewInlineElements(elements.([]interface{})) +func (c *current) onExternalLink41() (bool, error) { + return c.isSubstitutionEnabled(Attributes), nil } -func (p *parser) callonLink19() (interface{}, error) { +func (p *parser) callonExternalLink41() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink19(stack["elements"]) + return p.cur.onExternalLink41() } -func (c *current) onLink6(scheme, path interface{}) (interface{}, error) { - return types.NewLocation(scheme, path.([]interface{})) +func (c *current) onExternalLink48() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonLink6() (interface{}, error) { +func (p *parser) callonExternalLink48() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink6(stack["scheme"], stack["path"]) + return p.cur.onExternalLink48() } -func (c *current) onLink152(url, closingBracket interface{}) (bool, error) { - return url.(*types.Location).TrimAngleBracketSuffix() +func (c *current) onExternalLink60() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonLink152() (bool, error) { +func (p *parser) callonExternalLink60() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink152(stack["url"], stack["closingBracket"]) + return p.cur.onExternalLink60() } -func (c *current) onLink2(url, closingBracket interface{}) (interface{}, error) { +func (c *current) onExternalLink62() (interface{}, error) { - return types.NewInlineLink(url.(*types.Location), nil) + return strconv.Atoi(string(c.text)) } -func (p *parser) callonLink2() (interface{}, error) { +func (p *parser) callonExternalLink62() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink2(stack["url"], stack["closingBracket"]) + return p.cur.onExternalLink62() } -func (c *current) onRelativeLink25() (interface{}, error) { - // not supported for now: EOL, space, "{", "[", "]". Also, punctuation chars and `<` and `>` special chars are treated separately below (but `&` is allowed) - return types.NewStringElement(string(c.text)) +func (c *current) onExternalLink55(start interface{}) (interface{}, error) { + return start, nil + +} + +func (p *parser) callonExternalLink55() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExternalLink55(stack["start"]) +} +func (c *current) onExternalLink44(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) } -func (p *parser) callonRelativeLink25() (interface{}, error) { +func (p *parser) callonExternalLink44() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink25() + return p.cur.onExternalLink44(stack["name"], stack["start"]) } -func (c *current) onRelativeLink29() (interface{}, error) { +func (c *current) onExternalLink70() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonRelativeLink29() (interface{}, error) { +func (p *parser) callonExternalLink70() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink29() + return p.cur.onExternalLink70() } -func (c *current) onRelativeLink36() (interface{}, error) { +func (c *current) onExternalLink82() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonRelativeLink36() (interface{}, error) { +func (p *parser) callonExternalLink82() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink36() + return p.cur.onExternalLink82() } -func (c *current) onRelativeLink40() (bool, error) { - return c.isSubstitutionEnabled(Attributes), nil +func (c *current) onExternalLink84() (interface{}, error) { + + return strconv.Atoi(string(c.text)) + +} + +func (p *parser) callonExternalLink84() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExternalLink84() +} +func (c *current) onExternalLink77(start interface{}) (interface{}, error) { + return start, nil + +} + +func (p *parser) callonExternalLink77() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExternalLink77(stack["start"]) +} + +func (c *current) onExternalLink66(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) } -func (p *parser) callonRelativeLink40() (bool, error) { +func (p *parser) callonExternalLink66() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink40() + return p.cur.onExternalLink66(stack["name"], stack["start"]) } -func (c *current) onRelativeLink47() (interface{}, error) { +func (c *current) onExternalLink92() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonRelativeLink47() (interface{}, error) { +func (p *parser) callonExternalLink92() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExternalLink92() +} + +func (c *current) onExternalLink88(name interface{}) (interface{}, error) { + + log.Debug("matching escaped attribute reference") + // return types.NewStringElement("{"+name.(string)+"}") + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) + +} + +func (p *parser) callonExternalLink88() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink47() + return p.cur.onExternalLink88(stack["name"]) } -func (c *current) onRelativeLink59() (interface{}, error) { +func (c *current) onExternalLink102() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonRelativeLink59() (interface{}, error) { +func (p *parser) callonExternalLink102() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink59() + return p.cur.onExternalLink102() } -func (c *current) onRelativeLink61() (interface{}, error) { +func (c *current) onExternalLink98(name interface{}) (interface{}, error) { - return strconv.Atoi(string(c.text)) + return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonRelativeLink61() (interface{}, error) { +func (p *parser) callonExternalLink98() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink61() + return p.cur.onExternalLink98(stack["name"]) } -func (c *current) onRelativeLink54(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onExternalLink39(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonRelativeLink54() (interface{}, error) { +func (p *parser) callonExternalLink39() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink54(stack["start"]) + return p.cur.onExternalLink39(stack["element"]) } -func (c *current) onRelativeLink43(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) +func (c *current) onExternalLink110() (bool, error) { + return c.isSubstitutionEnabled(SpecialCharacters), nil + } -func (p *parser) callonRelativeLink43() (interface{}, error) { +func (p *parser) callonExternalLink110() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink43(stack["name"], stack["start"]) + return p.cur.onExternalLink110() } -func (c *current) onRelativeLink69() (interface{}, error) { +func (c *current) onExternalLink119() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ return string(c.text), nil } -func (p *parser) callonRelativeLink69() (interface{}, error) { +func (p *parser) callonExternalLink119() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink69() + return p.cur.onExternalLink119() } -func (c *current) onRelativeLink81() (interface{}, error) { +func (c *current) onExternalLink123() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonRelativeLink81() (interface{}, error) { +func (p *parser) callonExternalLink123() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink81() + return p.cur.onExternalLink123() } -func (c *current) onRelativeLink83() (interface{}, error) { - - return strconv.Atoi(string(c.text)) +func (c *current) onExternalLink129() (interface{}, error) { + // `{`, `>` and `>` characters are not allowed as they are used for attribute substitutions and cross-references + return types.NewStringElement(string(c.text)) } -func (p *parser) callonRelativeLink83() (interface{}, error) { +func (p *parser) callonExternalLink129() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink83() + return p.cur.onExternalLink129() } -func (c *current) onRelativeLink76(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onExternalLink138() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonRelativeLink76() (interface{}, error) { +func (p *parser) callonExternalLink138() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink76(stack["start"]) + return p.cur.onExternalLink138() } -func (c *current) onRelativeLink65(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) +func (c *current) onExternalLink134(name interface{}) (interface{}, error) { + + log.Debug("matching escaped attribute reference") + // return types.NewStringElement("{"+name.(string)+"}") + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) + } -func (p *parser) callonRelativeLink65() (interface{}, error) { +func (p *parser) callonExternalLink134() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink65(stack["name"], stack["start"]) + return p.cur.onExternalLink134(stack["name"]) } -func (c *current) onRelativeLink91() (interface{}, error) { +func (c *current) onExternalLink148() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonRelativeLink91() (interface{}, error) { +func (p *parser) callonExternalLink148() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink91() + return p.cur.onExternalLink148() } -func (c *current) onRelativeLink87(name interface{}) (interface{}, error) { +func (c *current) onExternalLink144(name interface{}) (interface{}, error) { return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonRelativeLink87() (interface{}, error) { +func (p *parser) callonExternalLink144() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink87(stack["name"]) + return p.cur.onExternalLink144(stack["name"]) } -func (c *current) onRelativeLink38(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onExternalLink154() (interface{}, error) { + + return types.NewStringElement(string(c.text)) } -func (p *parser) callonRelativeLink38() (interface{}, error) { +func (p *parser) callonExternalLink154() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink38(stack["element"]) + return p.cur.onExternalLink154() } -func (c *current) onRelativeLink99() (bool, error) { - return c.isSubstitutionEnabled(SpecialCharacters), nil +func (c *current) onExternalLink115(id, label interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, label) } -func (p *parser) callonRelativeLink99() (bool, error) { +func (p *parser) callonExternalLink115() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink99() + return p.cur.onExternalLink115(stack["id"], stack["label"]) } -func (c *current) onRelativeLink108() (interface{}, error) { +func (c *current) onExternalLink161() (interface{}, error) { // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ return string(c.text), nil } -func (p *parser) callonRelativeLink108() (interface{}, error) { +func (p *parser) callonExternalLink161() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink108() + return p.cur.onExternalLink161() } -func (c *current) onRelativeLink112() (interface{}, error) { - return string(c.text), nil +func (c *current) onExternalLink157(id interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, nil) } -func (p *parser) callonRelativeLink112() (interface{}, error) { +func (p *parser) callonExternalLink157() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink112() + return p.cur.onExternalLink157(stack["id"]) } -func (c *current) onRelativeLink118() (interface{}, error) { - // `{`, `>` and `>` characters are not allowed as they are used for attribute substitutions and cross-references +func (c *current) onExternalLink113() (interface{}, error) { return types.NewStringElement(string(c.text)) } -func (p *parser) callonRelativeLink118() (interface{}, error) { +func (p *parser) callonExternalLink113() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink118() + return p.cur.onExternalLink113() } -func (c *current) onRelativeLink127() (interface{}, error) { - return string(c.text), nil +func (c *current) onExternalLink165() (interface{}, error) { + return types.NewSpecialCharacter(string(c.text)) } -func (p *parser) callonRelativeLink127() (interface{}, error) { +func (p *parser) callonExternalLink165() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink127() + return p.cur.onExternalLink165() } -func (c *current) onRelativeLink123(name interface{}) (interface{}, error) { - - return types.NewAttributeSubstitution(name.(string), string(c.text)) +func (c *current) onExternalLink108(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonRelativeLink123() (interface{}, error) { +func (p *parser) callonExternalLink108() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink123(stack["name"]) + return p.cur.onExternalLink108(stack["element"]) } -func (c *current) onRelativeLink133() (interface{}, error) { - +func (c *current) onExternalLink167() (interface{}, error) { return types.NewStringElement(string(c.text)) } -func (p *parser) callonRelativeLink133() (interface{}, error) { +func (p *parser) callonExternalLink167() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink133() + return p.cur.onExternalLink167() } -func (c *current) onRelativeLink104(id, label interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, label) +func (c *current) onExternalLink19(elements interface{}) (interface{}, error) { + return types.NewInlineElements(elements.([]interface{})) } -func (p *parser) callonRelativeLink104() (interface{}, error) { +func (p *parser) callonExternalLink19() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink104(stack["id"], stack["label"]) + return p.cur.onExternalLink19(stack["elements"]) } -func (c *current) onRelativeLink140() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ - return string(c.text), nil +func (c *current) onExternalLink6(scheme, path interface{}) (interface{}, error) { + return types.NewLocation(scheme, path.([]interface{})) } -func (p *parser) callonRelativeLink140() (interface{}, error) { +func (p *parser) callonExternalLink6() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink140() + return p.cur.onExternalLink6(stack["scheme"], stack["path"]) } -func (c *current) onRelativeLink136(id interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, nil) +func (c *current) onExternalLink2(url, attributes interface{}) (interface{}, error) { + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) } -func (p *parser) callonRelativeLink136() (interface{}, error) { +func (p *parser) callonExternalLink2() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink136(stack["id"]) + return p.cur.onExternalLink2(stack["url"], stack["attributes"]) } -func (c *current) onRelativeLink102() (interface{}, error) { +func (c *current) onExternalLink195() (interface{}, error) { + // not supported for now: EOL, space, "{", "[", "]". Also, punctuation chars and `<` and `>` special chars are treated separately below (but `&` is allowed) return types.NewStringElement(string(c.text)) } -func (p *parser) callonRelativeLink102() (interface{}, error) { +func (p *parser) callonExternalLink195() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink102() -} - -func (c *current) onRelativeLink144() (interface{}, error) { - return types.NewSpecialCharacter(string(c.text)) - + return p.cur.onExternalLink195() } -func (p *parser) callonRelativeLink144() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onRelativeLink144() -} - -func (c *current) onRelativeLink97(element interface{}) (interface{}, error) { - return element, nil - +func (c *current) onExternalLink199() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonRelativeLink97() (interface{}, error) { +func (p *parser) callonExternalLink199() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink97(stack["element"]) + return p.cur.onExternalLink199() } -func (c *current) onRelativeLink146() (interface{}, error) { - return types.NewStringElement(string(c.text)) +func (c *current) onExternalLink206() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonRelativeLink146() (interface{}, error) { +func (p *parser) callonExternalLink206() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink146() + return p.cur.onExternalLink206() } -func (c *current) onRelativeLink18(elements interface{}) (interface{}, error) { - return types.NewInlineElements(elements.([]interface{})) +func (c *current) onExternalLink210() (bool, error) { + return c.isSubstitutionEnabled(Attributes), nil } -func (p *parser) callonRelativeLink18() (interface{}, error) { +func (p *parser) callonExternalLink210() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink18(stack["elements"]) + return p.cur.onExternalLink210() } -func (c *current) onRelativeLink152() (interface{}, error) { +func (c *current) onExternalLink217() (interface{}, error) { return string(c.text), nil -} - -func (p *parser) callonRelativeLink152() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onRelativeLink152() -} - -func (c *current) onRelativeLink148(ref interface{}) (interface{}, error) { - return types.NewElementPlaceHolder(ref.(string)) -} - -func (p *parser) callonRelativeLink148() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onRelativeLink148(stack["ref"]) -} - -func (c *current) onRelativeLink5(scheme, path interface{}) (interface{}, error) { - return types.NewLocation(scheme, path.([]interface{})) } -func (p *parser) callonRelativeLink5() (interface{}, error) { +func (p *parser) callonExternalLink217() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink5(stack["scheme"], stack["path"]) + return p.cur.onExternalLink217() } -func (c *current) onRelativeLink1(url, attributes interface{}) (interface{}, error) { - return types.NewInlineLink(url.(*types.Location), attributes.(types.Attributes)) +func (c *current) onExternalLink229() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonRelativeLink1() (interface{}, error) { +func (p *parser) callonExternalLink229() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink1(stack["url"], stack["attributes"]) + return p.cur.onExternalLink229() } -func (c *current) onExternalLink24() (interface{}, error) { - // not supported for now: EOL, space, "{", "[", "]". Also, punctuation chars and `<` and `>` special chars are treated separately below (but `&` is allowed) - return types.NewStringElement(string(c.text)) - -} +func (c *current) onExternalLink231() (interface{}, error) { -func (p *parser) callonExternalLink24() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onExternalLink24() -} + return strconv.Atoi(string(c.text)) -func (c *current) onExternalLink28() (interface{}, error) { - return string(c.text), nil } -func (p *parser) callonExternalLink28() (interface{}, error) { +func (p *parser) callonExternalLink231() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink28() + return p.cur.onExternalLink231() } -func (c *current) onExternalLink35() (interface{}, error) { - return string(c.text), nil +func (c *current) onExternalLink224(start interface{}) (interface{}, error) { + return start, nil } -func (p *parser) callonExternalLink35() (interface{}, error) { +func (p *parser) callonExternalLink224() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink35() + return p.cur.onExternalLink224(stack["start"]) } -func (c *current) onExternalLink39() (bool, error) { - return c.isSubstitutionEnabled(Attributes), nil - +func (c *current) onExternalLink213(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) } -func (p *parser) callonExternalLink39() (bool, error) { +func (p *parser) callonExternalLink213() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink39() + return p.cur.onExternalLink213(stack["name"], stack["start"]) } -func (c *current) onExternalLink46() (interface{}, error) { +func (c *current) onExternalLink239() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExternalLink46() (interface{}, error) { +func (p *parser) callonExternalLink239() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink46() + return p.cur.onExternalLink239() } -func (c *current) onExternalLink58() (interface{}, error) { +func (c *current) onExternalLink251() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExternalLink58() (interface{}, error) { +func (p *parser) callonExternalLink251() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink58() + return p.cur.onExternalLink251() } -func (c *current) onExternalLink60() (interface{}, error) { +func (c *current) onExternalLink253() (interface{}, error) { return strconv.Atoi(string(c.text)) } -func (p *parser) callonExternalLink60() (interface{}, error) { +func (p *parser) callonExternalLink253() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink60() + return p.cur.onExternalLink253() } -func (c *current) onExternalLink53(start interface{}) (interface{}, error) { +func (c *current) onExternalLink246(start interface{}) (interface{}, error) { return start, nil } -func (p *parser) callonExternalLink53() (interface{}, error) { +func (p *parser) callonExternalLink246() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink53(stack["start"]) + return p.cur.onExternalLink246(stack["start"]) } -func (c *current) onExternalLink42(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) +func (c *current) onExternalLink235(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) } -func (p *parser) callonExternalLink42() (interface{}, error) { +func (p *parser) callonExternalLink235() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink42(stack["name"], stack["start"]) + return p.cur.onExternalLink235(stack["name"], stack["start"]) } -func (c *current) onExternalLink68() (interface{}, error) { +func (c *current) onExternalLink261() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExternalLink68() (interface{}, error) { +func (p *parser) callonExternalLink261() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink68() + return p.cur.onExternalLink261() } -func (c *current) onExternalLink80() (interface{}, error) { - return string(c.text), nil +func (c *current) onExternalLink257(name interface{}) (interface{}, error) { + + log.Debug("matching escaped attribute reference") + // return types.NewStringElement("{"+name.(string)+"}") + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) } -func (p *parser) callonExternalLink80() (interface{}, error) { +func (p *parser) callonExternalLink257() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink80() + return p.cur.onExternalLink257(stack["name"]) } -func (c *current) onExternalLink82() (interface{}, error) { - - return strconv.Atoi(string(c.text)) +func (c *current) onExternalLink271() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonExternalLink82() (interface{}, error) { +func (p *parser) callonExternalLink271() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink82() + return p.cur.onExternalLink271() } -func (c *current) onExternalLink75(start interface{}) (interface{}, error) { - return start, nil - -} +func (c *current) onExternalLink267(name interface{}) (interface{}, error) { -func (p *parser) callonExternalLink75() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onExternalLink75(stack["start"]) -} + return types.NewAttributeSubstitution(name.(string), string(c.text)) -func (c *current) onExternalLink64(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) } -func (p *parser) callonExternalLink64() (interface{}, error) { +func (p *parser) callonExternalLink267() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink64(stack["name"], stack["start"]) + return p.cur.onExternalLink267(stack["name"]) } -func (c *current) onExternalLink90() (interface{}, error) { - return string(c.text), nil +func (c *current) onExternalLink208(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonExternalLink90() (interface{}, error) { +func (p *parser) callonExternalLink208() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink90() + return p.cur.onExternalLink208(stack["element"]) } -func (c *current) onExternalLink86(name interface{}) (interface{}, error) { - - return types.NewAttributeSubstitution(name.(string), string(c.text)) +func (c *current) onExternalLink279() (bool, error) { + return c.isSubstitutionEnabled(SpecialCharacters), nil } -func (p *parser) callonExternalLink86() (interface{}, error) { +func (p *parser) callonExternalLink279() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink86(stack["name"]) + return p.cur.onExternalLink279() } -func (c *current) onExternalLink37(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onExternalLink288() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ + return string(c.text), nil } -func (p *parser) callonExternalLink37() (interface{}, error) { +func (p *parser) callonExternalLink288() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink37(stack["element"]) + return p.cur.onExternalLink288() } -func (c *current) onExternalLink98() (bool, error) { - return c.isSubstitutionEnabled(SpecialCharacters), nil +func (c *current) onExternalLink292() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonExternalLink98() (bool, error) { +func (p *parser) callonExternalLink292() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink98() + return p.cur.onExternalLink292() } -func (c *current) onExternalLink107() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ - return string(c.text), nil +func (c *current) onExternalLink298() (interface{}, error) { + // `{`, `>` and `>` characters are not allowed as they are used for attribute substitutions and cross-references + return types.NewStringElement(string(c.text)) } -func (p *parser) callonExternalLink107() (interface{}, error) { +func (p *parser) callonExternalLink298() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink107() + return p.cur.onExternalLink298() } -func (c *current) onExternalLink111() (interface{}, error) { +func (c *current) onExternalLink307() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExternalLink111() (interface{}, error) { +func (p *parser) callonExternalLink307() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink111() + return p.cur.onExternalLink307() } -func (c *current) onExternalLink117() (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) onExternalLink303(name interface{}) (interface{}, error) { + + log.Debug("matching escaped attribute reference") + // return types.NewStringElement("{"+name.(string)+"}") + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) } -func (p *parser) callonExternalLink117() (interface{}, error) { +func (p *parser) callonExternalLink303() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink117() + return p.cur.onExternalLink303(stack["name"]) } -func (c *current) onExternalLink126() (interface{}, error) { +func (c *current) onExternalLink317() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExternalLink126() (interface{}, error) { +func (p *parser) callonExternalLink317() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink126() + return p.cur.onExternalLink317() } -func (c *current) onExternalLink122(name interface{}) (interface{}, error) { +func (c *current) onExternalLink313(name interface{}) (interface{}, error) { return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonExternalLink122() (interface{}, error) { +func (p *parser) callonExternalLink313() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink122(stack["name"]) + return p.cur.onExternalLink313(stack["name"]) } -func (c *current) onExternalLink132() (interface{}, error) { +func (c *current) onExternalLink323() (interface{}, error) { return types.NewStringElement(string(c.text)) } -func (p *parser) callonExternalLink132() (interface{}, error) { +func (p *parser) callonExternalLink323() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink132() + return p.cur.onExternalLink323() } -func (c *current) onExternalLink103(id, label interface{}) (interface{}, error) { +func (c *current) onExternalLink284(id, label interface{}) (interface{}, error) { return types.NewInternalCrossReference(id, label) } -func (p *parser) callonExternalLink103() (interface{}, error) { +func (p *parser) callonExternalLink284() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink103(stack["id"], stack["label"]) + return p.cur.onExternalLink284(stack["id"], stack["label"]) } -func (c *current) onExternalLink139() (interface{}, error) { +func (c *current) onExternalLink330() (interface{}, error) { // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ return string(c.text), nil } -func (p *parser) callonExternalLink139() (interface{}, error) { +func (p *parser) callonExternalLink330() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink139() + return p.cur.onExternalLink330() } -func (c *current) onExternalLink135(id interface{}) (interface{}, error) { +func (c *current) onExternalLink326(id interface{}) (interface{}, error) { return types.NewInternalCrossReference(id, nil) } -func (p *parser) callonExternalLink135() (interface{}, error) { +func (p *parser) callonExternalLink326() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink135(stack["id"]) + return p.cur.onExternalLink326(stack["id"]) } -func (c *current) onExternalLink101() (interface{}, error) { +func (c *current) onExternalLink282() (interface{}, error) { return types.NewStringElement(string(c.text)) } -func (p *parser) callonExternalLink101() (interface{}, error) { +func (p *parser) callonExternalLink282() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink101() + return p.cur.onExternalLink282() } -func (c *current) onExternalLink143() (interface{}, error) { +func (c *current) onExternalLink334() (interface{}, error) { return types.NewSpecialCharacter(string(c.text)) } -func (p *parser) callonExternalLink143() (interface{}, error) { +func (p *parser) callonExternalLink334() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink143() + return p.cur.onExternalLink334() } -func (c *current) onExternalLink96(element interface{}) (interface{}, error) { +func (c *current) onExternalLink277(element interface{}) (interface{}, error) { return element, nil } -func (p *parser) callonExternalLink96() (interface{}, error) { +func (p *parser) callonExternalLink277() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink96(stack["element"]) + return p.cur.onExternalLink277(stack["element"]) } -func (c *current) onExternalLink145() (interface{}, error) { +func (c *current) onExternalLink336() (interface{}, error) { return types.NewStringElement(string(c.text)) } -func (p *parser) callonExternalLink145() (interface{}, error) { +func (p *parser) callonExternalLink336() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink145() + return p.cur.onExternalLink336() } -func (c *current) onExternalLink17(elements interface{}) (interface{}, error) { +func (c *current) onExternalLink188(elements interface{}) (interface{}, error) { return types.NewInlineElements(elements.([]interface{})) } -func (p *parser) callonExternalLink17() (interface{}, error) { +func (p *parser) callonExternalLink188() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink17(stack["elements"]) + return p.cur.onExternalLink188(stack["elements"]) } -func (c *current) onExternalLink4(scheme, path interface{}) (interface{}, error) { +func (c *current) onExternalLink175(scheme, path interface{}) (interface{}, error) { return types.NewLocation(scheme, path.([]interface{})) } -func (p *parser) callonExternalLink4() (interface{}, error) { +func (p *parser) callonExternalLink175() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink4(stack["scheme"], stack["path"]) + return p.cur.onExternalLink175(stack["scheme"], stack["path"]) } -func (c *current) onExternalLink1(url, attributes interface{}) (interface{}, error) { +func (c *current) onExternalLink172(url, attributes interface{}) (interface{}, error) { return types.NewInlineLink(url.(*types.Location), attributes) } -func (p *parser) callonExternalLink1() (interface{}, error) { +func (p *parser) callonExternalLink172() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink1(stack["url"], stack["attributes"]) + return p.cur.onExternalLink172(stack["url"], stack["attributes"]) } func (c *current) onListElements11() (interface{}, error) { @@ -80382,8 +88787,21 @@ func (p *parser) callonParagraph1() (interface{}, error) { return p.cur.onParagraph1(stack["firstLine"], stack["otherLines"]) } +func (c *current) onQuotedText6() (interface{}, error) { + + return types.NewStringElement(string(c.text)) + +} + +func (p *parser) callonQuotedText6() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onQuotedText6() +} + func (c *current) onQuotedText2(attributes, text interface{}) (interface{}, error) { - return text.(*types.QuotedText).WithAttributes(attributes) + log.Debugf("matched escaped quoted text") + return append([]interface{}{attributes}, text.([]interface{})...), nil } @@ -80393,6 +88811,17 @@ func (p *parser) callonQuotedText2() (interface{}, error) { return p.cur.onQuotedText2(stack["attributes"], stack["text"]) } +func (c *current) onQuotedText10(attributes, text interface{}) (interface{}, error) { + return text.(*types.QuotedText).WithAttributes(attributes) + +} + +func (p *parser) callonQuotedText10() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onQuotedText10(stack["attributes"], stack["text"]) +} + func (c *current) onEscapedQuotedText1(element interface{}) (interface{}, error) { return element, nil @@ -80605,7 +89034,9 @@ func (p *parser) callonDoubleQuoteBoldTextElement84() (interface{}, error) { func (c *current) onDoubleQuoteBoldTextElement80(name interface{}) (interface{}, error) { - return types.NewAttributeSubstitution(name.(string), string(c.text)) + log.Debug("matching escaped attribute reference") + // return types.NewStringElement("{"+name.(string)+"}") + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) } @@ -80615,6 +89046,29 @@ func (p *parser) callonDoubleQuoteBoldTextElement80() (interface{}, error) { return p.cur.onDoubleQuoteBoldTextElement80(stack["name"]) } +func (c *current) onDoubleQuoteBoldTextElement94() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDoubleQuoteBoldTextElement94() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteBoldTextElement94() +} + +func (c *current) onDoubleQuoteBoldTextElement90(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) + +} + +func (p *parser) callonDoubleQuoteBoldTextElement90() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteBoldTextElement90(stack["name"]) +} + func (c *current) onDoubleQuoteBoldTextElement31(element interface{}) (interface{}, error) { return element, nil @@ -80626,261 +89080,364 @@ func (p *parser) callonDoubleQuoteBoldTextElement31() (interface{}, error) { return p.cur.onDoubleQuoteBoldTextElement31(stack["element"]) } -func (c *current) onDoubleQuoteBoldTextElement93() (bool, error) { +func (c *current) onDoubleQuoteBoldTextElement103() (bool, error) { return c.isSubstitutionEnabled(SpecialCharacters), nil } -func (p *parser) callonDoubleQuoteBoldTextElement93() (bool, error) { +func (p *parser) callonDoubleQuoteBoldTextElement103() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement93() + return p.cur.onDoubleQuoteBoldTextElement103() } -func (c *current) onDoubleQuoteBoldTextElement102() (interface{}, error) { +func (c *current) onDoubleQuoteBoldTextElement112() (interface{}, error) { // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ return string(c.text), nil } -func (p *parser) callonDoubleQuoteBoldTextElement102() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement112() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement102() + return p.cur.onDoubleQuoteBoldTextElement112() } -func (c *current) onDoubleQuoteBoldTextElement106() (interface{}, error) { +func (c *current) onDoubleQuoteBoldTextElement116() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDoubleQuoteBoldTextElement106() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement116() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement106() + return p.cur.onDoubleQuoteBoldTextElement116() } -func (c *current) onDoubleQuoteBoldTextElement112() (interface{}, error) { +func (c *current) onDoubleQuoteBoldTextElement122() (interface{}, error) { // `{`, `>` and `>` characters are not allowed as they are used for attribute substitutions and cross-references return types.NewStringElement(string(c.text)) } -func (p *parser) callonDoubleQuoteBoldTextElement112() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement122() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement112() + return p.cur.onDoubleQuoteBoldTextElement122() } -func (c *current) onDoubleQuoteBoldTextElement121() (interface{}, error) { +func (c *current) onDoubleQuoteBoldTextElement131() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDoubleQuoteBoldTextElement121() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement131() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement121() + return p.cur.onDoubleQuoteBoldTextElement131() } -func (c *current) onDoubleQuoteBoldTextElement117(name interface{}) (interface{}, error) { +func (c *current) onDoubleQuoteBoldTextElement127(name interface{}) (interface{}, error) { + + log.Debug("matching escaped attribute reference") + // return types.NewStringElement("{"+name.(string)+"}") + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) + +} + +func (p *parser) callonDoubleQuoteBoldTextElement127() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteBoldTextElement127(stack["name"]) +} + +func (c *current) onDoubleQuoteBoldTextElement141() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDoubleQuoteBoldTextElement141() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteBoldTextElement141() +} + +func (c *current) onDoubleQuoteBoldTextElement137(name interface{}) (interface{}, error) { return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonDoubleQuoteBoldTextElement117() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement137() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement117(stack["name"]) + return p.cur.onDoubleQuoteBoldTextElement137(stack["name"]) } -func (c *current) onDoubleQuoteBoldTextElement127() (interface{}, error) { +func (c *current) onDoubleQuoteBoldTextElement147() (interface{}, error) { return types.NewStringElement(string(c.text)) } -func (p *parser) callonDoubleQuoteBoldTextElement127() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement147() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement127() + return p.cur.onDoubleQuoteBoldTextElement147() } -func (c *current) onDoubleQuoteBoldTextElement98(id, label interface{}) (interface{}, error) { +func (c *current) onDoubleQuoteBoldTextElement108(id, label interface{}) (interface{}, error) { return types.NewInternalCrossReference(id, label) } -func (p *parser) callonDoubleQuoteBoldTextElement98() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement108() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement98(stack["id"], stack["label"]) + return p.cur.onDoubleQuoteBoldTextElement108(stack["id"], stack["label"]) } -func (c *current) onDoubleQuoteBoldTextElement134() (interface{}, error) { +func (c *current) onDoubleQuoteBoldTextElement154() (interface{}, error) { // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ return string(c.text), nil } -func (p *parser) callonDoubleQuoteBoldTextElement134() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement154() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement134() + return p.cur.onDoubleQuoteBoldTextElement154() } -func (c *current) onDoubleQuoteBoldTextElement130(id interface{}) (interface{}, error) { +func (c *current) onDoubleQuoteBoldTextElement150(id interface{}) (interface{}, error) { return types.NewInternalCrossReference(id, nil) } -func (p *parser) callonDoubleQuoteBoldTextElement130() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement150() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement130(stack["id"]) + return p.cur.onDoubleQuoteBoldTextElement150(stack["id"]) } -func (c *current) onDoubleQuoteBoldTextElement96() (interface{}, error) { +func (c *current) onDoubleQuoteBoldTextElement106() (interface{}, error) { return types.NewStringElement(string(c.text)) } -func (p *parser) callonDoubleQuoteBoldTextElement96() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement106() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement96() + return p.cur.onDoubleQuoteBoldTextElement106() } -func (c *current) onDoubleQuoteBoldTextElement138() (interface{}, error) { +func (c *current) onDoubleQuoteBoldTextElement158() (interface{}, error) { return types.NewSpecialCharacter(string(c.text)) } -func (p *parser) callonDoubleQuoteBoldTextElement138() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement158() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement138() + return p.cur.onDoubleQuoteBoldTextElement158() } -func (c *current) onDoubleQuoteBoldTextElement91(element interface{}) (interface{}, error) { +func (c *current) onDoubleQuoteBoldTextElement101(element interface{}) (interface{}, error) { return element, nil } -func (p *parser) callonDoubleQuoteBoldTextElement91() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement101() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement91(stack["element"]) + return p.cur.onDoubleQuoteBoldTextElement101(stack["element"]) } -func (c *current) onDoubleQuoteBoldTextElement140() (interface{}, error) { +func (c *current) onDoubleQuoteBoldTextElement164() (interface{}, error) { return types.NewStringElement("\u2019") } -func (p *parser) callonDoubleQuoteBoldTextElement140() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement164() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement140() + return p.cur.onDoubleQuoteBoldTextElement164() } -func (c *current) onDoubleQuoteBoldTextElement142() (interface{}, error) { +func (c *current) onDoubleQuoteBoldTextElement166() (interface{}, error) { return types.NewStringElement("\u00a9") } -func (p *parser) callonDoubleQuoteBoldTextElement142() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement166() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement142() + return p.cur.onDoubleQuoteBoldTextElement166() } -func (c *current) onDoubleQuoteBoldTextElement144() (interface{}, error) { +func (c *current) onDoubleQuoteBoldTextElement168() (interface{}, error) { return types.NewStringElement("\u2122") } -func (p *parser) callonDoubleQuoteBoldTextElement144() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement168() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement144() + return p.cur.onDoubleQuoteBoldTextElement168() } -func (c *current) onDoubleQuoteBoldTextElement146() (interface{}, error) { +func (c *current) onDoubleQuoteBoldTextElement170() (interface{}, error) { return types.NewStringElement("\u00ae") } -func (p *parser) callonDoubleQuoteBoldTextElement146() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement170() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement146() + return p.cur.onDoubleQuoteBoldTextElement170() } -func (c *current) onDoubleQuoteBoldTextElement148() (interface{}, error) { +func (c *current) onDoubleQuoteBoldTextElement172() (interface{}, error) { return types.NewStringElement("\u2026\u200b") } -func (p *parser) callonDoubleQuoteBoldTextElement148() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement172() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement148() + return p.cur.onDoubleQuoteBoldTextElement172() } -func (c *current) onDoubleQuoteBoldTextElement150() (interface{}, error) { - return types.NewStringElement(string(c.text[:1]) + "\u2019") +func (c *current) onDoubleQuoteBoldTextElement160() (interface{}, error) { + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) } -func (p *parser) callonDoubleQuoteBoldTextElement150() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement160() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteBoldTextElement160() +} + +func (c *current) onDoubleQuoteBoldTextElement174() (interface{}, error) { + return types.NewStringElement("\u2019") + +} + +func (p *parser) callonDoubleQuoteBoldTextElement174() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteBoldTextElement174() +} + +func (c *current) onDoubleQuoteBoldTextElement176() (interface{}, error) { + return types.NewStringElement("\u00a9") + +} + +func (p *parser) callonDoubleQuoteBoldTextElement176() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement150() + return p.cur.onDoubleQuoteBoldTextElement176() +} + +func (c *current) onDoubleQuoteBoldTextElement178() (interface{}, error) { + return types.NewStringElement("\u2122") + +} + +func (p *parser) callonDoubleQuoteBoldTextElement178() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteBoldTextElement178() +} + +func (c *current) onDoubleQuoteBoldTextElement180() (interface{}, error) { + return types.NewStringElement("\u00ae") + } -func (c *current) onDoubleQuoteBoldTextElement162() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement180() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteBoldTextElement180() +} + +func (c *current) onDoubleQuoteBoldTextElement182() (interface{}, error) { + return types.NewStringElement("\u2026\u200b") + +} + +func (p *parser) callonDoubleQuoteBoldTextElement182() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteBoldTextElement182() +} + +func (c *current) onDoubleQuoteBoldTextElement184() (interface{}, error) { + log.Debug("matched escaped apostrophe") + return types.NewStringElement(strings.TrimSuffix(string(c.text), `\'`) + `'`) // retain the apostrophe, but discard the `\` escape char + +} + +func (p *parser) callonDoubleQuoteBoldTextElement184() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteBoldTextElement184() +} + +func (c *current) onDoubleQuoteBoldTextElement190() (interface{}, error) { + return types.NewStringElement(strings.TrimSuffix(string(c.text), `'`) + "\u2019") // convert quote + +} + +func (p *parser) callonDoubleQuoteBoldTextElement190() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteBoldTextElement190() +} + +func (c *current) onDoubleQuoteBoldTextElement202() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDoubleQuoteBoldTextElement162() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement202() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement162() + return p.cur.onDoubleQuoteBoldTextElement202() } -func (c *current) onDoubleQuoteBoldTextElement158(ref interface{}) (interface{}, error) { +func (c *current) onDoubleQuoteBoldTextElement198(ref interface{}) (interface{}, error) { return types.NewElementPlaceHolder(ref.(string)) } -func (p *parser) callonDoubleQuoteBoldTextElement158() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement198() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement158(stack["ref"]) + return p.cur.onDoubleQuoteBoldTextElement198(stack["ref"]) } -func (c *current) onDoubleQuoteBoldTextElement170() (interface{}, error) { +func (c *current) onDoubleQuoteBoldTextElement210() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDoubleQuoteBoldTextElement170() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement210() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement170() + return p.cur.onDoubleQuoteBoldTextElement210() } -func (c *current) onDoubleQuoteBoldTextElement167() (interface{}, error) { +func (c *current) onDoubleQuoteBoldTextElement207() (interface{}, error) { // or a bold delimiter when immediately followed by an alphanum (ie, in the middle of some text) return types.NewStringElement(string(c.text)) } -func (p *parser) callonDoubleQuoteBoldTextElement167() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement207() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement167() + return p.cur.onDoubleQuoteBoldTextElement207() } func (c *current) onDoubleQuoteBoldTextElement1(element interface{}) (interface{}, error) { @@ -81139,7 +89696,9 @@ func (p *parser) callonSingleQuoteBoldTextElement79() (interface{}, error) { func (c *current) onSingleQuoteBoldTextElement75(name interface{}) (interface{}, error) { - return types.NewAttributeSubstitution(name.(string), string(c.text)) + log.Debug("matching escaped attribute reference") + // return types.NewStringElement("{"+name.(string)+"}") + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) } @@ -81149,6 +89708,29 @@ func (p *parser) callonSingleQuoteBoldTextElement75() (interface{}, error) { return p.cur.onSingleQuoteBoldTextElement75(stack["name"]) } +func (c *current) onSingleQuoteBoldTextElement89() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonSingleQuoteBoldTextElement89() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteBoldTextElement89() +} + +func (c *current) onSingleQuoteBoldTextElement85(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) + +} + +func (p *parser) callonSingleQuoteBoldTextElement85() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteBoldTextElement85(stack["name"]) +} + func (c *current) onSingleQuoteBoldTextElement26(element interface{}) (interface{}, error) { return element, nil @@ -81160,272 +89742,386 @@ func (p *parser) callonSingleQuoteBoldTextElement26() (interface{}, error) { return p.cur.onSingleQuoteBoldTextElement26(stack["element"]) } -func (c *current) onSingleQuoteBoldTextElement88() (bool, error) { +func (c *current) onSingleQuoteBoldTextElement98() (bool, error) { return c.isSubstitutionEnabled(SpecialCharacters), nil } -func (p *parser) callonSingleQuoteBoldTextElement88() (bool, error) { +func (p *parser) callonSingleQuoteBoldTextElement98() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement88() + return p.cur.onSingleQuoteBoldTextElement98() } -func (c *current) onSingleQuoteBoldTextElement97() (interface{}, error) { +func (c *current) onSingleQuoteBoldTextElement107() (interface{}, error) { // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ return string(c.text), nil } -func (p *parser) callonSingleQuoteBoldTextElement97() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement107() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement97() + return p.cur.onSingleQuoteBoldTextElement107() } -func (c *current) onSingleQuoteBoldTextElement101() (interface{}, error) { +func (c *current) onSingleQuoteBoldTextElement111() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSingleQuoteBoldTextElement101() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement111() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement101() + return p.cur.onSingleQuoteBoldTextElement111() } -func (c *current) onSingleQuoteBoldTextElement107() (interface{}, error) { +func (c *current) onSingleQuoteBoldTextElement117() (interface{}, error) { // `{`, `>` and `>` characters are not allowed as they are used for attribute substitutions and cross-references return types.NewStringElement(string(c.text)) } -func (p *parser) callonSingleQuoteBoldTextElement107() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement117() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement107() + return p.cur.onSingleQuoteBoldTextElement117() +} + +func (c *current) onSingleQuoteBoldTextElement126() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonSingleQuoteBoldTextElement126() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteBoldTextElement126() } -func (c *current) onSingleQuoteBoldTextElement116() (interface{}, error) { +func (c *current) onSingleQuoteBoldTextElement122(name interface{}) (interface{}, error) { + + log.Debug("matching escaped attribute reference") + // return types.NewStringElement("{"+name.(string)+"}") + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) + +} + +func (p *parser) callonSingleQuoteBoldTextElement122() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteBoldTextElement122(stack["name"]) +} + +func (c *current) onSingleQuoteBoldTextElement136() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSingleQuoteBoldTextElement116() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement136() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement116() + return p.cur.onSingleQuoteBoldTextElement136() } -func (c *current) onSingleQuoteBoldTextElement112(name interface{}) (interface{}, error) { +func (c *current) onSingleQuoteBoldTextElement132(name interface{}) (interface{}, error) { return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonSingleQuoteBoldTextElement112() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement132() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement112(stack["name"]) + return p.cur.onSingleQuoteBoldTextElement132(stack["name"]) } -func (c *current) onSingleQuoteBoldTextElement122() (interface{}, error) { +func (c *current) onSingleQuoteBoldTextElement142() (interface{}, error) { return types.NewStringElement(string(c.text)) } -func (p *parser) callonSingleQuoteBoldTextElement122() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement142() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement122() + return p.cur.onSingleQuoteBoldTextElement142() } -func (c *current) onSingleQuoteBoldTextElement93(id, label interface{}) (interface{}, error) { +func (c *current) onSingleQuoteBoldTextElement103(id, label interface{}) (interface{}, error) { return types.NewInternalCrossReference(id, label) } -func (p *parser) callonSingleQuoteBoldTextElement93() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement103() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement93(stack["id"], stack["label"]) + return p.cur.onSingleQuoteBoldTextElement103(stack["id"], stack["label"]) } -func (c *current) onSingleQuoteBoldTextElement129() (interface{}, error) { +func (c *current) onSingleQuoteBoldTextElement149() (interface{}, error) { // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ return string(c.text), nil } -func (p *parser) callonSingleQuoteBoldTextElement129() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement149() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement129() + return p.cur.onSingleQuoteBoldTextElement149() } -func (c *current) onSingleQuoteBoldTextElement125(id interface{}) (interface{}, error) { +func (c *current) onSingleQuoteBoldTextElement145(id interface{}) (interface{}, error) { return types.NewInternalCrossReference(id, nil) } -func (p *parser) callonSingleQuoteBoldTextElement125() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement145() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement125(stack["id"]) + return p.cur.onSingleQuoteBoldTextElement145(stack["id"]) } -func (c *current) onSingleQuoteBoldTextElement91() (interface{}, error) { +func (c *current) onSingleQuoteBoldTextElement101() (interface{}, error) { return types.NewStringElement(string(c.text)) } -func (p *parser) callonSingleQuoteBoldTextElement91() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement101() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement91() + return p.cur.onSingleQuoteBoldTextElement101() } -func (c *current) onSingleQuoteBoldTextElement133() (interface{}, error) { +func (c *current) onSingleQuoteBoldTextElement153() (interface{}, error) { return types.NewSpecialCharacter(string(c.text)) } -func (p *parser) callonSingleQuoteBoldTextElement133() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement153() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement133() + return p.cur.onSingleQuoteBoldTextElement153() } -func (c *current) onSingleQuoteBoldTextElement86(element interface{}) (interface{}, error) { +func (c *current) onSingleQuoteBoldTextElement96(element interface{}) (interface{}, error) { return element, nil } -func (p *parser) callonSingleQuoteBoldTextElement86() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement96() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement86(stack["element"]) + return p.cur.onSingleQuoteBoldTextElement96(stack["element"]) } -func (c *current) onSingleQuoteBoldTextElement135() (interface{}, error) { +func (c *current) onSingleQuoteBoldTextElement159() (interface{}, error) { return types.NewStringElement("\u2019") } -func (p *parser) callonSingleQuoteBoldTextElement135() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement159() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement135() + return p.cur.onSingleQuoteBoldTextElement159() } -func (c *current) onSingleQuoteBoldTextElement137() (interface{}, error) { +func (c *current) onSingleQuoteBoldTextElement161() (interface{}, error) { return types.NewStringElement("\u00a9") } -func (p *parser) callonSingleQuoteBoldTextElement137() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement161() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement137() + return p.cur.onSingleQuoteBoldTextElement161() } -func (c *current) onSingleQuoteBoldTextElement139() (interface{}, error) { +func (c *current) onSingleQuoteBoldTextElement163() (interface{}, error) { return types.NewStringElement("\u2122") } -func (p *parser) callonSingleQuoteBoldTextElement139() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement163() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement139() + return p.cur.onSingleQuoteBoldTextElement163() } -func (c *current) onSingleQuoteBoldTextElement141() (interface{}, error) { +func (c *current) onSingleQuoteBoldTextElement165() (interface{}, error) { return types.NewStringElement("\u00ae") } -func (p *parser) callonSingleQuoteBoldTextElement141() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement165() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement141() + return p.cur.onSingleQuoteBoldTextElement165() } -func (c *current) onSingleQuoteBoldTextElement143() (interface{}, error) { +func (c *current) onSingleQuoteBoldTextElement167() (interface{}, error) { return types.NewStringElement("\u2026\u200b") } -func (p *parser) callonSingleQuoteBoldTextElement143() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement167() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement143() + return p.cur.onSingleQuoteBoldTextElement167() } -func (c *current) onSingleQuoteBoldTextElement145() (interface{}, error) { - return types.NewStringElement(string(c.text[:1]) + "\u2019") +func (c *current) onSingleQuoteBoldTextElement155() (interface{}, error) { + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) } -func (p *parser) callonSingleQuoteBoldTextElement145() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement155() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteBoldTextElement155() +} + +func (c *current) onSingleQuoteBoldTextElement169() (interface{}, error) { + return types.NewStringElement("\u2019") + +} + +func (p *parser) callonSingleQuoteBoldTextElement169() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteBoldTextElement169() +} + +func (c *current) onSingleQuoteBoldTextElement171() (interface{}, error) { + return types.NewStringElement("\u00a9") + +} + +func (p *parser) callonSingleQuoteBoldTextElement171() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteBoldTextElement171() +} + +func (c *current) onSingleQuoteBoldTextElement173() (interface{}, error) { + return types.NewStringElement("\u2122") + +} + +func (p *parser) callonSingleQuoteBoldTextElement173() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteBoldTextElement173() +} + +func (c *current) onSingleQuoteBoldTextElement175() (interface{}, error) { + return types.NewStringElement("\u00ae") + +} + +func (p *parser) callonSingleQuoteBoldTextElement175() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement145() + return p.cur.onSingleQuoteBoldTextElement175() } -func (c *current) onSingleQuoteBoldTextElement157() (interface{}, error) { +func (c *current) onSingleQuoteBoldTextElement177() (interface{}, error) { + return types.NewStringElement("\u2026\u200b") + +} + +func (p *parser) callonSingleQuoteBoldTextElement177() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteBoldTextElement177() +} + +func (c *current) onSingleQuoteBoldTextElement179() (interface{}, error) { + log.Debug("matched escaped apostrophe") + return types.NewStringElement(strings.TrimSuffix(string(c.text), `\'`) + `'`) // retain the apostrophe, but discard the `\` escape char + +} + +func (p *parser) callonSingleQuoteBoldTextElement179() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteBoldTextElement179() +} + +func (c *current) onSingleQuoteBoldTextElement185() (interface{}, error) { + return types.NewStringElement(strings.TrimSuffix(string(c.text), `'`) + "\u2019") // convert quote + +} + +func (p *parser) callonSingleQuoteBoldTextElement185() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteBoldTextElement185() +} + +func (c *current) onSingleQuoteBoldTextElement197() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSingleQuoteBoldTextElement157() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement197() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement157() + return p.cur.onSingleQuoteBoldTextElement197() } -func (c *current) onSingleQuoteBoldTextElement153(ref interface{}) (interface{}, error) { +func (c *current) onSingleQuoteBoldTextElement193(ref interface{}) (interface{}, error) { return types.NewElementPlaceHolder(ref.(string)) } -func (p *parser) callonSingleQuoteBoldTextElement153() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement193() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement153(stack["ref"]) + return p.cur.onSingleQuoteBoldTextElement193(stack["ref"]) } -func (c *current) onSingleQuoteBoldTextElement165() (interface{}, error) { +func (c *current) onSingleQuoteBoldTextElement205() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSingleQuoteBoldTextElement165() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement205() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement165() + return p.cur.onSingleQuoteBoldTextElement205() } -func (c *current) onSingleQuoteBoldTextElement162() (interface{}, error) { +func (c *current) onSingleQuoteBoldTextElement202() (interface{}, error) { // or a bold delimiter when immediately followed by an alphanum (ie, in the middle of some text) return types.NewStringElement(string(c.text)) } -func (p *parser) callonSingleQuoteBoldTextElement162() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement202() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteBoldTextElement202() +} + +func (c *current) onQuotedTextInSingleQuoteBoldText2(element interface{}) (interface{}, error) { + return element, nil + +} + +func (p *parser) callonQuotedTextInSingleQuoteBoldText2() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement162() + return p.cur.onQuotedTextInSingleQuoteBoldText2(stack["element"]) } -func (c *current) onQuotedTextInSingleQuoteBoldText1(attributes, text interface{}) (interface{}, error) { +func (c *current) onQuotedTextInSingleQuoteBoldText13(attributes, text interface{}) (interface{}, error) { return text.(*types.QuotedText).WithAttributes(attributes) } -func (p *parser) callonQuotedTextInSingleQuoteBoldText1() (interface{}, error) { +func (p *parser) callonQuotedTextInSingleQuoteBoldText13() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onQuotedTextInSingleQuoteBoldText1(stack["attributes"], stack["text"]) + return p.cur.onQuotedTextInSingleQuoteBoldText13(stack["attributes"], stack["text"]) } func (c *current) onEscapedBoldText5() (interface{}, error) { @@ -81440,7 +90136,7 @@ func (p *parser) callonEscapedBoldText5() (interface{}, error) { } func (c *current) onEscapedBoldText2(backslashes, elements interface{}) (interface{}, error) { - // double punctuation must be evaluated first + return types.NewEscapedQuotedText(backslashes.(string), "**", elements.([]interface{})) } @@ -81463,7 +90159,7 @@ func (p *parser) callonEscapedBoldText17() (interface{}, error) { } func (c *current) onEscapedBoldText14(backslashes, elements interface{}) (interface{}, error) { - // unbalanced `**` vs `*` punctuation + result := append([]interface{}{"*"}, elements.([]interface{})) return types.NewEscapedQuotedText(backslashes.(string), "*", result) @@ -81487,7 +90183,7 @@ func (p *parser) callonEscapedBoldText27() (interface{}, error) { } func (c *current) onEscapedBoldText24(backslashes, elements interface{}) (interface{}, error) { - // simple punctuation must be evaluated last + return types.NewEscapedQuotedText(backslashes.(string), "*", elements.([]interface{})) } @@ -81700,7 +90396,9 @@ func (p *parser) callonDoubleQuoteItalicTextElement84() (interface{}, error) { func (c *current) onDoubleQuoteItalicTextElement80(name interface{}) (interface{}, error) { - return types.NewAttributeSubstitution(name.(string), string(c.text)) + log.Debug("matching escaped attribute reference") + // return types.NewStringElement("{"+name.(string)+"}") + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) } @@ -81710,6 +90408,29 @@ func (p *parser) callonDoubleQuoteItalicTextElement80() (interface{}, error) { return p.cur.onDoubleQuoteItalicTextElement80(stack["name"]) } +func (c *current) onDoubleQuoteItalicTextElement94() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDoubleQuoteItalicTextElement94() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteItalicTextElement94() +} + +func (c *current) onDoubleQuoteItalicTextElement90(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) + +} + +func (p *parser) callonDoubleQuoteItalicTextElement90() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteItalicTextElement90(stack["name"]) +} + func (c *current) onDoubleQuoteItalicTextElement31(element interface{}) (interface{}, error) { return element, nil @@ -81721,261 +90442,364 @@ func (p *parser) callonDoubleQuoteItalicTextElement31() (interface{}, error) { return p.cur.onDoubleQuoteItalicTextElement31(stack["element"]) } -func (c *current) onDoubleQuoteItalicTextElement93() (bool, error) { +func (c *current) onDoubleQuoteItalicTextElement103() (bool, error) { return c.isSubstitutionEnabled(SpecialCharacters), nil } -func (p *parser) callonDoubleQuoteItalicTextElement93() (bool, error) { +func (p *parser) callonDoubleQuoteItalicTextElement103() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement93() + return p.cur.onDoubleQuoteItalicTextElement103() } -func (c *current) onDoubleQuoteItalicTextElement102() (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement112() (interface{}, error) { // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ return string(c.text), nil } -func (p *parser) callonDoubleQuoteItalicTextElement102() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement112() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement102() + return p.cur.onDoubleQuoteItalicTextElement112() } -func (c *current) onDoubleQuoteItalicTextElement106() (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement116() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDoubleQuoteItalicTextElement106() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement116() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement106() + return p.cur.onDoubleQuoteItalicTextElement116() } -func (c *current) onDoubleQuoteItalicTextElement112() (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement122() (interface{}, error) { // `{`, `>` and `>` characters are not allowed as they are used for attribute substitutions and cross-references return types.NewStringElement(string(c.text)) } -func (p *parser) callonDoubleQuoteItalicTextElement112() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement122() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement112() + return p.cur.onDoubleQuoteItalicTextElement122() +} + +func (c *current) onDoubleQuoteItalicTextElement131() (interface{}, error) { + return string(c.text), nil + } -func (c *current) onDoubleQuoteItalicTextElement121() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement131() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteItalicTextElement131() +} + +func (c *current) onDoubleQuoteItalicTextElement127(name interface{}) (interface{}, error) { + + log.Debug("matching escaped attribute reference") + // return types.NewStringElement("{"+name.(string)+"}") + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) + +} + +func (p *parser) callonDoubleQuoteItalicTextElement127() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteItalicTextElement127(stack["name"]) +} + +func (c *current) onDoubleQuoteItalicTextElement141() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDoubleQuoteItalicTextElement121() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement141() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement121() + return p.cur.onDoubleQuoteItalicTextElement141() } -func (c *current) onDoubleQuoteItalicTextElement117(name interface{}) (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement137(name interface{}) (interface{}, error) { return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonDoubleQuoteItalicTextElement117() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement137() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement117(stack["name"]) + return p.cur.onDoubleQuoteItalicTextElement137(stack["name"]) } -func (c *current) onDoubleQuoteItalicTextElement127() (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement147() (interface{}, error) { return types.NewStringElement(string(c.text)) } -func (p *parser) callonDoubleQuoteItalicTextElement127() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement147() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement127() + return p.cur.onDoubleQuoteItalicTextElement147() } -func (c *current) onDoubleQuoteItalicTextElement98(id, label interface{}) (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement108(id, label interface{}) (interface{}, error) { return types.NewInternalCrossReference(id, label) } -func (p *parser) callonDoubleQuoteItalicTextElement98() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement108() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement98(stack["id"], stack["label"]) + return p.cur.onDoubleQuoteItalicTextElement108(stack["id"], stack["label"]) } -func (c *current) onDoubleQuoteItalicTextElement134() (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement154() (interface{}, error) { // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ return string(c.text), nil } -func (p *parser) callonDoubleQuoteItalicTextElement134() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement154() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement134() + return p.cur.onDoubleQuoteItalicTextElement154() } -func (c *current) onDoubleQuoteItalicTextElement130(id interface{}) (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement150(id interface{}) (interface{}, error) { return types.NewInternalCrossReference(id, nil) } -func (p *parser) callonDoubleQuoteItalicTextElement130() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement150() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement130(stack["id"]) + return p.cur.onDoubleQuoteItalicTextElement150(stack["id"]) } -func (c *current) onDoubleQuoteItalicTextElement96() (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement106() (interface{}, error) { return types.NewStringElement(string(c.text)) } -func (p *parser) callonDoubleQuoteItalicTextElement96() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement106() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement96() + return p.cur.onDoubleQuoteItalicTextElement106() } -func (c *current) onDoubleQuoteItalicTextElement138() (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement158() (interface{}, error) { return types.NewSpecialCharacter(string(c.text)) } -func (p *parser) callonDoubleQuoteItalicTextElement138() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement158() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement138() + return p.cur.onDoubleQuoteItalicTextElement158() } -func (c *current) onDoubleQuoteItalicTextElement91(element interface{}) (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement101(element interface{}) (interface{}, error) { return element, nil } -func (p *parser) callonDoubleQuoteItalicTextElement91() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement101() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement91(stack["element"]) + return p.cur.onDoubleQuoteItalicTextElement101(stack["element"]) } -func (c *current) onDoubleQuoteItalicTextElement140() (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement164() (interface{}, error) { return types.NewStringElement("\u2019") } -func (p *parser) callonDoubleQuoteItalicTextElement140() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement164() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement140() + return p.cur.onDoubleQuoteItalicTextElement164() } -func (c *current) onDoubleQuoteItalicTextElement142() (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement166() (interface{}, error) { return types.NewStringElement("\u00a9") } -func (p *parser) callonDoubleQuoteItalicTextElement142() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement166() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement142() + return p.cur.onDoubleQuoteItalicTextElement166() } -func (c *current) onDoubleQuoteItalicTextElement144() (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement168() (interface{}, error) { return types.NewStringElement("\u2122") } -func (p *parser) callonDoubleQuoteItalicTextElement144() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement168() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement144() + return p.cur.onDoubleQuoteItalicTextElement168() } -func (c *current) onDoubleQuoteItalicTextElement146() (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement170() (interface{}, error) { return types.NewStringElement("\u00ae") } -func (p *parser) callonDoubleQuoteItalicTextElement146() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement170() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement146() + return p.cur.onDoubleQuoteItalicTextElement170() } -func (c *current) onDoubleQuoteItalicTextElement148() (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement172() (interface{}, error) { return types.NewStringElement("\u2026\u200b") } -func (p *parser) callonDoubleQuoteItalicTextElement148() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement172() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement148() + return p.cur.onDoubleQuoteItalicTextElement172() } -func (c *current) onDoubleQuoteItalicTextElement150() (interface{}, error) { - return types.NewStringElement(string(c.text[:1]) + "\u2019") +func (c *current) onDoubleQuoteItalicTextElement160() (interface{}, error) { + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) } -func (p *parser) callonDoubleQuoteItalicTextElement150() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement160() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteItalicTextElement160() +} + +func (c *current) onDoubleQuoteItalicTextElement174() (interface{}, error) { + return types.NewStringElement("\u2019") + +} + +func (p *parser) callonDoubleQuoteItalicTextElement174() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteItalicTextElement174() +} + +func (c *current) onDoubleQuoteItalicTextElement176() (interface{}, error) { + return types.NewStringElement("\u00a9") + +} + +func (p *parser) callonDoubleQuoteItalicTextElement176() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteItalicTextElement176() +} + +func (c *current) onDoubleQuoteItalicTextElement178() (interface{}, error) { + return types.NewStringElement("\u2122") + +} + +func (p *parser) callonDoubleQuoteItalicTextElement178() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteItalicTextElement178() +} + +func (c *current) onDoubleQuoteItalicTextElement180() (interface{}, error) { + return types.NewStringElement("\u00ae") + +} + +func (p *parser) callonDoubleQuoteItalicTextElement180() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteItalicTextElement180() +} + +func (c *current) onDoubleQuoteItalicTextElement182() (interface{}, error) { + return types.NewStringElement("\u2026\u200b") + +} + +func (p *parser) callonDoubleQuoteItalicTextElement182() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteItalicTextElement182() +} + +func (c *current) onDoubleQuoteItalicTextElement184() (interface{}, error) { + log.Debug("matched escaped apostrophe") + return types.NewStringElement(strings.TrimSuffix(string(c.text), `\'`) + `'`) // retain the apostrophe, but discard the `\` escape char + +} + +func (p *parser) callonDoubleQuoteItalicTextElement184() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement150() + return p.cur.onDoubleQuoteItalicTextElement184() } -func (c *current) onDoubleQuoteItalicTextElement162() (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement190() (interface{}, error) { + return types.NewStringElement(strings.TrimSuffix(string(c.text), `'`) + "\u2019") // convert quote + +} + +func (p *parser) callonDoubleQuoteItalicTextElement190() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteItalicTextElement190() +} + +func (c *current) onDoubleQuoteItalicTextElement202() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDoubleQuoteItalicTextElement162() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement202() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement162() + return p.cur.onDoubleQuoteItalicTextElement202() } -func (c *current) onDoubleQuoteItalicTextElement158(ref interface{}) (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement198(ref interface{}) (interface{}, error) { return types.NewElementPlaceHolder(ref.(string)) } -func (p *parser) callonDoubleQuoteItalicTextElement158() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement198() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement158(stack["ref"]) + return p.cur.onDoubleQuoteItalicTextElement198(stack["ref"]) } -func (c *current) onDoubleQuoteItalicTextElement170() (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement210() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDoubleQuoteItalicTextElement170() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement210() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement170() + return p.cur.onDoubleQuoteItalicTextElement210() } -func (c *current) onDoubleQuoteItalicTextElement167() (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement207() (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) callonDoubleQuoteItalicTextElement167() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement207() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement167() + return p.cur.onDoubleQuoteItalicTextElement207() } func (c *current) onDoubleQuoteItalicTextElement1(element interface{}) (interface{}, error) { @@ -81989,15 +90813,26 @@ func (p *parser) callonDoubleQuoteItalicTextElement1() (interface{}, error) { return p.cur.onDoubleQuoteItalicTextElement1(stack["element"]) } -func (c *current) onQuotedTextInDoubleQuoteItalicText1(attributes, text interface{}) (interface{}, error) { +func (c *current) onQuotedTextInDoubleQuoteItalicText2(element interface{}) (interface{}, error) { + return element, nil + +} + +func (p *parser) callonQuotedTextInDoubleQuoteItalicText2() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onQuotedTextInDoubleQuoteItalicText2(stack["element"]) +} + +func (c *current) onQuotedTextInDoubleQuoteItalicText13(attributes, text interface{}) (interface{}, error) { return text.(*types.QuotedText).WithAttributes(attributes) } -func (p *parser) callonQuotedTextInDoubleQuoteItalicText1() (interface{}, error) { +func (p *parser) callonQuotedTextInDoubleQuoteItalicText13() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onQuotedTextInDoubleQuoteItalicText1(stack["attributes"], stack["text"]) + return p.cur.onQuotedTextInDoubleQuoteItalicText13(stack["attributes"], stack["text"]) } func (c *current) onSingleQuoteItalicText1(elements interface{}) (interface{}, error) { @@ -82235,7 +91070,9 @@ func (p *parser) callonSingleQuoteItalicTextElement79() (interface{}, error) { func (c *current) onSingleQuoteItalicTextElement75(name interface{}) (interface{}, error) { - return types.NewAttributeSubstitution(name.(string), string(c.text)) + log.Debug("matching escaped attribute reference") + // return types.NewStringElement("{"+name.(string)+"}") + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) } @@ -82245,6 +91082,29 @@ func (p *parser) callonSingleQuoteItalicTextElement75() (interface{}, error) { return p.cur.onSingleQuoteItalicTextElement75(stack["name"]) } +func (c *current) onSingleQuoteItalicTextElement89() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonSingleQuoteItalicTextElement89() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteItalicTextElement89() +} + +func (c *current) onSingleQuoteItalicTextElement85(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) + +} + +func (p *parser) callonSingleQuoteItalicTextElement85() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteItalicTextElement85(stack["name"]) +} + func (c *current) onSingleQuoteItalicTextElement26(element interface{}) (interface{}, error) { return element, nil @@ -82256,272 +91116,386 @@ func (p *parser) callonSingleQuoteItalicTextElement26() (interface{}, error) { return p.cur.onSingleQuoteItalicTextElement26(stack["element"]) } -func (c *current) onSingleQuoteItalicTextElement88() (bool, error) { +func (c *current) onSingleQuoteItalicTextElement98() (bool, error) { return c.isSubstitutionEnabled(SpecialCharacters), nil } -func (p *parser) callonSingleQuoteItalicTextElement88() (bool, error) { +func (p *parser) callonSingleQuoteItalicTextElement98() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement88() + return p.cur.onSingleQuoteItalicTextElement98() } -func (c *current) onSingleQuoteItalicTextElement97() (interface{}, error) { +func (c *current) onSingleQuoteItalicTextElement107() (interface{}, error) { // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ return string(c.text), nil } -func (p *parser) callonSingleQuoteItalicTextElement97() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement107() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement97() + return p.cur.onSingleQuoteItalicTextElement107() } -func (c *current) onSingleQuoteItalicTextElement101() (interface{}, error) { +func (c *current) onSingleQuoteItalicTextElement111() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSingleQuoteItalicTextElement101() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement111() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement101() + return p.cur.onSingleQuoteItalicTextElement111() } -func (c *current) onSingleQuoteItalicTextElement107() (interface{}, error) { +func (c *current) onSingleQuoteItalicTextElement117() (interface{}, error) { // `{`, `>` and `>` characters are not allowed as they are used for attribute substitutions and cross-references return types.NewStringElement(string(c.text)) } -func (p *parser) callonSingleQuoteItalicTextElement107() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement117() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement107() + return p.cur.onSingleQuoteItalicTextElement117() +} + +func (c *current) onSingleQuoteItalicTextElement126() (interface{}, error) { + return string(c.text), nil + } -func (c *current) onSingleQuoteItalicTextElement116() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement126() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteItalicTextElement126() +} + +func (c *current) onSingleQuoteItalicTextElement122(name interface{}) (interface{}, error) { + + log.Debug("matching escaped attribute reference") + // return types.NewStringElement("{"+name.(string)+"}") + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) + +} + +func (p *parser) callonSingleQuoteItalicTextElement122() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteItalicTextElement122(stack["name"]) +} + +func (c *current) onSingleQuoteItalicTextElement136() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSingleQuoteItalicTextElement116() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement136() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement116() + return p.cur.onSingleQuoteItalicTextElement136() } -func (c *current) onSingleQuoteItalicTextElement112(name interface{}) (interface{}, error) { +func (c *current) onSingleQuoteItalicTextElement132(name interface{}) (interface{}, error) { return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonSingleQuoteItalicTextElement112() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement132() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement112(stack["name"]) + return p.cur.onSingleQuoteItalicTextElement132(stack["name"]) } -func (c *current) onSingleQuoteItalicTextElement122() (interface{}, error) { +func (c *current) onSingleQuoteItalicTextElement142() (interface{}, error) { return types.NewStringElement(string(c.text)) } -func (p *parser) callonSingleQuoteItalicTextElement122() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement142() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement122() + return p.cur.onSingleQuoteItalicTextElement142() } -func (c *current) onSingleQuoteItalicTextElement93(id, label interface{}) (interface{}, error) { +func (c *current) onSingleQuoteItalicTextElement103(id, label interface{}) (interface{}, error) { return types.NewInternalCrossReference(id, label) } -func (p *parser) callonSingleQuoteItalicTextElement93() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement103() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement93(stack["id"], stack["label"]) + return p.cur.onSingleQuoteItalicTextElement103(stack["id"], stack["label"]) } -func (c *current) onSingleQuoteItalicTextElement129() (interface{}, error) { +func (c *current) onSingleQuoteItalicTextElement149() (interface{}, error) { // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ return string(c.text), nil } -func (p *parser) callonSingleQuoteItalicTextElement129() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement149() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement129() + return p.cur.onSingleQuoteItalicTextElement149() } -func (c *current) onSingleQuoteItalicTextElement125(id interface{}) (interface{}, error) { +func (c *current) onSingleQuoteItalicTextElement145(id interface{}) (interface{}, error) { return types.NewInternalCrossReference(id, nil) } -func (p *parser) callonSingleQuoteItalicTextElement125() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement145() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement125(stack["id"]) + return p.cur.onSingleQuoteItalicTextElement145(stack["id"]) } -func (c *current) onSingleQuoteItalicTextElement91() (interface{}, error) { +func (c *current) onSingleQuoteItalicTextElement101() (interface{}, error) { return types.NewStringElement(string(c.text)) } -func (p *parser) callonSingleQuoteItalicTextElement91() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement101() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement91() + return p.cur.onSingleQuoteItalicTextElement101() } -func (c *current) onSingleQuoteItalicTextElement133() (interface{}, error) { +func (c *current) onSingleQuoteItalicTextElement153() (interface{}, error) { return types.NewSpecialCharacter(string(c.text)) } -func (p *parser) callonSingleQuoteItalicTextElement133() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement153() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement133() + return p.cur.onSingleQuoteItalicTextElement153() } -func (c *current) onSingleQuoteItalicTextElement86(element interface{}) (interface{}, error) { +func (c *current) onSingleQuoteItalicTextElement96(element interface{}) (interface{}, error) { return element, nil } -func (p *parser) callonSingleQuoteItalicTextElement86() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement96() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement86(stack["element"]) + return p.cur.onSingleQuoteItalicTextElement96(stack["element"]) } -func (c *current) onSingleQuoteItalicTextElement135() (interface{}, error) { +func (c *current) onSingleQuoteItalicTextElement159() (interface{}, error) { return types.NewStringElement("\u2019") } -func (p *parser) callonSingleQuoteItalicTextElement135() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement159() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement135() + return p.cur.onSingleQuoteItalicTextElement159() } -func (c *current) onSingleQuoteItalicTextElement137() (interface{}, error) { +func (c *current) onSingleQuoteItalicTextElement161() (interface{}, error) { return types.NewStringElement("\u00a9") } -func (p *parser) callonSingleQuoteItalicTextElement137() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement161() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement137() + return p.cur.onSingleQuoteItalicTextElement161() } -func (c *current) onSingleQuoteItalicTextElement139() (interface{}, error) { +func (c *current) onSingleQuoteItalicTextElement163() (interface{}, error) { return types.NewStringElement("\u2122") } -func (p *parser) callonSingleQuoteItalicTextElement139() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement163() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement139() + return p.cur.onSingleQuoteItalicTextElement163() } -func (c *current) onSingleQuoteItalicTextElement141() (interface{}, error) { +func (c *current) onSingleQuoteItalicTextElement165() (interface{}, error) { return types.NewStringElement("\u00ae") } -func (p *parser) callonSingleQuoteItalicTextElement141() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement165() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement141() + return p.cur.onSingleQuoteItalicTextElement165() } -func (c *current) onSingleQuoteItalicTextElement143() (interface{}, error) { +func (c *current) onSingleQuoteItalicTextElement167() (interface{}, error) { return types.NewStringElement("\u2026\u200b") } -func (p *parser) callonSingleQuoteItalicTextElement143() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement167() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement143() + return p.cur.onSingleQuoteItalicTextElement167() } -func (c *current) onSingleQuoteItalicTextElement145() (interface{}, error) { - return types.NewStringElement(string(c.text[:1]) + "\u2019") +func (c *current) onSingleQuoteItalicTextElement155() (interface{}, error) { + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) } -func (p *parser) callonSingleQuoteItalicTextElement145() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement155() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteItalicTextElement155() +} + +func (c *current) onSingleQuoteItalicTextElement169() (interface{}, error) { + return types.NewStringElement("\u2019") + +} + +func (p *parser) callonSingleQuoteItalicTextElement169() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteItalicTextElement169() +} + +func (c *current) onSingleQuoteItalicTextElement171() (interface{}, error) { + return types.NewStringElement("\u00a9") + +} + +func (p *parser) callonSingleQuoteItalicTextElement171() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteItalicTextElement171() +} + +func (c *current) onSingleQuoteItalicTextElement173() (interface{}, error) { + return types.NewStringElement("\u2122") + +} + +func (p *parser) callonSingleQuoteItalicTextElement173() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteItalicTextElement173() +} + +func (c *current) onSingleQuoteItalicTextElement175() (interface{}, error) { + return types.NewStringElement("\u00ae") + +} + +func (p *parser) callonSingleQuoteItalicTextElement175() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteItalicTextElement175() +} + +func (c *current) onSingleQuoteItalicTextElement177() (interface{}, error) { + return types.NewStringElement("\u2026\u200b") + +} + +func (p *parser) callonSingleQuoteItalicTextElement177() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteItalicTextElement177() +} + +func (c *current) onSingleQuoteItalicTextElement179() (interface{}, error) { + log.Debug("matched escaped apostrophe") + return types.NewStringElement(strings.TrimSuffix(string(c.text), `\'`) + `'`) // retain the apostrophe, but discard the `\` escape char + +} + +func (p *parser) callonSingleQuoteItalicTextElement179() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement145() + return p.cur.onSingleQuoteItalicTextElement179() } -func (c *current) onSingleQuoteItalicTextElement157() (interface{}, error) { +func (c *current) onSingleQuoteItalicTextElement185() (interface{}, error) { + return types.NewStringElement(strings.TrimSuffix(string(c.text), `'`) + "\u2019") // convert quote + +} + +func (p *parser) callonSingleQuoteItalicTextElement185() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteItalicTextElement185() +} + +func (c *current) onSingleQuoteItalicTextElement197() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSingleQuoteItalicTextElement157() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement197() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement157() + return p.cur.onSingleQuoteItalicTextElement197() } -func (c *current) onSingleQuoteItalicTextElement153(ref interface{}) (interface{}, error) { +func (c *current) onSingleQuoteItalicTextElement193(ref interface{}) (interface{}, error) { return types.NewElementPlaceHolder(ref.(string)) } -func (p *parser) callonSingleQuoteItalicTextElement153() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement193() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement153(stack["ref"]) + return p.cur.onSingleQuoteItalicTextElement193(stack["ref"]) } -func (c *current) onSingleQuoteItalicTextElement165() (interface{}, error) { +func (c *current) onSingleQuoteItalicTextElement205() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSingleQuoteItalicTextElement165() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement205() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement165() + return p.cur.onSingleQuoteItalicTextElement205() } -func (c *current) onSingleQuoteItalicTextElement162() (interface{}, error) { +func (c *current) onSingleQuoteItalicTextElement202() (interface{}, error) { // or an italic delimiter when immediately followed by an alphanum (ie, in the middle of some text) return types.NewStringElement(string(c.text)) } -func (p *parser) callonSingleQuoteItalicTextElement162() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement202() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement162() + return p.cur.onSingleQuoteItalicTextElement202() } -func (c *current) onQuotedTextInSingleQuoteItalicText1(attributes, text interface{}) (interface{}, error) { +func (c *current) onQuotedTextInSingleQuoteItalicText2(element interface{}) (interface{}, error) { + return element, nil + +} + +func (p *parser) callonQuotedTextInSingleQuoteItalicText2() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onQuotedTextInSingleQuoteItalicText2(stack["element"]) +} + +func (c *current) onQuotedTextInSingleQuoteItalicText13(attributes, text interface{}) (interface{}, error) { return text.(*types.QuotedText).WithAttributes(attributes) } -func (p *parser) callonQuotedTextInSingleQuoteItalicText1() (interface{}, error) { +func (p *parser) callonQuotedTextInSingleQuoteItalicText13() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onQuotedTextInSingleQuoteItalicText1(stack["attributes"], stack["text"]) + return p.cur.onQuotedTextInSingleQuoteItalicText13(stack["attributes"], stack["text"]) } func (c *current) onEscapedItalicText5() (interface{}, error) { @@ -82536,7 +91510,6 @@ func (p *parser) callonEscapedItalicText5() (interface{}, error) { } func (c *current) onEscapedItalicText2(backslashes, elements interface{}) (interface{}, error) { - // double punctuation must be evaluated first return types.NewEscapedQuotedText(backslashes.(string), "__", elements.([]interface{})) } @@ -82796,7 +91769,9 @@ func (p *parser) callonDoubleQuoteMonospaceTextElement84() (interface{}, error) func (c *current) onDoubleQuoteMonospaceTextElement80(name interface{}) (interface{}, error) { - return types.NewAttributeSubstitution(name.(string), string(c.text)) + log.Debug("matching escaped attribute reference") + // return types.NewStringElement("{"+name.(string)+"}") + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) } @@ -82806,6 +91781,29 @@ func (p *parser) callonDoubleQuoteMonospaceTextElement80() (interface{}, error) return p.cur.onDoubleQuoteMonospaceTextElement80(stack["name"]) } +func (c *current) onDoubleQuoteMonospaceTextElement94() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDoubleQuoteMonospaceTextElement94() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMonospaceTextElement94() +} + +func (c *current) onDoubleQuoteMonospaceTextElement90(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) + +} + +func (p *parser) callonDoubleQuoteMonospaceTextElement90() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMonospaceTextElement90(stack["name"]) +} + func (c *current) onDoubleQuoteMonospaceTextElement31(element interface{}) (interface{}, error) { return element, nil @@ -82817,261 +91815,364 @@ func (p *parser) callonDoubleQuoteMonospaceTextElement31() (interface{}, error) return p.cur.onDoubleQuoteMonospaceTextElement31(stack["element"]) } -func (c *current) onDoubleQuoteMonospaceTextElement93() (bool, error) { +func (c *current) onDoubleQuoteMonospaceTextElement103() (bool, error) { return c.isSubstitutionEnabled(SpecialCharacters), nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement93() (bool, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement103() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement93() + return p.cur.onDoubleQuoteMonospaceTextElement103() } -func (c *current) onDoubleQuoteMonospaceTextElement102() (interface{}, error) { +func (c *current) onDoubleQuoteMonospaceTextElement112() (interface{}, error) { // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ return string(c.text), nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement102() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement112() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement102() + return p.cur.onDoubleQuoteMonospaceTextElement112() } -func (c *current) onDoubleQuoteMonospaceTextElement106() (interface{}, error) { +func (c *current) onDoubleQuoteMonospaceTextElement116() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement106() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement116() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement106() + return p.cur.onDoubleQuoteMonospaceTextElement116() } -func (c *current) onDoubleQuoteMonospaceTextElement112() (interface{}, error) { +func (c *current) onDoubleQuoteMonospaceTextElement122() (interface{}, error) { // `{`, `>` and `>` characters are not allowed as they are used for attribute substitutions and cross-references return types.NewStringElement(string(c.text)) } -func (p *parser) callonDoubleQuoteMonospaceTextElement112() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement122() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement112() + return p.cur.onDoubleQuoteMonospaceTextElement122() } -func (c *current) onDoubleQuoteMonospaceTextElement121() (interface{}, error) { +func (c *current) onDoubleQuoteMonospaceTextElement131() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement121() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement131() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement121() + return p.cur.onDoubleQuoteMonospaceTextElement131() +} + +func (c *current) onDoubleQuoteMonospaceTextElement127(name interface{}) (interface{}, error) { + + log.Debug("matching escaped attribute reference") + // return types.NewStringElement("{"+name.(string)+"}") + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) + } -func (c *current) onDoubleQuoteMonospaceTextElement117(name interface{}) (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement127() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMonospaceTextElement127(stack["name"]) +} + +func (c *current) onDoubleQuoteMonospaceTextElement141() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDoubleQuoteMonospaceTextElement141() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMonospaceTextElement141() +} + +func (c *current) onDoubleQuoteMonospaceTextElement137(name interface{}) (interface{}, error) { return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonDoubleQuoteMonospaceTextElement117() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement137() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement117(stack["name"]) + return p.cur.onDoubleQuoteMonospaceTextElement137(stack["name"]) } -func (c *current) onDoubleQuoteMonospaceTextElement127() (interface{}, error) { +func (c *current) onDoubleQuoteMonospaceTextElement147() (interface{}, error) { return types.NewStringElement(string(c.text)) } -func (p *parser) callonDoubleQuoteMonospaceTextElement127() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement147() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement127() + return p.cur.onDoubleQuoteMonospaceTextElement147() } -func (c *current) onDoubleQuoteMonospaceTextElement98(id, label interface{}) (interface{}, error) { +func (c *current) onDoubleQuoteMonospaceTextElement108(id, label interface{}) (interface{}, error) { return types.NewInternalCrossReference(id, label) } -func (p *parser) callonDoubleQuoteMonospaceTextElement98() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement108() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement98(stack["id"], stack["label"]) + return p.cur.onDoubleQuoteMonospaceTextElement108(stack["id"], stack["label"]) } -func (c *current) onDoubleQuoteMonospaceTextElement134() (interface{}, error) { +func (c *current) onDoubleQuoteMonospaceTextElement154() (interface{}, error) { // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ return string(c.text), nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement134() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement154() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement134() + return p.cur.onDoubleQuoteMonospaceTextElement154() } -func (c *current) onDoubleQuoteMonospaceTextElement130(id interface{}) (interface{}, error) { +func (c *current) onDoubleQuoteMonospaceTextElement150(id interface{}) (interface{}, error) { return types.NewInternalCrossReference(id, nil) } -func (p *parser) callonDoubleQuoteMonospaceTextElement130() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement150() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement130(stack["id"]) + return p.cur.onDoubleQuoteMonospaceTextElement150(stack["id"]) } -func (c *current) onDoubleQuoteMonospaceTextElement96() (interface{}, error) { +func (c *current) onDoubleQuoteMonospaceTextElement106() (interface{}, error) { return types.NewStringElement(string(c.text)) } -func (p *parser) callonDoubleQuoteMonospaceTextElement96() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement106() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement96() + return p.cur.onDoubleQuoteMonospaceTextElement106() } -func (c *current) onDoubleQuoteMonospaceTextElement138() (interface{}, error) { +func (c *current) onDoubleQuoteMonospaceTextElement158() (interface{}, error) { return types.NewSpecialCharacter(string(c.text)) } -func (p *parser) callonDoubleQuoteMonospaceTextElement138() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement158() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement138() + return p.cur.onDoubleQuoteMonospaceTextElement158() } -func (c *current) onDoubleQuoteMonospaceTextElement91(element interface{}) (interface{}, error) { +func (c *current) onDoubleQuoteMonospaceTextElement101(element interface{}) (interface{}, error) { return element, nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement91() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement101() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement91(stack["element"]) + return p.cur.onDoubleQuoteMonospaceTextElement101(stack["element"]) } -func (c *current) onDoubleQuoteMonospaceTextElement140() (interface{}, error) { +func (c *current) onDoubleQuoteMonospaceTextElement164() (interface{}, error) { return types.NewStringElement("\u2019") } -func (p *parser) callonDoubleQuoteMonospaceTextElement140() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement164() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement140() + return p.cur.onDoubleQuoteMonospaceTextElement164() } -func (c *current) onDoubleQuoteMonospaceTextElement142() (interface{}, error) { +func (c *current) onDoubleQuoteMonospaceTextElement166() (interface{}, error) { return types.NewStringElement("\u00a9") } -func (p *parser) callonDoubleQuoteMonospaceTextElement142() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement166() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement142() + return p.cur.onDoubleQuoteMonospaceTextElement166() } -func (c *current) onDoubleQuoteMonospaceTextElement144() (interface{}, error) { +func (c *current) onDoubleQuoteMonospaceTextElement168() (interface{}, error) { return types.NewStringElement("\u2122") } -func (p *parser) callonDoubleQuoteMonospaceTextElement144() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement168() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement144() + return p.cur.onDoubleQuoteMonospaceTextElement168() } -func (c *current) onDoubleQuoteMonospaceTextElement146() (interface{}, error) { +func (c *current) onDoubleQuoteMonospaceTextElement170() (interface{}, error) { return types.NewStringElement("\u00ae") } -func (p *parser) callonDoubleQuoteMonospaceTextElement146() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement170() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement146() + return p.cur.onDoubleQuoteMonospaceTextElement170() } -func (c *current) onDoubleQuoteMonospaceTextElement148() (interface{}, error) { +func (c *current) onDoubleQuoteMonospaceTextElement172() (interface{}, error) { return types.NewStringElement("\u2026\u200b") } -func (p *parser) callonDoubleQuoteMonospaceTextElement148() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement172() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement148() + return p.cur.onDoubleQuoteMonospaceTextElement172() } -func (c *current) onDoubleQuoteMonospaceTextElement150() (interface{}, error) { - return types.NewStringElement(string(c.text[:1]) + "\u2019") +func (c *current) onDoubleQuoteMonospaceTextElement160() (interface{}, error) { + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) } -func (p *parser) callonDoubleQuoteMonospaceTextElement150() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement160() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement150() + return p.cur.onDoubleQuoteMonospaceTextElement160() } -func (c *current) onDoubleQuoteMonospaceTextElement163() (interface{}, error) { +func (c *current) onDoubleQuoteMonospaceTextElement174() (interface{}, error) { + return types.NewStringElement("\u2019") + +} + +func (p *parser) callonDoubleQuoteMonospaceTextElement174() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMonospaceTextElement174() +} + +func (c *current) onDoubleQuoteMonospaceTextElement176() (interface{}, error) { + return types.NewStringElement("\u00a9") + +} + +func (p *parser) callonDoubleQuoteMonospaceTextElement176() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMonospaceTextElement176() +} + +func (c *current) onDoubleQuoteMonospaceTextElement178() (interface{}, error) { + return types.NewStringElement("\u2122") + +} + +func (p *parser) callonDoubleQuoteMonospaceTextElement178() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMonospaceTextElement178() +} + +func (c *current) onDoubleQuoteMonospaceTextElement180() (interface{}, error) { + return types.NewStringElement("\u00ae") + +} + +func (p *parser) callonDoubleQuoteMonospaceTextElement180() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMonospaceTextElement180() +} + +func (c *current) onDoubleQuoteMonospaceTextElement182() (interface{}, error) { + return types.NewStringElement("\u2026\u200b") + +} + +func (p *parser) callonDoubleQuoteMonospaceTextElement182() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMonospaceTextElement182() +} + +func (c *current) onDoubleQuoteMonospaceTextElement184() (interface{}, error) { + log.Debug("matched escaped apostrophe") + return types.NewStringElement(strings.TrimSuffix(string(c.text), `\'`) + `'`) // retain the apostrophe, but discard the `\` escape char + +} + +func (p *parser) callonDoubleQuoteMonospaceTextElement184() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMonospaceTextElement184() +} + +func (c *current) onDoubleQuoteMonospaceTextElement190() (interface{}, error) { + return types.NewStringElement(strings.TrimSuffix(string(c.text), `'`) + "\u2019") // convert quote + +} + +func (p *parser) callonDoubleQuoteMonospaceTextElement190() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMonospaceTextElement190() +} + +func (c *current) onDoubleQuoteMonospaceTextElement203() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement163() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement203() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement163() + return p.cur.onDoubleQuoteMonospaceTextElement203() } -func (c *current) onDoubleQuoteMonospaceTextElement159(ref interface{}) (interface{}, error) { +func (c *current) onDoubleQuoteMonospaceTextElement199(ref interface{}) (interface{}, error) { return types.NewElementPlaceHolder(ref.(string)) } -func (p *parser) callonDoubleQuoteMonospaceTextElement159() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement199() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement159(stack["ref"]) + return p.cur.onDoubleQuoteMonospaceTextElement199(stack["ref"]) } -func (c *current) onDoubleQuoteMonospaceTextElement171() (interface{}, error) { +func (c *current) onDoubleQuoteMonospaceTextElement211() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement171() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement211() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement171() + return p.cur.onDoubleQuoteMonospaceTextElement211() } -func (c *current) onDoubleQuoteMonospaceTextElement168() (interface{}, error) { +func (c *current) onDoubleQuoteMonospaceTextElement208() (interface{}, error) { // ` or a monospace delimiter when immediately followed by an alphanum (ie, in the middle of some text) return types.NewStringElement(string(c.text)) } -func (p *parser) callonDoubleQuoteMonospaceTextElement168() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement208() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement168() + return p.cur.onDoubleQuoteMonospaceTextElement208() } func (c *current) onDoubleQuoteMonospaceTextElement1(element interface{}) (interface{}, error) { @@ -83085,15 +92186,26 @@ func (p *parser) callonDoubleQuoteMonospaceTextElement1() (interface{}, error) { return p.cur.onDoubleQuoteMonospaceTextElement1(stack["element"]) } -func (c *current) onQuotedTextInDoubleQuoteMonospaceText1(attributes, text interface{}) (interface{}, error) { +func (c *current) onQuotedTextInDoubleQuoteMonospaceText2(element interface{}) (interface{}, error) { + return element, nil + +} + +func (p *parser) callonQuotedTextInDoubleQuoteMonospaceText2() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onQuotedTextInDoubleQuoteMonospaceText2(stack["element"]) +} + +func (c *current) onQuotedTextInDoubleQuoteMonospaceText13(attributes, text interface{}) (interface{}, error) { return text.(*types.QuotedText).WithAttributes(attributes) } -func (p *parser) callonQuotedTextInDoubleQuoteMonospaceText1() (interface{}, error) { +func (p *parser) callonQuotedTextInDoubleQuoteMonospaceText13() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onQuotedTextInDoubleQuoteMonospaceText1(stack["attributes"], stack["text"]) + return p.cur.onQuotedTextInDoubleQuoteMonospaceText13(stack["attributes"], stack["text"]) } func (c *current) onSingleQuoteMonospaceText1(elements interface{}) (interface{}, error) { @@ -83332,7 +92444,9 @@ func (p *parser) callonSingleQuoteMonospaceTextElement88() (interface{}, error) func (c *current) onSingleQuoteMonospaceTextElement84(name interface{}) (interface{}, error) { - return types.NewAttributeSubstitution(name.(string), string(c.text)) + log.Debug("matching escaped attribute reference") + // return types.NewStringElement("{"+name.(string)+"}") + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) } @@ -83342,6 +92456,29 @@ func (p *parser) callonSingleQuoteMonospaceTextElement84() (interface{}, error) return p.cur.onSingleQuoteMonospaceTextElement84(stack["name"]) } +func (c *current) onSingleQuoteMonospaceTextElement98() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonSingleQuoteMonospaceTextElement98() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteMonospaceTextElement98() +} + +func (c *current) onSingleQuoteMonospaceTextElement94(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) + +} + +func (p *parser) callonSingleQuoteMonospaceTextElement94() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteMonospaceTextElement94(stack["name"]) +} + func (c *current) onSingleQuoteMonospaceTextElement35(element interface{}) (interface{}, error) { return element, nil @@ -83353,272 +92490,386 @@ func (p *parser) callonSingleQuoteMonospaceTextElement35() (interface{}, error) return p.cur.onSingleQuoteMonospaceTextElement35(stack["element"]) } -func (c *current) onSingleQuoteMonospaceTextElement97() (bool, error) { +func (c *current) onSingleQuoteMonospaceTextElement107() (bool, error) { return c.isSubstitutionEnabled(SpecialCharacters), nil } -func (p *parser) callonSingleQuoteMonospaceTextElement97() (bool, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement107() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement97() + return p.cur.onSingleQuoteMonospaceTextElement107() } -func (c *current) onSingleQuoteMonospaceTextElement106() (interface{}, error) { +func (c *current) onSingleQuoteMonospaceTextElement116() (interface{}, error) { // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ return string(c.text), nil } -func (p *parser) callonSingleQuoteMonospaceTextElement106() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement116() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement106() + return p.cur.onSingleQuoteMonospaceTextElement116() } -func (c *current) onSingleQuoteMonospaceTextElement110() (interface{}, error) { +func (c *current) onSingleQuoteMonospaceTextElement120() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSingleQuoteMonospaceTextElement110() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement120() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement110() + return p.cur.onSingleQuoteMonospaceTextElement120() } -func (c *current) onSingleQuoteMonospaceTextElement116() (interface{}, error) { +func (c *current) onSingleQuoteMonospaceTextElement126() (interface{}, error) { // `{`, `>` and `>` characters are not allowed as they are used for attribute substitutions and cross-references return types.NewStringElement(string(c.text)) } -func (p *parser) callonSingleQuoteMonospaceTextElement116() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement126() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement116() + return p.cur.onSingleQuoteMonospaceTextElement126() } -func (c *current) onSingleQuoteMonospaceTextElement125() (interface{}, error) { +func (c *current) onSingleQuoteMonospaceTextElement135() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSingleQuoteMonospaceTextElement125() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement135() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement125() + return p.cur.onSingleQuoteMonospaceTextElement135() +} + +func (c *current) onSingleQuoteMonospaceTextElement131(name interface{}) (interface{}, error) { + + log.Debug("matching escaped attribute reference") + // return types.NewStringElement("{"+name.(string)+"}") + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) + } -func (c *current) onSingleQuoteMonospaceTextElement121(name interface{}) (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement131() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteMonospaceTextElement131(stack["name"]) +} + +func (c *current) onSingleQuoteMonospaceTextElement145() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonSingleQuoteMonospaceTextElement145() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteMonospaceTextElement145() +} + +func (c *current) onSingleQuoteMonospaceTextElement141(name interface{}) (interface{}, error) { return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonSingleQuoteMonospaceTextElement121() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement141() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement121(stack["name"]) + return p.cur.onSingleQuoteMonospaceTextElement141(stack["name"]) } -func (c *current) onSingleQuoteMonospaceTextElement131() (interface{}, error) { +func (c *current) onSingleQuoteMonospaceTextElement151() (interface{}, error) { return types.NewStringElement(string(c.text)) } -func (p *parser) callonSingleQuoteMonospaceTextElement131() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement151() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement131() + return p.cur.onSingleQuoteMonospaceTextElement151() } -func (c *current) onSingleQuoteMonospaceTextElement102(id, label interface{}) (interface{}, error) { +func (c *current) onSingleQuoteMonospaceTextElement112(id, label interface{}) (interface{}, error) { return types.NewInternalCrossReference(id, label) } -func (p *parser) callonSingleQuoteMonospaceTextElement102() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement112() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement102(stack["id"], stack["label"]) + return p.cur.onSingleQuoteMonospaceTextElement112(stack["id"], stack["label"]) } -func (c *current) onSingleQuoteMonospaceTextElement138() (interface{}, error) { +func (c *current) onSingleQuoteMonospaceTextElement158() (interface{}, error) { // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ return string(c.text), nil } -func (p *parser) callonSingleQuoteMonospaceTextElement138() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement158() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement138() + return p.cur.onSingleQuoteMonospaceTextElement158() } -func (c *current) onSingleQuoteMonospaceTextElement134(id interface{}) (interface{}, error) { +func (c *current) onSingleQuoteMonospaceTextElement154(id interface{}) (interface{}, error) { return types.NewInternalCrossReference(id, nil) } -func (p *parser) callonSingleQuoteMonospaceTextElement134() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement154() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement134(stack["id"]) + return p.cur.onSingleQuoteMonospaceTextElement154(stack["id"]) } -func (c *current) onSingleQuoteMonospaceTextElement100() (interface{}, error) { +func (c *current) onSingleQuoteMonospaceTextElement110() (interface{}, error) { return types.NewStringElement(string(c.text)) } -func (p *parser) callonSingleQuoteMonospaceTextElement100() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement110() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement100() + return p.cur.onSingleQuoteMonospaceTextElement110() } -func (c *current) onSingleQuoteMonospaceTextElement142() (interface{}, error) { +func (c *current) onSingleQuoteMonospaceTextElement162() (interface{}, error) { return types.NewSpecialCharacter(string(c.text)) } -func (p *parser) callonSingleQuoteMonospaceTextElement142() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement162() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement142() + return p.cur.onSingleQuoteMonospaceTextElement162() } -func (c *current) onSingleQuoteMonospaceTextElement95(element interface{}) (interface{}, error) { +func (c *current) onSingleQuoteMonospaceTextElement105(element interface{}) (interface{}, error) { return element, nil } -func (p *parser) callonSingleQuoteMonospaceTextElement95() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement105() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteMonospaceTextElement105(stack["element"]) +} + +func (c *current) onSingleQuoteMonospaceTextElement168() (interface{}, error) { + return types.NewStringElement("\u2019") + +} + +func (p *parser) callonSingleQuoteMonospaceTextElement168() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteMonospaceTextElement168() +} + +func (c *current) onSingleQuoteMonospaceTextElement170() (interface{}, error) { + return types.NewStringElement("\u00a9") + +} + +func (p *parser) callonSingleQuoteMonospaceTextElement170() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteMonospaceTextElement170() +} + +func (c *current) onSingleQuoteMonospaceTextElement172() (interface{}, error) { + return types.NewStringElement("\u2122") + +} + +func (p *parser) callonSingleQuoteMonospaceTextElement172() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteMonospaceTextElement172() +} + +func (c *current) onSingleQuoteMonospaceTextElement174() (interface{}, error) { + return types.NewStringElement("\u00ae") + +} + +func (p *parser) callonSingleQuoteMonospaceTextElement174() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteMonospaceTextElement174() +} + +func (c *current) onSingleQuoteMonospaceTextElement176() (interface{}, error) { + return types.NewStringElement("\u2026\u200b") + +} + +func (p *parser) callonSingleQuoteMonospaceTextElement176() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteMonospaceTextElement176() +} + +func (c *current) onSingleQuoteMonospaceTextElement164() (interface{}, error) { + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) + +} + +func (p *parser) callonSingleQuoteMonospaceTextElement164() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement95(stack["element"]) + return p.cur.onSingleQuoteMonospaceTextElement164() } -func (c *current) onSingleQuoteMonospaceTextElement144() (interface{}, error) { +func (c *current) onSingleQuoteMonospaceTextElement178() (interface{}, error) { return types.NewStringElement("\u2019") } -func (p *parser) callonSingleQuoteMonospaceTextElement144() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement178() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement144() + return p.cur.onSingleQuoteMonospaceTextElement178() } -func (c *current) onSingleQuoteMonospaceTextElement146() (interface{}, error) { +func (c *current) onSingleQuoteMonospaceTextElement180() (interface{}, error) { return types.NewStringElement("\u00a9") } -func (p *parser) callonSingleQuoteMonospaceTextElement146() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement180() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement146() + return p.cur.onSingleQuoteMonospaceTextElement180() } -func (c *current) onSingleQuoteMonospaceTextElement148() (interface{}, error) { +func (c *current) onSingleQuoteMonospaceTextElement182() (interface{}, error) { return types.NewStringElement("\u2122") } -func (p *parser) callonSingleQuoteMonospaceTextElement148() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement182() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement148() + return p.cur.onSingleQuoteMonospaceTextElement182() } -func (c *current) onSingleQuoteMonospaceTextElement150() (interface{}, error) { +func (c *current) onSingleQuoteMonospaceTextElement184() (interface{}, error) { return types.NewStringElement("\u00ae") } -func (p *parser) callonSingleQuoteMonospaceTextElement150() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement184() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement150() + return p.cur.onSingleQuoteMonospaceTextElement184() } -func (c *current) onSingleQuoteMonospaceTextElement152() (interface{}, error) { +func (c *current) onSingleQuoteMonospaceTextElement186() (interface{}, error) { return types.NewStringElement("\u2026\u200b") } -func (p *parser) callonSingleQuoteMonospaceTextElement152() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement186() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement152() + return p.cur.onSingleQuoteMonospaceTextElement186() } -func (c *current) onSingleQuoteMonospaceTextElement154() (interface{}, error) { - return types.NewStringElement(string(c.text[:1]) + "\u2019") +func (c *current) onSingleQuoteMonospaceTextElement188() (interface{}, error) { + log.Debug("matched escaped apostrophe") + return types.NewStringElement(strings.TrimSuffix(string(c.text), `\'`) + `'`) // retain the apostrophe, but discard the `\` escape char } -func (p *parser) callonSingleQuoteMonospaceTextElement154() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement188() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement154() + return p.cur.onSingleQuoteMonospaceTextElement188() } -func (c *current) onSingleQuoteMonospaceTextElement167() (interface{}, error) { +func (c *current) onSingleQuoteMonospaceTextElement194() (interface{}, error) { + return types.NewStringElement(strings.TrimSuffix(string(c.text), `'`) + "\u2019") // convert quote + +} + +func (p *parser) callonSingleQuoteMonospaceTextElement194() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteMonospaceTextElement194() +} + +func (c *current) onSingleQuoteMonospaceTextElement207() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSingleQuoteMonospaceTextElement167() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement207() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement167() + return p.cur.onSingleQuoteMonospaceTextElement207() } -func (c *current) onSingleQuoteMonospaceTextElement163(ref interface{}) (interface{}, error) { +func (c *current) onSingleQuoteMonospaceTextElement203(ref interface{}) (interface{}, error) { return types.NewElementPlaceHolder(ref.(string)) } -func (p *parser) callonSingleQuoteMonospaceTextElement163() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement203() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement163(stack["ref"]) + return p.cur.onSingleQuoteMonospaceTextElement203(stack["ref"]) } -func (c *current) onSingleQuoteMonospaceTextElement176() (interface{}, error) { +func (c *current) onSingleQuoteMonospaceTextElement216() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSingleQuoteMonospaceTextElement176() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement216() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement176() + return p.cur.onSingleQuoteMonospaceTextElement216() } -func (c *current) onSingleQuoteMonospaceTextElement171() (interface{}, error) { +func (c *current) onSingleQuoteMonospaceTextElement211() (interface{}, error) { // or an monospace delimiter when immediately followed by an alphanum (ie, in the middle of some text) return types.NewStringElement(string(c.text)) } -func (p *parser) callonSingleQuoteMonospaceTextElement171() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement211() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement171() + return p.cur.onSingleQuoteMonospaceTextElement211() +} + +func (c *current) onQuotedTextInSingleQuoteMonospaceText2(element interface{}) (interface{}, error) { + return element, nil + } -func (c *current) onQuotedTextInSingleQuoteMonospaceText1(attributes, text interface{}) (interface{}, error) { +func (p *parser) callonQuotedTextInSingleQuoteMonospaceText2() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onQuotedTextInSingleQuoteMonospaceText2(stack["element"]) +} + +func (c *current) onQuotedTextInSingleQuoteMonospaceText13(attributes, text interface{}) (interface{}, error) { return text.(*types.QuotedText).WithAttributes(attributes) } -func (p *parser) callonQuotedTextInSingleQuoteMonospaceText1() (interface{}, error) { +func (p *parser) callonQuotedTextInSingleQuoteMonospaceText13() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onQuotedTextInSingleQuoteMonospaceText1(stack["attributes"], stack["text"]) + return p.cur.onQuotedTextInSingleQuoteMonospaceText13(stack["attributes"], stack["text"]) } func (c *current) onEscapedMonospaceText5() (interface{}, error) { @@ -83633,7 +92884,6 @@ func (p *parser) callonEscapedMonospaceText5() (interface{}, error) { } func (c *current) onEscapedMonospaceText2(backslashes, elements interface{}) (interface{}, error) { - // double punctuation must be evaluated first return types.NewEscapedQuotedText(backslashes.(string), "``", elements.([]interface{})) } @@ -83656,7 +92906,6 @@ func (p *parser) callonEscapedMonospaceText17() (interface{}, error) { } func (c *current) onEscapedMonospaceText14(backslashes, elements interface{}) (interface{}, error) { - // unbalanced "``" vs "`" punctuation result := append([]interface{}{"`"}, elements.([]interface{})) return types.NewEscapedQuotedText(backslashes.(string), "`", result) @@ -83680,7 +92929,6 @@ func (p *parser) callonEscapedMonospaceText27() (interface{}, error) { } func (c *current) onEscapedMonospaceText24(backslashes, elements interface{}) (interface{}, error) { - // simple punctuation must be evaluated last return types.NewEscapedQuotedText(backslashes.(string), "`", elements.([]interface{})) } @@ -83893,7 +93141,9 @@ func (p *parser) callonDoubleQuoteMarkedTextElement84() (interface{}, error) { func (c *current) onDoubleQuoteMarkedTextElement80(name interface{}) (interface{}, error) { - return types.NewAttributeSubstitution(name.(string), string(c.text)) + log.Debug("matching escaped attribute reference") + // return types.NewStringElement("{"+name.(string)+"}") + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) } @@ -83903,6 +93153,29 @@ func (p *parser) callonDoubleQuoteMarkedTextElement80() (interface{}, error) { return p.cur.onDoubleQuoteMarkedTextElement80(stack["name"]) } +func (c *current) onDoubleQuoteMarkedTextElement94() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDoubleQuoteMarkedTextElement94() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMarkedTextElement94() +} + +func (c *current) onDoubleQuoteMarkedTextElement90(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) + +} + +func (p *parser) callonDoubleQuoteMarkedTextElement90() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMarkedTextElement90(stack["name"]) +} + func (c *current) onDoubleQuoteMarkedTextElement31(element interface{}) (interface{}, error) { return element, nil @@ -83914,261 +93187,364 @@ func (p *parser) callonDoubleQuoteMarkedTextElement31() (interface{}, error) { return p.cur.onDoubleQuoteMarkedTextElement31(stack["element"]) } -func (c *current) onDoubleQuoteMarkedTextElement93() (bool, error) { +func (c *current) onDoubleQuoteMarkedTextElement103() (bool, error) { return c.isSubstitutionEnabled(SpecialCharacters), nil } -func (p *parser) callonDoubleQuoteMarkedTextElement93() (bool, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement103() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement93() + return p.cur.onDoubleQuoteMarkedTextElement103() } -func (c *current) onDoubleQuoteMarkedTextElement102() (interface{}, error) { +func (c *current) onDoubleQuoteMarkedTextElement112() (interface{}, error) { // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ return string(c.text), nil } -func (p *parser) callonDoubleQuoteMarkedTextElement102() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement112() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement102() + return p.cur.onDoubleQuoteMarkedTextElement112() } -func (c *current) onDoubleQuoteMarkedTextElement106() (interface{}, error) { +func (c *current) onDoubleQuoteMarkedTextElement116() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDoubleQuoteMarkedTextElement106() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement116() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement106() + return p.cur.onDoubleQuoteMarkedTextElement116() } -func (c *current) onDoubleQuoteMarkedTextElement112() (interface{}, error) { +func (c *current) onDoubleQuoteMarkedTextElement122() (interface{}, error) { // `{`, `>` and `>` characters are not allowed as they are used for attribute substitutions and cross-references return types.NewStringElement(string(c.text)) } -func (p *parser) callonDoubleQuoteMarkedTextElement112() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement122() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement112() + return p.cur.onDoubleQuoteMarkedTextElement122() } -func (c *current) onDoubleQuoteMarkedTextElement121() (interface{}, error) { +func (c *current) onDoubleQuoteMarkedTextElement131() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDoubleQuoteMarkedTextElement121() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement131() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement121() + return p.cur.onDoubleQuoteMarkedTextElement131() } -func (c *current) onDoubleQuoteMarkedTextElement117(name interface{}) (interface{}, error) { +func (c *current) onDoubleQuoteMarkedTextElement127(name interface{}) (interface{}, error) { + + log.Debug("matching escaped attribute reference") + // return types.NewStringElement("{"+name.(string)+"}") + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) + +} + +func (p *parser) callonDoubleQuoteMarkedTextElement127() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMarkedTextElement127(stack["name"]) +} + +func (c *current) onDoubleQuoteMarkedTextElement141() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDoubleQuoteMarkedTextElement141() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMarkedTextElement141() +} + +func (c *current) onDoubleQuoteMarkedTextElement137(name interface{}) (interface{}, error) { return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonDoubleQuoteMarkedTextElement117() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement137() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement117(stack["name"]) + return p.cur.onDoubleQuoteMarkedTextElement137(stack["name"]) } -func (c *current) onDoubleQuoteMarkedTextElement127() (interface{}, error) { +func (c *current) onDoubleQuoteMarkedTextElement147() (interface{}, error) { return types.NewStringElement(string(c.text)) } -func (p *parser) callonDoubleQuoteMarkedTextElement127() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement147() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement127() + return p.cur.onDoubleQuoteMarkedTextElement147() } -func (c *current) onDoubleQuoteMarkedTextElement98(id, label interface{}) (interface{}, error) { +func (c *current) onDoubleQuoteMarkedTextElement108(id, label interface{}) (interface{}, error) { return types.NewInternalCrossReference(id, label) } -func (p *parser) callonDoubleQuoteMarkedTextElement98() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement108() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement98(stack["id"], stack["label"]) + return p.cur.onDoubleQuoteMarkedTextElement108(stack["id"], stack["label"]) } -func (c *current) onDoubleQuoteMarkedTextElement134() (interface{}, error) { +func (c *current) onDoubleQuoteMarkedTextElement154() (interface{}, error) { // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ return string(c.text), nil } -func (p *parser) callonDoubleQuoteMarkedTextElement134() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement154() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement134() + return p.cur.onDoubleQuoteMarkedTextElement154() } -func (c *current) onDoubleQuoteMarkedTextElement130(id interface{}) (interface{}, error) { +func (c *current) onDoubleQuoteMarkedTextElement150(id interface{}) (interface{}, error) { return types.NewInternalCrossReference(id, nil) } -func (p *parser) callonDoubleQuoteMarkedTextElement130() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement150() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement130(stack["id"]) + return p.cur.onDoubleQuoteMarkedTextElement150(stack["id"]) } -func (c *current) onDoubleQuoteMarkedTextElement96() (interface{}, error) { +func (c *current) onDoubleQuoteMarkedTextElement106() (interface{}, error) { return types.NewStringElement(string(c.text)) } -func (p *parser) callonDoubleQuoteMarkedTextElement96() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement106() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement96() + return p.cur.onDoubleQuoteMarkedTextElement106() } -func (c *current) onDoubleQuoteMarkedTextElement138() (interface{}, error) { +func (c *current) onDoubleQuoteMarkedTextElement158() (interface{}, error) { return types.NewSpecialCharacter(string(c.text)) } -func (p *parser) callonDoubleQuoteMarkedTextElement138() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement158() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement138() + return p.cur.onDoubleQuoteMarkedTextElement158() } -func (c *current) onDoubleQuoteMarkedTextElement91(element interface{}) (interface{}, error) { +func (c *current) onDoubleQuoteMarkedTextElement101(element interface{}) (interface{}, error) { return element, nil } -func (p *parser) callonDoubleQuoteMarkedTextElement91() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement101() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement91(stack["element"]) + return p.cur.onDoubleQuoteMarkedTextElement101(stack["element"]) } -func (c *current) onDoubleQuoteMarkedTextElement140() (interface{}, error) { +func (c *current) onDoubleQuoteMarkedTextElement164() (interface{}, error) { return types.NewStringElement("\u2019") } -func (p *parser) callonDoubleQuoteMarkedTextElement140() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement164() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement140() + return p.cur.onDoubleQuoteMarkedTextElement164() } -func (c *current) onDoubleQuoteMarkedTextElement142() (interface{}, error) { +func (c *current) onDoubleQuoteMarkedTextElement166() (interface{}, error) { return types.NewStringElement("\u00a9") } -func (p *parser) callonDoubleQuoteMarkedTextElement142() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement166() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement142() + return p.cur.onDoubleQuoteMarkedTextElement166() } -func (c *current) onDoubleQuoteMarkedTextElement144() (interface{}, error) { +func (c *current) onDoubleQuoteMarkedTextElement168() (interface{}, error) { return types.NewStringElement("\u2122") } -func (p *parser) callonDoubleQuoteMarkedTextElement144() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement168() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement144() + return p.cur.onDoubleQuoteMarkedTextElement168() } -func (c *current) onDoubleQuoteMarkedTextElement146() (interface{}, error) { +func (c *current) onDoubleQuoteMarkedTextElement170() (interface{}, error) { return types.NewStringElement("\u00ae") } -func (p *parser) callonDoubleQuoteMarkedTextElement146() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement170() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement146() + return p.cur.onDoubleQuoteMarkedTextElement170() } -func (c *current) onDoubleQuoteMarkedTextElement148() (interface{}, error) { +func (c *current) onDoubleQuoteMarkedTextElement172() (interface{}, error) { return types.NewStringElement("\u2026\u200b") } -func (p *parser) callonDoubleQuoteMarkedTextElement148() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement172() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement148() + return p.cur.onDoubleQuoteMarkedTextElement172() } -func (c *current) onDoubleQuoteMarkedTextElement150() (interface{}, error) { - return types.NewStringElement(string(c.text[:1]) + "\u2019") +func (c *current) onDoubleQuoteMarkedTextElement160() (interface{}, error) { + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) } -func (p *parser) callonDoubleQuoteMarkedTextElement150() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement160() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMarkedTextElement160() +} + +func (c *current) onDoubleQuoteMarkedTextElement174() (interface{}, error) { + return types.NewStringElement("\u2019") + +} + +func (p *parser) callonDoubleQuoteMarkedTextElement174() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMarkedTextElement174() +} + +func (c *current) onDoubleQuoteMarkedTextElement176() (interface{}, error) { + return types.NewStringElement("\u00a9") + +} + +func (p *parser) callonDoubleQuoteMarkedTextElement176() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMarkedTextElement176() +} + +func (c *current) onDoubleQuoteMarkedTextElement178() (interface{}, error) { + return types.NewStringElement("\u2122") + +} + +func (p *parser) callonDoubleQuoteMarkedTextElement178() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement150() + return p.cur.onDoubleQuoteMarkedTextElement178() } -func (c *current) onDoubleQuoteMarkedTextElement162() (interface{}, error) { +func (c *current) onDoubleQuoteMarkedTextElement180() (interface{}, error) { + return types.NewStringElement("\u00ae") + +} + +func (p *parser) callonDoubleQuoteMarkedTextElement180() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMarkedTextElement180() +} + +func (c *current) onDoubleQuoteMarkedTextElement182() (interface{}, error) { + return types.NewStringElement("\u2026\u200b") + +} + +func (p *parser) callonDoubleQuoteMarkedTextElement182() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMarkedTextElement182() +} + +func (c *current) onDoubleQuoteMarkedTextElement184() (interface{}, error) { + log.Debug("matched escaped apostrophe") + return types.NewStringElement(strings.TrimSuffix(string(c.text), `\'`) + `'`) // retain the apostrophe, but discard the `\` escape char + +} + +func (p *parser) callonDoubleQuoteMarkedTextElement184() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMarkedTextElement184() +} + +func (c *current) onDoubleQuoteMarkedTextElement190() (interface{}, error) { + return types.NewStringElement(strings.TrimSuffix(string(c.text), `'`) + "\u2019") // convert quote + +} + +func (p *parser) callonDoubleQuoteMarkedTextElement190() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteMarkedTextElement190() +} + +func (c *current) onDoubleQuoteMarkedTextElement202() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDoubleQuoteMarkedTextElement162() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement202() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement162() + return p.cur.onDoubleQuoteMarkedTextElement202() } -func (c *current) onDoubleQuoteMarkedTextElement158(ref interface{}) (interface{}, error) { +func (c *current) onDoubleQuoteMarkedTextElement198(ref interface{}) (interface{}, error) { return types.NewElementPlaceHolder(ref.(string)) } -func (p *parser) callonDoubleQuoteMarkedTextElement158() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement198() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement158(stack["ref"]) + return p.cur.onDoubleQuoteMarkedTextElement198(stack["ref"]) } -func (c *current) onDoubleQuoteMarkedTextElement170() (interface{}, error) { +func (c *current) onDoubleQuoteMarkedTextElement210() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDoubleQuoteMarkedTextElement170() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement210() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement170() + return p.cur.onDoubleQuoteMarkedTextElement210() } -func (c *current) onDoubleQuoteMarkedTextElement167() (interface{}, error) { +func (c *current) onDoubleQuoteMarkedTextElement207() (interface{}, error) { // or a marked delimiter when immediately followed by an alphanum (ie, in the middle of some text) return types.NewStringElement(string(c.text)) } -func (p *parser) callonDoubleQuoteMarkedTextElement167() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement207() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement167() + return p.cur.onDoubleQuoteMarkedTextElement207() } func (c *current) onDoubleQuoteMarkedTextElement1(element interface{}) (interface{}, error) { @@ -84182,15 +93558,26 @@ func (p *parser) callonDoubleQuoteMarkedTextElement1() (interface{}, error) { return p.cur.onDoubleQuoteMarkedTextElement1(stack["element"]) } -func (c *current) onQuotedTextInDoubleMarkedBoldText1(attributes, text interface{}) (interface{}, error) { +func (c *current) onQuotedTextInDoubleMarkedBoldText2(element interface{}) (interface{}, error) { + return element, nil + +} + +func (p *parser) callonQuotedTextInDoubleMarkedBoldText2() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onQuotedTextInDoubleMarkedBoldText2(stack["element"]) +} + +func (c *current) onQuotedTextInDoubleMarkedBoldText13(attributes, text interface{}) (interface{}, error) { return text.(*types.QuotedText).WithAttributes(attributes) } -func (p *parser) callonQuotedTextInDoubleMarkedBoldText1() (interface{}, error) { +func (p *parser) callonQuotedTextInDoubleMarkedBoldText13() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onQuotedTextInDoubleMarkedBoldText1(stack["attributes"], stack["text"]) + return p.cur.onQuotedTextInDoubleMarkedBoldText13(stack["attributes"], stack["text"]) } func (c *current) onSingleQuoteMarkedText1(elements interface{}) (interface{}, error) { @@ -84428,7 +93815,9 @@ func (p *parser) callonSingleQuoteMarkedTextElement79() (interface{}, error) { func (c *current) onSingleQuoteMarkedTextElement75(name interface{}) (interface{}, error) { - return types.NewAttributeSubstitution(name.(string), string(c.text)) + log.Debug("matching escaped attribute reference") + // return types.NewStringElement("{"+name.(string)+"}") + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) } @@ -84438,6 +93827,29 @@ func (p *parser) callonSingleQuoteMarkedTextElement75() (interface{}, error) { return p.cur.onSingleQuoteMarkedTextElement75(stack["name"]) } +func (c *current) onSingleQuoteMarkedTextElement89() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonSingleQuoteMarkedTextElement89() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteMarkedTextElement89() +} + +func (c *current) onSingleQuoteMarkedTextElement85(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) + +} + +func (p *parser) callonSingleQuoteMarkedTextElement85() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteMarkedTextElement85(stack["name"]) +} + func (c *current) onSingleQuoteMarkedTextElement26(element interface{}) (interface{}, error) { return element, nil @@ -84449,272 +93861,386 @@ func (p *parser) callonSingleQuoteMarkedTextElement26() (interface{}, error) { return p.cur.onSingleQuoteMarkedTextElement26(stack["element"]) } -func (c *current) onSingleQuoteMarkedTextElement88() (bool, error) { +func (c *current) onSingleQuoteMarkedTextElement98() (bool, error) { return c.isSubstitutionEnabled(SpecialCharacters), nil } -func (p *parser) callonSingleQuoteMarkedTextElement88() (bool, error) { +func (p *parser) callonSingleQuoteMarkedTextElement98() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement88() + return p.cur.onSingleQuoteMarkedTextElement98() } -func (c *current) onSingleQuoteMarkedTextElement97() (interface{}, error) { +func (c *current) onSingleQuoteMarkedTextElement107() (interface{}, error) { // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ return string(c.text), nil } -func (p *parser) callonSingleQuoteMarkedTextElement97() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement107() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement97() + return p.cur.onSingleQuoteMarkedTextElement107() } -func (c *current) onSingleQuoteMarkedTextElement101() (interface{}, error) { +func (c *current) onSingleQuoteMarkedTextElement111() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSingleQuoteMarkedTextElement101() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement111() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement101() + return p.cur.onSingleQuoteMarkedTextElement111() } -func (c *current) onSingleQuoteMarkedTextElement107() (interface{}, error) { +func (c *current) onSingleQuoteMarkedTextElement117() (interface{}, error) { // `{`, `>` and `>` characters are not allowed as they are used for attribute substitutions and cross-references return types.NewStringElement(string(c.text)) } -func (p *parser) callonSingleQuoteMarkedTextElement107() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement117() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement107() + return p.cur.onSingleQuoteMarkedTextElement117() } -func (c *current) onSingleQuoteMarkedTextElement116() (interface{}, error) { +func (c *current) onSingleQuoteMarkedTextElement126() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSingleQuoteMarkedTextElement116() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement126() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement116() + return p.cur.onSingleQuoteMarkedTextElement126() } -func (c *current) onSingleQuoteMarkedTextElement112(name interface{}) (interface{}, error) { +func (c *current) onSingleQuoteMarkedTextElement122(name interface{}) (interface{}, error) { + + log.Debug("matching escaped attribute reference") + // return types.NewStringElement("{"+name.(string)+"}") + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) + +} + +func (p *parser) callonSingleQuoteMarkedTextElement122() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteMarkedTextElement122(stack["name"]) +} + +func (c *current) onSingleQuoteMarkedTextElement136() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonSingleQuoteMarkedTextElement136() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteMarkedTextElement136() +} + +func (c *current) onSingleQuoteMarkedTextElement132(name interface{}) (interface{}, error) { return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonSingleQuoteMarkedTextElement112() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement132() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement112(stack["name"]) + return p.cur.onSingleQuoteMarkedTextElement132(stack["name"]) } -func (c *current) onSingleQuoteMarkedTextElement122() (interface{}, error) { +func (c *current) onSingleQuoteMarkedTextElement142() (interface{}, error) { return types.NewStringElement(string(c.text)) } -func (p *parser) callonSingleQuoteMarkedTextElement122() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement142() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement122() + return p.cur.onSingleQuoteMarkedTextElement142() } -func (c *current) onSingleQuoteMarkedTextElement93(id, label interface{}) (interface{}, error) { +func (c *current) onSingleQuoteMarkedTextElement103(id, label interface{}) (interface{}, error) { return types.NewInternalCrossReference(id, label) } -func (p *parser) callonSingleQuoteMarkedTextElement93() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement103() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement93(stack["id"], stack["label"]) + return p.cur.onSingleQuoteMarkedTextElement103(stack["id"], stack["label"]) } -func (c *current) onSingleQuoteMarkedTextElement129() (interface{}, error) { +func (c *current) onSingleQuoteMarkedTextElement149() (interface{}, error) { // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ return string(c.text), nil } -func (p *parser) callonSingleQuoteMarkedTextElement129() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement149() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement129() + return p.cur.onSingleQuoteMarkedTextElement149() } -func (c *current) onSingleQuoteMarkedTextElement125(id interface{}) (interface{}, error) { +func (c *current) onSingleQuoteMarkedTextElement145(id interface{}) (interface{}, error) { return types.NewInternalCrossReference(id, nil) } -func (p *parser) callonSingleQuoteMarkedTextElement125() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement145() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement125(stack["id"]) + return p.cur.onSingleQuoteMarkedTextElement145(stack["id"]) } -func (c *current) onSingleQuoteMarkedTextElement91() (interface{}, error) { +func (c *current) onSingleQuoteMarkedTextElement101() (interface{}, error) { return types.NewStringElement(string(c.text)) } -func (p *parser) callonSingleQuoteMarkedTextElement91() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement101() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement91() + return p.cur.onSingleQuoteMarkedTextElement101() } -func (c *current) onSingleQuoteMarkedTextElement133() (interface{}, error) { +func (c *current) onSingleQuoteMarkedTextElement153() (interface{}, error) { return types.NewSpecialCharacter(string(c.text)) } -func (p *parser) callonSingleQuoteMarkedTextElement133() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement153() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement133() + return p.cur.onSingleQuoteMarkedTextElement153() } -func (c *current) onSingleQuoteMarkedTextElement86(element interface{}) (interface{}, error) { +func (c *current) onSingleQuoteMarkedTextElement96(element interface{}) (interface{}, error) { return element, nil } -func (p *parser) callonSingleQuoteMarkedTextElement86() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement96() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement86(stack["element"]) + return p.cur.onSingleQuoteMarkedTextElement96(stack["element"]) } -func (c *current) onSingleQuoteMarkedTextElement135() (interface{}, error) { +func (c *current) onSingleQuoteMarkedTextElement159() (interface{}, error) { return types.NewStringElement("\u2019") } -func (p *parser) callonSingleQuoteMarkedTextElement135() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement159() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement135() + return p.cur.onSingleQuoteMarkedTextElement159() } -func (c *current) onSingleQuoteMarkedTextElement137() (interface{}, error) { +func (c *current) onSingleQuoteMarkedTextElement161() (interface{}, error) { return types.NewStringElement("\u00a9") } -func (p *parser) callonSingleQuoteMarkedTextElement137() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement161() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement137() + return p.cur.onSingleQuoteMarkedTextElement161() } -func (c *current) onSingleQuoteMarkedTextElement139() (interface{}, error) { +func (c *current) onSingleQuoteMarkedTextElement163() (interface{}, error) { return types.NewStringElement("\u2122") } -func (p *parser) callonSingleQuoteMarkedTextElement139() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement163() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement139() + return p.cur.onSingleQuoteMarkedTextElement163() } -func (c *current) onSingleQuoteMarkedTextElement141() (interface{}, error) { +func (c *current) onSingleQuoteMarkedTextElement165() (interface{}, error) { return types.NewStringElement("\u00ae") } -func (p *parser) callonSingleQuoteMarkedTextElement141() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement165() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement141() + return p.cur.onSingleQuoteMarkedTextElement165() } -func (c *current) onSingleQuoteMarkedTextElement143() (interface{}, error) { +func (c *current) onSingleQuoteMarkedTextElement167() (interface{}, error) { return types.NewStringElement("\u2026\u200b") } -func (p *parser) callonSingleQuoteMarkedTextElement143() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement167() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement143() + return p.cur.onSingleQuoteMarkedTextElement167() } -func (c *current) onSingleQuoteMarkedTextElement145() (interface{}, error) { - return types.NewStringElement(string(c.text[:1]) + "\u2019") +func (c *current) onSingleQuoteMarkedTextElement155() (interface{}, error) { + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) } -func (p *parser) callonSingleQuoteMarkedTextElement145() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement155() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement145() + return p.cur.onSingleQuoteMarkedTextElement155() } -func (c *current) onSingleQuoteMarkedTextElement157() (interface{}, error) { +func (c *current) onSingleQuoteMarkedTextElement169() (interface{}, error) { + return types.NewStringElement("\u2019") + +} + +func (p *parser) callonSingleQuoteMarkedTextElement169() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteMarkedTextElement169() +} + +func (c *current) onSingleQuoteMarkedTextElement171() (interface{}, error) { + return types.NewStringElement("\u00a9") + +} + +func (p *parser) callonSingleQuoteMarkedTextElement171() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteMarkedTextElement171() +} + +func (c *current) onSingleQuoteMarkedTextElement173() (interface{}, error) { + return types.NewStringElement("\u2122") + +} + +func (p *parser) callonSingleQuoteMarkedTextElement173() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteMarkedTextElement173() +} + +func (c *current) onSingleQuoteMarkedTextElement175() (interface{}, error) { + return types.NewStringElement("\u00ae") + +} + +func (p *parser) callonSingleQuoteMarkedTextElement175() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteMarkedTextElement175() +} + +func (c *current) onSingleQuoteMarkedTextElement177() (interface{}, error) { + return types.NewStringElement("\u2026\u200b") + +} + +func (p *parser) callonSingleQuoteMarkedTextElement177() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteMarkedTextElement177() +} + +func (c *current) onSingleQuoteMarkedTextElement179() (interface{}, error) { + log.Debug("matched escaped apostrophe") + return types.NewStringElement(strings.TrimSuffix(string(c.text), `\'`) + `'`) // retain the apostrophe, but discard the `\` escape char + +} + +func (p *parser) callonSingleQuoteMarkedTextElement179() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteMarkedTextElement179() +} + +func (c *current) onSingleQuoteMarkedTextElement185() (interface{}, error) { + return types.NewStringElement(strings.TrimSuffix(string(c.text), `'`) + "\u2019") // convert quote + +} + +func (p *parser) callonSingleQuoteMarkedTextElement185() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteMarkedTextElement185() +} + +func (c *current) onSingleQuoteMarkedTextElement197() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSingleQuoteMarkedTextElement157() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement197() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement157() + return p.cur.onSingleQuoteMarkedTextElement197() } -func (c *current) onSingleQuoteMarkedTextElement153(ref interface{}) (interface{}, error) { +func (c *current) onSingleQuoteMarkedTextElement193(ref interface{}) (interface{}, error) { return types.NewElementPlaceHolder(ref.(string)) } -func (p *parser) callonSingleQuoteMarkedTextElement153() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement193() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement153(stack["ref"]) + return p.cur.onSingleQuoteMarkedTextElement193(stack["ref"]) } -func (c *current) onSingleQuoteMarkedTextElement165() (interface{}, error) { +func (c *current) onSingleQuoteMarkedTextElement205() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSingleQuoteMarkedTextElement165() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement205() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement165() + return p.cur.onSingleQuoteMarkedTextElement205() } -func (c *current) onSingleQuoteMarkedTextElement162() (interface{}, error) { +func (c *current) onSingleQuoteMarkedTextElement202() (interface{}, error) { // or a mark delimiter when immediately followed by an alphanum (ie, in the middle of some text) return types.NewStringElement(string(c.text)) } -func (p *parser) callonSingleQuoteMarkedTextElement162() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement202() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteMarkedTextElement202() +} + +func (c *current) onQuotedTextInSingleQuoteMarkedText2(element interface{}) (interface{}, error) { + return element, nil + +} + +func (p *parser) callonQuotedTextInSingleQuoteMarkedText2() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement162() + return p.cur.onQuotedTextInSingleQuoteMarkedText2(stack["element"]) } -func (c *current) onQuotedTextInSingleQuoteMarkedText1(attributes, text interface{}) (interface{}, error) { +func (c *current) onQuotedTextInSingleQuoteMarkedText13(attributes, text interface{}) (interface{}, error) { return text.(*types.QuotedText).WithAttributes(attributes) } -func (p *parser) callonQuotedTextInSingleQuoteMarkedText1() (interface{}, error) { +func (p *parser) callonQuotedTextInSingleQuoteMarkedText13() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onQuotedTextInSingleQuoteMarkedText1(stack["attributes"], stack["text"]) + return p.cur.onQuotedTextInSingleQuoteMarkedText13(stack["attributes"], stack["text"]) } func (c *current) onEscapedMarkedText5() (interface{}, error) { @@ -84729,7 +94255,6 @@ func (p *parser) callonEscapedMarkedText5() (interface{}, error) { } func (c *current) onEscapedMarkedText2(backslashes, elements interface{}) (interface{}, error) { - // double punctuation must be evaluated first return types.NewEscapedQuotedText(backslashes.(string), "##", elements.([]interface{})) } @@ -84752,7 +94277,6 @@ func (p *parser) callonEscapedMarkedText17() (interface{}, error) { } func (c *current) onEscapedMarkedText14(backslashes, elements interface{}) (interface{}, error) { - // unbalanced `##` vs `#` punctuation result := append([]interface{}{"#"}, elements.([]interface{})) return types.NewEscapedQuotedText(backslashes.(string), "#", result) @@ -84776,7 +94300,6 @@ func (p *parser) callonEscapedMarkedText27() (interface{}, error) { } func (c *current) onEscapedMarkedText24(backslashes, elements interface{}) (interface{}, error) { - // simple punctuation must be evaluated last return types.NewEscapedQuotedText(backslashes.(string), "#", elements.([]interface{})) } @@ -85093,7 +94616,9 @@ func (p *parser) callonSingleQuotedStringElement86() (interface{}, error) { func (c *current) onSingleQuotedStringElement82(name interface{}) (interface{}, error) { - return types.NewAttributeSubstitution(name.(string), string(c.text)) + log.Debug("matching escaped attribute reference") + // return types.NewStringElement("{"+name.(string)+"}") + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) } @@ -85103,6 +94628,29 @@ func (p *parser) callonSingleQuotedStringElement82() (interface{}, error) { return p.cur.onSingleQuotedStringElement82(stack["name"]) } +func (c *current) onSingleQuotedStringElement96() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonSingleQuotedStringElement96() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuotedStringElement96() +} + +func (c *current) onSingleQuotedStringElement92(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) + +} + +func (p *parser) callonSingleQuotedStringElement92() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuotedStringElement92(stack["name"]) +} + func (c *current) onSingleQuotedStringElement33(element interface{}) (interface{}, error) { return element, nil @@ -85114,275 +94662,378 @@ func (p *parser) callonSingleQuotedStringElement33() (interface{}, error) { return p.cur.onSingleQuotedStringElement33(stack["element"]) } -func (c *current) onSingleQuotedStringElement95() (bool, error) { +func (c *current) onSingleQuotedStringElement105() (bool, error) { return c.isSubstitutionEnabled(SpecialCharacters), nil } -func (p *parser) callonSingleQuotedStringElement95() (bool, error) { +func (p *parser) callonSingleQuotedStringElement105() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedStringElement95() + return p.cur.onSingleQuotedStringElement105() } -func (c *current) onSingleQuotedStringElement104() (interface{}, error) { +func (c *current) onSingleQuotedStringElement114() (interface{}, error) { // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ return string(c.text), nil } -func (p *parser) callonSingleQuotedStringElement104() (interface{}, error) { +func (p *parser) callonSingleQuotedStringElement114() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedStringElement104() + return p.cur.onSingleQuotedStringElement114() } -func (c *current) onSingleQuotedStringElement108() (interface{}, error) { +func (c *current) onSingleQuotedStringElement118() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSingleQuotedStringElement108() (interface{}, error) { +func (p *parser) callonSingleQuotedStringElement118() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedStringElement108() + return p.cur.onSingleQuotedStringElement118() } -func (c *current) onSingleQuotedStringElement114() (interface{}, error) { +func (c *current) onSingleQuotedStringElement124() (interface{}, error) { // `{`, `>` and `>` characters are not allowed as they are used for attribute substitutions and cross-references return types.NewStringElement(string(c.text)) } -func (p *parser) callonSingleQuotedStringElement114() (interface{}, error) { +func (p *parser) callonSingleQuotedStringElement124() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedStringElement114() + return p.cur.onSingleQuotedStringElement124() +} + +func (c *current) onSingleQuotedStringElement133() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonSingleQuotedStringElement133() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuotedStringElement133() } -func (c *current) onSingleQuotedStringElement123() (interface{}, error) { +func (c *current) onSingleQuotedStringElement129(name interface{}) (interface{}, error) { + + log.Debug("matching escaped attribute reference") + // return types.NewStringElement("{"+name.(string)+"}") + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) + +} + +func (p *parser) callonSingleQuotedStringElement129() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuotedStringElement129(stack["name"]) +} + +func (c *current) onSingleQuotedStringElement143() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSingleQuotedStringElement123() (interface{}, error) { +func (p *parser) callonSingleQuotedStringElement143() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedStringElement123() + return p.cur.onSingleQuotedStringElement143() } -func (c *current) onSingleQuotedStringElement119(name interface{}) (interface{}, error) { +func (c *current) onSingleQuotedStringElement139(name interface{}) (interface{}, error) { return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonSingleQuotedStringElement119() (interface{}, error) { +func (p *parser) callonSingleQuotedStringElement139() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedStringElement119(stack["name"]) + return p.cur.onSingleQuotedStringElement139(stack["name"]) } -func (c *current) onSingleQuotedStringElement129() (interface{}, error) { +func (c *current) onSingleQuotedStringElement149() (interface{}, error) { return types.NewStringElement(string(c.text)) } -func (p *parser) callonSingleQuotedStringElement129() (interface{}, error) { +func (p *parser) callonSingleQuotedStringElement149() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedStringElement129() + return p.cur.onSingleQuotedStringElement149() } -func (c *current) onSingleQuotedStringElement100(id, label interface{}) (interface{}, error) { +func (c *current) onSingleQuotedStringElement110(id, label interface{}) (interface{}, error) { return types.NewInternalCrossReference(id, label) } -func (p *parser) callonSingleQuotedStringElement100() (interface{}, error) { +func (p *parser) callonSingleQuotedStringElement110() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedStringElement100(stack["id"], stack["label"]) + return p.cur.onSingleQuotedStringElement110(stack["id"], stack["label"]) } -func (c *current) onSingleQuotedStringElement136() (interface{}, error) { +func (c *current) onSingleQuotedStringElement156() (interface{}, error) { // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ return string(c.text), nil } -func (p *parser) callonSingleQuotedStringElement136() (interface{}, error) { +func (p *parser) callonSingleQuotedStringElement156() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedStringElement136() + return p.cur.onSingleQuotedStringElement156() } -func (c *current) onSingleQuotedStringElement132(id interface{}) (interface{}, error) { +func (c *current) onSingleQuotedStringElement152(id interface{}) (interface{}, error) { return types.NewInternalCrossReference(id, nil) } -func (p *parser) callonSingleQuotedStringElement132() (interface{}, error) { +func (p *parser) callonSingleQuotedStringElement152() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedStringElement132(stack["id"]) + return p.cur.onSingleQuotedStringElement152(stack["id"]) } -func (c *current) onSingleQuotedStringElement98() (interface{}, error) { +func (c *current) onSingleQuotedStringElement108() (interface{}, error) { return types.NewStringElement(string(c.text)) } -func (p *parser) callonSingleQuotedStringElement98() (interface{}, error) { +func (p *parser) callonSingleQuotedStringElement108() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedStringElement98() + return p.cur.onSingleQuotedStringElement108() } -func (c *current) onSingleQuotedStringElement140() (interface{}, error) { +func (c *current) onSingleQuotedStringElement160() (interface{}, error) { return types.NewSpecialCharacter(string(c.text)) } -func (p *parser) callonSingleQuotedStringElement140() (interface{}, error) { +func (p *parser) callonSingleQuotedStringElement160() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedStringElement140() + return p.cur.onSingleQuotedStringElement160() } -func (c *current) onSingleQuotedStringElement93(element interface{}) (interface{}, error) { +func (c *current) onSingleQuotedStringElement103(element interface{}) (interface{}, error) { return element, nil } -func (p *parser) callonSingleQuotedStringElement93() (interface{}, error) { +func (p *parser) callonSingleQuotedStringElement103() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedStringElement93(stack["element"]) + return p.cur.onSingleQuotedStringElement103(stack["element"]) } -func (c *current) onSingleQuotedStringElement145() (bool, error) { +func (c *current) onSingleQuotedStringElement165() (bool, error) { return c.isSubstitutionEnabled(PostReplacements) && c.isPreceededBySpace(), nil } -func (p *parser) callonSingleQuotedStringElement145() (bool, error) { +func (p *parser) callonSingleQuotedStringElement165() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedStringElement145() + return p.cur.onSingleQuotedStringElement165() } -func (c *current) onSingleQuotedStringElement148() (interface{}, error) { +func (c *current) onSingleQuotedStringElement168() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSingleQuotedStringElement148() (interface{}, error) { +func (p *parser) callonSingleQuotedStringElement168() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedStringElement148() + return p.cur.onSingleQuotedStringElement168() } -func (c *current) onSingleQuotedStringElement152() (interface{}, error) { +func (c *current) onSingleQuotedStringElement172() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonSingleQuotedStringElement152() (interface{}, error) { +func (p *parser) callonSingleQuotedStringElement172() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedStringElement152() + return p.cur.onSingleQuotedStringElement172() } -func (c *current) onSingleQuotedStringElement143() (interface{}, error) { +func (c *current) onSingleQuotedStringElement163() (interface{}, error) { return types.NewLineBreak() } -func (p *parser) callonSingleQuotedStringElement143() (interface{}, error) { +func (p *parser) callonSingleQuotedStringElement163() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedStringElement143() + return p.cur.onSingleQuotedStringElement163() } -func (c *current) onSingleQuotedStringElement161() (interface{}, error) { +func (c *current) onSingleQuotedStringElement185() (interface{}, error) { return types.NewStringElement("\u2019") } -func (p *parser) callonSingleQuotedStringElement161() (interface{}, error) { +func (p *parser) callonSingleQuotedStringElement185() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedStringElement161() + return p.cur.onSingleQuotedStringElement185() } -func (c *current) onSingleQuotedStringElement163() (interface{}, error) { +func (c *current) onSingleQuotedStringElement187() (interface{}, error) { return types.NewStringElement("\u00a9") } -func (p *parser) callonSingleQuotedStringElement163() (interface{}, error) { +func (p *parser) callonSingleQuotedStringElement187() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedStringElement163() + return p.cur.onSingleQuotedStringElement187() } -func (c *current) onSingleQuotedStringElement165() (interface{}, error) { +func (c *current) onSingleQuotedStringElement189() (interface{}, error) { return types.NewStringElement("\u2122") } -func (p *parser) callonSingleQuotedStringElement165() (interface{}, error) { +func (p *parser) callonSingleQuotedStringElement189() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedStringElement165() + return p.cur.onSingleQuotedStringElement189() +} + +func (c *current) onSingleQuotedStringElement191() (interface{}, error) { + return types.NewStringElement("\u00ae") + +} + +func (p *parser) callonSingleQuotedStringElement191() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuotedStringElement191() +} + +func (c *current) onSingleQuotedStringElement193() (interface{}, error) { + return types.NewStringElement("\u2026\u200b") + +} + +func (p *parser) callonSingleQuotedStringElement193() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuotedStringElement193() +} + +func (c *current) onSingleQuotedStringElement181() (interface{}, error) { + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) + +} + +func (p *parser) callonSingleQuotedStringElement181() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuotedStringElement181() +} + +func (c *current) onSingleQuotedStringElement195() (interface{}, error) { + return types.NewStringElement("\u2019") + +} + +func (p *parser) callonSingleQuotedStringElement195() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuotedStringElement195() +} + +func (c *current) onSingleQuotedStringElement197() (interface{}, error) { + return types.NewStringElement("\u00a9") + } -func (c *current) onSingleQuotedStringElement167() (interface{}, error) { +func (p *parser) callonSingleQuotedStringElement197() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuotedStringElement197() +} + +func (c *current) onSingleQuotedStringElement199() (interface{}, error) { + return types.NewStringElement("\u2122") + +} + +func (p *parser) callonSingleQuotedStringElement199() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuotedStringElement199() +} + +func (c *current) onSingleQuotedStringElement201() (interface{}, error) { return types.NewStringElement("\u00ae") } -func (p *parser) callonSingleQuotedStringElement167() (interface{}, error) { +func (p *parser) callonSingleQuotedStringElement201() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedStringElement167() + return p.cur.onSingleQuotedStringElement201() } -func (c *current) onSingleQuotedStringElement169() (interface{}, error) { +func (c *current) onSingleQuotedStringElement203() (interface{}, error) { return types.NewStringElement("\u2026\u200b") } -func (p *parser) callonSingleQuotedStringElement169() (interface{}, error) { +func (p *parser) callonSingleQuotedStringElement203() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedStringElement169() + return p.cur.onSingleQuotedStringElement203() } -func (c *current) onSingleQuotedStringElement171() (interface{}, error) { - return types.NewStringElement(string(c.text[:1]) + "\u2019") +func (c *current) onSingleQuotedStringElement205() (interface{}, error) { + log.Debug("matched escaped apostrophe") + return types.NewStringElement(strings.TrimSuffix(string(c.text), `\'`) + `'`) // retain the apostrophe, but discard the `\` escape char } -func (p *parser) callonSingleQuotedStringElement171() (interface{}, error) { +func (p *parser) callonSingleQuotedStringElement205() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedStringElement171() + return p.cur.onSingleQuotedStringElement205() +} + +func (c *current) onSingleQuotedStringElement211() (interface{}, error) { + return types.NewStringElement(strings.TrimSuffix(string(c.text), `'`) + "\u2019") // convert quote + } -func (c *current) onSingleQuotedStringElement180() (interface{}, error) { +func (p *parser) callonSingleQuotedStringElement211() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuotedStringElement211() +} + +func (c *current) onSingleQuotedStringElement220() (interface{}, error) { // ' return types.NewStringElement(string(c.text)) } -func (p *parser) callonSingleQuotedStringElement180() (interface{}, error) { +func (p *parser) callonSingleQuotedStringElement220() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuotedStringElement180() + return p.cur.onSingleQuotedStringElement220() } func (c *current) onSingleQuotedStringElement1(element interface{}) (interface{}, error) { @@ -85675,7 +95326,9 @@ func (p *parser) callonDoubleQuotedStringElement105() (interface{}, error) { func (c *current) onDoubleQuotedStringElement101(name interface{}) (interface{}, error) { - return types.NewAttributeSubstitution(name.(string), string(c.text)) + log.Debug("matching escaped attribute reference") + // return types.NewStringElement("{"+name.(string)+"}") + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) } @@ -85685,6 +95338,29 @@ func (p *parser) callonDoubleQuotedStringElement101() (interface{}, error) { return p.cur.onDoubleQuotedStringElement101(stack["name"]) } +func (c *current) onDoubleQuotedStringElement115() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDoubleQuotedStringElement115() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuotedStringElement115() +} + +func (c *current) onDoubleQuotedStringElement111(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) + +} + +func (p *parser) callonDoubleQuotedStringElement111() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuotedStringElement111(stack["name"]) +} + func (c *current) onDoubleQuotedStringElement52(element interface{}) (interface{}, error) { return element, nil @@ -85696,163 +95372,188 @@ func (p *parser) callonDoubleQuotedStringElement52() (interface{}, error) { return p.cur.onDoubleQuotedStringElement52(stack["element"]) } -func (c *current) onDoubleQuotedStringElement114() (bool, error) { +func (c *current) onDoubleQuotedStringElement124() (bool, error) { return c.isSubstitutionEnabled(SpecialCharacters), nil } -func (p *parser) callonDoubleQuotedStringElement114() (bool, error) { +func (p *parser) callonDoubleQuotedStringElement124() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedStringElement114() + return p.cur.onDoubleQuotedStringElement124() } -func (c *current) onDoubleQuotedStringElement123() (interface{}, error) { +func (c *current) onDoubleQuotedStringElement133() (interface{}, error) { // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ return string(c.text), nil } -func (p *parser) callonDoubleQuotedStringElement123() (interface{}, error) { +func (p *parser) callonDoubleQuotedStringElement133() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedStringElement123() + return p.cur.onDoubleQuotedStringElement133() } -func (c *current) onDoubleQuotedStringElement127() (interface{}, error) { +func (c *current) onDoubleQuotedStringElement137() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDoubleQuotedStringElement127() (interface{}, error) { +func (p *parser) callonDoubleQuotedStringElement137() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedStringElement127() + return p.cur.onDoubleQuotedStringElement137() } -func (c *current) onDoubleQuotedStringElement133() (interface{}, error) { +func (c *current) onDoubleQuotedStringElement143() (interface{}, error) { // `{`, `>` and `>` characters are not allowed as they are used for attribute substitutions and cross-references return types.NewStringElement(string(c.text)) } -func (p *parser) callonDoubleQuotedStringElement133() (interface{}, error) { +func (p *parser) callonDoubleQuotedStringElement143() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedStringElement133() + return p.cur.onDoubleQuotedStringElement143() } -func (c *current) onDoubleQuotedStringElement142() (interface{}, error) { +func (c *current) onDoubleQuotedStringElement152() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDoubleQuotedStringElement142() (interface{}, error) { +func (p *parser) callonDoubleQuotedStringElement152() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedStringElement142() + return p.cur.onDoubleQuotedStringElement152() } -func (c *current) onDoubleQuotedStringElement138(name interface{}) (interface{}, error) { +func (c *current) onDoubleQuotedStringElement148(name interface{}) (interface{}, error) { + + log.Debug("matching escaped attribute reference") + // return types.NewStringElement("{"+name.(string)+"}") + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) + +} + +func (p *parser) callonDoubleQuotedStringElement148() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuotedStringElement148(stack["name"]) +} + +func (c *current) onDoubleQuotedStringElement162() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDoubleQuotedStringElement162() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuotedStringElement162() +} + +func (c *current) onDoubleQuotedStringElement158(name interface{}) (interface{}, error) { return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonDoubleQuotedStringElement138() (interface{}, error) { +func (p *parser) callonDoubleQuotedStringElement158() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedStringElement138(stack["name"]) + return p.cur.onDoubleQuotedStringElement158(stack["name"]) } -func (c *current) onDoubleQuotedStringElement148() (interface{}, error) { +func (c *current) onDoubleQuotedStringElement168() (interface{}, error) { return types.NewStringElement(string(c.text)) } -func (p *parser) callonDoubleQuotedStringElement148() (interface{}, error) { +func (p *parser) callonDoubleQuotedStringElement168() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedStringElement148() + return p.cur.onDoubleQuotedStringElement168() } -func (c *current) onDoubleQuotedStringElement119(id, label interface{}) (interface{}, error) { +func (c *current) onDoubleQuotedStringElement129(id, label interface{}) (interface{}, error) { return types.NewInternalCrossReference(id, label) } -func (p *parser) callonDoubleQuotedStringElement119() (interface{}, error) { +func (p *parser) callonDoubleQuotedStringElement129() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedStringElement119(stack["id"], stack["label"]) + return p.cur.onDoubleQuotedStringElement129(stack["id"], stack["label"]) } -func (c *current) onDoubleQuotedStringElement155() (interface{}, error) { +func (c *current) onDoubleQuotedStringElement175() (interface{}, error) { // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ return string(c.text), nil } -func (p *parser) callonDoubleQuotedStringElement155() (interface{}, error) { +func (p *parser) callonDoubleQuotedStringElement175() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedStringElement155() + return p.cur.onDoubleQuotedStringElement175() } -func (c *current) onDoubleQuotedStringElement151(id interface{}) (interface{}, error) { +func (c *current) onDoubleQuotedStringElement171(id interface{}) (interface{}, error) { return types.NewInternalCrossReference(id, nil) } -func (p *parser) callonDoubleQuotedStringElement151() (interface{}, error) { +func (p *parser) callonDoubleQuotedStringElement171() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedStringElement151(stack["id"]) + return p.cur.onDoubleQuotedStringElement171(stack["id"]) } -func (c *current) onDoubleQuotedStringElement117() (interface{}, error) { +func (c *current) onDoubleQuotedStringElement127() (interface{}, error) { return types.NewStringElement(string(c.text)) } -func (p *parser) callonDoubleQuotedStringElement117() (interface{}, error) { +func (p *parser) callonDoubleQuotedStringElement127() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedStringElement117() + return p.cur.onDoubleQuotedStringElement127() } -func (c *current) onDoubleQuotedStringElement159() (interface{}, error) { +func (c *current) onDoubleQuotedStringElement179() (interface{}, error) { return types.NewSpecialCharacter(string(c.text)) } -func (p *parser) callonDoubleQuotedStringElement159() (interface{}, error) { +func (p *parser) callonDoubleQuotedStringElement179() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedStringElement159() + return p.cur.onDoubleQuotedStringElement179() } -func (c *current) onDoubleQuotedStringElement112(element interface{}) (interface{}, error) { +func (c *current) onDoubleQuotedStringElement122(element interface{}) (interface{}, error) { return element, nil } -func (p *parser) callonDoubleQuotedStringElement112() (interface{}, error) { +func (p *parser) callonDoubleQuotedStringElement122() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedStringElement112(stack["element"]) + return p.cur.onDoubleQuotedStringElement122(stack["element"]) } -func (c *current) onDoubleQuotedStringElement163() (interface{}, error) { +func (c *current) onDoubleQuotedStringElement183() (interface{}, error) { return types.NewStringElement(string(c.text)) } -func (p *parser) callonDoubleQuotedStringElement163() (interface{}, error) { +func (p *parser) callonDoubleQuotedStringElement183() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuotedStringElement163() + return p.cur.onDoubleQuotedStringElement183() } func (c *current) onDoubleQuotedStringElement1(element interface{}) (interface{}, error) { @@ -86109,7 +95810,9 @@ func (p *parser) callonSubstitutions110() (interface{}, error) { func (c *current) onSubstitutions106(name interface{}) (interface{}, error) { - return types.NewAttributeSubstitution(name.(string), string(c.text)) + log.Debug("matching escaped attribute reference") + // return types.NewStringElement("{"+name.(string)+"}") + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) } @@ -86119,16 +95822,39 @@ func (p *parser) callonSubstitutions106() (interface{}, error) { return p.cur.onSubstitutions106(stack["name"]) } -func (c *current) onSubstitutions116() (interface{}, error) { +func (c *current) onSubstitutions120() (interface{}, error) { + return string(c.text), nil - return types.NewStringElement(string(c.text)) +} + +func (p *parser) callonSubstitutions120() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSubstitutions120() +} + +func (c *current) onSubstitutions116(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) } func (p *parser) callonSubstitutions116() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSubstitutions116() + return p.cur.onSubstitutions116(stack["name"]) +} + +func (c *current) onSubstitutions126() (interface{}, error) { + + return types.NewStringElement(string(c.text)) + +} + +func (p *parser) callonSubstitutions126() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSubstitutions126() } func (c *current) onSubstitutions87(id, label interface{}) (interface{}, error) { @@ -86142,27 +95868,27 @@ func (p *parser) callonSubstitutions87() (interface{}, error) { return p.cur.onSubstitutions87(stack["id"], stack["label"]) } -func (c *current) onSubstitutions123() (interface{}, error) { +func (c *current) onSubstitutions133() (interface{}, error) { // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ return string(c.text), nil } -func (p *parser) callonSubstitutions123() (interface{}, error) { +func (p *parser) callonSubstitutions133() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSubstitutions123() + return p.cur.onSubstitutions133() } -func (c *current) onSubstitutions119(id interface{}) (interface{}, error) { +func (c *current) onSubstitutions129(id interface{}) (interface{}, error) { return types.NewInternalCrossReference(id, nil) } -func (p *parser) callonSubstitutions119() (interface{}, error) { +func (p *parser) callonSubstitutions129() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSubstitutions119(stack["id"]) + return p.cur.onSubstitutions129(stack["id"]) } func (c *current) onSubstitutions85() (interface{}, error) { @@ -86176,15 +95902,15 @@ func (p *parser) callonSubstitutions85() (interface{}, error) { return p.cur.onSubstitutions85() } -func (c *current) onSubstitutions127() (interface{}, error) { +func (c *current) onSubstitutions137() (interface{}, error) { return types.NewSpecialCharacter(string(c.text)) } -func (p *parser) callonSubstitutions127() (interface{}, error) { +func (p *parser) callonSubstitutions137() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSubstitutions127() + return p.cur.onSubstitutions137() } func (c *current) onSubstitutions80(element interface{}) (interface{}, error) { @@ -86198,259 +95924,362 @@ func (p *parser) callonSubstitutions80() (interface{}, error) { return p.cur.onSubstitutions80(stack["element"]) } -func (c *current) onSubstitutions131() (bool, error) { +func (c *current) onSubstitutions141() (bool, error) { return c.isSubstitutionEnabled(Attributes), nil } -func (p *parser) callonSubstitutions131() (bool, error) { +func (p *parser) callonSubstitutions141() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSubstitutions131() + return p.cur.onSubstitutions141() } -func (c *current) onSubstitutions138() (interface{}, error) { +func (c *current) onSubstitutions148() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSubstitutions138() (interface{}, error) { +func (p *parser) callonSubstitutions148() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSubstitutions138() + return p.cur.onSubstitutions148() } -func (c *current) onSubstitutions150() (interface{}, error) { +func (c *current) onSubstitutions160() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSubstitutions150() (interface{}, error) { +func (p *parser) callonSubstitutions160() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSubstitutions150() + return p.cur.onSubstitutions160() } -func (c *current) onSubstitutions152() (interface{}, error) { +func (c *current) onSubstitutions162() (interface{}, error) { return strconv.Atoi(string(c.text)) } -func (p *parser) callonSubstitutions152() (interface{}, error) { +func (p *parser) callonSubstitutions162() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSubstitutions152() + return p.cur.onSubstitutions162() } -func (c *current) onSubstitutions145(start interface{}) (interface{}, error) { +func (c *current) onSubstitutions155(start interface{}) (interface{}, error) { return start, nil } -func (p *parser) callonSubstitutions145() (interface{}, error) { +func (p *parser) callonSubstitutions155() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSubstitutions145(stack["start"]) + return p.cur.onSubstitutions155(stack["start"]) } -func (c *current) onSubstitutions134(name, start interface{}) (interface{}, error) { +func (c *current) onSubstitutions144(name, start interface{}) (interface{}, error) { return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) } -func (p *parser) callonSubstitutions134() (interface{}, error) { +func (p *parser) callonSubstitutions144() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSubstitutions134(stack["name"], stack["start"]) + return p.cur.onSubstitutions144(stack["name"], stack["start"]) } -func (c *current) onSubstitutions160() (interface{}, error) { +func (c *current) onSubstitutions170() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSubstitutions160() (interface{}, error) { +func (p *parser) callonSubstitutions170() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSubstitutions160() + return p.cur.onSubstitutions170() } -func (c *current) onSubstitutions172() (interface{}, error) { +func (c *current) onSubstitutions182() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSubstitutions172() (interface{}, error) { +func (p *parser) callonSubstitutions182() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSubstitutions172() + return p.cur.onSubstitutions182() } -func (c *current) onSubstitutions174() (interface{}, error) { +func (c *current) onSubstitutions184() (interface{}, error) { return strconv.Atoi(string(c.text)) } -func (p *parser) callonSubstitutions174() (interface{}, error) { +func (p *parser) callonSubstitutions184() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSubstitutions174() + return p.cur.onSubstitutions184() } -func (c *current) onSubstitutions167(start interface{}) (interface{}, error) { +func (c *current) onSubstitutions177(start interface{}) (interface{}, error) { return start, nil } -func (p *parser) callonSubstitutions167() (interface{}, error) { +func (p *parser) callonSubstitutions177() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSubstitutions167(stack["start"]) + return p.cur.onSubstitutions177(stack["start"]) } -func (c *current) onSubstitutions156(name, start interface{}) (interface{}, error) { +func (c *current) onSubstitutions166(name, start interface{}) (interface{}, error) { return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) } -func (p *parser) callonSubstitutions156() (interface{}, error) { +func (p *parser) callonSubstitutions166() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSubstitutions156(stack["name"], stack["start"]) + return p.cur.onSubstitutions166(stack["name"], stack["start"]) } -func (c *current) onSubstitutions182() (interface{}, error) { +func (c *current) onSubstitutions192() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSubstitutions182() (interface{}, error) { +func (p *parser) callonSubstitutions192() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSubstitutions182() + return p.cur.onSubstitutions192() +} + +func (c *current) onSubstitutions188(name interface{}) (interface{}, error) { + + log.Debug("matching escaped attribute reference") + // return types.NewStringElement("{"+name.(string)+"}") + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) + } -func (c *current) onSubstitutions178(name interface{}) (interface{}, error) { +func (p *parser) callonSubstitutions188() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSubstitutions188(stack["name"]) +} + +func (c *current) onSubstitutions202() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonSubstitutions202() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSubstitutions202() +} + +func (c *current) onSubstitutions198(name interface{}) (interface{}, error) { return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonSubstitutions178() (interface{}, error) { +func (p *parser) callonSubstitutions198() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSubstitutions178(stack["name"]) + return p.cur.onSubstitutions198(stack["name"]) } -func (c *current) onSubstitutions129(element interface{}) (interface{}, error) { +func (c *current) onSubstitutions139(element interface{}) (interface{}, error) { return element, nil } -func (p *parser) callonSubstitutions129() (interface{}, error) { +func (p *parser) callonSubstitutions139() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSubstitutions129(stack["element"]) + return p.cur.onSubstitutions139(stack["element"]) } -func (c *current) onSubstitutions190() (bool, error) { +func (c *current) onSubstitutions210() (bool, error) { return c.isSubstitutionEnabled(Replacements), nil } -func (p *parser) callonSubstitutions190() (bool, error) { +func (p *parser) callonSubstitutions210() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSubstitutions210() +} + +func (c *current) onSubstitutions217() (interface{}, error) { + return types.NewStringElement("\u2019") + +} + +func (p *parser) callonSubstitutions217() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSubstitutions217() +} + +func (c *current) onSubstitutions219() (interface{}, error) { + return types.NewStringElement("\u00a9") + +} + +func (p *parser) callonSubstitutions219() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSubstitutions219() +} + +func (c *current) onSubstitutions221() (interface{}, error) { + return types.NewStringElement("\u2122") + +} + +func (p *parser) callonSubstitutions221() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSubstitutions221() +} + +func (c *current) onSubstitutions223() (interface{}, error) { + return types.NewStringElement("\u00ae") + +} + +func (p *parser) callonSubstitutions223() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSubstitutions223() +} + +func (c *current) onSubstitutions225() (interface{}, error) { + return types.NewStringElement("\u2026\u200b") + +} + +func (p *parser) callonSubstitutions225() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSubstitutions225() +} + +func (c *current) onSubstitutions213() (interface{}, error) { + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) + +} + +func (p *parser) callonSubstitutions213() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSubstitutions190() + return p.cur.onSubstitutions213() } -func (c *current) onSubstitutions193() (interface{}, error) { +func (c *current) onSubstitutions227() (interface{}, error) { return types.NewStringElement("\u2019") } -func (p *parser) callonSubstitutions193() (interface{}, error) { +func (p *parser) callonSubstitutions227() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSubstitutions193() + return p.cur.onSubstitutions227() } -func (c *current) onSubstitutions195() (interface{}, error) { +func (c *current) onSubstitutions229() (interface{}, error) { return types.NewStringElement("\u00a9") } -func (p *parser) callonSubstitutions195() (interface{}, error) { +func (p *parser) callonSubstitutions229() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSubstitutions195() + return p.cur.onSubstitutions229() } -func (c *current) onSubstitutions197() (interface{}, error) { +func (c *current) onSubstitutions231() (interface{}, error) { return types.NewStringElement("\u2122") } -func (p *parser) callonSubstitutions197() (interface{}, error) { +func (p *parser) callonSubstitutions231() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSubstitutions197() + return p.cur.onSubstitutions231() } -func (c *current) onSubstitutions199() (interface{}, error) { +func (c *current) onSubstitutions233() (interface{}, error) { return types.NewStringElement("\u00ae") } -func (p *parser) callonSubstitutions199() (interface{}, error) { +func (p *parser) callonSubstitutions233() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSubstitutions199() + return p.cur.onSubstitutions233() } -func (c *current) onSubstitutions201() (interface{}, error) { +func (c *current) onSubstitutions235() (interface{}, error) { return types.NewStringElement("\u2026\u200b") } -func (p *parser) callonSubstitutions201() (interface{}, error) { +func (p *parser) callonSubstitutions235() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSubstitutions201() + return p.cur.onSubstitutions235() } -func (c *current) onSubstitutions203() (interface{}, error) { - return types.NewStringElement(string(c.text[:1]) + "\u2019") +func (c *current) onSubstitutions237() (interface{}, error) { + log.Debug("matched escaped apostrophe") + return types.NewStringElement(strings.TrimSuffix(string(c.text), `\'`) + `'`) // retain the apostrophe, but discard the `\` escape char } -func (p *parser) callonSubstitutions203() (interface{}, error) { +func (p *parser) callonSubstitutions237() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSubstitutions203() + return p.cur.onSubstitutions237() } -func (c *current) onSubstitutions188(element interface{}) (interface{}, error) { +func (c *current) onSubstitutions243() (interface{}, error) { + return types.NewStringElement(strings.TrimSuffix(string(c.text), `'`) + "\u2019") // convert quote + +} + +func (p *parser) callonSubstitutions243() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSubstitutions243() +} + +func (c *current) onSubstitutions208(element interface{}) (interface{}, error) { return element, nil } -func (p *parser) callonSubstitutions188() (interface{}, error) { +func (p *parser) callonSubstitutions208() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSubstitutions188(stack["element"]) + return p.cur.onSubstitutions208(stack["element"]) } -func (c *current) onSubstitutions209() (interface{}, error) { +func (c *current) onSubstitutions249() (interface{}, error) { return types.NewStringElement(string(c.text)) } -func (p *parser) callonSubstitutions209() (interface{}, error) { +func (p *parser) callonSubstitutions249() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSubstitutions209() + return p.cur.onSubstitutions249() } func (c *current) onSubstitutions5(element interface{}) (interface{}, error) { @@ -86688,7 +96517,9 @@ func (p *parser) callonHeaderGroupElement104() (interface{}, error) { func (c *current) onHeaderGroupElement100(name interface{}) (interface{}, error) { - return types.NewAttributeSubstitution(name.(string), string(c.text)) + log.Debug("matching escaped attribute reference") + // return types.NewStringElement("{"+name.(string)+"}") + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) } @@ -86698,6 +96529,29 @@ func (p *parser) callonHeaderGroupElement100() (interface{}, error) { return p.cur.onHeaderGroupElement100(stack["name"]) } +func (c *current) onHeaderGroupElement114() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonHeaderGroupElement114() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onHeaderGroupElement114() +} + +func (c *current) onHeaderGroupElement110(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) + +} + +func (p *parser) callonHeaderGroupElement110() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onHeaderGroupElement110(stack["name"]) +} + func (c *current) onHeaderGroupElement51(element interface{}) (interface{}, error) { return element, nil @@ -86709,16 +96563,16 @@ func (p *parser) callonHeaderGroupElement51() (interface{}, error) { return p.cur.onHeaderGroupElement51(stack["element"]) } -func (c *current) onHeaderGroupElement110() (interface{}, error) { +func (c *current) onHeaderGroupElement120() (interface{}, error) { return types.NewStringElement(string(c.text)) } -func (p *parser) callonHeaderGroupElement110() (interface{}, error) { +func (p *parser) callonHeaderGroupElement120() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onHeaderGroupElement110() + return p.cur.onHeaderGroupElement120() } func (c *current) onHeaderGroupElement36(elements interface{}) (interface{}, error) { @@ -86743,15 +96597,15 @@ func (p *parser) callonHeaderGroupElement32() (interface{}, error) { return p.cur.onHeaderGroupElement32(stack["id"]) } -func (c *current) onHeaderGroupElement114() (interface{}, error) { +func (c *current) onHeaderGroupElement124() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonHeaderGroupElement114() (interface{}, error) { +func (p *parser) callonHeaderGroupElement124() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onHeaderGroupElement114() + return p.cur.onHeaderGroupElement124() } func (c *current) onHeaderGroupElement26(id interface{}) (interface{}, error) { @@ -86764,461 +96618,614 @@ func (p *parser) callonHeaderGroupElement26() (interface{}, error) { return p.cur.onHeaderGroupElement26(stack["id"]) } -func (c *current) onHeaderGroupElement119() (interface{}, error) { +func (c *current) onHeaderGroupElement129() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonHeaderGroupElement119() (interface{}, error) { +func (p *parser) callonHeaderGroupElement129() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onHeaderGroupElement119() + return p.cur.onHeaderGroupElement129() } -func (c *current) onHeaderGroupElement126() (bool, error) { +func (c *current) onHeaderGroupElement136() (bool, error) { return c.isSubstitutionEnabled(SpecialCharacters), nil } -func (p *parser) callonHeaderGroupElement126() (bool, error) { +func (p *parser) callonHeaderGroupElement136() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onHeaderGroupElement126() + return p.cur.onHeaderGroupElement136() } -func (c *current) onHeaderGroupElement135() (interface{}, error) { +func (c *current) onHeaderGroupElement145() (interface{}, error) { // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ return string(c.text), nil } -func (p *parser) callonHeaderGroupElement135() (interface{}, error) { +func (p *parser) callonHeaderGroupElement145() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onHeaderGroupElement135() + return p.cur.onHeaderGroupElement145() } -func (c *current) onHeaderGroupElement139() (interface{}, error) { +func (c *current) onHeaderGroupElement149() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonHeaderGroupElement139() (interface{}, error) { +func (p *parser) callonHeaderGroupElement149() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onHeaderGroupElement139() + return p.cur.onHeaderGroupElement149() } -func (c *current) onHeaderGroupElement145() (interface{}, error) { +func (c *current) onHeaderGroupElement155() (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) callonHeaderGroupElement145() (interface{}, error) { +func (p *parser) callonHeaderGroupElement155() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onHeaderGroupElement145() + return p.cur.onHeaderGroupElement155() } -func (c *current) onHeaderGroupElement154() (interface{}, error) { +func (c *current) onHeaderGroupElement164() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonHeaderGroupElement154() (interface{}, error) { +func (p *parser) callonHeaderGroupElement164() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onHeaderGroupElement154() + return p.cur.onHeaderGroupElement164() } -func (c *current) onHeaderGroupElement150(name interface{}) (interface{}, error) { +func (c *current) onHeaderGroupElement160(name interface{}) (interface{}, error) { + + log.Debug("matching escaped attribute reference") + // return types.NewStringElement("{"+name.(string)+"}") + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) + +} + +func (p *parser) callonHeaderGroupElement160() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onHeaderGroupElement160(stack["name"]) +} + +func (c *current) onHeaderGroupElement174() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonHeaderGroupElement174() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onHeaderGroupElement174() +} + +func (c *current) onHeaderGroupElement170(name interface{}) (interface{}, error) { return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonHeaderGroupElement150() (interface{}, error) { +func (p *parser) callonHeaderGroupElement170() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onHeaderGroupElement150(stack["name"]) + return p.cur.onHeaderGroupElement170(stack["name"]) } -func (c *current) onHeaderGroupElement160() (interface{}, error) { +func (c *current) onHeaderGroupElement180() (interface{}, error) { return types.NewStringElement(string(c.text)) } -func (p *parser) callonHeaderGroupElement160() (interface{}, error) { +func (p *parser) callonHeaderGroupElement180() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onHeaderGroupElement160() + return p.cur.onHeaderGroupElement180() } -func (c *current) onHeaderGroupElement131(id, label interface{}) (interface{}, error) { +func (c *current) onHeaderGroupElement141(id, label interface{}) (interface{}, error) { return types.NewInternalCrossReference(id, label) } -func (p *parser) callonHeaderGroupElement131() (interface{}, error) { +func (p *parser) callonHeaderGroupElement141() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onHeaderGroupElement131(stack["id"], stack["label"]) + return p.cur.onHeaderGroupElement141(stack["id"], stack["label"]) } -func (c *current) onHeaderGroupElement167() (interface{}, error) { +func (c *current) onHeaderGroupElement187() (interface{}, error) { // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ return string(c.text), nil } -func (p *parser) callonHeaderGroupElement167() (interface{}, error) { +func (p *parser) callonHeaderGroupElement187() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onHeaderGroupElement167() + return p.cur.onHeaderGroupElement187() } -func (c *current) onHeaderGroupElement163(id interface{}) (interface{}, error) { +func (c *current) onHeaderGroupElement183(id interface{}) (interface{}, error) { return types.NewInternalCrossReference(id, nil) } -func (p *parser) callonHeaderGroupElement163() (interface{}, error) { +func (p *parser) callonHeaderGroupElement183() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onHeaderGroupElement163(stack["id"]) + return p.cur.onHeaderGroupElement183(stack["id"]) } -func (c *current) onHeaderGroupElement129() (interface{}, error) { +func (c *current) onHeaderGroupElement139() (interface{}, error) { return types.NewStringElement(string(c.text)) } -func (p *parser) callonHeaderGroupElement129() (interface{}, error) { +func (p *parser) callonHeaderGroupElement139() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onHeaderGroupElement129() + return p.cur.onHeaderGroupElement139() } -func (c *current) onHeaderGroupElement171() (interface{}, error) { +func (c *current) onHeaderGroupElement191() (interface{}, error) { return types.NewSpecialCharacter(string(c.text)) } -func (p *parser) callonHeaderGroupElement171() (interface{}, error) { +func (p *parser) callonHeaderGroupElement191() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onHeaderGroupElement171() + return p.cur.onHeaderGroupElement191() } -func (c *current) onHeaderGroupElement124(element interface{}) (interface{}, error) { +func (c *current) onHeaderGroupElement134(element interface{}) (interface{}, error) { return element, nil } -func (p *parser) callonHeaderGroupElement124() (interface{}, error) { +func (p *parser) callonHeaderGroupElement134() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onHeaderGroupElement124(stack["element"]) + return p.cur.onHeaderGroupElement134(stack["element"]) } -func (c *current) onHeaderGroupElement176() (bool, error) { +func (c *current) onHeaderGroupElement196() (bool, error) { return c.isSubstitutionEnabled(Attributes), nil } -func (p *parser) callonHeaderGroupElement176() (bool, error) { +func (p *parser) callonHeaderGroupElement196() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onHeaderGroupElement176() + return p.cur.onHeaderGroupElement196() } -func (c *current) onHeaderGroupElement183() (interface{}, error) { +func (c *current) onHeaderGroupElement203() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonHeaderGroupElement183() (interface{}, error) { +func (p *parser) callonHeaderGroupElement203() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onHeaderGroupElement183() + return p.cur.onHeaderGroupElement203() } -func (c *current) onHeaderGroupElement195() (interface{}, error) { +func (c *current) onHeaderGroupElement215() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonHeaderGroupElement195() (interface{}, error) { +func (p *parser) callonHeaderGroupElement215() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onHeaderGroupElement195() + return p.cur.onHeaderGroupElement215() } -func (c *current) onHeaderGroupElement197() (interface{}, error) { +func (c *current) onHeaderGroupElement217() (interface{}, error) { return strconv.Atoi(string(c.text)) } -func (p *parser) callonHeaderGroupElement197() (interface{}, error) { +func (p *parser) callonHeaderGroupElement217() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onHeaderGroupElement197() + return p.cur.onHeaderGroupElement217() } -func (c *current) onHeaderGroupElement190(start interface{}) (interface{}, error) { +func (c *current) onHeaderGroupElement210(start interface{}) (interface{}, error) { return start, nil } -func (p *parser) callonHeaderGroupElement190() (interface{}, error) { +func (p *parser) callonHeaderGroupElement210() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onHeaderGroupElement190(stack["start"]) + return p.cur.onHeaderGroupElement210(stack["start"]) } -func (c *current) onHeaderGroupElement179(name, start interface{}) (interface{}, error) { +func (c *current) onHeaderGroupElement199(name, start interface{}) (interface{}, error) { return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) } -func (p *parser) callonHeaderGroupElement179() (interface{}, error) { +func (p *parser) callonHeaderGroupElement199() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onHeaderGroupElement179(stack["name"], stack["start"]) + return p.cur.onHeaderGroupElement199(stack["name"], stack["start"]) } -func (c *current) onHeaderGroupElement205() (interface{}, error) { +func (c *current) onHeaderGroupElement225() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonHeaderGroupElement205() (interface{}, error) { +func (p *parser) callonHeaderGroupElement225() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onHeaderGroupElement205() + return p.cur.onHeaderGroupElement225() } -func (c *current) onHeaderGroupElement217() (interface{}, error) { +func (c *current) onHeaderGroupElement237() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonHeaderGroupElement217() (interface{}, error) { +func (p *parser) callonHeaderGroupElement237() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onHeaderGroupElement217() + return p.cur.onHeaderGroupElement237() } -func (c *current) onHeaderGroupElement219() (interface{}, error) { +func (c *current) onHeaderGroupElement239() (interface{}, error) { return strconv.Atoi(string(c.text)) } -func (p *parser) callonHeaderGroupElement219() (interface{}, error) { +func (p *parser) callonHeaderGroupElement239() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onHeaderGroupElement219() + return p.cur.onHeaderGroupElement239() } -func (c *current) onHeaderGroupElement212(start interface{}) (interface{}, error) { +func (c *current) onHeaderGroupElement232(start interface{}) (interface{}, error) { return start, nil } -func (p *parser) callonHeaderGroupElement212() (interface{}, error) { +func (p *parser) callonHeaderGroupElement232() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onHeaderGroupElement212(stack["start"]) + return p.cur.onHeaderGroupElement232(stack["start"]) } -func (c *current) onHeaderGroupElement201(name, start interface{}) (interface{}, error) { +func (c *current) onHeaderGroupElement221(name, start interface{}) (interface{}, error) { return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) } -func (p *parser) callonHeaderGroupElement201() (interface{}, error) { +func (p *parser) callonHeaderGroupElement221() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onHeaderGroupElement201(stack["name"], stack["start"]) + return p.cur.onHeaderGroupElement221(stack["name"], stack["start"]) } -func (c *current) onHeaderGroupElement227() (interface{}, error) { +func (c *current) onHeaderGroupElement247() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonHeaderGroupElement227() (interface{}, error) { +func (p *parser) callonHeaderGroupElement247() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onHeaderGroupElement247() +} + +func (c *current) onHeaderGroupElement243(name interface{}) (interface{}, error) { + + log.Debug("matching escaped attribute reference") + // return types.NewStringElement("{"+name.(string)+"}") + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) + +} + +func (p *parser) callonHeaderGroupElement243() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onHeaderGroupElement227() + return p.cur.onHeaderGroupElement243(stack["name"]) +} + +func (c *current) onHeaderGroupElement257() (interface{}, error) { + return string(c.text), nil + } -func (c *current) onHeaderGroupElement223(name interface{}) (interface{}, error) { +func (p *parser) callonHeaderGroupElement257() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onHeaderGroupElement257() +} + +func (c *current) onHeaderGroupElement253(name interface{}) (interface{}, error) { return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonHeaderGroupElement223() (interface{}, error) { +func (p *parser) callonHeaderGroupElement253() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onHeaderGroupElement223(stack["name"]) + return p.cur.onHeaderGroupElement253(stack["name"]) } -func (c *current) onHeaderGroupElement174(element interface{}) (interface{}, error) { +func (c *current) onHeaderGroupElement194(element interface{}) (interface{}, error) { return element, nil } -func (p *parser) callonHeaderGroupElement174() (interface{}, error) { +func (p *parser) callonHeaderGroupElement194() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onHeaderGroupElement174(stack["element"]) + return p.cur.onHeaderGroupElement194(stack["element"]) } -func (c *current) onHeaderGroupElement237() (interface{}, error) { +func (c *current) onHeaderGroupElement267() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonHeaderGroupElement237() (interface{}, error) { +func (p *parser) callonHeaderGroupElement267() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onHeaderGroupElement237() + return p.cur.onHeaderGroupElement267() } -func (c *current) onHeaderGroupElement233(ref interface{}) (interface{}, error) { +func (c *current) onHeaderGroupElement263(ref interface{}) (interface{}, error) { return types.NewElementPlaceHolder(ref.(string)) } -func (p *parser) callonHeaderGroupElement233() (interface{}, error) { +func (p *parser) callonHeaderGroupElement263() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onHeaderGroupElement233(stack["ref"]) + return p.cur.onHeaderGroupElement263(stack["ref"]) } -func (c *current) onHeaderGroupElement243() (bool, error) { +func (c *current) onHeaderGroupElement273() (bool, error) { return c.isSubstitutionEnabled(Replacements), nil } -func (p *parser) callonHeaderGroupElement243() (bool, error) { +func (p *parser) callonHeaderGroupElement273() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onHeaderGroupElement273() +} + +func (c *current) onHeaderGroupElement280() (interface{}, error) { + return types.NewStringElement("\u2019") + +} + +func (p *parser) callonHeaderGroupElement280() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onHeaderGroupElement280() +} + +func (c *current) onHeaderGroupElement282() (interface{}, error) { + return types.NewStringElement("\u00a9") + +} + +func (p *parser) callonHeaderGroupElement282() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onHeaderGroupElement282() +} + +func (c *current) onHeaderGroupElement284() (interface{}, error) { + return types.NewStringElement("\u2122") + +} + +func (p *parser) callonHeaderGroupElement284() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onHeaderGroupElement284() +} + +func (c *current) onHeaderGroupElement286() (interface{}, error) { + return types.NewStringElement("\u00ae") + +} + +func (p *parser) callonHeaderGroupElement286() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onHeaderGroupElement243() + return p.cur.onHeaderGroupElement286() +} + +func (c *current) onHeaderGroupElement288() (interface{}, error) { + return types.NewStringElement("\u2026\u200b") + } -func (c *current) onHeaderGroupElement246() (interface{}, error) { +func (p *parser) callonHeaderGroupElement288() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onHeaderGroupElement288() +} + +func (c *current) onHeaderGroupElement276() (interface{}, error) { + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) + +} + +func (p *parser) callonHeaderGroupElement276() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onHeaderGroupElement276() +} + +func (c *current) onHeaderGroupElement290() (interface{}, error) { return types.NewStringElement("\u2019") } -func (p *parser) callonHeaderGroupElement246() (interface{}, error) { +func (p *parser) callonHeaderGroupElement290() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onHeaderGroupElement246() + return p.cur.onHeaderGroupElement290() } -func (c *current) onHeaderGroupElement248() (interface{}, error) { +func (c *current) onHeaderGroupElement292() (interface{}, error) { return types.NewStringElement("\u00a9") } -func (p *parser) callonHeaderGroupElement248() (interface{}, error) { +func (p *parser) callonHeaderGroupElement292() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onHeaderGroupElement248() + return p.cur.onHeaderGroupElement292() } -func (c *current) onHeaderGroupElement250() (interface{}, error) { +func (c *current) onHeaderGroupElement294() (interface{}, error) { return types.NewStringElement("\u2122") } -func (p *parser) callonHeaderGroupElement250() (interface{}, error) { +func (p *parser) callonHeaderGroupElement294() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onHeaderGroupElement250() + return p.cur.onHeaderGroupElement294() } -func (c *current) onHeaderGroupElement252() (interface{}, error) { +func (c *current) onHeaderGroupElement296() (interface{}, error) { return types.NewStringElement("\u00ae") } -func (p *parser) callonHeaderGroupElement252() (interface{}, error) { +func (p *parser) callonHeaderGroupElement296() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onHeaderGroupElement252() + return p.cur.onHeaderGroupElement296() } -func (c *current) onHeaderGroupElement254() (interface{}, error) { +func (c *current) onHeaderGroupElement298() (interface{}, error) { return types.NewStringElement("\u2026\u200b") } -func (p *parser) callonHeaderGroupElement254() (interface{}, error) { +func (p *parser) callonHeaderGroupElement298() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onHeaderGroupElement298() +} + +func (c *current) onHeaderGroupElement300() (interface{}, error) { + log.Debug("matched escaped apostrophe") + return types.NewStringElement(strings.TrimSuffix(string(c.text), `\'`) + `'`) // retain the apostrophe, but discard the `\` escape char + +} + +func (p *parser) callonHeaderGroupElement300() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onHeaderGroupElement254() + return p.cur.onHeaderGroupElement300() } -func (c *current) onHeaderGroupElement256() (interface{}, error) { - return types.NewStringElement(string(c.text[:1]) + "\u2019") +func (c *current) onHeaderGroupElement306() (interface{}, error) { + return types.NewStringElement(strings.TrimSuffix(string(c.text), `'`) + "\u2019") // convert quote } -func (p *parser) callonHeaderGroupElement256() (interface{}, error) { +func (p *parser) callonHeaderGroupElement306() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onHeaderGroupElement256() + return p.cur.onHeaderGroupElement306() } -func (c *current) onHeaderGroupElement241(element interface{}) (interface{}, error) { +func (c *current) onHeaderGroupElement271(element interface{}) (interface{}, error) { return element, nil } -func (p *parser) callonHeaderGroupElement241() (interface{}, error) { +func (p *parser) callonHeaderGroupElement271() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onHeaderGroupElement271(stack["element"]) +} + +func (c *current) onHeaderGroupElement316() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ + return string(c.text), nil + +} + +func (p *parser) callonHeaderGroupElement316() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onHeaderGroupElement241(stack["element"]) + return p.cur.onHeaderGroupElement316() } -func (c *current) onHeaderGroupElement266() (interface{}, error) { +func (c *current) onHeaderGroupElement312(id interface{}) (interface{}, error) { + //return types.NewStringElement("[[" + id.(string) + "]]") + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) + +} + +func (p *parser) callonHeaderGroupElement312() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onHeaderGroupElement312(stack["id"]) +} + +func (c *current) onHeaderGroupElement324() (interface{}, error) { // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ return string(c.text), nil } -func (p *parser) callonHeaderGroupElement266() (interface{}, error) { +func (p *parser) callonHeaderGroupElement324() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onHeaderGroupElement266() + return p.cur.onHeaderGroupElement324() } -func (c *current) onHeaderGroupElement262(id interface{}) (interface{}, error) { +func (c *current) onHeaderGroupElement320(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) callonHeaderGroupElement262() (interface{}, error) { +func (p *parser) callonHeaderGroupElement320() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onHeaderGroupElement262(stack["id"]) + return p.cur.onHeaderGroupElement320(stack["id"]) } -func (c *current) onHeaderGroupElement271() (interface{}, error) { +func (c *current) onHeaderGroupElement329() (interface{}, error) { return types.NewStringElement(string(c.text)) } -func (p *parser) callonHeaderGroupElement271() (interface{}, error) { +func (p *parser) callonHeaderGroupElement329() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onHeaderGroupElement271() + return p.cur.onHeaderGroupElement329() } func (c *current) onHeaderGroupElement1(element interface{}) (interface{}, error) { @@ -87256,8 +97263,9 @@ func (p *parser) callonInlineMacro17() (interface{}, error) { } func (c *current) onInlineMacro13(id interface{}) (interface{}, error) { - // no EOL here since there can be multiple InlineElementID on the same line - return types.NewInlineAnchor(id.(string)) + //return types.NewStringElement("[[" + id.(string) + "]]") + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) + } func (p *parser) callonInlineMacro13() (interface{}, error) { @@ -87266,142 +97274,166 @@ func (p *parser) callonInlineMacro13() (interface{}, error) { return p.cur.onInlineMacro13(stack["id"]) } -func (c *current) onInlineMacro29() (interface{}, error) { +func (c *current) onInlineMacro25() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ return string(c.text), nil } -func (p *parser) callonInlineMacro29() (interface{}, error) { +func (p *parser) callonInlineMacro25() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineMacro29() + return p.cur.onInlineMacro25() } -func (c *current) onInlineMacro25() (interface{}, error) { +func (c *current) onInlineMacro21(id interface{}) (interface{}, error) { + // no EOL here since there can be multiple InlineElementID on the same line + return types.NewInlineAnchor(id.(string)) + +} + +func (p *parser) callonInlineMacro21() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onInlineMacro21(stack["id"]) +} + +func (c *current) onInlineMacro37() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonInlineMacro25() (interface{}, error) { +func (p *parser) callonInlineMacro37() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineMacro25() + return p.cur.onInlineMacro37() } -func (c *current) onInlineMacro36() (interface{}, error) { +func (c *current) onInlineMacro33() (interface{}, error) { return string(c.text), nil +} +func (p *parser) callonInlineMacro33() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onInlineMacro33() } -func (p *parser) callonInlineMacro36() (interface{}, error) { +func (c *current) onInlineMacro44() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonInlineMacro44() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineMacro36() + return p.cur.onInlineMacro44() } -func (c *current) onInlineMacro40() (interface{}, error) { +func (c *current) onInlineMacro48() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonInlineMacro40() (interface{}, error) { +func (p *parser) callonInlineMacro48() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineMacro40() + return p.cur.onInlineMacro48() } -func (c *current) onInlineMacro47() (interface{}, error) { +func (c *current) onInlineMacro55() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonInlineMacro47() (interface{}, error) { +func (p *parser) callonInlineMacro55() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineMacro47() + return p.cur.onInlineMacro55() } -func (c *current) onInlineMacro43() (interface{}, error) { +func (c *current) onInlineMacro51() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonInlineMacro43() (interface{}, error) { +func (p *parser) callonInlineMacro51() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineMacro43() + return p.cur.onInlineMacro51() } -func (c *current) onInlineMacro33(content interface{}) (interface{}, error) { +func (c *current) onInlineMacro41(content interface{}) (interface{}, error) { return content, nil } -func (p *parser) callonInlineMacro33() (interface{}, error) { +func (p *parser) callonInlineMacro41() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineMacro33(stack["content"]) + return p.cur.onInlineMacro41(stack["content"]) } -func (c *current) onInlineMacro54() (interface{}, error) { +func (c *current) onInlineMacro62() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonInlineMacro54() (interface{}, error) { +func (p *parser) callonInlineMacro62() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineMacro54() + return p.cur.onInlineMacro62() } -func (c *current) onInlineMacro58() (interface{}, error) { +func (c *current) onInlineMacro66() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonInlineMacro58() (interface{}, error) { +func (p *parser) callonInlineMacro66() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineMacro58() + return p.cur.onInlineMacro66() } -func (c *current) onInlineMacro65() (interface{}, error) { +func (c *current) onInlineMacro73() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonInlineMacro65() (interface{}, error) { +func (p *parser) callonInlineMacro73() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineMacro65() + return p.cur.onInlineMacro73() } -func (c *current) onInlineMacro61() (interface{}, error) { +func (c *current) onInlineMacro69() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonInlineMacro61() (interface{}, error) { +func (p *parser) callonInlineMacro69() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineMacro61() + return p.cur.onInlineMacro69() } -func (c *current) onInlineMacro51(content interface{}) (interface{}, error) { +func (c *current) onInlineMacro59(content interface{}) (interface{}, error) { return content, nil } -func (p *parser) callonInlineMacro51() (interface{}, error) { +func (p *parser) callonInlineMacro59() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineMacro51(stack["content"]) + return p.cur.onInlineMacro59(stack["content"]) } -func (c *current) onInlineMacro21(term1, term2, term3 interface{}) (interface{}, error) { +func (c *current) onInlineMacro29(term1, term2, term3 interface{}) (interface{}, error) { return types.NewConcealedIndexTerm(term1, term2, term3) } -func (p *parser) callonInlineMacro21() (interface{}, error) { +func (p *parser) callonInlineMacro29() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineMacro21(stack["term1"], stack["term2"], stack["term3"]) + return p.cur.onInlineMacro29(stack["term1"], stack["term2"], stack["term3"]) } func (c *current) onInlineMacro1(element interface{}) (interface{}, error) { @@ -88038,7 +98070,9 @@ func (p *parser) callonFileLocation78() (interface{}, error) { func (c *current) onFileLocation74(name interface{}) (interface{}, error) { - return types.NewAttributeSubstitution(name.(string), string(c.text)) + log.Debug("matching escaped attribute reference") + // return types.NewStringElement("{"+name.(string)+"}") + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) } @@ -88048,6 +98082,29 @@ func (p *parser) callonFileLocation74() (interface{}, error) { return p.cur.onFileLocation74(stack["name"]) } +func (c *current) onFileLocation88() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonFileLocation88() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onFileLocation88() +} + +func (c *current) onFileLocation84(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) + +} + +func (p *parser) callonFileLocation84() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onFileLocation84(stack["name"]) +} + func (c *current) onFileLocation25(element interface{}) (interface{}, error) { return element, nil @@ -88059,163 +98116,188 @@ func (p *parser) callonFileLocation25() (interface{}, error) { return p.cur.onFileLocation25(stack["element"]) } -func (c *current) onFileLocation86() (bool, error) { +func (c *current) onFileLocation96() (bool, error) { return c.isSubstitutionEnabled(SpecialCharacters), nil } -func (p *parser) callonFileLocation86() (bool, error) { +func (p *parser) callonFileLocation96() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileLocation86() + return p.cur.onFileLocation96() } -func (c *current) onFileLocation95() (interface{}, error) { +func (c *current) onFileLocation105() (interface{}, error) { // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ return string(c.text), nil } -func (p *parser) callonFileLocation95() (interface{}, error) { +func (p *parser) callonFileLocation105() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileLocation95() + return p.cur.onFileLocation105() } -func (c *current) onFileLocation99() (interface{}, error) { +func (c *current) onFileLocation109() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonFileLocation99() (interface{}, error) { +func (p *parser) callonFileLocation109() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileLocation99() + return p.cur.onFileLocation109() } -func (c *current) onFileLocation105() (interface{}, error) { +func (c *current) onFileLocation115() (interface{}, error) { // `{`, `>` and `>` characters are not allowed as they are used for attribute substitutions and cross-references return types.NewStringElement(string(c.text)) } -func (p *parser) callonFileLocation105() (interface{}, error) { +func (p *parser) callonFileLocation115() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileLocation105() + return p.cur.onFileLocation115() +} + +func (c *current) onFileLocation124() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonFileLocation124() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onFileLocation124() +} + +func (c *current) onFileLocation120(name interface{}) (interface{}, error) { + + log.Debug("matching escaped attribute reference") + // return types.NewStringElement("{"+name.(string)+"}") + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) + +} + +func (p *parser) callonFileLocation120() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onFileLocation120(stack["name"]) } -func (c *current) onFileLocation114() (interface{}, error) { +func (c *current) onFileLocation134() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonFileLocation114() (interface{}, error) { +func (p *parser) callonFileLocation134() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileLocation114() + return p.cur.onFileLocation134() } -func (c *current) onFileLocation110(name interface{}) (interface{}, error) { +func (c *current) onFileLocation130(name interface{}) (interface{}, error) { return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonFileLocation110() (interface{}, error) { +func (p *parser) callonFileLocation130() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileLocation110(stack["name"]) + return p.cur.onFileLocation130(stack["name"]) } -func (c *current) onFileLocation120() (interface{}, error) { +func (c *current) onFileLocation140() (interface{}, error) { return types.NewStringElement(string(c.text)) } -func (p *parser) callonFileLocation120() (interface{}, error) { +func (p *parser) callonFileLocation140() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileLocation120() + return p.cur.onFileLocation140() } -func (c *current) onFileLocation91(id, label interface{}) (interface{}, error) { +func (c *current) onFileLocation101(id, label interface{}) (interface{}, error) { return types.NewInternalCrossReference(id, label) } -func (p *parser) callonFileLocation91() (interface{}, error) { +func (p *parser) callonFileLocation101() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileLocation91(stack["id"], stack["label"]) + return p.cur.onFileLocation101(stack["id"], stack["label"]) } -func (c *current) onFileLocation127() (interface{}, error) { +func (c *current) onFileLocation147() (interface{}, error) { // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ return string(c.text), nil } -func (p *parser) callonFileLocation127() (interface{}, error) { +func (p *parser) callonFileLocation147() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileLocation127() + return p.cur.onFileLocation147() } -func (c *current) onFileLocation123(id interface{}) (interface{}, error) { +func (c *current) onFileLocation143(id interface{}) (interface{}, error) { return types.NewInternalCrossReference(id, nil) } -func (p *parser) callonFileLocation123() (interface{}, error) { +func (p *parser) callonFileLocation143() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileLocation123(stack["id"]) + return p.cur.onFileLocation143(stack["id"]) } -func (c *current) onFileLocation89() (interface{}, error) { +func (c *current) onFileLocation99() (interface{}, error) { return types.NewStringElement(string(c.text)) } -func (p *parser) callonFileLocation89() (interface{}, error) { +func (p *parser) callonFileLocation99() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileLocation89() + return p.cur.onFileLocation99() } -func (c *current) onFileLocation131() (interface{}, error) { +func (c *current) onFileLocation151() (interface{}, error) { return types.NewSpecialCharacter(string(c.text)) } -func (p *parser) callonFileLocation131() (interface{}, error) { +func (p *parser) callonFileLocation151() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileLocation131() + return p.cur.onFileLocation151() } -func (c *current) onFileLocation84(element interface{}) (interface{}, error) { +func (c *current) onFileLocation94(element interface{}) (interface{}, error) { return element, nil } -func (p *parser) callonFileLocation84() (interface{}, error) { +func (p *parser) callonFileLocation94() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileLocation84(stack["element"]) + return p.cur.onFileLocation94(stack["element"]) } -func (c *current) onFileLocation133() (interface{}, error) { +func (c *current) onFileLocation153() (interface{}, error) { return types.NewStringElement(string(c.text)) } -func (p *parser) callonFileLocation133() (interface{}, error) { +func (p *parser) callonFileLocation153() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileLocation133() + return p.cur.onFileLocation153() } func (c *current) onFileLocation5(elements interface{}) (interface{}, error) { @@ -88229,24 +98311,24 @@ func (p *parser) callonFileLocation5() (interface{}, error) { return p.cur.onFileLocation5(stack["elements"]) } -func (c *current) onFileLocation139() (interface{}, error) { +func (c *current) onFileLocation159() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonFileLocation139() (interface{}, error) { +func (p *parser) callonFileLocation159() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileLocation139() + return p.cur.onFileLocation159() } -func (c *current) onFileLocation135(ref interface{}) (interface{}, error) { +func (c *current) onFileLocation155(ref interface{}) (interface{}, error) { return types.NewElementPlaceHolder(ref.(string)) } -func (p *parser) callonFileLocation135() (interface{}, error) { +func (p *parser) callonFileLocation155() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileLocation135(stack["ref"]) + return p.cur.onFileLocation155(stack["ref"]) } func (c *current) onFileLocation1(path interface{}) (interface{}, error) { diff --git a/pkg/parser/parser.peg b/pkg/parser/parser.peg index eefae85e..955a304b 100644 --- a/pkg/parser/parser.peg +++ b/pkg/parser/parser.peg @@ -247,14 +247,6 @@ DocumentFragment <- / FrontMatter / Paragraph // must be the last one... )? // allow attribute on empty/no element - // &{ - // fmt.Printf("checking attributes and element: %v + %v", attributes, element) - // if attributes != nil && element == nil { - // // do not return an error, but do not accept such a kind of content (standalone attributes) - // return false, nil - // } - // return true, nil - // } { c.disableFrontMatterRule() // not allowed as soon as a single element is found c.disableDocumentHeaderRule(element) // not allowed anymore, based on element that was found @@ -413,7 +405,7 @@ InlineAttributes <- // shorthand syntax for anchors. Eg: `[[An ID]]` LegacyElementID <- - "[[" + "[[" id:( elements:( ([^=\r\n\uFFFD{\]]+ { // spaces, commas and dots are allowed in this syntax @@ -438,7 +430,6 @@ ShortHandTitle <- `.` title:( ([^\r\n\uFFFD{]+ { return string(c.text), nil }) - // / ElementPlaceHolder / AttributeValueReference / ("{" { return string(c.text), nil @@ -452,8 +443,7 @@ ShortHandTitle <- `.` title:( // LongHandAttributes. Eg: `[positional1,positional2,...,named1,named2,...] // positional attributes are optional, and `positional1` can be combined with options and roles ("extras") LongHandAttributes <- - "[" !"[" // prevent processing nested attributes at this point (parser will need to move forward by 1 char first) - //!Space // no space allowed on the first character + !`\` "[" !"[" // prevent processing nested attributes at this point (parser will need to move forward by 1 char first) firstPositionalAttributes:(FirstPositionalAttributes)? otherAttributes:(PositionalAttribute / NamedAttribute)* "]" { @@ -655,7 +645,15 @@ AttributeReference <- return element, nil } -AttributeValueReference <- +AttributeValueReference <- + // escaped + `\` "{" name:AttributeName "}" { + log.Debug("matching escaped attribute reference") + // return types.NewStringElement("{"+name.(string)+"}") + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) + } + / + // unescaped "{" name:AttributeName "}" { return types.NewAttributeSubstitution(name.(string), string(c.text)) } @@ -1182,7 +1180,7 @@ InlineElement <- InlineWord // more permissive than the 'Word' rule / Spaces / LineBreak - / !EOL ( + / !EOL ( // TODO: why !EOL here? Quote / AttributeReference / InlineMacro @@ -1198,9 +1196,17 @@ InlineElement <- // ------------------------------------------------------------------------------------- // InlineAnchor // ------------------------------------------------------------------------------------- -InlineAnchor <- "[[" id:(Id) "]]" { // no EOL here since there can be multiple InlineElementID on the same line - return types.NewInlineAnchor(id.(string)) -} +InlineAnchor <- + // escaped + `\` "[[" id:(Id) "]]" { + //return types.NewStringElement("[[" + id.(string) + "]]") + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) + } + // unescaped + / + "[[" id:(Id) "]]" { // no EOL here since there can be multiple InlineElementID on the same line + return types.NewInlineAnchor(id.(string)) + } // ------------------------------------------------------------------------------------- // Index Terms @@ -1304,7 +1310,7 @@ PassthroughMacroCharacter <- [^\]] { // ------------------------------------------------------------------------------------- Link <- BareURL / RelativeLink / ExternalLink -BareURL <- +BareURL <- "<" url:(LocationWithScheme) // scheme is required for this syntax closingBracket:(">")? // TODO: never used? @@ -1316,11 +1322,25 @@ BareURL <- } // url preceeding with `link:` MUST be followed by square brackets -RelativeLink <- "link:" url:(Location) attributes:(InlineAttributes) { +RelativeLink <- + // escaped + `\` "link:" url:(Location) attributes:(InlineAttributes) { + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) + } + / + // unescaped + "link:" url:(Location) attributes:(InlineAttributes) { return types.NewInlineLink(url.(*types.Location), attributes.(types.Attributes)) } -ExternalLink <- url:(LocationWithScheme) attributes:(InlineAttributes)? { +ExternalLink <- + // escaped + `\` url:(LocationWithScheme) attributes:(InlineAttributes)? { + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) + } + / + // unescaped + url:(LocationWithScheme) attributes:(InlineAttributes)? { return types.NewInlineLink(url.(*types.Location), attributes) } @@ -1745,13 +1765,23 @@ LiteralParagraphRawLine <- // Quoted Texts (bold, italic, monospace, marked, superscript and subscript) // ----------------------------------------------------------------------------------------------------------------------- QuotedText <- - ( - attributes:(LongHandAttributes)? // TODO: do not check for attributes on quoted text if we're already parsing an attribute value? - text:(UnconstrainedQuotedText / ConstrainedQuotedText) { - return text.(*types.QuotedText).WithAttributes(attributes) - } - ) - / EscapedQuotedText + // TODO: do not check for attributes twice here? + // TODO: also, do not check for attributes on quoted text if we're already parsing an attribute value? + // escaped with optional attributes + attributes:(LongHandAttributes { + return types.NewStringElement(string(c.text)) + })? + text:EscapedQuotedText { + log.Debugf("matched escaped quoted text") + return append([]interface{}{attributes}, text.([]interface{})...), nil + } + / + // unescaped + attributes:(LongHandAttributes)? + text:(UnconstrainedQuotedText / ConstrainedQuotedText) { + return text.(*types.QuotedText).WithAttributes(attributes) + } + ConstrainedQuotedTextMarker <- "*" !"*" / "_" !"_" / "#" !"#" / "`" !"`" @@ -1777,8 +1807,8 @@ EscapedQuotedText <- // TODO: use something like `&('\')` to quickly escape? EscapedBoldText / EscapedItalicText / EscapedMarkedText - / EscapedMonospaceText - / EscapedSubscriptText + / EscapedMonospaceText + / EscapedSubscriptText / EscapedSuperscriptText ) { return element, nil @@ -1865,7 +1895,7 @@ SingleQuoteBoldTextStartDelimiter <- "*" SingleQuoteBoldTextEndDelimiter <- "*" SingleQuoteBoldText <- - SingleQuoteBoldTextStartDelimiter + SingleQuoteBoldTextStartDelimiter elements:(SingleQuoteBoldTextElements) SingleQuoteBoldTextEndDelimiter { return types.NewQuotedText(types.SingleQuoteBold, elements.([]interface{})) @@ -1894,6 +1924,19 @@ SingleQuoteBoldTextElement <- / SingleQuoteBoldTextFallbackCharacter QuotedTextInSingleQuoteBoldText <- + // escaped content + &(`\`) + element:( + EscapedItalicText + / EscapedMarkedText + / EscapedMonospaceText + / EscapedSubscriptText + / EscapedSuperscriptText + ) { + return element, nil + } + / + // unescaped content attributes:(LongHandAttributes)? text:( DoubleQuoteBoldText @@ -1904,6 +1947,7 @@ QuotedTextInSingleQuoteBoldText <- / SuperscriptText) { return text.(*types.QuotedText).WithAttributes(attributes) } + SingleQuoteBoldTextFallbackCharacter <- [^\r\n *] // anything except EOL, space and bold delimiter (fallback in case nothing else matched) / "*" Alphanums { // or a bold delimiter when immediately followed by an alphanum (ie, in the middle of some text) @@ -1911,12 +1955,17 @@ SingleQuoteBoldTextFallbackCharacter <- } EscapedBoldText <- - backslashes:(TwoOrMoreBackslashes) "**" elements:(DoubleQuoteBoldTextElements) "**" { // double punctuation must be evaluated first + // double escape: \\**not bold** + backslashes:(TwoOrMoreBackslashes) "**" elements:(DoubleQuoteBoldTextElements) "**" { return types.NewEscapedQuotedText(backslashes.(string), "**", elements.([]interface{})) - } / backslashes:(OneOrMoreBackslashes) "**" elements:(SingleQuoteBoldTextElements) "*" { // unbalanced `**` vs `*` punctuation + } + // unbalanced double escape: \\**not bold* + / backslashes:(OneOrMoreBackslashes) "**" elements:(SingleQuoteBoldTextElements) "*" { result := append([]interface{}{"*"}, elements.([]interface{})) return types.NewEscapedQuotedText(backslashes.(string), "*", result) - } / backslashes:(OneOrMoreBackslashes) "*" elements:(SingleQuoteBoldTextElements) "*" { // simple punctuation must be evaluated last + } + // single escape: \*not bold* + / backslashes:(OneOrMoreBackslashes) "*" elements:(SingleQuoteBoldTextElements) "*" { return types.NewEscapedQuotedText(backslashes.(string), "*", elements.([]interface{})) } @@ -1965,6 +2014,19 @@ DoubleQuoteItalicTextElement <- } QuotedTextInDoubleQuoteItalicText <- + // escaped content + &(`\`) + element:( + EscapedBoldText + / EscapedMarkedText + / EscapedMonospaceText + / EscapedSubscriptText + / EscapedSuperscriptText + ) { + return element, nil + } + / + // unescaped content attributes:(LongHandAttributes)? text:(SingleQuoteItalicText / BoldText @@ -2018,6 +2080,19 @@ SingleQuoteItalicTextElement <- / SingleQuoteItalicTextFallbackCharacter QuotedTextInSingleQuoteItalicText <- + // escaped content + &(`\`) + element:( + EscapedBoldText + / EscapedMarkedText + / EscapedMonospaceText + / EscapedSubscriptText + / EscapedSuperscriptText + ) { + return element, nil + } + / + // unescaped content attributes:(LongHandAttributes)? text:(BoldText / DoubleQuoteItalicText @@ -2035,12 +2110,17 @@ SingleQuoteItalicTextFallbackCharacter <- } EscapedItalicText <- - backslashes:(TwoOrMoreBackslashes) "__" elements:(DoubleQuoteItalicTextElements) "__" { // double punctuation must be evaluated first + // double escape: \\__not italic__ + backslashes:(TwoOrMoreBackslashes) "__" elements:(DoubleQuoteItalicTextElements) "__" { return types.NewEscapedQuotedText(backslashes.(string), "__", elements.([]interface{})) - } / backslashes:(OneOrMoreBackslashes) "__" elements:(SingleQuoteItalicTextElements) "_" { // unbalanced `__` vs `_` punctuation + } + // unbalanced double escape: \\__not italic_ + / backslashes:(OneOrMoreBackslashes) "__" elements:(SingleQuoteItalicTextElements) "_" { // unbalanced `__` vs `_` punctuation result := append([]interface{}{"_"}, elements.([]interface{})) return types.NewEscapedQuotedText(backslashes.(string), "_", result) - } / backslashes:(OneOrMoreBackslashes) "_" elements:(SingleQuoteItalicTextElements) "_" { // simple punctuation must be evaluated last + } + // single escape: \_not italic_ + / backslashes:(OneOrMoreBackslashes) "_" elements:(SingleQuoteItalicTextElements) "_" { // simple punctuation must be evaluated last return types.NewEscapedQuotedText(backslashes.(string), "_", elements.([]interface{})) } @@ -2089,6 +2169,19 @@ DoubleQuoteMonospaceTextElement <- } QuotedTextInDoubleQuoteMonospaceText <- + // escaped content + &(`\`) + element:( + EscapedBoldText + / EscapedItalicText + / EscapedMarkedText + / EscapedSubscriptText + / EscapedSuperscriptText + ) { + return element, nil + } + / + // unescaped content attributes:(LongHandAttributes)? text:( SingleQuoteMonospaceText @@ -2146,6 +2239,19 @@ SingleQuoteMonospaceTextElement <- / SingleQuoteMonospaceTextFallbackCharacter QuotedTextInSingleQuoteMonospaceText <- + // escaped content + &(`\`) + element:( + EscapedBoldText + / EscapedItalicText + / EscapedMarkedText + / EscapedSubscriptText + / EscapedSuperscriptText + ) { + return element, nil + } + / + // unescaped content attributes:(LongHandAttributes)? text:( DoubleQuoteMonospaceText @@ -2164,12 +2270,17 @@ SingleQuoteMonospaceTextFallbackCharacter <- } EscapedMonospaceText <- - backslashes:(TwoOrMoreBackslashes) "``" elements:(DoubleQuoteMonospaceTextElements) "``" { // double punctuation must be evaluated first + // double escape: \\``not monospace`` + backslashes:(TwoOrMoreBackslashes) "``" elements:(DoubleQuoteMonospaceTextElements) "``" { return types.NewEscapedQuotedText(backslashes.(string), "``", elements.([]interface{})) - } / backslashes:(OneOrMoreBackslashes) "``" elements:(SingleQuoteMonospaceTextElements) "`" { // unbalanced "``" vs "`" punctuation + } + // unbalanced double escape: \\``not monospace`` + / backslashes:(OneOrMoreBackslashes) "``" elements:(SingleQuoteMonospaceTextElements) "`" { result := append([]interface{}{"`"}, elements.([]interface{})) return types.NewEscapedQuotedText(backslashes.(string), "`", result) - } / backslashes:(OneOrMoreBackslashes) "`" elements:(SingleQuoteMonospaceTextElements) "`" { // simple punctuation must be evaluated last + } + // single escape: \`not monospace` + / backslashes:(OneOrMoreBackslashes) "`" elements:(SingleQuoteMonospaceTextElements) "`" { return types.NewEscapedQuotedText(backslashes.(string), "`", elements.([]interface{})) } @@ -2218,6 +2329,19 @@ DoubleQuoteMarkedTextElement <- // may start and end with spaces } QuotedTextInDoubleMarkedBoldText <- + // escaped content + &(`\`) + element:( + EscapedBoldText + / EscapedItalicText + / EscapedMonospaceText + / EscapedSubscriptText + / EscapedSuperscriptText + ) { + return element, nil + } + / + // unescaped content attributes:(LongHandAttributes)? text:( SingleQuoteMarkedText @@ -2272,6 +2396,19 @@ SingleQuoteMarkedTextElement <- / SingleQuoteMarkedTextFallbackCharacter QuotedTextInSingleQuoteMarkedText <- + // escaped content + &(`\`) + element:( + EscapedBoldText + / EscapedItalicText + / EscapedMonospaceText + / EscapedSubscriptText + / EscapedSuperscriptText + ) { + return element, nil + } + / + // unescaped content attributes:(LongHandAttributes)? text:( DoubleQuoteMarkedText @@ -2290,12 +2427,17 @@ SingleQuoteMarkedTextFallbackCharacter <- } EscapedMarkedText <- - backslashes:(TwoOrMoreBackslashes) "##" elements:(DoubleQuoteMarkedTextElements) "##" { // double punctuation must be evaluated first + // double escape: \\##not marked## + backslashes:(TwoOrMoreBackslashes) "##" elements:(DoubleQuoteMarkedTextElements) "##" { return types.NewEscapedQuotedText(backslashes.(string), "##", elements.([]interface{})) - } / backslashes:(OneOrMoreBackslashes) "##" elements:(SingleQuoteMarkedTextElements) "#" { // unbalanced `##` vs `#` punctuation + } + // unbalanced double escape: \\##not marked# + / backslashes:(OneOrMoreBackslashes) "##" elements:(SingleQuoteMarkedTextElements) "#" { result := append([]interface{}{"#"}, elements.([]interface{})) return types.NewEscapedQuotedText(backslashes.(string), "#", result) - } / backslashes:(OneOrMoreBackslashes) "#" elements:(SingleQuoteMarkedTextElements) "#" { // simple punctuation must be evaluated last + } + // single escape: \#not marked# + / backslashes:(OneOrMoreBackslashes) "#" elements:(SingleQuoteMarkedTextElements) "#" { return types.NewEscapedQuotedText(backslashes.(string), "#", elements.([]interface{})) } @@ -2317,7 +2459,8 @@ NonSubscriptText <- [^\r\n ~]+ { // anything except spaces, EOL or '~' return c.text, nil } -EscapedSubscriptText <- +EscapedSubscriptText <- + // single escape: \~not subscript~ backslashes:(OneOrMoreBackslashes) SubscriptTextDelimiter element:(SubscriptTextElement) @@ -2344,6 +2487,7 @@ NonSuperscriptText <- [^\r\n ^]+ { // anything except spaces, EOL or '^' } EscapedSuperscriptText <- + // single escape: \^not superscript^ backslashes:(OneOrMoreBackslashes) SuperscriptTextDelimiter element:(SuperscriptTextElement) @@ -2627,7 +2771,15 @@ SingleLineCommentContent <- [^\r\n]* { // ------------------------------------------------------------------------------------- // Symbols // ------------------------------------------------------------------------------------- -Symbol <- Apostrophe / Copyright / Trademark / Registered / Ellipsis / ImpliedApostrophe +Symbol <- + // escaped + `\` (Apostrophe / Copyright / Trademark / Registered / Ellipsis) { + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) + } + // unescaped + / Apostrophe / Copyright / Trademark / Registered / Ellipsis + // + / TypographicQuote Apostrophe <- "`'" { return types.NewStringElement("\u2019") @@ -2652,11 +2804,18 @@ Ellipsis <- "..." { } // The implied apostrophe is used in interior words, and intended to help -// cases like "mother's day". asciidoctor requires that it be followed by +// cases like "mother's day". Asciidoctor requires that it be followed by // a letter (not a digit) but it can have a digit just before it. - -ImpliedApostrophe <- Alphanum "'" &[\pL] { - return types.NewStringElement(string(c.text[:1])+"\u2019") +TypographicQuote <- + // escaped + Alphanum `\'` &[\pL] { + log.Debug("matched escaped apostrophe") + return types.NewStringElement(strings.TrimSuffix(string(c.text), `\'`)+`'`) // retain the apostrophe, but discard the `\` escape char + } + / + // unescaped + Alphanum `'` &[\pL] { + return types.NewStringElement(strings.TrimSuffix(string(c.text), `'`)+"\u2019") // convert quote } // ------------------------------------------------------------------------------------- diff --git a/pkg/types/types.go b/pkg/types/types.go index 265c43e5..eaa5ed26 100644 --- a/pkg/types/types.go +++ b/pkg/types/types.go @@ -2718,26 +2718,23 @@ func (t *QuotedText) WithAttributes(attributes interface{}) (*QuotedText, error) // ------------------------------------------------------- // NewEscapedQuotedText returns a new []interface{} where the nested elements are preserved (ie, substituted as expected) -func NewEscapedQuotedText(backslashes string, punctuation string, content interface{}) ([]interface{}, error) { +func NewEscapedQuotedText(backslashes string, marker string, content interface{}) ([]interface{}, error) { // log.Debugf("new escaped quoted text: %s %s %v", backslashes, punctuation, content) backslashesStr := Apply(backslashes, func(s string) string { // remove the number of back-slashes that match the length of the punctuation. Eg: `\*` or `\\**`, but keep extra back-slashes - if len(s) > len(punctuation) { - return s[len(punctuation):] + if len(s) > len(marker) { + return s[len(marker):] } return "" }) return []interface{}{ &StringElement{ - Content: backslashesStr, - }, - &StringElement{ - Content: punctuation, + Content: backslashesStr + marker, }, content, &StringElement{ - Content: punctuation, + Content: marker, }, }, nil }