12444 lines
280 KiB
Go
12444 lines
280 KiB
Go
|
|
/* Original C version https://github.com/jgm/peg-markdown/
|
|
* Copyright 2008 John MacFarlane (jgm at berkeley dot edu).
|
|
*
|
|
* Modifications and translation from C into Go
|
|
* based on markdown_parser.leg and utility_functions.c
|
|
* Copyright 2010 Michael Teichgräber (mt at wmipf dot de)
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License or the MIT
|
|
* license. See LICENSE for details.
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
*/
|
|
|
|
package markdown
|
|
|
|
// PEG grammar and parser actions for markdown syntax.
|
|
|
|
import (
|
|
"fmt"
|
|
"strings"
|
|
"log"
|
|
"sync"
|
|
)
|
|
|
|
// Semantic value of a parsing action.
|
|
type element struct {
|
|
key int
|
|
contents
|
|
children *element
|
|
next *element
|
|
}
|
|
|
|
// Information (label, URL and title) for a link.
|
|
type link struct {
|
|
label *element
|
|
url string
|
|
title string
|
|
}
|
|
|
|
// Union for contents of an Element (string, list, or link).
|
|
type contents struct {
|
|
str string
|
|
*link
|
|
}
|
|
|
|
// Types of semantic values returned by parsers.
|
|
const (
|
|
LIST = iota /* A generic list of values. For ordered and bullet lists, see below. */
|
|
RAW /* Raw markdown to be processed further */
|
|
SPACE
|
|
LINEBREAK
|
|
ELLIPSIS
|
|
EMDASH
|
|
ENDASH
|
|
APOSTROPHE
|
|
SINGLEQUOTED
|
|
DOUBLEQUOTED
|
|
STR
|
|
LINK
|
|
IMAGE
|
|
CODE
|
|
HTML
|
|
EMPH
|
|
STRONG
|
|
PLAIN
|
|
PARA
|
|
LISTITEM
|
|
BULLETLIST
|
|
ORDEREDLIST
|
|
H1 /* Code assumes that H1..6 are in order. */
|
|
H2
|
|
H3
|
|
H4
|
|
H5
|
|
H6
|
|
BLOCKQUOTE
|
|
VERBATIM
|
|
HTMLBLOCK
|
|
HRULE
|
|
REFERENCE
|
|
NOTE
|
|
DEFINITIONLIST
|
|
DEFTITLE
|
|
DEFDATA
|
|
numVAL
|
|
)
|
|
|
|
type Doc struct {
|
|
parser *yyParser
|
|
extension Extensions
|
|
|
|
tree *element /* Results of parse. */
|
|
references *element /* List of link references found. */
|
|
notes *element /* List of footnotes found. */
|
|
}
|
|
|
|
|
|
const (
|
|
ruleDoc = iota
|
|
ruleBlock
|
|
rulePara
|
|
rulePlain
|
|
ruleAtxInline
|
|
ruleAtxStart
|
|
ruleAtxHeading
|
|
ruleSetextHeading
|
|
ruleSetextBottom1
|
|
ruleSetextBottom2
|
|
ruleSetextHeading1
|
|
ruleSetextHeading2
|
|
ruleHeading
|
|
ruleBlockQuote
|
|
ruleBlockQuoteRaw
|
|
ruleNonblankIndentedLine
|
|
ruleVerbatimChunk
|
|
ruleVerbatim
|
|
ruleHorizontalRule
|
|
ruleBullet
|
|
ruleBulletList
|
|
ruleListTight
|
|
ruleListLoose
|
|
ruleListItem
|
|
ruleListBlock
|
|
ruleListContinuationBlock
|
|
ruleEnumerator
|
|
ruleOrderedList
|
|
ruleListBlockLine
|
|
ruleHtmlBlockOpenAddress
|
|
ruleHtmlBlockCloseAddress
|
|
ruleHtmlBlockOpenBlockquote
|
|
ruleHtmlBlockCloseBlockquote
|
|
ruleHtmlBlockOpenCenter
|
|
ruleHtmlBlockCloseCenter
|
|
ruleHtmlBlockOpenDir
|
|
ruleHtmlBlockCloseDir
|
|
ruleHtmlBlockOpenDiv
|
|
ruleHtmlBlockCloseDiv
|
|
ruleHtmlBlockOpenDl
|
|
ruleHtmlBlockCloseDl
|
|
ruleHtmlBlockOpenFieldset
|
|
ruleHtmlBlockCloseFieldset
|
|
ruleHtmlBlockOpenForm
|
|
ruleHtmlBlockCloseForm
|
|
ruleHtmlBlockOpenH1
|
|
ruleHtmlBlockCloseH1
|
|
ruleHtmlBlockOpenH2
|
|
ruleHtmlBlockCloseH2
|
|
ruleHtmlBlockOpenH3
|
|
ruleHtmlBlockCloseH3
|
|
ruleHtmlBlockOpenH4
|
|
ruleHtmlBlockCloseH4
|
|
ruleHtmlBlockOpenH5
|
|
ruleHtmlBlockCloseH5
|
|
ruleHtmlBlockOpenH6
|
|
ruleHtmlBlockCloseH6
|
|
ruleHtmlBlockOpenMenu
|
|
ruleHtmlBlockCloseMenu
|
|
ruleHtmlBlockOpenNoframes
|
|
ruleHtmlBlockCloseNoframes
|
|
ruleHtmlBlockOpenNoscript
|
|
ruleHtmlBlockCloseNoscript
|
|
ruleHtmlBlockOpenOl
|
|
ruleHtmlBlockCloseOl
|
|
ruleHtmlBlockOpenP
|
|
ruleHtmlBlockCloseP
|
|
ruleHtmlBlockOpenPre
|
|
ruleHtmlBlockClosePre
|
|
ruleHtmlBlockOpenTable
|
|
ruleHtmlBlockCloseTable
|
|
ruleHtmlBlockOpenUl
|
|
ruleHtmlBlockCloseUl
|
|
ruleHtmlBlockOpenDd
|
|
ruleHtmlBlockCloseDd
|
|
ruleHtmlBlockOpenDt
|
|
ruleHtmlBlockCloseDt
|
|
ruleHtmlBlockOpenFrameset
|
|
ruleHtmlBlockCloseFrameset
|
|
ruleHtmlBlockOpenLi
|
|
ruleHtmlBlockCloseLi
|
|
ruleHtmlBlockOpenTbody
|
|
ruleHtmlBlockCloseTbody
|
|
ruleHtmlBlockOpenTd
|
|
ruleHtmlBlockCloseTd
|
|
ruleHtmlBlockOpenTfoot
|
|
ruleHtmlBlockCloseTfoot
|
|
ruleHtmlBlockOpenTh
|
|
ruleHtmlBlockCloseTh
|
|
ruleHtmlBlockOpenThead
|
|
ruleHtmlBlockCloseThead
|
|
ruleHtmlBlockOpenTr
|
|
ruleHtmlBlockCloseTr
|
|
ruleHtmlBlockOpenScript
|
|
ruleHtmlBlockCloseScript
|
|
ruleHtmlBlockInTags
|
|
ruleHtmlBlock
|
|
ruleHtmlBlockSelfClosing
|
|
ruleHtmlBlockType
|
|
ruleStyleOpen
|
|
ruleStyleClose
|
|
ruleInStyleTags
|
|
ruleStyleBlock
|
|
ruleInlines
|
|
ruleInline
|
|
ruleSpace
|
|
ruleStr
|
|
ruleEscapedChar
|
|
ruleEntity
|
|
ruleEndline
|
|
ruleNormalEndline
|
|
ruleTerminalEndline
|
|
ruleLineBreak
|
|
ruleSymbol
|
|
ruleUlOrStarLine
|
|
ruleStarLine
|
|
ruleUlLine
|
|
ruleEmph
|
|
ruleOneStarOpen
|
|
ruleOneStarClose
|
|
ruleEmphStar
|
|
ruleOneUlOpen
|
|
ruleOneUlClose
|
|
ruleEmphUl
|
|
ruleStrong
|
|
ruleTwoStarOpen
|
|
ruleTwoStarClose
|
|
ruleStrongStar
|
|
ruleTwoUlOpen
|
|
ruleTwoUlClose
|
|
ruleStrongUl
|
|
ruleImage
|
|
ruleLink
|
|
ruleReferenceLink
|
|
ruleReferenceLinkDouble
|
|
ruleReferenceLinkSingle
|
|
ruleExplicitLink
|
|
ruleSource
|
|
ruleSourceContents
|
|
ruleTitle
|
|
ruleTitleSingle
|
|
ruleTitleDouble
|
|
ruleAutoLink
|
|
ruleAutoLinkUrl
|
|
ruleAutoLinkEmail
|
|
ruleReference
|
|
ruleLabel
|
|
ruleRefSrc
|
|
ruleRefTitle
|
|
ruleEmptyTitle
|
|
ruleRefTitleSingle
|
|
ruleRefTitleDouble
|
|
ruleRefTitleParens
|
|
ruleReferences
|
|
ruleTicks1
|
|
ruleTicks2
|
|
ruleTicks3
|
|
ruleTicks4
|
|
ruleTicks5
|
|
ruleCode
|
|
ruleRawHtml
|
|
ruleBlankLine
|
|
ruleQuoted
|
|
ruleHtmlAttribute
|
|
ruleHtmlComment
|
|
ruleHtmlTag
|
|
ruleEof
|
|
ruleSpacechar
|
|
ruleNonspacechar
|
|
ruleNewline
|
|
ruleSp
|
|
ruleSpnl
|
|
ruleSpecialChar
|
|
ruleNormalChar
|
|
ruleAlphanumeric
|
|
ruleDigit
|
|
ruleHexEntity
|
|
ruleDecEntity
|
|
ruleCharEntity
|
|
ruleNonindentSpace
|
|
ruleIndent
|
|
ruleIndentedLine
|
|
ruleOptionallyIndentedLine
|
|
ruleStartList
|
|
ruleLine
|
|
ruleRawLine
|
|
ruleSkipBlock
|
|
ruleExtendedSpecialChar
|
|
ruleSmart
|
|
ruleApostrophe
|
|
ruleEllipsis
|
|
ruleDash
|
|
ruleEnDash
|
|
ruleEmDash
|
|
ruleSingleQuoteStart
|
|
ruleSingleQuoteEnd
|
|
ruleSingleQuoted
|
|
ruleDoubleQuoteStart
|
|
ruleDoubleQuoteEnd
|
|
ruleDoubleQuoted
|
|
ruleNoteReference
|
|
ruleRawNoteReference
|
|
ruleNote
|
|
ruleInlineNote
|
|
ruleNotes
|
|
ruleRawNoteBlock
|
|
ruleDefinitionList
|
|
ruleDefinition
|
|
ruleDListTitle
|
|
ruleDefTight
|
|
ruleDefLoose
|
|
ruleDefmark
|
|
ruleDefMarker
|
|
)
|
|
|
|
type yyParser struct {*Doc
|
|
Buffer string
|
|
Min, Max int
|
|
rules [213]func() bool
|
|
ResetBuffer func(string) string
|
|
}
|
|
|
|
func (p *yyParser) Parse(ruleId int) bool {
|
|
if p.rules[ruleId]() {
|
|
return true
|
|
}
|
|
return false
|
|
}
|
|
func (p *yyParser) PrintError() {
|
|
line := 1
|
|
character := 0
|
|
for i, c := range p.Buffer[0:] {
|
|
if c == '\n' {
|
|
line++
|
|
character = 0
|
|
} else {
|
|
character++
|
|
}
|
|
if i == p.Min {
|
|
if p.Min != p.Max {
|
|
fmt.Printf("parse error after line %v character %v\n", line, character)
|
|
} else {
|
|
break
|
|
}
|
|
} else if i == p.Max {
|
|
break
|
|
}
|
|
}
|
|
fmt.Printf("parse error: unexpected ")
|
|
if p.Max >= len(p.Buffer) {
|
|
fmt.Printf("end of file found\n")
|
|
} else {
|
|
fmt.Printf("'%c' at line %v character %v\n", p.Buffer[p.Max], line, character)
|
|
}
|
|
}
|
|
func (p *yyParser) Init() {
|
|
var position int
|
|
var yyp int
|
|
var yy *element
|
|
var yyval = make([]*element, 200)
|
|
|
|
actions := [...]func(string, int){
|
|
/* 0 Doc */
|
|
func(yytext string, _ int) {
|
|
a := yyval[yyp-1]
|
|
a = cons(yy, a)
|
|
yyval[yyp-1] = a
|
|
},
|
|
/* 1 Doc */
|
|
func(yytext string, _ int) {
|
|
a := yyval[yyp-1]
|
|
p.tree = reverse(a)
|
|
yyval[yyp-1] = a
|
|
},
|
|
/* 2 Para */
|
|
func(yytext string, _ int) {
|
|
a := yyval[yyp-1]
|
|
yy = a; yy.key = PARA
|
|
yyval[yyp-1] = a
|
|
},
|
|
/* 3 Plain */
|
|
func(yytext string, _ int) {
|
|
a := yyval[yyp-1]
|
|
yy = a; yy.key = PLAIN
|
|
yyval[yyp-1] = a
|
|
},
|
|
/* 4 AtxStart */
|
|
func(yytext string, _ int) {
|
|
yy = mk_element(H1 + (len(yytext) - 1))
|
|
},
|
|
/* 5 AtxHeading */
|
|
func(yytext string, _ int) {
|
|
s := yyval[yyp-1]
|
|
a := yyval[yyp-2]
|
|
a = cons(yy, a)
|
|
yyval[yyp-1] = s
|
|
yyval[yyp-2] = a
|
|
},
|
|
/* 6 AtxHeading */
|
|
func(yytext string, _ int) {
|
|
s := yyval[yyp-1]
|
|
a := yyval[yyp-2]
|
|
yy = mk_list(s.key, a)
|
|
s = nil
|
|
yyval[yyp-1] = s
|
|
yyval[yyp-2] = a
|
|
},
|
|
/* 7 SetextHeading1 */
|
|
func(yytext string, _ int) {
|
|
a := yyval[yyp-1]
|
|
a = cons(yy, a)
|
|
yyval[yyp-1] = a
|
|
},
|
|
/* 8 SetextHeading1 */
|
|
func(yytext string, _ int) {
|
|
a := yyval[yyp-1]
|
|
yy = mk_list(H1, a)
|
|
yyval[yyp-1] = a
|
|
},
|
|
/* 9 SetextHeading2 */
|
|
func(yytext string, _ int) {
|
|
a := yyval[yyp-1]
|
|
a = cons(yy, a)
|
|
yyval[yyp-1] = a
|
|
},
|
|
/* 10 SetextHeading2 */
|
|
func(yytext string, _ int) {
|
|
a := yyval[yyp-1]
|
|
yy = mk_list(H2, a)
|
|
yyval[yyp-1] = a
|
|
},
|
|
/* 11 BlockQuote */
|
|
func(yytext string, _ int) {
|
|
a := yyval[yyp-1]
|
|
yy = mk_element(BLOCKQUOTE)
|
|
yy.children = a
|
|
|
|
yyval[yyp-1] = a
|
|
},
|
|
/* 12 BlockQuoteRaw */
|
|
func(yytext string, _ int) {
|
|
a := yyval[yyp-1]
|
|
a = cons(yy, a)
|
|
yyval[yyp-1] = a
|
|
},
|
|
/* 13 BlockQuoteRaw */
|
|
func(yytext string, _ int) {
|
|
a := yyval[yyp-1]
|
|
a = cons(yy, a)
|
|
yyval[yyp-1] = a
|
|
},
|
|
/* 14 BlockQuoteRaw */
|
|
func(yytext string, _ int) {
|
|
a := yyval[yyp-1]
|
|
a = cons(mk_str("\n"), a)
|
|
yyval[yyp-1] = a
|
|
},
|
|
/* 15 BlockQuoteRaw */
|
|
func(yytext string, _ int) {
|
|
a := yyval[yyp-1]
|
|
yy = mk_str_from_list(a, true)
|
|
yy.key = RAW
|
|
|
|
yyval[yyp-1] = a
|
|
},
|
|
/* 16 VerbatimChunk */
|
|
func(yytext string, _ int) {
|
|
a := yyval[yyp-1]
|
|
a = cons(mk_str("\n"), a)
|
|
yyval[yyp-1] = a
|
|
},
|
|
/* 17 VerbatimChunk */
|
|
func(yytext string, _ int) {
|
|
a := yyval[yyp-1]
|
|
a = cons(yy, a)
|
|
yyval[yyp-1] = a
|
|
},
|
|
/* 18 VerbatimChunk */
|
|
func(yytext string, _ int) {
|
|
a := yyval[yyp-1]
|
|
yy = mk_str_from_list(a, false)
|
|
yyval[yyp-1] = a
|
|
},
|
|
/* 19 Verbatim */
|
|
func(yytext string, _ int) {
|
|
a := yyval[yyp-1]
|
|
a = cons(yy, a)
|
|
yyval[yyp-1] = a
|
|
},
|
|
/* 20 Verbatim */
|
|
func(yytext string, _ int) {
|
|
a := yyval[yyp-1]
|
|
yy = mk_str_from_list(a, false)
|
|
yy.key = VERBATIM
|
|
yyval[yyp-1] = a
|
|
},
|
|
/* 21 HorizontalRule */
|
|
func(yytext string, _ int) {
|
|
yy = mk_element(HRULE)
|
|
},
|
|
/* 22 BulletList */
|
|
func(yytext string, _ int) {
|
|
yy.key = BULLETLIST
|
|
},
|
|
/* 23 ListTight */
|
|
func(yytext string, _ int) {
|
|
a := yyval[yyp-1]
|
|
a = cons(yy, a)
|
|
yyval[yyp-1] = a
|
|
},
|
|
/* 24 ListTight */
|
|
func(yytext string, _ int) {
|
|
a := yyval[yyp-1]
|
|
yy = mk_list(LIST, a)
|
|
yyval[yyp-1] = a
|
|
},
|
|
/* 25 ListLoose */
|
|
func(yytext string, _ int) {
|
|
a := yyval[yyp-1]
|
|
b := yyval[yyp-2]
|
|
|
|
li := b.children
|
|
li.contents.str += "\n\n"
|
|
a = cons(b, a)
|
|
|
|
yyval[yyp-1] = a
|
|
yyval[yyp-2] = b
|
|
},
|
|
/* 26 ListLoose */
|
|
func(yytext string, _ int) {
|
|
a := yyval[yyp-1]
|
|
b := yyval[yyp-2]
|
|
yy = mk_list(LIST, a)
|
|
yyval[yyp-1] = a
|
|
yyval[yyp-2] = b
|
|
},
|
|
/* 27 ListItem */
|
|
func(yytext string, _ int) {
|
|
a := yyval[yyp-1]
|
|
a = cons(yy, a)
|
|
yyval[yyp-1] = a
|
|
},
|
|
/* 28 ListItem */
|
|
func(yytext string, _ int) {
|
|
a := yyval[yyp-1]
|
|
a = cons(yy, a)
|
|
yyval[yyp-1] = a
|
|
},
|
|
/* 29 ListItem */
|
|
func(yytext string, _ int) {
|
|
a := yyval[yyp-1]
|
|
|
|
raw := mk_str_from_list(a, false)
|
|
raw.key = RAW
|
|
yy = mk_element(LISTITEM)
|
|
yy.children = raw
|
|
|
|
yyval[yyp-1] = a
|
|
},
|
|
/* 30 ListBlock */
|
|
func(yytext string, _ int) {
|
|
a := yyval[yyp-1]
|
|
a = cons(yy, a)
|
|
yyval[yyp-1] = a
|
|
},
|
|
/* 31 ListBlock */
|
|
func(yytext string, _ int) {
|
|
a := yyval[yyp-1]
|
|
a = cons(yy, a)
|
|
yyval[yyp-1] = a
|
|
},
|
|
/* 32 ListBlock */
|
|
func(yytext string, _ int) {
|
|
a := yyval[yyp-1]
|
|
yy = mk_str_from_list(a, false)
|
|
yyval[yyp-1] = a
|
|
},
|
|
/* 33 ListContinuationBlock */
|
|
func(yytext string, _ int) {
|
|
a := yyval[yyp-1]
|
|
if len(yytext) == 0 {
|
|
a = cons(mk_str("\001"), a) // block separator
|
|
} else {
|
|
a = cons(mk_str(yytext), a)
|
|
}
|
|
|
|
yyval[yyp-1] = a
|
|
},
|
|
/* 34 ListContinuationBlock */
|
|
func(yytext string, _ int) {
|
|
a := yyval[yyp-1]
|
|
a = cons(yy, a)
|
|
yyval[yyp-1] = a
|
|
},
|
|
/* 35 ListContinuationBlock */
|
|
func(yytext string, _ int) {
|
|
a := yyval[yyp-1]
|
|
yy = mk_str_from_list(a, false)
|
|
yyval[yyp-1] = a
|
|
},
|
|
/* 36 OrderedList */
|
|
func(yytext string, _ int) {
|
|
yy.key = ORDEREDLIST
|
|
},
|
|
/* 37 HtmlBlock */
|
|
func(yytext string, _ int) {
|
|
if p.extension.FilterHTML {
|
|
yy = mk_list(LIST, nil)
|
|
} else {
|
|
yy = mk_str(yytext)
|
|
yy.key = HTMLBLOCK
|
|
}
|
|
|
|
},
|
|
/* 38 StyleBlock */
|
|
func(yytext string, _ int) {
|
|
if p.extension.FilterStyles {
|
|
yy = mk_list(LIST, nil)
|
|
} else {
|
|
yy = mk_str(yytext)
|
|
yy.key = HTMLBLOCK
|
|
}
|
|
|
|
},
|
|
/* 39 Inlines */
|
|
func(yytext string, _ int) {
|
|
c := yyval[yyp-1]
|
|
a := yyval[yyp-2]
|
|
a = cons(yy, a)
|
|
yyval[yyp-1] = c
|
|
yyval[yyp-2] = a
|
|
},
|
|
/* 40 Inlines */
|
|
func(yytext string, _ int) {
|
|
c := yyval[yyp-1]
|
|
a := yyval[yyp-2]
|
|
a = cons(c, a)
|
|
yyval[yyp-1] = c
|
|
yyval[yyp-2] = a
|
|
},
|
|
/* 41 Inlines */
|
|
func(yytext string, _ int) {
|
|
c := yyval[yyp-1]
|
|
a := yyval[yyp-2]
|
|
yy = mk_list(LIST, a)
|
|
yyval[yyp-1] = c
|
|
yyval[yyp-2] = a
|
|
},
|
|
/* 42 Space */
|
|
func(yytext string, _ int) {
|
|
yy = mk_str(" ")
|
|
yy.key = SPACE
|
|
},
|
|
/* 43 Str */
|
|
func(yytext string, _ int) {
|
|
yy = mk_str(yytext)
|
|
},
|
|
/* 44 EscapedChar */
|
|
func(yytext string, _ int) {
|
|
yy = mk_str(yytext)
|
|
},
|
|
/* 45 Entity */
|
|
func(yytext string, _ int) {
|
|
yy = mk_str(yytext); yy.key = HTML
|
|
},
|
|
/* 46 NormalEndline */
|
|
func(yytext string, _ int) {
|
|
yy = mk_str("\n")
|
|
yy.key = SPACE
|
|
},
|
|
/* 47 TerminalEndline */
|
|
func(yytext string, _ int) {
|
|
yy = nil
|
|
},
|
|
/* 48 LineBreak */
|
|
func(yytext string, _ int) {
|
|
yy = mk_element(LINEBREAK)
|
|
},
|
|
/* 49 Symbol */
|
|
func(yytext string, _ int) {
|
|
yy = mk_str(yytext)
|
|
},
|
|
/* 50 UlOrStarLine */
|
|
func(yytext string, _ int) {
|
|
yy = mk_str(yytext)
|
|
},
|
|
/* 51 OneStarClose */
|
|
func(yytext string, _ int) {
|
|
a := yyval[yyp-1]
|
|
yy = a
|
|
yyval[yyp-1] = a
|
|
},
|
|
/* 52 EmphStar */
|
|
func(yytext string, _ int) {
|
|
a := yyval[yyp-1]
|
|
a = cons(yy, a)
|
|
yyval[yyp-1] = a
|
|
},
|
|
/* 53 EmphStar */
|
|
func(yytext string, _ int) {
|
|
a := yyval[yyp-1]
|
|
a = cons(yy, a)
|
|
yyval[yyp-1] = a
|
|
},
|
|
/* 54 EmphStar */
|
|
func(yytext string, _ int) {
|
|
a := yyval[yyp-1]
|
|
yy = mk_list(EMPH, a)
|
|
yyval[yyp-1] = a
|
|
},
|
|
/* 55 OneUlClose */
|
|
func(yytext string, _ int) {
|
|
a := yyval[yyp-1]
|
|
yy = a
|
|
yyval[yyp-1] = a
|
|
},
|
|
/* 56 EmphUl */
|
|
func(yytext string, _ int) {
|
|
a := yyval[yyp-1]
|
|
a = cons(yy, a)
|
|
yyval[yyp-1] = a
|
|
},
|
|
/* 57 EmphUl */
|
|
func(yytext string, _ int) {
|
|
a := yyval[yyp-1]
|
|
a = cons(yy, a)
|
|
yyval[yyp-1] = a
|
|
},
|
|
/* 58 EmphUl */
|
|
func(yytext string, _ int) {
|
|
a := yyval[yyp-1]
|
|
yy = mk_list(EMPH, a)
|
|
yyval[yyp-1] = a
|
|
},
|
|
/* 59 TwoStarClose */
|
|
func(yytext string, _ int) {
|
|
a := yyval[yyp-1]
|
|
yy = a
|
|
yyval[yyp-1] = a
|
|
},
|
|
/* 60 StrongStar */
|
|
func(yytext string, _ int) {
|
|
a := yyval[yyp-1]
|
|
a = cons(yy, a)
|
|
yyval[yyp-1] = a
|
|
},
|
|
/* 61 StrongStar */
|
|
func(yytext string, _ int) {
|
|
a := yyval[yyp-1]
|
|
a = cons(yy, a)
|
|
yyval[yyp-1] = a
|
|
},
|
|
/* 62 StrongStar */
|
|
func(yytext string, _ int) {
|
|
a := yyval[yyp-1]
|
|
yy = mk_list(STRONG, a)
|
|
yyval[yyp-1] = a
|
|
},
|
|
/* 63 TwoUlClose */
|
|
func(yytext string, _ int) {
|
|
a := yyval[yyp-1]
|
|
yy = a
|
|
yyval[yyp-1] = a
|
|
},
|
|
/* 64 StrongUl */
|
|
func(yytext string, _ int) {
|
|
a := yyval[yyp-1]
|
|
a = cons(yy, a)
|
|
yyval[yyp-1] = a
|
|
},
|
|
/* 65 StrongUl */
|
|
func(yytext string, _ int) {
|
|
a := yyval[yyp-1]
|
|
a = cons(yy, a)
|
|
yyval[yyp-1] = a
|
|
},
|
|
/* 66 StrongUl */
|
|
func(yytext string, _ int) {
|
|
a := yyval[yyp-1]
|
|
yy = mk_list(STRONG, a)
|
|
yyval[yyp-1] = a
|
|
},
|
|
/* 67 Image */
|
|
func(yytext string, _ int) {
|
|
yy.key = IMAGE
|
|
},
|
|
/* 68 ReferenceLinkDouble */
|
|
func(yytext string, _ int) {
|
|
a := yyval[yyp-1]
|
|
b := yyval[yyp-2]
|
|
|
|
if match, found := p.findReference(b.children); found {
|
|
yy = mk_link(a.children, match.url, match.title);
|
|
a = nil
|
|
b = nil
|
|
} else {
|
|
result := mk_element(LIST)
|
|
result.children = cons(mk_str("["), cons(a, cons(mk_str("]"), cons(mk_str(yytext),
|
|
cons(mk_str("["), cons(b, mk_str("]")))))))
|
|
yy = result
|
|
}
|
|
|
|
yyval[yyp-1] = a
|
|
yyval[yyp-2] = b
|
|
},
|
|
/* 69 ReferenceLinkSingle */
|
|
func(yytext string, _ int) {
|
|
a := yyval[yyp-1]
|
|
|
|
if match, found := p.findReference(a.children); found {
|
|
yy = mk_link(a.children, match.url, match.title)
|
|
a = nil
|
|
} else {
|
|
result := mk_element(LIST)
|
|
result.children = cons(mk_str("["), cons(a, cons(mk_str("]"), mk_str(yytext))));
|
|
yy = result
|
|
}
|
|
|
|
yyval[yyp-1] = a
|
|
},
|
|
/* 70 ExplicitLink */
|
|
func(yytext string, _ int) {
|
|
s := yyval[yyp-1]
|
|
l := yyval[yyp-2]
|
|
t := yyval[yyp-3]
|
|
yy = mk_link(l.children, s.contents.str, t.contents.str)
|
|
s = nil
|
|
t = nil
|
|
l = nil
|
|
yyval[yyp-1] = s
|
|
yyval[yyp-2] = l
|
|
yyval[yyp-3] = t
|
|
},
|
|
/* 71 Source */
|
|
func(yytext string, _ int) {
|
|
yy = mk_str(yytext)
|
|
},
|
|
/* 72 Title */
|
|
func(yytext string, _ int) {
|
|
yy = mk_str(yytext)
|
|
},
|
|
/* 73 AutoLinkUrl */
|
|
func(yytext string, _ int) {
|
|
yy = mk_link(mk_str(yytext), yytext, "")
|
|
},
|
|
/* 74 AutoLinkEmail */
|
|
func(yytext string, _ int) {
|
|
|
|
yy = mk_link(mk_str(yytext), "mailto:"+yytext, "")
|
|
|
|
},
|
|
/* 75 Reference */
|
|
func(yytext string, _ int) {
|
|
s := yyval[yyp-1]
|
|
l := yyval[yyp-2]
|
|
t := yyval[yyp-3]
|
|
yy = mk_link(l.children, s.contents.str, t.contents.str)
|
|
s = nil
|
|
t = nil
|
|
l = nil
|
|
yy.key = REFERENCE
|
|
yyval[yyp-1] = s
|
|
yyval[yyp-2] = l
|
|
yyval[yyp-3] = t
|
|
},
|
|
/* 76 Label */
|
|
func(yytext string, _ int) {
|
|
a := yyval[yyp-1]
|
|
a = cons(yy, a)
|
|
yyval[yyp-1] = a
|
|
},
|
|
/* 77 Label */
|
|
func(yytext string, _ int) {
|
|
a := yyval[yyp-1]
|
|
yy = mk_list(LIST, a)
|
|
yyval[yyp-1] = a
|
|
},
|
|
/* 78 RefSrc */
|
|
func(yytext string, _ int) {
|
|
yy = mk_str(yytext)
|
|
yy.key = HTML
|
|
},
|
|
/* 79 RefTitle */
|
|
func(yytext string, _ int) {
|
|
yy = mk_str(yytext)
|
|
},
|
|
/* 80 References */
|
|
func(yytext string, _ int) {
|
|
a := yyval[yyp-1]
|
|
b := yyval[yyp-2]
|
|
a = cons(b, a)
|
|
yyval[yyp-1] = a
|
|
yyval[yyp-2] = b
|
|
},
|
|
/* 81 References */
|
|
func(yytext string, _ int) {
|
|
a := yyval[yyp-1]
|
|
b := yyval[yyp-2]
|
|
p.references = reverse(a)
|
|
yyval[yyp-1] = a
|
|
yyval[yyp-2] = b
|
|
},
|
|
/* 82 Code */
|
|
func(yytext string, _ int) {
|
|
yy = mk_str(yytext); yy.key = CODE
|
|
},
|
|
/* 83 RawHtml */
|
|
func(yytext string, _ int) {
|
|
if p.extension.FilterHTML {
|
|
yy = mk_list(LIST, nil)
|
|
} else {
|
|
yy = mk_str(yytext)
|
|
yy.key = HTML
|
|
}
|
|
|
|
},
|
|
/* 84 StartList */
|
|
func(yytext string, _ int) {
|
|
yy = nil
|
|
},
|
|
/* 85 Line */
|
|
func(yytext string, _ int) {
|
|
yy = mk_str(yytext)
|
|
},
|
|
/* 86 Apostrophe */
|
|
func(yytext string, _ int) {
|
|
yy = mk_element(APOSTROPHE)
|
|
},
|
|
/* 87 Ellipsis */
|
|
func(yytext string, _ int) {
|
|
yy = mk_element(ELLIPSIS)
|
|
},
|
|
/* 88 EnDash */
|
|
func(yytext string, _ int) {
|
|
yy = mk_element(ENDASH)
|
|
},
|
|
/* 89 EmDash */
|
|
func(yytext string, _ int) {
|
|
yy = mk_element(EMDASH)
|
|
},
|
|
/* 90 SingleQuoted */
|
|
func(yytext string, _ int) {
|
|
a := yyval[yyp-1]
|
|
b := yyval[yyp-2]
|
|
a = cons(b, a)
|
|
yyval[yyp-1] = a
|
|
yyval[yyp-2] = b
|
|
},
|
|
/* 91 SingleQuoted */
|
|
func(yytext string, _ int) {
|
|
a := yyval[yyp-1]
|
|
b := yyval[yyp-2]
|
|
yy = mk_list(SINGLEQUOTED, a)
|
|
yyval[yyp-1] = a
|
|
yyval[yyp-2] = b
|
|
},
|
|
/* 92 DoubleQuoted */
|
|
func(yytext string, _ int) {
|
|
a := yyval[yyp-1]
|
|
b := yyval[yyp-2]
|
|
a = cons(b, a)
|
|
yyval[yyp-1] = a
|
|
yyval[yyp-2] = b
|
|
},
|
|
/* 93 DoubleQuoted */
|
|
func(yytext string, _ int) {
|
|
a := yyval[yyp-1]
|
|
b := yyval[yyp-2]
|
|
yy = mk_list(DOUBLEQUOTED, a)
|
|
yyval[yyp-1] = a
|
|
yyval[yyp-2] = b
|
|
},
|
|
/* 94 NoteReference */
|
|
func(yytext string, _ int) {
|
|
ref := yyval[yyp-1]
|
|
|
|
if match, ok := p.find_note(ref.contents.str); ok {
|
|
yy = mk_element(NOTE)
|
|
yy.children = match.children
|
|
yy.contents.str = ""
|
|
} else {
|
|
yy = mk_str("[^"+ref.contents.str+"]")
|
|
}
|
|
|
|
yyval[yyp-1] = ref
|
|
},
|
|
/* 95 RawNoteReference */
|
|
func(yytext string, _ int) {
|
|
yy = mk_str(yytext)
|
|
},
|
|
/* 96 Note */
|
|
func(yytext string, _ int) {
|
|
ref := yyval[yyp-1]
|
|
a := yyval[yyp-2]
|
|
a = cons(yy, a)
|
|
yyval[yyp-1] = ref
|
|
yyval[yyp-2] = a
|
|
},
|
|
/* 97 Note */
|
|
func(yytext string, _ int) {
|
|
ref := yyval[yyp-1]
|
|
a := yyval[yyp-2]
|
|
a = cons(yy, a)
|
|
yyval[yyp-1] = ref
|
|
yyval[yyp-2] = a
|
|
},
|
|
/* 98 Note */
|
|
func(yytext string, _ int) {
|
|
ref := yyval[yyp-1]
|
|
a := yyval[yyp-2]
|
|
yy = mk_list(NOTE, a)
|
|
yy.contents.str = ref.contents.str
|
|
|
|
yyval[yyp-1] = ref
|
|
yyval[yyp-2] = a
|
|
},
|
|
/* 99 InlineNote */
|
|
func(yytext string, _ int) {
|
|
a := yyval[yyp-1]
|
|
a = cons(yy, a)
|
|
yyval[yyp-1] = a
|
|
},
|
|
/* 100 InlineNote */
|
|
func(yytext string, _ int) {
|
|
a := yyval[yyp-1]
|
|
yy = mk_list(NOTE, a)
|
|
yy.contents.str = ""
|
|
yyval[yyp-1] = a
|
|
},
|
|
/* 101 Notes */
|
|
func(yytext string, _ int) {
|
|
a := yyval[yyp-1]
|
|
b := yyval[yyp-2]
|
|
a = cons(b, a)
|
|
yyval[yyp-1] = a
|
|
yyval[yyp-2] = b
|
|
},
|
|
/* 102 Notes */
|
|
func(yytext string, _ int) {
|
|
a := yyval[yyp-1]
|
|
b := yyval[yyp-2]
|
|
p.notes = reverse(a)
|
|
yyval[yyp-1] = a
|
|
yyval[yyp-2] = b
|
|
},
|
|
/* 103 RawNoteBlock */
|
|
func(yytext string, _ int) {
|
|
a := yyval[yyp-1]
|
|
a = cons(yy, a)
|
|
yyval[yyp-1] = a
|
|
},
|
|
/* 104 RawNoteBlock */
|
|
func(yytext string, _ int) {
|
|
a := yyval[yyp-1]
|
|
a = cons(mk_str(yytext), a)
|
|
yyval[yyp-1] = a
|
|
},
|
|
/* 105 RawNoteBlock */
|
|
func(yytext string, _ int) {
|
|
a := yyval[yyp-1]
|
|
yy = mk_str_from_list(a, true)
|
|
yy.key = RAW
|
|
|
|
yyval[yyp-1] = a
|
|
},
|
|
/* 106 DefinitionList */
|
|
func(yytext string, _ int) {
|
|
a := yyval[yyp-1]
|
|
a = cons(yy, a)
|
|
yyval[yyp-1] = a
|
|
},
|
|
/* 107 DefinitionList */
|
|
func(yytext string, _ int) {
|
|
a := yyval[yyp-1]
|
|
yy = mk_list(DEFINITIONLIST, a)
|
|
yyval[yyp-1] = a
|
|
},
|
|
/* 108 Definition */
|
|
func(yytext string, _ int) {
|
|
a := yyval[yyp-1]
|
|
a = cons(yy, a)
|
|
yyval[yyp-1] = a
|
|
},
|
|
/* 109 Definition */
|
|
func(yytext string, _ int) {
|
|
a := yyval[yyp-1]
|
|
|
|
for e := yy.children; e != nil; e = e.next {
|
|
e.key = DEFDATA
|
|
}
|
|
a = cons(yy, a)
|
|
|
|
yyval[yyp-1] = a
|
|
},
|
|
/* 110 Definition */
|
|
func(yytext string, _ int) {
|
|
a := yyval[yyp-1]
|
|
yy = mk_list(LIST, a)
|
|
yyval[yyp-1] = a
|
|
},
|
|
/* 111 DListTitle */
|
|
func(yytext string, _ int) {
|
|
a := yyval[yyp-1]
|
|
a = cons(yy, a)
|
|
yyval[yyp-1] = a
|
|
},
|
|
/* 112 DListTitle */
|
|
func(yytext string, _ int) {
|
|
a := yyval[yyp-1]
|
|
yy = mk_list(LIST, a)
|
|
yy.key = DEFTITLE
|
|
|
|
yyval[yyp-1] = a
|
|
},
|
|
/* 113 yyPush */
|
|
func(_ string, count int) {
|
|
yyp += count
|
|
if yyp >= len(yyval) {
|
|
s := make([]*element, cap(yyval)+200)
|
|
copy(s, yyval)
|
|
yyval = s
|
|
}
|
|
},
|
|
/* 114 yyPop */
|
|
func(_ string, count int) {
|
|
yyp -= count
|
|
},
|
|
/* 115 yySet */
|
|
func(_ string, count int) {
|
|
yyval[yyp+count] = yy
|
|
},
|
|
}
|
|
const (
|
|
yyPush = 113+iota
|
|
yyPop
|
|
yySet
|
|
)
|
|
|
|
var thunkPosition, begin, end int
|
|
thunks := make([]struct {action uint8; begin, end int}, 32)
|
|
doarg := func(action uint8, arg int) {
|
|
if thunkPosition == len(thunks) {
|
|
newThunks := make([]struct {action uint8; begin, end int}, 2 * len(thunks))
|
|
copy(newThunks, thunks)
|
|
thunks = newThunks
|
|
}
|
|
thunks[thunkPosition].action = action
|
|
if arg != 0 {
|
|
thunks[thunkPosition].begin = arg // use begin to store an argument
|
|
} else {
|
|
thunks[thunkPosition].begin = begin
|
|
}
|
|
thunks[thunkPosition].end = end
|
|
thunkPosition++
|
|
}
|
|
do := func(action uint8) {
|
|
doarg(action, 0)
|
|
}
|
|
p.ResetBuffer = func(s string) (old string) {
|
|
if p.Max < len(p.Buffer) {
|
|
old = p.Buffer[p.Max:]
|
|
}
|
|
p.Buffer = s
|
|
thunkPosition = 0
|
|
position = 0
|
|
p.Min = 0
|
|
p.Max = 0
|
|
return
|
|
}
|
|
|
|
commit := func(thunkPosition0 int) bool {
|
|
if thunkPosition0 == 0 {
|
|
for i := 0; i < thunkPosition; i++ {
|
|
b := thunks[i].begin
|
|
e := thunks[i].end
|
|
s := ""
|
|
if b>=0 && e<=len(p.Buffer) && b<=e {
|
|
s = p.Buffer[b:e]
|
|
}
|
|
magic := b
|
|
actions[thunks[i].action](s, magic)
|
|
}
|
|
p.Min = position
|
|
thunkPosition = 0
|
|
return true
|
|
}
|
|
return false
|
|
}
|
|
matchDot := func() bool {
|
|
if position < len(p.Buffer) {
|
|
position++
|
|
return true
|
|
} else if position >= p.Max {
|
|
p.Max = position
|
|
}
|
|
return false
|
|
}
|
|
peekDot := func() bool {
|
|
return position < len(p.Buffer)
|
|
}
|
|
matchChar := func(c byte) bool {
|
|
if (position < len(p.Buffer)) && (p.Buffer[position] == c) {
|
|
position++
|
|
return true
|
|
} else if position >= p.Max {
|
|
p.Max = position
|
|
}
|
|
return false
|
|
}
|
|
peekChar := func(c byte) bool {
|
|
return position < len(p.Buffer) && p.Buffer[position] == c
|
|
}
|
|
matchString := func(s string) bool {
|
|
length := len(s)
|
|
next := position + length
|
|
if (next <= len(p.Buffer)) && (p.Buffer[position:next] == s) {
|
|
position = next
|
|
return true
|
|
} else if position >= p.Max {
|
|
p.Max = position
|
|
}
|
|
return false
|
|
}
|
|
classes := [...][32]uint8{
|
|
{0, 0, 0, 0, 0, 0, 255, 3, 126, 0, 0, 0, 126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
|
|
{0, 0, 0, 0, 10, 111, 0, 80, 0, 0, 0, 184, 1, 0, 0, 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
|
|
{0, 0, 0, 0, 0, 0, 0, 0, 254, 255, 255, 7, 254, 255, 255, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
|
|
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
|
|
{0, 6, 0, 0, 3, 82, 0, 252, 0, 0, 0, 32, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
|
|
{0, 0, 0, 0, 0, 0, 255, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
|
|
{0, 0, 0, 0, 0, 0, 255, 3, 254, 255, 255, 7, 254, 255, 255, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
|
|
{0, 0, 0, 0, 0, 40, 255, 3, 254, 255, 255, 135, 254, 255, 255, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
|
|
}
|
|
matchClass := func(class uint) bool {
|
|
if (position < len(p.Buffer)) &&
|
|
((classes[class][p.Buffer[position]>>3] & (1 << (p.Buffer[position] & 7))) != 0) {
|
|
position++
|
|
return true
|
|
} else if position >= p.Max {
|
|
p.Max = position
|
|
}
|
|
return false
|
|
}
|
|
p.rules = [...]func() bool{
|
|
/* 0 Doc <- (StartList (Block { a = cons(yy, a) })* { p.tree = reverse(a) } commit) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
doarg(yyPush, 1)
|
|
if !p.rules[ruleStartList]() {
|
|
goto l0
|
|
}
|
|
doarg(yySet, -1)
|
|
l1:
|
|
{
|
|
position2, thunkPosition2 := position, thunkPosition
|
|
if !p.rules[ruleBlock]() {
|
|
goto l2
|
|
}
|
|
do(0)
|
|
goto l1
|
|
l2:
|
|
position, thunkPosition = position2, thunkPosition2
|
|
}
|
|
do(1)
|
|
if !(commit(thunkPosition0)) {
|
|
goto l0
|
|
}
|
|
doarg(yyPop, 1)
|
|
return true
|
|
l0:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 1 Block <- (BlankLine* (BlockQuote / Verbatim / Note / Reference / HorizontalRule / Heading / DefinitionList / OrderedList / BulletList / HtmlBlock / StyleBlock / Para / Plain)) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
l4:
|
|
{
|
|
position5, thunkPosition5 := position, thunkPosition
|
|
if !p.rules[ruleBlankLine]() {
|
|
goto l5
|
|
}
|
|
goto l4
|
|
l5:
|
|
position, thunkPosition = position5, thunkPosition5
|
|
}
|
|
{
|
|
position6, thunkPosition6 := position, thunkPosition
|
|
if !p.rules[ruleBlockQuote]() {
|
|
goto l7
|
|
}
|
|
goto l6
|
|
l7:
|
|
position, thunkPosition = position6, thunkPosition6
|
|
if !p.rules[ruleVerbatim]() {
|
|
goto l8
|
|
}
|
|
goto l6
|
|
l8:
|
|
position, thunkPosition = position6, thunkPosition6
|
|
if !p.rules[ruleNote]() {
|
|
goto l9
|
|
}
|
|
goto l6
|
|
l9:
|
|
position, thunkPosition = position6, thunkPosition6
|
|
if !p.rules[ruleReference]() {
|
|
goto l10
|
|
}
|
|
goto l6
|
|
l10:
|
|
position, thunkPosition = position6, thunkPosition6
|
|
if !p.rules[ruleHorizontalRule]() {
|
|
goto l11
|
|
}
|
|
goto l6
|
|
l11:
|
|
position, thunkPosition = position6, thunkPosition6
|
|
if !p.rules[ruleHeading]() {
|
|
goto l12
|
|
}
|
|
goto l6
|
|
l12:
|
|
position, thunkPosition = position6, thunkPosition6
|
|
if !p.rules[ruleDefinitionList]() {
|
|
goto l13
|
|
}
|
|
goto l6
|
|
l13:
|
|
position, thunkPosition = position6, thunkPosition6
|
|
if !p.rules[ruleOrderedList]() {
|
|
goto l14
|
|
}
|
|
goto l6
|
|
l14:
|
|
position, thunkPosition = position6, thunkPosition6
|
|
if !p.rules[ruleBulletList]() {
|
|
goto l15
|
|
}
|
|
goto l6
|
|
l15:
|
|
position, thunkPosition = position6, thunkPosition6
|
|
if !p.rules[ruleHtmlBlock]() {
|
|
goto l16
|
|
}
|
|
goto l6
|
|
l16:
|
|
position, thunkPosition = position6, thunkPosition6
|
|
if !p.rules[ruleStyleBlock]() {
|
|
goto l17
|
|
}
|
|
goto l6
|
|
l17:
|
|
position, thunkPosition = position6, thunkPosition6
|
|
if !p.rules[rulePara]() {
|
|
goto l18
|
|
}
|
|
goto l6
|
|
l18:
|
|
position, thunkPosition = position6, thunkPosition6
|
|
if !p.rules[rulePlain]() {
|
|
goto l3
|
|
}
|
|
}
|
|
l6:
|
|
return true
|
|
l3:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 2 Para <- (NonindentSpace Inlines BlankLine+ { yy = a; yy.key = PARA }) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
doarg(yyPush, 1)
|
|
if !p.rules[ruleNonindentSpace]() {
|
|
goto l19
|
|
}
|
|
if !p.rules[ruleInlines]() {
|
|
goto l19
|
|
}
|
|
doarg(yySet, -1)
|
|
if !p.rules[ruleBlankLine]() {
|
|
goto l19
|
|
}
|
|
l20:
|
|
{
|
|
position21, thunkPosition21 := position, thunkPosition
|
|
if !p.rules[ruleBlankLine]() {
|
|
goto l21
|
|
}
|
|
goto l20
|
|
l21:
|
|
position, thunkPosition = position21, thunkPosition21
|
|
}
|
|
do(2)
|
|
doarg(yyPop, 1)
|
|
return true
|
|
l19:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 3 Plain <- (Inlines { yy = a; yy.key = PLAIN }) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
doarg(yyPush, 1)
|
|
if !p.rules[ruleInlines]() {
|
|
goto l22
|
|
}
|
|
doarg(yySet, -1)
|
|
do(3)
|
|
doarg(yyPop, 1)
|
|
return true
|
|
l22:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 4 AtxInline <- (!Newline !(Sp '#'* Sp Newline) Inline) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
{
|
|
position24, thunkPosition24 := position, thunkPosition
|
|
if !p.rules[ruleNewline]() {
|
|
goto l24
|
|
}
|
|
goto l23
|
|
l24:
|
|
position, thunkPosition = position24, thunkPosition24
|
|
}
|
|
{
|
|
position25, thunkPosition25 := position, thunkPosition
|
|
if !p.rules[ruleSp]() {
|
|
goto l25
|
|
}
|
|
l26:
|
|
{
|
|
position27, thunkPosition27 := position, thunkPosition
|
|
if !matchChar('#') {
|
|
goto l27
|
|
}
|
|
goto l26
|
|
l27:
|
|
position, thunkPosition = position27, thunkPosition27
|
|
}
|
|
if !p.rules[ruleSp]() {
|
|
goto l25
|
|
}
|
|
if !p.rules[ruleNewline]() {
|
|
goto l25
|
|
}
|
|
goto l23
|
|
l25:
|
|
position, thunkPosition = position25, thunkPosition25
|
|
}
|
|
if !p.rules[ruleInline]() {
|
|
goto l23
|
|
}
|
|
return true
|
|
l23:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 5 AtxStart <- (&'#' < ('######' / '#####' / '####' / '###' / '##' / '#') > { yy = mk_element(H1 + (len(yytext) - 1)) }) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !peekChar('#') {
|
|
goto l28
|
|
}
|
|
begin = position
|
|
{
|
|
position29, thunkPosition29 := position, thunkPosition
|
|
if !matchString("######") {
|
|
goto l30
|
|
}
|
|
goto l29
|
|
l30:
|
|
position, thunkPosition = position29, thunkPosition29
|
|
if !matchString("#####") {
|
|
goto l31
|
|
}
|
|
goto l29
|
|
l31:
|
|
position, thunkPosition = position29, thunkPosition29
|
|
if !matchString("####") {
|
|
goto l32
|
|
}
|
|
goto l29
|
|
l32:
|
|
position, thunkPosition = position29, thunkPosition29
|
|
if !matchString("###") {
|
|
goto l33
|
|
}
|
|
goto l29
|
|
l33:
|
|
position, thunkPosition = position29, thunkPosition29
|
|
if !matchString("##") {
|
|
goto l34
|
|
}
|
|
goto l29
|
|
l34:
|
|
position, thunkPosition = position29, thunkPosition29
|
|
if !matchChar('#') {
|
|
goto l28
|
|
}
|
|
}
|
|
l29:
|
|
end = position
|
|
do(4)
|
|
return true
|
|
l28:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 6 AtxHeading <- (AtxStart Sp StartList (AtxInline { a = cons(yy, a) })+ (Sp '#'* Sp)? Newline { yy = mk_list(s.key, a)
|
|
s = nil }) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
doarg(yyPush, 2)
|
|
if !p.rules[ruleAtxStart]() {
|
|
goto l35
|
|
}
|
|
doarg(yySet, -1)
|
|
if !p.rules[ruleSp]() {
|
|
goto l35
|
|
}
|
|
if !p.rules[ruleStartList]() {
|
|
goto l35
|
|
}
|
|
doarg(yySet, -2)
|
|
if !p.rules[ruleAtxInline]() {
|
|
goto l35
|
|
}
|
|
do(5)
|
|
l36:
|
|
{
|
|
position37, thunkPosition37 := position, thunkPosition
|
|
if !p.rules[ruleAtxInline]() {
|
|
goto l37
|
|
}
|
|
do(5)
|
|
goto l36
|
|
l37:
|
|
position, thunkPosition = position37, thunkPosition37
|
|
}
|
|
{
|
|
position38, thunkPosition38 := position, thunkPosition
|
|
if !p.rules[ruleSp]() {
|
|
goto l38
|
|
}
|
|
l40:
|
|
{
|
|
position41, thunkPosition41 := position, thunkPosition
|
|
if !matchChar('#') {
|
|
goto l41
|
|
}
|
|
goto l40
|
|
l41:
|
|
position, thunkPosition = position41, thunkPosition41
|
|
}
|
|
if !p.rules[ruleSp]() {
|
|
goto l38
|
|
}
|
|
goto l39
|
|
l38:
|
|
position, thunkPosition = position38, thunkPosition38
|
|
}
|
|
l39:
|
|
if !p.rules[ruleNewline]() {
|
|
goto l35
|
|
}
|
|
do(6)
|
|
doarg(yyPop, 2)
|
|
return true
|
|
l35:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 7 SetextHeading <- (SetextHeading1 / SetextHeading2) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
{
|
|
position43, thunkPosition43 := position, thunkPosition
|
|
if !p.rules[ruleSetextHeading1]() {
|
|
goto l44
|
|
}
|
|
goto l43
|
|
l44:
|
|
position, thunkPosition = position43, thunkPosition43
|
|
if !p.rules[ruleSetextHeading2]() {
|
|
goto l42
|
|
}
|
|
}
|
|
l43:
|
|
return true
|
|
l42:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 8 SetextBottom1 <- ('===' '='* Newline) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchString("===") {
|
|
goto l45
|
|
}
|
|
l46:
|
|
{
|
|
position47, thunkPosition47 := position, thunkPosition
|
|
if !matchChar('=') {
|
|
goto l47
|
|
}
|
|
goto l46
|
|
l47:
|
|
position, thunkPosition = position47, thunkPosition47
|
|
}
|
|
if !p.rules[ruleNewline]() {
|
|
goto l45
|
|
}
|
|
return true
|
|
l45:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 9 SetextBottom2 <- ('---' '-'* Newline) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchString("---") {
|
|
goto l48
|
|
}
|
|
l49:
|
|
{
|
|
position50, thunkPosition50 := position, thunkPosition
|
|
if !matchChar('-') {
|
|
goto l50
|
|
}
|
|
goto l49
|
|
l50:
|
|
position, thunkPosition = position50, thunkPosition50
|
|
}
|
|
if !p.rules[ruleNewline]() {
|
|
goto l48
|
|
}
|
|
return true
|
|
l48:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 10 SetextHeading1 <- (&(RawLine SetextBottom1) StartList (!Endline Inline { a = cons(yy, a) })+ Newline SetextBottom1 { yy = mk_list(H1, a) }) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
doarg(yyPush, 1)
|
|
{
|
|
position52, thunkPosition52 := position, thunkPosition
|
|
if !p.rules[ruleRawLine]() {
|
|
goto l51
|
|
}
|
|
if !p.rules[ruleSetextBottom1]() {
|
|
goto l51
|
|
}
|
|
position, thunkPosition = position52, thunkPosition52
|
|
}
|
|
if !p.rules[ruleStartList]() {
|
|
goto l51
|
|
}
|
|
doarg(yySet, -1)
|
|
{
|
|
position55, thunkPosition55 := position, thunkPosition
|
|
if !p.rules[ruleEndline]() {
|
|
goto l55
|
|
}
|
|
goto l51
|
|
l55:
|
|
position, thunkPosition = position55, thunkPosition55
|
|
}
|
|
if !p.rules[ruleInline]() {
|
|
goto l51
|
|
}
|
|
do(7)
|
|
l53:
|
|
{
|
|
position54, thunkPosition54 := position, thunkPosition
|
|
{
|
|
position56, thunkPosition56 := position, thunkPosition
|
|
if !p.rules[ruleEndline]() {
|
|
goto l56
|
|
}
|
|
goto l54
|
|
l56:
|
|
position, thunkPosition = position56, thunkPosition56
|
|
}
|
|
if !p.rules[ruleInline]() {
|
|
goto l54
|
|
}
|
|
do(7)
|
|
goto l53
|
|
l54:
|
|
position, thunkPosition = position54, thunkPosition54
|
|
}
|
|
if !p.rules[ruleNewline]() {
|
|
goto l51
|
|
}
|
|
if !p.rules[ruleSetextBottom1]() {
|
|
goto l51
|
|
}
|
|
do(8)
|
|
doarg(yyPop, 1)
|
|
return true
|
|
l51:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 11 SetextHeading2 <- (&(RawLine SetextBottom2) StartList (!Endline Inline { a = cons(yy, a) })+ Newline SetextBottom2 { yy = mk_list(H2, a) }) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
doarg(yyPush, 1)
|
|
{
|
|
position58, thunkPosition58 := position, thunkPosition
|
|
if !p.rules[ruleRawLine]() {
|
|
goto l57
|
|
}
|
|
if !p.rules[ruleSetextBottom2]() {
|
|
goto l57
|
|
}
|
|
position, thunkPosition = position58, thunkPosition58
|
|
}
|
|
if !p.rules[ruleStartList]() {
|
|
goto l57
|
|
}
|
|
doarg(yySet, -1)
|
|
{
|
|
position61, thunkPosition61 := position, thunkPosition
|
|
if !p.rules[ruleEndline]() {
|
|
goto l61
|
|
}
|
|
goto l57
|
|
l61:
|
|
position, thunkPosition = position61, thunkPosition61
|
|
}
|
|
if !p.rules[ruleInline]() {
|
|
goto l57
|
|
}
|
|
do(9)
|
|
l59:
|
|
{
|
|
position60, thunkPosition60 := position, thunkPosition
|
|
{
|
|
position62, thunkPosition62 := position, thunkPosition
|
|
if !p.rules[ruleEndline]() {
|
|
goto l62
|
|
}
|
|
goto l60
|
|
l62:
|
|
position, thunkPosition = position62, thunkPosition62
|
|
}
|
|
if !p.rules[ruleInline]() {
|
|
goto l60
|
|
}
|
|
do(9)
|
|
goto l59
|
|
l60:
|
|
position, thunkPosition = position60, thunkPosition60
|
|
}
|
|
if !p.rules[ruleNewline]() {
|
|
goto l57
|
|
}
|
|
if !p.rules[ruleSetextBottom2]() {
|
|
goto l57
|
|
}
|
|
do(10)
|
|
doarg(yyPop, 1)
|
|
return true
|
|
l57:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 12 Heading <- (AtxHeading / SetextHeading) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
{
|
|
position64, thunkPosition64 := position, thunkPosition
|
|
if !p.rules[ruleAtxHeading]() {
|
|
goto l65
|
|
}
|
|
goto l64
|
|
l65:
|
|
position, thunkPosition = position64, thunkPosition64
|
|
if !p.rules[ruleSetextHeading]() {
|
|
goto l63
|
|
}
|
|
}
|
|
l64:
|
|
return true
|
|
l63:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 13 BlockQuote <- (BlockQuoteRaw { yy = mk_element(BLOCKQUOTE)
|
|
yy.children = a
|
|
}) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
doarg(yyPush, 1)
|
|
if !p.rules[ruleBlockQuoteRaw]() {
|
|
goto l66
|
|
}
|
|
doarg(yySet, -1)
|
|
do(11)
|
|
doarg(yyPop, 1)
|
|
return true
|
|
l66:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 14 BlockQuoteRaw <- (StartList ('>' ' '? Line { a = cons(yy, a) } (!'>' !BlankLine Line { a = cons(yy, a) })* (BlankLine { a = cons(mk_str("\n"), a) })*)+ { yy = mk_str_from_list(a, true)
|
|
yy.key = RAW
|
|
}) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
doarg(yyPush, 1)
|
|
if !p.rules[ruleStartList]() {
|
|
goto l67
|
|
}
|
|
doarg(yySet, -1)
|
|
if !matchChar('>') {
|
|
goto l67
|
|
}
|
|
{
|
|
position70, thunkPosition70 := position, thunkPosition
|
|
if !matchChar(' ') {
|
|
goto l70
|
|
}
|
|
goto l71
|
|
l70:
|
|
position, thunkPosition = position70, thunkPosition70
|
|
}
|
|
l71:
|
|
if !p.rules[ruleLine]() {
|
|
goto l67
|
|
}
|
|
do(12)
|
|
l72:
|
|
{
|
|
position73, thunkPosition73 := position, thunkPosition
|
|
if peekChar('>') {
|
|
goto l73
|
|
}
|
|
{
|
|
position74, thunkPosition74 := position, thunkPosition
|
|
if !p.rules[ruleBlankLine]() {
|
|
goto l74
|
|
}
|
|
goto l73
|
|
l74:
|
|
position, thunkPosition = position74, thunkPosition74
|
|
}
|
|
if !p.rules[ruleLine]() {
|
|
goto l73
|
|
}
|
|
do(13)
|
|
goto l72
|
|
l73:
|
|
position, thunkPosition = position73, thunkPosition73
|
|
}
|
|
l75:
|
|
{
|
|
position76, thunkPosition76 := position, thunkPosition
|
|
if !p.rules[ruleBlankLine]() {
|
|
goto l76
|
|
}
|
|
do(14)
|
|
goto l75
|
|
l76:
|
|
position, thunkPosition = position76, thunkPosition76
|
|
}
|
|
l68:
|
|
{
|
|
position69, thunkPosition69 := position, thunkPosition
|
|
if !matchChar('>') {
|
|
goto l69
|
|
}
|
|
{
|
|
position77, thunkPosition77 := position, thunkPosition
|
|
if !matchChar(' ') {
|
|
goto l77
|
|
}
|
|
goto l78
|
|
l77:
|
|
position, thunkPosition = position77, thunkPosition77
|
|
}
|
|
l78:
|
|
if !p.rules[ruleLine]() {
|
|
goto l69
|
|
}
|
|
do(12)
|
|
l79:
|
|
{
|
|
position80, thunkPosition80 := position, thunkPosition
|
|
if peekChar('>') {
|
|
goto l80
|
|
}
|
|
{
|
|
position81, thunkPosition81 := position, thunkPosition
|
|
if !p.rules[ruleBlankLine]() {
|
|
goto l81
|
|
}
|
|
goto l80
|
|
l81:
|
|
position, thunkPosition = position81, thunkPosition81
|
|
}
|
|
if !p.rules[ruleLine]() {
|
|
goto l80
|
|
}
|
|
do(13)
|
|
goto l79
|
|
l80:
|
|
position, thunkPosition = position80, thunkPosition80
|
|
}
|
|
l82:
|
|
{
|
|
position83, thunkPosition83 := position, thunkPosition
|
|
if !p.rules[ruleBlankLine]() {
|
|
goto l83
|
|
}
|
|
do(14)
|
|
goto l82
|
|
l83:
|
|
position, thunkPosition = position83, thunkPosition83
|
|
}
|
|
goto l68
|
|
l69:
|
|
position, thunkPosition = position69, thunkPosition69
|
|
}
|
|
do(15)
|
|
doarg(yyPop, 1)
|
|
return true
|
|
l67:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 15 NonblankIndentedLine <- (!BlankLine IndentedLine) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
{
|
|
position85, thunkPosition85 := position, thunkPosition
|
|
if !p.rules[ruleBlankLine]() {
|
|
goto l85
|
|
}
|
|
goto l84
|
|
l85:
|
|
position, thunkPosition = position85, thunkPosition85
|
|
}
|
|
if !p.rules[ruleIndentedLine]() {
|
|
goto l84
|
|
}
|
|
return true
|
|
l84:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 16 VerbatimChunk <- (StartList (BlankLine { a = cons(mk_str("\n"), a) })* (NonblankIndentedLine { a = cons(yy, a) })+ { yy = mk_str_from_list(a, false) }) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
doarg(yyPush, 1)
|
|
if !p.rules[ruleStartList]() {
|
|
goto l86
|
|
}
|
|
doarg(yySet, -1)
|
|
l87:
|
|
{
|
|
position88, thunkPosition88 := position, thunkPosition
|
|
if !p.rules[ruleBlankLine]() {
|
|
goto l88
|
|
}
|
|
do(16)
|
|
goto l87
|
|
l88:
|
|
position, thunkPosition = position88, thunkPosition88
|
|
}
|
|
if !p.rules[ruleNonblankIndentedLine]() {
|
|
goto l86
|
|
}
|
|
do(17)
|
|
l89:
|
|
{
|
|
position90, thunkPosition90 := position, thunkPosition
|
|
if !p.rules[ruleNonblankIndentedLine]() {
|
|
goto l90
|
|
}
|
|
do(17)
|
|
goto l89
|
|
l90:
|
|
position, thunkPosition = position90, thunkPosition90
|
|
}
|
|
do(18)
|
|
doarg(yyPop, 1)
|
|
return true
|
|
l86:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 17 Verbatim <- (StartList (VerbatimChunk { a = cons(yy, a) })+ { yy = mk_str_from_list(a, false)
|
|
yy.key = VERBATIM }) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
doarg(yyPush, 1)
|
|
if !p.rules[ruleStartList]() {
|
|
goto l91
|
|
}
|
|
doarg(yySet, -1)
|
|
if !p.rules[ruleVerbatimChunk]() {
|
|
goto l91
|
|
}
|
|
do(19)
|
|
l92:
|
|
{
|
|
position93, thunkPosition93 := position, thunkPosition
|
|
if !p.rules[ruleVerbatimChunk]() {
|
|
goto l93
|
|
}
|
|
do(19)
|
|
goto l92
|
|
l93:
|
|
position, thunkPosition = position93, thunkPosition93
|
|
}
|
|
do(20)
|
|
doarg(yyPop, 1)
|
|
return true
|
|
l91:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 18 HorizontalRule <- (NonindentSpace (('*' Sp '*' Sp '*' (Sp '*')*) / ('-' Sp '-' Sp '-' (Sp '-')*) / ('_' Sp '_' Sp '_' (Sp '_')*)) Sp Newline BlankLine+ { yy = mk_element(HRULE) }) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !p.rules[ruleNonindentSpace]() {
|
|
goto l94
|
|
}
|
|
{
|
|
position95, thunkPosition95 := position, thunkPosition
|
|
if !matchChar('*') {
|
|
goto l96
|
|
}
|
|
if !p.rules[ruleSp]() {
|
|
goto l96
|
|
}
|
|
if !matchChar('*') {
|
|
goto l96
|
|
}
|
|
if !p.rules[ruleSp]() {
|
|
goto l96
|
|
}
|
|
if !matchChar('*') {
|
|
goto l96
|
|
}
|
|
l97:
|
|
{
|
|
position98, thunkPosition98 := position, thunkPosition
|
|
if !p.rules[ruleSp]() {
|
|
goto l98
|
|
}
|
|
if !matchChar('*') {
|
|
goto l98
|
|
}
|
|
goto l97
|
|
l98:
|
|
position, thunkPosition = position98, thunkPosition98
|
|
}
|
|
goto l95
|
|
l96:
|
|
position, thunkPosition = position95, thunkPosition95
|
|
if !matchChar('-') {
|
|
goto l99
|
|
}
|
|
if !p.rules[ruleSp]() {
|
|
goto l99
|
|
}
|
|
if !matchChar('-') {
|
|
goto l99
|
|
}
|
|
if !p.rules[ruleSp]() {
|
|
goto l99
|
|
}
|
|
if !matchChar('-') {
|
|
goto l99
|
|
}
|
|
l100:
|
|
{
|
|
position101, thunkPosition101 := position, thunkPosition
|
|
if !p.rules[ruleSp]() {
|
|
goto l101
|
|
}
|
|
if !matchChar('-') {
|
|
goto l101
|
|
}
|
|
goto l100
|
|
l101:
|
|
position, thunkPosition = position101, thunkPosition101
|
|
}
|
|
goto l95
|
|
l99:
|
|
position, thunkPosition = position95, thunkPosition95
|
|
if !matchChar('_') {
|
|
goto l94
|
|
}
|
|
if !p.rules[ruleSp]() {
|
|
goto l94
|
|
}
|
|
if !matchChar('_') {
|
|
goto l94
|
|
}
|
|
if !p.rules[ruleSp]() {
|
|
goto l94
|
|
}
|
|
if !matchChar('_') {
|
|
goto l94
|
|
}
|
|
l102:
|
|
{
|
|
position103, thunkPosition103 := position, thunkPosition
|
|
if !p.rules[ruleSp]() {
|
|
goto l103
|
|
}
|
|
if !matchChar('_') {
|
|
goto l103
|
|
}
|
|
goto l102
|
|
l103:
|
|
position, thunkPosition = position103, thunkPosition103
|
|
}
|
|
}
|
|
l95:
|
|
if !p.rules[ruleSp]() {
|
|
goto l94
|
|
}
|
|
if !p.rules[ruleNewline]() {
|
|
goto l94
|
|
}
|
|
if !p.rules[ruleBlankLine]() {
|
|
goto l94
|
|
}
|
|
l104:
|
|
{
|
|
position105, thunkPosition105 := position, thunkPosition
|
|
if !p.rules[ruleBlankLine]() {
|
|
goto l105
|
|
}
|
|
goto l104
|
|
l105:
|
|
position, thunkPosition = position105, thunkPosition105
|
|
}
|
|
do(21)
|
|
return true
|
|
l94:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 19 Bullet <- (!HorizontalRule NonindentSpace ('+' / '*' / '-') Spacechar+) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
{
|
|
position107, thunkPosition107 := position, thunkPosition
|
|
if !p.rules[ruleHorizontalRule]() {
|
|
goto l107
|
|
}
|
|
goto l106
|
|
l107:
|
|
position, thunkPosition = position107, thunkPosition107
|
|
}
|
|
if !p.rules[ruleNonindentSpace]() {
|
|
goto l106
|
|
}
|
|
{
|
|
position108, thunkPosition108 := position, thunkPosition
|
|
if !matchChar('+') {
|
|
goto l109
|
|
}
|
|
goto l108
|
|
l109:
|
|
position, thunkPosition = position108, thunkPosition108
|
|
if !matchChar('*') {
|
|
goto l110
|
|
}
|
|
goto l108
|
|
l110:
|
|
position, thunkPosition = position108, thunkPosition108
|
|
if !matchChar('-') {
|
|
goto l106
|
|
}
|
|
}
|
|
l108:
|
|
if !p.rules[ruleSpacechar]() {
|
|
goto l106
|
|
}
|
|
l111:
|
|
{
|
|
position112, thunkPosition112 := position, thunkPosition
|
|
if !p.rules[ruleSpacechar]() {
|
|
goto l112
|
|
}
|
|
goto l111
|
|
l112:
|
|
position, thunkPosition = position112, thunkPosition112
|
|
}
|
|
return true
|
|
l106:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 20 BulletList <- (&Bullet (ListTight / ListLoose) { yy.key = BULLETLIST }) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
{
|
|
position114, thunkPosition114 := position, thunkPosition
|
|
if !p.rules[ruleBullet]() {
|
|
goto l113
|
|
}
|
|
position, thunkPosition = position114, thunkPosition114
|
|
}
|
|
{
|
|
position115, thunkPosition115 := position, thunkPosition
|
|
if !p.rules[ruleListTight]() {
|
|
goto l116
|
|
}
|
|
goto l115
|
|
l116:
|
|
position, thunkPosition = position115, thunkPosition115
|
|
if !p.rules[ruleListLoose]() {
|
|
goto l113
|
|
}
|
|
}
|
|
l115:
|
|
do(22)
|
|
return true
|
|
l113:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 21 ListTight <- (StartList (ListItem { a = cons(yy, a) })+ BlankLine* !(Bullet / Enumerator / DefMarker) { yy = mk_list(LIST, a) }) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
doarg(yyPush, 1)
|
|
if !p.rules[ruleStartList]() {
|
|
goto l117
|
|
}
|
|
doarg(yySet, -1)
|
|
if !p.rules[ruleListItem]() {
|
|
goto l117
|
|
}
|
|
do(23)
|
|
l118:
|
|
{
|
|
position119, thunkPosition119 := position, thunkPosition
|
|
if !p.rules[ruleListItem]() {
|
|
goto l119
|
|
}
|
|
do(23)
|
|
goto l118
|
|
l119:
|
|
position, thunkPosition = position119, thunkPosition119
|
|
}
|
|
l120:
|
|
{
|
|
position121, thunkPosition121 := position, thunkPosition
|
|
if !p.rules[ruleBlankLine]() {
|
|
goto l121
|
|
}
|
|
goto l120
|
|
l121:
|
|
position, thunkPosition = position121, thunkPosition121
|
|
}
|
|
{
|
|
position122, thunkPosition122 := position, thunkPosition
|
|
{
|
|
position123, thunkPosition123 := position, thunkPosition
|
|
if !p.rules[ruleBullet]() {
|
|
goto l124
|
|
}
|
|
goto l123
|
|
l124:
|
|
position, thunkPosition = position123, thunkPosition123
|
|
if !p.rules[ruleEnumerator]() {
|
|
goto l125
|
|
}
|
|
goto l123
|
|
l125:
|
|
position, thunkPosition = position123, thunkPosition123
|
|
if !p.rules[ruleDefMarker]() {
|
|
goto l122
|
|
}
|
|
}
|
|
l123:
|
|
goto l117
|
|
l122:
|
|
position, thunkPosition = position122, thunkPosition122
|
|
}
|
|
do(24)
|
|
doarg(yyPop, 1)
|
|
return true
|
|
l117:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 22 ListLoose <- (StartList (ListItem BlankLine* {
|
|
li := b.children
|
|
li.contents.str += "\n\n"
|
|
a = cons(b, a)
|
|
})+ { yy = mk_list(LIST, a) }) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
doarg(yyPush, 2)
|
|
if !p.rules[ruleStartList]() {
|
|
goto l126
|
|
}
|
|
doarg(yySet, -1)
|
|
if !p.rules[ruleListItem]() {
|
|
goto l126
|
|
}
|
|
doarg(yySet, -2)
|
|
l129:
|
|
{
|
|
position130, thunkPosition130 := position, thunkPosition
|
|
if !p.rules[ruleBlankLine]() {
|
|
goto l130
|
|
}
|
|
goto l129
|
|
l130:
|
|
position, thunkPosition = position130, thunkPosition130
|
|
}
|
|
do(25)
|
|
l127:
|
|
{
|
|
position128, thunkPosition128 := position, thunkPosition
|
|
if !p.rules[ruleListItem]() {
|
|
goto l128
|
|
}
|
|
doarg(yySet, -2)
|
|
l131:
|
|
{
|
|
position132, thunkPosition132 := position, thunkPosition
|
|
if !p.rules[ruleBlankLine]() {
|
|
goto l132
|
|
}
|
|
goto l131
|
|
l132:
|
|
position, thunkPosition = position132, thunkPosition132
|
|
}
|
|
do(25)
|
|
goto l127
|
|
l128:
|
|
position, thunkPosition = position128, thunkPosition128
|
|
}
|
|
do(26)
|
|
doarg(yyPop, 2)
|
|
return true
|
|
l126:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 23 ListItem <- ((Bullet / Enumerator / DefMarker) StartList ListBlock { a = cons(yy, a) } (ListContinuationBlock { a = cons(yy, a) })* {
|
|
raw := mk_str_from_list(a, false)
|
|
raw.key = RAW
|
|
yy = mk_element(LISTITEM)
|
|
yy.children = raw
|
|
}) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
doarg(yyPush, 1)
|
|
{
|
|
position134, thunkPosition134 := position, thunkPosition
|
|
if !p.rules[ruleBullet]() {
|
|
goto l135
|
|
}
|
|
goto l134
|
|
l135:
|
|
position, thunkPosition = position134, thunkPosition134
|
|
if !p.rules[ruleEnumerator]() {
|
|
goto l136
|
|
}
|
|
goto l134
|
|
l136:
|
|
position, thunkPosition = position134, thunkPosition134
|
|
if !p.rules[ruleDefMarker]() {
|
|
goto l133
|
|
}
|
|
}
|
|
l134:
|
|
if !p.rules[ruleStartList]() {
|
|
goto l133
|
|
}
|
|
doarg(yySet, -1)
|
|
if !p.rules[ruleListBlock]() {
|
|
goto l133
|
|
}
|
|
do(27)
|
|
l137:
|
|
{
|
|
position138, thunkPosition138 := position, thunkPosition
|
|
if !p.rules[ruleListContinuationBlock]() {
|
|
goto l138
|
|
}
|
|
do(28)
|
|
goto l137
|
|
l138:
|
|
position, thunkPosition = position138, thunkPosition138
|
|
}
|
|
do(29)
|
|
doarg(yyPop, 1)
|
|
return true
|
|
l133:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 24 ListBlock <- (StartList Line { a = cons(yy, a) } (ListBlockLine { a = cons(yy, a) })* { yy = mk_str_from_list(a, false) }) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
doarg(yyPush, 1)
|
|
if !p.rules[ruleStartList]() {
|
|
goto l139
|
|
}
|
|
doarg(yySet, -1)
|
|
if !p.rules[ruleLine]() {
|
|
goto l139
|
|
}
|
|
do(30)
|
|
l140:
|
|
{
|
|
position141, thunkPosition141 := position, thunkPosition
|
|
if !p.rules[ruleListBlockLine]() {
|
|
goto l141
|
|
}
|
|
do(31)
|
|
goto l140
|
|
l141:
|
|
position, thunkPosition = position141, thunkPosition141
|
|
}
|
|
do(32)
|
|
doarg(yyPop, 1)
|
|
return true
|
|
l139:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 25 ListContinuationBlock <- (StartList (< BlankLine* > { if len(yytext) == 0 {
|
|
a = cons(mk_str("\001"), a) // block separator
|
|
} else {
|
|
a = cons(mk_str(yytext), a)
|
|
}
|
|
}) (Indent ListBlock { a = cons(yy, a) })+ { yy = mk_str_from_list(a, false) }) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
doarg(yyPush, 1)
|
|
if !p.rules[ruleStartList]() {
|
|
goto l142
|
|
}
|
|
doarg(yySet, -1)
|
|
begin = position
|
|
l143:
|
|
{
|
|
position144, thunkPosition144 := position, thunkPosition
|
|
if !p.rules[ruleBlankLine]() {
|
|
goto l144
|
|
}
|
|
goto l143
|
|
l144:
|
|
position, thunkPosition = position144, thunkPosition144
|
|
}
|
|
end = position
|
|
do(33)
|
|
if !p.rules[ruleIndent]() {
|
|
goto l142
|
|
}
|
|
if !p.rules[ruleListBlock]() {
|
|
goto l142
|
|
}
|
|
do(34)
|
|
l145:
|
|
{
|
|
position146, thunkPosition146 := position, thunkPosition
|
|
if !p.rules[ruleIndent]() {
|
|
goto l146
|
|
}
|
|
if !p.rules[ruleListBlock]() {
|
|
goto l146
|
|
}
|
|
do(34)
|
|
goto l145
|
|
l146:
|
|
position, thunkPosition = position146, thunkPosition146
|
|
}
|
|
do(35)
|
|
doarg(yyPop, 1)
|
|
return true
|
|
l142:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 26 Enumerator <- (NonindentSpace [0-9]+ '.' Spacechar+) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !p.rules[ruleNonindentSpace]() {
|
|
goto l147
|
|
}
|
|
if !matchClass(5) {
|
|
goto l147
|
|
}
|
|
l148:
|
|
{
|
|
position149, thunkPosition149 := position, thunkPosition
|
|
if !matchClass(5) {
|
|
goto l149
|
|
}
|
|
goto l148
|
|
l149:
|
|
position, thunkPosition = position149, thunkPosition149
|
|
}
|
|
if !matchChar('.') {
|
|
goto l147
|
|
}
|
|
if !p.rules[ruleSpacechar]() {
|
|
goto l147
|
|
}
|
|
l150:
|
|
{
|
|
position151, thunkPosition151 := position, thunkPosition
|
|
if !p.rules[ruleSpacechar]() {
|
|
goto l151
|
|
}
|
|
goto l150
|
|
l151:
|
|
position, thunkPosition = position151, thunkPosition151
|
|
}
|
|
return true
|
|
l147:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 27 OrderedList <- (&Enumerator (ListTight / ListLoose) { yy.key = ORDEREDLIST }) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
{
|
|
position153, thunkPosition153 := position, thunkPosition
|
|
if !p.rules[ruleEnumerator]() {
|
|
goto l152
|
|
}
|
|
position, thunkPosition = position153, thunkPosition153
|
|
}
|
|
{
|
|
position154, thunkPosition154 := position, thunkPosition
|
|
if !p.rules[ruleListTight]() {
|
|
goto l155
|
|
}
|
|
goto l154
|
|
l155:
|
|
position, thunkPosition = position154, thunkPosition154
|
|
if !p.rules[ruleListLoose]() {
|
|
goto l152
|
|
}
|
|
}
|
|
l154:
|
|
do(36)
|
|
return true
|
|
l152:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 28 ListBlockLine <- (!((Indent? (Bullet / Enumerator)) / DefMarker) !BlankLine !HorizontalRule OptionallyIndentedLine) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
{
|
|
position157, thunkPosition157 := position, thunkPosition
|
|
{
|
|
position158, thunkPosition158 := position, thunkPosition
|
|
{
|
|
position160, thunkPosition160 := position, thunkPosition
|
|
if !p.rules[ruleIndent]() {
|
|
goto l160
|
|
}
|
|
goto l161
|
|
l160:
|
|
position, thunkPosition = position160, thunkPosition160
|
|
}
|
|
l161:
|
|
{
|
|
position162, thunkPosition162 := position, thunkPosition
|
|
if !p.rules[ruleBullet]() {
|
|
goto l163
|
|
}
|
|
goto l162
|
|
l163:
|
|
position, thunkPosition = position162, thunkPosition162
|
|
if !p.rules[ruleEnumerator]() {
|
|
goto l159
|
|
}
|
|
}
|
|
l162:
|
|
goto l158
|
|
l159:
|
|
position, thunkPosition = position158, thunkPosition158
|
|
if !p.rules[ruleDefMarker]() {
|
|
goto l157
|
|
}
|
|
}
|
|
l158:
|
|
goto l156
|
|
l157:
|
|
position, thunkPosition = position157, thunkPosition157
|
|
}
|
|
{
|
|
position164, thunkPosition164 := position, thunkPosition
|
|
if !p.rules[ruleBlankLine]() {
|
|
goto l164
|
|
}
|
|
goto l156
|
|
l164:
|
|
position, thunkPosition = position164, thunkPosition164
|
|
}
|
|
{
|
|
position165, thunkPosition165 := position, thunkPosition
|
|
if !p.rules[ruleHorizontalRule]() {
|
|
goto l165
|
|
}
|
|
goto l156
|
|
l165:
|
|
position, thunkPosition = position165, thunkPosition165
|
|
}
|
|
if !p.rules[ruleOptionallyIndentedLine]() {
|
|
goto l156
|
|
}
|
|
return true
|
|
l156:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 29 HtmlBlockOpenAddress <- ('<' Spnl ('address' / 'ADDRESS') Spnl HtmlAttribute* '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l166
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l166
|
|
}
|
|
{
|
|
position167, thunkPosition167 := position, thunkPosition
|
|
if !matchString("address") {
|
|
goto l168
|
|
}
|
|
goto l167
|
|
l168:
|
|
position, thunkPosition = position167, thunkPosition167
|
|
if !matchString("ADDRESS") {
|
|
goto l166
|
|
}
|
|
}
|
|
l167:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l166
|
|
}
|
|
l169:
|
|
{
|
|
position170, thunkPosition170 := position, thunkPosition
|
|
if !p.rules[ruleHtmlAttribute]() {
|
|
goto l170
|
|
}
|
|
goto l169
|
|
l170:
|
|
position, thunkPosition = position170, thunkPosition170
|
|
}
|
|
if !matchChar('>') {
|
|
goto l166
|
|
}
|
|
return true
|
|
l166:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 30 HtmlBlockCloseAddress <- ('<' Spnl '/' ('address' / 'ADDRESS') Spnl '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l171
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l171
|
|
}
|
|
if !matchChar('/') {
|
|
goto l171
|
|
}
|
|
{
|
|
position172, thunkPosition172 := position, thunkPosition
|
|
if !matchString("address") {
|
|
goto l173
|
|
}
|
|
goto l172
|
|
l173:
|
|
position, thunkPosition = position172, thunkPosition172
|
|
if !matchString("ADDRESS") {
|
|
goto l171
|
|
}
|
|
}
|
|
l172:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l171
|
|
}
|
|
if !matchChar('>') {
|
|
goto l171
|
|
}
|
|
return true
|
|
l171:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 31 HtmlBlockOpenBlockquote <- ('<' Spnl ('blockquote' / 'BLOCKQUOTE') Spnl HtmlAttribute* '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l174
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l174
|
|
}
|
|
{
|
|
position175, thunkPosition175 := position, thunkPosition
|
|
if !matchString("blockquote") {
|
|
goto l176
|
|
}
|
|
goto l175
|
|
l176:
|
|
position, thunkPosition = position175, thunkPosition175
|
|
if !matchString("BLOCKQUOTE") {
|
|
goto l174
|
|
}
|
|
}
|
|
l175:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l174
|
|
}
|
|
l177:
|
|
{
|
|
position178, thunkPosition178 := position, thunkPosition
|
|
if !p.rules[ruleHtmlAttribute]() {
|
|
goto l178
|
|
}
|
|
goto l177
|
|
l178:
|
|
position, thunkPosition = position178, thunkPosition178
|
|
}
|
|
if !matchChar('>') {
|
|
goto l174
|
|
}
|
|
return true
|
|
l174:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 32 HtmlBlockCloseBlockquote <- ('<' Spnl '/' ('blockquote' / 'BLOCKQUOTE') Spnl '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l179
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l179
|
|
}
|
|
if !matchChar('/') {
|
|
goto l179
|
|
}
|
|
{
|
|
position180, thunkPosition180 := position, thunkPosition
|
|
if !matchString("blockquote") {
|
|
goto l181
|
|
}
|
|
goto l180
|
|
l181:
|
|
position, thunkPosition = position180, thunkPosition180
|
|
if !matchString("BLOCKQUOTE") {
|
|
goto l179
|
|
}
|
|
}
|
|
l180:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l179
|
|
}
|
|
if !matchChar('>') {
|
|
goto l179
|
|
}
|
|
return true
|
|
l179:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 33 HtmlBlockOpenCenter <- ('<' Spnl ('center' / 'CENTER') Spnl HtmlAttribute* '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l182
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l182
|
|
}
|
|
{
|
|
position183, thunkPosition183 := position, thunkPosition
|
|
if !matchString("center") {
|
|
goto l184
|
|
}
|
|
goto l183
|
|
l184:
|
|
position, thunkPosition = position183, thunkPosition183
|
|
if !matchString("CENTER") {
|
|
goto l182
|
|
}
|
|
}
|
|
l183:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l182
|
|
}
|
|
l185:
|
|
{
|
|
position186, thunkPosition186 := position, thunkPosition
|
|
if !p.rules[ruleHtmlAttribute]() {
|
|
goto l186
|
|
}
|
|
goto l185
|
|
l186:
|
|
position, thunkPosition = position186, thunkPosition186
|
|
}
|
|
if !matchChar('>') {
|
|
goto l182
|
|
}
|
|
return true
|
|
l182:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 34 HtmlBlockCloseCenter <- ('<' Spnl '/' ('center' / 'CENTER') Spnl '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l187
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l187
|
|
}
|
|
if !matchChar('/') {
|
|
goto l187
|
|
}
|
|
{
|
|
position188, thunkPosition188 := position, thunkPosition
|
|
if !matchString("center") {
|
|
goto l189
|
|
}
|
|
goto l188
|
|
l189:
|
|
position, thunkPosition = position188, thunkPosition188
|
|
if !matchString("CENTER") {
|
|
goto l187
|
|
}
|
|
}
|
|
l188:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l187
|
|
}
|
|
if !matchChar('>') {
|
|
goto l187
|
|
}
|
|
return true
|
|
l187:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 35 HtmlBlockOpenDir <- ('<' Spnl ('dir' / 'DIR') Spnl HtmlAttribute* '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l190
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l190
|
|
}
|
|
{
|
|
position191, thunkPosition191 := position, thunkPosition
|
|
if !matchString("dir") {
|
|
goto l192
|
|
}
|
|
goto l191
|
|
l192:
|
|
position, thunkPosition = position191, thunkPosition191
|
|
if !matchString("DIR") {
|
|
goto l190
|
|
}
|
|
}
|
|
l191:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l190
|
|
}
|
|
l193:
|
|
{
|
|
position194, thunkPosition194 := position, thunkPosition
|
|
if !p.rules[ruleHtmlAttribute]() {
|
|
goto l194
|
|
}
|
|
goto l193
|
|
l194:
|
|
position, thunkPosition = position194, thunkPosition194
|
|
}
|
|
if !matchChar('>') {
|
|
goto l190
|
|
}
|
|
return true
|
|
l190:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 36 HtmlBlockCloseDir <- ('<' Spnl '/' ('dir' / 'DIR') Spnl '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l195
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l195
|
|
}
|
|
if !matchChar('/') {
|
|
goto l195
|
|
}
|
|
{
|
|
position196, thunkPosition196 := position, thunkPosition
|
|
if !matchString("dir") {
|
|
goto l197
|
|
}
|
|
goto l196
|
|
l197:
|
|
position, thunkPosition = position196, thunkPosition196
|
|
if !matchString("DIR") {
|
|
goto l195
|
|
}
|
|
}
|
|
l196:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l195
|
|
}
|
|
if !matchChar('>') {
|
|
goto l195
|
|
}
|
|
return true
|
|
l195:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 37 HtmlBlockOpenDiv <- ('<' Spnl ('div' / 'DIV') Spnl HtmlAttribute* '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l198
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l198
|
|
}
|
|
{
|
|
position199, thunkPosition199 := position, thunkPosition
|
|
if !matchString("div") {
|
|
goto l200
|
|
}
|
|
goto l199
|
|
l200:
|
|
position, thunkPosition = position199, thunkPosition199
|
|
if !matchString("DIV") {
|
|
goto l198
|
|
}
|
|
}
|
|
l199:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l198
|
|
}
|
|
l201:
|
|
{
|
|
position202, thunkPosition202 := position, thunkPosition
|
|
if !p.rules[ruleHtmlAttribute]() {
|
|
goto l202
|
|
}
|
|
goto l201
|
|
l202:
|
|
position, thunkPosition = position202, thunkPosition202
|
|
}
|
|
if !matchChar('>') {
|
|
goto l198
|
|
}
|
|
return true
|
|
l198:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 38 HtmlBlockCloseDiv <- ('<' Spnl '/' ('div' / 'DIV') Spnl '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l203
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l203
|
|
}
|
|
if !matchChar('/') {
|
|
goto l203
|
|
}
|
|
{
|
|
position204, thunkPosition204 := position, thunkPosition
|
|
if !matchString("div") {
|
|
goto l205
|
|
}
|
|
goto l204
|
|
l205:
|
|
position, thunkPosition = position204, thunkPosition204
|
|
if !matchString("DIV") {
|
|
goto l203
|
|
}
|
|
}
|
|
l204:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l203
|
|
}
|
|
if !matchChar('>') {
|
|
goto l203
|
|
}
|
|
return true
|
|
l203:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 39 HtmlBlockOpenDl <- ('<' Spnl ('dl' / 'DL') Spnl HtmlAttribute* '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l206
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l206
|
|
}
|
|
{
|
|
position207, thunkPosition207 := position, thunkPosition
|
|
if !matchString("dl") {
|
|
goto l208
|
|
}
|
|
goto l207
|
|
l208:
|
|
position, thunkPosition = position207, thunkPosition207
|
|
if !matchString("DL") {
|
|
goto l206
|
|
}
|
|
}
|
|
l207:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l206
|
|
}
|
|
l209:
|
|
{
|
|
position210, thunkPosition210 := position, thunkPosition
|
|
if !p.rules[ruleHtmlAttribute]() {
|
|
goto l210
|
|
}
|
|
goto l209
|
|
l210:
|
|
position, thunkPosition = position210, thunkPosition210
|
|
}
|
|
if !matchChar('>') {
|
|
goto l206
|
|
}
|
|
return true
|
|
l206:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 40 HtmlBlockCloseDl <- ('<' Spnl '/' ('dl' / 'DL') Spnl '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l211
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l211
|
|
}
|
|
if !matchChar('/') {
|
|
goto l211
|
|
}
|
|
{
|
|
position212, thunkPosition212 := position, thunkPosition
|
|
if !matchString("dl") {
|
|
goto l213
|
|
}
|
|
goto l212
|
|
l213:
|
|
position, thunkPosition = position212, thunkPosition212
|
|
if !matchString("DL") {
|
|
goto l211
|
|
}
|
|
}
|
|
l212:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l211
|
|
}
|
|
if !matchChar('>') {
|
|
goto l211
|
|
}
|
|
return true
|
|
l211:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 41 HtmlBlockOpenFieldset <- ('<' Spnl ('fieldset' / 'FIELDSET') Spnl HtmlAttribute* '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l214
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l214
|
|
}
|
|
{
|
|
position215, thunkPosition215 := position, thunkPosition
|
|
if !matchString("fieldset") {
|
|
goto l216
|
|
}
|
|
goto l215
|
|
l216:
|
|
position, thunkPosition = position215, thunkPosition215
|
|
if !matchString("FIELDSET") {
|
|
goto l214
|
|
}
|
|
}
|
|
l215:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l214
|
|
}
|
|
l217:
|
|
{
|
|
position218, thunkPosition218 := position, thunkPosition
|
|
if !p.rules[ruleHtmlAttribute]() {
|
|
goto l218
|
|
}
|
|
goto l217
|
|
l218:
|
|
position, thunkPosition = position218, thunkPosition218
|
|
}
|
|
if !matchChar('>') {
|
|
goto l214
|
|
}
|
|
return true
|
|
l214:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 42 HtmlBlockCloseFieldset <- ('<' Spnl '/' ('fieldset' / 'FIELDSET') Spnl '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l219
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l219
|
|
}
|
|
if !matchChar('/') {
|
|
goto l219
|
|
}
|
|
{
|
|
position220, thunkPosition220 := position, thunkPosition
|
|
if !matchString("fieldset") {
|
|
goto l221
|
|
}
|
|
goto l220
|
|
l221:
|
|
position, thunkPosition = position220, thunkPosition220
|
|
if !matchString("FIELDSET") {
|
|
goto l219
|
|
}
|
|
}
|
|
l220:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l219
|
|
}
|
|
if !matchChar('>') {
|
|
goto l219
|
|
}
|
|
return true
|
|
l219:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 43 HtmlBlockOpenForm <- ('<' Spnl ('form' / 'FORM') Spnl HtmlAttribute* '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l222
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l222
|
|
}
|
|
{
|
|
position223, thunkPosition223 := position, thunkPosition
|
|
if !matchString("form") {
|
|
goto l224
|
|
}
|
|
goto l223
|
|
l224:
|
|
position, thunkPosition = position223, thunkPosition223
|
|
if !matchString("FORM") {
|
|
goto l222
|
|
}
|
|
}
|
|
l223:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l222
|
|
}
|
|
l225:
|
|
{
|
|
position226, thunkPosition226 := position, thunkPosition
|
|
if !p.rules[ruleHtmlAttribute]() {
|
|
goto l226
|
|
}
|
|
goto l225
|
|
l226:
|
|
position, thunkPosition = position226, thunkPosition226
|
|
}
|
|
if !matchChar('>') {
|
|
goto l222
|
|
}
|
|
return true
|
|
l222:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 44 HtmlBlockCloseForm <- ('<' Spnl '/' ('form' / 'FORM') Spnl '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l227
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l227
|
|
}
|
|
if !matchChar('/') {
|
|
goto l227
|
|
}
|
|
{
|
|
position228, thunkPosition228 := position, thunkPosition
|
|
if !matchString("form") {
|
|
goto l229
|
|
}
|
|
goto l228
|
|
l229:
|
|
position, thunkPosition = position228, thunkPosition228
|
|
if !matchString("FORM") {
|
|
goto l227
|
|
}
|
|
}
|
|
l228:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l227
|
|
}
|
|
if !matchChar('>') {
|
|
goto l227
|
|
}
|
|
return true
|
|
l227:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 45 HtmlBlockOpenH1 <- ('<' Spnl ('h1' / 'H1') Spnl HtmlAttribute* '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l230
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l230
|
|
}
|
|
{
|
|
position231, thunkPosition231 := position, thunkPosition
|
|
if !matchString("h1") {
|
|
goto l232
|
|
}
|
|
goto l231
|
|
l232:
|
|
position, thunkPosition = position231, thunkPosition231
|
|
if !matchString("H1") {
|
|
goto l230
|
|
}
|
|
}
|
|
l231:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l230
|
|
}
|
|
l233:
|
|
{
|
|
position234, thunkPosition234 := position, thunkPosition
|
|
if !p.rules[ruleHtmlAttribute]() {
|
|
goto l234
|
|
}
|
|
goto l233
|
|
l234:
|
|
position, thunkPosition = position234, thunkPosition234
|
|
}
|
|
if !matchChar('>') {
|
|
goto l230
|
|
}
|
|
return true
|
|
l230:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 46 HtmlBlockCloseH1 <- ('<' Spnl '/' ('h1' / 'H1') Spnl '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l235
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l235
|
|
}
|
|
if !matchChar('/') {
|
|
goto l235
|
|
}
|
|
{
|
|
position236, thunkPosition236 := position, thunkPosition
|
|
if !matchString("h1") {
|
|
goto l237
|
|
}
|
|
goto l236
|
|
l237:
|
|
position, thunkPosition = position236, thunkPosition236
|
|
if !matchString("H1") {
|
|
goto l235
|
|
}
|
|
}
|
|
l236:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l235
|
|
}
|
|
if !matchChar('>') {
|
|
goto l235
|
|
}
|
|
return true
|
|
l235:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 47 HtmlBlockOpenH2 <- ('<' Spnl ('h2' / 'H2') Spnl HtmlAttribute* '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l238
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l238
|
|
}
|
|
{
|
|
position239, thunkPosition239 := position, thunkPosition
|
|
if !matchString("h2") {
|
|
goto l240
|
|
}
|
|
goto l239
|
|
l240:
|
|
position, thunkPosition = position239, thunkPosition239
|
|
if !matchString("H2") {
|
|
goto l238
|
|
}
|
|
}
|
|
l239:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l238
|
|
}
|
|
l241:
|
|
{
|
|
position242, thunkPosition242 := position, thunkPosition
|
|
if !p.rules[ruleHtmlAttribute]() {
|
|
goto l242
|
|
}
|
|
goto l241
|
|
l242:
|
|
position, thunkPosition = position242, thunkPosition242
|
|
}
|
|
if !matchChar('>') {
|
|
goto l238
|
|
}
|
|
return true
|
|
l238:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 48 HtmlBlockCloseH2 <- ('<' Spnl '/' ('h2' / 'H2') Spnl '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l243
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l243
|
|
}
|
|
if !matchChar('/') {
|
|
goto l243
|
|
}
|
|
{
|
|
position244, thunkPosition244 := position, thunkPosition
|
|
if !matchString("h2") {
|
|
goto l245
|
|
}
|
|
goto l244
|
|
l245:
|
|
position, thunkPosition = position244, thunkPosition244
|
|
if !matchString("H2") {
|
|
goto l243
|
|
}
|
|
}
|
|
l244:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l243
|
|
}
|
|
if !matchChar('>') {
|
|
goto l243
|
|
}
|
|
return true
|
|
l243:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 49 HtmlBlockOpenH3 <- ('<' Spnl ('h3' / 'H3') Spnl HtmlAttribute* '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l246
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l246
|
|
}
|
|
{
|
|
position247, thunkPosition247 := position, thunkPosition
|
|
if !matchString("h3") {
|
|
goto l248
|
|
}
|
|
goto l247
|
|
l248:
|
|
position, thunkPosition = position247, thunkPosition247
|
|
if !matchString("H3") {
|
|
goto l246
|
|
}
|
|
}
|
|
l247:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l246
|
|
}
|
|
l249:
|
|
{
|
|
position250, thunkPosition250 := position, thunkPosition
|
|
if !p.rules[ruleHtmlAttribute]() {
|
|
goto l250
|
|
}
|
|
goto l249
|
|
l250:
|
|
position, thunkPosition = position250, thunkPosition250
|
|
}
|
|
if !matchChar('>') {
|
|
goto l246
|
|
}
|
|
return true
|
|
l246:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 50 HtmlBlockCloseH3 <- ('<' Spnl '/' ('h3' / 'H3') Spnl '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l251
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l251
|
|
}
|
|
if !matchChar('/') {
|
|
goto l251
|
|
}
|
|
{
|
|
position252, thunkPosition252 := position, thunkPosition
|
|
if !matchString("h3") {
|
|
goto l253
|
|
}
|
|
goto l252
|
|
l253:
|
|
position, thunkPosition = position252, thunkPosition252
|
|
if !matchString("H3") {
|
|
goto l251
|
|
}
|
|
}
|
|
l252:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l251
|
|
}
|
|
if !matchChar('>') {
|
|
goto l251
|
|
}
|
|
return true
|
|
l251:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 51 HtmlBlockOpenH4 <- ('<' Spnl ('h4' / 'H4') Spnl HtmlAttribute* '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l254
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l254
|
|
}
|
|
{
|
|
position255, thunkPosition255 := position, thunkPosition
|
|
if !matchString("h4") {
|
|
goto l256
|
|
}
|
|
goto l255
|
|
l256:
|
|
position, thunkPosition = position255, thunkPosition255
|
|
if !matchString("H4") {
|
|
goto l254
|
|
}
|
|
}
|
|
l255:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l254
|
|
}
|
|
l257:
|
|
{
|
|
position258, thunkPosition258 := position, thunkPosition
|
|
if !p.rules[ruleHtmlAttribute]() {
|
|
goto l258
|
|
}
|
|
goto l257
|
|
l258:
|
|
position, thunkPosition = position258, thunkPosition258
|
|
}
|
|
if !matchChar('>') {
|
|
goto l254
|
|
}
|
|
return true
|
|
l254:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 52 HtmlBlockCloseH4 <- ('<' Spnl '/' ('h4' / 'H4') Spnl '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l259
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l259
|
|
}
|
|
if !matchChar('/') {
|
|
goto l259
|
|
}
|
|
{
|
|
position260, thunkPosition260 := position, thunkPosition
|
|
if !matchString("h4") {
|
|
goto l261
|
|
}
|
|
goto l260
|
|
l261:
|
|
position, thunkPosition = position260, thunkPosition260
|
|
if !matchString("H4") {
|
|
goto l259
|
|
}
|
|
}
|
|
l260:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l259
|
|
}
|
|
if !matchChar('>') {
|
|
goto l259
|
|
}
|
|
return true
|
|
l259:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 53 HtmlBlockOpenH5 <- ('<' Spnl ('h5' / 'H5') Spnl HtmlAttribute* '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l262
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l262
|
|
}
|
|
{
|
|
position263, thunkPosition263 := position, thunkPosition
|
|
if !matchString("h5") {
|
|
goto l264
|
|
}
|
|
goto l263
|
|
l264:
|
|
position, thunkPosition = position263, thunkPosition263
|
|
if !matchString("H5") {
|
|
goto l262
|
|
}
|
|
}
|
|
l263:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l262
|
|
}
|
|
l265:
|
|
{
|
|
position266, thunkPosition266 := position, thunkPosition
|
|
if !p.rules[ruleHtmlAttribute]() {
|
|
goto l266
|
|
}
|
|
goto l265
|
|
l266:
|
|
position, thunkPosition = position266, thunkPosition266
|
|
}
|
|
if !matchChar('>') {
|
|
goto l262
|
|
}
|
|
return true
|
|
l262:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 54 HtmlBlockCloseH5 <- ('<' Spnl '/' ('h5' / 'H5') Spnl '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l267
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l267
|
|
}
|
|
if !matchChar('/') {
|
|
goto l267
|
|
}
|
|
{
|
|
position268, thunkPosition268 := position, thunkPosition
|
|
if !matchString("h5") {
|
|
goto l269
|
|
}
|
|
goto l268
|
|
l269:
|
|
position, thunkPosition = position268, thunkPosition268
|
|
if !matchString("H5") {
|
|
goto l267
|
|
}
|
|
}
|
|
l268:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l267
|
|
}
|
|
if !matchChar('>') {
|
|
goto l267
|
|
}
|
|
return true
|
|
l267:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 55 HtmlBlockOpenH6 <- ('<' Spnl ('h6' / 'H6') Spnl HtmlAttribute* '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l270
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l270
|
|
}
|
|
{
|
|
position271, thunkPosition271 := position, thunkPosition
|
|
if !matchString("h6") {
|
|
goto l272
|
|
}
|
|
goto l271
|
|
l272:
|
|
position, thunkPosition = position271, thunkPosition271
|
|
if !matchString("H6") {
|
|
goto l270
|
|
}
|
|
}
|
|
l271:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l270
|
|
}
|
|
l273:
|
|
{
|
|
position274, thunkPosition274 := position, thunkPosition
|
|
if !p.rules[ruleHtmlAttribute]() {
|
|
goto l274
|
|
}
|
|
goto l273
|
|
l274:
|
|
position, thunkPosition = position274, thunkPosition274
|
|
}
|
|
if !matchChar('>') {
|
|
goto l270
|
|
}
|
|
return true
|
|
l270:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 56 HtmlBlockCloseH6 <- ('<' Spnl '/' ('h6' / 'H6') Spnl '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l275
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l275
|
|
}
|
|
if !matchChar('/') {
|
|
goto l275
|
|
}
|
|
{
|
|
position276, thunkPosition276 := position, thunkPosition
|
|
if !matchString("h6") {
|
|
goto l277
|
|
}
|
|
goto l276
|
|
l277:
|
|
position, thunkPosition = position276, thunkPosition276
|
|
if !matchString("H6") {
|
|
goto l275
|
|
}
|
|
}
|
|
l276:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l275
|
|
}
|
|
if !matchChar('>') {
|
|
goto l275
|
|
}
|
|
return true
|
|
l275:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 57 HtmlBlockOpenMenu <- ('<' Spnl ('menu' / 'MENU') Spnl HtmlAttribute* '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l278
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l278
|
|
}
|
|
{
|
|
position279, thunkPosition279 := position, thunkPosition
|
|
if !matchString("menu") {
|
|
goto l280
|
|
}
|
|
goto l279
|
|
l280:
|
|
position, thunkPosition = position279, thunkPosition279
|
|
if !matchString("MENU") {
|
|
goto l278
|
|
}
|
|
}
|
|
l279:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l278
|
|
}
|
|
l281:
|
|
{
|
|
position282, thunkPosition282 := position, thunkPosition
|
|
if !p.rules[ruleHtmlAttribute]() {
|
|
goto l282
|
|
}
|
|
goto l281
|
|
l282:
|
|
position, thunkPosition = position282, thunkPosition282
|
|
}
|
|
if !matchChar('>') {
|
|
goto l278
|
|
}
|
|
return true
|
|
l278:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 58 HtmlBlockCloseMenu <- ('<' Spnl '/' ('menu' / 'MENU') Spnl '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l283
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l283
|
|
}
|
|
if !matchChar('/') {
|
|
goto l283
|
|
}
|
|
{
|
|
position284, thunkPosition284 := position, thunkPosition
|
|
if !matchString("menu") {
|
|
goto l285
|
|
}
|
|
goto l284
|
|
l285:
|
|
position, thunkPosition = position284, thunkPosition284
|
|
if !matchString("MENU") {
|
|
goto l283
|
|
}
|
|
}
|
|
l284:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l283
|
|
}
|
|
if !matchChar('>') {
|
|
goto l283
|
|
}
|
|
return true
|
|
l283:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 59 HtmlBlockOpenNoframes <- ('<' Spnl ('noframes' / 'NOFRAMES') Spnl HtmlAttribute* '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l286
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l286
|
|
}
|
|
{
|
|
position287, thunkPosition287 := position, thunkPosition
|
|
if !matchString("noframes") {
|
|
goto l288
|
|
}
|
|
goto l287
|
|
l288:
|
|
position, thunkPosition = position287, thunkPosition287
|
|
if !matchString("NOFRAMES") {
|
|
goto l286
|
|
}
|
|
}
|
|
l287:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l286
|
|
}
|
|
l289:
|
|
{
|
|
position290, thunkPosition290 := position, thunkPosition
|
|
if !p.rules[ruleHtmlAttribute]() {
|
|
goto l290
|
|
}
|
|
goto l289
|
|
l290:
|
|
position, thunkPosition = position290, thunkPosition290
|
|
}
|
|
if !matchChar('>') {
|
|
goto l286
|
|
}
|
|
return true
|
|
l286:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 60 HtmlBlockCloseNoframes <- ('<' Spnl '/' ('noframes' / 'NOFRAMES') Spnl '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l291
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l291
|
|
}
|
|
if !matchChar('/') {
|
|
goto l291
|
|
}
|
|
{
|
|
position292, thunkPosition292 := position, thunkPosition
|
|
if !matchString("noframes") {
|
|
goto l293
|
|
}
|
|
goto l292
|
|
l293:
|
|
position, thunkPosition = position292, thunkPosition292
|
|
if !matchString("NOFRAMES") {
|
|
goto l291
|
|
}
|
|
}
|
|
l292:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l291
|
|
}
|
|
if !matchChar('>') {
|
|
goto l291
|
|
}
|
|
return true
|
|
l291:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 61 HtmlBlockOpenNoscript <- ('<' Spnl ('noscript' / 'NOSCRIPT') Spnl HtmlAttribute* '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l294
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l294
|
|
}
|
|
{
|
|
position295, thunkPosition295 := position, thunkPosition
|
|
if !matchString("noscript") {
|
|
goto l296
|
|
}
|
|
goto l295
|
|
l296:
|
|
position, thunkPosition = position295, thunkPosition295
|
|
if !matchString("NOSCRIPT") {
|
|
goto l294
|
|
}
|
|
}
|
|
l295:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l294
|
|
}
|
|
l297:
|
|
{
|
|
position298, thunkPosition298 := position, thunkPosition
|
|
if !p.rules[ruleHtmlAttribute]() {
|
|
goto l298
|
|
}
|
|
goto l297
|
|
l298:
|
|
position, thunkPosition = position298, thunkPosition298
|
|
}
|
|
if !matchChar('>') {
|
|
goto l294
|
|
}
|
|
return true
|
|
l294:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 62 HtmlBlockCloseNoscript <- ('<' Spnl '/' ('noscript' / 'NOSCRIPT') Spnl '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l299
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l299
|
|
}
|
|
if !matchChar('/') {
|
|
goto l299
|
|
}
|
|
{
|
|
position300, thunkPosition300 := position, thunkPosition
|
|
if !matchString("noscript") {
|
|
goto l301
|
|
}
|
|
goto l300
|
|
l301:
|
|
position, thunkPosition = position300, thunkPosition300
|
|
if !matchString("NOSCRIPT") {
|
|
goto l299
|
|
}
|
|
}
|
|
l300:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l299
|
|
}
|
|
if !matchChar('>') {
|
|
goto l299
|
|
}
|
|
return true
|
|
l299:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 63 HtmlBlockOpenOl <- ('<' Spnl ('ol' / 'OL') Spnl HtmlAttribute* '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l302
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l302
|
|
}
|
|
{
|
|
position303, thunkPosition303 := position, thunkPosition
|
|
if !matchString("ol") {
|
|
goto l304
|
|
}
|
|
goto l303
|
|
l304:
|
|
position, thunkPosition = position303, thunkPosition303
|
|
if !matchString("OL") {
|
|
goto l302
|
|
}
|
|
}
|
|
l303:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l302
|
|
}
|
|
l305:
|
|
{
|
|
position306, thunkPosition306 := position, thunkPosition
|
|
if !p.rules[ruleHtmlAttribute]() {
|
|
goto l306
|
|
}
|
|
goto l305
|
|
l306:
|
|
position, thunkPosition = position306, thunkPosition306
|
|
}
|
|
if !matchChar('>') {
|
|
goto l302
|
|
}
|
|
return true
|
|
l302:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 64 HtmlBlockCloseOl <- ('<' Spnl '/' ('ol' / 'OL') Spnl '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l307
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l307
|
|
}
|
|
if !matchChar('/') {
|
|
goto l307
|
|
}
|
|
{
|
|
position308, thunkPosition308 := position, thunkPosition
|
|
if !matchString("ol") {
|
|
goto l309
|
|
}
|
|
goto l308
|
|
l309:
|
|
position, thunkPosition = position308, thunkPosition308
|
|
if !matchString("OL") {
|
|
goto l307
|
|
}
|
|
}
|
|
l308:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l307
|
|
}
|
|
if !matchChar('>') {
|
|
goto l307
|
|
}
|
|
return true
|
|
l307:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 65 HtmlBlockOpenP <- ('<' Spnl ('p' / 'P') Spnl HtmlAttribute* '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l310
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l310
|
|
}
|
|
{
|
|
position311, thunkPosition311 := position, thunkPosition
|
|
if !matchChar('p') {
|
|
goto l312
|
|
}
|
|
goto l311
|
|
l312:
|
|
position, thunkPosition = position311, thunkPosition311
|
|
if !matchChar('P') {
|
|
goto l310
|
|
}
|
|
}
|
|
l311:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l310
|
|
}
|
|
l313:
|
|
{
|
|
position314, thunkPosition314 := position, thunkPosition
|
|
if !p.rules[ruleHtmlAttribute]() {
|
|
goto l314
|
|
}
|
|
goto l313
|
|
l314:
|
|
position, thunkPosition = position314, thunkPosition314
|
|
}
|
|
if !matchChar('>') {
|
|
goto l310
|
|
}
|
|
return true
|
|
l310:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 66 HtmlBlockCloseP <- ('<' Spnl '/' ('p' / 'P') Spnl '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l315
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l315
|
|
}
|
|
if !matchChar('/') {
|
|
goto l315
|
|
}
|
|
{
|
|
position316, thunkPosition316 := position, thunkPosition
|
|
if !matchChar('p') {
|
|
goto l317
|
|
}
|
|
goto l316
|
|
l317:
|
|
position, thunkPosition = position316, thunkPosition316
|
|
if !matchChar('P') {
|
|
goto l315
|
|
}
|
|
}
|
|
l316:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l315
|
|
}
|
|
if !matchChar('>') {
|
|
goto l315
|
|
}
|
|
return true
|
|
l315:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 67 HtmlBlockOpenPre <- ('<' Spnl ('pre' / 'PRE') Spnl HtmlAttribute* '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l318
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l318
|
|
}
|
|
{
|
|
position319, thunkPosition319 := position, thunkPosition
|
|
if !matchString("pre") {
|
|
goto l320
|
|
}
|
|
goto l319
|
|
l320:
|
|
position, thunkPosition = position319, thunkPosition319
|
|
if !matchString("PRE") {
|
|
goto l318
|
|
}
|
|
}
|
|
l319:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l318
|
|
}
|
|
l321:
|
|
{
|
|
position322, thunkPosition322 := position, thunkPosition
|
|
if !p.rules[ruleHtmlAttribute]() {
|
|
goto l322
|
|
}
|
|
goto l321
|
|
l322:
|
|
position, thunkPosition = position322, thunkPosition322
|
|
}
|
|
if !matchChar('>') {
|
|
goto l318
|
|
}
|
|
return true
|
|
l318:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 68 HtmlBlockClosePre <- ('<' Spnl '/' ('pre' / 'PRE') Spnl '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l323
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l323
|
|
}
|
|
if !matchChar('/') {
|
|
goto l323
|
|
}
|
|
{
|
|
position324, thunkPosition324 := position, thunkPosition
|
|
if !matchString("pre") {
|
|
goto l325
|
|
}
|
|
goto l324
|
|
l325:
|
|
position, thunkPosition = position324, thunkPosition324
|
|
if !matchString("PRE") {
|
|
goto l323
|
|
}
|
|
}
|
|
l324:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l323
|
|
}
|
|
if !matchChar('>') {
|
|
goto l323
|
|
}
|
|
return true
|
|
l323:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 69 HtmlBlockOpenTable <- ('<' Spnl ('table' / 'TABLE') Spnl HtmlAttribute* '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l326
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l326
|
|
}
|
|
{
|
|
position327, thunkPosition327 := position, thunkPosition
|
|
if !matchString("table") {
|
|
goto l328
|
|
}
|
|
goto l327
|
|
l328:
|
|
position, thunkPosition = position327, thunkPosition327
|
|
if !matchString("TABLE") {
|
|
goto l326
|
|
}
|
|
}
|
|
l327:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l326
|
|
}
|
|
l329:
|
|
{
|
|
position330, thunkPosition330 := position, thunkPosition
|
|
if !p.rules[ruleHtmlAttribute]() {
|
|
goto l330
|
|
}
|
|
goto l329
|
|
l330:
|
|
position, thunkPosition = position330, thunkPosition330
|
|
}
|
|
if !matchChar('>') {
|
|
goto l326
|
|
}
|
|
return true
|
|
l326:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 70 HtmlBlockCloseTable <- ('<' Spnl '/' ('table' / 'TABLE') Spnl '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l331
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l331
|
|
}
|
|
if !matchChar('/') {
|
|
goto l331
|
|
}
|
|
{
|
|
position332, thunkPosition332 := position, thunkPosition
|
|
if !matchString("table") {
|
|
goto l333
|
|
}
|
|
goto l332
|
|
l333:
|
|
position, thunkPosition = position332, thunkPosition332
|
|
if !matchString("TABLE") {
|
|
goto l331
|
|
}
|
|
}
|
|
l332:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l331
|
|
}
|
|
if !matchChar('>') {
|
|
goto l331
|
|
}
|
|
return true
|
|
l331:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 71 HtmlBlockOpenUl <- ('<' Spnl ('ul' / 'UL') Spnl HtmlAttribute* '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l334
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l334
|
|
}
|
|
{
|
|
position335, thunkPosition335 := position, thunkPosition
|
|
if !matchString("ul") {
|
|
goto l336
|
|
}
|
|
goto l335
|
|
l336:
|
|
position, thunkPosition = position335, thunkPosition335
|
|
if !matchString("UL") {
|
|
goto l334
|
|
}
|
|
}
|
|
l335:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l334
|
|
}
|
|
l337:
|
|
{
|
|
position338, thunkPosition338 := position, thunkPosition
|
|
if !p.rules[ruleHtmlAttribute]() {
|
|
goto l338
|
|
}
|
|
goto l337
|
|
l338:
|
|
position, thunkPosition = position338, thunkPosition338
|
|
}
|
|
if !matchChar('>') {
|
|
goto l334
|
|
}
|
|
return true
|
|
l334:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 72 HtmlBlockCloseUl <- ('<' Spnl '/' ('ul' / 'UL') Spnl '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l339
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l339
|
|
}
|
|
if !matchChar('/') {
|
|
goto l339
|
|
}
|
|
{
|
|
position340, thunkPosition340 := position, thunkPosition
|
|
if !matchString("ul") {
|
|
goto l341
|
|
}
|
|
goto l340
|
|
l341:
|
|
position, thunkPosition = position340, thunkPosition340
|
|
if !matchString("UL") {
|
|
goto l339
|
|
}
|
|
}
|
|
l340:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l339
|
|
}
|
|
if !matchChar('>') {
|
|
goto l339
|
|
}
|
|
return true
|
|
l339:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 73 HtmlBlockOpenDd <- ('<' Spnl ('dd' / 'DD') Spnl HtmlAttribute* '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l342
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l342
|
|
}
|
|
{
|
|
position343, thunkPosition343 := position, thunkPosition
|
|
if !matchString("dd") {
|
|
goto l344
|
|
}
|
|
goto l343
|
|
l344:
|
|
position, thunkPosition = position343, thunkPosition343
|
|
if !matchString("DD") {
|
|
goto l342
|
|
}
|
|
}
|
|
l343:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l342
|
|
}
|
|
l345:
|
|
{
|
|
position346, thunkPosition346 := position, thunkPosition
|
|
if !p.rules[ruleHtmlAttribute]() {
|
|
goto l346
|
|
}
|
|
goto l345
|
|
l346:
|
|
position, thunkPosition = position346, thunkPosition346
|
|
}
|
|
if !matchChar('>') {
|
|
goto l342
|
|
}
|
|
return true
|
|
l342:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 74 HtmlBlockCloseDd <- ('<' Spnl '/' ('dd' / 'DD') Spnl '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l347
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l347
|
|
}
|
|
if !matchChar('/') {
|
|
goto l347
|
|
}
|
|
{
|
|
position348, thunkPosition348 := position, thunkPosition
|
|
if !matchString("dd") {
|
|
goto l349
|
|
}
|
|
goto l348
|
|
l349:
|
|
position, thunkPosition = position348, thunkPosition348
|
|
if !matchString("DD") {
|
|
goto l347
|
|
}
|
|
}
|
|
l348:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l347
|
|
}
|
|
if !matchChar('>') {
|
|
goto l347
|
|
}
|
|
return true
|
|
l347:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 75 HtmlBlockOpenDt <- ('<' Spnl ('dt' / 'DT') Spnl HtmlAttribute* '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l350
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l350
|
|
}
|
|
{
|
|
position351, thunkPosition351 := position, thunkPosition
|
|
if !matchString("dt") {
|
|
goto l352
|
|
}
|
|
goto l351
|
|
l352:
|
|
position, thunkPosition = position351, thunkPosition351
|
|
if !matchString("DT") {
|
|
goto l350
|
|
}
|
|
}
|
|
l351:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l350
|
|
}
|
|
l353:
|
|
{
|
|
position354, thunkPosition354 := position, thunkPosition
|
|
if !p.rules[ruleHtmlAttribute]() {
|
|
goto l354
|
|
}
|
|
goto l353
|
|
l354:
|
|
position, thunkPosition = position354, thunkPosition354
|
|
}
|
|
if !matchChar('>') {
|
|
goto l350
|
|
}
|
|
return true
|
|
l350:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 76 HtmlBlockCloseDt <- ('<' Spnl '/' ('dt' / 'DT') Spnl '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l355
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l355
|
|
}
|
|
if !matchChar('/') {
|
|
goto l355
|
|
}
|
|
{
|
|
position356, thunkPosition356 := position, thunkPosition
|
|
if !matchString("dt") {
|
|
goto l357
|
|
}
|
|
goto l356
|
|
l357:
|
|
position, thunkPosition = position356, thunkPosition356
|
|
if !matchString("DT") {
|
|
goto l355
|
|
}
|
|
}
|
|
l356:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l355
|
|
}
|
|
if !matchChar('>') {
|
|
goto l355
|
|
}
|
|
return true
|
|
l355:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 77 HtmlBlockOpenFrameset <- ('<' Spnl ('frameset' / 'FRAMESET') Spnl HtmlAttribute* '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l358
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l358
|
|
}
|
|
{
|
|
position359, thunkPosition359 := position, thunkPosition
|
|
if !matchString("frameset") {
|
|
goto l360
|
|
}
|
|
goto l359
|
|
l360:
|
|
position, thunkPosition = position359, thunkPosition359
|
|
if !matchString("FRAMESET") {
|
|
goto l358
|
|
}
|
|
}
|
|
l359:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l358
|
|
}
|
|
l361:
|
|
{
|
|
position362, thunkPosition362 := position, thunkPosition
|
|
if !p.rules[ruleHtmlAttribute]() {
|
|
goto l362
|
|
}
|
|
goto l361
|
|
l362:
|
|
position, thunkPosition = position362, thunkPosition362
|
|
}
|
|
if !matchChar('>') {
|
|
goto l358
|
|
}
|
|
return true
|
|
l358:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 78 HtmlBlockCloseFrameset <- ('<' Spnl '/' ('frameset' / 'FRAMESET') Spnl '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l363
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l363
|
|
}
|
|
if !matchChar('/') {
|
|
goto l363
|
|
}
|
|
{
|
|
position364, thunkPosition364 := position, thunkPosition
|
|
if !matchString("frameset") {
|
|
goto l365
|
|
}
|
|
goto l364
|
|
l365:
|
|
position, thunkPosition = position364, thunkPosition364
|
|
if !matchString("FRAMESET") {
|
|
goto l363
|
|
}
|
|
}
|
|
l364:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l363
|
|
}
|
|
if !matchChar('>') {
|
|
goto l363
|
|
}
|
|
return true
|
|
l363:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 79 HtmlBlockOpenLi <- ('<' Spnl ('li' / 'LI') Spnl HtmlAttribute* '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l366
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l366
|
|
}
|
|
{
|
|
position367, thunkPosition367 := position, thunkPosition
|
|
if !matchString("li") {
|
|
goto l368
|
|
}
|
|
goto l367
|
|
l368:
|
|
position, thunkPosition = position367, thunkPosition367
|
|
if !matchString("LI") {
|
|
goto l366
|
|
}
|
|
}
|
|
l367:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l366
|
|
}
|
|
l369:
|
|
{
|
|
position370, thunkPosition370 := position, thunkPosition
|
|
if !p.rules[ruleHtmlAttribute]() {
|
|
goto l370
|
|
}
|
|
goto l369
|
|
l370:
|
|
position, thunkPosition = position370, thunkPosition370
|
|
}
|
|
if !matchChar('>') {
|
|
goto l366
|
|
}
|
|
return true
|
|
l366:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 80 HtmlBlockCloseLi <- ('<' Spnl '/' ('li' / 'LI') Spnl '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l371
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l371
|
|
}
|
|
if !matchChar('/') {
|
|
goto l371
|
|
}
|
|
{
|
|
position372, thunkPosition372 := position, thunkPosition
|
|
if !matchString("li") {
|
|
goto l373
|
|
}
|
|
goto l372
|
|
l373:
|
|
position, thunkPosition = position372, thunkPosition372
|
|
if !matchString("LI") {
|
|
goto l371
|
|
}
|
|
}
|
|
l372:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l371
|
|
}
|
|
if !matchChar('>') {
|
|
goto l371
|
|
}
|
|
return true
|
|
l371:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 81 HtmlBlockOpenTbody <- ('<' Spnl ('tbody' / 'TBODY') Spnl HtmlAttribute* '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l374
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l374
|
|
}
|
|
{
|
|
position375, thunkPosition375 := position, thunkPosition
|
|
if !matchString("tbody") {
|
|
goto l376
|
|
}
|
|
goto l375
|
|
l376:
|
|
position, thunkPosition = position375, thunkPosition375
|
|
if !matchString("TBODY") {
|
|
goto l374
|
|
}
|
|
}
|
|
l375:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l374
|
|
}
|
|
l377:
|
|
{
|
|
position378, thunkPosition378 := position, thunkPosition
|
|
if !p.rules[ruleHtmlAttribute]() {
|
|
goto l378
|
|
}
|
|
goto l377
|
|
l378:
|
|
position, thunkPosition = position378, thunkPosition378
|
|
}
|
|
if !matchChar('>') {
|
|
goto l374
|
|
}
|
|
return true
|
|
l374:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 82 HtmlBlockCloseTbody <- ('<' Spnl '/' ('tbody' / 'TBODY') Spnl '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l379
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l379
|
|
}
|
|
if !matchChar('/') {
|
|
goto l379
|
|
}
|
|
{
|
|
position380, thunkPosition380 := position, thunkPosition
|
|
if !matchString("tbody") {
|
|
goto l381
|
|
}
|
|
goto l380
|
|
l381:
|
|
position, thunkPosition = position380, thunkPosition380
|
|
if !matchString("TBODY") {
|
|
goto l379
|
|
}
|
|
}
|
|
l380:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l379
|
|
}
|
|
if !matchChar('>') {
|
|
goto l379
|
|
}
|
|
return true
|
|
l379:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 83 HtmlBlockOpenTd <- ('<' Spnl ('td' / 'TD') Spnl HtmlAttribute* '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l382
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l382
|
|
}
|
|
{
|
|
position383, thunkPosition383 := position, thunkPosition
|
|
if !matchString("td") {
|
|
goto l384
|
|
}
|
|
goto l383
|
|
l384:
|
|
position, thunkPosition = position383, thunkPosition383
|
|
if !matchString("TD") {
|
|
goto l382
|
|
}
|
|
}
|
|
l383:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l382
|
|
}
|
|
l385:
|
|
{
|
|
position386, thunkPosition386 := position, thunkPosition
|
|
if !p.rules[ruleHtmlAttribute]() {
|
|
goto l386
|
|
}
|
|
goto l385
|
|
l386:
|
|
position, thunkPosition = position386, thunkPosition386
|
|
}
|
|
if !matchChar('>') {
|
|
goto l382
|
|
}
|
|
return true
|
|
l382:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 84 HtmlBlockCloseTd <- ('<' Spnl '/' ('td' / 'TD') Spnl '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l387
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l387
|
|
}
|
|
if !matchChar('/') {
|
|
goto l387
|
|
}
|
|
{
|
|
position388, thunkPosition388 := position, thunkPosition
|
|
if !matchString("td") {
|
|
goto l389
|
|
}
|
|
goto l388
|
|
l389:
|
|
position, thunkPosition = position388, thunkPosition388
|
|
if !matchString("TD") {
|
|
goto l387
|
|
}
|
|
}
|
|
l388:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l387
|
|
}
|
|
if !matchChar('>') {
|
|
goto l387
|
|
}
|
|
return true
|
|
l387:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 85 HtmlBlockOpenTfoot <- ('<' Spnl ('tfoot' / 'TFOOT') Spnl HtmlAttribute* '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l390
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l390
|
|
}
|
|
{
|
|
position391, thunkPosition391 := position, thunkPosition
|
|
if !matchString("tfoot") {
|
|
goto l392
|
|
}
|
|
goto l391
|
|
l392:
|
|
position, thunkPosition = position391, thunkPosition391
|
|
if !matchString("TFOOT") {
|
|
goto l390
|
|
}
|
|
}
|
|
l391:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l390
|
|
}
|
|
l393:
|
|
{
|
|
position394, thunkPosition394 := position, thunkPosition
|
|
if !p.rules[ruleHtmlAttribute]() {
|
|
goto l394
|
|
}
|
|
goto l393
|
|
l394:
|
|
position, thunkPosition = position394, thunkPosition394
|
|
}
|
|
if !matchChar('>') {
|
|
goto l390
|
|
}
|
|
return true
|
|
l390:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 86 HtmlBlockCloseTfoot <- ('<' Spnl '/' ('tfoot' / 'TFOOT') Spnl '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l395
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l395
|
|
}
|
|
if !matchChar('/') {
|
|
goto l395
|
|
}
|
|
{
|
|
position396, thunkPosition396 := position, thunkPosition
|
|
if !matchString("tfoot") {
|
|
goto l397
|
|
}
|
|
goto l396
|
|
l397:
|
|
position, thunkPosition = position396, thunkPosition396
|
|
if !matchString("TFOOT") {
|
|
goto l395
|
|
}
|
|
}
|
|
l396:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l395
|
|
}
|
|
if !matchChar('>') {
|
|
goto l395
|
|
}
|
|
return true
|
|
l395:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 87 HtmlBlockOpenTh <- ('<' Spnl ('th' / 'TH') Spnl HtmlAttribute* '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l398
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l398
|
|
}
|
|
{
|
|
position399, thunkPosition399 := position, thunkPosition
|
|
if !matchString("th") {
|
|
goto l400
|
|
}
|
|
goto l399
|
|
l400:
|
|
position, thunkPosition = position399, thunkPosition399
|
|
if !matchString("TH") {
|
|
goto l398
|
|
}
|
|
}
|
|
l399:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l398
|
|
}
|
|
l401:
|
|
{
|
|
position402, thunkPosition402 := position, thunkPosition
|
|
if !p.rules[ruleHtmlAttribute]() {
|
|
goto l402
|
|
}
|
|
goto l401
|
|
l402:
|
|
position, thunkPosition = position402, thunkPosition402
|
|
}
|
|
if !matchChar('>') {
|
|
goto l398
|
|
}
|
|
return true
|
|
l398:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 88 HtmlBlockCloseTh <- ('<' Spnl '/' ('th' / 'TH') Spnl '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l403
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l403
|
|
}
|
|
if !matchChar('/') {
|
|
goto l403
|
|
}
|
|
{
|
|
position404, thunkPosition404 := position, thunkPosition
|
|
if !matchString("th") {
|
|
goto l405
|
|
}
|
|
goto l404
|
|
l405:
|
|
position, thunkPosition = position404, thunkPosition404
|
|
if !matchString("TH") {
|
|
goto l403
|
|
}
|
|
}
|
|
l404:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l403
|
|
}
|
|
if !matchChar('>') {
|
|
goto l403
|
|
}
|
|
return true
|
|
l403:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 89 HtmlBlockOpenThead <- ('<' Spnl ('thead' / 'THEAD') Spnl HtmlAttribute* '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l406
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l406
|
|
}
|
|
{
|
|
position407, thunkPosition407 := position, thunkPosition
|
|
if !matchString("thead") {
|
|
goto l408
|
|
}
|
|
goto l407
|
|
l408:
|
|
position, thunkPosition = position407, thunkPosition407
|
|
if !matchString("THEAD") {
|
|
goto l406
|
|
}
|
|
}
|
|
l407:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l406
|
|
}
|
|
l409:
|
|
{
|
|
position410, thunkPosition410 := position, thunkPosition
|
|
if !p.rules[ruleHtmlAttribute]() {
|
|
goto l410
|
|
}
|
|
goto l409
|
|
l410:
|
|
position, thunkPosition = position410, thunkPosition410
|
|
}
|
|
if !matchChar('>') {
|
|
goto l406
|
|
}
|
|
return true
|
|
l406:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 90 HtmlBlockCloseThead <- ('<' Spnl '/' ('thead' / 'THEAD') Spnl '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l411
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l411
|
|
}
|
|
if !matchChar('/') {
|
|
goto l411
|
|
}
|
|
{
|
|
position412, thunkPosition412 := position, thunkPosition
|
|
if !matchString("thead") {
|
|
goto l413
|
|
}
|
|
goto l412
|
|
l413:
|
|
position, thunkPosition = position412, thunkPosition412
|
|
if !matchString("THEAD") {
|
|
goto l411
|
|
}
|
|
}
|
|
l412:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l411
|
|
}
|
|
if !matchChar('>') {
|
|
goto l411
|
|
}
|
|
return true
|
|
l411:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 91 HtmlBlockOpenTr <- ('<' Spnl ('tr' / 'TR') Spnl HtmlAttribute* '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l414
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l414
|
|
}
|
|
{
|
|
position415, thunkPosition415 := position, thunkPosition
|
|
if !matchString("tr") {
|
|
goto l416
|
|
}
|
|
goto l415
|
|
l416:
|
|
position, thunkPosition = position415, thunkPosition415
|
|
if !matchString("TR") {
|
|
goto l414
|
|
}
|
|
}
|
|
l415:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l414
|
|
}
|
|
l417:
|
|
{
|
|
position418, thunkPosition418 := position, thunkPosition
|
|
if !p.rules[ruleHtmlAttribute]() {
|
|
goto l418
|
|
}
|
|
goto l417
|
|
l418:
|
|
position, thunkPosition = position418, thunkPosition418
|
|
}
|
|
if !matchChar('>') {
|
|
goto l414
|
|
}
|
|
return true
|
|
l414:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 92 HtmlBlockCloseTr <- ('<' Spnl '/' ('tr' / 'TR') Spnl '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l419
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l419
|
|
}
|
|
if !matchChar('/') {
|
|
goto l419
|
|
}
|
|
{
|
|
position420, thunkPosition420 := position, thunkPosition
|
|
if !matchString("tr") {
|
|
goto l421
|
|
}
|
|
goto l420
|
|
l421:
|
|
position, thunkPosition = position420, thunkPosition420
|
|
if !matchString("TR") {
|
|
goto l419
|
|
}
|
|
}
|
|
l420:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l419
|
|
}
|
|
if !matchChar('>') {
|
|
goto l419
|
|
}
|
|
return true
|
|
l419:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 93 HtmlBlockOpenScript <- ('<' Spnl ('script' / 'SCRIPT') Spnl HtmlAttribute* '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l422
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l422
|
|
}
|
|
{
|
|
position423, thunkPosition423 := position, thunkPosition
|
|
if !matchString("script") {
|
|
goto l424
|
|
}
|
|
goto l423
|
|
l424:
|
|
position, thunkPosition = position423, thunkPosition423
|
|
if !matchString("SCRIPT") {
|
|
goto l422
|
|
}
|
|
}
|
|
l423:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l422
|
|
}
|
|
l425:
|
|
{
|
|
position426, thunkPosition426 := position, thunkPosition
|
|
if !p.rules[ruleHtmlAttribute]() {
|
|
goto l426
|
|
}
|
|
goto l425
|
|
l426:
|
|
position, thunkPosition = position426, thunkPosition426
|
|
}
|
|
if !matchChar('>') {
|
|
goto l422
|
|
}
|
|
return true
|
|
l422:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 94 HtmlBlockCloseScript <- ('<' Spnl '/' ('script' / 'SCRIPT') Spnl '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l427
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l427
|
|
}
|
|
if !matchChar('/') {
|
|
goto l427
|
|
}
|
|
{
|
|
position428, thunkPosition428 := position, thunkPosition
|
|
if !matchString("script") {
|
|
goto l429
|
|
}
|
|
goto l428
|
|
l429:
|
|
position, thunkPosition = position428, thunkPosition428
|
|
if !matchString("SCRIPT") {
|
|
goto l427
|
|
}
|
|
}
|
|
l428:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l427
|
|
}
|
|
if !matchChar('>') {
|
|
goto l427
|
|
}
|
|
return true
|
|
l427:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 95 HtmlBlockInTags <- ((HtmlBlockOpenAddress (HtmlBlockInTags / (!HtmlBlockCloseAddress .))* HtmlBlockCloseAddress) / (HtmlBlockOpenBlockquote (HtmlBlockInTags / (!HtmlBlockCloseBlockquote .))* HtmlBlockCloseBlockquote) / (HtmlBlockOpenCenter (HtmlBlockInTags / (!HtmlBlockCloseCenter .))* HtmlBlockCloseCenter) / (HtmlBlockOpenDir (HtmlBlockInTags / (!HtmlBlockCloseDir .))* HtmlBlockCloseDir) / (HtmlBlockOpenDiv (HtmlBlockInTags / (!HtmlBlockCloseDiv .))* HtmlBlockCloseDiv) / (HtmlBlockOpenDl (HtmlBlockInTags / (!HtmlBlockCloseDl .))* HtmlBlockCloseDl) / (HtmlBlockOpenFieldset (HtmlBlockInTags / (!HtmlBlockCloseFieldset .))* HtmlBlockCloseFieldset) / (HtmlBlockOpenForm (HtmlBlockInTags / (!HtmlBlockCloseForm .))* HtmlBlockCloseForm) / (HtmlBlockOpenH1 (HtmlBlockInTags / (!HtmlBlockCloseH1 .))* HtmlBlockCloseH1) / (HtmlBlockOpenH2 (HtmlBlockInTags / (!HtmlBlockCloseH2 .))* HtmlBlockCloseH2) / (HtmlBlockOpenH3 (HtmlBlockInTags / (!HtmlBlockCloseH3 .))* HtmlBlockCloseH3) / (HtmlBlockOpenH4 (HtmlBlockInTags / (!HtmlBlockCloseH4 .))* HtmlBlockCloseH4) / (HtmlBlockOpenH5 (HtmlBlockInTags / (!HtmlBlockCloseH5 .))* HtmlBlockCloseH5) / (HtmlBlockOpenH6 (HtmlBlockInTags / (!HtmlBlockCloseH6 .))* HtmlBlockCloseH6) / (HtmlBlockOpenMenu (HtmlBlockInTags / (!HtmlBlockCloseMenu .))* HtmlBlockCloseMenu) / (HtmlBlockOpenNoframes (HtmlBlockInTags / (!HtmlBlockCloseNoframes .))* HtmlBlockCloseNoframes) / (HtmlBlockOpenNoscript (HtmlBlockInTags / (!HtmlBlockCloseNoscript .))* HtmlBlockCloseNoscript) / (HtmlBlockOpenOl (HtmlBlockInTags / (!HtmlBlockCloseOl .))* HtmlBlockCloseOl) / (HtmlBlockOpenP (HtmlBlockInTags / (!HtmlBlockCloseP .))* HtmlBlockCloseP) / (HtmlBlockOpenPre (HtmlBlockInTags / (!HtmlBlockClosePre .))* HtmlBlockClosePre) / (HtmlBlockOpenTable (HtmlBlockInTags / (!HtmlBlockCloseTable .))* HtmlBlockCloseTable) / (HtmlBlockOpenUl (HtmlBlockInTags / (!HtmlBlockCloseUl .))* HtmlBlockCloseUl) / (HtmlBlockOpenDd (HtmlBlockInTags / (!HtmlBlockCloseDd .))* HtmlBlockCloseDd) / (HtmlBlockOpenDt (HtmlBlockInTags / (!HtmlBlockCloseDt .))* HtmlBlockCloseDt) / (HtmlBlockOpenFrameset (HtmlBlockInTags / (!HtmlBlockCloseFrameset .))* HtmlBlockCloseFrameset) / (HtmlBlockOpenLi (HtmlBlockInTags / (!HtmlBlockCloseLi .))* HtmlBlockCloseLi) / (HtmlBlockOpenTbody (HtmlBlockInTags / (!HtmlBlockCloseTbody .))* HtmlBlockCloseTbody) / (HtmlBlockOpenTd (HtmlBlockInTags / (!HtmlBlockCloseTd .))* HtmlBlockCloseTd) / (HtmlBlockOpenTfoot (HtmlBlockInTags / (!HtmlBlockCloseTfoot .))* HtmlBlockCloseTfoot) / (HtmlBlockOpenTh (HtmlBlockInTags / (!HtmlBlockCloseTh .))* HtmlBlockCloseTh) / (HtmlBlockOpenThead (HtmlBlockInTags / (!HtmlBlockCloseThead .))* HtmlBlockCloseThead) / (HtmlBlockOpenTr (HtmlBlockInTags / (!HtmlBlockCloseTr .))* HtmlBlockCloseTr) / (HtmlBlockOpenScript (HtmlBlockInTags / (!HtmlBlockCloseScript .))* HtmlBlockCloseScript)) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
{
|
|
position431, thunkPosition431 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockOpenAddress]() {
|
|
goto l432
|
|
}
|
|
l433:
|
|
{
|
|
position434, thunkPosition434 := position, thunkPosition
|
|
{
|
|
position435, thunkPosition435 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockInTags]() {
|
|
goto l436
|
|
}
|
|
goto l435
|
|
l436:
|
|
position, thunkPosition = position435, thunkPosition435
|
|
{
|
|
position437, thunkPosition437 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockCloseAddress]() {
|
|
goto l437
|
|
}
|
|
goto l434
|
|
l437:
|
|
position, thunkPosition = position437, thunkPosition437
|
|
}
|
|
if !matchDot() {
|
|
goto l434
|
|
}
|
|
}
|
|
l435:
|
|
goto l433
|
|
l434:
|
|
position, thunkPosition = position434, thunkPosition434
|
|
}
|
|
if !p.rules[ruleHtmlBlockCloseAddress]() {
|
|
goto l432
|
|
}
|
|
goto l431
|
|
l432:
|
|
position, thunkPosition = position431, thunkPosition431
|
|
if !p.rules[ruleHtmlBlockOpenBlockquote]() {
|
|
goto l438
|
|
}
|
|
l439:
|
|
{
|
|
position440, thunkPosition440 := position, thunkPosition
|
|
{
|
|
position441, thunkPosition441 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockInTags]() {
|
|
goto l442
|
|
}
|
|
goto l441
|
|
l442:
|
|
position, thunkPosition = position441, thunkPosition441
|
|
{
|
|
position443, thunkPosition443 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockCloseBlockquote]() {
|
|
goto l443
|
|
}
|
|
goto l440
|
|
l443:
|
|
position, thunkPosition = position443, thunkPosition443
|
|
}
|
|
if !matchDot() {
|
|
goto l440
|
|
}
|
|
}
|
|
l441:
|
|
goto l439
|
|
l440:
|
|
position, thunkPosition = position440, thunkPosition440
|
|
}
|
|
if !p.rules[ruleHtmlBlockCloseBlockquote]() {
|
|
goto l438
|
|
}
|
|
goto l431
|
|
l438:
|
|
position, thunkPosition = position431, thunkPosition431
|
|
if !p.rules[ruleHtmlBlockOpenCenter]() {
|
|
goto l444
|
|
}
|
|
l445:
|
|
{
|
|
position446, thunkPosition446 := position, thunkPosition
|
|
{
|
|
position447, thunkPosition447 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockInTags]() {
|
|
goto l448
|
|
}
|
|
goto l447
|
|
l448:
|
|
position, thunkPosition = position447, thunkPosition447
|
|
{
|
|
position449, thunkPosition449 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockCloseCenter]() {
|
|
goto l449
|
|
}
|
|
goto l446
|
|
l449:
|
|
position, thunkPosition = position449, thunkPosition449
|
|
}
|
|
if !matchDot() {
|
|
goto l446
|
|
}
|
|
}
|
|
l447:
|
|
goto l445
|
|
l446:
|
|
position, thunkPosition = position446, thunkPosition446
|
|
}
|
|
if !p.rules[ruleHtmlBlockCloseCenter]() {
|
|
goto l444
|
|
}
|
|
goto l431
|
|
l444:
|
|
position, thunkPosition = position431, thunkPosition431
|
|
if !p.rules[ruleHtmlBlockOpenDir]() {
|
|
goto l450
|
|
}
|
|
l451:
|
|
{
|
|
position452, thunkPosition452 := position, thunkPosition
|
|
{
|
|
position453, thunkPosition453 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockInTags]() {
|
|
goto l454
|
|
}
|
|
goto l453
|
|
l454:
|
|
position, thunkPosition = position453, thunkPosition453
|
|
{
|
|
position455, thunkPosition455 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockCloseDir]() {
|
|
goto l455
|
|
}
|
|
goto l452
|
|
l455:
|
|
position, thunkPosition = position455, thunkPosition455
|
|
}
|
|
if !matchDot() {
|
|
goto l452
|
|
}
|
|
}
|
|
l453:
|
|
goto l451
|
|
l452:
|
|
position, thunkPosition = position452, thunkPosition452
|
|
}
|
|
if !p.rules[ruleHtmlBlockCloseDir]() {
|
|
goto l450
|
|
}
|
|
goto l431
|
|
l450:
|
|
position, thunkPosition = position431, thunkPosition431
|
|
if !p.rules[ruleHtmlBlockOpenDiv]() {
|
|
goto l456
|
|
}
|
|
l457:
|
|
{
|
|
position458, thunkPosition458 := position, thunkPosition
|
|
{
|
|
position459, thunkPosition459 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockInTags]() {
|
|
goto l460
|
|
}
|
|
goto l459
|
|
l460:
|
|
position, thunkPosition = position459, thunkPosition459
|
|
{
|
|
position461, thunkPosition461 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockCloseDiv]() {
|
|
goto l461
|
|
}
|
|
goto l458
|
|
l461:
|
|
position, thunkPosition = position461, thunkPosition461
|
|
}
|
|
if !matchDot() {
|
|
goto l458
|
|
}
|
|
}
|
|
l459:
|
|
goto l457
|
|
l458:
|
|
position, thunkPosition = position458, thunkPosition458
|
|
}
|
|
if !p.rules[ruleHtmlBlockCloseDiv]() {
|
|
goto l456
|
|
}
|
|
goto l431
|
|
l456:
|
|
position, thunkPosition = position431, thunkPosition431
|
|
if !p.rules[ruleHtmlBlockOpenDl]() {
|
|
goto l462
|
|
}
|
|
l463:
|
|
{
|
|
position464, thunkPosition464 := position, thunkPosition
|
|
{
|
|
position465, thunkPosition465 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockInTags]() {
|
|
goto l466
|
|
}
|
|
goto l465
|
|
l466:
|
|
position, thunkPosition = position465, thunkPosition465
|
|
{
|
|
position467, thunkPosition467 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockCloseDl]() {
|
|
goto l467
|
|
}
|
|
goto l464
|
|
l467:
|
|
position, thunkPosition = position467, thunkPosition467
|
|
}
|
|
if !matchDot() {
|
|
goto l464
|
|
}
|
|
}
|
|
l465:
|
|
goto l463
|
|
l464:
|
|
position, thunkPosition = position464, thunkPosition464
|
|
}
|
|
if !p.rules[ruleHtmlBlockCloseDl]() {
|
|
goto l462
|
|
}
|
|
goto l431
|
|
l462:
|
|
position, thunkPosition = position431, thunkPosition431
|
|
if !p.rules[ruleHtmlBlockOpenFieldset]() {
|
|
goto l468
|
|
}
|
|
l469:
|
|
{
|
|
position470, thunkPosition470 := position, thunkPosition
|
|
{
|
|
position471, thunkPosition471 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockInTags]() {
|
|
goto l472
|
|
}
|
|
goto l471
|
|
l472:
|
|
position, thunkPosition = position471, thunkPosition471
|
|
{
|
|
position473, thunkPosition473 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockCloseFieldset]() {
|
|
goto l473
|
|
}
|
|
goto l470
|
|
l473:
|
|
position, thunkPosition = position473, thunkPosition473
|
|
}
|
|
if !matchDot() {
|
|
goto l470
|
|
}
|
|
}
|
|
l471:
|
|
goto l469
|
|
l470:
|
|
position, thunkPosition = position470, thunkPosition470
|
|
}
|
|
if !p.rules[ruleHtmlBlockCloseFieldset]() {
|
|
goto l468
|
|
}
|
|
goto l431
|
|
l468:
|
|
position, thunkPosition = position431, thunkPosition431
|
|
if !p.rules[ruleHtmlBlockOpenForm]() {
|
|
goto l474
|
|
}
|
|
l475:
|
|
{
|
|
position476, thunkPosition476 := position, thunkPosition
|
|
{
|
|
position477, thunkPosition477 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockInTags]() {
|
|
goto l478
|
|
}
|
|
goto l477
|
|
l478:
|
|
position, thunkPosition = position477, thunkPosition477
|
|
{
|
|
position479, thunkPosition479 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockCloseForm]() {
|
|
goto l479
|
|
}
|
|
goto l476
|
|
l479:
|
|
position, thunkPosition = position479, thunkPosition479
|
|
}
|
|
if !matchDot() {
|
|
goto l476
|
|
}
|
|
}
|
|
l477:
|
|
goto l475
|
|
l476:
|
|
position, thunkPosition = position476, thunkPosition476
|
|
}
|
|
if !p.rules[ruleHtmlBlockCloseForm]() {
|
|
goto l474
|
|
}
|
|
goto l431
|
|
l474:
|
|
position, thunkPosition = position431, thunkPosition431
|
|
if !p.rules[ruleHtmlBlockOpenH1]() {
|
|
goto l480
|
|
}
|
|
l481:
|
|
{
|
|
position482, thunkPosition482 := position, thunkPosition
|
|
{
|
|
position483, thunkPosition483 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockInTags]() {
|
|
goto l484
|
|
}
|
|
goto l483
|
|
l484:
|
|
position, thunkPosition = position483, thunkPosition483
|
|
{
|
|
position485, thunkPosition485 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockCloseH1]() {
|
|
goto l485
|
|
}
|
|
goto l482
|
|
l485:
|
|
position, thunkPosition = position485, thunkPosition485
|
|
}
|
|
if !matchDot() {
|
|
goto l482
|
|
}
|
|
}
|
|
l483:
|
|
goto l481
|
|
l482:
|
|
position, thunkPosition = position482, thunkPosition482
|
|
}
|
|
if !p.rules[ruleHtmlBlockCloseH1]() {
|
|
goto l480
|
|
}
|
|
goto l431
|
|
l480:
|
|
position, thunkPosition = position431, thunkPosition431
|
|
if !p.rules[ruleHtmlBlockOpenH2]() {
|
|
goto l486
|
|
}
|
|
l487:
|
|
{
|
|
position488, thunkPosition488 := position, thunkPosition
|
|
{
|
|
position489, thunkPosition489 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockInTags]() {
|
|
goto l490
|
|
}
|
|
goto l489
|
|
l490:
|
|
position, thunkPosition = position489, thunkPosition489
|
|
{
|
|
position491, thunkPosition491 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockCloseH2]() {
|
|
goto l491
|
|
}
|
|
goto l488
|
|
l491:
|
|
position, thunkPosition = position491, thunkPosition491
|
|
}
|
|
if !matchDot() {
|
|
goto l488
|
|
}
|
|
}
|
|
l489:
|
|
goto l487
|
|
l488:
|
|
position, thunkPosition = position488, thunkPosition488
|
|
}
|
|
if !p.rules[ruleHtmlBlockCloseH2]() {
|
|
goto l486
|
|
}
|
|
goto l431
|
|
l486:
|
|
position, thunkPosition = position431, thunkPosition431
|
|
if !p.rules[ruleHtmlBlockOpenH3]() {
|
|
goto l492
|
|
}
|
|
l493:
|
|
{
|
|
position494, thunkPosition494 := position, thunkPosition
|
|
{
|
|
position495, thunkPosition495 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockInTags]() {
|
|
goto l496
|
|
}
|
|
goto l495
|
|
l496:
|
|
position, thunkPosition = position495, thunkPosition495
|
|
{
|
|
position497, thunkPosition497 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockCloseH3]() {
|
|
goto l497
|
|
}
|
|
goto l494
|
|
l497:
|
|
position, thunkPosition = position497, thunkPosition497
|
|
}
|
|
if !matchDot() {
|
|
goto l494
|
|
}
|
|
}
|
|
l495:
|
|
goto l493
|
|
l494:
|
|
position, thunkPosition = position494, thunkPosition494
|
|
}
|
|
if !p.rules[ruleHtmlBlockCloseH3]() {
|
|
goto l492
|
|
}
|
|
goto l431
|
|
l492:
|
|
position, thunkPosition = position431, thunkPosition431
|
|
if !p.rules[ruleHtmlBlockOpenH4]() {
|
|
goto l498
|
|
}
|
|
l499:
|
|
{
|
|
position500, thunkPosition500 := position, thunkPosition
|
|
{
|
|
position501, thunkPosition501 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockInTags]() {
|
|
goto l502
|
|
}
|
|
goto l501
|
|
l502:
|
|
position, thunkPosition = position501, thunkPosition501
|
|
{
|
|
position503, thunkPosition503 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockCloseH4]() {
|
|
goto l503
|
|
}
|
|
goto l500
|
|
l503:
|
|
position, thunkPosition = position503, thunkPosition503
|
|
}
|
|
if !matchDot() {
|
|
goto l500
|
|
}
|
|
}
|
|
l501:
|
|
goto l499
|
|
l500:
|
|
position, thunkPosition = position500, thunkPosition500
|
|
}
|
|
if !p.rules[ruleHtmlBlockCloseH4]() {
|
|
goto l498
|
|
}
|
|
goto l431
|
|
l498:
|
|
position, thunkPosition = position431, thunkPosition431
|
|
if !p.rules[ruleHtmlBlockOpenH5]() {
|
|
goto l504
|
|
}
|
|
l505:
|
|
{
|
|
position506, thunkPosition506 := position, thunkPosition
|
|
{
|
|
position507, thunkPosition507 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockInTags]() {
|
|
goto l508
|
|
}
|
|
goto l507
|
|
l508:
|
|
position, thunkPosition = position507, thunkPosition507
|
|
{
|
|
position509, thunkPosition509 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockCloseH5]() {
|
|
goto l509
|
|
}
|
|
goto l506
|
|
l509:
|
|
position, thunkPosition = position509, thunkPosition509
|
|
}
|
|
if !matchDot() {
|
|
goto l506
|
|
}
|
|
}
|
|
l507:
|
|
goto l505
|
|
l506:
|
|
position, thunkPosition = position506, thunkPosition506
|
|
}
|
|
if !p.rules[ruleHtmlBlockCloseH5]() {
|
|
goto l504
|
|
}
|
|
goto l431
|
|
l504:
|
|
position, thunkPosition = position431, thunkPosition431
|
|
if !p.rules[ruleHtmlBlockOpenH6]() {
|
|
goto l510
|
|
}
|
|
l511:
|
|
{
|
|
position512, thunkPosition512 := position, thunkPosition
|
|
{
|
|
position513, thunkPosition513 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockInTags]() {
|
|
goto l514
|
|
}
|
|
goto l513
|
|
l514:
|
|
position, thunkPosition = position513, thunkPosition513
|
|
{
|
|
position515, thunkPosition515 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockCloseH6]() {
|
|
goto l515
|
|
}
|
|
goto l512
|
|
l515:
|
|
position, thunkPosition = position515, thunkPosition515
|
|
}
|
|
if !matchDot() {
|
|
goto l512
|
|
}
|
|
}
|
|
l513:
|
|
goto l511
|
|
l512:
|
|
position, thunkPosition = position512, thunkPosition512
|
|
}
|
|
if !p.rules[ruleHtmlBlockCloseH6]() {
|
|
goto l510
|
|
}
|
|
goto l431
|
|
l510:
|
|
position, thunkPosition = position431, thunkPosition431
|
|
if !p.rules[ruleHtmlBlockOpenMenu]() {
|
|
goto l516
|
|
}
|
|
l517:
|
|
{
|
|
position518, thunkPosition518 := position, thunkPosition
|
|
{
|
|
position519, thunkPosition519 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockInTags]() {
|
|
goto l520
|
|
}
|
|
goto l519
|
|
l520:
|
|
position, thunkPosition = position519, thunkPosition519
|
|
{
|
|
position521, thunkPosition521 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockCloseMenu]() {
|
|
goto l521
|
|
}
|
|
goto l518
|
|
l521:
|
|
position, thunkPosition = position521, thunkPosition521
|
|
}
|
|
if !matchDot() {
|
|
goto l518
|
|
}
|
|
}
|
|
l519:
|
|
goto l517
|
|
l518:
|
|
position, thunkPosition = position518, thunkPosition518
|
|
}
|
|
if !p.rules[ruleHtmlBlockCloseMenu]() {
|
|
goto l516
|
|
}
|
|
goto l431
|
|
l516:
|
|
position, thunkPosition = position431, thunkPosition431
|
|
if !p.rules[ruleHtmlBlockOpenNoframes]() {
|
|
goto l522
|
|
}
|
|
l523:
|
|
{
|
|
position524, thunkPosition524 := position, thunkPosition
|
|
{
|
|
position525, thunkPosition525 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockInTags]() {
|
|
goto l526
|
|
}
|
|
goto l525
|
|
l526:
|
|
position, thunkPosition = position525, thunkPosition525
|
|
{
|
|
position527, thunkPosition527 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockCloseNoframes]() {
|
|
goto l527
|
|
}
|
|
goto l524
|
|
l527:
|
|
position, thunkPosition = position527, thunkPosition527
|
|
}
|
|
if !matchDot() {
|
|
goto l524
|
|
}
|
|
}
|
|
l525:
|
|
goto l523
|
|
l524:
|
|
position, thunkPosition = position524, thunkPosition524
|
|
}
|
|
if !p.rules[ruleHtmlBlockCloseNoframes]() {
|
|
goto l522
|
|
}
|
|
goto l431
|
|
l522:
|
|
position, thunkPosition = position431, thunkPosition431
|
|
if !p.rules[ruleHtmlBlockOpenNoscript]() {
|
|
goto l528
|
|
}
|
|
l529:
|
|
{
|
|
position530, thunkPosition530 := position, thunkPosition
|
|
{
|
|
position531, thunkPosition531 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockInTags]() {
|
|
goto l532
|
|
}
|
|
goto l531
|
|
l532:
|
|
position, thunkPosition = position531, thunkPosition531
|
|
{
|
|
position533, thunkPosition533 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockCloseNoscript]() {
|
|
goto l533
|
|
}
|
|
goto l530
|
|
l533:
|
|
position, thunkPosition = position533, thunkPosition533
|
|
}
|
|
if !matchDot() {
|
|
goto l530
|
|
}
|
|
}
|
|
l531:
|
|
goto l529
|
|
l530:
|
|
position, thunkPosition = position530, thunkPosition530
|
|
}
|
|
if !p.rules[ruleHtmlBlockCloseNoscript]() {
|
|
goto l528
|
|
}
|
|
goto l431
|
|
l528:
|
|
position, thunkPosition = position431, thunkPosition431
|
|
if !p.rules[ruleHtmlBlockOpenOl]() {
|
|
goto l534
|
|
}
|
|
l535:
|
|
{
|
|
position536, thunkPosition536 := position, thunkPosition
|
|
{
|
|
position537, thunkPosition537 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockInTags]() {
|
|
goto l538
|
|
}
|
|
goto l537
|
|
l538:
|
|
position, thunkPosition = position537, thunkPosition537
|
|
{
|
|
position539, thunkPosition539 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockCloseOl]() {
|
|
goto l539
|
|
}
|
|
goto l536
|
|
l539:
|
|
position, thunkPosition = position539, thunkPosition539
|
|
}
|
|
if !matchDot() {
|
|
goto l536
|
|
}
|
|
}
|
|
l537:
|
|
goto l535
|
|
l536:
|
|
position, thunkPosition = position536, thunkPosition536
|
|
}
|
|
if !p.rules[ruleHtmlBlockCloseOl]() {
|
|
goto l534
|
|
}
|
|
goto l431
|
|
l534:
|
|
position, thunkPosition = position431, thunkPosition431
|
|
if !p.rules[ruleHtmlBlockOpenP]() {
|
|
goto l540
|
|
}
|
|
l541:
|
|
{
|
|
position542, thunkPosition542 := position, thunkPosition
|
|
{
|
|
position543, thunkPosition543 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockInTags]() {
|
|
goto l544
|
|
}
|
|
goto l543
|
|
l544:
|
|
position, thunkPosition = position543, thunkPosition543
|
|
{
|
|
position545, thunkPosition545 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockCloseP]() {
|
|
goto l545
|
|
}
|
|
goto l542
|
|
l545:
|
|
position, thunkPosition = position545, thunkPosition545
|
|
}
|
|
if !matchDot() {
|
|
goto l542
|
|
}
|
|
}
|
|
l543:
|
|
goto l541
|
|
l542:
|
|
position, thunkPosition = position542, thunkPosition542
|
|
}
|
|
if !p.rules[ruleHtmlBlockCloseP]() {
|
|
goto l540
|
|
}
|
|
goto l431
|
|
l540:
|
|
position, thunkPosition = position431, thunkPosition431
|
|
if !p.rules[ruleHtmlBlockOpenPre]() {
|
|
goto l546
|
|
}
|
|
l547:
|
|
{
|
|
position548, thunkPosition548 := position, thunkPosition
|
|
{
|
|
position549, thunkPosition549 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockInTags]() {
|
|
goto l550
|
|
}
|
|
goto l549
|
|
l550:
|
|
position, thunkPosition = position549, thunkPosition549
|
|
{
|
|
position551, thunkPosition551 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockClosePre]() {
|
|
goto l551
|
|
}
|
|
goto l548
|
|
l551:
|
|
position, thunkPosition = position551, thunkPosition551
|
|
}
|
|
if !matchDot() {
|
|
goto l548
|
|
}
|
|
}
|
|
l549:
|
|
goto l547
|
|
l548:
|
|
position, thunkPosition = position548, thunkPosition548
|
|
}
|
|
if !p.rules[ruleHtmlBlockClosePre]() {
|
|
goto l546
|
|
}
|
|
goto l431
|
|
l546:
|
|
position, thunkPosition = position431, thunkPosition431
|
|
if !p.rules[ruleHtmlBlockOpenTable]() {
|
|
goto l552
|
|
}
|
|
l553:
|
|
{
|
|
position554, thunkPosition554 := position, thunkPosition
|
|
{
|
|
position555, thunkPosition555 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockInTags]() {
|
|
goto l556
|
|
}
|
|
goto l555
|
|
l556:
|
|
position, thunkPosition = position555, thunkPosition555
|
|
{
|
|
position557, thunkPosition557 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockCloseTable]() {
|
|
goto l557
|
|
}
|
|
goto l554
|
|
l557:
|
|
position, thunkPosition = position557, thunkPosition557
|
|
}
|
|
if !matchDot() {
|
|
goto l554
|
|
}
|
|
}
|
|
l555:
|
|
goto l553
|
|
l554:
|
|
position, thunkPosition = position554, thunkPosition554
|
|
}
|
|
if !p.rules[ruleHtmlBlockCloseTable]() {
|
|
goto l552
|
|
}
|
|
goto l431
|
|
l552:
|
|
position, thunkPosition = position431, thunkPosition431
|
|
if !p.rules[ruleHtmlBlockOpenUl]() {
|
|
goto l558
|
|
}
|
|
l559:
|
|
{
|
|
position560, thunkPosition560 := position, thunkPosition
|
|
{
|
|
position561, thunkPosition561 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockInTags]() {
|
|
goto l562
|
|
}
|
|
goto l561
|
|
l562:
|
|
position, thunkPosition = position561, thunkPosition561
|
|
{
|
|
position563, thunkPosition563 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockCloseUl]() {
|
|
goto l563
|
|
}
|
|
goto l560
|
|
l563:
|
|
position, thunkPosition = position563, thunkPosition563
|
|
}
|
|
if !matchDot() {
|
|
goto l560
|
|
}
|
|
}
|
|
l561:
|
|
goto l559
|
|
l560:
|
|
position, thunkPosition = position560, thunkPosition560
|
|
}
|
|
if !p.rules[ruleHtmlBlockCloseUl]() {
|
|
goto l558
|
|
}
|
|
goto l431
|
|
l558:
|
|
position, thunkPosition = position431, thunkPosition431
|
|
if !p.rules[ruleHtmlBlockOpenDd]() {
|
|
goto l564
|
|
}
|
|
l565:
|
|
{
|
|
position566, thunkPosition566 := position, thunkPosition
|
|
{
|
|
position567, thunkPosition567 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockInTags]() {
|
|
goto l568
|
|
}
|
|
goto l567
|
|
l568:
|
|
position, thunkPosition = position567, thunkPosition567
|
|
{
|
|
position569, thunkPosition569 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockCloseDd]() {
|
|
goto l569
|
|
}
|
|
goto l566
|
|
l569:
|
|
position, thunkPosition = position569, thunkPosition569
|
|
}
|
|
if !matchDot() {
|
|
goto l566
|
|
}
|
|
}
|
|
l567:
|
|
goto l565
|
|
l566:
|
|
position, thunkPosition = position566, thunkPosition566
|
|
}
|
|
if !p.rules[ruleHtmlBlockCloseDd]() {
|
|
goto l564
|
|
}
|
|
goto l431
|
|
l564:
|
|
position, thunkPosition = position431, thunkPosition431
|
|
if !p.rules[ruleHtmlBlockOpenDt]() {
|
|
goto l570
|
|
}
|
|
l571:
|
|
{
|
|
position572, thunkPosition572 := position, thunkPosition
|
|
{
|
|
position573, thunkPosition573 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockInTags]() {
|
|
goto l574
|
|
}
|
|
goto l573
|
|
l574:
|
|
position, thunkPosition = position573, thunkPosition573
|
|
{
|
|
position575, thunkPosition575 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockCloseDt]() {
|
|
goto l575
|
|
}
|
|
goto l572
|
|
l575:
|
|
position, thunkPosition = position575, thunkPosition575
|
|
}
|
|
if !matchDot() {
|
|
goto l572
|
|
}
|
|
}
|
|
l573:
|
|
goto l571
|
|
l572:
|
|
position, thunkPosition = position572, thunkPosition572
|
|
}
|
|
if !p.rules[ruleHtmlBlockCloseDt]() {
|
|
goto l570
|
|
}
|
|
goto l431
|
|
l570:
|
|
position, thunkPosition = position431, thunkPosition431
|
|
if !p.rules[ruleHtmlBlockOpenFrameset]() {
|
|
goto l576
|
|
}
|
|
l577:
|
|
{
|
|
position578, thunkPosition578 := position, thunkPosition
|
|
{
|
|
position579, thunkPosition579 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockInTags]() {
|
|
goto l580
|
|
}
|
|
goto l579
|
|
l580:
|
|
position, thunkPosition = position579, thunkPosition579
|
|
{
|
|
position581, thunkPosition581 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockCloseFrameset]() {
|
|
goto l581
|
|
}
|
|
goto l578
|
|
l581:
|
|
position, thunkPosition = position581, thunkPosition581
|
|
}
|
|
if !matchDot() {
|
|
goto l578
|
|
}
|
|
}
|
|
l579:
|
|
goto l577
|
|
l578:
|
|
position, thunkPosition = position578, thunkPosition578
|
|
}
|
|
if !p.rules[ruleHtmlBlockCloseFrameset]() {
|
|
goto l576
|
|
}
|
|
goto l431
|
|
l576:
|
|
position, thunkPosition = position431, thunkPosition431
|
|
if !p.rules[ruleHtmlBlockOpenLi]() {
|
|
goto l582
|
|
}
|
|
l583:
|
|
{
|
|
position584, thunkPosition584 := position, thunkPosition
|
|
{
|
|
position585, thunkPosition585 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockInTags]() {
|
|
goto l586
|
|
}
|
|
goto l585
|
|
l586:
|
|
position, thunkPosition = position585, thunkPosition585
|
|
{
|
|
position587, thunkPosition587 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockCloseLi]() {
|
|
goto l587
|
|
}
|
|
goto l584
|
|
l587:
|
|
position, thunkPosition = position587, thunkPosition587
|
|
}
|
|
if !matchDot() {
|
|
goto l584
|
|
}
|
|
}
|
|
l585:
|
|
goto l583
|
|
l584:
|
|
position, thunkPosition = position584, thunkPosition584
|
|
}
|
|
if !p.rules[ruleHtmlBlockCloseLi]() {
|
|
goto l582
|
|
}
|
|
goto l431
|
|
l582:
|
|
position, thunkPosition = position431, thunkPosition431
|
|
if !p.rules[ruleHtmlBlockOpenTbody]() {
|
|
goto l588
|
|
}
|
|
l589:
|
|
{
|
|
position590, thunkPosition590 := position, thunkPosition
|
|
{
|
|
position591, thunkPosition591 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockInTags]() {
|
|
goto l592
|
|
}
|
|
goto l591
|
|
l592:
|
|
position, thunkPosition = position591, thunkPosition591
|
|
{
|
|
position593, thunkPosition593 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockCloseTbody]() {
|
|
goto l593
|
|
}
|
|
goto l590
|
|
l593:
|
|
position, thunkPosition = position593, thunkPosition593
|
|
}
|
|
if !matchDot() {
|
|
goto l590
|
|
}
|
|
}
|
|
l591:
|
|
goto l589
|
|
l590:
|
|
position, thunkPosition = position590, thunkPosition590
|
|
}
|
|
if !p.rules[ruleHtmlBlockCloseTbody]() {
|
|
goto l588
|
|
}
|
|
goto l431
|
|
l588:
|
|
position, thunkPosition = position431, thunkPosition431
|
|
if !p.rules[ruleHtmlBlockOpenTd]() {
|
|
goto l594
|
|
}
|
|
l595:
|
|
{
|
|
position596, thunkPosition596 := position, thunkPosition
|
|
{
|
|
position597, thunkPosition597 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockInTags]() {
|
|
goto l598
|
|
}
|
|
goto l597
|
|
l598:
|
|
position, thunkPosition = position597, thunkPosition597
|
|
{
|
|
position599, thunkPosition599 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockCloseTd]() {
|
|
goto l599
|
|
}
|
|
goto l596
|
|
l599:
|
|
position, thunkPosition = position599, thunkPosition599
|
|
}
|
|
if !matchDot() {
|
|
goto l596
|
|
}
|
|
}
|
|
l597:
|
|
goto l595
|
|
l596:
|
|
position, thunkPosition = position596, thunkPosition596
|
|
}
|
|
if !p.rules[ruleHtmlBlockCloseTd]() {
|
|
goto l594
|
|
}
|
|
goto l431
|
|
l594:
|
|
position, thunkPosition = position431, thunkPosition431
|
|
if !p.rules[ruleHtmlBlockOpenTfoot]() {
|
|
goto l600
|
|
}
|
|
l601:
|
|
{
|
|
position602, thunkPosition602 := position, thunkPosition
|
|
{
|
|
position603, thunkPosition603 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockInTags]() {
|
|
goto l604
|
|
}
|
|
goto l603
|
|
l604:
|
|
position, thunkPosition = position603, thunkPosition603
|
|
{
|
|
position605, thunkPosition605 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockCloseTfoot]() {
|
|
goto l605
|
|
}
|
|
goto l602
|
|
l605:
|
|
position, thunkPosition = position605, thunkPosition605
|
|
}
|
|
if !matchDot() {
|
|
goto l602
|
|
}
|
|
}
|
|
l603:
|
|
goto l601
|
|
l602:
|
|
position, thunkPosition = position602, thunkPosition602
|
|
}
|
|
if !p.rules[ruleHtmlBlockCloseTfoot]() {
|
|
goto l600
|
|
}
|
|
goto l431
|
|
l600:
|
|
position, thunkPosition = position431, thunkPosition431
|
|
if !p.rules[ruleHtmlBlockOpenTh]() {
|
|
goto l606
|
|
}
|
|
l607:
|
|
{
|
|
position608, thunkPosition608 := position, thunkPosition
|
|
{
|
|
position609, thunkPosition609 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockInTags]() {
|
|
goto l610
|
|
}
|
|
goto l609
|
|
l610:
|
|
position, thunkPosition = position609, thunkPosition609
|
|
{
|
|
position611, thunkPosition611 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockCloseTh]() {
|
|
goto l611
|
|
}
|
|
goto l608
|
|
l611:
|
|
position, thunkPosition = position611, thunkPosition611
|
|
}
|
|
if !matchDot() {
|
|
goto l608
|
|
}
|
|
}
|
|
l609:
|
|
goto l607
|
|
l608:
|
|
position, thunkPosition = position608, thunkPosition608
|
|
}
|
|
if !p.rules[ruleHtmlBlockCloseTh]() {
|
|
goto l606
|
|
}
|
|
goto l431
|
|
l606:
|
|
position, thunkPosition = position431, thunkPosition431
|
|
if !p.rules[ruleHtmlBlockOpenThead]() {
|
|
goto l612
|
|
}
|
|
l613:
|
|
{
|
|
position614, thunkPosition614 := position, thunkPosition
|
|
{
|
|
position615, thunkPosition615 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockInTags]() {
|
|
goto l616
|
|
}
|
|
goto l615
|
|
l616:
|
|
position, thunkPosition = position615, thunkPosition615
|
|
{
|
|
position617, thunkPosition617 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockCloseThead]() {
|
|
goto l617
|
|
}
|
|
goto l614
|
|
l617:
|
|
position, thunkPosition = position617, thunkPosition617
|
|
}
|
|
if !matchDot() {
|
|
goto l614
|
|
}
|
|
}
|
|
l615:
|
|
goto l613
|
|
l614:
|
|
position, thunkPosition = position614, thunkPosition614
|
|
}
|
|
if !p.rules[ruleHtmlBlockCloseThead]() {
|
|
goto l612
|
|
}
|
|
goto l431
|
|
l612:
|
|
position, thunkPosition = position431, thunkPosition431
|
|
if !p.rules[ruleHtmlBlockOpenTr]() {
|
|
goto l618
|
|
}
|
|
l619:
|
|
{
|
|
position620, thunkPosition620 := position, thunkPosition
|
|
{
|
|
position621, thunkPosition621 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockInTags]() {
|
|
goto l622
|
|
}
|
|
goto l621
|
|
l622:
|
|
position, thunkPosition = position621, thunkPosition621
|
|
{
|
|
position623, thunkPosition623 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockCloseTr]() {
|
|
goto l623
|
|
}
|
|
goto l620
|
|
l623:
|
|
position, thunkPosition = position623, thunkPosition623
|
|
}
|
|
if !matchDot() {
|
|
goto l620
|
|
}
|
|
}
|
|
l621:
|
|
goto l619
|
|
l620:
|
|
position, thunkPosition = position620, thunkPosition620
|
|
}
|
|
if !p.rules[ruleHtmlBlockCloseTr]() {
|
|
goto l618
|
|
}
|
|
goto l431
|
|
l618:
|
|
position, thunkPosition = position431, thunkPosition431
|
|
if !p.rules[ruleHtmlBlockOpenScript]() {
|
|
goto l430
|
|
}
|
|
l624:
|
|
{
|
|
position625, thunkPosition625 := position, thunkPosition
|
|
{
|
|
position626, thunkPosition626 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockInTags]() {
|
|
goto l627
|
|
}
|
|
goto l626
|
|
l627:
|
|
position, thunkPosition = position626, thunkPosition626
|
|
{
|
|
position628, thunkPosition628 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockCloseScript]() {
|
|
goto l628
|
|
}
|
|
goto l625
|
|
l628:
|
|
position, thunkPosition = position628, thunkPosition628
|
|
}
|
|
if !matchDot() {
|
|
goto l625
|
|
}
|
|
}
|
|
l626:
|
|
goto l624
|
|
l625:
|
|
position, thunkPosition = position625, thunkPosition625
|
|
}
|
|
if !p.rules[ruleHtmlBlockCloseScript]() {
|
|
goto l430
|
|
}
|
|
}
|
|
l431:
|
|
return true
|
|
l430:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 96 HtmlBlock <- (&'<' < (HtmlBlockInTags / HtmlComment / HtmlBlockSelfClosing) > BlankLine+ { if p.extension.FilterHTML {
|
|
yy = mk_list(LIST, nil)
|
|
} else {
|
|
yy = mk_str(yytext)
|
|
yy.key = HTMLBLOCK
|
|
}
|
|
}) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !peekChar('<') {
|
|
goto l629
|
|
}
|
|
begin = position
|
|
{
|
|
position630, thunkPosition630 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockInTags]() {
|
|
goto l631
|
|
}
|
|
goto l630
|
|
l631:
|
|
position, thunkPosition = position630, thunkPosition630
|
|
if !p.rules[ruleHtmlComment]() {
|
|
goto l632
|
|
}
|
|
goto l630
|
|
l632:
|
|
position, thunkPosition = position630, thunkPosition630
|
|
if !p.rules[ruleHtmlBlockSelfClosing]() {
|
|
goto l629
|
|
}
|
|
}
|
|
l630:
|
|
end = position
|
|
if !p.rules[ruleBlankLine]() {
|
|
goto l629
|
|
}
|
|
l633:
|
|
{
|
|
position634, thunkPosition634 := position, thunkPosition
|
|
if !p.rules[ruleBlankLine]() {
|
|
goto l634
|
|
}
|
|
goto l633
|
|
l634:
|
|
position, thunkPosition = position634, thunkPosition634
|
|
}
|
|
do(37)
|
|
return true
|
|
l629:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 97 HtmlBlockSelfClosing <- ('<' Spnl HtmlBlockType Spnl HtmlAttribute* '/' Spnl '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l635
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l635
|
|
}
|
|
if !p.rules[ruleHtmlBlockType]() {
|
|
goto l635
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l635
|
|
}
|
|
l636:
|
|
{
|
|
position637, thunkPosition637 := position, thunkPosition
|
|
if !p.rules[ruleHtmlAttribute]() {
|
|
goto l637
|
|
}
|
|
goto l636
|
|
l637:
|
|
position, thunkPosition = position637, thunkPosition637
|
|
}
|
|
if !matchChar('/') {
|
|
goto l635
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l635
|
|
}
|
|
if !matchChar('>') {
|
|
goto l635
|
|
}
|
|
return true
|
|
l635:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 98 HtmlBlockType <- ('address' / 'blockquote' / 'center' / 'dir' / 'div' / 'dl' / 'fieldset' / 'form' / 'h1' / 'h2' / 'h3' / 'h4' / 'h5' / 'h6' / 'hr' / 'isindex' / 'menu' / 'noframes' / 'noscript' / 'ol' / 'p' / 'pre' / 'table' / 'ul' / 'dd' / 'dt' / 'frameset' / 'li' / 'tbody' / 'td' / 'tfoot' / 'th' / 'thead' / 'tr' / 'script' / 'ADDRESS' / 'BLOCKQUOTE' / 'CENTER' / 'DIR' / 'DIV' / 'DL' / 'FIELDSET' / 'FORM' / 'H1' / 'H2' / 'H3' / 'H4' / 'H5' / 'H6' / 'HR' / 'ISINDEX' / 'MENU' / 'NOFRAMES' / 'NOSCRIPT' / 'OL' / 'P' / 'PRE' / 'TABLE' / 'UL' / 'DD' / 'DT' / 'FRAMESET' / 'LI' / 'TBODY' / 'TD' / 'TFOOT' / 'TH' / 'THEAD' / 'TR' / 'SCRIPT') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
{
|
|
position639, thunkPosition639 := position, thunkPosition
|
|
if !matchString("address") {
|
|
goto l640
|
|
}
|
|
goto l639
|
|
l640:
|
|
position, thunkPosition = position639, thunkPosition639
|
|
if !matchString("blockquote") {
|
|
goto l641
|
|
}
|
|
goto l639
|
|
l641:
|
|
position, thunkPosition = position639, thunkPosition639
|
|
if !matchString("center") {
|
|
goto l642
|
|
}
|
|
goto l639
|
|
l642:
|
|
position, thunkPosition = position639, thunkPosition639
|
|
if !matchString("dir") {
|
|
goto l643
|
|
}
|
|
goto l639
|
|
l643:
|
|
position, thunkPosition = position639, thunkPosition639
|
|
if !matchString("div") {
|
|
goto l644
|
|
}
|
|
goto l639
|
|
l644:
|
|
position, thunkPosition = position639, thunkPosition639
|
|
if !matchString("dl") {
|
|
goto l645
|
|
}
|
|
goto l639
|
|
l645:
|
|
position, thunkPosition = position639, thunkPosition639
|
|
if !matchString("fieldset") {
|
|
goto l646
|
|
}
|
|
goto l639
|
|
l646:
|
|
position, thunkPosition = position639, thunkPosition639
|
|
if !matchString("form") {
|
|
goto l647
|
|
}
|
|
goto l639
|
|
l647:
|
|
position, thunkPosition = position639, thunkPosition639
|
|
if !matchString("h1") {
|
|
goto l648
|
|
}
|
|
goto l639
|
|
l648:
|
|
position, thunkPosition = position639, thunkPosition639
|
|
if !matchString("h2") {
|
|
goto l649
|
|
}
|
|
goto l639
|
|
l649:
|
|
position, thunkPosition = position639, thunkPosition639
|
|
if !matchString("h3") {
|
|
goto l650
|
|
}
|
|
goto l639
|
|
l650:
|
|
position, thunkPosition = position639, thunkPosition639
|
|
if !matchString("h4") {
|
|
goto l651
|
|
}
|
|
goto l639
|
|
l651:
|
|
position, thunkPosition = position639, thunkPosition639
|
|
if !matchString("h5") {
|
|
goto l652
|
|
}
|
|
goto l639
|
|
l652:
|
|
position, thunkPosition = position639, thunkPosition639
|
|
if !matchString("h6") {
|
|
goto l653
|
|
}
|
|
goto l639
|
|
l653:
|
|
position, thunkPosition = position639, thunkPosition639
|
|
if !matchString("hr") {
|
|
goto l654
|
|
}
|
|
goto l639
|
|
l654:
|
|
position, thunkPosition = position639, thunkPosition639
|
|
if !matchString("isindex") {
|
|
goto l655
|
|
}
|
|
goto l639
|
|
l655:
|
|
position, thunkPosition = position639, thunkPosition639
|
|
if !matchString("menu") {
|
|
goto l656
|
|
}
|
|
goto l639
|
|
l656:
|
|
position, thunkPosition = position639, thunkPosition639
|
|
if !matchString("noframes") {
|
|
goto l657
|
|
}
|
|
goto l639
|
|
l657:
|
|
position, thunkPosition = position639, thunkPosition639
|
|
if !matchString("noscript") {
|
|
goto l658
|
|
}
|
|
goto l639
|
|
l658:
|
|
position, thunkPosition = position639, thunkPosition639
|
|
if !matchString("ol") {
|
|
goto l659
|
|
}
|
|
goto l639
|
|
l659:
|
|
position, thunkPosition = position639, thunkPosition639
|
|
if !matchChar('p') {
|
|
goto l660
|
|
}
|
|
goto l639
|
|
l660:
|
|
position, thunkPosition = position639, thunkPosition639
|
|
if !matchString("pre") {
|
|
goto l661
|
|
}
|
|
goto l639
|
|
l661:
|
|
position, thunkPosition = position639, thunkPosition639
|
|
if !matchString("table") {
|
|
goto l662
|
|
}
|
|
goto l639
|
|
l662:
|
|
position, thunkPosition = position639, thunkPosition639
|
|
if !matchString("ul") {
|
|
goto l663
|
|
}
|
|
goto l639
|
|
l663:
|
|
position, thunkPosition = position639, thunkPosition639
|
|
if !matchString("dd") {
|
|
goto l664
|
|
}
|
|
goto l639
|
|
l664:
|
|
position, thunkPosition = position639, thunkPosition639
|
|
if !matchString("dt") {
|
|
goto l665
|
|
}
|
|
goto l639
|
|
l665:
|
|
position, thunkPosition = position639, thunkPosition639
|
|
if !matchString("frameset") {
|
|
goto l666
|
|
}
|
|
goto l639
|
|
l666:
|
|
position, thunkPosition = position639, thunkPosition639
|
|
if !matchString("li") {
|
|
goto l667
|
|
}
|
|
goto l639
|
|
l667:
|
|
position, thunkPosition = position639, thunkPosition639
|
|
if !matchString("tbody") {
|
|
goto l668
|
|
}
|
|
goto l639
|
|
l668:
|
|
position, thunkPosition = position639, thunkPosition639
|
|
if !matchString("td") {
|
|
goto l669
|
|
}
|
|
goto l639
|
|
l669:
|
|
position, thunkPosition = position639, thunkPosition639
|
|
if !matchString("tfoot") {
|
|
goto l670
|
|
}
|
|
goto l639
|
|
l670:
|
|
position, thunkPosition = position639, thunkPosition639
|
|
if !matchString("th") {
|
|
goto l671
|
|
}
|
|
goto l639
|
|
l671:
|
|
position, thunkPosition = position639, thunkPosition639
|
|
if !matchString("thead") {
|
|
goto l672
|
|
}
|
|
goto l639
|
|
l672:
|
|
position, thunkPosition = position639, thunkPosition639
|
|
if !matchString("tr") {
|
|
goto l673
|
|
}
|
|
goto l639
|
|
l673:
|
|
position, thunkPosition = position639, thunkPosition639
|
|
if !matchString("script") {
|
|
goto l674
|
|
}
|
|
goto l639
|
|
l674:
|
|
position, thunkPosition = position639, thunkPosition639
|
|
if !matchString("ADDRESS") {
|
|
goto l675
|
|
}
|
|
goto l639
|
|
l675:
|
|
position, thunkPosition = position639, thunkPosition639
|
|
if !matchString("BLOCKQUOTE") {
|
|
goto l676
|
|
}
|
|
goto l639
|
|
l676:
|
|
position, thunkPosition = position639, thunkPosition639
|
|
if !matchString("CENTER") {
|
|
goto l677
|
|
}
|
|
goto l639
|
|
l677:
|
|
position, thunkPosition = position639, thunkPosition639
|
|
if !matchString("DIR") {
|
|
goto l678
|
|
}
|
|
goto l639
|
|
l678:
|
|
position, thunkPosition = position639, thunkPosition639
|
|
if !matchString("DIV") {
|
|
goto l679
|
|
}
|
|
goto l639
|
|
l679:
|
|
position, thunkPosition = position639, thunkPosition639
|
|
if !matchString("DL") {
|
|
goto l680
|
|
}
|
|
goto l639
|
|
l680:
|
|
position, thunkPosition = position639, thunkPosition639
|
|
if !matchString("FIELDSET") {
|
|
goto l681
|
|
}
|
|
goto l639
|
|
l681:
|
|
position, thunkPosition = position639, thunkPosition639
|
|
if !matchString("FORM") {
|
|
goto l682
|
|
}
|
|
goto l639
|
|
l682:
|
|
position, thunkPosition = position639, thunkPosition639
|
|
if !matchString("H1") {
|
|
goto l683
|
|
}
|
|
goto l639
|
|
l683:
|
|
position, thunkPosition = position639, thunkPosition639
|
|
if !matchString("H2") {
|
|
goto l684
|
|
}
|
|
goto l639
|
|
l684:
|
|
position, thunkPosition = position639, thunkPosition639
|
|
if !matchString("H3") {
|
|
goto l685
|
|
}
|
|
goto l639
|
|
l685:
|
|
position, thunkPosition = position639, thunkPosition639
|
|
if !matchString("H4") {
|
|
goto l686
|
|
}
|
|
goto l639
|
|
l686:
|
|
position, thunkPosition = position639, thunkPosition639
|
|
if !matchString("H5") {
|
|
goto l687
|
|
}
|
|
goto l639
|
|
l687:
|
|
position, thunkPosition = position639, thunkPosition639
|
|
if !matchString("H6") {
|
|
goto l688
|
|
}
|
|
goto l639
|
|
l688:
|
|
position, thunkPosition = position639, thunkPosition639
|
|
if !matchString("HR") {
|
|
goto l689
|
|
}
|
|
goto l639
|
|
l689:
|
|
position, thunkPosition = position639, thunkPosition639
|
|
if !matchString("ISINDEX") {
|
|
goto l690
|
|
}
|
|
goto l639
|
|
l690:
|
|
position, thunkPosition = position639, thunkPosition639
|
|
if !matchString("MENU") {
|
|
goto l691
|
|
}
|
|
goto l639
|
|
l691:
|
|
position, thunkPosition = position639, thunkPosition639
|
|
if !matchString("NOFRAMES") {
|
|
goto l692
|
|
}
|
|
goto l639
|
|
l692:
|
|
position, thunkPosition = position639, thunkPosition639
|
|
if !matchString("NOSCRIPT") {
|
|
goto l693
|
|
}
|
|
goto l639
|
|
l693:
|
|
position, thunkPosition = position639, thunkPosition639
|
|
if !matchString("OL") {
|
|
goto l694
|
|
}
|
|
goto l639
|
|
l694:
|
|
position, thunkPosition = position639, thunkPosition639
|
|
if !matchChar('P') {
|
|
goto l695
|
|
}
|
|
goto l639
|
|
l695:
|
|
position, thunkPosition = position639, thunkPosition639
|
|
if !matchString("PRE") {
|
|
goto l696
|
|
}
|
|
goto l639
|
|
l696:
|
|
position, thunkPosition = position639, thunkPosition639
|
|
if !matchString("TABLE") {
|
|
goto l697
|
|
}
|
|
goto l639
|
|
l697:
|
|
position, thunkPosition = position639, thunkPosition639
|
|
if !matchString("UL") {
|
|
goto l698
|
|
}
|
|
goto l639
|
|
l698:
|
|
position, thunkPosition = position639, thunkPosition639
|
|
if !matchString("DD") {
|
|
goto l699
|
|
}
|
|
goto l639
|
|
l699:
|
|
position, thunkPosition = position639, thunkPosition639
|
|
if !matchString("DT") {
|
|
goto l700
|
|
}
|
|
goto l639
|
|
l700:
|
|
position, thunkPosition = position639, thunkPosition639
|
|
if !matchString("FRAMESET") {
|
|
goto l701
|
|
}
|
|
goto l639
|
|
l701:
|
|
position, thunkPosition = position639, thunkPosition639
|
|
if !matchString("LI") {
|
|
goto l702
|
|
}
|
|
goto l639
|
|
l702:
|
|
position, thunkPosition = position639, thunkPosition639
|
|
if !matchString("TBODY") {
|
|
goto l703
|
|
}
|
|
goto l639
|
|
l703:
|
|
position, thunkPosition = position639, thunkPosition639
|
|
if !matchString("TD") {
|
|
goto l704
|
|
}
|
|
goto l639
|
|
l704:
|
|
position, thunkPosition = position639, thunkPosition639
|
|
if !matchString("TFOOT") {
|
|
goto l705
|
|
}
|
|
goto l639
|
|
l705:
|
|
position, thunkPosition = position639, thunkPosition639
|
|
if !matchString("TH") {
|
|
goto l706
|
|
}
|
|
goto l639
|
|
l706:
|
|
position, thunkPosition = position639, thunkPosition639
|
|
if !matchString("THEAD") {
|
|
goto l707
|
|
}
|
|
goto l639
|
|
l707:
|
|
position, thunkPosition = position639, thunkPosition639
|
|
if !matchString("TR") {
|
|
goto l708
|
|
}
|
|
goto l639
|
|
l708:
|
|
position, thunkPosition = position639, thunkPosition639
|
|
if !matchString("SCRIPT") {
|
|
goto l638
|
|
}
|
|
}
|
|
l639:
|
|
return true
|
|
l638:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 99 StyleOpen <- ('<' Spnl ('style' / 'STYLE') Spnl HtmlAttribute* '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l709
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l709
|
|
}
|
|
{
|
|
position710, thunkPosition710 := position, thunkPosition
|
|
if !matchString("style") {
|
|
goto l711
|
|
}
|
|
goto l710
|
|
l711:
|
|
position, thunkPosition = position710, thunkPosition710
|
|
if !matchString("STYLE") {
|
|
goto l709
|
|
}
|
|
}
|
|
l710:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l709
|
|
}
|
|
l712:
|
|
{
|
|
position713, thunkPosition713 := position, thunkPosition
|
|
if !p.rules[ruleHtmlAttribute]() {
|
|
goto l713
|
|
}
|
|
goto l712
|
|
l713:
|
|
position, thunkPosition = position713, thunkPosition713
|
|
}
|
|
if !matchChar('>') {
|
|
goto l709
|
|
}
|
|
return true
|
|
l709:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 100 StyleClose <- ('<' Spnl '/' ('style' / 'STYLE') Spnl '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l714
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l714
|
|
}
|
|
if !matchChar('/') {
|
|
goto l714
|
|
}
|
|
{
|
|
position715, thunkPosition715 := position, thunkPosition
|
|
if !matchString("style") {
|
|
goto l716
|
|
}
|
|
goto l715
|
|
l716:
|
|
position, thunkPosition = position715, thunkPosition715
|
|
if !matchString("STYLE") {
|
|
goto l714
|
|
}
|
|
}
|
|
l715:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l714
|
|
}
|
|
if !matchChar('>') {
|
|
goto l714
|
|
}
|
|
return true
|
|
l714:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 101 InStyleTags <- (StyleOpen (!StyleClose .)* StyleClose) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !p.rules[ruleStyleOpen]() {
|
|
goto l717
|
|
}
|
|
l718:
|
|
{
|
|
position719, thunkPosition719 := position, thunkPosition
|
|
{
|
|
position720, thunkPosition720 := position, thunkPosition
|
|
if !p.rules[ruleStyleClose]() {
|
|
goto l720
|
|
}
|
|
goto l719
|
|
l720:
|
|
position, thunkPosition = position720, thunkPosition720
|
|
}
|
|
if !matchDot() {
|
|
goto l719
|
|
}
|
|
goto l718
|
|
l719:
|
|
position, thunkPosition = position719, thunkPosition719
|
|
}
|
|
if !p.rules[ruleStyleClose]() {
|
|
goto l717
|
|
}
|
|
return true
|
|
l717:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 102 StyleBlock <- (< InStyleTags > BlankLine* { if p.extension.FilterStyles {
|
|
yy = mk_list(LIST, nil)
|
|
} else {
|
|
yy = mk_str(yytext)
|
|
yy.key = HTMLBLOCK
|
|
}
|
|
}) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
begin = position
|
|
if !p.rules[ruleInStyleTags]() {
|
|
goto l721
|
|
}
|
|
end = position
|
|
l722:
|
|
{
|
|
position723, thunkPosition723 := position, thunkPosition
|
|
if !p.rules[ruleBlankLine]() {
|
|
goto l723
|
|
}
|
|
goto l722
|
|
l723:
|
|
position, thunkPosition = position723, thunkPosition723
|
|
}
|
|
do(38)
|
|
return true
|
|
l721:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 103 Inlines <- (StartList ((!Endline Inline { a = cons(yy, a) }) / (Endline &Inline { a = cons(c, a) }))+ Endline? { yy = mk_list(LIST, a) }) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
doarg(yyPush, 2)
|
|
if !p.rules[ruleStartList]() {
|
|
goto l724
|
|
}
|
|
doarg(yySet, -2)
|
|
{
|
|
position727, thunkPosition727 := position, thunkPosition
|
|
{
|
|
position729, thunkPosition729 := position, thunkPosition
|
|
if !p.rules[ruleEndline]() {
|
|
goto l729
|
|
}
|
|
goto l728
|
|
l729:
|
|
position, thunkPosition = position729, thunkPosition729
|
|
}
|
|
if !p.rules[ruleInline]() {
|
|
goto l728
|
|
}
|
|
do(39)
|
|
goto l727
|
|
l728:
|
|
position, thunkPosition = position727, thunkPosition727
|
|
if !p.rules[ruleEndline]() {
|
|
goto l724
|
|
}
|
|
doarg(yySet, -1)
|
|
{
|
|
position730, thunkPosition730 := position, thunkPosition
|
|
if !p.rules[ruleInline]() {
|
|
goto l724
|
|
}
|
|
position, thunkPosition = position730, thunkPosition730
|
|
}
|
|
do(40)
|
|
}
|
|
l727:
|
|
l725:
|
|
{
|
|
position726, thunkPosition726 := position, thunkPosition
|
|
{
|
|
position731, thunkPosition731 := position, thunkPosition
|
|
{
|
|
position733, thunkPosition733 := position, thunkPosition
|
|
if !p.rules[ruleEndline]() {
|
|
goto l733
|
|
}
|
|
goto l732
|
|
l733:
|
|
position, thunkPosition = position733, thunkPosition733
|
|
}
|
|
if !p.rules[ruleInline]() {
|
|
goto l732
|
|
}
|
|
do(39)
|
|
goto l731
|
|
l732:
|
|
position, thunkPosition = position731, thunkPosition731
|
|
if !p.rules[ruleEndline]() {
|
|
goto l726
|
|
}
|
|
doarg(yySet, -1)
|
|
{
|
|
position734, thunkPosition734 := position, thunkPosition
|
|
if !p.rules[ruleInline]() {
|
|
goto l726
|
|
}
|
|
position, thunkPosition = position734, thunkPosition734
|
|
}
|
|
do(40)
|
|
}
|
|
l731:
|
|
goto l725
|
|
l726:
|
|
position, thunkPosition = position726, thunkPosition726
|
|
}
|
|
{
|
|
position735, thunkPosition735 := position, thunkPosition
|
|
if !p.rules[ruleEndline]() {
|
|
goto l735
|
|
}
|
|
goto l736
|
|
l735:
|
|
position, thunkPosition = position735, thunkPosition735
|
|
}
|
|
l736:
|
|
do(41)
|
|
doarg(yyPop, 2)
|
|
return true
|
|
l724:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 104 Inline <- (Str / Endline / UlOrStarLine / Space / Strong / Emph / Image / Link / NoteReference / InlineNote / Code / RawHtml / Entity / EscapedChar / Smart / Symbol) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
{
|
|
position738, thunkPosition738 := position, thunkPosition
|
|
if !p.rules[ruleStr]() {
|
|
goto l739
|
|
}
|
|
goto l738
|
|
l739:
|
|
position, thunkPosition = position738, thunkPosition738
|
|
if !p.rules[ruleEndline]() {
|
|
goto l740
|
|
}
|
|
goto l738
|
|
l740:
|
|
position, thunkPosition = position738, thunkPosition738
|
|
if !p.rules[ruleUlOrStarLine]() {
|
|
goto l741
|
|
}
|
|
goto l738
|
|
l741:
|
|
position, thunkPosition = position738, thunkPosition738
|
|
if !p.rules[ruleSpace]() {
|
|
goto l742
|
|
}
|
|
goto l738
|
|
l742:
|
|
position, thunkPosition = position738, thunkPosition738
|
|
if !p.rules[ruleStrong]() {
|
|
goto l743
|
|
}
|
|
goto l738
|
|
l743:
|
|
position, thunkPosition = position738, thunkPosition738
|
|
if !p.rules[ruleEmph]() {
|
|
goto l744
|
|
}
|
|
goto l738
|
|
l744:
|
|
position, thunkPosition = position738, thunkPosition738
|
|
if !p.rules[ruleImage]() {
|
|
goto l745
|
|
}
|
|
goto l738
|
|
l745:
|
|
position, thunkPosition = position738, thunkPosition738
|
|
if !p.rules[ruleLink]() {
|
|
goto l746
|
|
}
|
|
goto l738
|
|
l746:
|
|
position, thunkPosition = position738, thunkPosition738
|
|
if !p.rules[ruleNoteReference]() {
|
|
goto l747
|
|
}
|
|
goto l738
|
|
l747:
|
|
position, thunkPosition = position738, thunkPosition738
|
|
if !p.rules[ruleInlineNote]() {
|
|
goto l748
|
|
}
|
|
goto l738
|
|
l748:
|
|
position, thunkPosition = position738, thunkPosition738
|
|
if !p.rules[ruleCode]() {
|
|
goto l749
|
|
}
|
|
goto l738
|
|
l749:
|
|
position, thunkPosition = position738, thunkPosition738
|
|
if !p.rules[ruleRawHtml]() {
|
|
goto l750
|
|
}
|
|
goto l738
|
|
l750:
|
|
position, thunkPosition = position738, thunkPosition738
|
|
if !p.rules[ruleEntity]() {
|
|
goto l751
|
|
}
|
|
goto l738
|
|
l751:
|
|
position, thunkPosition = position738, thunkPosition738
|
|
if !p.rules[ruleEscapedChar]() {
|
|
goto l752
|
|
}
|
|
goto l738
|
|
l752:
|
|
position, thunkPosition = position738, thunkPosition738
|
|
if !p.rules[ruleSmart]() {
|
|
goto l753
|
|
}
|
|
goto l738
|
|
l753:
|
|
position, thunkPosition = position738, thunkPosition738
|
|
if !p.rules[ruleSymbol]() {
|
|
goto l737
|
|
}
|
|
}
|
|
l738:
|
|
return true
|
|
l737:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 105 Space <- (Spacechar+ { yy = mk_str(" ")
|
|
yy.key = SPACE }) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !p.rules[ruleSpacechar]() {
|
|
goto l754
|
|
}
|
|
l755:
|
|
{
|
|
position756, thunkPosition756 := position, thunkPosition
|
|
if !p.rules[ruleSpacechar]() {
|
|
goto l756
|
|
}
|
|
goto l755
|
|
l756:
|
|
position, thunkPosition = position756, thunkPosition756
|
|
}
|
|
do(42)
|
|
return true
|
|
l754:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 106 Str <- (< NormalChar (NormalChar / ('_'+ &Alphanumeric))* > { yy = mk_str(yytext) }) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
begin = position
|
|
if !p.rules[ruleNormalChar]() {
|
|
goto l757
|
|
}
|
|
l758:
|
|
{
|
|
position759, thunkPosition759 := position, thunkPosition
|
|
{
|
|
position760, thunkPosition760 := position, thunkPosition
|
|
if !p.rules[ruleNormalChar]() {
|
|
goto l761
|
|
}
|
|
goto l760
|
|
l761:
|
|
position, thunkPosition = position760, thunkPosition760
|
|
if !matchChar('_') {
|
|
goto l759
|
|
}
|
|
l762:
|
|
{
|
|
position763, thunkPosition763 := position, thunkPosition
|
|
if !matchChar('_') {
|
|
goto l763
|
|
}
|
|
goto l762
|
|
l763:
|
|
position, thunkPosition = position763, thunkPosition763
|
|
}
|
|
{
|
|
position764, thunkPosition764 := position, thunkPosition
|
|
if !p.rules[ruleAlphanumeric]() {
|
|
goto l759
|
|
}
|
|
position, thunkPosition = position764, thunkPosition764
|
|
}
|
|
}
|
|
l760:
|
|
goto l758
|
|
l759:
|
|
position, thunkPosition = position759, thunkPosition759
|
|
}
|
|
end = position
|
|
do(43)
|
|
return true
|
|
l757:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 107 EscapedChar <- ('\\' !Newline < [-\\`|*_{}[\]()#+.!><] > { yy = mk_str(yytext) }) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('\\') {
|
|
goto l765
|
|
}
|
|
{
|
|
position766, thunkPosition766 := position, thunkPosition
|
|
if !p.rules[ruleNewline]() {
|
|
goto l766
|
|
}
|
|
goto l765
|
|
l766:
|
|
position, thunkPosition = position766, thunkPosition766
|
|
}
|
|
begin = position
|
|
if !matchClass(1) {
|
|
goto l765
|
|
}
|
|
end = position
|
|
do(44)
|
|
return true
|
|
l765:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 108 Entity <- ((HexEntity / DecEntity / CharEntity) { yy = mk_str(yytext); yy.key = HTML }) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
{
|
|
position768, thunkPosition768 := position, thunkPosition
|
|
if !p.rules[ruleHexEntity]() {
|
|
goto l769
|
|
}
|
|
goto l768
|
|
l769:
|
|
position, thunkPosition = position768, thunkPosition768
|
|
if !p.rules[ruleDecEntity]() {
|
|
goto l770
|
|
}
|
|
goto l768
|
|
l770:
|
|
position, thunkPosition = position768, thunkPosition768
|
|
if !p.rules[ruleCharEntity]() {
|
|
goto l767
|
|
}
|
|
}
|
|
l768:
|
|
do(45)
|
|
return true
|
|
l767:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 109 Endline <- (LineBreak / TerminalEndline / NormalEndline) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
{
|
|
position772, thunkPosition772 := position, thunkPosition
|
|
if !p.rules[ruleLineBreak]() {
|
|
goto l773
|
|
}
|
|
goto l772
|
|
l773:
|
|
position, thunkPosition = position772, thunkPosition772
|
|
if !p.rules[ruleTerminalEndline]() {
|
|
goto l774
|
|
}
|
|
goto l772
|
|
l774:
|
|
position, thunkPosition = position772, thunkPosition772
|
|
if !p.rules[ruleNormalEndline]() {
|
|
goto l771
|
|
}
|
|
}
|
|
l772:
|
|
return true
|
|
l771:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 110 NormalEndline <- (Sp Newline !BlankLine !'>' !AtxStart !(Line (('===' '='*) / ('---' '-'*)) Newline) { yy = mk_str("\n")
|
|
yy.key = SPACE }) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !p.rules[ruleSp]() {
|
|
goto l775
|
|
}
|
|
if !p.rules[ruleNewline]() {
|
|
goto l775
|
|
}
|
|
{
|
|
position776, thunkPosition776 := position, thunkPosition
|
|
if !p.rules[ruleBlankLine]() {
|
|
goto l776
|
|
}
|
|
goto l775
|
|
l776:
|
|
position, thunkPosition = position776, thunkPosition776
|
|
}
|
|
if peekChar('>') {
|
|
goto l775
|
|
}
|
|
{
|
|
position777, thunkPosition777 := position, thunkPosition
|
|
if !p.rules[ruleAtxStart]() {
|
|
goto l777
|
|
}
|
|
goto l775
|
|
l777:
|
|
position, thunkPosition = position777, thunkPosition777
|
|
}
|
|
{
|
|
position778, thunkPosition778 := position, thunkPosition
|
|
if !p.rules[ruleLine]() {
|
|
goto l778
|
|
}
|
|
{
|
|
position779, thunkPosition779 := position, thunkPosition
|
|
if !matchString("===") {
|
|
goto l780
|
|
}
|
|
l781:
|
|
{
|
|
position782, thunkPosition782 := position, thunkPosition
|
|
if !matchChar('=') {
|
|
goto l782
|
|
}
|
|
goto l781
|
|
l782:
|
|
position, thunkPosition = position782, thunkPosition782
|
|
}
|
|
goto l779
|
|
l780:
|
|
position, thunkPosition = position779, thunkPosition779
|
|
if !matchString("---") {
|
|
goto l778
|
|
}
|
|
l783:
|
|
{
|
|
position784, thunkPosition784 := position, thunkPosition
|
|
if !matchChar('-') {
|
|
goto l784
|
|
}
|
|
goto l783
|
|
l784:
|
|
position, thunkPosition = position784, thunkPosition784
|
|
}
|
|
}
|
|
l779:
|
|
if !p.rules[ruleNewline]() {
|
|
goto l778
|
|
}
|
|
goto l775
|
|
l778:
|
|
position, thunkPosition = position778, thunkPosition778
|
|
}
|
|
do(46)
|
|
return true
|
|
l775:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 111 TerminalEndline <- (Sp Newline Eof { yy = nil }) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !p.rules[ruleSp]() {
|
|
goto l785
|
|
}
|
|
if !p.rules[ruleNewline]() {
|
|
goto l785
|
|
}
|
|
if !p.rules[ruleEof]() {
|
|
goto l785
|
|
}
|
|
do(47)
|
|
return true
|
|
l785:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 112 LineBreak <- (' ' NormalEndline { yy = mk_element(LINEBREAK) }) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchString(" ") {
|
|
goto l786
|
|
}
|
|
if !p.rules[ruleNormalEndline]() {
|
|
goto l786
|
|
}
|
|
do(48)
|
|
return true
|
|
l786:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 113 Symbol <- (< SpecialChar > { yy = mk_str(yytext) }) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
begin = position
|
|
if !p.rules[ruleSpecialChar]() {
|
|
goto l787
|
|
}
|
|
end = position
|
|
do(49)
|
|
return true
|
|
l787:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 114 UlOrStarLine <- ((UlLine / StarLine) { yy = mk_str(yytext) }) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
{
|
|
position789, thunkPosition789 := position, thunkPosition
|
|
if !p.rules[ruleUlLine]() {
|
|
goto l790
|
|
}
|
|
goto l789
|
|
l790:
|
|
position, thunkPosition = position789, thunkPosition789
|
|
if !p.rules[ruleStarLine]() {
|
|
goto l788
|
|
}
|
|
}
|
|
l789:
|
|
do(50)
|
|
return true
|
|
l788:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 115 StarLine <- ((< '****' '*'* >) / (< Spacechar '*'+ &Spacechar >)) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
{
|
|
position792, thunkPosition792 := position, thunkPosition
|
|
begin = position
|
|
if !matchString("****") {
|
|
goto l793
|
|
}
|
|
l794:
|
|
{
|
|
position795, thunkPosition795 := position, thunkPosition
|
|
if !matchChar('*') {
|
|
goto l795
|
|
}
|
|
goto l794
|
|
l795:
|
|
position, thunkPosition = position795, thunkPosition795
|
|
}
|
|
end = position
|
|
goto l792
|
|
l793:
|
|
position, thunkPosition = position792, thunkPosition792
|
|
begin = position
|
|
if !p.rules[ruleSpacechar]() {
|
|
goto l791
|
|
}
|
|
if !matchChar('*') {
|
|
goto l791
|
|
}
|
|
l796:
|
|
{
|
|
position797, thunkPosition797 := position, thunkPosition
|
|
if !matchChar('*') {
|
|
goto l797
|
|
}
|
|
goto l796
|
|
l797:
|
|
position, thunkPosition = position797, thunkPosition797
|
|
}
|
|
{
|
|
position798, thunkPosition798 := position, thunkPosition
|
|
if !p.rules[ruleSpacechar]() {
|
|
goto l791
|
|
}
|
|
position, thunkPosition = position798, thunkPosition798
|
|
}
|
|
end = position
|
|
}
|
|
l792:
|
|
return true
|
|
l791:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 116 UlLine <- ((< '____' '_'* >) / (< Spacechar '_'+ &Spacechar >)) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
{
|
|
position800, thunkPosition800 := position, thunkPosition
|
|
begin = position
|
|
if !matchString("____") {
|
|
goto l801
|
|
}
|
|
l802:
|
|
{
|
|
position803, thunkPosition803 := position, thunkPosition
|
|
if !matchChar('_') {
|
|
goto l803
|
|
}
|
|
goto l802
|
|
l803:
|
|
position, thunkPosition = position803, thunkPosition803
|
|
}
|
|
end = position
|
|
goto l800
|
|
l801:
|
|
position, thunkPosition = position800, thunkPosition800
|
|
begin = position
|
|
if !p.rules[ruleSpacechar]() {
|
|
goto l799
|
|
}
|
|
if !matchChar('_') {
|
|
goto l799
|
|
}
|
|
l804:
|
|
{
|
|
position805, thunkPosition805 := position, thunkPosition
|
|
if !matchChar('_') {
|
|
goto l805
|
|
}
|
|
goto l804
|
|
l805:
|
|
position, thunkPosition = position805, thunkPosition805
|
|
}
|
|
{
|
|
position806, thunkPosition806 := position, thunkPosition
|
|
if !p.rules[ruleSpacechar]() {
|
|
goto l799
|
|
}
|
|
position, thunkPosition = position806, thunkPosition806
|
|
}
|
|
end = position
|
|
}
|
|
l800:
|
|
return true
|
|
l799:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 117 Emph <- (EmphStar / EmphUl) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
{
|
|
position808, thunkPosition808 := position, thunkPosition
|
|
if !p.rules[ruleEmphStar]() {
|
|
goto l809
|
|
}
|
|
goto l808
|
|
l809:
|
|
position, thunkPosition = position808, thunkPosition808
|
|
if !p.rules[ruleEmphUl]() {
|
|
goto l807
|
|
}
|
|
}
|
|
l808:
|
|
return true
|
|
l807:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 118 OneStarOpen <- (!StarLine '*' !Spacechar !Newline) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
{
|
|
position811, thunkPosition811 := position, thunkPosition
|
|
if !p.rules[ruleStarLine]() {
|
|
goto l811
|
|
}
|
|
goto l810
|
|
l811:
|
|
position, thunkPosition = position811, thunkPosition811
|
|
}
|
|
if !matchChar('*') {
|
|
goto l810
|
|
}
|
|
{
|
|
position812, thunkPosition812 := position, thunkPosition
|
|
if !p.rules[ruleSpacechar]() {
|
|
goto l812
|
|
}
|
|
goto l810
|
|
l812:
|
|
position, thunkPosition = position812, thunkPosition812
|
|
}
|
|
{
|
|
position813, thunkPosition813 := position, thunkPosition
|
|
if !p.rules[ruleNewline]() {
|
|
goto l813
|
|
}
|
|
goto l810
|
|
l813:
|
|
position, thunkPosition = position813, thunkPosition813
|
|
}
|
|
return true
|
|
l810:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 119 OneStarClose <- (!Spacechar !Newline Inline !StrongStar '*' { yy = a }) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
doarg(yyPush, 1)
|
|
{
|
|
position815, thunkPosition815 := position, thunkPosition
|
|
if !p.rules[ruleSpacechar]() {
|
|
goto l815
|
|
}
|
|
goto l814
|
|
l815:
|
|
position, thunkPosition = position815, thunkPosition815
|
|
}
|
|
{
|
|
position816, thunkPosition816 := position, thunkPosition
|
|
if !p.rules[ruleNewline]() {
|
|
goto l816
|
|
}
|
|
goto l814
|
|
l816:
|
|
position, thunkPosition = position816, thunkPosition816
|
|
}
|
|
if !p.rules[ruleInline]() {
|
|
goto l814
|
|
}
|
|
doarg(yySet, -1)
|
|
{
|
|
position817, thunkPosition817 := position, thunkPosition
|
|
if !p.rules[ruleStrongStar]() {
|
|
goto l817
|
|
}
|
|
goto l814
|
|
l817:
|
|
position, thunkPosition = position817, thunkPosition817
|
|
}
|
|
if !matchChar('*') {
|
|
goto l814
|
|
}
|
|
do(51)
|
|
doarg(yyPop, 1)
|
|
return true
|
|
l814:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 120 EmphStar <- (OneStarOpen StartList (!OneStarClose Inline { a = cons(yy, a) })* OneStarClose { a = cons(yy, a) } { yy = mk_list(EMPH, a) }) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
doarg(yyPush, 1)
|
|
if !p.rules[ruleOneStarOpen]() {
|
|
goto l818
|
|
}
|
|
if !p.rules[ruleStartList]() {
|
|
goto l818
|
|
}
|
|
doarg(yySet, -1)
|
|
l819:
|
|
{
|
|
position820, thunkPosition820 := position, thunkPosition
|
|
{
|
|
position821, thunkPosition821 := position, thunkPosition
|
|
if !p.rules[ruleOneStarClose]() {
|
|
goto l821
|
|
}
|
|
goto l820
|
|
l821:
|
|
position, thunkPosition = position821, thunkPosition821
|
|
}
|
|
if !p.rules[ruleInline]() {
|
|
goto l820
|
|
}
|
|
do(52)
|
|
goto l819
|
|
l820:
|
|
position, thunkPosition = position820, thunkPosition820
|
|
}
|
|
if !p.rules[ruleOneStarClose]() {
|
|
goto l818
|
|
}
|
|
do(53)
|
|
do(54)
|
|
doarg(yyPop, 1)
|
|
return true
|
|
l818:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 121 OneUlOpen <- (!UlLine '_' !Spacechar !Newline) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
{
|
|
position823, thunkPosition823 := position, thunkPosition
|
|
if !p.rules[ruleUlLine]() {
|
|
goto l823
|
|
}
|
|
goto l822
|
|
l823:
|
|
position, thunkPosition = position823, thunkPosition823
|
|
}
|
|
if !matchChar('_') {
|
|
goto l822
|
|
}
|
|
{
|
|
position824, thunkPosition824 := position, thunkPosition
|
|
if !p.rules[ruleSpacechar]() {
|
|
goto l824
|
|
}
|
|
goto l822
|
|
l824:
|
|
position, thunkPosition = position824, thunkPosition824
|
|
}
|
|
{
|
|
position825, thunkPosition825 := position, thunkPosition
|
|
if !p.rules[ruleNewline]() {
|
|
goto l825
|
|
}
|
|
goto l822
|
|
l825:
|
|
position, thunkPosition = position825, thunkPosition825
|
|
}
|
|
return true
|
|
l822:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 122 OneUlClose <- (!Spacechar !Newline Inline !StrongUl '_' !Alphanumeric { yy = a }) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
doarg(yyPush, 1)
|
|
{
|
|
position827, thunkPosition827 := position, thunkPosition
|
|
if !p.rules[ruleSpacechar]() {
|
|
goto l827
|
|
}
|
|
goto l826
|
|
l827:
|
|
position, thunkPosition = position827, thunkPosition827
|
|
}
|
|
{
|
|
position828, thunkPosition828 := position, thunkPosition
|
|
if !p.rules[ruleNewline]() {
|
|
goto l828
|
|
}
|
|
goto l826
|
|
l828:
|
|
position, thunkPosition = position828, thunkPosition828
|
|
}
|
|
if !p.rules[ruleInline]() {
|
|
goto l826
|
|
}
|
|
doarg(yySet, -1)
|
|
{
|
|
position829, thunkPosition829 := position, thunkPosition
|
|
if !p.rules[ruleStrongUl]() {
|
|
goto l829
|
|
}
|
|
goto l826
|
|
l829:
|
|
position, thunkPosition = position829, thunkPosition829
|
|
}
|
|
if !matchChar('_') {
|
|
goto l826
|
|
}
|
|
{
|
|
position830, thunkPosition830 := position, thunkPosition
|
|
if !p.rules[ruleAlphanumeric]() {
|
|
goto l830
|
|
}
|
|
goto l826
|
|
l830:
|
|
position, thunkPosition = position830, thunkPosition830
|
|
}
|
|
do(55)
|
|
doarg(yyPop, 1)
|
|
return true
|
|
l826:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 123 EmphUl <- (OneUlOpen StartList (!OneUlClose Inline { a = cons(yy, a) })* OneUlClose { a = cons(yy, a) } { yy = mk_list(EMPH, a) }) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
doarg(yyPush, 1)
|
|
if !p.rules[ruleOneUlOpen]() {
|
|
goto l831
|
|
}
|
|
if !p.rules[ruleStartList]() {
|
|
goto l831
|
|
}
|
|
doarg(yySet, -1)
|
|
l832:
|
|
{
|
|
position833, thunkPosition833 := position, thunkPosition
|
|
{
|
|
position834, thunkPosition834 := position, thunkPosition
|
|
if !p.rules[ruleOneUlClose]() {
|
|
goto l834
|
|
}
|
|
goto l833
|
|
l834:
|
|
position, thunkPosition = position834, thunkPosition834
|
|
}
|
|
if !p.rules[ruleInline]() {
|
|
goto l833
|
|
}
|
|
do(56)
|
|
goto l832
|
|
l833:
|
|
position, thunkPosition = position833, thunkPosition833
|
|
}
|
|
if !p.rules[ruleOneUlClose]() {
|
|
goto l831
|
|
}
|
|
do(57)
|
|
do(58)
|
|
doarg(yyPop, 1)
|
|
return true
|
|
l831:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 124 Strong <- (StrongStar / StrongUl) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
{
|
|
position836, thunkPosition836 := position, thunkPosition
|
|
if !p.rules[ruleStrongStar]() {
|
|
goto l837
|
|
}
|
|
goto l836
|
|
l837:
|
|
position, thunkPosition = position836, thunkPosition836
|
|
if !p.rules[ruleStrongUl]() {
|
|
goto l835
|
|
}
|
|
}
|
|
l836:
|
|
return true
|
|
l835:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 125 TwoStarOpen <- (!StarLine '**' !Spacechar !Newline) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
{
|
|
position839, thunkPosition839 := position, thunkPosition
|
|
if !p.rules[ruleStarLine]() {
|
|
goto l839
|
|
}
|
|
goto l838
|
|
l839:
|
|
position, thunkPosition = position839, thunkPosition839
|
|
}
|
|
if !matchString("**") {
|
|
goto l838
|
|
}
|
|
{
|
|
position840, thunkPosition840 := position, thunkPosition
|
|
if !p.rules[ruleSpacechar]() {
|
|
goto l840
|
|
}
|
|
goto l838
|
|
l840:
|
|
position, thunkPosition = position840, thunkPosition840
|
|
}
|
|
{
|
|
position841, thunkPosition841 := position, thunkPosition
|
|
if !p.rules[ruleNewline]() {
|
|
goto l841
|
|
}
|
|
goto l838
|
|
l841:
|
|
position, thunkPosition = position841, thunkPosition841
|
|
}
|
|
return true
|
|
l838:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 126 TwoStarClose <- (!Spacechar !Newline Inline '**' { yy = a }) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
doarg(yyPush, 1)
|
|
{
|
|
position843, thunkPosition843 := position, thunkPosition
|
|
if !p.rules[ruleSpacechar]() {
|
|
goto l843
|
|
}
|
|
goto l842
|
|
l843:
|
|
position, thunkPosition = position843, thunkPosition843
|
|
}
|
|
{
|
|
position844, thunkPosition844 := position, thunkPosition
|
|
if !p.rules[ruleNewline]() {
|
|
goto l844
|
|
}
|
|
goto l842
|
|
l844:
|
|
position, thunkPosition = position844, thunkPosition844
|
|
}
|
|
if !p.rules[ruleInline]() {
|
|
goto l842
|
|
}
|
|
doarg(yySet, -1)
|
|
if !matchString("**") {
|
|
goto l842
|
|
}
|
|
do(59)
|
|
doarg(yyPop, 1)
|
|
return true
|
|
l842:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 127 StrongStar <- (TwoStarOpen StartList (!TwoStarClose Inline { a = cons(yy, a) })* TwoStarClose { a = cons(yy, a) } { yy = mk_list(STRONG, a) }) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
doarg(yyPush, 1)
|
|
if !p.rules[ruleTwoStarOpen]() {
|
|
goto l845
|
|
}
|
|
if !p.rules[ruleStartList]() {
|
|
goto l845
|
|
}
|
|
doarg(yySet, -1)
|
|
l846:
|
|
{
|
|
position847, thunkPosition847 := position, thunkPosition
|
|
{
|
|
position848, thunkPosition848 := position, thunkPosition
|
|
if !p.rules[ruleTwoStarClose]() {
|
|
goto l848
|
|
}
|
|
goto l847
|
|
l848:
|
|
position, thunkPosition = position848, thunkPosition848
|
|
}
|
|
if !p.rules[ruleInline]() {
|
|
goto l847
|
|
}
|
|
do(60)
|
|
goto l846
|
|
l847:
|
|
position, thunkPosition = position847, thunkPosition847
|
|
}
|
|
if !p.rules[ruleTwoStarClose]() {
|
|
goto l845
|
|
}
|
|
do(61)
|
|
do(62)
|
|
doarg(yyPop, 1)
|
|
return true
|
|
l845:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 128 TwoUlOpen <- (!UlLine '__' !Spacechar !Newline) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
{
|
|
position850, thunkPosition850 := position, thunkPosition
|
|
if !p.rules[ruleUlLine]() {
|
|
goto l850
|
|
}
|
|
goto l849
|
|
l850:
|
|
position, thunkPosition = position850, thunkPosition850
|
|
}
|
|
if !matchString("__") {
|
|
goto l849
|
|
}
|
|
{
|
|
position851, thunkPosition851 := position, thunkPosition
|
|
if !p.rules[ruleSpacechar]() {
|
|
goto l851
|
|
}
|
|
goto l849
|
|
l851:
|
|
position, thunkPosition = position851, thunkPosition851
|
|
}
|
|
{
|
|
position852, thunkPosition852 := position, thunkPosition
|
|
if !p.rules[ruleNewline]() {
|
|
goto l852
|
|
}
|
|
goto l849
|
|
l852:
|
|
position, thunkPosition = position852, thunkPosition852
|
|
}
|
|
return true
|
|
l849:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 129 TwoUlClose <- (!Spacechar !Newline Inline '__' !Alphanumeric { yy = a }) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
doarg(yyPush, 1)
|
|
{
|
|
position854, thunkPosition854 := position, thunkPosition
|
|
if !p.rules[ruleSpacechar]() {
|
|
goto l854
|
|
}
|
|
goto l853
|
|
l854:
|
|
position, thunkPosition = position854, thunkPosition854
|
|
}
|
|
{
|
|
position855, thunkPosition855 := position, thunkPosition
|
|
if !p.rules[ruleNewline]() {
|
|
goto l855
|
|
}
|
|
goto l853
|
|
l855:
|
|
position, thunkPosition = position855, thunkPosition855
|
|
}
|
|
if !p.rules[ruleInline]() {
|
|
goto l853
|
|
}
|
|
doarg(yySet, -1)
|
|
if !matchString("__") {
|
|
goto l853
|
|
}
|
|
{
|
|
position856, thunkPosition856 := position, thunkPosition
|
|
if !p.rules[ruleAlphanumeric]() {
|
|
goto l856
|
|
}
|
|
goto l853
|
|
l856:
|
|
position, thunkPosition = position856, thunkPosition856
|
|
}
|
|
do(63)
|
|
doarg(yyPop, 1)
|
|
return true
|
|
l853:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 130 StrongUl <- (TwoUlOpen StartList (!TwoUlClose Inline { a = cons(yy, a) })* TwoUlClose { a = cons(yy, a) } { yy = mk_list(STRONG, a) }) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
doarg(yyPush, 1)
|
|
if !p.rules[ruleTwoUlOpen]() {
|
|
goto l857
|
|
}
|
|
if !p.rules[ruleStartList]() {
|
|
goto l857
|
|
}
|
|
doarg(yySet, -1)
|
|
l858:
|
|
{
|
|
position859, thunkPosition859 := position, thunkPosition
|
|
{
|
|
position860, thunkPosition860 := position, thunkPosition
|
|
if !p.rules[ruleTwoUlClose]() {
|
|
goto l860
|
|
}
|
|
goto l859
|
|
l860:
|
|
position, thunkPosition = position860, thunkPosition860
|
|
}
|
|
if !p.rules[ruleInline]() {
|
|
goto l859
|
|
}
|
|
do(64)
|
|
goto l858
|
|
l859:
|
|
position, thunkPosition = position859, thunkPosition859
|
|
}
|
|
if !p.rules[ruleTwoUlClose]() {
|
|
goto l857
|
|
}
|
|
do(65)
|
|
do(66)
|
|
doarg(yyPop, 1)
|
|
return true
|
|
l857:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 131 Image <- ('!' (ExplicitLink / ReferenceLink) { yy.key = IMAGE }) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('!') {
|
|
goto l861
|
|
}
|
|
{
|
|
position862, thunkPosition862 := position, thunkPosition
|
|
if !p.rules[ruleExplicitLink]() {
|
|
goto l863
|
|
}
|
|
goto l862
|
|
l863:
|
|
position, thunkPosition = position862, thunkPosition862
|
|
if !p.rules[ruleReferenceLink]() {
|
|
goto l861
|
|
}
|
|
}
|
|
l862:
|
|
do(67)
|
|
return true
|
|
l861:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 132 Link <- (ExplicitLink / ReferenceLink / AutoLink) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
{
|
|
position865, thunkPosition865 := position, thunkPosition
|
|
if !p.rules[ruleExplicitLink]() {
|
|
goto l866
|
|
}
|
|
goto l865
|
|
l866:
|
|
position, thunkPosition = position865, thunkPosition865
|
|
if !p.rules[ruleReferenceLink]() {
|
|
goto l867
|
|
}
|
|
goto l865
|
|
l867:
|
|
position, thunkPosition = position865, thunkPosition865
|
|
if !p.rules[ruleAutoLink]() {
|
|
goto l864
|
|
}
|
|
}
|
|
l865:
|
|
return true
|
|
l864:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 133 ReferenceLink <- (ReferenceLinkDouble / ReferenceLinkSingle) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
{
|
|
position869, thunkPosition869 := position, thunkPosition
|
|
if !p.rules[ruleReferenceLinkDouble]() {
|
|
goto l870
|
|
}
|
|
goto l869
|
|
l870:
|
|
position, thunkPosition = position869, thunkPosition869
|
|
if !p.rules[ruleReferenceLinkSingle]() {
|
|
goto l868
|
|
}
|
|
}
|
|
l869:
|
|
return true
|
|
l868:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 134 ReferenceLinkDouble <- (Label < Spnl > !'[]' Label {
|
|
if match, found := p.findReference(b.children); found {
|
|
yy = mk_link(a.children, match.url, match.title);
|
|
a = nil
|
|
b = nil
|
|
} else {
|
|
result := mk_element(LIST)
|
|
result.children = cons(mk_str("["), cons(a, cons(mk_str("]"), cons(mk_str(yytext),
|
|
cons(mk_str("["), cons(b, mk_str("]")))))))
|
|
yy = result
|
|
}
|
|
}) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
doarg(yyPush, 2)
|
|
if !p.rules[ruleLabel]() {
|
|
goto l871
|
|
}
|
|
doarg(yySet, -1)
|
|
begin = position
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l871
|
|
}
|
|
end = position
|
|
{
|
|
position872, thunkPosition872 := position, thunkPosition
|
|
if !matchString("[]") {
|
|
goto l872
|
|
}
|
|
goto l871
|
|
l872:
|
|
position, thunkPosition = position872, thunkPosition872
|
|
}
|
|
if !p.rules[ruleLabel]() {
|
|
goto l871
|
|
}
|
|
doarg(yySet, -2)
|
|
do(68)
|
|
doarg(yyPop, 2)
|
|
return true
|
|
l871:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 135 ReferenceLinkSingle <- (Label < (Spnl '[]')? > {
|
|
if match, found := p.findReference(a.children); found {
|
|
yy = mk_link(a.children, match.url, match.title)
|
|
a = nil
|
|
} else {
|
|
result := mk_element(LIST)
|
|
result.children = cons(mk_str("["), cons(a, cons(mk_str("]"), mk_str(yytext))));
|
|
yy = result
|
|
}
|
|
}) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
doarg(yyPush, 1)
|
|
if !p.rules[ruleLabel]() {
|
|
goto l873
|
|
}
|
|
doarg(yySet, -1)
|
|
begin = position
|
|
{
|
|
position874, thunkPosition874 := position, thunkPosition
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l874
|
|
}
|
|
if !matchString("[]") {
|
|
goto l874
|
|
}
|
|
goto l875
|
|
l874:
|
|
position, thunkPosition = position874, thunkPosition874
|
|
}
|
|
l875:
|
|
end = position
|
|
do(69)
|
|
doarg(yyPop, 1)
|
|
return true
|
|
l873:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 136 ExplicitLink <- (Label Spnl '(' Sp Source Spnl Title Sp ')' { yy = mk_link(l.children, s.contents.str, t.contents.str)
|
|
s = nil
|
|
t = nil
|
|
l = nil }) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
doarg(yyPush, 3)
|
|
if !p.rules[ruleLabel]() {
|
|
goto l876
|
|
}
|
|
doarg(yySet, -2)
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l876
|
|
}
|
|
if !matchChar('(') {
|
|
goto l876
|
|
}
|
|
if !p.rules[ruleSp]() {
|
|
goto l876
|
|
}
|
|
if !p.rules[ruleSource]() {
|
|
goto l876
|
|
}
|
|
doarg(yySet, -1)
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l876
|
|
}
|
|
if !p.rules[ruleTitle]() {
|
|
goto l876
|
|
}
|
|
doarg(yySet, -3)
|
|
if !p.rules[ruleSp]() {
|
|
goto l876
|
|
}
|
|
if !matchChar(')') {
|
|
goto l876
|
|
}
|
|
do(70)
|
|
doarg(yyPop, 3)
|
|
return true
|
|
l876:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 137 Source <- ((('<' < SourceContents > '>') / (< SourceContents >)) { yy = mk_str(yytext) }) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
{
|
|
position878, thunkPosition878 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l879
|
|
}
|
|
begin = position
|
|
if !p.rules[ruleSourceContents]() {
|
|
goto l879
|
|
}
|
|
end = position
|
|
if !matchChar('>') {
|
|
goto l879
|
|
}
|
|
goto l878
|
|
l879:
|
|
position, thunkPosition = position878, thunkPosition878
|
|
begin = position
|
|
if !p.rules[ruleSourceContents]() {
|
|
goto l877
|
|
}
|
|
end = position
|
|
}
|
|
l878:
|
|
do(71)
|
|
return true
|
|
l877:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 138 SourceContents <- (((!'(' !')' !'>' Nonspacechar)+ / ('(' SourceContents ')'))* / '') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
{
|
|
position881, thunkPosition881 := position, thunkPosition
|
|
l883:
|
|
{
|
|
position884, thunkPosition884 := position, thunkPosition
|
|
{
|
|
position885, thunkPosition885 := position, thunkPosition
|
|
if peekChar('(') {
|
|
goto l886
|
|
}
|
|
if peekChar(')') {
|
|
goto l886
|
|
}
|
|
if peekChar('>') {
|
|
goto l886
|
|
}
|
|
if !p.rules[ruleNonspacechar]() {
|
|
goto l886
|
|
}
|
|
l887:
|
|
{
|
|
position888, thunkPosition888 := position, thunkPosition
|
|
if peekChar('(') {
|
|
goto l888
|
|
}
|
|
if peekChar(')') {
|
|
goto l888
|
|
}
|
|
if peekChar('>') {
|
|
goto l888
|
|
}
|
|
if !p.rules[ruleNonspacechar]() {
|
|
goto l888
|
|
}
|
|
goto l887
|
|
l888:
|
|
position, thunkPosition = position888, thunkPosition888
|
|
}
|
|
goto l885
|
|
l886:
|
|
position, thunkPosition = position885, thunkPosition885
|
|
if !matchChar('(') {
|
|
goto l884
|
|
}
|
|
if !p.rules[ruleSourceContents]() {
|
|
goto l884
|
|
}
|
|
if !matchChar(')') {
|
|
goto l884
|
|
}
|
|
}
|
|
l885:
|
|
goto l883
|
|
l884:
|
|
position, thunkPosition = position884, thunkPosition884
|
|
}
|
|
goto l881
|
|
l882:
|
|
position, thunkPosition = position881, thunkPosition881
|
|
if !matchString("") {
|
|
goto l880
|
|
}
|
|
}
|
|
l881:
|
|
return true
|
|
l880:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 139 Title <- ((TitleSingle / TitleDouble / (< '' >)) { yy = mk_str(yytext) }) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
{
|
|
position890, thunkPosition890 := position, thunkPosition
|
|
if !p.rules[ruleTitleSingle]() {
|
|
goto l891
|
|
}
|
|
goto l890
|
|
l891:
|
|
position, thunkPosition = position890, thunkPosition890
|
|
if !p.rules[ruleTitleDouble]() {
|
|
goto l892
|
|
}
|
|
goto l890
|
|
l892:
|
|
position, thunkPosition = position890, thunkPosition890
|
|
begin = position
|
|
if !matchString("") {
|
|
goto l889
|
|
}
|
|
end = position
|
|
}
|
|
l890:
|
|
do(72)
|
|
return true
|
|
l889:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 140 TitleSingle <- ('\'' < (!('\'' Sp (')' / Newline)) .)* > '\'') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('\'') {
|
|
goto l893
|
|
}
|
|
begin = position
|
|
l894:
|
|
{
|
|
position895, thunkPosition895 := position, thunkPosition
|
|
{
|
|
position896, thunkPosition896 := position, thunkPosition
|
|
if !matchChar('\'') {
|
|
goto l896
|
|
}
|
|
if !p.rules[ruleSp]() {
|
|
goto l896
|
|
}
|
|
{
|
|
position897, thunkPosition897 := position, thunkPosition
|
|
if !matchChar(')') {
|
|
goto l898
|
|
}
|
|
goto l897
|
|
l898:
|
|
position, thunkPosition = position897, thunkPosition897
|
|
if !p.rules[ruleNewline]() {
|
|
goto l896
|
|
}
|
|
}
|
|
l897:
|
|
goto l895
|
|
l896:
|
|
position, thunkPosition = position896, thunkPosition896
|
|
}
|
|
if !matchDot() {
|
|
goto l895
|
|
}
|
|
goto l894
|
|
l895:
|
|
position, thunkPosition = position895, thunkPosition895
|
|
}
|
|
end = position
|
|
if !matchChar('\'') {
|
|
goto l893
|
|
}
|
|
return true
|
|
l893:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 141 TitleDouble <- ('"' < (!('"' Sp (')' / Newline)) .)* > '"') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('"') {
|
|
goto l899
|
|
}
|
|
begin = position
|
|
l900:
|
|
{
|
|
position901, thunkPosition901 := position, thunkPosition
|
|
{
|
|
position902, thunkPosition902 := position, thunkPosition
|
|
if !matchChar('"') {
|
|
goto l902
|
|
}
|
|
if !p.rules[ruleSp]() {
|
|
goto l902
|
|
}
|
|
{
|
|
position903, thunkPosition903 := position, thunkPosition
|
|
if !matchChar(')') {
|
|
goto l904
|
|
}
|
|
goto l903
|
|
l904:
|
|
position, thunkPosition = position903, thunkPosition903
|
|
if !p.rules[ruleNewline]() {
|
|
goto l902
|
|
}
|
|
}
|
|
l903:
|
|
goto l901
|
|
l902:
|
|
position, thunkPosition = position902, thunkPosition902
|
|
}
|
|
if !matchDot() {
|
|
goto l901
|
|
}
|
|
goto l900
|
|
l901:
|
|
position, thunkPosition = position901, thunkPosition901
|
|
}
|
|
end = position
|
|
if !matchChar('"') {
|
|
goto l899
|
|
}
|
|
return true
|
|
l899:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 142 AutoLink <- (AutoLinkUrl / AutoLinkEmail) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
{
|
|
position906, thunkPosition906 := position, thunkPosition
|
|
if !p.rules[ruleAutoLinkUrl]() {
|
|
goto l907
|
|
}
|
|
goto l906
|
|
l907:
|
|
position, thunkPosition = position906, thunkPosition906
|
|
if !p.rules[ruleAutoLinkEmail]() {
|
|
goto l905
|
|
}
|
|
}
|
|
l906:
|
|
return true
|
|
l905:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 143 AutoLinkUrl <- ('<' < [A-Za-z]+ '://' (!Newline !'>' .)+ > '>' { yy = mk_link(mk_str(yytext), yytext, "") }) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l908
|
|
}
|
|
begin = position
|
|
if !matchClass(2) {
|
|
goto l908
|
|
}
|
|
l909:
|
|
{
|
|
position910, thunkPosition910 := position, thunkPosition
|
|
if !matchClass(2) {
|
|
goto l910
|
|
}
|
|
goto l909
|
|
l910:
|
|
position, thunkPosition = position910, thunkPosition910
|
|
}
|
|
if !matchString("://") {
|
|
goto l908
|
|
}
|
|
{
|
|
position913, thunkPosition913 := position, thunkPosition
|
|
if !p.rules[ruleNewline]() {
|
|
goto l913
|
|
}
|
|
goto l908
|
|
l913:
|
|
position, thunkPosition = position913, thunkPosition913
|
|
}
|
|
if peekChar('>') {
|
|
goto l908
|
|
}
|
|
if !matchDot() {
|
|
goto l908
|
|
}
|
|
l911:
|
|
{
|
|
position912, thunkPosition912 := position, thunkPosition
|
|
{
|
|
position914, thunkPosition914 := position, thunkPosition
|
|
if !p.rules[ruleNewline]() {
|
|
goto l914
|
|
}
|
|
goto l912
|
|
l914:
|
|
position, thunkPosition = position914, thunkPosition914
|
|
}
|
|
if peekChar('>') {
|
|
goto l912
|
|
}
|
|
if !matchDot() {
|
|
goto l912
|
|
}
|
|
goto l911
|
|
l912:
|
|
position, thunkPosition = position912, thunkPosition912
|
|
}
|
|
end = position
|
|
if !matchChar('>') {
|
|
goto l908
|
|
}
|
|
do(73)
|
|
return true
|
|
l908:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 144 AutoLinkEmail <- ('<' < [-A-Za-z0-9+_]+ '@' (!Newline !'>' .)+ > '>' {
|
|
yy = mk_link(mk_str(yytext), "mailto:"+yytext, "")
|
|
}) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l915
|
|
}
|
|
begin = position
|
|
if !matchClass(7) {
|
|
goto l915
|
|
}
|
|
l916:
|
|
{
|
|
position917, thunkPosition917 := position, thunkPosition
|
|
if !matchClass(7) {
|
|
goto l917
|
|
}
|
|
goto l916
|
|
l917:
|
|
position, thunkPosition = position917, thunkPosition917
|
|
}
|
|
if !matchChar('@') {
|
|
goto l915
|
|
}
|
|
{
|
|
position920, thunkPosition920 := position, thunkPosition
|
|
if !p.rules[ruleNewline]() {
|
|
goto l920
|
|
}
|
|
goto l915
|
|
l920:
|
|
position, thunkPosition = position920, thunkPosition920
|
|
}
|
|
if peekChar('>') {
|
|
goto l915
|
|
}
|
|
if !matchDot() {
|
|
goto l915
|
|
}
|
|
l918:
|
|
{
|
|
position919, thunkPosition919 := position, thunkPosition
|
|
{
|
|
position921, thunkPosition921 := position, thunkPosition
|
|
if !p.rules[ruleNewline]() {
|
|
goto l921
|
|
}
|
|
goto l919
|
|
l921:
|
|
position, thunkPosition = position921, thunkPosition921
|
|
}
|
|
if peekChar('>') {
|
|
goto l919
|
|
}
|
|
if !matchDot() {
|
|
goto l919
|
|
}
|
|
goto l918
|
|
l919:
|
|
position, thunkPosition = position919, thunkPosition919
|
|
}
|
|
end = position
|
|
if !matchChar('>') {
|
|
goto l915
|
|
}
|
|
do(74)
|
|
return true
|
|
l915:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 145 Reference <- (NonindentSpace !'[]' Label ':' Spnl RefSrc Spnl RefTitle BlankLine* { yy = mk_link(l.children, s.contents.str, t.contents.str)
|
|
s = nil
|
|
t = nil
|
|
l = nil
|
|
yy.key = REFERENCE }) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
doarg(yyPush, 3)
|
|
if !p.rules[ruleNonindentSpace]() {
|
|
goto l922
|
|
}
|
|
{
|
|
position923, thunkPosition923 := position, thunkPosition
|
|
if !matchString("[]") {
|
|
goto l923
|
|
}
|
|
goto l922
|
|
l923:
|
|
position, thunkPosition = position923, thunkPosition923
|
|
}
|
|
if !p.rules[ruleLabel]() {
|
|
goto l922
|
|
}
|
|
doarg(yySet, -2)
|
|
if !matchChar(':') {
|
|
goto l922
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l922
|
|
}
|
|
if !p.rules[ruleRefSrc]() {
|
|
goto l922
|
|
}
|
|
doarg(yySet, -1)
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l922
|
|
}
|
|
if !p.rules[ruleRefTitle]() {
|
|
goto l922
|
|
}
|
|
doarg(yySet, -3)
|
|
l924:
|
|
{
|
|
position925, thunkPosition925 := position, thunkPosition
|
|
if !p.rules[ruleBlankLine]() {
|
|
goto l925
|
|
}
|
|
goto l924
|
|
l925:
|
|
position, thunkPosition = position925, thunkPosition925
|
|
}
|
|
do(75)
|
|
doarg(yyPop, 3)
|
|
return true
|
|
l922:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 146 Label <- ('[' ((!'^' &{ p.extension.Notes }) / (&. &{ !p.extension.Notes })) StartList (!']' Inline { a = cons(yy, a) })* ']' { yy = mk_list(LIST, a) }) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
doarg(yyPush, 1)
|
|
if !matchChar('[') {
|
|
goto l926
|
|
}
|
|
{
|
|
position927, thunkPosition927 := position, thunkPosition
|
|
if peekChar('^') {
|
|
goto l928
|
|
}
|
|
if !( p.extension.Notes ) {
|
|
goto l928
|
|
}
|
|
goto l927
|
|
l928:
|
|
position, thunkPosition = position927, thunkPosition927
|
|
if !peekDot() {
|
|
goto l926
|
|
}
|
|
if !( !p.extension.Notes ) {
|
|
goto l926
|
|
}
|
|
}
|
|
l927:
|
|
if !p.rules[ruleStartList]() {
|
|
goto l926
|
|
}
|
|
doarg(yySet, -1)
|
|
l929:
|
|
{
|
|
position930, thunkPosition930 := position, thunkPosition
|
|
if peekChar(']') {
|
|
goto l930
|
|
}
|
|
if !p.rules[ruleInline]() {
|
|
goto l930
|
|
}
|
|
do(76)
|
|
goto l929
|
|
l930:
|
|
position, thunkPosition = position930, thunkPosition930
|
|
}
|
|
if !matchChar(']') {
|
|
goto l926
|
|
}
|
|
do(77)
|
|
doarg(yyPop, 1)
|
|
return true
|
|
l926:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 147 RefSrc <- (< Nonspacechar+ > { yy = mk_str(yytext)
|
|
yy.key = HTML }) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
begin = position
|
|
if !p.rules[ruleNonspacechar]() {
|
|
goto l931
|
|
}
|
|
l932:
|
|
{
|
|
position933, thunkPosition933 := position, thunkPosition
|
|
if !p.rules[ruleNonspacechar]() {
|
|
goto l933
|
|
}
|
|
goto l932
|
|
l933:
|
|
position, thunkPosition = position933, thunkPosition933
|
|
}
|
|
end = position
|
|
do(78)
|
|
return true
|
|
l931:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 148 RefTitle <- ((RefTitleSingle / RefTitleDouble / RefTitleParens / EmptyTitle) { yy = mk_str(yytext) }) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
{
|
|
position935, thunkPosition935 := position, thunkPosition
|
|
if !p.rules[ruleRefTitleSingle]() {
|
|
goto l936
|
|
}
|
|
goto l935
|
|
l936:
|
|
position, thunkPosition = position935, thunkPosition935
|
|
if !p.rules[ruleRefTitleDouble]() {
|
|
goto l937
|
|
}
|
|
goto l935
|
|
l937:
|
|
position, thunkPosition = position935, thunkPosition935
|
|
if !p.rules[ruleRefTitleParens]() {
|
|
goto l938
|
|
}
|
|
goto l935
|
|
l938:
|
|
position, thunkPosition = position935, thunkPosition935
|
|
if !p.rules[ruleEmptyTitle]() {
|
|
goto l934
|
|
}
|
|
}
|
|
l935:
|
|
do(79)
|
|
return true
|
|
l934:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 149 EmptyTitle <- (< '' >) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
begin = position
|
|
if !matchString("") {
|
|
goto l939
|
|
}
|
|
end = position
|
|
return true
|
|
l939:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 150 RefTitleSingle <- ('\'' < (!(('\'' Sp Newline) / Newline) .)* > '\'') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('\'') {
|
|
goto l940
|
|
}
|
|
begin = position
|
|
l941:
|
|
{
|
|
position942, thunkPosition942 := position, thunkPosition
|
|
{
|
|
position943, thunkPosition943 := position, thunkPosition
|
|
{
|
|
position944, thunkPosition944 := position, thunkPosition
|
|
if !matchChar('\'') {
|
|
goto l945
|
|
}
|
|
if !p.rules[ruleSp]() {
|
|
goto l945
|
|
}
|
|
if !p.rules[ruleNewline]() {
|
|
goto l945
|
|
}
|
|
goto l944
|
|
l945:
|
|
position, thunkPosition = position944, thunkPosition944
|
|
if !p.rules[ruleNewline]() {
|
|
goto l943
|
|
}
|
|
}
|
|
l944:
|
|
goto l942
|
|
l943:
|
|
position, thunkPosition = position943, thunkPosition943
|
|
}
|
|
if !matchDot() {
|
|
goto l942
|
|
}
|
|
goto l941
|
|
l942:
|
|
position, thunkPosition = position942, thunkPosition942
|
|
}
|
|
end = position
|
|
if !matchChar('\'') {
|
|
goto l940
|
|
}
|
|
return true
|
|
l940:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 151 RefTitleDouble <- ('"' < (!(('"' Sp Newline) / Newline) .)* > '"') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('"') {
|
|
goto l946
|
|
}
|
|
begin = position
|
|
l947:
|
|
{
|
|
position948, thunkPosition948 := position, thunkPosition
|
|
{
|
|
position949, thunkPosition949 := position, thunkPosition
|
|
{
|
|
position950, thunkPosition950 := position, thunkPosition
|
|
if !matchChar('"') {
|
|
goto l951
|
|
}
|
|
if !p.rules[ruleSp]() {
|
|
goto l951
|
|
}
|
|
if !p.rules[ruleNewline]() {
|
|
goto l951
|
|
}
|
|
goto l950
|
|
l951:
|
|
position, thunkPosition = position950, thunkPosition950
|
|
if !p.rules[ruleNewline]() {
|
|
goto l949
|
|
}
|
|
}
|
|
l950:
|
|
goto l948
|
|
l949:
|
|
position, thunkPosition = position949, thunkPosition949
|
|
}
|
|
if !matchDot() {
|
|
goto l948
|
|
}
|
|
goto l947
|
|
l948:
|
|
position, thunkPosition = position948, thunkPosition948
|
|
}
|
|
end = position
|
|
if !matchChar('"') {
|
|
goto l946
|
|
}
|
|
return true
|
|
l946:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 152 RefTitleParens <- ('(' < (!((')' Sp Newline) / Newline) .)* > ')') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('(') {
|
|
goto l952
|
|
}
|
|
begin = position
|
|
l953:
|
|
{
|
|
position954, thunkPosition954 := position, thunkPosition
|
|
{
|
|
position955, thunkPosition955 := position, thunkPosition
|
|
{
|
|
position956, thunkPosition956 := position, thunkPosition
|
|
if !matchChar(')') {
|
|
goto l957
|
|
}
|
|
if !p.rules[ruleSp]() {
|
|
goto l957
|
|
}
|
|
if !p.rules[ruleNewline]() {
|
|
goto l957
|
|
}
|
|
goto l956
|
|
l957:
|
|
position, thunkPosition = position956, thunkPosition956
|
|
if !p.rules[ruleNewline]() {
|
|
goto l955
|
|
}
|
|
}
|
|
l956:
|
|
goto l954
|
|
l955:
|
|
position, thunkPosition = position955, thunkPosition955
|
|
}
|
|
if !matchDot() {
|
|
goto l954
|
|
}
|
|
goto l953
|
|
l954:
|
|
position, thunkPosition = position954, thunkPosition954
|
|
}
|
|
end = position
|
|
if !matchChar(')') {
|
|
goto l952
|
|
}
|
|
return true
|
|
l952:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 153 References <- (StartList ((Reference { a = cons(b, a) }) / SkipBlock)* { p.references = reverse(a) } commit) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
doarg(yyPush, 2)
|
|
if !p.rules[ruleStartList]() {
|
|
goto l958
|
|
}
|
|
doarg(yySet, -1)
|
|
l959:
|
|
{
|
|
position960, thunkPosition960 := position, thunkPosition
|
|
{
|
|
position961, thunkPosition961 := position, thunkPosition
|
|
if !p.rules[ruleReference]() {
|
|
goto l962
|
|
}
|
|
doarg(yySet, -2)
|
|
do(80)
|
|
goto l961
|
|
l962:
|
|
position, thunkPosition = position961, thunkPosition961
|
|
if !p.rules[ruleSkipBlock]() {
|
|
goto l960
|
|
}
|
|
}
|
|
l961:
|
|
goto l959
|
|
l960:
|
|
position, thunkPosition = position960, thunkPosition960
|
|
}
|
|
do(81)
|
|
if !(commit(thunkPosition0)) {
|
|
goto l958
|
|
}
|
|
doarg(yyPop, 2)
|
|
return true
|
|
l958:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 154 Ticks1 <- ('`' !'`') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('`') {
|
|
goto l963
|
|
}
|
|
if peekChar('`') {
|
|
goto l963
|
|
}
|
|
return true
|
|
l963:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 155 Ticks2 <- ('``' !'`') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchString("``") {
|
|
goto l964
|
|
}
|
|
if peekChar('`') {
|
|
goto l964
|
|
}
|
|
return true
|
|
l964:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 156 Ticks3 <- ('```' !'`') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchString("```") {
|
|
goto l965
|
|
}
|
|
if peekChar('`') {
|
|
goto l965
|
|
}
|
|
return true
|
|
l965:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 157 Ticks4 <- ('````' !'`') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchString("````") {
|
|
goto l966
|
|
}
|
|
if peekChar('`') {
|
|
goto l966
|
|
}
|
|
return true
|
|
l966:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 158 Ticks5 <- ('`````' !'`') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchString("`````") {
|
|
goto l967
|
|
}
|
|
if peekChar('`') {
|
|
goto l967
|
|
}
|
|
return true
|
|
l967:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 159 Code <- (((Ticks1 Sp < ((!'`' Nonspacechar)+ / (!Ticks1 '`'+) / (!(Sp Ticks1) (Spacechar / (Newline !BlankLine))))+ > Sp Ticks1) / (Ticks2 Sp < ((!'`' Nonspacechar)+ / (!Ticks2 '`'+) / (!(Sp Ticks2) (Spacechar / (Newline !BlankLine))))+ > Sp Ticks2) / (Ticks3 Sp < ((!'`' Nonspacechar)+ / (!Ticks3 '`'+) / (!(Sp Ticks3) (Spacechar / (Newline !BlankLine))))+ > Sp Ticks3) / (Ticks4 Sp < ((!'`' Nonspacechar)+ / (!Ticks4 '`'+) / (!(Sp Ticks4) (Spacechar / (Newline !BlankLine))))+ > Sp Ticks4) / (Ticks5 Sp < ((!'`' Nonspacechar)+ / (!Ticks5 '`'+) / (!(Sp Ticks5) (Spacechar / (Newline !BlankLine))))+ > Sp Ticks5)) { yy = mk_str(yytext); yy.key = CODE }) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
{
|
|
position969, thunkPosition969 := position, thunkPosition
|
|
if !p.rules[ruleTicks1]() {
|
|
goto l970
|
|
}
|
|
if !p.rules[ruleSp]() {
|
|
goto l970
|
|
}
|
|
begin = position
|
|
{
|
|
position973, thunkPosition973 := position, thunkPosition
|
|
if peekChar('`') {
|
|
goto l974
|
|
}
|
|
if !p.rules[ruleNonspacechar]() {
|
|
goto l974
|
|
}
|
|
l975:
|
|
{
|
|
position976, thunkPosition976 := position, thunkPosition
|
|
if peekChar('`') {
|
|
goto l976
|
|
}
|
|
if !p.rules[ruleNonspacechar]() {
|
|
goto l976
|
|
}
|
|
goto l975
|
|
l976:
|
|
position, thunkPosition = position976, thunkPosition976
|
|
}
|
|
goto l973
|
|
l974:
|
|
position, thunkPosition = position973, thunkPosition973
|
|
{
|
|
position978, thunkPosition978 := position, thunkPosition
|
|
if !p.rules[ruleTicks1]() {
|
|
goto l978
|
|
}
|
|
goto l977
|
|
l978:
|
|
position, thunkPosition = position978, thunkPosition978
|
|
}
|
|
if !matchChar('`') {
|
|
goto l977
|
|
}
|
|
l979:
|
|
{
|
|
position980, thunkPosition980 := position, thunkPosition
|
|
if !matchChar('`') {
|
|
goto l980
|
|
}
|
|
goto l979
|
|
l980:
|
|
position, thunkPosition = position980, thunkPosition980
|
|
}
|
|
goto l973
|
|
l977:
|
|
position, thunkPosition = position973, thunkPosition973
|
|
{
|
|
position981, thunkPosition981 := position, thunkPosition
|
|
if !p.rules[ruleSp]() {
|
|
goto l981
|
|
}
|
|
if !p.rules[ruleTicks1]() {
|
|
goto l981
|
|
}
|
|
goto l970
|
|
l981:
|
|
position, thunkPosition = position981, thunkPosition981
|
|
}
|
|
{
|
|
position982, thunkPosition982 := position, thunkPosition
|
|
if !p.rules[ruleSpacechar]() {
|
|
goto l983
|
|
}
|
|
goto l982
|
|
l983:
|
|
position, thunkPosition = position982, thunkPosition982
|
|
if !p.rules[ruleNewline]() {
|
|
goto l970
|
|
}
|
|
{
|
|
position984, thunkPosition984 := position, thunkPosition
|
|
if !p.rules[ruleBlankLine]() {
|
|
goto l984
|
|
}
|
|
goto l970
|
|
l984:
|
|
position, thunkPosition = position984, thunkPosition984
|
|
}
|
|
}
|
|
l982:
|
|
}
|
|
l973:
|
|
l971:
|
|
{
|
|
position972, thunkPosition972 := position, thunkPosition
|
|
{
|
|
position985, thunkPosition985 := position, thunkPosition
|
|
if peekChar('`') {
|
|
goto l986
|
|
}
|
|
if !p.rules[ruleNonspacechar]() {
|
|
goto l986
|
|
}
|
|
l987:
|
|
{
|
|
position988, thunkPosition988 := position, thunkPosition
|
|
if peekChar('`') {
|
|
goto l988
|
|
}
|
|
if !p.rules[ruleNonspacechar]() {
|
|
goto l988
|
|
}
|
|
goto l987
|
|
l988:
|
|
position, thunkPosition = position988, thunkPosition988
|
|
}
|
|
goto l985
|
|
l986:
|
|
position, thunkPosition = position985, thunkPosition985
|
|
{
|
|
position990, thunkPosition990 := position, thunkPosition
|
|
if !p.rules[ruleTicks1]() {
|
|
goto l990
|
|
}
|
|
goto l989
|
|
l990:
|
|
position, thunkPosition = position990, thunkPosition990
|
|
}
|
|
if !matchChar('`') {
|
|
goto l989
|
|
}
|
|
l991:
|
|
{
|
|
position992, thunkPosition992 := position, thunkPosition
|
|
if !matchChar('`') {
|
|
goto l992
|
|
}
|
|
goto l991
|
|
l992:
|
|
position, thunkPosition = position992, thunkPosition992
|
|
}
|
|
goto l985
|
|
l989:
|
|
position, thunkPosition = position985, thunkPosition985
|
|
{
|
|
position993, thunkPosition993 := position, thunkPosition
|
|
if !p.rules[ruleSp]() {
|
|
goto l993
|
|
}
|
|
if !p.rules[ruleTicks1]() {
|
|
goto l993
|
|
}
|
|
goto l972
|
|
l993:
|
|
position, thunkPosition = position993, thunkPosition993
|
|
}
|
|
{
|
|
position994, thunkPosition994 := position, thunkPosition
|
|
if !p.rules[ruleSpacechar]() {
|
|
goto l995
|
|
}
|
|
goto l994
|
|
l995:
|
|
position, thunkPosition = position994, thunkPosition994
|
|
if !p.rules[ruleNewline]() {
|
|
goto l972
|
|
}
|
|
{
|
|
position996, thunkPosition996 := position, thunkPosition
|
|
if !p.rules[ruleBlankLine]() {
|
|
goto l996
|
|
}
|
|
goto l972
|
|
l996:
|
|
position, thunkPosition = position996, thunkPosition996
|
|
}
|
|
}
|
|
l994:
|
|
}
|
|
l985:
|
|
goto l971
|
|
l972:
|
|
position, thunkPosition = position972, thunkPosition972
|
|
}
|
|
end = position
|
|
if !p.rules[ruleSp]() {
|
|
goto l970
|
|
}
|
|
if !p.rules[ruleTicks1]() {
|
|
goto l970
|
|
}
|
|
goto l969
|
|
l970:
|
|
position, thunkPosition = position969, thunkPosition969
|
|
if !p.rules[ruleTicks2]() {
|
|
goto l997
|
|
}
|
|
if !p.rules[ruleSp]() {
|
|
goto l997
|
|
}
|
|
begin = position
|
|
{
|
|
position1000, thunkPosition1000 := position, thunkPosition
|
|
if peekChar('`') {
|
|
goto l1001
|
|
}
|
|
if !p.rules[ruleNonspacechar]() {
|
|
goto l1001
|
|
}
|
|
l1002:
|
|
{
|
|
position1003, thunkPosition1003 := position, thunkPosition
|
|
if peekChar('`') {
|
|
goto l1003
|
|
}
|
|
if !p.rules[ruleNonspacechar]() {
|
|
goto l1003
|
|
}
|
|
goto l1002
|
|
l1003:
|
|
position, thunkPosition = position1003, thunkPosition1003
|
|
}
|
|
goto l1000
|
|
l1001:
|
|
position, thunkPosition = position1000, thunkPosition1000
|
|
{
|
|
position1005, thunkPosition1005 := position, thunkPosition
|
|
if !p.rules[ruleTicks2]() {
|
|
goto l1005
|
|
}
|
|
goto l1004
|
|
l1005:
|
|
position, thunkPosition = position1005, thunkPosition1005
|
|
}
|
|
if !matchChar('`') {
|
|
goto l1004
|
|
}
|
|
l1006:
|
|
{
|
|
position1007, thunkPosition1007 := position, thunkPosition
|
|
if !matchChar('`') {
|
|
goto l1007
|
|
}
|
|
goto l1006
|
|
l1007:
|
|
position, thunkPosition = position1007, thunkPosition1007
|
|
}
|
|
goto l1000
|
|
l1004:
|
|
position, thunkPosition = position1000, thunkPosition1000
|
|
{
|
|
position1008, thunkPosition1008 := position, thunkPosition
|
|
if !p.rules[ruleSp]() {
|
|
goto l1008
|
|
}
|
|
if !p.rules[ruleTicks2]() {
|
|
goto l1008
|
|
}
|
|
goto l997
|
|
l1008:
|
|
position, thunkPosition = position1008, thunkPosition1008
|
|
}
|
|
{
|
|
position1009, thunkPosition1009 := position, thunkPosition
|
|
if !p.rules[ruleSpacechar]() {
|
|
goto l1010
|
|
}
|
|
goto l1009
|
|
l1010:
|
|
position, thunkPosition = position1009, thunkPosition1009
|
|
if !p.rules[ruleNewline]() {
|
|
goto l997
|
|
}
|
|
{
|
|
position1011, thunkPosition1011 := position, thunkPosition
|
|
if !p.rules[ruleBlankLine]() {
|
|
goto l1011
|
|
}
|
|
goto l997
|
|
l1011:
|
|
position, thunkPosition = position1011, thunkPosition1011
|
|
}
|
|
}
|
|
l1009:
|
|
}
|
|
l1000:
|
|
l998:
|
|
{
|
|
position999, thunkPosition999 := position, thunkPosition
|
|
{
|
|
position1012, thunkPosition1012 := position, thunkPosition
|
|
if peekChar('`') {
|
|
goto l1013
|
|
}
|
|
if !p.rules[ruleNonspacechar]() {
|
|
goto l1013
|
|
}
|
|
l1014:
|
|
{
|
|
position1015, thunkPosition1015 := position, thunkPosition
|
|
if peekChar('`') {
|
|
goto l1015
|
|
}
|
|
if !p.rules[ruleNonspacechar]() {
|
|
goto l1015
|
|
}
|
|
goto l1014
|
|
l1015:
|
|
position, thunkPosition = position1015, thunkPosition1015
|
|
}
|
|
goto l1012
|
|
l1013:
|
|
position, thunkPosition = position1012, thunkPosition1012
|
|
{
|
|
position1017, thunkPosition1017 := position, thunkPosition
|
|
if !p.rules[ruleTicks2]() {
|
|
goto l1017
|
|
}
|
|
goto l1016
|
|
l1017:
|
|
position, thunkPosition = position1017, thunkPosition1017
|
|
}
|
|
if !matchChar('`') {
|
|
goto l1016
|
|
}
|
|
l1018:
|
|
{
|
|
position1019, thunkPosition1019 := position, thunkPosition
|
|
if !matchChar('`') {
|
|
goto l1019
|
|
}
|
|
goto l1018
|
|
l1019:
|
|
position, thunkPosition = position1019, thunkPosition1019
|
|
}
|
|
goto l1012
|
|
l1016:
|
|
position, thunkPosition = position1012, thunkPosition1012
|
|
{
|
|
position1020, thunkPosition1020 := position, thunkPosition
|
|
if !p.rules[ruleSp]() {
|
|
goto l1020
|
|
}
|
|
if !p.rules[ruleTicks2]() {
|
|
goto l1020
|
|
}
|
|
goto l999
|
|
l1020:
|
|
position, thunkPosition = position1020, thunkPosition1020
|
|
}
|
|
{
|
|
position1021, thunkPosition1021 := position, thunkPosition
|
|
if !p.rules[ruleSpacechar]() {
|
|
goto l1022
|
|
}
|
|
goto l1021
|
|
l1022:
|
|
position, thunkPosition = position1021, thunkPosition1021
|
|
if !p.rules[ruleNewline]() {
|
|
goto l999
|
|
}
|
|
{
|
|
position1023, thunkPosition1023 := position, thunkPosition
|
|
if !p.rules[ruleBlankLine]() {
|
|
goto l1023
|
|
}
|
|
goto l999
|
|
l1023:
|
|
position, thunkPosition = position1023, thunkPosition1023
|
|
}
|
|
}
|
|
l1021:
|
|
}
|
|
l1012:
|
|
goto l998
|
|
l999:
|
|
position, thunkPosition = position999, thunkPosition999
|
|
}
|
|
end = position
|
|
if !p.rules[ruleSp]() {
|
|
goto l997
|
|
}
|
|
if !p.rules[ruleTicks2]() {
|
|
goto l997
|
|
}
|
|
goto l969
|
|
l997:
|
|
position, thunkPosition = position969, thunkPosition969
|
|
if !p.rules[ruleTicks3]() {
|
|
goto l1024
|
|
}
|
|
if !p.rules[ruleSp]() {
|
|
goto l1024
|
|
}
|
|
begin = position
|
|
{
|
|
position1027, thunkPosition1027 := position, thunkPosition
|
|
if peekChar('`') {
|
|
goto l1028
|
|
}
|
|
if !p.rules[ruleNonspacechar]() {
|
|
goto l1028
|
|
}
|
|
l1029:
|
|
{
|
|
position1030, thunkPosition1030 := position, thunkPosition
|
|
if peekChar('`') {
|
|
goto l1030
|
|
}
|
|
if !p.rules[ruleNonspacechar]() {
|
|
goto l1030
|
|
}
|
|
goto l1029
|
|
l1030:
|
|
position, thunkPosition = position1030, thunkPosition1030
|
|
}
|
|
goto l1027
|
|
l1028:
|
|
position, thunkPosition = position1027, thunkPosition1027
|
|
{
|
|
position1032, thunkPosition1032 := position, thunkPosition
|
|
if !p.rules[ruleTicks3]() {
|
|
goto l1032
|
|
}
|
|
goto l1031
|
|
l1032:
|
|
position, thunkPosition = position1032, thunkPosition1032
|
|
}
|
|
if !matchChar('`') {
|
|
goto l1031
|
|
}
|
|
l1033:
|
|
{
|
|
position1034, thunkPosition1034 := position, thunkPosition
|
|
if !matchChar('`') {
|
|
goto l1034
|
|
}
|
|
goto l1033
|
|
l1034:
|
|
position, thunkPosition = position1034, thunkPosition1034
|
|
}
|
|
goto l1027
|
|
l1031:
|
|
position, thunkPosition = position1027, thunkPosition1027
|
|
{
|
|
position1035, thunkPosition1035 := position, thunkPosition
|
|
if !p.rules[ruleSp]() {
|
|
goto l1035
|
|
}
|
|
if !p.rules[ruleTicks3]() {
|
|
goto l1035
|
|
}
|
|
goto l1024
|
|
l1035:
|
|
position, thunkPosition = position1035, thunkPosition1035
|
|
}
|
|
{
|
|
position1036, thunkPosition1036 := position, thunkPosition
|
|
if !p.rules[ruleSpacechar]() {
|
|
goto l1037
|
|
}
|
|
goto l1036
|
|
l1037:
|
|
position, thunkPosition = position1036, thunkPosition1036
|
|
if !p.rules[ruleNewline]() {
|
|
goto l1024
|
|
}
|
|
{
|
|
position1038, thunkPosition1038 := position, thunkPosition
|
|
if !p.rules[ruleBlankLine]() {
|
|
goto l1038
|
|
}
|
|
goto l1024
|
|
l1038:
|
|
position, thunkPosition = position1038, thunkPosition1038
|
|
}
|
|
}
|
|
l1036:
|
|
}
|
|
l1027:
|
|
l1025:
|
|
{
|
|
position1026, thunkPosition1026 := position, thunkPosition
|
|
{
|
|
position1039, thunkPosition1039 := position, thunkPosition
|
|
if peekChar('`') {
|
|
goto l1040
|
|
}
|
|
if !p.rules[ruleNonspacechar]() {
|
|
goto l1040
|
|
}
|
|
l1041:
|
|
{
|
|
position1042, thunkPosition1042 := position, thunkPosition
|
|
if peekChar('`') {
|
|
goto l1042
|
|
}
|
|
if !p.rules[ruleNonspacechar]() {
|
|
goto l1042
|
|
}
|
|
goto l1041
|
|
l1042:
|
|
position, thunkPosition = position1042, thunkPosition1042
|
|
}
|
|
goto l1039
|
|
l1040:
|
|
position, thunkPosition = position1039, thunkPosition1039
|
|
{
|
|
position1044, thunkPosition1044 := position, thunkPosition
|
|
if !p.rules[ruleTicks3]() {
|
|
goto l1044
|
|
}
|
|
goto l1043
|
|
l1044:
|
|
position, thunkPosition = position1044, thunkPosition1044
|
|
}
|
|
if !matchChar('`') {
|
|
goto l1043
|
|
}
|
|
l1045:
|
|
{
|
|
position1046, thunkPosition1046 := position, thunkPosition
|
|
if !matchChar('`') {
|
|
goto l1046
|
|
}
|
|
goto l1045
|
|
l1046:
|
|
position, thunkPosition = position1046, thunkPosition1046
|
|
}
|
|
goto l1039
|
|
l1043:
|
|
position, thunkPosition = position1039, thunkPosition1039
|
|
{
|
|
position1047, thunkPosition1047 := position, thunkPosition
|
|
if !p.rules[ruleSp]() {
|
|
goto l1047
|
|
}
|
|
if !p.rules[ruleTicks3]() {
|
|
goto l1047
|
|
}
|
|
goto l1026
|
|
l1047:
|
|
position, thunkPosition = position1047, thunkPosition1047
|
|
}
|
|
{
|
|
position1048, thunkPosition1048 := position, thunkPosition
|
|
if !p.rules[ruleSpacechar]() {
|
|
goto l1049
|
|
}
|
|
goto l1048
|
|
l1049:
|
|
position, thunkPosition = position1048, thunkPosition1048
|
|
if !p.rules[ruleNewline]() {
|
|
goto l1026
|
|
}
|
|
{
|
|
position1050, thunkPosition1050 := position, thunkPosition
|
|
if !p.rules[ruleBlankLine]() {
|
|
goto l1050
|
|
}
|
|
goto l1026
|
|
l1050:
|
|
position, thunkPosition = position1050, thunkPosition1050
|
|
}
|
|
}
|
|
l1048:
|
|
}
|
|
l1039:
|
|
goto l1025
|
|
l1026:
|
|
position, thunkPosition = position1026, thunkPosition1026
|
|
}
|
|
end = position
|
|
if !p.rules[ruleSp]() {
|
|
goto l1024
|
|
}
|
|
if !p.rules[ruleTicks3]() {
|
|
goto l1024
|
|
}
|
|
goto l969
|
|
l1024:
|
|
position, thunkPosition = position969, thunkPosition969
|
|
if !p.rules[ruleTicks4]() {
|
|
goto l1051
|
|
}
|
|
if !p.rules[ruleSp]() {
|
|
goto l1051
|
|
}
|
|
begin = position
|
|
{
|
|
position1054, thunkPosition1054 := position, thunkPosition
|
|
if peekChar('`') {
|
|
goto l1055
|
|
}
|
|
if !p.rules[ruleNonspacechar]() {
|
|
goto l1055
|
|
}
|
|
l1056:
|
|
{
|
|
position1057, thunkPosition1057 := position, thunkPosition
|
|
if peekChar('`') {
|
|
goto l1057
|
|
}
|
|
if !p.rules[ruleNonspacechar]() {
|
|
goto l1057
|
|
}
|
|
goto l1056
|
|
l1057:
|
|
position, thunkPosition = position1057, thunkPosition1057
|
|
}
|
|
goto l1054
|
|
l1055:
|
|
position, thunkPosition = position1054, thunkPosition1054
|
|
{
|
|
position1059, thunkPosition1059 := position, thunkPosition
|
|
if !p.rules[ruleTicks4]() {
|
|
goto l1059
|
|
}
|
|
goto l1058
|
|
l1059:
|
|
position, thunkPosition = position1059, thunkPosition1059
|
|
}
|
|
if !matchChar('`') {
|
|
goto l1058
|
|
}
|
|
l1060:
|
|
{
|
|
position1061, thunkPosition1061 := position, thunkPosition
|
|
if !matchChar('`') {
|
|
goto l1061
|
|
}
|
|
goto l1060
|
|
l1061:
|
|
position, thunkPosition = position1061, thunkPosition1061
|
|
}
|
|
goto l1054
|
|
l1058:
|
|
position, thunkPosition = position1054, thunkPosition1054
|
|
{
|
|
position1062, thunkPosition1062 := position, thunkPosition
|
|
if !p.rules[ruleSp]() {
|
|
goto l1062
|
|
}
|
|
if !p.rules[ruleTicks4]() {
|
|
goto l1062
|
|
}
|
|
goto l1051
|
|
l1062:
|
|
position, thunkPosition = position1062, thunkPosition1062
|
|
}
|
|
{
|
|
position1063, thunkPosition1063 := position, thunkPosition
|
|
if !p.rules[ruleSpacechar]() {
|
|
goto l1064
|
|
}
|
|
goto l1063
|
|
l1064:
|
|
position, thunkPosition = position1063, thunkPosition1063
|
|
if !p.rules[ruleNewline]() {
|
|
goto l1051
|
|
}
|
|
{
|
|
position1065, thunkPosition1065 := position, thunkPosition
|
|
if !p.rules[ruleBlankLine]() {
|
|
goto l1065
|
|
}
|
|
goto l1051
|
|
l1065:
|
|
position, thunkPosition = position1065, thunkPosition1065
|
|
}
|
|
}
|
|
l1063:
|
|
}
|
|
l1054:
|
|
l1052:
|
|
{
|
|
position1053, thunkPosition1053 := position, thunkPosition
|
|
{
|
|
position1066, thunkPosition1066 := position, thunkPosition
|
|
if peekChar('`') {
|
|
goto l1067
|
|
}
|
|
if !p.rules[ruleNonspacechar]() {
|
|
goto l1067
|
|
}
|
|
l1068:
|
|
{
|
|
position1069, thunkPosition1069 := position, thunkPosition
|
|
if peekChar('`') {
|
|
goto l1069
|
|
}
|
|
if !p.rules[ruleNonspacechar]() {
|
|
goto l1069
|
|
}
|
|
goto l1068
|
|
l1069:
|
|
position, thunkPosition = position1069, thunkPosition1069
|
|
}
|
|
goto l1066
|
|
l1067:
|
|
position, thunkPosition = position1066, thunkPosition1066
|
|
{
|
|
position1071, thunkPosition1071 := position, thunkPosition
|
|
if !p.rules[ruleTicks4]() {
|
|
goto l1071
|
|
}
|
|
goto l1070
|
|
l1071:
|
|
position, thunkPosition = position1071, thunkPosition1071
|
|
}
|
|
if !matchChar('`') {
|
|
goto l1070
|
|
}
|
|
l1072:
|
|
{
|
|
position1073, thunkPosition1073 := position, thunkPosition
|
|
if !matchChar('`') {
|
|
goto l1073
|
|
}
|
|
goto l1072
|
|
l1073:
|
|
position, thunkPosition = position1073, thunkPosition1073
|
|
}
|
|
goto l1066
|
|
l1070:
|
|
position, thunkPosition = position1066, thunkPosition1066
|
|
{
|
|
position1074, thunkPosition1074 := position, thunkPosition
|
|
if !p.rules[ruleSp]() {
|
|
goto l1074
|
|
}
|
|
if !p.rules[ruleTicks4]() {
|
|
goto l1074
|
|
}
|
|
goto l1053
|
|
l1074:
|
|
position, thunkPosition = position1074, thunkPosition1074
|
|
}
|
|
{
|
|
position1075, thunkPosition1075 := position, thunkPosition
|
|
if !p.rules[ruleSpacechar]() {
|
|
goto l1076
|
|
}
|
|
goto l1075
|
|
l1076:
|
|
position, thunkPosition = position1075, thunkPosition1075
|
|
if !p.rules[ruleNewline]() {
|
|
goto l1053
|
|
}
|
|
{
|
|
position1077, thunkPosition1077 := position, thunkPosition
|
|
if !p.rules[ruleBlankLine]() {
|
|
goto l1077
|
|
}
|
|
goto l1053
|
|
l1077:
|
|
position, thunkPosition = position1077, thunkPosition1077
|
|
}
|
|
}
|
|
l1075:
|
|
}
|
|
l1066:
|
|
goto l1052
|
|
l1053:
|
|
position, thunkPosition = position1053, thunkPosition1053
|
|
}
|
|
end = position
|
|
if !p.rules[ruleSp]() {
|
|
goto l1051
|
|
}
|
|
if !p.rules[ruleTicks4]() {
|
|
goto l1051
|
|
}
|
|
goto l969
|
|
l1051:
|
|
position, thunkPosition = position969, thunkPosition969
|
|
if !p.rules[ruleTicks5]() {
|
|
goto l968
|
|
}
|
|
if !p.rules[ruleSp]() {
|
|
goto l968
|
|
}
|
|
begin = position
|
|
{
|
|
position1080, thunkPosition1080 := position, thunkPosition
|
|
if peekChar('`') {
|
|
goto l1081
|
|
}
|
|
if !p.rules[ruleNonspacechar]() {
|
|
goto l1081
|
|
}
|
|
l1082:
|
|
{
|
|
position1083, thunkPosition1083 := position, thunkPosition
|
|
if peekChar('`') {
|
|
goto l1083
|
|
}
|
|
if !p.rules[ruleNonspacechar]() {
|
|
goto l1083
|
|
}
|
|
goto l1082
|
|
l1083:
|
|
position, thunkPosition = position1083, thunkPosition1083
|
|
}
|
|
goto l1080
|
|
l1081:
|
|
position, thunkPosition = position1080, thunkPosition1080
|
|
{
|
|
position1085, thunkPosition1085 := position, thunkPosition
|
|
if !p.rules[ruleTicks5]() {
|
|
goto l1085
|
|
}
|
|
goto l1084
|
|
l1085:
|
|
position, thunkPosition = position1085, thunkPosition1085
|
|
}
|
|
if !matchChar('`') {
|
|
goto l1084
|
|
}
|
|
l1086:
|
|
{
|
|
position1087, thunkPosition1087 := position, thunkPosition
|
|
if !matchChar('`') {
|
|
goto l1087
|
|
}
|
|
goto l1086
|
|
l1087:
|
|
position, thunkPosition = position1087, thunkPosition1087
|
|
}
|
|
goto l1080
|
|
l1084:
|
|
position, thunkPosition = position1080, thunkPosition1080
|
|
{
|
|
position1088, thunkPosition1088 := position, thunkPosition
|
|
if !p.rules[ruleSp]() {
|
|
goto l1088
|
|
}
|
|
if !p.rules[ruleTicks5]() {
|
|
goto l1088
|
|
}
|
|
goto l968
|
|
l1088:
|
|
position, thunkPosition = position1088, thunkPosition1088
|
|
}
|
|
{
|
|
position1089, thunkPosition1089 := position, thunkPosition
|
|
if !p.rules[ruleSpacechar]() {
|
|
goto l1090
|
|
}
|
|
goto l1089
|
|
l1090:
|
|
position, thunkPosition = position1089, thunkPosition1089
|
|
if !p.rules[ruleNewline]() {
|
|
goto l968
|
|
}
|
|
{
|
|
position1091, thunkPosition1091 := position, thunkPosition
|
|
if !p.rules[ruleBlankLine]() {
|
|
goto l1091
|
|
}
|
|
goto l968
|
|
l1091:
|
|
position, thunkPosition = position1091, thunkPosition1091
|
|
}
|
|
}
|
|
l1089:
|
|
}
|
|
l1080:
|
|
l1078:
|
|
{
|
|
position1079, thunkPosition1079 := position, thunkPosition
|
|
{
|
|
position1092, thunkPosition1092 := position, thunkPosition
|
|
if peekChar('`') {
|
|
goto l1093
|
|
}
|
|
if !p.rules[ruleNonspacechar]() {
|
|
goto l1093
|
|
}
|
|
l1094:
|
|
{
|
|
position1095, thunkPosition1095 := position, thunkPosition
|
|
if peekChar('`') {
|
|
goto l1095
|
|
}
|
|
if !p.rules[ruleNonspacechar]() {
|
|
goto l1095
|
|
}
|
|
goto l1094
|
|
l1095:
|
|
position, thunkPosition = position1095, thunkPosition1095
|
|
}
|
|
goto l1092
|
|
l1093:
|
|
position, thunkPosition = position1092, thunkPosition1092
|
|
{
|
|
position1097, thunkPosition1097 := position, thunkPosition
|
|
if !p.rules[ruleTicks5]() {
|
|
goto l1097
|
|
}
|
|
goto l1096
|
|
l1097:
|
|
position, thunkPosition = position1097, thunkPosition1097
|
|
}
|
|
if !matchChar('`') {
|
|
goto l1096
|
|
}
|
|
l1098:
|
|
{
|
|
position1099, thunkPosition1099 := position, thunkPosition
|
|
if !matchChar('`') {
|
|
goto l1099
|
|
}
|
|
goto l1098
|
|
l1099:
|
|
position, thunkPosition = position1099, thunkPosition1099
|
|
}
|
|
goto l1092
|
|
l1096:
|
|
position, thunkPosition = position1092, thunkPosition1092
|
|
{
|
|
position1100, thunkPosition1100 := position, thunkPosition
|
|
if !p.rules[ruleSp]() {
|
|
goto l1100
|
|
}
|
|
if !p.rules[ruleTicks5]() {
|
|
goto l1100
|
|
}
|
|
goto l1079
|
|
l1100:
|
|
position, thunkPosition = position1100, thunkPosition1100
|
|
}
|
|
{
|
|
position1101, thunkPosition1101 := position, thunkPosition
|
|
if !p.rules[ruleSpacechar]() {
|
|
goto l1102
|
|
}
|
|
goto l1101
|
|
l1102:
|
|
position, thunkPosition = position1101, thunkPosition1101
|
|
if !p.rules[ruleNewline]() {
|
|
goto l1079
|
|
}
|
|
{
|
|
position1103, thunkPosition1103 := position, thunkPosition
|
|
if !p.rules[ruleBlankLine]() {
|
|
goto l1103
|
|
}
|
|
goto l1079
|
|
l1103:
|
|
position, thunkPosition = position1103, thunkPosition1103
|
|
}
|
|
}
|
|
l1101:
|
|
}
|
|
l1092:
|
|
goto l1078
|
|
l1079:
|
|
position, thunkPosition = position1079, thunkPosition1079
|
|
}
|
|
end = position
|
|
if !p.rules[ruleSp]() {
|
|
goto l968
|
|
}
|
|
if !p.rules[ruleTicks5]() {
|
|
goto l968
|
|
}
|
|
}
|
|
l969:
|
|
do(82)
|
|
return true
|
|
l968:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 160 RawHtml <- (< (HtmlComment / HtmlTag) > { if p.extension.FilterHTML {
|
|
yy = mk_list(LIST, nil)
|
|
} else {
|
|
yy = mk_str(yytext)
|
|
yy.key = HTML
|
|
}
|
|
}) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
begin = position
|
|
{
|
|
position1105, thunkPosition1105 := position, thunkPosition
|
|
if !p.rules[ruleHtmlComment]() {
|
|
goto l1106
|
|
}
|
|
goto l1105
|
|
l1106:
|
|
position, thunkPosition = position1105, thunkPosition1105
|
|
if !p.rules[ruleHtmlTag]() {
|
|
goto l1104
|
|
}
|
|
}
|
|
l1105:
|
|
end = position
|
|
do(83)
|
|
return true
|
|
l1104:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 161 BlankLine <- (Sp Newline) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !p.rules[ruleSp]() {
|
|
goto l1107
|
|
}
|
|
if !p.rules[ruleNewline]() {
|
|
goto l1107
|
|
}
|
|
return true
|
|
l1107:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 162 Quoted <- (('"' (!'"' .)* '"') / ('\'' (!'\'' .)* '\'')) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
{
|
|
position1109, thunkPosition1109 := position, thunkPosition
|
|
if !matchChar('"') {
|
|
goto l1110
|
|
}
|
|
l1111:
|
|
{
|
|
position1112, thunkPosition1112 := position, thunkPosition
|
|
if peekChar('"') {
|
|
goto l1112
|
|
}
|
|
if !matchDot() {
|
|
goto l1112
|
|
}
|
|
goto l1111
|
|
l1112:
|
|
position, thunkPosition = position1112, thunkPosition1112
|
|
}
|
|
if !matchChar('"') {
|
|
goto l1110
|
|
}
|
|
goto l1109
|
|
l1110:
|
|
position, thunkPosition = position1109, thunkPosition1109
|
|
if !matchChar('\'') {
|
|
goto l1108
|
|
}
|
|
l1113:
|
|
{
|
|
position1114, thunkPosition1114 := position, thunkPosition
|
|
if peekChar('\'') {
|
|
goto l1114
|
|
}
|
|
if !matchDot() {
|
|
goto l1114
|
|
}
|
|
goto l1113
|
|
l1114:
|
|
position, thunkPosition = position1114, thunkPosition1114
|
|
}
|
|
if !matchChar('\'') {
|
|
goto l1108
|
|
}
|
|
}
|
|
l1109:
|
|
return true
|
|
l1108:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 163 HtmlAttribute <- ((Alphanumeric / '-')+ Spnl ('=' Spnl (Quoted / (!'>' Nonspacechar)+))? Spnl) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
{
|
|
position1118, thunkPosition1118 := position, thunkPosition
|
|
if !p.rules[ruleAlphanumeric]() {
|
|
goto l1119
|
|
}
|
|
goto l1118
|
|
l1119:
|
|
position, thunkPosition = position1118, thunkPosition1118
|
|
if !matchChar('-') {
|
|
goto l1115
|
|
}
|
|
}
|
|
l1118:
|
|
l1116:
|
|
{
|
|
position1117, thunkPosition1117 := position, thunkPosition
|
|
{
|
|
position1120, thunkPosition1120 := position, thunkPosition
|
|
if !p.rules[ruleAlphanumeric]() {
|
|
goto l1121
|
|
}
|
|
goto l1120
|
|
l1121:
|
|
position, thunkPosition = position1120, thunkPosition1120
|
|
if !matchChar('-') {
|
|
goto l1117
|
|
}
|
|
}
|
|
l1120:
|
|
goto l1116
|
|
l1117:
|
|
position, thunkPosition = position1117, thunkPosition1117
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l1115
|
|
}
|
|
{
|
|
position1122, thunkPosition1122 := position, thunkPosition
|
|
if !matchChar('=') {
|
|
goto l1122
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l1122
|
|
}
|
|
{
|
|
position1124, thunkPosition1124 := position, thunkPosition
|
|
if !p.rules[ruleQuoted]() {
|
|
goto l1125
|
|
}
|
|
goto l1124
|
|
l1125:
|
|
position, thunkPosition = position1124, thunkPosition1124
|
|
if peekChar('>') {
|
|
goto l1122
|
|
}
|
|
if !p.rules[ruleNonspacechar]() {
|
|
goto l1122
|
|
}
|
|
l1126:
|
|
{
|
|
position1127, thunkPosition1127 := position, thunkPosition
|
|
if peekChar('>') {
|
|
goto l1127
|
|
}
|
|
if !p.rules[ruleNonspacechar]() {
|
|
goto l1127
|
|
}
|
|
goto l1126
|
|
l1127:
|
|
position, thunkPosition = position1127, thunkPosition1127
|
|
}
|
|
}
|
|
l1124:
|
|
goto l1123
|
|
l1122:
|
|
position, thunkPosition = position1122, thunkPosition1122
|
|
}
|
|
l1123:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l1115
|
|
}
|
|
return true
|
|
l1115:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 164 HtmlComment <- ('<!--' (!'-->' .)* '-->') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchString("<!--") {
|
|
goto l1128
|
|
}
|
|
l1129:
|
|
{
|
|
position1130, thunkPosition1130 := position, thunkPosition
|
|
{
|
|
position1131, thunkPosition1131 := position, thunkPosition
|
|
if !matchString("-->") {
|
|
goto l1131
|
|
}
|
|
goto l1130
|
|
l1131:
|
|
position, thunkPosition = position1131, thunkPosition1131
|
|
}
|
|
if !matchDot() {
|
|
goto l1130
|
|
}
|
|
goto l1129
|
|
l1130:
|
|
position, thunkPosition = position1130, thunkPosition1130
|
|
}
|
|
if !matchString("-->") {
|
|
goto l1128
|
|
}
|
|
return true
|
|
l1128:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 165 HtmlTag <- ('<' Spnl '/'? Alphanumeric+ Spnl HtmlAttribute* '/'? Spnl '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l1132
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l1132
|
|
}
|
|
{
|
|
position1133, thunkPosition1133 := position, thunkPosition
|
|
if !matchChar('/') {
|
|
goto l1133
|
|
}
|
|
goto l1134
|
|
l1133:
|
|
position, thunkPosition = position1133, thunkPosition1133
|
|
}
|
|
l1134:
|
|
if !p.rules[ruleAlphanumeric]() {
|
|
goto l1132
|
|
}
|
|
l1135:
|
|
{
|
|
position1136, thunkPosition1136 := position, thunkPosition
|
|
if !p.rules[ruleAlphanumeric]() {
|
|
goto l1136
|
|
}
|
|
goto l1135
|
|
l1136:
|
|
position, thunkPosition = position1136, thunkPosition1136
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l1132
|
|
}
|
|
l1137:
|
|
{
|
|
position1138, thunkPosition1138 := position, thunkPosition
|
|
if !p.rules[ruleHtmlAttribute]() {
|
|
goto l1138
|
|
}
|
|
goto l1137
|
|
l1138:
|
|
position, thunkPosition = position1138, thunkPosition1138
|
|
}
|
|
{
|
|
position1139, thunkPosition1139 := position, thunkPosition
|
|
if !matchChar('/') {
|
|
goto l1139
|
|
}
|
|
goto l1140
|
|
l1139:
|
|
position, thunkPosition = position1139, thunkPosition1139
|
|
}
|
|
l1140:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l1132
|
|
}
|
|
if !matchChar('>') {
|
|
goto l1132
|
|
}
|
|
return true
|
|
l1132:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 166 Eof <- !. */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if peekDot() {
|
|
goto l1141
|
|
}
|
|
return true
|
|
l1141:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 167 Spacechar <- (' ' / '\t') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
{
|
|
position1143, thunkPosition1143 := position, thunkPosition
|
|
if !matchChar(' ') {
|
|
goto l1144
|
|
}
|
|
goto l1143
|
|
l1144:
|
|
position, thunkPosition = position1143, thunkPosition1143
|
|
if !matchChar('\t') {
|
|
goto l1142
|
|
}
|
|
}
|
|
l1143:
|
|
return true
|
|
l1142:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 168 Nonspacechar <- (!Spacechar !Newline .) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
{
|
|
position1146, thunkPosition1146 := position, thunkPosition
|
|
if !p.rules[ruleSpacechar]() {
|
|
goto l1146
|
|
}
|
|
goto l1145
|
|
l1146:
|
|
position, thunkPosition = position1146, thunkPosition1146
|
|
}
|
|
{
|
|
position1147, thunkPosition1147 := position, thunkPosition
|
|
if !p.rules[ruleNewline]() {
|
|
goto l1147
|
|
}
|
|
goto l1145
|
|
l1147:
|
|
position, thunkPosition = position1147, thunkPosition1147
|
|
}
|
|
if !matchDot() {
|
|
goto l1145
|
|
}
|
|
return true
|
|
l1145:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 169 Newline <- ('\n' / ('\r' '\n'?)) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
{
|
|
position1149, thunkPosition1149 := position, thunkPosition
|
|
if !matchChar('\n') {
|
|
goto l1150
|
|
}
|
|
goto l1149
|
|
l1150:
|
|
position, thunkPosition = position1149, thunkPosition1149
|
|
if !matchChar('\r') {
|
|
goto l1148
|
|
}
|
|
{
|
|
position1151, thunkPosition1151 := position, thunkPosition
|
|
if !matchChar('\n') {
|
|
goto l1151
|
|
}
|
|
goto l1152
|
|
l1151:
|
|
position, thunkPosition = position1151, thunkPosition1151
|
|
}
|
|
l1152:
|
|
}
|
|
l1149:
|
|
return true
|
|
l1148:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 170 Sp <- Spacechar* */
|
|
func() bool {
|
|
l1154:
|
|
{
|
|
position1155, thunkPosition1155 := position, thunkPosition
|
|
if !p.rules[ruleSpacechar]() {
|
|
goto l1155
|
|
}
|
|
goto l1154
|
|
l1155:
|
|
position, thunkPosition = position1155, thunkPosition1155
|
|
}
|
|
return true
|
|
},
|
|
/* 171 Spnl <- (Sp (Newline Sp)?) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !p.rules[ruleSp]() {
|
|
goto l1156
|
|
}
|
|
{
|
|
position1157, thunkPosition1157 := position, thunkPosition
|
|
if !p.rules[ruleNewline]() {
|
|
goto l1157
|
|
}
|
|
if !p.rules[ruleSp]() {
|
|
goto l1157
|
|
}
|
|
goto l1158
|
|
l1157:
|
|
position, thunkPosition = position1157, thunkPosition1157
|
|
}
|
|
l1158:
|
|
return true
|
|
l1156:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 172 SpecialChar <- ('*' / '_' / '`' / '&' / '[' / ']' / '<' / '!' / '\\' / ExtendedSpecialChar) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
{
|
|
position1160, thunkPosition1160 := position, thunkPosition
|
|
if !matchChar('*') {
|
|
goto l1161
|
|
}
|
|
goto l1160
|
|
l1161:
|
|
position, thunkPosition = position1160, thunkPosition1160
|
|
if !matchChar('_') {
|
|
goto l1162
|
|
}
|
|
goto l1160
|
|
l1162:
|
|
position, thunkPosition = position1160, thunkPosition1160
|
|
if !matchChar('`') {
|
|
goto l1163
|
|
}
|
|
goto l1160
|
|
l1163:
|
|
position, thunkPosition = position1160, thunkPosition1160
|
|
if !matchChar('&') {
|
|
goto l1164
|
|
}
|
|
goto l1160
|
|
l1164:
|
|
position, thunkPosition = position1160, thunkPosition1160
|
|
if !matchChar('[') {
|
|
goto l1165
|
|
}
|
|
goto l1160
|
|
l1165:
|
|
position, thunkPosition = position1160, thunkPosition1160
|
|
if !matchChar(']') {
|
|
goto l1166
|
|
}
|
|
goto l1160
|
|
l1166:
|
|
position, thunkPosition = position1160, thunkPosition1160
|
|
if !matchChar('<') {
|
|
goto l1167
|
|
}
|
|
goto l1160
|
|
l1167:
|
|
position, thunkPosition = position1160, thunkPosition1160
|
|
if !matchChar('!') {
|
|
goto l1168
|
|
}
|
|
goto l1160
|
|
l1168:
|
|
position, thunkPosition = position1160, thunkPosition1160
|
|
if !matchChar('\\') {
|
|
goto l1169
|
|
}
|
|
goto l1160
|
|
l1169:
|
|
position, thunkPosition = position1160, thunkPosition1160
|
|
if !p.rules[ruleExtendedSpecialChar]() {
|
|
goto l1159
|
|
}
|
|
}
|
|
l1160:
|
|
return true
|
|
l1159:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 173 NormalChar <- (!(SpecialChar / Spacechar / Newline) .) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
{
|
|
position1171, thunkPosition1171 := position, thunkPosition
|
|
{
|
|
position1172, thunkPosition1172 := position, thunkPosition
|
|
if !p.rules[ruleSpecialChar]() {
|
|
goto l1173
|
|
}
|
|
goto l1172
|
|
l1173:
|
|
position, thunkPosition = position1172, thunkPosition1172
|
|
if !p.rules[ruleSpacechar]() {
|
|
goto l1174
|
|
}
|
|
goto l1172
|
|
l1174:
|
|
position, thunkPosition = position1172, thunkPosition1172
|
|
if !p.rules[ruleNewline]() {
|
|
goto l1171
|
|
}
|
|
}
|
|
l1172:
|
|
goto l1170
|
|
l1171:
|
|
position, thunkPosition = position1171, thunkPosition1171
|
|
}
|
|
if !matchDot() {
|
|
goto l1170
|
|
}
|
|
return true
|
|
l1170:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 174 Alphanumeric <- [A-Za-z0-9] */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchClass(6) {
|
|
goto l1175
|
|
}
|
|
return true
|
|
l1175:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 175 Digit <- [0-9] */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchClass(5) {
|
|
goto l1176
|
|
}
|
|
return true
|
|
l1176:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 176 HexEntity <- (< '&' '#' [Xx] [0-9a-fA-F]+ ';' >) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
begin = position
|
|
if !matchChar('&') {
|
|
goto l1177
|
|
}
|
|
if !matchChar('#') {
|
|
goto l1177
|
|
}
|
|
if !matchClass(3) {
|
|
goto l1177
|
|
}
|
|
if !matchClass(0) {
|
|
goto l1177
|
|
}
|
|
l1178:
|
|
{
|
|
position1179, thunkPosition1179 := position, thunkPosition
|
|
if !matchClass(0) {
|
|
goto l1179
|
|
}
|
|
goto l1178
|
|
l1179:
|
|
position, thunkPosition = position1179, thunkPosition1179
|
|
}
|
|
if !matchChar(';') {
|
|
goto l1177
|
|
}
|
|
end = position
|
|
return true
|
|
l1177:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 177 DecEntity <- (< '&' '#' [0-9]+ > ';' >) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
begin = position
|
|
if !matchChar('&') {
|
|
goto l1180
|
|
}
|
|
if !matchChar('#') {
|
|
goto l1180
|
|
}
|
|
if !matchClass(5) {
|
|
goto l1180
|
|
}
|
|
l1181:
|
|
{
|
|
position1182, thunkPosition1182 := position, thunkPosition
|
|
if !matchClass(5) {
|
|
goto l1182
|
|
}
|
|
goto l1181
|
|
l1182:
|
|
position, thunkPosition = position1182, thunkPosition1182
|
|
}
|
|
end = position
|
|
if !matchChar(';') {
|
|
goto l1180
|
|
}
|
|
end = position
|
|
return true
|
|
l1180:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 178 CharEntity <- (< '&' [A-Za-z0-9]+ ';' >) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
begin = position
|
|
if !matchChar('&') {
|
|
goto l1183
|
|
}
|
|
if !matchClass(6) {
|
|
goto l1183
|
|
}
|
|
l1184:
|
|
{
|
|
position1185, thunkPosition1185 := position, thunkPosition
|
|
if !matchClass(6) {
|
|
goto l1185
|
|
}
|
|
goto l1184
|
|
l1185:
|
|
position, thunkPosition = position1185, thunkPosition1185
|
|
}
|
|
if !matchChar(';') {
|
|
goto l1183
|
|
}
|
|
end = position
|
|
return true
|
|
l1183:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 179 NonindentSpace <- (' ' / ' ' / ' ' / '') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
{
|
|
position1187, thunkPosition1187 := position, thunkPosition
|
|
if !matchString(" ") {
|
|
goto l1188
|
|
}
|
|
goto l1187
|
|
l1188:
|
|
position, thunkPosition = position1187, thunkPosition1187
|
|
if !matchString(" ") {
|
|
goto l1189
|
|
}
|
|
goto l1187
|
|
l1189:
|
|
position, thunkPosition = position1187, thunkPosition1187
|
|
if !matchChar(' ') {
|
|
goto l1190
|
|
}
|
|
goto l1187
|
|
l1190:
|
|
position, thunkPosition = position1187, thunkPosition1187
|
|
if !matchString("") {
|
|
goto l1186
|
|
}
|
|
}
|
|
l1187:
|
|
return true
|
|
l1186:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 180 Indent <- ('\t' / ' ') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
{
|
|
position1192, thunkPosition1192 := position, thunkPosition
|
|
if !matchChar('\t') {
|
|
goto l1193
|
|
}
|
|
goto l1192
|
|
l1193:
|
|
position, thunkPosition = position1192, thunkPosition1192
|
|
if !matchString(" ") {
|
|
goto l1191
|
|
}
|
|
}
|
|
l1192:
|
|
return true
|
|
l1191:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 181 IndentedLine <- (Indent Line) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !p.rules[ruleIndent]() {
|
|
goto l1194
|
|
}
|
|
if !p.rules[ruleLine]() {
|
|
goto l1194
|
|
}
|
|
return true
|
|
l1194:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 182 OptionallyIndentedLine <- (Indent? Line) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
{
|
|
position1196, thunkPosition1196 := position, thunkPosition
|
|
if !p.rules[ruleIndent]() {
|
|
goto l1196
|
|
}
|
|
goto l1197
|
|
l1196:
|
|
position, thunkPosition = position1196, thunkPosition1196
|
|
}
|
|
l1197:
|
|
if !p.rules[ruleLine]() {
|
|
goto l1195
|
|
}
|
|
return true
|
|
l1195:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 183 StartList <- (&. { yy = nil }) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !peekDot() {
|
|
goto l1198
|
|
}
|
|
do(84)
|
|
return true
|
|
l1198:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 184 Line <- (RawLine { yy = mk_str(yytext) }) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !p.rules[ruleRawLine]() {
|
|
goto l1199
|
|
}
|
|
do(85)
|
|
return true
|
|
l1199:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 185 RawLine <- ((< (!'\r' !'\n' .)* Newline >) / (< .+ > Eof)) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
{
|
|
position1201, thunkPosition1201 := position, thunkPosition
|
|
begin = position
|
|
l1203:
|
|
{
|
|
position1204, thunkPosition1204 := position, thunkPosition
|
|
if peekChar('\r') {
|
|
goto l1204
|
|
}
|
|
if peekChar('\n') {
|
|
goto l1204
|
|
}
|
|
if !matchDot() {
|
|
goto l1204
|
|
}
|
|
goto l1203
|
|
l1204:
|
|
position, thunkPosition = position1204, thunkPosition1204
|
|
}
|
|
if !p.rules[ruleNewline]() {
|
|
goto l1202
|
|
}
|
|
end = position
|
|
goto l1201
|
|
l1202:
|
|
position, thunkPosition = position1201, thunkPosition1201
|
|
begin = position
|
|
if !matchDot() {
|
|
goto l1200
|
|
}
|
|
l1205:
|
|
{
|
|
position1206, thunkPosition1206 := position, thunkPosition
|
|
if !matchDot() {
|
|
goto l1206
|
|
}
|
|
goto l1205
|
|
l1206:
|
|
position, thunkPosition = position1206, thunkPosition1206
|
|
}
|
|
end = position
|
|
if !p.rules[ruleEof]() {
|
|
goto l1200
|
|
}
|
|
}
|
|
l1201:
|
|
return true
|
|
l1200:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 186 SkipBlock <- (((!BlankLine RawLine)+ BlankLine*) / BlankLine+) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
{
|
|
position1208, thunkPosition1208 := position, thunkPosition
|
|
{
|
|
position1212, thunkPosition1212 := position, thunkPosition
|
|
if !p.rules[ruleBlankLine]() {
|
|
goto l1212
|
|
}
|
|
goto l1209
|
|
l1212:
|
|
position, thunkPosition = position1212, thunkPosition1212
|
|
}
|
|
if !p.rules[ruleRawLine]() {
|
|
goto l1209
|
|
}
|
|
l1210:
|
|
{
|
|
position1211, thunkPosition1211 := position, thunkPosition
|
|
{
|
|
position1213, thunkPosition1213 := position, thunkPosition
|
|
if !p.rules[ruleBlankLine]() {
|
|
goto l1213
|
|
}
|
|
goto l1211
|
|
l1213:
|
|
position, thunkPosition = position1213, thunkPosition1213
|
|
}
|
|
if !p.rules[ruleRawLine]() {
|
|
goto l1211
|
|
}
|
|
goto l1210
|
|
l1211:
|
|
position, thunkPosition = position1211, thunkPosition1211
|
|
}
|
|
l1214:
|
|
{
|
|
position1215, thunkPosition1215 := position, thunkPosition
|
|
if !p.rules[ruleBlankLine]() {
|
|
goto l1215
|
|
}
|
|
goto l1214
|
|
l1215:
|
|
position, thunkPosition = position1215, thunkPosition1215
|
|
}
|
|
goto l1208
|
|
l1209:
|
|
position, thunkPosition = position1208, thunkPosition1208
|
|
if !p.rules[ruleBlankLine]() {
|
|
goto l1207
|
|
}
|
|
l1216:
|
|
{
|
|
position1217, thunkPosition1217 := position, thunkPosition
|
|
if !p.rules[ruleBlankLine]() {
|
|
goto l1217
|
|
}
|
|
goto l1216
|
|
l1217:
|
|
position, thunkPosition = position1217, thunkPosition1217
|
|
}
|
|
}
|
|
l1208:
|
|
return true
|
|
l1207:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 187 ExtendedSpecialChar <- ((&{ p.extension.Smart } ('.' / '-' / '\'' / '"')) / (&{ p.extension.Notes } '^')) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
{
|
|
position1219, thunkPosition1219 := position, thunkPosition
|
|
if !( p.extension.Smart ) {
|
|
goto l1220
|
|
}
|
|
{
|
|
position1221, thunkPosition1221 := position, thunkPosition
|
|
if !matchChar('.') {
|
|
goto l1222
|
|
}
|
|
goto l1221
|
|
l1222:
|
|
position, thunkPosition = position1221, thunkPosition1221
|
|
if !matchChar('-') {
|
|
goto l1223
|
|
}
|
|
goto l1221
|
|
l1223:
|
|
position, thunkPosition = position1221, thunkPosition1221
|
|
if !matchChar('\'') {
|
|
goto l1224
|
|
}
|
|
goto l1221
|
|
l1224:
|
|
position, thunkPosition = position1221, thunkPosition1221
|
|
if !matchChar('"') {
|
|
goto l1220
|
|
}
|
|
}
|
|
l1221:
|
|
goto l1219
|
|
l1220:
|
|
position, thunkPosition = position1219, thunkPosition1219
|
|
if !( p.extension.Notes ) {
|
|
goto l1218
|
|
}
|
|
if !matchChar('^') {
|
|
goto l1218
|
|
}
|
|
}
|
|
l1219:
|
|
return true
|
|
l1218:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 188 Smart <- (&{ p.extension.Smart } (Ellipsis / Dash / SingleQuoted / DoubleQuoted / Apostrophe)) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !( p.extension.Smart ) {
|
|
goto l1225
|
|
}
|
|
{
|
|
position1226, thunkPosition1226 := position, thunkPosition
|
|
if !p.rules[ruleEllipsis]() {
|
|
goto l1227
|
|
}
|
|
goto l1226
|
|
l1227:
|
|
position, thunkPosition = position1226, thunkPosition1226
|
|
if !p.rules[ruleDash]() {
|
|
goto l1228
|
|
}
|
|
goto l1226
|
|
l1228:
|
|
position, thunkPosition = position1226, thunkPosition1226
|
|
if !p.rules[ruleSingleQuoted]() {
|
|
goto l1229
|
|
}
|
|
goto l1226
|
|
l1229:
|
|
position, thunkPosition = position1226, thunkPosition1226
|
|
if !p.rules[ruleDoubleQuoted]() {
|
|
goto l1230
|
|
}
|
|
goto l1226
|
|
l1230:
|
|
position, thunkPosition = position1226, thunkPosition1226
|
|
if !p.rules[ruleApostrophe]() {
|
|
goto l1225
|
|
}
|
|
}
|
|
l1226:
|
|
return true
|
|
l1225:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 189 Apostrophe <- ('\'' { yy = mk_element(APOSTROPHE) }) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('\'') {
|
|
goto l1231
|
|
}
|
|
do(86)
|
|
return true
|
|
l1231:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 190 Ellipsis <- (('...' / '. . .') { yy = mk_element(ELLIPSIS) }) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
{
|
|
position1233, thunkPosition1233 := position, thunkPosition
|
|
if !matchString("...") {
|
|
goto l1234
|
|
}
|
|
goto l1233
|
|
l1234:
|
|
position, thunkPosition = position1233, thunkPosition1233
|
|
if !matchString(". . .") {
|
|
goto l1232
|
|
}
|
|
}
|
|
l1233:
|
|
do(87)
|
|
return true
|
|
l1232:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 191 Dash <- (EmDash / EnDash) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
{
|
|
position1236, thunkPosition1236 := position, thunkPosition
|
|
if !p.rules[ruleEmDash]() {
|
|
goto l1237
|
|
}
|
|
goto l1236
|
|
l1237:
|
|
position, thunkPosition = position1236, thunkPosition1236
|
|
if !p.rules[ruleEnDash]() {
|
|
goto l1235
|
|
}
|
|
}
|
|
l1236:
|
|
return true
|
|
l1235:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 192 EnDash <- ('-' &Digit { yy = mk_element(ENDASH) }) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('-') {
|
|
goto l1238
|
|
}
|
|
{
|
|
position1239, thunkPosition1239 := position, thunkPosition
|
|
if !p.rules[ruleDigit]() {
|
|
goto l1238
|
|
}
|
|
position, thunkPosition = position1239, thunkPosition1239
|
|
}
|
|
do(88)
|
|
return true
|
|
l1238:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 193 EmDash <- (('---' / '--') { yy = mk_element(EMDASH) }) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
{
|
|
position1241, thunkPosition1241 := position, thunkPosition
|
|
if !matchString("---") {
|
|
goto l1242
|
|
}
|
|
goto l1241
|
|
l1242:
|
|
position, thunkPosition = position1241, thunkPosition1241
|
|
if !matchString("--") {
|
|
goto l1240
|
|
}
|
|
}
|
|
l1241:
|
|
do(89)
|
|
return true
|
|
l1240:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 194 SingleQuoteStart <- ('\'' ![)!\],.;:-? \t\n] !(('s' / 't' / 'm' / 've' / 'll' / 're') !Alphanumeric)) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('\'') {
|
|
goto l1243
|
|
}
|
|
{
|
|
position1244, thunkPosition1244 := position, thunkPosition
|
|
if !matchClass(4) {
|
|
goto l1244
|
|
}
|
|
goto l1243
|
|
l1244:
|
|
position, thunkPosition = position1244, thunkPosition1244
|
|
}
|
|
{
|
|
position1245, thunkPosition1245 := position, thunkPosition
|
|
{
|
|
position1246, thunkPosition1246 := position, thunkPosition
|
|
if !matchChar('s') {
|
|
goto l1247
|
|
}
|
|
goto l1246
|
|
l1247:
|
|
position, thunkPosition = position1246, thunkPosition1246
|
|
if !matchChar('t') {
|
|
goto l1248
|
|
}
|
|
goto l1246
|
|
l1248:
|
|
position, thunkPosition = position1246, thunkPosition1246
|
|
if !matchChar('m') {
|
|
goto l1249
|
|
}
|
|
goto l1246
|
|
l1249:
|
|
position, thunkPosition = position1246, thunkPosition1246
|
|
if !matchString("ve") {
|
|
goto l1250
|
|
}
|
|
goto l1246
|
|
l1250:
|
|
position, thunkPosition = position1246, thunkPosition1246
|
|
if !matchString("ll") {
|
|
goto l1251
|
|
}
|
|
goto l1246
|
|
l1251:
|
|
position, thunkPosition = position1246, thunkPosition1246
|
|
if !matchString("re") {
|
|
goto l1245
|
|
}
|
|
}
|
|
l1246:
|
|
{
|
|
position1252, thunkPosition1252 := position, thunkPosition
|
|
if !p.rules[ruleAlphanumeric]() {
|
|
goto l1252
|
|
}
|
|
goto l1245
|
|
l1252:
|
|
position, thunkPosition = position1252, thunkPosition1252
|
|
}
|
|
goto l1243
|
|
l1245:
|
|
position, thunkPosition = position1245, thunkPosition1245
|
|
}
|
|
return true
|
|
l1243:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 195 SingleQuoteEnd <- ('\'' !Alphanumeric) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('\'') {
|
|
goto l1253
|
|
}
|
|
{
|
|
position1254, thunkPosition1254 := position, thunkPosition
|
|
if !p.rules[ruleAlphanumeric]() {
|
|
goto l1254
|
|
}
|
|
goto l1253
|
|
l1254:
|
|
position, thunkPosition = position1254, thunkPosition1254
|
|
}
|
|
return true
|
|
l1253:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 196 SingleQuoted <- (SingleQuoteStart StartList (!SingleQuoteEnd Inline { a = cons(b, a) })+ SingleQuoteEnd { yy = mk_list(SINGLEQUOTED, a) }) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
doarg(yyPush, 2)
|
|
if !p.rules[ruleSingleQuoteStart]() {
|
|
goto l1255
|
|
}
|
|
if !p.rules[ruleStartList]() {
|
|
goto l1255
|
|
}
|
|
doarg(yySet, -1)
|
|
{
|
|
position1258, thunkPosition1258 := position, thunkPosition
|
|
if !p.rules[ruleSingleQuoteEnd]() {
|
|
goto l1258
|
|
}
|
|
goto l1255
|
|
l1258:
|
|
position, thunkPosition = position1258, thunkPosition1258
|
|
}
|
|
if !p.rules[ruleInline]() {
|
|
goto l1255
|
|
}
|
|
doarg(yySet, -2)
|
|
do(90)
|
|
l1256:
|
|
{
|
|
position1257, thunkPosition1257 := position, thunkPosition
|
|
{
|
|
position1259, thunkPosition1259 := position, thunkPosition
|
|
if !p.rules[ruleSingleQuoteEnd]() {
|
|
goto l1259
|
|
}
|
|
goto l1257
|
|
l1259:
|
|
position, thunkPosition = position1259, thunkPosition1259
|
|
}
|
|
if !p.rules[ruleInline]() {
|
|
goto l1257
|
|
}
|
|
doarg(yySet, -2)
|
|
do(90)
|
|
goto l1256
|
|
l1257:
|
|
position, thunkPosition = position1257, thunkPosition1257
|
|
}
|
|
if !p.rules[ruleSingleQuoteEnd]() {
|
|
goto l1255
|
|
}
|
|
do(91)
|
|
doarg(yyPop, 2)
|
|
return true
|
|
l1255:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 197 DoubleQuoteStart <- '"' */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('"') {
|
|
goto l1260
|
|
}
|
|
return true
|
|
l1260:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 198 DoubleQuoteEnd <- '"' */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('"') {
|
|
goto l1261
|
|
}
|
|
return true
|
|
l1261:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 199 DoubleQuoted <- (DoubleQuoteStart StartList (!DoubleQuoteEnd Inline { a = cons(b, a) })+ DoubleQuoteEnd { yy = mk_list(DOUBLEQUOTED, a) }) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
doarg(yyPush, 2)
|
|
if !p.rules[ruleDoubleQuoteStart]() {
|
|
goto l1262
|
|
}
|
|
if !p.rules[ruleStartList]() {
|
|
goto l1262
|
|
}
|
|
doarg(yySet, -1)
|
|
{
|
|
position1265, thunkPosition1265 := position, thunkPosition
|
|
if !p.rules[ruleDoubleQuoteEnd]() {
|
|
goto l1265
|
|
}
|
|
goto l1262
|
|
l1265:
|
|
position, thunkPosition = position1265, thunkPosition1265
|
|
}
|
|
if !p.rules[ruleInline]() {
|
|
goto l1262
|
|
}
|
|
doarg(yySet, -2)
|
|
do(92)
|
|
l1263:
|
|
{
|
|
position1264, thunkPosition1264 := position, thunkPosition
|
|
{
|
|
position1266, thunkPosition1266 := position, thunkPosition
|
|
if !p.rules[ruleDoubleQuoteEnd]() {
|
|
goto l1266
|
|
}
|
|
goto l1264
|
|
l1266:
|
|
position, thunkPosition = position1266, thunkPosition1266
|
|
}
|
|
if !p.rules[ruleInline]() {
|
|
goto l1264
|
|
}
|
|
doarg(yySet, -2)
|
|
do(92)
|
|
goto l1263
|
|
l1264:
|
|
position, thunkPosition = position1264, thunkPosition1264
|
|
}
|
|
if !p.rules[ruleDoubleQuoteEnd]() {
|
|
goto l1262
|
|
}
|
|
do(93)
|
|
doarg(yyPop, 2)
|
|
return true
|
|
l1262:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 200 NoteReference <- (&{ p.extension.Notes } RawNoteReference {
|
|
if match, ok := p.find_note(ref.contents.str); ok {
|
|
yy = mk_element(NOTE)
|
|
yy.children = match.children
|
|
yy.contents.str = ""
|
|
} else {
|
|
yy = mk_str("[^"+ref.contents.str+"]")
|
|
}
|
|
}) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
doarg(yyPush, 1)
|
|
if !( p.extension.Notes ) {
|
|
goto l1267
|
|
}
|
|
if !p.rules[ruleRawNoteReference]() {
|
|
goto l1267
|
|
}
|
|
doarg(yySet, -1)
|
|
do(94)
|
|
doarg(yyPop, 1)
|
|
return true
|
|
l1267:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 201 RawNoteReference <- ('[^' < (!Newline !']' .)+ > ']' { yy = mk_str(yytext) }) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchString("[^") {
|
|
goto l1268
|
|
}
|
|
begin = position
|
|
{
|
|
position1271, thunkPosition1271 := position, thunkPosition
|
|
if !p.rules[ruleNewline]() {
|
|
goto l1271
|
|
}
|
|
goto l1268
|
|
l1271:
|
|
position, thunkPosition = position1271, thunkPosition1271
|
|
}
|
|
if peekChar(']') {
|
|
goto l1268
|
|
}
|
|
if !matchDot() {
|
|
goto l1268
|
|
}
|
|
l1269:
|
|
{
|
|
position1270, thunkPosition1270 := position, thunkPosition
|
|
{
|
|
position1272, thunkPosition1272 := position, thunkPosition
|
|
if !p.rules[ruleNewline]() {
|
|
goto l1272
|
|
}
|
|
goto l1270
|
|
l1272:
|
|
position, thunkPosition = position1272, thunkPosition1272
|
|
}
|
|
if peekChar(']') {
|
|
goto l1270
|
|
}
|
|
if !matchDot() {
|
|
goto l1270
|
|
}
|
|
goto l1269
|
|
l1270:
|
|
position, thunkPosition = position1270, thunkPosition1270
|
|
}
|
|
end = position
|
|
if !matchChar(']') {
|
|
goto l1268
|
|
}
|
|
do(95)
|
|
return true
|
|
l1268:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 202 Note <- (&{ p.extension.Notes } NonindentSpace RawNoteReference ':' Sp StartList (RawNoteBlock { a = cons(yy, a) }) (&Indent RawNoteBlock { a = cons(yy, a) })* { yy = mk_list(NOTE, a)
|
|
yy.contents.str = ref.contents.str
|
|
}) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
doarg(yyPush, 2)
|
|
if !( p.extension.Notes ) {
|
|
goto l1273
|
|
}
|
|
if !p.rules[ruleNonindentSpace]() {
|
|
goto l1273
|
|
}
|
|
if !p.rules[ruleRawNoteReference]() {
|
|
goto l1273
|
|
}
|
|
doarg(yySet, -1)
|
|
if !matchChar(':') {
|
|
goto l1273
|
|
}
|
|
if !p.rules[ruleSp]() {
|
|
goto l1273
|
|
}
|
|
if !p.rules[ruleStartList]() {
|
|
goto l1273
|
|
}
|
|
doarg(yySet, -2)
|
|
if !p.rules[ruleRawNoteBlock]() {
|
|
goto l1273
|
|
}
|
|
do(96)
|
|
l1274:
|
|
{
|
|
position1275, thunkPosition1275 := position, thunkPosition
|
|
{
|
|
position1276, thunkPosition1276 := position, thunkPosition
|
|
if !p.rules[ruleIndent]() {
|
|
goto l1275
|
|
}
|
|
position, thunkPosition = position1276, thunkPosition1276
|
|
}
|
|
if !p.rules[ruleRawNoteBlock]() {
|
|
goto l1275
|
|
}
|
|
do(97)
|
|
goto l1274
|
|
l1275:
|
|
position, thunkPosition = position1275, thunkPosition1275
|
|
}
|
|
do(98)
|
|
doarg(yyPop, 2)
|
|
return true
|
|
l1273:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 203 InlineNote <- (&{ p.extension.Notes } '^[' StartList (!']' Inline { a = cons(yy, a) })+ ']' { yy = mk_list(NOTE, a)
|
|
yy.contents.str = "" }) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
doarg(yyPush, 1)
|
|
if !( p.extension.Notes ) {
|
|
goto l1277
|
|
}
|
|
if !matchString("^[") {
|
|
goto l1277
|
|
}
|
|
if !p.rules[ruleStartList]() {
|
|
goto l1277
|
|
}
|
|
doarg(yySet, -1)
|
|
if peekChar(']') {
|
|
goto l1277
|
|
}
|
|
if !p.rules[ruleInline]() {
|
|
goto l1277
|
|
}
|
|
do(99)
|
|
l1278:
|
|
{
|
|
position1279, thunkPosition1279 := position, thunkPosition
|
|
if peekChar(']') {
|
|
goto l1279
|
|
}
|
|
if !p.rules[ruleInline]() {
|
|
goto l1279
|
|
}
|
|
do(99)
|
|
goto l1278
|
|
l1279:
|
|
position, thunkPosition = position1279, thunkPosition1279
|
|
}
|
|
if !matchChar(']') {
|
|
goto l1277
|
|
}
|
|
do(100)
|
|
doarg(yyPop, 1)
|
|
return true
|
|
l1277:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 204 Notes <- (StartList ((Note { a = cons(b, a) }) / SkipBlock)* { p.notes = reverse(a) } commit) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
doarg(yyPush, 2)
|
|
if !p.rules[ruleStartList]() {
|
|
goto l1280
|
|
}
|
|
doarg(yySet, -1)
|
|
l1281:
|
|
{
|
|
position1282, thunkPosition1282 := position, thunkPosition
|
|
{
|
|
position1283, thunkPosition1283 := position, thunkPosition
|
|
if !p.rules[ruleNote]() {
|
|
goto l1284
|
|
}
|
|
doarg(yySet, -2)
|
|
do(101)
|
|
goto l1283
|
|
l1284:
|
|
position, thunkPosition = position1283, thunkPosition1283
|
|
if !p.rules[ruleSkipBlock]() {
|
|
goto l1282
|
|
}
|
|
}
|
|
l1283:
|
|
goto l1281
|
|
l1282:
|
|
position, thunkPosition = position1282, thunkPosition1282
|
|
}
|
|
do(102)
|
|
if !(commit(thunkPosition0)) {
|
|
goto l1280
|
|
}
|
|
doarg(yyPop, 2)
|
|
return true
|
|
l1280:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 205 RawNoteBlock <- (StartList (!BlankLine OptionallyIndentedLine { a = cons(yy, a) })+ (< BlankLine* > { a = cons(mk_str(yytext), a) }) { yy = mk_str_from_list(a, true)
|
|
yy.key = RAW
|
|
}) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
doarg(yyPush, 1)
|
|
if !p.rules[ruleStartList]() {
|
|
goto l1285
|
|
}
|
|
doarg(yySet, -1)
|
|
{
|
|
position1288, thunkPosition1288 := position, thunkPosition
|
|
if !p.rules[ruleBlankLine]() {
|
|
goto l1288
|
|
}
|
|
goto l1285
|
|
l1288:
|
|
position, thunkPosition = position1288, thunkPosition1288
|
|
}
|
|
if !p.rules[ruleOptionallyIndentedLine]() {
|
|
goto l1285
|
|
}
|
|
do(103)
|
|
l1286:
|
|
{
|
|
position1287, thunkPosition1287 := position, thunkPosition
|
|
{
|
|
position1289, thunkPosition1289 := position, thunkPosition
|
|
if !p.rules[ruleBlankLine]() {
|
|
goto l1289
|
|
}
|
|
goto l1287
|
|
l1289:
|
|
position, thunkPosition = position1289, thunkPosition1289
|
|
}
|
|
if !p.rules[ruleOptionallyIndentedLine]() {
|
|
goto l1287
|
|
}
|
|
do(103)
|
|
goto l1286
|
|
l1287:
|
|
position, thunkPosition = position1287, thunkPosition1287
|
|
}
|
|
begin = position
|
|
l1290:
|
|
{
|
|
position1291, thunkPosition1291 := position, thunkPosition
|
|
if !p.rules[ruleBlankLine]() {
|
|
goto l1291
|
|
}
|
|
goto l1290
|
|
l1291:
|
|
position, thunkPosition = position1291, thunkPosition1291
|
|
}
|
|
end = position
|
|
do(104)
|
|
do(105)
|
|
doarg(yyPop, 1)
|
|
return true
|
|
l1285:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 206 DefinitionList <- (&{ p.extension.Dlists } StartList (Definition { a = cons(yy, a) })+ { yy = mk_list(DEFINITIONLIST, a) }) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
doarg(yyPush, 1)
|
|
if !( p.extension.Dlists ) {
|
|
goto l1292
|
|
}
|
|
if !p.rules[ruleStartList]() {
|
|
goto l1292
|
|
}
|
|
doarg(yySet, -1)
|
|
if !p.rules[ruleDefinition]() {
|
|
goto l1292
|
|
}
|
|
do(106)
|
|
l1293:
|
|
{
|
|
position1294, thunkPosition1294 := position, thunkPosition
|
|
if !p.rules[ruleDefinition]() {
|
|
goto l1294
|
|
}
|
|
do(106)
|
|
goto l1293
|
|
l1294:
|
|
position, thunkPosition = position1294, thunkPosition1294
|
|
}
|
|
do(107)
|
|
doarg(yyPop, 1)
|
|
return true
|
|
l1292:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 207 Definition <- (&((!Defmark RawLine)+ BlankLine? Defmark) StartList (DListTitle { a = cons(yy, a) })+ (DefTight / DefLoose) {
|
|
for e := yy.children; e != nil; e = e.next {
|
|
e.key = DEFDATA
|
|
}
|
|
a = cons(yy, a)
|
|
} { yy = mk_list(LIST, a) }) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
doarg(yyPush, 1)
|
|
{
|
|
position1296, thunkPosition1296 := position, thunkPosition
|
|
{
|
|
position1299, thunkPosition1299 := position, thunkPosition
|
|
if !p.rules[ruleDefmark]() {
|
|
goto l1299
|
|
}
|
|
goto l1295
|
|
l1299:
|
|
position, thunkPosition = position1299, thunkPosition1299
|
|
}
|
|
if !p.rules[ruleRawLine]() {
|
|
goto l1295
|
|
}
|
|
l1297:
|
|
{
|
|
position1298, thunkPosition1298 := position, thunkPosition
|
|
{
|
|
position1300, thunkPosition1300 := position, thunkPosition
|
|
if !p.rules[ruleDefmark]() {
|
|
goto l1300
|
|
}
|
|
goto l1298
|
|
l1300:
|
|
position, thunkPosition = position1300, thunkPosition1300
|
|
}
|
|
if !p.rules[ruleRawLine]() {
|
|
goto l1298
|
|
}
|
|
goto l1297
|
|
l1298:
|
|
position, thunkPosition = position1298, thunkPosition1298
|
|
}
|
|
{
|
|
position1301, thunkPosition1301 := position, thunkPosition
|
|
if !p.rules[ruleBlankLine]() {
|
|
goto l1301
|
|
}
|
|
goto l1302
|
|
l1301:
|
|
position, thunkPosition = position1301, thunkPosition1301
|
|
}
|
|
l1302:
|
|
if !p.rules[ruleDefmark]() {
|
|
goto l1295
|
|
}
|
|
position, thunkPosition = position1296, thunkPosition1296
|
|
}
|
|
if !p.rules[ruleStartList]() {
|
|
goto l1295
|
|
}
|
|
doarg(yySet, -1)
|
|
if !p.rules[ruleDListTitle]() {
|
|
goto l1295
|
|
}
|
|
do(108)
|
|
l1303:
|
|
{
|
|
position1304, thunkPosition1304 := position, thunkPosition
|
|
if !p.rules[ruleDListTitle]() {
|
|
goto l1304
|
|
}
|
|
do(108)
|
|
goto l1303
|
|
l1304:
|
|
position, thunkPosition = position1304, thunkPosition1304
|
|
}
|
|
{
|
|
position1305, thunkPosition1305 := position, thunkPosition
|
|
if !p.rules[ruleDefTight]() {
|
|
goto l1306
|
|
}
|
|
goto l1305
|
|
l1306:
|
|
position, thunkPosition = position1305, thunkPosition1305
|
|
if !p.rules[ruleDefLoose]() {
|
|
goto l1295
|
|
}
|
|
}
|
|
l1305:
|
|
do(109)
|
|
do(110)
|
|
doarg(yyPop, 1)
|
|
return true
|
|
l1295:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 208 DListTitle <- (NonindentSpace !Defmark &Nonspacechar StartList (!Endline Inline { a = cons(yy, a) })+ Sp Newline { yy = mk_list(LIST, a)
|
|
yy.key = DEFTITLE
|
|
}) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
doarg(yyPush, 1)
|
|
if !p.rules[ruleNonindentSpace]() {
|
|
goto l1307
|
|
}
|
|
{
|
|
position1308, thunkPosition1308 := position, thunkPosition
|
|
if !p.rules[ruleDefmark]() {
|
|
goto l1308
|
|
}
|
|
goto l1307
|
|
l1308:
|
|
position, thunkPosition = position1308, thunkPosition1308
|
|
}
|
|
{
|
|
position1309, thunkPosition1309 := position, thunkPosition
|
|
if !p.rules[ruleNonspacechar]() {
|
|
goto l1307
|
|
}
|
|
position, thunkPosition = position1309, thunkPosition1309
|
|
}
|
|
if !p.rules[ruleStartList]() {
|
|
goto l1307
|
|
}
|
|
doarg(yySet, -1)
|
|
{
|
|
position1312, thunkPosition1312 := position, thunkPosition
|
|
if !p.rules[ruleEndline]() {
|
|
goto l1312
|
|
}
|
|
goto l1307
|
|
l1312:
|
|
position, thunkPosition = position1312, thunkPosition1312
|
|
}
|
|
if !p.rules[ruleInline]() {
|
|
goto l1307
|
|
}
|
|
do(111)
|
|
l1310:
|
|
{
|
|
position1311, thunkPosition1311 := position, thunkPosition
|
|
{
|
|
position1313, thunkPosition1313 := position, thunkPosition
|
|
if !p.rules[ruleEndline]() {
|
|
goto l1313
|
|
}
|
|
goto l1311
|
|
l1313:
|
|
position, thunkPosition = position1313, thunkPosition1313
|
|
}
|
|
if !p.rules[ruleInline]() {
|
|
goto l1311
|
|
}
|
|
do(111)
|
|
goto l1310
|
|
l1311:
|
|
position, thunkPosition = position1311, thunkPosition1311
|
|
}
|
|
if !p.rules[ruleSp]() {
|
|
goto l1307
|
|
}
|
|
if !p.rules[ruleNewline]() {
|
|
goto l1307
|
|
}
|
|
do(112)
|
|
doarg(yyPop, 1)
|
|
return true
|
|
l1307:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 209 DefTight <- (&Defmark ListTight) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
{
|
|
position1315, thunkPosition1315 := position, thunkPosition
|
|
if !p.rules[ruleDefmark]() {
|
|
goto l1314
|
|
}
|
|
position, thunkPosition = position1315, thunkPosition1315
|
|
}
|
|
if !p.rules[ruleListTight]() {
|
|
goto l1314
|
|
}
|
|
return true
|
|
l1314:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 210 DefLoose <- (BlankLine &Defmark ListLoose) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !p.rules[ruleBlankLine]() {
|
|
goto l1316
|
|
}
|
|
{
|
|
position1317, thunkPosition1317 := position, thunkPosition
|
|
if !p.rules[ruleDefmark]() {
|
|
goto l1316
|
|
}
|
|
position, thunkPosition = position1317, thunkPosition1317
|
|
}
|
|
if !p.rules[ruleListLoose]() {
|
|
goto l1316
|
|
}
|
|
return true
|
|
l1316:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 211 Defmark <- (NonindentSpace (':' / '~') Spacechar+) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !p.rules[ruleNonindentSpace]() {
|
|
goto l1318
|
|
}
|
|
{
|
|
position1319, thunkPosition1319 := position, thunkPosition
|
|
if !matchChar(':') {
|
|
goto l1320
|
|
}
|
|
goto l1319
|
|
l1320:
|
|
position, thunkPosition = position1319, thunkPosition1319
|
|
if !matchChar('~') {
|
|
goto l1318
|
|
}
|
|
}
|
|
l1319:
|
|
if !p.rules[ruleSpacechar]() {
|
|
goto l1318
|
|
}
|
|
l1321:
|
|
{
|
|
position1322, thunkPosition1322 := position, thunkPosition
|
|
if !p.rules[ruleSpacechar]() {
|
|
goto l1322
|
|
}
|
|
goto l1321
|
|
l1322:
|
|
position, thunkPosition = position1322, thunkPosition1322
|
|
}
|
|
return true
|
|
l1318:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 212 DefMarker <- (&{ p.extension.Dlists } Defmark) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !( p.extension.Dlists ) {
|
|
goto l1323
|
|
}
|
|
if !p.rules[ruleDefmark]() {
|
|
goto l1323
|
|
}
|
|
return true
|
|
l1323:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/*
|
|
* List manipulation functions
|
|
*/
|
|
|
|
|
|
/* cons - cons an element onto a list, returning pointer to new head
|
|
*/
|
|
func cons(new, list *element) *element {
|
|
new.next = list
|
|
return new
|
|
}
|
|
|
|
/* reverse - reverse a list, returning pointer to new list
|
|
*/
|
|
func reverse(list *element) (new *element) {
|
|
for list != nil {
|
|
next := list.next
|
|
new = cons(list, new)
|
|
list = next
|
|
}
|
|
return
|
|
}
|
|
|
|
/* concat_string_list - concatenates string contents of list of STR elements.
|
|
*/
|
|
func concat_string_list(list *element) string {
|
|
s := ""
|
|
for list != nil {
|
|
s += list.contents.str
|
|
list = list.next
|
|
}
|
|
return s
|
|
}
|
|
|
|
|
|
/*
|
|
* Auxiliary functions for parsing actions.
|
|
* These make it easier to build up data structures (including lists)
|
|
* in the parsing actions.
|
|
*/
|
|
|
|
|
|
/* mk_element - generic constructor for element
|
|
*/
|
|
var elbuf []element
|
|
var elock sync.Mutex
|
|
|
|
func mk_element(key int) *element {
|
|
elock.Lock()
|
|
if len(elbuf) == 0 {
|
|
elbuf = make([]element, 1024)
|
|
}
|
|
e := &elbuf[0]
|
|
elbuf = elbuf[1:]
|
|
elock.Unlock()
|
|
e.key = key
|
|
return e
|
|
}
|
|
|
|
/* mk_str - constructor for STR element
|
|
*/
|
|
func mk_str(s string) (result *element) {
|
|
result = mk_element(STR)
|
|
result.contents.str = s
|
|
return
|
|
}
|
|
|
|
/* mk_str_from_list - makes STR element by concatenating a
|
|
* reversed list of strings, adding optional extra newline
|
|
*/
|
|
func mk_str_from_list(list *element, extra_newline bool) (result *element) {
|
|
s := concat_string_list(reverse(list))
|
|
if extra_newline {
|
|
s += "\n"
|
|
}
|
|
result = mk_element(STR)
|
|
result.contents.str = s
|
|
return
|
|
}
|
|
|
|
/* mk_list - makes new list with key 'key' and children the reverse of 'lst'.
|
|
* This is designed to be used with cons to build lists in a parser action.
|
|
* The reversing is necessary because cons adds to the head of a list.
|
|
*/
|
|
func mk_list(key int, lst *element) *element {
|
|
result := mk_element(key)
|
|
result.children = reverse(lst)
|
|
return result
|
|
}
|
|
|
|
/* mk_link - constructor for LINK element
|
|
*/
|
|
func mk_link(label *element, url, title string) *element {
|
|
result := mk_element(LINK)
|
|
result.contents.link = &link{label: label, url: url, title: title}
|
|
return result
|
|
}
|
|
|
|
|
|
/* match_inlines - returns true if inline lists match (case-insensitive...)
|
|
*/
|
|
func match_inlines(l1, l2 *element) bool {
|
|
for l1 != nil && l2 != nil {
|
|
if l1.key != l2.key {
|
|
return false
|
|
}
|
|
switch l1.key {
|
|
case SPACE, LINEBREAK, ELLIPSIS, EMDASH, ENDASH, APOSTROPHE:
|
|
break
|
|
case CODE, STR, HTML:
|
|
if strings.ToUpper(l1.contents.str) != strings.ToUpper(l2.contents.str) {
|
|
return false
|
|
}
|
|
case EMPH, STRONG, LIST, SINGLEQUOTED, DOUBLEQUOTED:
|
|
if !match_inlines(l1.children, l2.children) {
|
|
return false
|
|
}
|
|
case LINK, IMAGE:
|
|
return false /* No links or images within links */
|
|
default:
|
|
log.Fatalf("match_inlines encountered unknown key = %d\n", l1.key)
|
|
}
|
|
l1 = l1.next
|
|
l2 = l2.next
|
|
}
|
|
return l1 == nil && l2 == nil /* return true if both lists exhausted */
|
|
}
|
|
|
|
|
|
/* find_reference - return true if link found in references matching label.
|
|
* 'link' is modified with the matching url and title.
|
|
*/
|
|
func (d *Doc) findReference(label *element) (*link, bool) {
|
|
for cur := d.references; cur != nil; cur = cur.next {
|
|
l := cur.contents.link
|
|
if match_inlines(label, l.label) {
|
|
return l, true
|
|
}
|
|
}
|
|
return nil, false
|
|
}
|
|
|
|
|
|
/* find_note - return true if note found in notes matching label.
|
|
* if found, 'result' is set to point to matched note.
|
|
*/
|
|
func (d *Doc) find_note(label string) (*element, bool) {
|
|
for el := d.notes; el != nil; el = el.next {
|
|
if label == el.contents.str {
|
|
return el, true
|
|
}
|
|
}
|
|
return nil, false
|
|
}
|
|
|
|
|
|
/* print tree of elements, for debugging only.
|
|
*/
|
|
func print_tree(elt *element, indent int) {
|
|
var key string
|
|
|
|
for elt != nil {
|
|
for i := 0; i < indent; i++ {
|
|
fmt.Print("\t")
|
|
}
|
|
key = keynames[elt.key]
|
|
if key == "" {
|
|
key = "?"
|
|
}
|
|
if elt.key == STR {
|
|
fmt.Printf("%p:\t%s\t'%s'\n", elt, key, elt.contents.str)
|
|
} else {
|
|
fmt.Printf("%p:\t%s %p\n", elt, key, elt.next)
|
|
}
|
|
if elt.children != nil {
|
|
print_tree(elt.children, indent+1)
|
|
}
|
|
elt = elt.next
|
|
}
|
|
}
|
|
|
|
var keynames = [numVAL]string{
|
|
LIST: "LIST",
|
|
RAW: "RAW",
|
|
SPACE: "SPACE",
|
|
LINEBREAK: "LINEBREAK",
|
|
ELLIPSIS: "ELLIPSIS",
|
|
EMDASH: "EMDASH",
|
|
ENDASH: "ENDASH",
|
|
APOSTROPHE: "APOSTROPHE",
|
|
SINGLEQUOTED: "SINGLEQUOTED",
|
|
DOUBLEQUOTED: "DOUBLEQUOTED",
|
|
STR: "STR",
|
|
LINK: "LINK",
|
|
IMAGE: "IMAGE",
|
|
CODE: "CODE",
|
|
HTML: "HTML",
|
|
EMPH: "EMPH",
|
|
STRONG: "STRONG",
|
|
PLAIN: "PLAIN",
|
|
PARA: "PARA",
|
|
LISTITEM: "LISTITEM",
|
|
BULLETLIST: "BULLETLIST",
|
|
ORDEREDLIST: "ORDEREDLIST",
|
|
H1: "H1",
|
|
H2: "H2",
|
|
H3: "H3",
|
|
H4: "H4",
|
|
H5: "H5",
|
|
H6: "H6",
|
|
BLOCKQUOTE: "BLOCKQUOTE",
|
|
VERBATIM: "VERBATIM",
|
|
HTMLBLOCK: "HTMLBLOCK",
|
|
HRULE: "HRULE",
|
|
REFERENCE: "REFERENCE",
|
|
NOTE: "NOTE",
|
|
DEFINITIONLIST: "DEFINITIONLIST",
|
|
DEFTITLE: "DEFTITLE",
|
|
DEFDATA: "DEFDATA",
|
|
}
|