13759 lines
310 KiB
Go
13759 lines
310 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 Options
|
|
|
|
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
|
|
ruleListItemTight
|
|
ruleListBlock
|
|
ruleListContinuationBlock
|
|
ruleEnumerator
|
|
ruleOrderedList
|
|
ruleListBlockLine
|
|
ruleHtmlBlockOpenAddress
|
|
ruleHtmlBlockCloseAddress
|
|
ruleHtmlBlockAddress
|
|
ruleHtmlBlockOpenBlockquote
|
|
ruleHtmlBlockCloseBlockquote
|
|
ruleHtmlBlockBlockquote
|
|
ruleHtmlBlockOpenCenter
|
|
ruleHtmlBlockCloseCenter
|
|
ruleHtmlBlockCenter
|
|
ruleHtmlBlockOpenDir
|
|
ruleHtmlBlockCloseDir
|
|
ruleHtmlBlockDir
|
|
ruleHtmlBlockOpenDiv
|
|
ruleHtmlBlockCloseDiv
|
|
ruleHtmlBlockDiv
|
|
ruleHtmlBlockOpenDl
|
|
ruleHtmlBlockCloseDl
|
|
ruleHtmlBlockDl
|
|
ruleHtmlBlockOpenFieldset
|
|
ruleHtmlBlockCloseFieldset
|
|
ruleHtmlBlockFieldset
|
|
ruleHtmlBlockOpenForm
|
|
ruleHtmlBlockCloseForm
|
|
ruleHtmlBlockForm
|
|
ruleHtmlBlockOpenH1
|
|
ruleHtmlBlockCloseH1
|
|
ruleHtmlBlockH1
|
|
ruleHtmlBlockOpenH2
|
|
ruleHtmlBlockCloseH2
|
|
ruleHtmlBlockH2
|
|
ruleHtmlBlockOpenH3
|
|
ruleHtmlBlockCloseH3
|
|
ruleHtmlBlockH3
|
|
ruleHtmlBlockOpenH4
|
|
ruleHtmlBlockCloseH4
|
|
ruleHtmlBlockH4
|
|
ruleHtmlBlockOpenH5
|
|
ruleHtmlBlockCloseH5
|
|
ruleHtmlBlockH5
|
|
ruleHtmlBlockOpenH6
|
|
ruleHtmlBlockCloseH6
|
|
ruleHtmlBlockH6
|
|
ruleHtmlBlockOpenMenu
|
|
ruleHtmlBlockCloseMenu
|
|
ruleHtmlBlockMenu
|
|
ruleHtmlBlockOpenNoframes
|
|
ruleHtmlBlockCloseNoframes
|
|
ruleHtmlBlockNoframes
|
|
ruleHtmlBlockOpenNoscript
|
|
ruleHtmlBlockCloseNoscript
|
|
ruleHtmlBlockNoscript
|
|
ruleHtmlBlockOpenOl
|
|
ruleHtmlBlockCloseOl
|
|
ruleHtmlBlockOl
|
|
ruleHtmlBlockOpenP
|
|
ruleHtmlBlockCloseP
|
|
ruleHtmlBlockP
|
|
ruleHtmlBlockOpenPre
|
|
ruleHtmlBlockClosePre
|
|
ruleHtmlBlockPre
|
|
ruleHtmlBlockOpenTable
|
|
ruleHtmlBlockCloseTable
|
|
ruleHtmlBlockTable
|
|
ruleHtmlBlockOpenUl
|
|
ruleHtmlBlockCloseUl
|
|
ruleHtmlBlockUl
|
|
ruleHtmlBlockOpenDd
|
|
ruleHtmlBlockCloseDd
|
|
ruleHtmlBlockDd
|
|
ruleHtmlBlockOpenDt
|
|
ruleHtmlBlockCloseDt
|
|
ruleHtmlBlockDt
|
|
ruleHtmlBlockOpenFrameset
|
|
ruleHtmlBlockCloseFrameset
|
|
ruleHtmlBlockFrameset
|
|
ruleHtmlBlockOpenLi
|
|
ruleHtmlBlockCloseLi
|
|
ruleHtmlBlockLi
|
|
ruleHtmlBlockOpenTbody
|
|
ruleHtmlBlockCloseTbody
|
|
ruleHtmlBlockTbody
|
|
ruleHtmlBlockOpenTd
|
|
ruleHtmlBlockCloseTd
|
|
ruleHtmlBlockTd
|
|
ruleHtmlBlockOpenTfoot
|
|
ruleHtmlBlockCloseTfoot
|
|
ruleHtmlBlockTfoot
|
|
ruleHtmlBlockOpenTh
|
|
ruleHtmlBlockCloseTh
|
|
ruleHtmlBlockTh
|
|
ruleHtmlBlockOpenThead
|
|
ruleHtmlBlockCloseThead
|
|
ruleHtmlBlockThead
|
|
ruleHtmlBlockOpenTr
|
|
ruleHtmlBlockCloseTr
|
|
ruleHtmlBlockTr
|
|
ruleHtmlBlockOpenScript
|
|
ruleHtmlBlockCloseScript
|
|
ruleHtmlBlockScript
|
|
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
|
|
ruleNonAlphanumeric
|
|
ruleAlphanumeric
|
|
ruleAlphanumericAscii
|
|
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 [249]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 ListItemTight */
|
|
func(yytext string, _ int) {
|
|
a := yyval[yyp-1]
|
|
a = cons(yy, a)
|
|
yyval[yyp-1] = a
|
|
},
|
|
/* 31 ListItemTight */
|
|
func(yytext string, _ int) {
|
|
a := yyval[yyp-1]
|
|
a = cons(yy, a)
|
|
yyval[yyp-1] = a
|
|
},
|
|
/* 32 ListItemTight */
|
|
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
|
|
},
|
|
/* 33 ListBlock */
|
|
func(yytext string, _ int) {
|
|
a := yyval[yyp-1]
|
|
a = cons(yy, a)
|
|
yyval[yyp-1] = a
|
|
},
|
|
/* 34 ListBlock */
|
|
func(yytext string, _ int) {
|
|
a := yyval[yyp-1]
|
|
a = cons(yy, a)
|
|
yyval[yyp-1] = a
|
|
},
|
|
/* 35 ListBlock */
|
|
func(yytext string, _ int) {
|
|
a := yyval[yyp-1]
|
|
yy = mk_str_from_list(a, false)
|
|
yyval[yyp-1] = a
|
|
},
|
|
/* 36 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
|
|
},
|
|
/* 37 ListContinuationBlock */
|
|
func(yytext string, _ int) {
|
|
a := yyval[yyp-1]
|
|
a = cons(yy, a)
|
|
yyval[yyp-1] = a
|
|
},
|
|
/* 38 ListContinuationBlock */
|
|
func(yytext string, _ int) {
|
|
a := yyval[yyp-1]
|
|
yy = mk_str_from_list(a, false)
|
|
yyval[yyp-1] = a
|
|
},
|
|
/* 39 OrderedList */
|
|
func(yytext string, _ int) {
|
|
yy.key = ORDEREDLIST
|
|
},
|
|
/* 40 HtmlBlock */
|
|
func(yytext string, _ int) {
|
|
if p.extension.FilterHTML {
|
|
yy = mk_list(LIST, nil)
|
|
} else {
|
|
yy = mk_str(yytext)
|
|
yy.key = HTMLBLOCK
|
|
}
|
|
|
|
},
|
|
/* 41 StyleBlock */
|
|
func(yytext string, _ int) {
|
|
if p.extension.FilterStyles {
|
|
yy = mk_list(LIST, nil)
|
|
} else {
|
|
yy = mk_str(yytext)
|
|
yy.key = HTMLBLOCK
|
|
}
|
|
|
|
},
|
|
/* 42 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
|
|
},
|
|
/* 43 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
|
|
},
|
|
/* 44 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
|
|
},
|
|
/* 45 Space */
|
|
func(yytext string, _ int) {
|
|
yy = mk_str(" ")
|
|
yy.key = SPACE
|
|
},
|
|
/* 46 Str */
|
|
func(yytext string, _ int) {
|
|
yy = mk_str(yytext)
|
|
},
|
|
/* 47 EscapedChar */
|
|
func(yytext string, _ int) {
|
|
yy = mk_str(yytext)
|
|
},
|
|
/* 48 Entity */
|
|
func(yytext string, _ int) {
|
|
yy = mk_str(yytext); yy.key = HTML
|
|
},
|
|
/* 49 NormalEndline */
|
|
func(yytext string, _ int) {
|
|
yy = mk_str("\n")
|
|
yy.key = SPACE
|
|
},
|
|
/* 50 TerminalEndline */
|
|
func(yytext string, _ int) {
|
|
yy = nil
|
|
},
|
|
/* 51 LineBreak */
|
|
func(yytext string, _ int) {
|
|
yy = mk_element(LINEBREAK)
|
|
},
|
|
/* 52 Symbol */
|
|
func(yytext string, _ int) {
|
|
yy = mk_str(yytext)
|
|
},
|
|
/* 53 UlOrStarLine */
|
|
func(yytext string, _ int) {
|
|
yy = mk_str(yytext)
|
|
},
|
|
/* 54 OneStarClose */
|
|
func(yytext string, _ int) {
|
|
a := yyval[yyp-1]
|
|
yy = a
|
|
yyval[yyp-1] = a
|
|
},
|
|
/* 55 EmphStar */
|
|
func(yytext string, _ int) {
|
|
a := yyval[yyp-1]
|
|
a = cons(yy, a)
|
|
yyval[yyp-1] = a
|
|
},
|
|
/* 56 EmphStar */
|
|
func(yytext string, _ int) {
|
|
a := yyval[yyp-1]
|
|
a = cons(yy, a)
|
|
yyval[yyp-1] = a
|
|
},
|
|
/* 57 EmphStar */
|
|
func(yytext string, _ int) {
|
|
a := yyval[yyp-1]
|
|
yy = mk_list(EMPH, a)
|
|
yyval[yyp-1] = a
|
|
},
|
|
/* 58 OneUlClose */
|
|
func(yytext string, _ int) {
|
|
a := yyval[yyp-1]
|
|
yy = a
|
|
yyval[yyp-1] = a
|
|
},
|
|
/* 59 EmphUl */
|
|
func(yytext string, _ int) {
|
|
a := yyval[yyp-1]
|
|
a = cons(yy, a)
|
|
yyval[yyp-1] = a
|
|
},
|
|
/* 60 EmphUl */
|
|
func(yytext string, _ int) {
|
|
a := yyval[yyp-1]
|
|
a = cons(yy, a)
|
|
yyval[yyp-1] = a
|
|
},
|
|
/* 61 EmphUl */
|
|
func(yytext string, _ int) {
|
|
a := yyval[yyp-1]
|
|
yy = mk_list(EMPH, a)
|
|
yyval[yyp-1] = a
|
|
},
|
|
/* 62 TwoStarClose */
|
|
func(yytext string, _ int) {
|
|
a := yyval[yyp-1]
|
|
yy = a
|
|
yyval[yyp-1] = a
|
|
},
|
|
/* 63 StrongStar */
|
|
func(yytext string, _ int) {
|
|
a := yyval[yyp-1]
|
|
a = cons(yy, a)
|
|
yyval[yyp-1] = a
|
|
},
|
|
/* 64 StrongStar */
|
|
func(yytext string, _ int) {
|
|
a := yyval[yyp-1]
|
|
a = cons(yy, a)
|
|
yyval[yyp-1] = a
|
|
},
|
|
/* 65 StrongStar */
|
|
func(yytext string, _ int) {
|
|
a := yyval[yyp-1]
|
|
yy = mk_list(STRONG, a)
|
|
yyval[yyp-1] = a
|
|
},
|
|
/* 66 TwoUlClose */
|
|
func(yytext string, _ int) {
|
|
a := yyval[yyp-1]
|
|
yy = a
|
|
yyval[yyp-1] = a
|
|
},
|
|
/* 67 StrongUl */
|
|
func(yytext string, _ int) {
|
|
a := yyval[yyp-1]
|
|
a = cons(yy, a)
|
|
yyval[yyp-1] = a
|
|
},
|
|
/* 68 StrongUl */
|
|
func(yytext string, _ int) {
|
|
a := yyval[yyp-1]
|
|
a = cons(yy, a)
|
|
yyval[yyp-1] = a
|
|
},
|
|
/* 69 StrongUl */
|
|
func(yytext string, _ int) {
|
|
a := yyval[yyp-1]
|
|
yy = mk_list(STRONG, a)
|
|
yyval[yyp-1] = a
|
|
},
|
|
/* 70 Image */
|
|
func(yytext string, _ int) {
|
|
if yy.key == LINK {
|
|
yy.key = IMAGE
|
|
} else {
|
|
result := yy
|
|
yy.children = cons(mk_str("!"), result.children)
|
|
}
|
|
|
|
},
|
|
/* 71 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
|
|
},
|
|
/* 72 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
|
|
},
|
|
/* 73 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
|
|
},
|
|
/* 74 Source */
|
|
func(yytext string, _ int) {
|
|
yy = mk_str(yytext)
|
|
},
|
|
/* 75 Title */
|
|
func(yytext string, _ int) {
|
|
yy = mk_str(yytext)
|
|
},
|
|
/* 76 AutoLinkUrl */
|
|
func(yytext string, _ int) {
|
|
yy = mk_link(mk_str(yytext), yytext, "")
|
|
},
|
|
/* 77 AutoLinkEmail */
|
|
func(yytext string, _ int) {
|
|
|
|
yy = mk_link(mk_str(yytext), "mailto:"+yytext, "")
|
|
|
|
},
|
|
/* 78 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
|
|
},
|
|
/* 79 Label */
|
|
func(yytext string, _ int) {
|
|
a := yyval[yyp-1]
|
|
a = cons(yy, a)
|
|
yyval[yyp-1] = a
|
|
},
|
|
/* 80 Label */
|
|
func(yytext string, _ int) {
|
|
a := yyval[yyp-1]
|
|
yy = mk_list(LIST, a)
|
|
yyval[yyp-1] = a
|
|
},
|
|
/* 81 RefSrc */
|
|
func(yytext string, _ int) {
|
|
yy = mk_str(yytext)
|
|
yy.key = HTML
|
|
},
|
|
/* 82 RefTitle */
|
|
func(yytext string, _ int) {
|
|
yy = mk_str(yytext)
|
|
},
|
|
/* 83 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
|
|
},
|
|
/* 84 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
|
|
},
|
|
/* 85 Code */
|
|
func(yytext string, _ int) {
|
|
yy = mk_str(yytext); yy.key = CODE
|
|
},
|
|
/* 86 RawHtml */
|
|
func(yytext string, _ int) {
|
|
if p.extension.FilterHTML {
|
|
yy = mk_list(LIST, nil)
|
|
} else {
|
|
yy = mk_str(yytext)
|
|
yy.key = HTML
|
|
}
|
|
|
|
},
|
|
/* 87 StartList */
|
|
func(yytext string, _ int) {
|
|
yy = nil
|
|
},
|
|
/* 88 Line */
|
|
func(yytext string, _ int) {
|
|
yy = mk_str(yytext)
|
|
},
|
|
/* 89 Apostrophe */
|
|
func(yytext string, _ int) {
|
|
yy = mk_element(APOSTROPHE)
|
|
},
|
|
/* 90 Ellipsis */
|
|
func(yytext string, _ int) {
|
|
yy = mk_element(ELLIPSIS)
|
|
},
|
|
/* 91 EnDash */
|
|
func(yytext string, _ int) {
|
|
yy = mk_element(ENDASH)
|
|
},
|
|
/* 92 EmDash */
|
|
func(yytext string, _ int) {
|
|
yy = mk_element(EMDASH)
|
|
},
|
|
/* 93 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
|
|
},
|
|
/* 94 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
|
|
},
|
|
/* 95 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
|
|
},
|
|
/* 96 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
|
|
},
|
|
/* 97 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
|
|
},
|
|
/* 98 RawNoteReference */
|
|
func(yytext string, _ int) {
|
|
yy = mk_str(yytext)
|
|
},
|
|
/* 99 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
|
|
},
|
|
/* 100 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
|
|
},
|
|
/* 101 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
|
|
},
|
|
/* 102 InlineNote */
|
|
func(yytext string, _ int) {
|
|
a := yyval[yyp-1]
|
|
a = cons(yy, a)
|
|
yyval[yyp-1] = a
|
|
},
|
|
/* 103 InlineNote */
|
|
func(yytext string, _ int) {
|
|
a := yyval[yyp-1]
|
|
yy = mk_list(NOTE, a)
|
|
yy.contents.str = ""
|
|
yyval[yyp-1] = a
|
|
},
|
|
/* 104 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
|
|
},
|
|
/* 105 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
|
|
},
|
|
/* 106 RawNoteBlock */
|
|
func(yytext string, _ int) {
|
|
a := yyval[yyp-1]
|
|
a = cons(yy, a)
|
|
yyval[yyp-1] = a
|
|
},
|
|
/* 107 RawNoteBlock */
|
|
func(yytext string, _ int) {
|
|
a := yyval[yyp-1]
|
|
a = cons(mk_str(yytext), a)
|
|
yyval[yyp-1] = a
|
|
},
|
|
/* 108 RawNoteBlock */
|
|
func(yytext string, _ int) {
|
|
a := yyval[yyp-1]
|
|
yy = mk_str_from_list(a, true)
|
|
yy.key = RAW
|
|
|
|
yyval[yyp-1] = a
|
|
},
|
|
/* 109 DefinitionList */
|
|
func(yytext string, _ int) {
|
|
a := yyval[yyp-1]
|
|
a = cons(yy, a)
|
|
yyval[yyp-1] = a
|
|
},
|
|
/* 110 DefinitionList */
|
|
func(yytext string, _ int) {
|
|
a := yyval[yyp-1]
|
|
yy = mk_list(DEFINITIONLIST, a)
|
|
yyval[yyp-1] = a
|
|
},
|
|
/* 111 Definition */
|
|
func(yytext string, _ int) {
|
|
a := yyval[yyp-1]
|
|
a = cons(yy, a)
|
|
yyval[yyp-1] = a
|
|
},
|
|
/* 112 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
|
|
},
|
|
/* 113 Definition */
|
|
func(yytext string, _ int) {
|
|
a := yyval[yyp-1]
|
|
yy = mk_list(LIST, a)
|
|
yyval[yyp-1] = a
|
|
},
|
|
/* 114 DListTitle */
|
|
func(yytext string, _ int) {
|
|
a := yyval[yyp-1]
|
|
a = cons(yy, a)
|
|
yyval[yyp-1] = a
|
|
},
|
|
/* 115 DListTitle */
|
|
func(yytext string, _ int) {
|
|
a := yyval[yyp-1]
|
|
yy = mk_list(LIST, a)
|
|
yy.key = DEFTITLE
|
|
|
|
yyval[yyp-1] = a
|
|
},
|
|
/* 116 yyPush */
|
|
func(_ string, count int) {
|
|
yyp += count
|
|
if yyp >= len(yyval) {
|
|
s := make([]*element, cap(yyval)+200)
|
|
copy(s, yyval)
|
|
yyval = s
|
|
}
|
|
},
|
|
/* 117 yyPop */
|
|
func(_ string, count int) {
|
|
yyp -= count
|
|
},
|
|
/* 118 yySet */
|
|
func(_ string, count int) {
|
|
yyval[yyp+count] = yy
|
|
},
|
|
}
|
|
const (
|
|
yyPush = 116+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)
|
|
}
|
|
_ = peekDot
|
|
|
|
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
|
|
}
|
|
_ = peekChar
|
|
|
|
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, 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, 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, 255, 255, 255, 255, 255, 31, 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, 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
|
|
{
|
|
position26, thunkPosition26 := position, thunkPosition
|
|
if !p.rules[ruleSp]() {
|
|
goto l26
|
|
}
|
|
goto l27
|
|
l26:
|
|
position, thunkPosition = position26, thunkPosition26
|
|
}
|
|
l27:
|
|
l28:
|
|
{
|
|
position29, thunkPosition29 := position, thunkPosition
|
|
if !matchChar('#') {
|
|
goto l29
|
|
}
|
|
goto l28
|
|
l29:
|
|
position, thunkPosition = position29, thunkPosition29
|
|
}
|
|
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 l30
|
|
}
|
|
begin = position
|
|
{
|
|
position31, thunkPosition31 := position, thunkPosition
|
|
if !matchString("######") {
|
|
goto l32
|
|
}
|
|
goto l31
|
|
l32:
|
|
position, thunkPosition = position31, thunkPosition31
|
|
if !matchString("#####") {
|
|
goto l33
|
|
}
|
|
goto l31
|
|
l33:
|
|
position, thunkPosition = position31, thunkPosition31
|
|
if !matchString("####") {
|
|
goto l34
|
|
}
|
|
goto l31
|
|
l34:
|
|
position, thunkPosition = position31, thunkPosition31
|
|
if !matchString("###") {
|
|
goto l35
|
|
}
|
|
goto l31
|
|
l35:
|
|
position, thunkPosition = position31, thunkPosition31
|
|
if !matchString("##") {
|
|
goto l36
|
|
}
|
|
goto l31
|
|
l36:
|
|
position, thunkPosition = position31, thunkPosition31
|
|
if !matchChar('#') {
|
|
goto l30
|
|
}
|
|
}
|
|
l31:
|
|
end = position
|
|
do(4)
|
|
return true
|
|
l30:
|
|
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 l37
|
|
}
|
|
doarg(yySet, -1)
|
|
{
|
|
position38, thunkPosition38 := position, thunkPosition
|
|
if !p.rules[ruleSp]() {
|
|
goto l38
|
|
}
|
|
goto l39
|
|
l38:
|
|
position, thunkPosition = position38, thunkPosition38
|
|
}
|
|
l39:
|
|
if !p.rules[ruleStartList]() {
|
|
goto l37
|
|
}
|
|
doarg(yySet, -2)
|
|
if !p.rules[ruleAtxInline]() {
|
|
goto l37
|
|
}
|
|
do(5)
|
|
l40:
|
|
{
|
|
position41, thunkPosition41 := position, thunkPosition
|
|
if !p.rules[ruleAtxInline]() {
|
|
goto l41
|
|
}
|
|
do(5)
|
|
goto l40
|
|
l41:
|
|
position, thunkPosition = position41, thunkPosition41
|
|
}
|
|
{
|
|
position42, thunkPosition42 := position, thunkPosition
|
|
{
|
|
position44, thunkPosition44 := position, thunkPosition
|
|
if !p.rules[ruleSp]() {
|
|
goto l44
|
|
}
|
|
goto l45
|
|
l44:
|
|
position, thunkPosition = position44, thunkPosition44
|
|
}
|
|
l45:
|
|
l46:
|
|
{
|
|
position47, thunkPosition47 := position, thunkPosition
|
|
if !matchChar('#') {
|
|
goto l47
|
|
}
|
|
goto l46
|
|
l47:
|
|
position, thunkPosition = position47, thunkPosition47
|
|
}
|
|
if !p.rules[ruleSp]() {
|
|
goto l42
|
|
}
|
|
goto l43
|
|
l42:
|
|
position, thunkPosition = position42, thunkPosition42
|
|
}
|
|
l43:
|
|
if !p.rules[ruleNewline]() {
|
|
goto l37
|
|
}
|
|
do(6)
|
|
doarg(yyPop, 2)
|
|
return true
|
|
l37:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 7 SetextHeading <- (SetextHeading1 / SetextHeading2) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
{
|
|
position49, thunkPosition49 := position, thunkPosition
|
|
if !p.rules[ruleSetextHeading1]() {
|
|
goto l50
|
|
}
|
|
goto l49
|
|
l50:
|
|
position, thunkPosition = position49, thunkPosition49
|
|
if !p.rules[ruleSetextHeading2]() {
|
|
goto l48
|
|
}
|
|
}
|
|
l49:
|
|
return true
|
|
l48:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 8 SetextBottom1 <- ('===' '='* Newline) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchString("===") {
|
|
goto l51
|
|
}
|
|
l52:
|
|
{
|
|
position53, thunkPosition53 := position, thunkPosition
|
|
if !matchChar('=') {
|
|
goto l53
|
|
}
|
|
goto l52
|
|
l53:
|
|
position, thunkPosition = position53, thunkPosition53
|
|
}
|
|
if !p.rules[ruleNewline]() {
|
|
goto l51
|
|
}
|
|
return true
|
|
l51:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 9 SetextBottom2 <- ('---' '-'* Newline) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchString("---") {
|
|
goto l54
|
|
}
|
|
l55:
|
|
{
|
|
position56, thunkPosition56 := position, thunkPosition
|
|
if !matchChar('-') {
|
|
goto l56
|
|
}
|
|
goto l55
|
|
l56:
|
|
position, thunkPosition = position56, thunkPosition56
|
|
}
|
|
if !p.rules[ruleNewline]() {
|
|
goto l54
|
|
}
|
|
return true
|
|
l54:
|
|
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)
|
|
{
|
|
position58, thunkPosition58 := position, thunkPosition
|
|
if !p.rules[ruleRawLine]() {
|
|
goto l57
|
|
}
|
|
if !p.rules[ruleSetextBottom1]() {
|
|
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(7)
|
|
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(7)
|
|
goto l59
|
|
l60:
|
|
position, thunkPosition = position60, thunkPosition60
|
|
}
|
|
if !p.rules[ruleNewline]() {
|
|
goto l57
|
|
}
|
|
if !p.rules[ruleSetextBottom1]() {
|
|
goto l57
|
|
}
|
|
do(8)
|
|
doarg(yyPop, 1)
|
|
return true
|
|
l57:
|
|
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)
|
|
{
|
|
position64, thunkPosition64 := position, thunkPosition
|
|
if !p.rules[ruleRawLine]() {
|
|
goto l63
|
|
}
|
|
if !p.rules[ruleSetextBottom2]() {
|
|
goto l63
|
|
}
|
|
position, thunkPosition = position64, thunkPosition64
|
|
}
|
|
if !p.rules[ruleStartList]() {
|
|
goto l63
|
|
}
|
|
doarg(yySet, -1)
|
|
{
|
|
position67, thunkPosition67 := position, thunkPosition
|
|
if !p.rules[ruleEndline]() {
|
|
goto l67
|
|
}
|
|
goto l63
|
|
l67:
|
|
position, thunkPosition = position67, thunkPosition67
|
|
}
|
|
if !p.rules[ruleInline]() {
|
|
goto l63
|
|
}
|
|
do(9)
|
|
l65:
|
|
{
|
|
position66, thunkPosition66 := position, thunkPosition
|
|
{
|
|
position68, thunkPosition68 := position, thunkPosition
|
|
if !p.rules[ruleEndline]() {
|
|
goto l68
|
|
}
|
|
goto l66
|
|
l68:
|
|
position, thunkPosition = position68, thunkPosition68
|
|
}
|
|
if !p.rules[ruleInline]() {
|
|
goto l66
|
|
}
|
|
do(9)
|
|
goto l65
|
|
l66:
|
|
position, thunkPosition = position66, thunkPosition66
|
|
}
|
|
if !p.rules[ruleNewline]() {
|
|
goto l63
|
|
}
|
|
if !p.rules[ruleSetextBottom2]() {
|
|
goto l63
|
|
}
|
|
do(10)
|
|
doarg(yyPop, 1)
|
|
return true
|
|
l63:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 12 Heading <- (AtxHeading / SetextHeading) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
{
|
|
position70, thunkPosition70 := position, thunkPosition
|
|
if !p.rules[ruleAtxHeading]() {
|
|
goto l71
|
|
}
|
|
goto l70
|
|
l71:
|
|
position, thunkPosition = position70, thunkPosition70
|
|
if !p.rules[ruleSetextHeading]() {
|
|
goto l69
|
|
}
|
|
}
|
|
l70:
|
|
return true
|
|
l69:
|
|
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 l72
|
|
}
|
|
doarg(yySet, -1)
|
|
do(11)
|
|
doarg(yyPop, 1)
|
|
return true
|
|
l72:
|
|
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 l73
|
|
}
|
|
doarg(yySet, -1)
|
|
if !matchChar('>') {
|
|
goto l73
|
|
}
|
|
{
|
|
position76, thunkPosition76 := position, thunkPosition
|
|
if !matchChar(' ') {
|
|
goto l76
|
|
}
|
|
goto l77
|
|
l76:
|
|
position, thunkPosition = position76, thunkPosition76
|
|
}
|
|
l77:
|
|
if !p.rules[ruleLine]() {
|
|
goto l73
|
|
}
|
|
do(12)
|
|
l78:
|
|
{
|
|
position79, thunkPosition79 := position, thunkPosition
|
|
if peekChar('>') {
|
|
goto l79
|
|
}
|
|
{
|
|
position80, thunkPosition80 := position, thunkPosition
|
|
if !p.rules[ruleBlankLine]() {
|
|
goto l80
|
|
}
|
|
goto l79
|
|
l80:
|
|
position, thunkPosition = position80, thunkPosition80
|
|
}
|
|
if !p.rules[ruleLine]() {
|
|
goto l79
|
|
}
|
|
do(13)
|
|
goto l78
|
|
l79:
|
|
position, thunkPosition = position79, thunkPosition79
|
|
}
|
|
l81:
|
|
{
|
|
position82, thunkPosition82 := position, thunkPosition
|
|
if !p.rules[ruleBlankLine]() {
|
|
goto l82
|
|
}
|
|
do(14)
|
|
goto l81
|
|
l82:
|
|
position, thunkPosition = position82, thunkPosition82
|
|
}
|
|
l74:
|
|
{
|
|
position75, thunkPosition75 := position, thunkPosition
|
|
if !matchChar('>') {
|
|
goto l75
|
|
}
|
|
{
|
|
position83, thunkPosition83 := position, thunkPosition
|
|
if !matchChar(' ') {
|
|
goto l83
|
|
}
|
|
goto l84
|
|
l83:
|
|
position, thunkPosition = position83, thunkPosition83
|
|
}
|
|
l84:
|
|
if !p.rules[ruleLine]() {
|
|
goto l75
|
|
}
|
|
do(12)
|
|
l85:
|
|
{
|
|
position86, thunkPosition86 := position, thunkPosition
|
|
if peekChar('>') {
|
|
goto l86
|
|
}
|
|
{
|
|
position87, thunkPosition87 := position, thunkPosition
|
|
if !p.rules[ruleBlankLine]() {
|
|
goto l87
|
|
}
|
|
goto l86
|
|
l87:
|
|
position, thunkPosition = position87, thunkPosition87
|
|
}
|
|
if !p.rules[ruleLine]() {
|
|
goto l86
|
|
}
|
|
do(13)
|
|
goto l85
|
|
l86:
|
|
position, thunkPosition = position86, thunkPosition86
|
|
}
|
|
l88:
|
|
{
|
|
position89, thunkPosition89 := position, thunkPosition
|
|
if !p.rules[ruleBlankLine]() {
|
|
goto l89
|
|
}
|
|
do(14)
|
|
goto l88
|
|
l89:
|
|
position, thunkPosition = position89, thunkPosition89
|
|
}
|
|
goto l74
|
|
l75:
|
|
position, thunkPosition = position75, thunkPosition75
|
|
}
|
|
do(15)
|
|
doarg(yyPop, 1)
|
|
return true
|
|
l73:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 15 NonblankIndentedLine <- (!BlankLine IndentedLine) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
{
|
|
position91, thunkPosition91 := position, thunkPosition
|
|
if !p.rules[ruleBlankLine]() {
|
|
goto l91
|
|
}
|
|
goto l90
|
|
l91:
|
|
position, thunkPosition = position91, thunkPosition91
|
|
}
|
|
if !p.rules[ruleIndentedLine]() {
|
|
goto l90
|
|
}
|
|
return true
|
|
l90:
|
|
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 l92
|
|
}
|
|
doarg(yySet, -1)
|
|
l93:
|
|
{
|
|
position94, thunkPosition94 := position, thunkPosition
|
|
if !p.rules[ruleBlankLine]() {
|
|
goto l94
|
|
}
|
|
do(16)
|
|
goto l93
|
|
l94:
|
|
position, thunkPosition = position94, thunkPosition94
|
|
}
|
|
if !p.rules[ruleNonblankIndentedLine]() {
|
|
goto l92
|
|
}
|
|
do(17)
|
|
l95:
|
|
{
|
|
position96, thunkPosition96 := position, thunkPosition
|
|
if !p.rules[ruleNonblankIndentedLine]() {
|
|
goto l96
|
|
}
|
|
do(17)
|
|
goto l95
|
|
l96:
|
|
position, thunkPosition = position96, thunkPosition96
|
|
}
|
|
do(18)
|
|
doarg(yyPop, 1)
|
|
return true
|
|
l92:
|
|
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 l97
|
|
}
|
|
doarg(yySet, -1)
|
|
if !p.rules[ruleVerbatimChunk]() {
|
|
goto l97
|
|
}
|
|
do(19)
|
|
l98:
|
|
{
|
|
position99, thunkPosition99 := position, thunkPosition
|
|
if !p.rules[ruleVerbatimChunk]() {
|
|
goto l99
|
|
}
|
|
do(19)
|
|
goto l98
|
|
l99:
|
|
position, thunkPosition = position99, thunkPosition99
|
|
}
|
|
do(20)
|
|
doarg(yyPop, 1)
|
|
return true
|
|
l97:
|
|
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 l100
|
|
}
|
|
{
|
|
if position == len(p.Buffer) {
|
|
goto l100
|
|
}
|
|
switch p.Buffer[position] {
|
|
case '_':
|
|
if !matchChar('_') {
|
|
goto l100
|
|
}
|
|
if !p.rules[ruleSp]() {
|
|
goto l100
|
|
}
|
|
if !matchChar('_') {
|
|
goto l100
|
|
}
|
|
if !p.rules[ruleSp]() {
|
|
goto l100
|
|
}
|
|
if !matchChar('_') {
|
|
goto l100
|
|
}
|
|
l102:
|
|
{
|
|
position103, thunkPosition103 := position, thunkPosition
|
|
if !p.rules[ruleSp]() {
|
|
goto l103
|
|
}
|
|
if !matchChar('_') {
|
|
goto l103
|
|
}
|
|
goto l102
|
|
l103:
|
|
position, thunkPosition = position103, thunkPosition103
|
|
}
|
|
case '-':
|
|
if !matchChar('-') {
|
|
goto l100
|
|
}
|
|
if !p.rules[ruleSp]() {
|
|
goto l100
|
|
}
|
|
if !matchChar('-') {
|
|
goto l100
|
|
}
|
|
if !p.rules[ruleSp]() {
|
|
goto l100
|
|
}
|
|
if !matchChar('-') {
|
|
goto l100
|
|
}
|
|
l104:
|
|
{
|
|
position105, thunkPosition105 := position, thunkPosition
|
|
if !p.rules[ruleSp]() {
|
|
goto l105
|
|
}
|
|
if !matchChar('-') {
|
|
goto l105
|
|
}
|
|
goto l104
|
|
l105:
|
|
position, thunkPosition = position105, thunkPosition105
|
|
}
|
|
default:
|
|
if !matchChar('*') {
|
|
goto l100
|
|
}
|
|
if !p.rules[ruleSp]() {
|
|
goto l100
|
|
}
|
|
if !matchChar('*') {
|
|
goto l100
|
|
}
|
|
if !p.rules[ruleSp]() {
|
|
goto l100
|
|
}
|
|
if !matchChar('*') {
|
|
goto l100
|
|
}
|
|
l106:
|
|
{
|
|
position107, thunkPosition107 := position, thunkPosition
|
|
if !p.rules[ruleSp]() {
|
|
goto l107
|
|
}
|
|
if !matchChar('*') {
|
|
goto l107
|
|
}
|
|
goto l106
|
|
l107:
|
|
position, thunkPosition = position107, thunkPosition107
|
|
}
|
|
}
|
|
}
|
|
if !p.rules[ruleSp]() {
|
|
goto l100
|
|
}
|
|
if !p.rules[ruleNewline]() {
|
|
goto l100
|
|
}
|
|
if !p.rules[ruleBlankLine]() {
|
|
goto l100
|
|
}
|
|
l108:
|
|
{
|
|
position109, thunkPosition109 := position, thunkPosition
|
|
if !p.rules[ruleBlankLine]() {
|
|
goto l109
|
|
}
|
|
goto l108
|
|
l109:
|
|
position, thunkPosition = position109, thunkPosition109
|
|
}
|
|
do(21)
|
|
return true
|
|
l100:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 19 Bullet <- (!HorizontalRule NonindentSpace ((&[\-] '-') | (&[*] '*') | (&[+] '+')) Spacechar+) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
{
|
|
position111, thunkPosition111 := position, thunkPosition
|
|
if !p.rules[ruleHorizontalRule]() {
|
|
goto l111
|
|
}
|
|
goto l110
|
|
l111:
|
|
position, thunkPosition = position111, thunkPosition111
|
|
}
|
|
if !p.rules[ruleNonindentSpace]() {
|
|
goto l110
|
|
}
|
|
{
|
|
if position == len(p.Buffer) {
|
|
goto l110
|
|
}
|
|
switch p.Buffer[position] {
|
|
case '-':
|
|
if !matchChar('-') {
|
|
goto l110
|
|
}
|
|
case '*':
|
|
if !matchChar('*') {
|
|
goto l110
|
|
}
|
|
default:
|
|
if !matchChar('+') {
|
|
goto l110
|
|
}
|
|
}
|
|
}
|
|
if !p.rules[ruleSpacechar]() {
|
|
goto l110
|
|
}
|
|
l113:
|
|
{
|
|
position114, thunkPosition114 := position, thunkPosition
|
|
if !p.rules[ruleSpacechar]() {
|
|
goto l114
|
|
}
|
|
goto l113
|
|
l114:
|
|
position, thunkPosition = position114, thunkPosition114
|
|
}
|
|
return true
|
|
l110:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 20 BulletList <- (&Bullet (ListTight / ListLoose) { yy.key = BULLETLIST }) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
{
|
|
position116, thunkPosition116 := position, thunkPosition
|
|
if !p.rules[ruleBullet]() {
|
|
goto l115
|
|
}
|
|
position, thunkPosition = position116, thunkPosition116
|
|
}
|
|
{
|
|
position117, thunkPosition117 := position, thunkPosition
|
|
if !p.rules[ruleListTight]() {
|
|
goto l118
|
|
}
|
|
goto l117
|
|
l118:
|
|
position, thunkPosition = position117, thunkPosition117
|
|
if !p.rules[ruleListLoose]() {
|
|
goto l115
|
|
}
|
|
}
|
|
l117:
|
|
do(22)
|
|
return true
|
|
l115:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 21 ListTight <- (StartList (ListItemTight { 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 l119
|
|
}
|
|
doarg(yySet, -1)
|
|
if !p.rules[ruleListItemTight]() {
|
|
goto l119
|
|
}
|
|
do(23)
|
|
l120:
|
|
{
|
|
position121, thunkPosition121 := position, thunkPosition
|
|
if !p.rules[ruleListItemTight]() {
|
|
goto l121
|
|
}
|
|
do(23)
|
|
goto l120
|
|
l121:
|
|
position, thunkPosition = position121, thunkPosition121
|
|
}
|
|
l122:
|
|
{
|
|
position123, thunkPosition123 := position, thunkPosition
|
|
if !p.rules[ruleBlankLine]() {
|
|
goto l123
|
|
}
|
|
goto l122
|
|
l123:
|
|
position, thunkPosition = position123, thunkPosition123
|
|
}
|
|
{
|
|
position124, thunkPosition124 := position, thunkPosition
|
|
{
|
|
position125, thunkPosition125 := position, thunkPosition
|
|
if !p.rules[ruleBullet]() {
|
|
goto l126
|
|
}
|
|
goto l125
|
|
l126:
|
|
position, thunkPosition = position125, thunkPosition125
|
|
if !p.rules[ruleEnumerator]() {
|
|
goto l127
|
|
}
|
|
goto l125
|
|
l127:
|
|
position, thunkPosition = position125, thunkPosition125
|
|
if !p.rules[ruleDefMarker]() {
|
|
goto l124
|
|
}
|
|
}
|
|
l125:
|
|
goto l119
|
|
l124:
|
|
position, thunkPosition = position124, thunkPosition124
|
|
}
|
|
do(24)
|
|
doarg(yyPop, 1)
|
|
return true
|
|
l119:
|
|
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 l128
|
|
}
|
|
doarg(yySet, -1)
|
|
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)
|
|
l129:
|
|
{
|
|
position130, thunkPosition130 := position, thunkPosition
|
|
if !p.rules[ruleListItem]() {
|
|
goto l130
|
|
}
|
|
doarg(yySet, -2)
|
|
l133:
|
|
{
|
|
position134, thunkPosition134 := position, thunkPosition
|
|
if !p.rules[ruleBlankLine]() {
|
|
goto l134
|
|
}
|
|
goto l133
|
|
l134:
|
|
position, thunkPosition = position134, thunkPosition134
|
|
}
|
|
do(25)
|
|
goto l129
|
|
l130:
|
|
position, thunkPosition = position130, thunkPosition130
|
|
}
|
|
do(26)
|
|
doarg(yyPop, 2)
|
|
return true
|
|
l128:
|
|
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)
|
|
{
|
|
position136, thunkPosition136 := position, thunkPosition
|
|
if !p.rules[ruleBullet]() {
|
|
goto l137
|
|
}
|
|
goto l136
|
|
l137:
|
|
position, thunkPosition = position136, thunkPosition136
|
|
if !p.rules[ruleEnumerator]() {
|
|
goto l138
|
|
}
|
|
goto l136
|
|
l138:
|
|
position, thunkPosition = position136, thunkPosition136
|
|
if !p.rules[ruleDefMarker]() {
|
|
goto l135
|
|
}
|
|
}
|
|
l136:
|
|
if !p.rules[ruleStartList]() {
|
|
goto l135
|
|
}
|
|
doarg(yySet, -1)
|
|
if !p.rules[ruleListBlock]() {
|
|
goto l135
|
|
}
|
|
do(27)
|
|
l139:
|
|
{
|
|
position140, thunkPosition140 := position, thunkPosition
|
|
if !p.rules[ruleListContinuationBlock]() {
|
|
goto l140
|
|
}
|
|
do(28)
|
|
goto l139
|
|
l140:
|
|
position, thunkPosition = position140, thunkPosition140
|
|
}
|
|
do(29)
|
|
doarg(yyPop, 1)
|
|
return true
|
|
l135:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 24 ListItemTight <- ((Bullet / Enumerator / DefMarker) StartList ListBlock { a = cons(yy, a) } (!BlankLine ListContinuationBlock { a = cons(yy, a) })* !ListContinuationBlock {
|
|
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)
|
|
{
|
|
position142, thunkPosition142 := position, thunkPosition
|
|
if !p.rules[ruleBullet]() {
|
|
goto l143
|
|
}
|
|
goto l142
|
|
l143:
|
|
position, thunkPosition = position142, thunkPosition142
|
|
if !p.rules[ruleEnumerator]() {
|
|
goto l144
|
|
}
|
|
goto l142
|
|
l144:
|
|
position, thunkPosition = position142, thunkPosition142
|
|
if !p.rules[ruleDefMarker]() {
|
|
goto l141
|
|
}
|
|
}
|
|
l142:
|
|
if !p.rules[ruleStartList]() {
|
|
goto l141
|
|
}
|
|
doarg(yySet, -1)
|
|
if !p.rules[ruleListBlock]() {
|
|
goto l141
|
|
}
|
|
do(30)
|
|
l145:
|
|
{
|
|
position146, thunkPosition146 := position, thunkPosition
|
|
{
|
|
position147, thunkPosition147 := position, thunkPosition
|
|
if !p.rules[ruleBlankLine]() {
|
|
goto l147
|
|
}
|
|
goto l146
|
|
l147:
|
|
position, thunkPosition = position147, thunkPosition147
|
|
}
|
|
if !p.rules[ruleListContinuationBlock]() {
|
|
goto l146
|
|
}
|
|
do(31)
|
|
goto l145
|
|
l146:
|
|
position, thunkPosition = position146, thunkPosition146
|
|
}
|
|
{
|
|
position148, thunkPosition148 := position, thunkPosition
|
|
if !p.rules[ruleListContinuationBlock]() {
|
|
goto l148
|
|
}
|
|
goto l141
|
|
l148:
|
|
position, thunkPosition = position148, thunkPosition148
|
|
}
|
|
do(32)
|
|
doarg(yyPop, 1)
|
|
return true
|
|
l141:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 25 ListBlock <- (StartList !BlankLine 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 l149
|
|
}
|
|
doarg(yySet, -1)
|
|
{
|
|
position150, thunkPosition150 := position, thunkPosition
|
|
if !p.rules[ruleBlankLine]() {
|
|
goto l150
|
|
}
|
|
goto l149
|
|
l150:
|
|
position, thunkPosition = position150, thunkPosition150
|
|
}
|
|
if !p.rules[ruleLine]() {
|
|
goto l149
|
|
}
|
|
do(33)
|
|
l151:
|
|
{
|
|
position152, thunkPosition152 := position, thunkPosition
|
|
if !p.rules[ruleListBlockLine]() {
|
|
goto l152
|
|
}
|
|
do(34)
|
|
goto l151
|
|
l152:
|
|
position, thunkPosition = position152, thunkPosition152
|
|
}
|
|
do(35)
|
|
doarg(yyPop, 1)
|
|
return true
|
|
l149:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 26 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 l153
|
|
}
|
|
doarg(yySet, -1)
|
|
begin = position
|
|
l154:
|
|
{
|
|
position155, thunkPosition155 := position, thunkPosition
|
|
if !p.rules[ruleBlankLine]() {
|
|
goto l155
|
|
}
|
|
goto l154
|
|
l155:
|
|
position, thunkPosition = position155, thunkPosition155
|
|
}
|
|
end = position
|
|
do(36)
|
|
if !p.rules[ruleIndent]() {
|
|
goto l153
|
|
}
|
|
if !p.rules[ruleListBlock]() {
|
|
goto l153
|
|
}
|
|
do(37)
|
|
l156:
|
|
{
|
|
position157, thunkPosition157 := position, thunkPosition
|
|
if !p.rules[ruleIndent]() {
|
|
goto l157
|
|
}
|
|
if !p.rules[ruleListBlock]() {
|
|
goto l157
|
|
}
|
|
do(37)
|
|
goto l156
|
|
l157:
|
|
position, thunkPosition = position157, thunkPosition157
|
|
}
|
|
do(38)
|
|
doarg(yyPop, 1)
|
|
return true
|
|
l153:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 27 Enumerator <- (NonindentSpace [0-9]+ '.' Spacechar+) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !p.rules[ruleNonindentSpace]() {
|
|
goto l158
|
|
}
|
|
if !matchClass(7) {
|
|
goto l158
|
|
}
|
|
l159:
|
|
{
|
|
position160, thunkPosition160 := position, thunkPosition
|
|
if !matchClass(7) {
|
|
goto l160
|
|
}
|
|
goto l159
|
|
l160:
|
|
position, thunkPosition = position160, thunkPosition160
|
|
}
|
|
if !matchChar('.') {
|
|
goto l158
|
|
}
|
|
if !p.rules[ruleSpacechar]() {
|
|
goto l158
|
|
}
|
|
l161:
|
|
{
|
|
position162, thunkPosition162 := position, thunkPosition
|
|
if !p.rules[ruleSpacechar]() {
|
|
goto l162
|
|
}
|
|
goto l161
|
|
l162:
|
|
position, thunkPosition = position162, thunkPosition162
|
|
}
|
|
return true
|
|
l158:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 28 OrderedList <- (&Enumerator (ListTight / ListLoose) { yy.key = ORDEREDLIST }) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
{
|
|
position164, thunkPosition164 := position, thunkPosition
|
|
if !p.rules[ruleEnumerator]() {
|
|
goto l163
|
|
}
|
|
position, thunkPosition = position164, thunkPosition164
|
|
}
|
|
{
|
|
position165, thunkPosition165 := position, thunkPosition
|
|
if !p.rules[ruleListTight]() {
|
|
goto l166
|
|
}
|
|
goto l165
|
|
l166:
|
|
position, thunkPosition = position165, thunkPosition165
|
|
if !p.rules[ruleListLoose]() {
|
|
goto l163
|
|
}
|
|
}
|
|
l165:
|
|
do(39)
|
|
return true
|
|
l163:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 29 ListBlockLine <- (!BlankLine !((Indent? (Bullet / Enumerator)) / DefMarker) !HorizontalRule OptionallyIndentedLine) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
{
|
|
position168, thunkPosition168 := position, thunkPosition
|
|
if !p.rules[ruleBlankLine]() {
|
|
goto l168
|
|
}
|
|
goto l167
|
|
l168:
|
|
position, thunkPosition = position168, thunkPosition168
|
|
}
|
|
{
|
|
position169, thunkPosition169 := position, thunkPosition
|
|
{
|
|
position170, thunkPosition170 := position, thunkPosition
|
|
{
|
|
position172, thunkPosition172 := position, thunkPosition
|
|
if !p.rules[ruleIndent]() {
|
|
goto l172
|
|
}
|
|
goto l173
|
|
l172:
|
|
position, thunkPosition = position172, thunkPosition172
|
|
}
|
|
l173:
|
|
{
|
|
position174, thunkPosition174 := position, thunkPosition
|
|
if !p.rules[ruleBullet]() {
|
|
goto l175
|
|
}
|
|
goto l174
|
|
l175:
|
|
position, thunkPosition = position174, thunkPosition174
|
|
if !p.rules[ruleEnumerator]() {
|
|
goto l171
|
|
}
|
|
}
|
|
l174:
|
|
goto l170
|
|
l171:
|
|
position, thunkPosition = position170, thunkPosition170
|
|
if !p.rules[ruleDefMarker]() {
|
|
goto l169
|
|
}
|
|
}
|
|
l170:
|
|
goto l167
|
|
l169:
|
|
position, thunkPosition = position169, thunkPosition169
|
|
}
|
|
{
|
|
position176, thunkPosition176 := position, thunkPosition
|
|
if !p.rules[ruleHorizontalRule]() {
|
|
goto l176
|
|
}
|
|
goto l167
|
|
l176:
|
|
position, thunkPosition = position176, thunkPosition176
|
|
}
|
|
if !p.rules[ruleOptionallyIndentedLine]() {
|
|
goto l167
|
|
}
|
|
return true
|
|
l167:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 30 HtmlBlockOpenAddress <- ('<' Spnl ('address' / 'ADDRESS') Spnl HtmlAttribute* '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l177
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l177
|
|
}
|
|
{
|
|
position178, thunkPosition178 := position, thunkPosition
|
|
if !matchString("address") {
|
|
goto l179
|
|
}
|
|
goto l178
|
|
l179:
|
|
position, thunkPosition = position178, thunkPosition178
|
|
if !matchString("ADDRESS") {
|
|
goto l177
|
|
}
|
|
}
|
|
l178:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l177
|
|
}
|
|
l180:
|
|
{
|
|
position181, thunkPosition181 := position, thunkPosition
|
|
if !p.rules[ruleHtmlAttribute]() {
|
|
goto l181
|
|
}
|
|
goto l180
|
|
l181:
|
|
position, thunkPosition = position181, thunkPosition181
|
|
}
|
|
if !matchChar('>') {
|
|
goto l177
|
|
}
|
|
return true
|
|
l177:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 31 HtmlBlockCloseAddress <- ('<' Spnl '/' ('address' / 'ADDRESS') Spnl '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l182
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l182
|
|
}
|
|
if !matchChar('/') {
|
|
goto l182
|
|
}
|
|
{
|
|
position183, thunkPosition183 := position, thunkPosition
|
|
if !matchString("address") {
|
|
goto l184
|
|
}
|
|
goto l183
|
|
l184:
|
|
position, thunkPosition = position183, thunkPosition183
|
|
if !matchString("ADDRESS") {
|
|
goto l182
|
|
}
|
|
}
|
|
l183:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l182
|
|
}
|
|
if !matchChar('>') {
|
|
goto l182
|
|
}
|
|
return true
|
|
l182:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 32 HtmlBlockAddress <- (HtmlBlockOpenAddress (HtmlBlockAddress / (!HtmlBlockCloseAddress .))* HtmlBlockCloseAddress) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockOpenAddress]() {
|
|
goto l185
|
|
}
|
|
l186:
|
|
{
|
|
position187, thunkPosition187 := position, thunkPosition
|
|
{
|
|
position188, thunkPosition188 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockAddress]() {
|
|
goto l189
|
|
}
|
|
goto l188
|
|
l189:
|
|
position, thunkPosition = position188, thunkPosition188
|
|
{
|
|
position190, thunkPosition190 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockCloseAddress]() {
|
|
goto l190
|
|
}
|
|
goto l187
|
|
l190:
|
|
position, thunkPosition = position190, thunkPosition190
|
|
}
|
|
if !matchDot() {
|
|
goto l187
|
|
}
|
|
}
|
|
l188:
|
|
goto l186
|
|
l187:
|
|
position, thunkPosition = position187, thunkPosition187
|
|
}
|
|
if !p.rules[ruleHtmlBlockCloseAddress]() {
|
|
goto l185
|
|
}
|
|
return true
|
|
l185:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 33 HtmlBlockOpenBlockquote <- ('<' Spnl ('blockquote' / 'BLOCKQUOTE') Spnl HtmlAttribute* '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l191
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l191
|
|
}
|
|
{
|
|
position192, thunkPosition192 := position, thunkPosition
|
|
if !matchString("blockquote") {
|
|
goto l193
|
|
}
|
|
goto l192
|
|
l193:
|
|
position, thunkPosition = position192, thunkPosition192
|
|
if !matchString("BLOCKQUOTE") {
|
|
goto l191
|
|
}
|
|
}
|
|
l192:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l191
|
|
}
|
|
l194:
|
|
{
|
|
position195, thunkPosition195 := position, thunkPosition
|
|
if !p.rules[ruleHtmlAttribute]() {
|
|
goto l195
|
|
}
|
|
goto l194
|
|
l195:
|
|
position, thunkPosition = position195, thunkPosition195
|
|
}
|
|
if !matchChar('>') {
|
|
goto l191
|
|
}
|
|
return true
|
|
l191:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 34 HtmlBlockCloseBlockquote <- ('<' Spnl '/' ('blockquote' / 'BLOCKQUOTE') Spnl '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l196
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l196
|
|
}
|
|
if !matchChar('/') {
|
|
goto l196
|
|
}
|
|
{
|
|
position197, thunkPosition197 := position, thunkPosition
|
|
if !matchString("blockquote") {
|
|
goto l198
|
|
}
|
|
goto l197
|
|
l198:
|
|
position, thunkPosition = position197, thunkPosition197
|
|
if !matchString("BLOCKQUOTE") {
|
|
goto l196
|
|
}
|
|
}
|
|
l197:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l196
|
|
}
|
|
if !matchChar('>') {
|
|
goto l196
|
|
}
|
|
return true
|
|
l196:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 35 HtmlBlockBlockquote <- (HtmlBlockOpenBlockquote (HtmlBlockBlockquote / (!HtmlBlockCloseBlockquote .))* HtmlBlockCloseBlockquote) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockOpenBlockquote]() {
|
|
goto l199
|
|
}
|
|
l200:
|
|
{
|
|
position201, thunkPosition201 := position, thunkPosition
|
|
{
|
|
position202, thunkPosition202 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockBlockquote]() {
|
|
goto l203
|
|
}
|
|
goto l202
|
|
l203:
|
|
position, thunkPosition = position202, thunkPosition202
|
|
{
|
|
position204, thunkPosition204 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockCloseBlockquote]() {
|
|
goto l204
|
|
}
|
|
goto l201
|
|
l204:
|
|
position, thunkPosition = position204, thunkPosition204
|
|
}
|
|
if !matchDot() {
|
|
goto l201
|
|
}
|
|
}
|
|
l202:
|
|
goto l200
|
|
l201:
|
|
position, thunkPosition = position201, thunkPosition201
|
|
}
|
|
if !p.rules[ruleHtmlBlockCloseBlockquote]() {
|
|
goto l199
|
|
}
|
|
return true
|
|
l199:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 36 HtmlBlockOpenCenter <- ('<' Spnl ('center' / 'CENTER') Spnl HtmlAttribute* '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l205
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l205
|
|
}
|
|
{
|
|
position206, thunkPosition206 := position, thunkPosition
|
|
if !matchString("center") {
|
|
goto l207
|
|
}
|
|
goto l206
|
|
l207:
|
|
position, thunkPosition = position206, thunkPosition206
|
|
if !matchString("CENTER") {
|
|
goto l205
|
|
}
|
|
}
|
|
l206:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l205
|
|
}
|
|
l208:
|
|
{
|
|
position209, thunkPosition209 := position, thunkPosition
|
|
if !p.rules[ruleHtmlAttribute]() {
|
|
goto l209
|
|
}
|
|
goto l208
|
|
l209:
|
|
position, thunkPosition = position209, thunkPosition209
|
|
}
|
|
if !matchChar('>') {
|
|
goto l205
|
|
}
|
|
return true
|
|
l205:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 37 HtmlBlockCloseCenter <- ('<' Spnl '/' ('center' / 'CENTER') Spnl '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l210
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l210
|
|
}
|
|
if !matchChar('/') {
|
|
goto l210
|
|
}
|
|
{
|
|
position211, thunkPosition211 := position, thunkPosition
|
|
if !matchString("center") {
|
|
goto l212
|
|
}
|
|
goto l211
|
|
l212:
|
|
position, thunkPosition = position211, thunkPosition211
|
|
if !matchString("CENTER") {
|
|
goto l210
|
|
}
|
|
}
|
|
l211:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l210
|
|
}
|
|
if !matchChar('>') {
|
|
goto l210
|
|
}
|
|
return true
|
|
l210:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 38 HtmlBlockCenter <- (HtmlBlockOpenCenter (HtmlBlockCenter / (!HtmlBlockCloseCenter .))* HtmlBlockCloseCenter) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockOpenCenter]() {
|
|
goto l213
|
|
}
|
|
l214:
|
|
{
|
|
position215, thunkPosition215 := position, thunkPosition
|
|
{
|
|
position216, thunkPosition216 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockCenter]() {
|
|
goto l217
|
|
}
|
|
goto l216
|
|
l217:
|
|
position, thunkPosition = position216, thunkPosition216
|
|
{
|
|
position218, thunkPosition218 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockCloseCenter]() {
|
|
goto l218
|
|
}
|
|
goto l215
|
|
l218:
|
|
position, thunkPosition = position218, thunkPosition218
|
|
}
|
|
if !matchDot() {
|
|
goto l215
|
|
}
|
|
}
|
|
l216:
|
|
goto l214
|
|
l215:
|
|
position, thunkPosition = position215, thunkPosition215
|
|
}
|
|
if !p.rules[ruleHtmlBlockCloseCenter]() {
|
|
goto l213
|
|
}
|
|
return true
|
|
l213:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 39 HtmlBlockOpenDir <- ('<' Spnl ('dir' / 'DIR') Spnl HtmlAttribute* '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l219
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l219
|
|
}
|
|
{
|
|
position220, thunkPosition220 := position, thunkPosition
|
|
if !matchString("dir") {
|
|
goto l221
|
|
}
|
|
goto l220
|
|
l221:
|
|
position, thunkPosition = position220, thunkPosition220
|
|
if !matchString("DIR") {
|
|
goto l219
|
|
}
|
|
}
|
|
l220:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l219
|
|
}
|
|
l222:
|
|
{
|
|
position223, thunkPosition223 := position, thunkPosition
|
|
if !p.rules[ruleHtmlAttribute]() {
|
|
goto l223
|
|
}
|
|
goto l222
|
|
l223:
|
|
position, thunkPosition = position223, thunkPosition223
|
|
}
|
|
if !matchChar('>') {
|
|
goto l219
|
|
}
|
|
return true
|
|
l219:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 40 HtmlBlockCloseDir <- ('<' Spnl '/' ('dir' / 'DIR') Spnl '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l224
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l224
|
|
}
|
|
if !matchChar('/') {
|
|
goto l224
|
|
}
|
|
{
|
|
position225, thunkPosition225 := position, thunkPosition
|
|
if !matchString("dir") {
|
|
goto l226
|
|
}
|
|
goto l225
|
|
l226:
|
|
position, thunkPosition = position225, thunkPosition225
|
|
if !matchString("DIR") {
|
|
goto l224
|
|
}
|
|
}
|
|
l225:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l224
|
|
}
|
|
if !matchChar('>') {
|
|
goto l224
|
|
}
|
|
return true
|
|
l224:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 41 HtmlBlockDir <- (HtmlBlockOpenDir (HtmlBlockDir / (!HtmlBlockCloseDir .))* HtmlBlockCloseDir) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockOpenDir]() {
|
|
goto l227
|
|
}
|
|
l228:
|
|
{
|
|
position229, thunkPosition229 := position, thunkPosition
|
|
{
|
|
position230, thunkPosition230 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockDir]() {
|
|
goto l231
|
|
}
|
|
goto l230
|
|
l231:
|
|
position, thunkPosition = position230, thunkPosition230
|
|
{
|
|
position232, thunkPosition232 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockCloseDir]() {
|
|
goto l232
|
|
}
|
|
goto l229
|
|
l232:
|
|
position, thunkPosition = position232, thunkPosition232
|
|
}
|
|
if !matchDot() {
|
|
goto l229
|
|
}
|
|
}
|
|
l230:
|
|
goto l228
|
|
l229:
|
|
position, thunkPosition = position229, thunkPosition229
|
|
}
|
|
if !p.rules[ruleHtmlBlockCloseDir]() {
|
|
goto l227
|
|
}
|
|
return true
|
|
l227:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 42 HtmlBlockOpenDiv <- ('<' Spnl ('div' / 'DIV') Spnl HtmlAttribute* '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l233
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l233
|
|
}
|
|
{
|
|
position234, thunkPosition234 := position, thunkPosition
|
|
if !matchString("div") {
|
|
goto l235
|
|
}
|
|
goto l234
|
|
l235:
|
|
position, thunkPosition = position234, thunkPosition234
|
|
if !matchString("DIV") {
|
|
goto l233
|
|
}
|
|
}
|
|
l234:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l233
|
|
}
|
|
l236:
|
|
{
|
|
position237, thunkPosition237 := position, thunkPosition
|
|
if !p.rules[ruleHtmlAttribute]() {
|
|
goto l237
|
|
}
|
|
goto l236
|
|
l237:
|
|
position, thunkPosition = position237, thunkPosition237
|
|
}
|
|
if !matchChar('>') {
|
|
goto l233
|
|
}
|
|
return true
|
|
l233:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 43 HtmlBlockCloseDiv <- ('<' Spnl '/' ('div' / 'DIV') Spnl '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l238
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l238
|
|
}
|
|
if !matchChar('/') {
|
|
goto l238
|
|
}
|
|
{
|
|
position239, thunkPosition239 := position, thunkPosition
|
|
if !matchString("div") {
|
|
goto l240
|
|
}
|
|
goto l239
|
|
l240:
|
|
position, thunkPosition = position239, thunkPosition239
|
|
if !matchString("DIV") {
|
|
goto l238
|
|
}
|
|
}
|
|
l239:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l238
|
|
}
|
|
if !matchChar('>') {
|
|
goto l238
|
|
}
|
|
return true
|
|
l238:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 44 HtmlBlockDiv <- (HtmlBlockOpenDiv (HtmlBlockDiv / (!HtmlBlockCloseDiv .))* HtmlBlockCloseDiv) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockOpenDiv]() {
|
|
goto l241
|
|
}
|
|
l242:
|
|
{
|
|
position243, thunkPosition243 := position, thunkPosition
|
|
{
|
|
position244, thunkPosition244 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockDiv]() {
|
|
goto l245
|
|
}
|
|
goto l244
|
|
l245:
|
|
position, thunkPosition = position244, thunkPosition244
|
|
{
|
|
position246, thunkPosition246 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockCloseDiv]() {
|
|
goto l246
|
|
}
|
|
goto l243
|
|
l246:
|
|
position, thunkPosition = position246, thunkPosition246
|
|
}
|
|
if !matchDot() {
|
|
goto l243
|
|
}
|
|
}
|
|
l244:
|
|
goto l242
|
|
l243:
|
|
position, thunkPosition = position243, thunkPosition243
|
|
}
|
|
if !p.rules[ruleHtmlBlockCloseDiv]() {
|
|
goto l241
|
|
}
|
|
return true
|
|
l241:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 45 HtmlBlockOpenDl <- ('<' Spnl ('dl' / 'DL') Spnl HtmlAttribute* '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l247
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l247
|
|
}
|
|
{
|
|
position248, thunkPosition248 := position, thunkPosition
|
|
if !matchString("dl") {
|
|
goto l249
|
|
}
|
|
goto l248
|
|
l249:
|
|
position, thunkPosition = position248, thunkPosition248
|
|
if !matchString("DL") {
|
|
goto l247
|
|
}
|
|
}
|
|
l248:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l247
|
|
}
|
|
l250:
|
|
{
|
|
position251, thunkPosition251 := position, thunkPosition
|
|
if !p.rules[ruleHtmlAttribute]() {
|
|
goto l251
|
|
}
|
|
goto l250
|
|
l251:
|
|
position, thunkPosition = position251, thunkPosition251
|
|
}
|
|
if !matchChar('>') {
|
|
goto l247
|
|
}
|
|
return true
|
|
l247:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 46 HtmlBlockCloseDl <- ('<' Spnl '/' ('dl' / 'DL') Spnl '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l252
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l252
|
|
}
|
|
if !matchChar('/') {
|
|
goto l252
|
|
}
|
|
{
|
|
position253, thunkPosition253 := position, thunkPosition
|
|
if !matchString("dl") {
|
|
goto l254
|
|
}
|
|
goto l253
|
|
l254:
|
|
position, thunkPosition = position253, thunkPosition253
|
|
if !matchString("DL") {
|
|
goto l252
|
|
}
|
|
}
|
|
l253:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l252
|
|
}
|
|
if !matchChar('>') {
|
|
goto l252
|
|
}
|
|
return true
|
|
l252:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 47 HtmlBlockDl <- (HtmlBlockOpenDl (HtmlBlockDl / (!HtmlBlockCloseDl .))* HtmlBlockCloseDl) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockOpenDl]() {
|
|
goto l255
|
|
}
|
|
l256:
|
|
{
|
|
position257, thunkPosition257 := position, thunkPosition
|
|
{
|
|
position258, thunkPosition258 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockDl]() {
|
|
goto l259
|
|
}
|
|
goto l258
|
|
l259:
|
|
position, thunkPosition = position258, thunkPosition258
|
|
{
|
|
position260, thunkPosition260 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockCloseDl]() {
|
|
goto l260
|
|
}
|
|
goto l257
|
|
l260:
|
|
position, thunkPosition = position260, thunkPosition260
|
|
}
|
|
if !matchDot() {
|
|
goto l257
|
|
}
|
|
}
|
|
l258:
|
|
goto l256
|
|
l257:
|
|
position, thunkPosition = position257, thunkPosition257
|
|
}
|
|
if !p.rules[ruleHtmlBlockCloseDl]() {
|
|
goto l255
|
|
}
|
|
return true
|
|
l255:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 48 HtmlBlockOpenFieldset <- ('<' Spnl ('fieldset' / 'FIELDSET') Spnl HtmlAttribute* '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l261
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l261
|
|
}
|
|
{
|
|
position262, thunkPosition262 := position, thunkPosition
|
|
if !matchString("fieldset") {
|
|
goto l263
|
|
}
|
|
goto l262
|
|
l263:
|
|
position, thunkPosition = position262, thunkPosition262
|
|
if !matchString("FIELDSET") {
|
|
goto l261
|
|
}
|
|
}
|
|
l262:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l261
|
|
}
|
|
l264:
|
|
{
|
|
position265, thunkPosition265 := position, thunkPosition
|
|
if !p.rules[ruleHtmlAttribute]() {
|
|
goto l265
|
|
}
|
|
goto l264
|
|
l265:
|
|
position, thunkPosition = position265, thunkPosition265
|
|
}
|
|
if !matchChar('>') {
|
|
goto l261
|
|
}
|
|
return true
|
|
l261:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 49 HtmlBlockCloseFieldset <- ('<' Spnl '/' ('fieldset' / 'FIELDSET') Spnl '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l266
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l266
|
|
}
|
|
if !matchChar('/') {
|
|
goto l266
|
|
}
|
|
{
|
|
position267, thunkPosition267 := position, thunkPosition
|
|
if !matchString("fieldset") {
|
|
goto l268
|
|
}
|
|
goto l267
|
|
l268:
|
|
position, thunkPosition = position267, thunkPosition267
|
|
if !matchString("FIELDSET") {
|
|
goto l266
|
|
}
|
|
}
|
|
l267:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l266
|
|
}
|
|
if !matchChar('>') {
|
|
goto l266
|
|
}
|
|
return true
|
|
l266:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 50 HtmlBlockFieldset <- (HtmlBlockOpenFieldset (HtmlBlockFieldset / (!HtmlBlockCloseFieldset .))* HtmlBlockCloseFieldset) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockOpenFieldset]() {
|
|
goto l269
|
|
}
|
|
l270:
|
|
{
|
|
position271, thunkPosition271 := position, thunkPosition
|
|
{
|
|
position272, thunkPosition272 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockFieldset]() {
|
|
goto l273
|
|
}
|
|
goto l272
|
|
l273:
|
|
position, thunkPosition = position272, thunkPosition272
|
|
{
|
|
position274, thunkPosition274 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockCloseFieldset]() {
|
|
goto l274
|
|
}
|
|
goto l271
|
|
l274:
|
|
position, thunkPosition = position274, thunkPosition274
|
|
}
|
|
if !matchDot() {
|
|
goto l271
|
|
}
|
|
}
|
|
l272:
|
|
goto l270
|
|
l271:
|
|
position, thunkPosition = position271, thunkPosition271
|
|
}
|
|
if !p.rules[ruleHtmlBlockCloseFieldset]() {
|
|
goto l269
|
|
}
|
|
return true
|
|
l269:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 51 HtmlBlockOpenForm <- ('<' Spnl ('form' / 'FORM') Spnl HtmlAttribute* '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l275
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l275
|
|
}
|
|
{
|
|
position276, thunkPosition276 := position, thunkPosition
|
|
if !matchString("form") {
|
|
goto l277
|
|
}
|
|
goto l276
|
|
l277:
|
|
position, thunkPosition = position276, thunkPosition276
|
|
if !matchString("FORM") {
|
|
goto l275
|
|
}
|
|
}
|
|
l276:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l275
|
|
}
|
|
l278:
|
|
{
|
|
position279, thunkPosition279 := position, thunkPosition
|
|
if !p.rules[ruleHtmlAttribute]() {
|
|
goto l279
|
|
}
|
|
goto l278
|
|
l279:
|
|
position, thunkPosition = position279, thunkPosition279
|
|
}
|
|
if !matchChar('>') {
|
|
goto l275
|
|
}
|
|
return true
|
|
l275:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 52 HtmlBlockCloseForm <- ('<' Spnl '/' ('form' / 'FORM') Spnl '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l280
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l280
|
|
}
|
|
if !matchChar('/') {
|
|
goto l280
|
|
}
|
|
{
|
|
position281, thunkPosition281 := position, thunkPosition
|
|
if !matchString("form") {
|
|
goto l282
|
|
}
|
|
goto l281
|
|
l282:
|
|
position, thunkPosition = position281, thunkPosition281
|
|
if !matchString("FORM") {
|
|
goto l280
|
|
}
|
|
}
|
|
l281:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l280
|
|
}
|
|
if !matchChar('>') {
|
|
goto l280
|
|
}
|
|
return true
|
|
l280:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 53 HtmlBlockForm <- (HtmlBlockOpenForm (HtmlBlockForm / (!HtmlBlockCloseForm .))* HtmlBlockCloseForm) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockOpenForm]() {
|
|
goto l283
|
|
}
|
|
l284:
|
|
{
|
|
position285, thunkPosition285 := position, thunkPosition
|
|
{
|
|
position286, thunkPosition286 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockForm]() {
|
|
goto l287
|
|
}
|
|
goto l286
|
|
l287:
|
|
position, thunkPosition = position286, thunkPosition286
|
|
{
|
|
position288, thunkPosition288 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockCloseForm]() {
|
|
goto l288
|
|
}
|
|
goto l285
|
|
l288:
|
|
position, thunkPosition = position288, thunkPosition288
|
|
}
|
|
if !matchDot() {
|
|
goto l285
|
|
}
|
|
}
|
|
l286:
|
|
goto l284
|
|
l285:
|
|
position, thunkPosition = position285, thunkPosition285
|
|
}
|
|
if !p.rules[ruleHtmlBlockCloseForm]() {
|
|
goto l283
|
|
}
|
|
return true
|
|
l283:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 54 HtmlBlockOpenH1 <- ('<' Spnl ('h1' / 'H1') Spnl HtmlAttribute* '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l289
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l289
|
|
}
|
|
{
|
|
position290, thunkPosition290 := position, thunkPosition
|
|
if !matchString("h1") {
|
|
goto l291
|
|
}
|
|
goto l290
|
|
l291:
|
|
position, thunkPosition = position290, thunkPosition290
|
|
if !matchString("H1") {
|
|
goto l289
|
|
}
|
|
}
|
|
l290:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l289
|
|
}
|
|
l292:
|
|
{
|
|
position293, thunkPosition293 := position, thunkPosition
|
|
if !p.rules[ruleHtmlAttribute]() {
|
|
goto l293
|
|
}
|
|
goto l292
|
|
l293:
|
|
position, thunkPosition = position293, thunkPosition293
|
|
}
|
|
if !matchChar('>') {
|
|
goto l289
|
|
}
|
|
return true
|
|
l289:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 55 HtmlBlockCloseH1 <- ('<' Spnl '/' ('h1' / 'H1') Spnl '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l294
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l294
|
|
}
|
|
if !matchChar('/') {
|
|
goto l294
|
|
}
|
|
{
|
|
position295, thunkPosition295 := position, thunkPosition
|
|
if !matchString("h1") {
|
|
goto l296
|
|
}
|
|
goto l295
|
|
l296:
|
|
position, thunkPosition = position295, thunkPosition295
|
|
if !matchString("H1") {
|
|
goto l294
|
|
}
|
|
}
|
|
l295:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l294
|
|
}
|
|
if !matchChar('>') {
|
|
goto l294
|
|
}
|
|
return true
|
|
l294:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 56 HtmlBlockH1 <- (HtmlBlockOpenH1 (HtmlBlockH1 / (!HtmlBlockCloseH1 .))* HtmlBlockCloseH1) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockOpenH1]() {
|
|
goto l297
|
|
}
|
|
l298:
|
|
{
|
|
position299, thunkPosition299 := position, thunkPosition
|
|
{
|
|
position300, thunkPosition300 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockH1]() {
|
|
goto l301
|
|
}
|
|
goto l300
|
|
l301:
|
|
position, thunkPosition = position300, thunkPosition300
|
|
{
|
|
position302, thunkPosition302 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockCloseH1]() {
|
|
goto l302
|
|
}
|
|
goto l299
|
|
l302:
|
|
position, thunkPosition = position302, thunkPosition302
|
|
}
|
|
if !matchDot() {
|
|
goto l299
|
|
}
|
|
}
|
|
l300:
|
|
goto l298
|
|
l299:
|
|
position, thunkPosition = position299, thunkPosition299
|
|
}
|
|
if !p.rules[ruleHtmlBlockCloseH1]() {
|
|
goto l297
|
|
}
|
|
return true
|
|
l297:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 57 HtmlBlockOpenH2 <- ('<' Spnl ('h2' / 'H2') Spnl HtmlAttribute* '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l303
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l303
|
|
}
|
|
{
|
|
position304, thunkPosition304 := position, thunkPosition
|
|
if !matchString("h2") {
|
|
goto l305
|
|
}
|
|
goto l304
|
|
l305:
|
|
position, thunkPosition = position304, thunkPosition304
|
|
if !matchString("H2") {
|
|
goto l303
|
|
}
|
|
}
|
|
l304:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l303
|
|
}
|
|
l306:
|
|
{
|
|
position307, thunkPosition307 := position, thunkPosition
|
|
if !p.rules[ruleHtmlAttribute]() {
|
|
goto l307
|
|
}
|
|
goto l306
|
|
l307:
|
|
position, thunkPosition = position307, thunkPosition307
|
|
}
|
|
if !matchChar('>') {
|
|
goto l303
|
|
}
|
|
return true
|
|
l303:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 58 HtmlBlockCloseH2 <- ('<' Spnl '/' ('h2' / 'H2') Spnl '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l308
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l308
|
|
}
|
|
if !matchChar('/') {
|
|
goto l308
|
|
}
|
|
{
|
|
position309, thunkPosition309 := position, thunkPosition
|
|
if !matchString("h2") {
|
|
goto l310
|
|
}
|
|
goto l309
|
|
l310:
|
|
position, thunkPosition = position309, thunkPosition309
|
|
if !matchString("H2") {
|
|
goto l308
|
|
}
|
|
}
|
|
l309:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l308
|
|
}
|
|
if !matchChar('>') {
|
|
goto l308
|
|
}
|
|
return true
|
|
l308:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 59 HtmlBlockH2 <- (HtmlBlockOpenH2 (HtmlBlockH2 / (!HtmlBlockCloseH2 .))* HtmlBlockCloseH2) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockOpenH2]() {
|
|
goto l311
|
|
}
|
|
l312:
|
|
{
|
|
position313, thunkPosition313 := position, thunkPosition
|
|
{
|
|
position314, thunkPosition314 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockH2]() {
|
|
goto l315
|
|
}
|
|
goto l314
|
|
l315:
|
|
position, thunkPosition = position314, thunkPosition314
|
|
{
|
|
position316, thunkPosition316 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockCloseH2]() {
|
|
goto l316
|
|
}
|
|
goto l313
|
|
l316:
|
|
position, thunkPosition = position316, thunkPosition316
|
|
}
|
|
if !matchDot() {
|
|
goto l313
|
|
}
|
|
}
|
|
l314:
|
|
goto l312
|
|
l313:
|
|
position, thunkPosition = position313, thunkPosition313
|
|
}
|
|
if !p.rules[ruleHtmlBlockCloseH2]() {
|
|
goto l311
|
|
}
|
|
return true
|
|
l311:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 60 HtmlBlockOpenH3 <- ('<' Spnl ('h3' / 'H3') Spnl HtmlAttribute* '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l317
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l317
|
|
}
|
|
{
|
|
position318, thunkPosition318 := position, thunkPosition
|
|
if !matchString("h3") {
|
|
goto l319
|
|
}
|
|
goto l318
|
|
l319:
|
|
position, thunkPosition = position318, thunkPosition318
|
|
if !matchString("H3") {
|
|
goto l317
|
|
}
|
|
}
|
|
l318:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l317
|
|
}
|
|
l320:
|
|
{
|
|
position321, thunkPosition321 := position, thunkPosition
|
|
if !p.rules[ruleHtmlAttribute]() {
|
|
goto l321
|
|
}
|
|
goto l320
|
|
l321:
|
|
position, thunkPosition = position321, thunkPosition321
|
|
}
|
|
if !matchChar('>') {
|
|
goto l317
|
|
}
|
|
return true
|
|
l317:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 61 HtmlBlockCloseH3 <- ('<' Spnl '/' ('h3' / 'H3') Spnl '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l322
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l322
|
|
}
|
|
if !matchChar('/') {
|
|
goto l322
|
|
}
|
|
{
|
|
position323, thunkPosition323 := position, thunkPosition
|
|
if !matchString("h3") {
|
|
goto l324
|
|
}
|
|
goto l323
|
|
l324:
|
|
position, thunkPosition = position323, thunkPosition323
|
|
if !matchString("H3") {
|
|
goto l322
|
|
}
|
|
}
|
|
l323:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l322
|
|
}
|
|
if !matchChar('>') {
|
|
goto l322
|
|
}
|
|
return true
|
|
l322:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 62 HtmlBlockH3 <- (HtmlBlockOpenH3 (HtmlBlockH3 / (!HtmlBlockCloseH3 .))* HtmlBlockCloseH3) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockOpenH3]() {
|
|
goto l325
|
|
}
|
|
l326:
|
|
{
|
|
position327, thunkPosition327 := position, thunkPosition
|
|
{
|
|
position328, thunkPosition328 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockH3]() {
|
|
goto l329
|
|
}
|
|
goto l328
|
|
l329:
|
|
position, thunkPosition = position328, thunkPosition328
|
|
{
|
|
position330, thunkPosition330 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockCloseH3]() {
|
|
goto l330
|
|
}
|
|
goto l327
|
|
l330:
|
|
position, thunkPosition = position330, thunkPosition330
|
|
}
|
|
if !matchDot() {
|
|
goto l327
|
|
}
|
|
}
|
|
l328:
|
|
goto l326
|
|
l327:
|
|
position, thunkPosition = position327, thunkPosition327
|
|
}
|
|
if !p.rules[ruleHtmlBlockCloseH3]() {
|
|
goto l325
|
|
}
|
|
return true
|
|
l325:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 63 HtmlBlockOpenH4 <- ('<' Spnl ('h4' / 'H4') Spnl HtmlAttribute* '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l331
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l331
|
|
}
|
|
{
|
|
position332, thunkPosition332 := position, thunkPosition
|
|
if !matchString("h4") {
|
|
goto l333
|
|
}
|
|
goto l332
|
|
l333:
|
|
position, thunkPosition = position332, thunkPosition332
|
|
if !matchString("H4") {
|
|
goto l331
|
|
}
|
|
}
|
|
l332:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l331
|
|
}
|
|
l334:
|
|
{
|
|
position335, thunkPosition335 := position, thunkPosition
|
|
if !p.rules[ruleHtmlAttribute]() {
|
|
goto l335
|
|
}
|
|
goto l334
|
|
l335:
|
|
position, thunkPosition = position335, thunkPosition335
|
|
}
|
|
if !matchChar('>') {
|
|
goto l331
|
|
}
|
|
return true
|
|
l331:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 64 HtmlBlockCloseH4 <- ('<' Spnl '/' ('h4' / 'H4') Spnl '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l336
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l336
|
|
}
|
|
if !matchChar('/') {
|
|
goto l336
|
|
}
|
|
{
|
|
position337, thunkPosition337 := position, thunkPosition
|
|
if !matchString("h4") {
|
|
goto l338
|
|
}
|
|
goto l337
|
|
l338:
|
|
position, thunkPosition = position337, thunkPosition337
|
|
if !matchString("H4") {
|
|
goto l336
|
|
}
|
|
}
|
|
l337:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l336
|
|
}
|
|
if !matchChar('>') {
|
|
goto l336
|
|
}
|
|
return true
|
|
l336:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 65 HtmlBlockH4 <- (HtmlBlockOpenH4 (HtmlBlockH4 / (!HtmlBlockCloseH4 .))* HtmlBlockCloseH4) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockOpenH4]() {
|
|
goto l339
|
|
}
|
|
l340:
|
|
{
|
|
position341, thunkPosition341 := position, thunkPosition
|
|
{
|
|
position342, thunkPosition342 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockH4]() {
|
|
goto l343
|
|
}
|
|
goto l342
|
|
l343:
|
|
position, thunkPosition = position342, thunkPosition342
|
|
{
|
|
position344, thunkPosition344 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockCloseH4]() {
|
|
goto l344
|
|
}
|
|
goto l341
|
|
l344:
|
|
position, thunkPosition = position344, thunkPosition344
|
|
}
|
|
if !matchDot() {
|
|
goto l341
|
|
}
|
|
}
|
|
l342:
|
|
goto l340
|
|
l341:
|
|
position, thunkPosition = position341, thunkPosition341
|
|
}
|
|
if !p.rules[ruleHtmlBlockCloseH4]() {
|
|
goto l339
|
|
}
|
|
return true
|
|
l339:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 66 HtmlBlockOpenH5 <- ('<' Spnl ('h5' / 'H5') Spnl HtmlAttribute* '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l345
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l345
|
|
}
|
|
{
|
|
position346, thunkPosition346 := position, thunkPosition
|
|
if !matchString("h5") {
|
|
goto l347
|
|
}
|
|
goto l346
|
|
l347:
|
|
position, thunkPosition = position346, thunkPosition346
|
|
if !matchString("H5") {
|
|
goto l345
|
|
}
|
|
}
|
|
l346:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l345
|
|
}
|
|
l348:
|
|
{
|
|
position349, thunkPosition349 := position, thunkPosition
|
|
if !p.rules[ruleHtmlAttribute]() {
|
|
goto l349
|
|
}
|
|
goto l348
|
|
l349:
|
|
position, thunkPosition = position349, thunkPosition349
|
|
}
|
|
if !matchChar('>') {
|
|
goto l345
|
|
}
|
|
return true
|
|
l345:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 67 HtmlBlockCloseH5 <- ('<' Spnl '/' ('h5' / 'H5') Spnl '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l350
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l350
|
|
}
|
|
if !matchChar('/') {
|
|
goto l350
|
|
}
|
|
{
|
|
position351, thunkPosition351 := position, thunkPosition
|
|
if !matchString("h5") {
|
|
goto l352
|
|
}
|
|
goto l351
|
|
l352:
|
|
position, thunkPosition = position351, thunkPosition351
|
|
if !matchString("H5") {
|
|
goto l350
|
|
}
|
|
}
|
|
l351:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l350
|
|
}
|
|
if !matchChar('>') {
|
|
goto l350
|
|
}
|
|
return true
|
|
l350:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 68 HtmlBlockH5 <- (HtmlBlockOpenH5 (HtmlBlockH5 / (!HtmlBlockCloseH5 .))* HtmlBlockCloseH5) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockOpenH5]() {
|
|
goto l353
|
|
}
|
|
l354:
|
|
{
|
|
position355, thunkPosition355 := position, thunkPosition
|
|
{
|
|
position356, thunkPosition356 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockH5]() {
|
|
goto l357
|
|
}
|
|
goto l356
|
|
l357:
|
|
position, thunkPosition = position356, thunkPosition356
|
|
{
|
|
position358, thunkPosition358 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockCloseH5]() {
|
|
goto l358
|
|
}
|
|
goto l355
|
|
l358:
|
|
position, thunkPosition = position358, thunkPosition358
|
|
}
|
|
if !matchDot() {
|
|
goto l355
|
|
}
|
|
}
|
|
l356:
|
|
goto l354
|
|
l355:
|
|
position, thunkPosition = position355, thunkPosition355
|
|
}
|
|
if !p.rules[ruleHtmlBlockCloseH5]() {
|
|
goto l353
|
|
}
|
|
return true
|
|
l353:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 69 HtmlBlockOpenH6 <- ('<' Spnl ('h6' / 'H6') Spnl HtmlAttribute* '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l359
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l359
|
|
}
|
|
{
|
|
position360, thunkPosition360 := position, thunkPosition
|
|
if !matchString("h6") {
|
|
goto l361
|
|
}
|
|
goto l360
|
|
l361:
|
|
position, thunkPosition = position360, thunkPosition360
|
|
if !matchString("H6") {
|
|
goto l359
|
|
}
|
|
}
|
|
l360:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l359
|
|
}
|
|
l362:
|
|
{
|
|
position363, thunkPosition363 := position, thunkPosition
|
|
if !p.rules[ruleHtmlAttribute]() {
|
|
goto l363
|
|
}
|
|
goto l362
|
|
l363:
|
|
position, thunkPosition = position363, thunkPosition363
|
|
}
|
|
if !matchChar('>') {
|
|
goto l359
|
|
}
|
|
return true
|
|
l359:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 70 HtmlBlockCloseH6 <- ('<' Spnl '/' ('h6' / 'H6') Spnl '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l364
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l364
|
|
}
|
|
if !matchChar('/') {
|
|
goto l364
|
|
}
|
|
{
|
|
position365, thunkPosition365 := position, thunkPosition
|
|
if !matchString("h6") {
|
|
goto l366
|
|
}
|
|
goto l365
|
|
l366:
|
|
position, thunkPosition = position365, thunkPosition365
|
|
if !matchString("H6") {
|
|
goto l364
|
|
}
|
|
}
|
|
l365:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l364
|
|
}
|
|
if !matchChar('>') {
|
|
goto l364
|
|
}
|
|
return true
|
|
l364:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 71 HtmlBlockH6 <- (HtmlBlockOpenH6 (HtmlBlockH6 / (!HtmlBlockCloseH6 .))* HtmlBlockCloseH6) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockOpenH6]() {
|
|
goto l367
|
|
}
|
|
l368:
|
|
{
|
|
position369, thunkPosition369 := position, thunkPosition
|
|
{
|
|
position370, thunkPosition370 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockH6]() {
|
|
goto l371
|
|
}
|
|
goto l370
|
|
l371:
|
|
position, thunkPosition = position370, thunkPosition370
|
|
{
|
|
position372, thunkPosition372 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockCloseH6]() {
|
|
goto l372
|
|
}
|
|
goto l369
|
|
l372:
|
|
position, thunkPosition = position372, thunkPosition372
|
|
}
|
|
if !matchDot() {
|
|
goto l369
|
|
}
|
|
}
|
|
l370:
|
|
goto l368
|
|
l369:
|
|
position, thunkPosition = position369, thunkPosition369
|
|
}
|
|
if !p.rules[ruleHtmlBlockCloseH6]() {
|
|
goto l367
|
|
}
|
|
return true
|
|
l367:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 72 HtmlBlockOpenMenu <- ('<' Spnl ('menu' / 'MENU') Spnl HtmlAttribute* '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l373
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l373
|
|
}
|
|
{
|
|
position374, thunkPosition374 := position, thunkPosition
|
|
if !matchString("menu") {
|
|
goto l375
|
|
}
|
|
goto l374
|
|
l375:
|
|
position, thunkPosition = position374, thunkPosition374
|
|
if !matchString("MENU") {
|
|
goto l373
|
|
}
|
|
}
|
|
l374:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l373
|
|
}
|
|
l376:
|
|
{
|
|
position377, thunkPosition377 := position, thunkPosition
|
|
if !p.rules[ruleHtmlAttribute]() {
|
|
goto l377
|
|
}
|
|
goto l376
|
|
l377:
|
|
position, thunkPosition = position377, thunkPosition377
|
|
}
|
|
if !matchChar('>') {
|
|
goto l373
|
|
}
|
|
return true
|
|
l373:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 73 HtmlBlockCloseMenu <- ('<' Spnl '/' ('menu' / 'MENU') Spnl '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l378
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l378
|
|
}
|
|
if !matchChar('/') {
|
|
goto l378
|
|
}
|
|
{
|
|
position379, thunkPosition379 := position, thunkPosition
|
|
if !matchString("menu") {
|
|
goto l380
|
|
}
|
|
goto l379
|
|
l380:
|
|
position, thunkPosition = position379, thunkPosition379
|
|
if !matchString("MENU") {
|
|
goto l378
|
|
}
|
|
}
|
|
l379:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l378
|
|
}
|
|
if !matchChar('>') {
|
|
goto l378
|
|
}
|
|
return true
|
|
l378:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 74 HtmlBlockMenu <- (HtmlBlockOpenMenu (HtmlBlockMenu / (!HtmlBlockCloseMenu .))* HtmlBlockCloseMenu) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockOpenMenu]() {
|
|
goto l381
|
|
}
|
|
l382:
|
|
{
|
|
position383, thunkPosition383 := position, thunkPosition
|
|
{
|
|
position384, thunkPosition384 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockMenu]() {
|
|
goto l385
|
|
}
|
|
goto l384
|
|
l385:
|
|
position, thunkPosition = position384, thunkPosition384
|
|
{
|
|
position386, thunkPosition386 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockCloseMenu]() {
|
|
goto l386
|
|
}
|
|
goto l383
|
|
l386:
|
|
position, thunkPosition = position386, thunkPosition386
|
|
}
|
|
if !matchDot() {
|
|
goto l383
|
|
}
|
|
}
|
|
l384:
|
|
goto l382
|
|
l383:
|
|
position, thunkPosition = position383, thunkPosition383
|
|
}
|
|
if !p.rules[ruleHtmlBlockCloseMenu]() {
|
|
goto l381
|
|
}
|
|
return true
|
|
l381:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 75 HtmlBlockOpenNoframes <- ('<' Spnl ('noframes' / 'NOFRAMES') Spnl HtmlAttribute* '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l387
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l387
|
|
}
|
|
{
|
|
position388, thunkPosition388 := position, thunkPosition
|
|
if !matchString("noframes") {
|
|
goto l389
|
|
}
|
|
goto l388
|
|
l389:
|
|
position, thunkPosition = position388, thunkPosition388
|
|
if !matchString("NOFRAMES") {
|
|
goto l387
|
|
}
|
|
}
|
|
l388:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l387
|
|
}
|
|
l390:
|
|
{
|
|
position391, thunkPosition391 := position, thunkPosition
|
|
if !p.rules[ruleHtmlAttribute]() {
|
|
goto l391
|
|
}
|
|
goto l390
|
|
l391:
|
|
position, thunkPosition = position391, thunkPosition391
|
|
}
|
|
if !matchChar('>') {
|
|
goto l387
|
|
}
|
|
return true
|
|
l387:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 76 HtmlBlockCloseNoframes <- ('<' Spnl '/' ('noframes' / 'NOFRAMES') Spnl '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l392
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l392
|
|
}
|
|
if !matchChar('/') {
|
|
goto l392
|
|
}
|
|
{
|
|
position393, thunkPosition393 := position, thunkPosition
|
|
if !matchString("noframes") {
|
|
goto l394
|
|
}
|
|
goto l393
|
|
l394:
|
|
position, thunkPosition = position393, thunkPosition393
|
|
if !matchString("NOFRAMES") {
|
|
goto l392
|
|
}
|
|
}
|
|
l393:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l392
|
|
}
|
|
if !matchChar('>') {
|
|
goto l392
|
|
}
|
|
return true
|
|
l392:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 77 HtmlBlockNoframes <- (HtmlBlockOpenNoframes (HtmlBlockNoframes / (!HtmlBlockCloseNoframes .))* HtmlBlockCloseNoframes) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockOpenNoframes]() {
|
|
goto l395
|
|
}
|
|
l396:
|
|
{
|
|
position397, thunkPosition397 := position, thunkPosition
|
|
{
|
|
position398, thunkPosition398 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockNoframes]() {
|
|
goto l399
|
|
}
|
|
goto l398
|
|
l399:
|
|
position, thunkPosition = position398, thunkPosition398
|
|
{
|
|
position400, thunkPosition400 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockCloseNoframes]() {
|
|
goto l400
|
|
}
|
|
goto l397
|
|
l400:
|
|
position, thunkPosition = position400, thunkPosition400
|
|
}
|
|
if !matchDot() {
|
|
goto l397
|
|
}
|
|
}
|
|
l398:
|
|
goto l396
|
|
l397:
|
|
position, thunkPosition = position397, thunkPosition397
|
|
}
|
|
if !p.rules[ruleHtmlBlockCloseNoframes]() {
|
|
goto l395
|
|
}
|
|
return true
|
|
l395:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 78 HtmlBlockOpenNoscript <- ('<' Spnl ('noscript' / 'NOSCRIPT') Spnl HtmlAttribute* '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l401
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l401
|
|
}
|
|
{
|
|
position402, thunkPosition402 := position, thunkPosition
|
|
if !matchString("noscript") {
|
|
goto l403
|
|
}
|
|
goto l402
|
|
l403:
|
|
position, thunkPosition = position402, thunkPosition402
|
|
if !matchString("NOSCRIPT") {
|
|
goto l401
|
|
}
|
|
}
|
|
l402:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l401
|
|
}
|
|
l404:
|
|
{
|
|
position405, thunkPosition405 := position, thunkPosition
|
|
if !p.rules[ruleHtmlAttribute]() {
|
|
goto l405
|
|
}
|
|
goto l404
|
|
l405:
|
|
position, thunkPosition = position405, thunkPosition405
|
|
}
|
|
if !matchChar('>') {
|
|
goto l401
|
|
}
|
|
return true
|
|
l401:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 79 HtmlBlockCloseNoscript <- ('<' Spnl '/' ('noscript' / 'NOSCRIPT') Spnl '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l406
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l406
|
|
}
|
|
if !matchChar('/') {
|
|
goto l406
|
|
}
|
|
{
|
|
position407, thunkPosition407 := position, thunkPosition
|
|
if !matchString("noscript") {
|
|
goto l408
|
|
}
|
|
goto l407
|
|
l408:
|
|
position, thunkPosition = position407, thunkPosition407
|
|
if !matchString("NOSCRIPT") {
|
|
goto l406
|
|
}
|
|
}
|
|
l407:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l406
|
|
}
|
|
if !matchChar('>') {
|
|
goto l406
|
|
}
|
|
return true
|
|
l406:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 80 HtmlBlockNoscript <- (HtmlBlockOpenNoscript (HtmlBlockNoscript / (!HtmlBlockCloseNoscript .))* HtmlBlockCloseNoscript) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockOpenNoscript]() {
|
|
goto l409
|
|
}
|
|
l410:
|
|
{
|
|
position411, thunkPosition411 := position, thunkPosition
|
|
{
|
|
position412, thunkPosition412 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockNoscript]() {
|
|
goto l413
|
|
}
|
|
goto l412
|
|
l413:
|
|
position, thunkPosition = position412, thunkPosition412
|
|
{
|
|
position414, thunkPosition414 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockCloseNoscript]() {
|
|
goto l414
|
|
}
|
|
goto l411
|
|
l414:
|
|
position, thunkPosition = position414, thunkPosition414
|
|
}
|
|
if !matchDot() {
|
|
goto l411
|
|
}
|
|
}
|
|
l412:
|
|
goto l410
|
|
l411:
|
|
position, thunkPosition = position411, thunkPosition411
|
|
}
|
|
if !p.rules[ruleHtmlBlockCloseNoscript]() {
|
|
goto l409
|
|
}
|
|
return true
|
|
l409:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 81 HtmlBlockOpenOl <- ('<' Spnl ('ol' / 'OL') Spnl HtmlAttribute* '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l415
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l415
|
|
}
|
|
{
|
|
position416, thunkPosition416 := position, thunkPosition
|
|
if !matchString("ol") {
|
|
goto l417
|
|
}
|
|
goto l416
|
|
l417:
|
|
position, thunkPosition = position416, thunkPosition416
|
|
if !matchString("OL") {
|
|
goto l415
|
|
}
|
|
}
|
|
l416:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l415
|
|
}
|
|
l418:
|
|
{
|
|
position419, thunkPosition419 := position, thunkPosition
|
|
if !p.rules[ruleHtmlAttribute]() {
|
|
goto l419
|
|
}
|
|
goto l418
|
|
l419:
|
|
position, thunkPosition = position419, thunkPosition419
|
|
}
|
|
if !matchChar('>') {
|
|
goto l415
|
|
}
|
|
return true
|
|
l415:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 82 HtmlBlockCloseOl <- ('<' Spnl '/' ('ol' / 'OL') Spnl '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l420
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l420
|
|
}
|
|
if !matchChar('/') {
|
|
goto l420
|
|
}
|
|
{
|
|
position421, thunkPosition421 := position, thunkPosition
|
|
if !matchString("ol") {
|
|
goto l422
|
|
}
|
|
goto l421
|
|
l422:
|
|
position, thunkPosition = position421, thunkPosition421
|
|
if !matchString("OL") {
|
|
goto l420
|
|
}
|
|
}
|
|
l421:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l420
|
|
}
|
|
if !matchChar('>') {
|
|
goto l420
|
|
}
|
|
return true
|
|
l420:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 83 HtmlBlockOl <- (HtmlBlockOpenOl (HtmlBlockOl / (!HtmlBlockCloseOl .))* HtmlBlockCloseOl) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockOpenOl]() {
|
|
goto l423
|
|
}
|
|
l424:
|
|
{
|
|
position425, thunkPosition425 := position, thunkPosition
|
|
{
|
|
position426, thunkPosition426 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockOl]() {
|
|
goto l427
|
|
}
|
|
goto l426
|
|
l427:
|
|
position, thunkPosition = position426, thunkPosition426
|
|
{
|
|
position428, thunkPosition428 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockCloseOl]() {
|
|
goto l428
|
|
}
|
|
goto l425
|
|
l428:
|
|
position, thunkPosition = position428, thunkPosition428
|
|
}
|
|
if !matchDot() {
|
|
goto l425
|
|
}
|
|
}
|
|
l426:
|
|
goto l424
|
|
l425:
|
|
position, thunkPosition = position425, thunkPosition425
|
|
}
|
|
if !p.rules[ruleHtmlBlockCloseOl]() {
|
|
goto l423
|
|
}
|
|
return true
|
|
l423:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 84 HtmlBlockOpenP <- ('<' Spnl ('p' / 'P') Spnl HtmlAttribute* '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l429
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l429
|
|
}
|
|
{
|
|
position430, thunkPosition430 := position, thunkPosition
|
|
if !matchChar('p') {
|
|
goto l431
|
|
}
|
|
goto l430
|
|
l431:
|
|
position, thunkPosition = position430, thunkPosition430
|
|
if !matchChar('P') {
|
|
goto l429
|
|
}
|
|
}
|
|
l430:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l429
|
|
}
|
|
l432:
|
|
{
|
|
position433, thunkPosition433 := position, thunkPosition
|
|
if !p.rules[ruleHtmlAttribute]() {
|
|
goto l433
|
|
}
|
|
goto l432
|
|
l433:
|
|
position, thunkPosition = position433, thunkPosition433
|
|
}
|
|
if !matchChar('>') {
|
|
goto l429
|
|
}
|
|
return true
|
|
l429:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 85 HtmlBlockCloseP <- ('<' Spnl '/' ('p' / 'P') Spnl '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l434
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l434
|
|
}
|
|
if !matchChar('/') {
|
|
goto l434
|
|
}
|
|
{
|
|
position435, thunkPosition435 := position, thunkPosition
|
|
if !matchChar('p') {
|
|
goto l436
|
|
}
|
|
goto l435
|
|
l436:
|
|
position, thunkPosition = position435, thunkPosition435
|
|
if !matchChar('P') {
|
|
goto l434
|
|
}
|
|
}
|
|
l435:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l434
|
|
}
|
|
if !matchChar('>') {
|
|
goto l434
|
|
}
|
|
return true
|
|
l434:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 86 HtmlBlockP <- (HtmlBlockOpenP (HtmlBlockP / (!HtmlBlockCloseP .))* HtmlBlockCloseP) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockOpenP]() {
|
|
goto l437
|
|
}
|
|
l438:
|
|
{
|
|
position439, thunkPosition439 := position, thunkPosition
|
|
{
|
|
position440, thunkPosition440 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockP]() {
|
|
goto l441
|
|
}
|
|
goto l440
|
|
l441:
|
|
position, thunkPosition = position440, thunkPosition440
|
|
{
|
|
position442, thunkPosition442 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockCloseP]() {
|
|
goto l442
|
|
}
|
|
goto l439
|
|
l442:
|
|
position, thunkPosition = position442, thunkPosition442
|
|
}
|
|
if !matchDot() {
|
|
goto l439
|
|
}
|
|
}
|
|
l440:
|
|
goto l438
|
|
l439:
|
|
position, thunkPosition = position439, thunkPosition439
|
|
}
|
|
if !p.rules[ruleHtmlBlockCloseP]() {
|
|
goto l437
|
|
}
|
|
return true
|
|
l437:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 87 HtmlBlockOpenPre <- ('<' Spnl ('pre' / 'PRE') Spnl HtmlAttribute* '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l443
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l443
|
|
}
|
|
{
|
|
position444, thunkPosition444 := position, thunkPosition
|
|
if !matchString("pre") {
|
|
goto l445
|
|
}
|
|
goto l444
|
|
l445:
|
|
position, thunkPosition = position444, thunkPosition444
|
|
if !matchString("PRE") {
|
|
goto l443
|
|
}
|
|
}
|
|
l444:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l443
|
|
}
|
|
l446:
|
|
{
|
|
position447, thunkPosition447 := position, thunkPosition
|
|
if !p.rules[ruleHtmlAttribute]() {
|
|
goto l447
|
|
}
|
|
goto l446
|
|
l447:
|
|
position, thunkPosition = position447, thunkPosition447
|
|
}
|
|
if !matchChar('>') {
|
|
goto l443
|
|
}
|
|
return true
|
|
l443:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 88 HtmlBlockClosePre <- ('<' Spnl '/' ('pre' / 'PRE') Spnl '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l448
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l448
|
|
}
|
|
if !matchChar('/') {
|
|
goto l448
|
|
}
|
|
{
|
|
position449, thunkPosition449 := position, thunkPosition
|
|
if !matchString("pre") {
|
|
goto l450
|
|
}
|
|
goto l449
|
|
l450:
|
|
position, thunkPosition = position449, thunkPosition449
|
|
if !matchString("PRE") {
|
|
goto l448
|
|
}
|
|
}
|
|
l449:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l448
|
|
}
|
|
if !matchChar('>') {
|
|
goto l448
|
|
}
|
|
return true
|
|
l448:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 89 HtmlBlockPre <- (HtmlBlockOpenPre (HtmlBlockPre / (!HtmlBlockClosePre .))* HtmlBlockClosePre) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockOpenPre]() {
|
|
goto l451
|
|
}
|
|
l452:
|
|
{
|
|
position453, thunkPosition453 := position, thunkPosition
|
|
{
|
|
position454, thunkPosition454 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockPre]() {
|
|
goto l455
|
|
}
|
|
goto l454
|
|
l455:
|
|
position, thunkPosition = position454, thunkPosition454
|
|
{
|
|
position456, thunkPosition456 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockClosePre]() {
|
|
goto l456
|
|
}
|
|
goto l453
|
|
l456:
|
|
position, thunkPosition = position456, thunkPosition456
|
|
}
|
|
if !matchDot() {
|
|
goto l453
|
|
}
|
|
}
|
|
l454:
|
|
goto l452
|
|
l453:
|
|
position, thunkPosition = position453, thunkPosition453
|
|
}
|
|
if !p.rules[ruleHtmlBlockClosePre]() {
|
|
goto l451
|
|
}
|
|
return true
|
|
l451:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 90 HtmlBlockOpenTable <- ('<' Spnl ('table' / 'TABLE') Spnl HtmlAttribute* '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l457
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l457
|
|
}
|
|
{
|
|
position458, thunkPosition458 := position, thunkPosition
|
|
if !matchString("table") {
|
|
goto l459
|
|
}
|
|
goto l458
|
|
l459:
|
|
position, thunkPosition = position458, thunkPosition458
|
|
if !matchString("TABLE") {
|
|
goto l457
|
|
}
|
|
}
|
|
l458:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l457
|
|
}
|
|
l460:
|
|
{
|
|
position461, thunkPosition461 := position, thunkPosition
|
|
if !p.rules[ruleHtmlAttribute]() {
|
|
goto l461
|
|
}
|
|
goto l460
|
|
l461:
|
|
position, thunkPosition = position461, thunkPosition461
|
|
}
|
|
if !matchChar('>') {
|
|
goto l457
|
|
}
|
|
return true
|
|
l457:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 91 HtmlBlockCloseTable <- ('<' Spnl '/' ('table' / 'TABLE') Spnl '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l462
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l462
|
|
}
|
|
if !matchChar('/') {
|
|
goto l462
|
|
}
|
|
{
|
|
position463, thunkPosition463 := position, thunkPosition
|
|
if !matchString("table") {
|
|
goto l464
|
|
}
|
|
goto l463
|
|
l464:
|
|
position, thunkPosition = position463, thunkPosition463
|
|
if !matchString("TABLE") {
|
|
goto l462
|
|
}
|
|
}
|
|
l463:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l462
|
|
}
|
|
if !matchChar('>') {
|
|
goto l462
|
|
}
|
|
return true
|
|
l462:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 92 HtmlBlockTable <- (HtmlBlockOpenTable (HtmlBlockTable / (!HtmlBlockCloseTable .))* HtmlBlockCloseTable) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockOpenTable]() {
|
|
goto l465
|
|
}
|
|
l466:
|
|
{
|
|
position467, thunkPosition467 := position, thunkPosition
|
|
{
|
|
position468, thunkPosition468 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockTable]() {
|
|
goto l469
|
|
}
|
|
goto l468
|
|
l469:
|
|
position, thunkPosition = position468, thunkPosition468
|
|
{
|
|
position470, thunkPosition470 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockCloseTable]() {
|
|
goto l470
|
|
}
|
|
goto l467
|
|
l470:
|
|
position, thunkPosition = position470, thunkPosition470
|
|
}
|
|
if !matchDot() {
|
|
goto l467
|
|
}
|
|
}
|
|
l468:
|
|
goto l466
|
|
l467:
|
|
position, thunkPosition = position467, thunkPosition467
|
|
}
|
|
if !p.rules[ruleHtmlBlockCloseTable]() {
|
|
goto l465
|
|
}
|
|
return true
|
|
l465:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 93 HtmlBlockOpenUl <- ('<' Spnl ('ul' / 'UL') Spnl HtmlAttribute* '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l471
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l471
|
|
}
|
|
{
|
|
position472, thunkPosition472 := position, thunkPosition
|
|
if !matchString("ul") {
|
|
goto l473
|
|
}
|
|
goto l472
|
|
l473:
|
|
position, thunkPosition = position472, thunkPosition472
|
|
if !matchString("UL") {
|
|
goto l471
|
|
}
|
|
}
|
|
l472:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l471
|
|
}
|
|
l474:
|
|
{
|
|
position475, thunkPosition475 := position, thunkPosition
|
|
if !p.rules[ruleHtmlAttribute]() {
|
|
goto l475
|
|
}
|
|
goto l474
|
|
l475:
|
|
position, thunkPosition = position475, thunkPosition475
|
|
}
|
|
if !matchChar('>') {
|
|
goto l471
|
|
}
|
|
return true
|
|
l471:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 94 HtmlBlockCloseUl <- ('<' Spnl '/' ('ul' / 'UL') Spnl '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l476
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l476
|
|
}
|
|
if !matchChar('/') {
|
|
goto l476
|
|
}
|
|
{
|
|
position477, thunkPosition477 := position, thunkPosition
|
|
if !matchString("ul") {
|
|
goto l478
|
|
}
|
|
goto l477
|
|
l478:
|
|
position, thunkPosition = position477, thunkPosition477
|
|
if !matchString("UL") {
|
|
goto l476
|
|
}
|
|
}
|
|
l477:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l476
|
|
}
|
|
if !matchChar('>') {
|
|
goto l476
|
|
}
|
|
return true
|
|
l476:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 95 HtmlBlockUl <- (HtmlBlockOpenUl (HtmlBlockUl / (!HtmlBlockCloseUl .))* HtmlBlockCloseUl) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockOpenUl]() {
|
|
goto l479
|
|
}
|
|
l480:
|
|
{
|
|
position481, thunkPosition481 := position, thunkPosition
|
|
{
|
|
position482, thunkPosition482 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockUl]() {
|
|
goto l483
|
|
}
|
|
goto l482
|
|
l483:
|
|
position, thunkPosition = position482, thunkPosition482
|
|
{
|
|
position484, thunkPosition484 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockCloseUl]() {
|
|
goto l484
|
|
}
|
|
goto l481
|
|
l484:
|
|
position, thunkPosition = position484, thunkPosition484
|
|
}
|
|
if !matchDot() {
|
|
goto l481
|
|
}
|
|
}
|
|
l482:
|
|
goto l480
|
|
l481:
|
|
position, thunkPosition = position481, thunkPosition481
|
|
}
|
|
if !p.rules[ruleHtmlBlockCloseUl]() {
|
|
goto l479
|
|
}
|
|
return true
|
|
l479:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 96 HtmlBlockOpenDd <- ('<' Spnl ('dd' / 'DD') Spnl HtmlAttribute* '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l485
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l485
|
|
}
|
|
{
|
|
position486, thunkPosition486 := position, thunkPosition
|
|
if !matchString("dd") {
|
|
goto l487
|
|
}
|
|
goto l486
|
|
l487:
|
|
position, thunkPosition = position486, thunkPosition486
|
|
if !matchString("DD") {
|
|
goto l485
|
|
}
|
|
}
|
|
l486:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l485
|
|
}
|
|
l488:
|
|
{
|
|
position489, thunkPosition489 := position, thunkPosition
|
|
if !p.rules[ruleHtmlAttribute]() {
|
|
goto l489
|
|
}
|
|
goto l488
|
|
l489:
|
|
position, thunkPosition = position489, thunkPosition489
|
|
}
|
|
if !matchChar('>') {
|
|
goto l485
|
|
}
|
|
return true
|
|
l485:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 97 HtmlBlockCloseDd <- ('<' Spnl '/' ('dd' / 'DD') Spnl '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l490
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l490
|
|
}
|
|
if !matchChar('/') {
|
|
goto l490
|
|
}
|
|
{
|
|
position491, thunkPosition491 := position, thunkPosition
|
|
if !matchString("dd") {
|
|
goto l492
|
|
}
|
|
goto l491
|
|
l492:
|
|
position, thunkPosition = position491, thunkPosition491
|
|
if !matchString("DD") {
|
|
goto l490
|
|
}
|
|
}
|
|
l491:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l490
|
|
}
|
|
if !matchChar('>') {
|
|
goto l490
|
|
}
|
|
return true
|
|
l490:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 98 HtmlBlockDd <- (HtmlBlockOpenDd (HtmlBlockDd / (!HtmlBlockCloseDd .))* HtmlBlockCloseDd) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockOpenDd]() {
|
|
goto l493
|
|
}
|
|
l494:
|
|
{
|
|
position495, thunkPosition495 := position, thunkPosition
|
|
{
|
|
position496, thunkPosition496 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockDd]() {
|
|
goto l497
|
|
}
|
|
goto l496
|
|
l497:
|
|
position, thunkPosition = position496, thunkPosition496
|
|
{
|
|
position498, thunkPosition498 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockCloseDd]() {
|
|
goto l498
|
|
}
|
|
goto l495
|
|
l498:
|
|
position, thunkPosition = position498, thunkPosition498
|
|
}
|
|
if !matchDot() {
|
|
goto l495
|
|
}
|
|
}
|
|
l496:
|
|
goto l494
|
|
l495:
|
|
position, thunkPosition = position495, thunkPosition495
|
|
}
|
|
if !p.rules[ruleHtmlBlockCloseDd]() {
|
|
goto l493
|
|
}
|
|
return true
|
|
l493:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 99 HtmlBlockOpenDt <- ('<' Spnl ('dt' / 'DT') Spnl HtmlAttribute* '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l499
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l499
|
|
}
|
|
{
|
|
position500, thunkPosition500 := position, thunkPosition
|
|
if !matchString("dt") {
|
|
goto l501
|
|
}
|
|
goto l500
|
|
l501:
|
|
position, thunkPosition = position500, thunkPosition500
|
|
if !matchString("DT") {
|
|
goto l499
|
|
}
|
|
}
|
|
l500:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l499
|
|
}
|
|
l502:
|
|
{
|
|
position503, thunkPosition503 := position, thunkPosition
|
|
if !p.rules[ruleHtmlAttribute]() {
|
|
goto l503
|
|
}
|
|
goto l502
|
|
l503:
|
|
position, thunkPosition = position503, thunkPosition503
|
|
}
|
|
if !matchChar('>') {
|
|
goto l499
|
|
}
|
|
return true
|
|
l499:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 100 HtmlBlockCloseDt <- ('<' Spnl '/' ('dt' / 'DT') Spnl '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l504
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l504
|
|
}
|
|
if !matchChar('/') {
|
|
goto l504
|
|
}
|
|
{
|
|
position505, thunkPosition505 := position, thunkPosition
|
|
if !matchString("dt") {
|
|
goto l506
|
|
}
|
|
goto l505
|
|
l506:
|
|
position, thunkPosition = position505, thunkPosition505
|
|
if !matchString("DT") {
|
|
goto l504
|
|
}
|
|
}
|
|
l505:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l504
|
|
}
|
|
if !matchChar('>') {
|
|
goto l504
|
|
}
|
|
return true
|
|
l504:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 101 HtmlBlockDt <- (HtmlBlockOpenDt (HtmlBlockDt / (!HtmlBlockCloseDt .))* HtmlBlockCloseDt) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockOpenDt]() {
|
|
goto l507
|
|
}
|
|
l508:
|
|
{
|
|
position509, thunkPosition509 := position, thunkPosition
|
|
{
|
|
position510, thunkPosition510 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockDt]() {
|
|
goto l511
|
|
}
|
|
goto l510
|
|
l511:
|
|
position, thunkPosition = position510, thunkPosition510
|
|
{
|
|
position512, thunkPosition512 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockCloseDt]() {
|
|
goto l512
|
|
}
|
|
goto l509
|
|
l512:
|
|
position, thunkPosition = position512, thunkPosition512
|
|
}
|
|
if !matchDot() {
|
|
goto l509
|
|
}
|
|
}
|
|
l510:
|
|
goto l508
|
|
l509:
|
|
position, thunkPosition = position509, thunkPosition509
|
|
}
|
|
if !p.rules[ruleHtmlBlockCloseDt]() {
|
|
goto l507
|
|
}
|
|
return true
|
|
l507:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 102 HtmlBlockOpenFrameset <- ('<' Spnl ('frameset' / 'FRAMESET') Spnl HtmlAttribute* '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l513
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l513
|
|
}
|
|
{
|
|
position514, thunkPosition514 := position, thunkPosition
|
|
if !matchString("frameset") {
|
|
goto l515
|
|
}
|
|
goto l514
|
|
l515:
|
|
position, thunkPosition = position514, thunkPosition514
|
|
if !matchString("FRAMESET") {
|
|
goto l513
|
|
}
|
|
}
|
|
l514:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l513
|
|
}
|
|
l516:
|
|
{
|
|
position517, thunkPosition517 := position, thunkPosition
|
|
if !p.rules[ruleHtmlAttribute]() {
|
|
goto l517
|
|
}
|
|
goto l516
|
|
l517:
|
|
position, thunkPosition = position517, thunkPosition517
|
|
}
|
|
if !matchChar('>') {
|
|
goto l513
|
|
}
|
|
return true
|
|
l513:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 103 HtmlBlockCloseFrameset <- ('<' Spnl '/' ('frameset' / 'FRAMESET') Spnl '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l518
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l518
|
|
}
|
|
if !matchChar('/') {
|
|
goto l518
|
|
}
|
|
{
|
|
position519, thunkPosition519 := position, thunkPosition
|
|
if !matchString("frameset") {
|
|
goto l520
|
|
}
|
|
goto l519
|
|
l520:
|
|
position, thunkPosition = position519, thunkPosition519
|
|
if !matchString("FRAMESET") {
|
|
goto l518
|
|
}
|
|
}
|
|
l519:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l518
|
|
}
|
|
if !matchChar('>') {
|
|
goto l518
|
|
}
|
|
return true
|
|
l518:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 104 HtmlBlockFrameset <- (HtmlBlockOpenFrameset (HtmlBlockFrameset / (!HtmlBlockCloseFrameset .))* HtmlBlockCloseFrameset) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockOpenFrameset]() {
|
|
goto l521
|
|
}
|
|
l522:
|
|
{
|
|
position523, thunkPosition523 := position, thunkPosition
|
|
{
|
|
position524, thunkPosition524 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockFrameset]() {
|
|
goto l525
|
|
}
|
|
goto l524
|
|
l525:
|
|
position, thunkPosition = position524, thunkPosition524
|
|
{
|
|
position526, thunkPosition526 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockCloseFrameset]() {
|
|
goto l526
|
|
}
|
|
goto l523
|
|
l526:
|
|
position, thunkPosition = position526, thunkPosition526
|
|
}
|
|
if !matchDot() {
|
|
goto l523
|
|
}
|
|
}
|
|
l524:
|
|
goto l522
|
|
l523:
|
|
position, thunkPosition = position523, thunkPosition523
|
|
}
|
|
if !p.rules[ruleHtmlBlockCloseFrameset]() {
|
|
goto l521
|
|
}
|
|
return true
|
|
l521:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 105 HtmlBlockOpenLi <- ('<' Spnl ('li' / 'LI') Spnl HtmlAttribute* '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l527
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l527
|
|
}
|
|
{
|
|
position528, thunkPosition528 := position, thunkPosition
|
|
if !matchString("li") {
|
|
goto l529
|
|
}
|
|
goto l528
|
|
l529:
|
|
position, thunkPosition = position528, thunkPosition528
|
|
if !matchString("LI") {
|
|
goto l527
|
|
}
|
|
}
|
|
l528:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l527
|
|
}
|
|
l530:
|
|
{
|
|
position531, thunkPosition531 := position, thunkPosition
|
|
if !p.rules[ruleHtmlAttribute]() {
|
|
goto l531
|
|
}
|
|
goto l530
|
|
l531:
|
|
position, thunkPosition = position531, thunkPosition531
|
|
}
|
|
if !matchChar('>') {
|
|
goto l527
|
|
}
|
|
return true
|
|
l527:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 106 HtmlBlockCloseLi <- ('<' Spnl '/' ('li' / 'LI') Spnl '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l532
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l532
|
|
}
|
|
if !matchChar('/') {
|
|
goto l532
|
|
}
|
|
{
|
|
position533, thunkPosition533 := position, thunkPosition
|
|
if !matchString("li") {
|
|
goto l534
|
|
}
|
|
goto l533
|
|
l534:
|
|
position, thunkPosition = position533, thunkPosition533
|
|
if !matchString("LI") {
|
|
goto l532
|
|
}
|
|
}
|
|
l533:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l532
|
|
}
|
|
if !matchChar('>') {
|
|
goto l532
|
|
}
|
|
return true
|
|
l532:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 107 HtmlBlockLi <- (HtmlBlockOpenLi (HtmlBlockLi / (!HtmlBlockCloseLi .))* HtmlBlockCloseLi) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockOpenLi]() {
|
|
goto l535
|
|
}
|
|
l536:
|
|
{
|
|
position537, thunkPosition537 := position, thunkPosition
|
|
{
|
|
position538, thunkPosition538 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockLi]() {
|
|
goto l539
|
|
}
|
|
goto l538
|
|
l539:
|
|
position, thunkPosition = position538, thunkPosition538
|
|
{
|
|
position540, thunkPosition540 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockCloseLi]() {
|
|
goto l540
|
|
}
|
|
goto l537
|
|
l540:
|
|
position, thunkPosition = position540, thunkPosition540
|
|
}
|
|
if !matchDot() {
|
|
goto l537
|
|
}
|
|
}
|
|
l538:
|
|
goto l536
|
|
l537:
|
|
position, thunkPosition = position537, thunkPosition537
|
|
}
|
|
if !p.rules[ruleHtmlBlockCloseLi]() {
|
|
goto l535
|
|
}
|
|
return true
|
|
l535:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 108 HtmlBlockOpenTbody <- ('<' Spnl ('tbody' / 'TBODY') Spnl HtmlAttribute* '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l541
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l541
|
|
}
|
|
{
|
|
position542, thunkPosition542 := position, thunkPosition
|
|
if !matchString("tbody") {
|
|
goto l543
|
|
}
|
|
goto l542
|
|
l543:
|
|
position, thunkPosition = position542, thunkPosition542
|
|
if !matchString("TBODY") {
|
|
goto l541
|
|
}
|
|
}
|
|
l542:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l541
|
|
}
|
|
l544:
|
|
{
|
|
position545, thunkPosition545 := position, thunkPosition
|
|
if !p.rules[ruleHtmlAttribute]() {
|
|
goto l545
|
|
}
|
|
goto l544
|
|
l545:
|
|
position, thunkPosition = position545, thunkPosition545
|
|
}
|
|
if !matchChar('>') {
|
|
goto l541
|
|
}
|
|
return true
|
|
l541:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 109 HtmlBlockCloseTbody <- ('<' Spnl '/' ('tbody' / 'TBODY') Spnl '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l546
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l546
|
|
}
|
|
if !matchChar('/') {
|
|
goto l546
|
|
}
|
|
{
|
|
position547, thunkPosition547 := position, thunkPosition
|
|
if !matchString("tbody") {
|
|
goto l548
|
|
}
|
|
goto l547
|
|
l548:
|
|
position, thunkPosition = position547, thunkPosition547
|
|
if !matchString("TBODY") {
|
|
goto l546
|
|
}
|
|
}
|
|
l547:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l546
|
|
}
|
|
if !matchChar('>') {
|
|
goto l546
|
|
}
|
|
return true
|
|
l546:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 110 HtmlBlockTbody <- (HtmlBlockOpenTbody (HtmlBlockTbody / (!HtmlBlockCloseTbody .))* HtmlBlockCloseTbody) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockOpenTbody]() {
|
|
goto l549
|
|
}
|
|
l550:
|
|
{
|
|
position551, thunkPosition551 := position, thunkPosition
|
|
{
|
|
position552, thunkPosition552 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockTbody]() {
|
|
goto l553
|
|
}
|
|
goto l552
|
|
l553:
|
|
position, thunkPosition = position552, thunkPosition552
|
|
{
|
|
position554, thunkPosition554 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockCloseTbody]() {
|
|
goto l554
|
|
}
|
|
goto l551
|
|
l554:
|
|
position, thunkPosition = position554, thunkPosition554
|
|
}
|
|
if !matchDot() {
|
|
goto l551
|
|
}
|
|
}
|
|
l552:
|
|
goto l550
|
|
l551:
|
|
position, thunkPosition = position551, thunkPosition551
|
|
}
|
|
if !p.rules[ruleHtmlBlockCloseTbody]() {
|
|
goto l549
|
|
}
|
|
return true
|
|
l549:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 111 HtmlBlockOpenTd <- ('<' Spnl ('td' / 'TD') Spnl HtmlAttribute* '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l555
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l555
|
|
}
|
|
{
|
|
position556, thunkPosition556 := position, thunkPosition
|
|
if !matchString("td") {
|
|
goto l557
|
|
}
|
|
goto l556
|
|
l557:
|
|
position, thunkPosition = position556, thunkPosition556
|
|
if !matchString("TD") {
|
|
goto l555
|
|
}
|
|
}
|
|
l556:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l555
|
|
}
|
|
l558:
|
|
{
|
|
position559, thunkPosition559 := position, thunkPosition
|
|
if !p.rules[ruleHtmlAttribute]() {
|
|
goto l559
|
|
}
|
|
goto l558
|
|
l559:
|
|
position, thunkPosition = position559, thunkPosition559
|
|
}
|
|
if !matchChar('>') {
|
|
goto l555
|
|
}
|
|
return true
|
|
l555:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 112 HtmlBlockCloseTd <- ('<' Spnl '/' ('td' / 'TD') Spnl '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l560
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l560
|
|
}
|
|
if !matchChar('/') {
|
|
goto l560
|
|
}
|
|
{
|
|
position561, thunkPosition561 := position, thunkPosition
|
|
if !matchString("td") {
|
|
goto l562
|
|
}
|
|
goto l561
|
|
l562:
|
|
position, thunkPosition = position561, thunkPosition561
|
|
if !matchString("TD") {
|
|
goto l560
|
|
}
|
|
}
|
|
l561:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l560
|
|
}
|
|
if !matchChar('>') {
|
|
goto l560
|
|
}
|
|
return true
|
|
l560:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 113 HtmlBlockTd <- (HtmlBlockOpenTd (HtmlBlockTd / (!HtmlBlockCloseTd .))* HtmlBlockCloseTd) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockOpenTd]() {
|
|
goto l563
|
|
}
|
|
l564:
|
|
{
|
|
position565, thunkPosition565 := position, thunkPosition
|
|
{
|
|
position566, thunkPosition566 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockTd]() {
|
|
goto l567
|
|
}
|
|
goto l566
|
|
l567:
|
|
position, thunkPosition = position566, thunkPosition566
|
|
{
|
|
position568, thunkPosition568 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockCloseTd]() {
|
|
goto l568
|
|
}
|
|
goto l565
|
|
l568:
|
|
position, thunkPosition = position568, thunkPosition568
|
|
}
|
|
if !matchDot() {
|
|
goto l565
|
|
}
|
|
}
|
|
l566:
|
|
goto l564
|
|
l565:
|
|
position, thunkPosition = position565, thunkPosition565
|
|
}
|
|
if !p.rules[ruleHtmlBlockCloseTd]() {
|
|
goto l563
|
|
}
|
|
return true
|
|
l563:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 114 HtmlBlockOpenTfoot <- ('<' Spnl ('tfoot' / 'TFOOT') Spnl HtmlAttribute* '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l569
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l569
|
|
}
|
|
{
|
|
position570, thunkPosition570 := position, thunkPosition
|
|
if !matchString("tfoot") {
|
|
goto l571
|
|
}
|
|
goto l570
|
|
l571:
|
|
position, thunkPosition = position570, thunkPosition570
|
|
if !matchString("TFOOT") {
|
|
goto l569
|
|
}
|
|
}
|
|
l570:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l569
|
|
}
|
|
l572:
|
|
{
|
|
position573, thunkPosition573 := position, thunkPosition
|
|
if !p.rules[ruleHtmlAttribute]() {
|
|
goto l573
|
|
}
|
|
goto l572
|
|
l573:
|
|
position, thunkPosition = position573, thunkPosition573
|
|
}
|
|
if !matchChar('>') {
|
|
goto l569
|
|
}
|
|
return true
|
|
l569:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 115 HtmlBlockCloseTfoot <- ('<' Spnl '/' ('tfoot' / 'TFOOT') Spnl '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l574
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l574
|
|
}
|
|
if !matchChar('/') {
|
|
goto l574
|
|
}
|
|
{
|
|
position575, thunkPosition575 := position, thunkPosition
|
|
if !matchString("tfoot") {
|
|
goto l576
|
|
}
|
|
goto l575
|
|
l576:
|
|
position, thunkPosition = position575, thunkPosition575
|
|
if !matchString("TFOOT") {
|
|
goto l574
|
|
}
|
|
}
|
|
l575:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l574
|
|
}
|
|
if !matchChar('>') {
|
|
goto l574
|
|
}
|
|
return true
|
|
l574:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 116 HtmlBlockTfoot <- (HtmlBlockOpenTfoot (HtmlBlockTfoot / (!HtmlBlockCloseTfoot .))* HtmlBlockCloseTfoot) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockOpenTfoot]() {
|
|
goto l577
|
|
}
|
|
l578:
|
|
{
|
|
position579, thunkPosition579 := position, thunkPosition
|
|
{
|
|
position580, thunkPosition580 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockTfoot]() {
|
|
goto l581
|
|
}
|
|
goto l580
|
|
l581:
|
|
position, thunkPosition = position580, thunkPosition580
|
|
{
|
|
position582, thunkPosition582 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockCloseTfoot]() {
|
|
goto l582
|
|
}
|
|
goto l579
|
|
l582:
|
|
position, thunkPosition = position582, thunkPosition582
|
|
}
|
|
if !matchDot() {
|
|
goto l579
|
|
}
|
|
}
|
|
l580:
|
|
goto l578
|
|
l579:
|
|
position, thunkPosition = position579, thunkPosition579
|
|
}
|
|
if !p.rules[ruleHtmlBlockCloseTfoot]() {
|
|
goto l577
|
|
}
|
|
return true
|
|
l577:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 117 HtmlBlockOpenTh <- ('<' Spnl ('th' / 'TH') Spnl HtmlAttribute* '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l583
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l583
|
|
}
|
|
{
|
|
position584, thunkPosition584 := position, thunkPosition
|
|
if !matchString("th") {
|
|
goto l585
|
|
}
|
|
goto l584
|
|
l585:
|
|
position, thunkPosition = position584, thunkPosition584
|
|
if !matchString("TH") {
|
|
goto l583
|
|
}
|
|
}
|
|
l584:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l583
|
|
}
|
|
l586:
|
|
{
|
|
position587, thunkPosition587 := position, thunkPosition
|
|
if !p.rules[ruleHtmlAttribute]() {
|
|
goto l587
|
|
}
|
|
goto l586
|
|
l587:
|
|
position, thunkPosition = position587, thunkPosition587
|
|
}
|
|
if !matchChar('>') {
|
|
goto l583
|
|
}
|
|
return true
|
|
l583:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 118 HtmlBlockCloseTh <- ('<' Spnl '/' ('th' / 'TH') Spnl '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l588
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l588
|
|
}
|
|
if !matchChar('/') {
|
|
goto l588
|
|
}
|
|
{
|
|
position589, thunkPosition589 := position, thunkPosition
|
|
if !matchString("th") {
|
|
goto l590
|
|
}
|
|
goto l589
|
|
l590:
|
|
position, thunkPosition = position589, thunkPosition589
|
|
if !matchString("TH") {
|
|
goto l588
|
|
}
|
|
}
|
|
l589:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l588
|
|
}
|
|
if !matchChar('>') {
|
|
goto l588
|
|
}
|
|
return true
|
|
l588:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 119 HtmlBlockTh <- (HtmlBlockOpenTh (HtmlBlockTh / (!HtmlBlockCloseTh .))* HtmlBlockCloseTh) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockOpenTh]() {
|
|
goto l591
|
|
}
|
|
l592:
|
|
{
|
|
position593, thunkPosition593 := position, thunkPosition
|
|
{
|
|
position594, thunkPosition594 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockTh]() {
|
|
goto l595
|
|
}
|
|
goto l594
|
|
l595:
|
|
position, thunkPosition = position594, thunkPosition594
|
|
{
|
|
position596, thunkPosition596 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockCloseTh]() {
|
|
goto l596
|
|
}
|
|
goto l593
|
|
l596:
|
|
position, thunkPosition = position596, thunkPosition596
|
|
}
|
|
if !matchDot() {
|
|
goto l593
|
|
}
|
|
}
|
|
l594:
|
|
goto l592
|
|
l593:
|
|
position, thunkPosition = position593, thunkPosition593
|
|
}
|
|
if !p.rules[ruleHtmlBlockCloseTh]() {
|
|
goto l591
|
|
}
|
|
return true
|
|
l591:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 120 HtmlBlockOpenThead <- ('<' Spnl ('thead' / 'THEAD') Spnl HtmlAttribute* '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l597
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l597
|
|
}
|
|
{
|
|
position598, thunkPosition598 := position, thunkPosition
|
|
if !matchString("thead") {
|
|
goto l599
|
|
}
|
|
goto l598
|
|
l599:
|
|
position, thunkPosition = position598, thunkPosition598
|
|
if !matchString("THEAD") {
|
|
goto l597
|
|
}
|
|
}
|
|
l598:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l597
|
|
}
|
|
l600:
|
|
{
|
|
position601, thunkPosition601 := position, thunkPosition
|
|
if !p.rules[ruleHtmlAttribute]() {
|
|
goto l601
|
|
}
|
|
goto l600
|
|
l601:
|
|
position, thunkPosition = position601, thunkPosition601
|
|
}
|
|
if !matchChar('>') {
|
|
goto l597
|
|
}
|
|
return true
|
|
l597:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 121 HtmlBlockCloseThead <- ('<' Spnl '/' ('thead' / 'THEAD') Spnl '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l602
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l602
|
|
}
|
|
if !matchChar('/') {
|
|
goto l602
|
|
}
|
|
{
|
|
position603, thunkPosition603 := position, thunkPosition
|
|
if !matchString("thead") {
|
|
goto l604
|
|
}
|
|
goto l603
|
|
l604:
|
|
position, thunkPosition = position603, thunkPosition603
|
|
if !matchString("THEAD") {
|
|
goto l602
|
|
}
|
|
}
|
|
l603:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l602
|
|
}
|
|
if !matchChar('>') {
|
|
goto l602
|
|
}
|
|
return true
|
|
l602:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 122 HtmlBlockThead <- (HtmlBlockOpenThead (HtmlBlockThead / (!HtmlBlockCloseThead .))* HtmlBlockCloseThead) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockOpenThead]() {
|
|
goto l605
|
|
}
|
|
l606:
|
|
{
|
|
position607, thunkPosition607 := position, thunkPosition
|
|
{
|
|
position608, thunkPosition608 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockThead]() {
|
|
goto l609
|
|
}
|
|
goto l608
|
|
l609:
|
|
position, thunkPosition = position608, thunkPosition608
|
|
{
|
|
position610, thunkPosition610 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockCloseThead]() {
|
|
goto l610
|
|
}
|
|
goto l607
|
|
l610:
|
|
position, thunkPosition = position610, thunkPosition610
|
|
}
|
|
if !matchDot() {
|
|
goto l607
|
|
}
|
|
}
|
|
l608:
|
|
goto l606
|
|
l607:
|
|
position, thunkPosition = position607, thunkPosition607
|
|
}
|
|
if !p.rules[ruleHtmlBlockCloseThead]() {
|
|
goto l605
|
|
}
|
|
return true
|
|
l605:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 123 HtmlBlockOpenTr <- ('<' Spnl ('tr' / 'TR') Spnl HtmlAttribute* '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l611
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l611
|
|
}
|
|
{
|
|
position612, thunkPosition612 := position, thunkPosition
|
|
if !matchString("tr") {
|
|
goto l613
|
|
}
|
|
goto l612
|
|
l613:
|
|
position, thunkPosition = position612, thunkPosition612
|
|
if !matchString("TR") {
|
|
goto l611
|
|
}
|
|
}
|
|
l612:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l611
|
|
}
|
|
l614:
|
|
{
|
|
position615, thunkPosition615 := position, thunkPosition
|
|
if !p.rules[ruleHtmlAttribute]() {
|
|
goto l615
|
|
}
|
|
goto l614
|
|
l615:
|
|
position, thunkPosition = position615, thunkPosition615
|
|
}
|
|
if !matchChar('>') {
|
|
goto l611
|
|
}
|
|
return true
|
|
l611:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 124 HtmlBlockCloseTr <- ('<' Spnl '/' ('tr' / 'TR') Spnl '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l616
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l616
|
|
}
|
|
if !matchChar('/') {
|
|
goto l616
|
|
}
|
|
{
|
|
position617, thunkPosition617 := position, thunkPosition
|
|
if !matchString("tr") {
|
|
goto l618
|
|
}
|
|
goto l617
|
|
l618:
|
|
position, thunkPosition = position617, thunkPosition617
|
|
if !matchString("TR") {
|
|
goto l616
|
|
}
|
|
}
|
|
l617:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l616
|
|
}
|
|
if !matchChar('>') {
|
|
goto l616
|
|
}
|
|
return true
|
|
l616:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 125 HtmlBlockTr <- (HtmlBlockOpenTr (HtmlBlockTr / (!HtmlBlockCloseTr .))* HtmlBlockCloseTr) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockOpenTr]() {
|
|
goto l619
|
|
}
|
|
l620:
|
|
{
|
|
position621, thunkPosition621 := position, thunkPosition
|
|
{
|
|
position622, thunkPosition622 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockTr]() {
|
|
goto l623
|
|
}
|
|
goto l622
|
|
l623:
|
|
position, thunkPosition = position622, thunkPosition622
|
|
{
|
|
position624, thunkPosition624 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockCloseTr]() {
|
|
goto l624
|
|
}
|
|
goto l621
|
|
l624:
|
|
position, thunkPosition = position624, thunkPosition624
|
|
}
|
|
if !matchDot() {
|
|
goto l621
|
|
}
|
|
}
|
|
l622:
|
|
goto l620
|
|
l621:
|
|
position, thunkPosition = position621, thunkPosition621
|
|
}
|
|
if !p.rules[ruleHtmlBlockCloseTr]() {
|
|
goto l619
|
|
}
|
|
return true
|
|
l619:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 126 HtmlBlockOpenScript <- ('<' Spnl ('script' / 'SCRIPT') Spnl HtmlAttribute* '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l625
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l625
|
|
}
|
|
{
|
|
position626, thunkPosition626 := position, thunkPosition
|
|
if !matchString("script") {
|
|
goto l627
|
|
}
|
|
goto l626
|
|
l627:
|
|
position, thunkPosition = position626, thunkPosition626
|
|
if !matchString("SCRIPT") {
|
|
goto l625
|
|
}
|
|
}
|
|
l626:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l625
|
|
}
|
|
l628:
|
|
{
|
|
position629, thunkPosition629 := position, thunkPosition
|
|
if !p.rules[ruleHtmlAttribute]() {
|
|
goto l629
|
|
}
|
|
goto l628
|
|
l629:
|
|
position, thunkPosition = position629, thunkPosition629
|
|
}
|
|
if !matchChar('>') {
|
|
goto l625
|
|
}
|
|
return true
|
|
l625:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 127 HtmlBlockCloseScript <- ('<' Spnl '/' ('script' / 'SCRIPT') Spnl '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l630
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l630
|
|
}
|
|
if !matchChar('/') {
|
|
goto l630
|
|
}
|
|
{
|
|
position631, thunkPosition631 := position, thunkPosition
|
|
if !matchString("script") {
|
|
goto l632
|
|
}
|
|
goto l631
|
|
l632:
|
|
position, thunkPosition = position631, thunkPosition631
|
|
if !matchString("SCRIPT") {
|
|
goto l630
|
|
}
|
|
}
|
|
l631:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l630
|
|
}
|
|
if !matchChar('>') {
|
|
goto l630
|
|
}
|
|
return true
|
|
l630:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 128 HtmlBlockScript <- (HtmlBlockOpenScript (HtmlBlockScript / (!HtmlBlockCloseScript .))* HtmlBlockCloseScript) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockOpenScript]() {
|
|
goto l633
|
|
}
|
|
l634:
|
|
{
|
|
position635, thunkPosition635 := position, thunkPosition
|
|
{
|
|
position636, thunkPosition636 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockScript]() {
|
|
goto l637
|
|
}
|
|
goto l636
|
|
l637:
|
|
position, thunkPosition = position636, thunkPosition636
|
|
{
|
|
position638, thunkPosition638 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockCloseScript]() {
|
|
goto l638
|
|
}
|
|
goto l635
|
|
l638:
|
|
position, thunkPosition = position638, thunkPosition638
|
|
}
|
|
if !matchDot() {
|
|
goto l635
|
|
}
|
|
}
|
|
l636:
|
|
goto l634
|
|
l635:
|
|
position, thunkPosition = position635, thunkPosition635
|
|
}
|
|
if !p.rules[ruleHtmlBlockCloseScript]() {
|
|
goto l633
|
|
}
|
|
return true
|
|
l633:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 129 HtmlBlockInTags <- (HtmlBlockAddress / HtmlBlockBlockquote / HtmlBlockCenter / HtmlBlockDir / HtmlBlockDiv / HtmlBlockDl / HtmlBlockFieldset / HtmlBlockForm / HtmlBlockH1 / HtmlBlockH2 / HtmlBlockH3 / HtmlBlockH4 / HtmlBlockH5 / HtmlBlockH6 / HtmlBlockMenu / HtmlBlockNoframes / HtmlBlockNoscript / HtmlBlockOl / HtmlBlockP / HtmlBlockPre / HtmlBlockTable / HtmlBlockUl / HtmlBlockDd / HtmlBlockDt / HtmlBlockFrameset / HtmlBlockLi / HtmlBlockTbody / HtmlBlockTd / HtmlBlockTfoot / HtmlBlockTh / HtmlBlockThead / HtmlBlockTr / HtmlBlockScript) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
{
|
|
position640, thunkPosition640 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockAddress]() {
|
|
goto l641
|
|
}
|
|
goto l640
|
|
l641:
|
|
position, thunkPosition = position640, thunkPosition640
|
|
if !p.rules[ruleHtmlBlockBlockquote]() {
|
|
goto l642
|
|
}
|
|
goto l640
|
|
l642:
|
|
position, thunkPosition = position640, thunkPosition640
|
|
if !p.rules[ruleHtmlBlockCenter]() {
|
|
goto l643
|
|
}
|
|
goto l640
|
|
l643:
|
|
position, thunkPosition = position640, thunkPosition640
|
|
if !p.rules[ruleHtmlBlockDir]() {
|
|
goto l644
|
|
}
|
|
goto l640
|
|
l644:
|
|
position, thunkPosition = position640, thunkPosition640
|
|
if !p.rules[ruleHtmlBlockDiv]() {
|
|
goto l645
|
|
}
|
|
goto l640
|
|
l645:
|
|
position, thunkPosition = position640, thunkPosition640
|
|
if !p.rules[ruleHtmlBlockDl]() {
|
|
goto l646
|
|
}
|
|
goto l640
|
|
l646:
|
|
position, thunkPosition = position640, thunkPosition640
|
|
if !p.rules[ruleHtmlBlockFieldset]() {
|
|
goto l647
|
|
}
|
|
goto l640
|
|
l647:
|
|
position, thunkPosition = position640, thunkPosition640
|
|
if !p.rules[ruleHtmlBlockForm]() {
|
|
goto l648
|
|
}
|
|
goto l640
|
|
l648:
|
|
position, thunkPosition = position640, thunkPosition640
|
|
if !p.rules[ruleHtmlBlockH1]() {
|
|
goto l649
|
|
}
|
|
goto l640
|
|
l649:
|
|
position, thunkPosition = position640, thunkPosition640
|
|
if !p.rules[ruleHtmlBlockH2]() {
|
|
goto l650
|
|
}
|
|
goto l640
|
|
l650:
|
|
position, thunkPosition = position640, thunkPosition640
|
|
if !p.rules[ruleHtmlBlockH3]() {
|
|
goto l651
|
|
}
|
|
goto l640
|
|
l651:
|
|
position, thunkPosition = position640, thunkPosition640
|
|
if !p.rules[ruleHtmlBlockH4]() {
|
|
goto l652
|
|
}
|
|
goto l640
|
|
l652:
|
|
position, thunkPosition = position640, thunkPosition640
|
|
if !p.rules[ruleHtmlBlockH5]() {
|
|
goto l653
|
|
}
|
|
goto l640
|
|
l653:
|
|
position, thunkPosition = position640, thunkPosition640
|
|
if !p.rules[ruleHtmlBlockH6]() {
|
|
goto l654
|
|
}
|
|
goto l640
|
|
l654:
|
|
position, thunkPosition = position640, thunkPosition640
|
|
if !p.rules[ruleHtmlBlockMenu]() {
|
|
goto l655
|
|
}
|
|
goto l640
|
|
l655:
|
|
position, thunkPosition = position640, thunkPosition640
|
|
if !p.rules[ruleHtmlBlockNoframes]() {
|
|
goto l656
|
|
}
|
|
goto l640
|
|
l656:
|
|
position, thunkPosition = position640, thunkPosition640
|
|
if !p.rules[ruleHtmlBlockNoscript]() {
|
|
goto l657
|
|
}
|
|
goto l640
|
|
l657:
|
|
position, thunkPosition = position640, thunkPosition640
|
|
if !p.rules[ruleHtmlBlockOl]() {
|
|
goto l658
|
|
}
|
|
goto l640
|
|
l658:
|
|
position, thunkPosition = position640, thunkPosition640
|
|
if !p.rules[ruleHtmlBlockP]() {
|
|
goto l659
|
|
}
|
|
goto l640
|
|
l659:
|
|
position, thunkPosition = position640, thunkPosition640
|
|
if !p.rules[ruleHtmlBlockPre]() {
|
|
goto l660
|
|
}
|
|
goto l640
|
|
l660:
|
|
position, thunkPosition = position640, thunkPosition640
|
|
if !p.rules[ruleHtmlBlockTable]() {
|
|
goto l661
|
|
}
|
|
goto l640
|
|
l661:
|
|
position, thunkPosition = position640, thunkPosition640
|
|
if !p.rules[ruleHtmlBlockUl]() {
|
|
goto l662
|
|
}
|
|
goto l640
|
|
l662:
|
|
position, thunkPosition = position640, thunkPosition640
|
|
if !p.rules[ruleHtmlBlockDd]() {
|
|
goto l663
|
|
}
|
|
goto l640
|
|
l663:
|
|
position, thunkPosition = position640, thunkPosition640
|
|
if !p.rules[ruleHtmlBlockDt]() {
|
|
goto l664
|
|
}
|
|
goto l640
|
|
l664:
|
|
position, thunkPosition = position640, thunkPosition640
|
|
if !p.rules[ruleHtmlBlockFrameset]() {
|
|
goto l665
|
|
}
|
|
goto l640
|
|
l665:
|
|
position, thunkPosition = position640, thunkPosition640
|
|
if !p.rules[ruleHtmlBlockLi]() {
|
|
goto l666
|
|
}
|
|
goto l640
|
|
l666:
|
|
position, thunkPosition = position640, thunkPosition640
|
|
if !p.rules[ruleHtmlBlockTbody]() {
|
|
goto l667
|
|
}
|
|
goto l640
|
|
l667:
|
|
position, thunkPosition = position640, thunkPosition640
|
|
if !p.rules[ruleHtmlBlockTd]() {
|
|
goto l668
|
|
}
|
|
goto l640
|
|
l668:
|
|
position, thunkPosition = position640, thunkPosition640
|
|
if !p.rules[ruleHtmlBlockTfoot]() {
|
|
goto l669
|
|
}
|
|
goto l640
|
|
l669:
|
|
position, thunkPosition = position640, thunkPosition640
|
|
if !p.rules[ruleHtmlBlockTh]() {
|
|
goto l670
|
|
}
|
|
goto l640
|
|
l670:
|
|
position, thunkPosition = position640, thunkPosition640
|
|
if !p.rules[ruleHtmlBlockThead]() {
|
|
goto l671
|
|
}
|
|
goto l640
|
|
l671:
|
|
position, thunkPosition = position640, thunkPosition640
|
|
if !p.rules[ruleHtmlBlockTr]() {
|
|
goto l672
|
|
}
|
|
goto l640
|
|
l672:
|
|
position, thunkPosition = position640, thunkPosition640
|
|
if !p.rules[ruleHtmlBlockScript]() {
|
|
goto l639
|
|
}
|
|
}
|
|
l640:
|
|
return true
|
|
l639:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 130 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 l673
|
|
}
|
|
begin = position
|
|
{
|
|
position674, thunkPosition674 := position, thunkPosition
|
|
if !p.rules[ruleHtmlBlockInTags]() {
|
|
goto l675
|
|
}
|
|
goto l674
|
|
l675:
|
|
position, thunkPosition = position674, thunkPosition674
|
|
if !p.rules[ruleHtmlComment]() {
|
|
goto l676
|
|
}
|
|
goto l674
|
|
l676:
|
|
position, thunkPosition = position674, thunkPosition674
|
|
if !p.rules[ruleHtmlBlockSelfClosing]() {
|
|
goto l673
|
|
}
|
|
}
|
|
l674:
|
|
end = position
|
|
if !p.rules[ruleBlankLine]() {
|
|
goto l673
|
|
}
|
|
l677:
|
|
{
|
|
position678, thunkPosition678 := position, thunkPosition
|
|
if !p.rules[ruleBlankLine]() {
|
|
goto l678
|
|
}
|
|
goto l677
|
|
l678:
|
|
position, thunkPosition = position678, thunkPosition678
|
|
}
|
|
do(40)
|
|
return true
|
|
l673:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 131 HtmlBlockSelfClosing <- ('<' Spnl HtmlBlockType Spnl HtmlAttribute* '/' Spnl '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l679
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l679
|
|
}
|
|
if !p.rules[ruleHtmlBlockType]() {
|
|
goto l679
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l679
|
|
}
|
|
l680:
|
|
{
|
|
position681, thunkPosition681 := position, thunkPosition
|
|
if !p.rules[ruleHtmlAttribute]() {
|
|
goto l681
|
|
}
|
|
goto l680
|
|
l681:
|
|
position, thunkPosition = position681, thunkPosition681
|
|
}
|
|
if !matchChar('/') {
|
|
goto l679
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l679
|
|
}
|
|
if !matchChar('>') {
|
|
goto l679
|
|
}
|
|
return true
|
|
l679:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 132 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
|
|
{
|
|
position683, thunkPosition683 := position, thunkPosition
|
|
if !matchString("address") {
|
|
goto l684
|
|
}
|
|
goto l683
|
|
l684:
|
|
position, thunkPosition = position683, thunkPosition683
|
|
if !matchString("blockquote") {
|
|
goto l685
|
|
}
|
|
goto l683
|
|
l685:
|
|
position, thunkPosition = position683, thunkPosition683
|
|
if !matchString("center") {
|
|
goto l686
|
|
}
|
|
goto l683
|
|
l686:
|
|
position, thunkPosition = position683, thunkPosition683
|
|
if !matchString("dir") {
|
|
goto l687
|
|
}
|
|
goto l683
|
|
l687:
|
|
position, thunkPosition = position683, thunkPosition683
|
|
if !matchString("div") {
|
|
goto l688
|
|
}
|
|
goto l683
|
|
l688:
|
|
position, thunkPosition = position683, thunkPosition683
|
|
if !matchString("dl") {
|
|
goto l689
|
|
}
|
|
goto l683
|
|
l689:
|
|
position, thunkPosition = position683, thunkPosition683
|
|
if !matchString("fieldset") {
|
|
goto l690
|
|
}
|
|
goto l683
|
|
l690:
|
|
position, thunkPosition = position683, thunkPosition683
|
|
if !matchString("form") {
|
|
goto l691
|
|
}
|
|
goto l683
|
|
l691:
|
|
position, thunkPosition = position683, thunkPosition683
|
|
if !matchString("h1") {
|
|
goto l692
|
|
}
|
|
goto l683
|
|
l692:
|
|
position, thunkPosition = position683, thunkPosition683
|
|
if !matchString("h2") {
|
|
goto l693
|
|
}
|
|
goto l683
|
|
l693:
|
|
position, thunkPosition = position683, thunkPosition683
|
|
if !matchString("h3") {
|
|
goto l694
|
|
}
|
|
goto l683
|
|
l694:
|
|
position, thunkPosition = position683, thunkPosition683
|
|
if !matchString("h4") {
|
|
goto l695
|
|
}
|
|
goto l683
|
|
l695:
|
|
position, thunkPosition = position683, thunkPosition683
|
|
if !matchString("h5") {
|
|
goto l696
|
|
}
|
|
goto l683
|
|
l696:
|
|
position, thunkPosition = position683, thunkPosition683
|
|
if !matchString("h6") {
|
|
goto l697
|
|
}
|
|
goto l683
|
|
l697:
|
|
position, thunkPosition = position683, thunkPosition683
|
|
if !matchString("hr") {
|
|
goto l698
|
|
}
|
|
goto l683
|
|
l698:
|
|
position, thunkPosition = position683, thunkPosition683
|
|
if !matchString("isindex") {
|
|
goto l699
|
|
}
|
|
goto l683
|
|
l699:
|
|
position, thunkPosition = position683, thunkPosition683
|
|
if !matchString("menu") {
|
|
goto l700
|
|
}
|
|
goto l683
|
|
l700:
|
|
position, thunkPosition = position683, thunkPosition683
|
|
if !matchString("noframes") {
|
|
goto l701
|
|
}
|
|
goto l683
|
|
l701:
|
|
position, thunkPosition = position683, thunkPosition683
|
|
if !matchString("noscript") {
|
|
goto l702
|
|
}
|
|
goto l683
|
|
l702:
|
|
position, thunkPosition = position683, thunkPosition683
|
|
if !matchString("ol") {
|
|
goto l703
|
|
}
|
|
goto l683
|
|
l703:
|
|
position, thunkPosition = position683, thunkPosition683
|
|
if !matchChar('p') {
|
|
goto l704
|
|
}
|
|
goto l683
|
|
l704:
|
|
position, thunkPosition = position683, thunkPosition683
|
|
if !matchString("pre") {
|
|
goto l705
|
|
}
|
|
goto l683
|
|
l705:
|
|
position, thunkPosition = position683, thunkPosition683
|
|
if !matchString("table") {
|
|
goto l706
|
|
}
|
|
goto l683
|
|
l706:
|
|
position, thunkPosition = position683, thunkPosition683
|
|
if !matchString("ul") {
|
|
goto l707
|
|
}
|
|
goto l683
|
|
l707:
|
|
position, thunkPosition = position683, thunkPosition683
|
|
if !matchString("dd") {
|
|
goto l708
|
|
}
|
|
goto l683
|
|
l708:
|
|
position, thunkPosition = position683, thunkPosition683
|
|
if !matchString("dt") {
|
|
goto l709
|
|
}
|
|
goto l683
|
|
l709:
|
|
position, thunkPosition = position683, thunkPosition683
|
|
if !matchString("frameset") {
|
|
goto l710
|
|
}
|
|
goto l683
|
|
l710:
|
|
position, thunkPosition = position683, thunkPosition683
|
|
if !matchString("li") {
|
|
goto l711
|
|
}
|
|
goto l683
|
|
l711:
|
|
position, thunkPosition = position683, thunkPosition683
|
|
if !matchString("tbody") {
|
|
goto l712
|
|
}
|
|
goto l683
|
|
l712:
|
|
position, thunkPosition = position683, thunkPosition683
|
|
if !matchString("td") {
|
|
goto l713
|
|
}
|
|
goto l683
|
|
l713:
|
|
position, thunkPosition = position683, thunkPosition683
|
|
if !matchString("tfoot") {
|
|
goto l714
|
|
}
|
|
goto l683
|
|
l714:
|
|
position, thunkPosition = position683, thunkPosition683
|
|
if !matchString("th") {
|
|
goto l715
|
|
}
|
|
goto l683
|
|
l715:
|
|
position, thunkPosition = position683, thunkPosition683
|
|
if !matchString("thead") {
|
|
goto l716
|
|
}
|
|
goto l683
|
|
l716:
|
|
position, thunkPosition = position683, thunkPosition683
|
|
if !matchString("tr") {
|
|
goto l717
|
|
}
|
|
goto l683
|
|
l717:
|
|
position, thunkPosition = position683, thunkPosition683
|
|
if !matchString("script") {
|
|
goto l718
|
|
}
|
|
goto l683
|
|
l718:
|
|
position, thunkPosition = position683, thunkPosition683
|
|
if !matchString("ADDRESS") {
|
|
goto l719
|
|
}
|
|
goto l683
|
|
l719:
|
|
position, thunkPosition = position683, thunkPosition683
|
|
if !matchString("BLOCKQUOTE") {
|
|
goto l720
|
|
}
|
|
goto l683
|
|
l720:
|
|
position, thunkPosition = position683, thunkPosition683
|
|
if !matchString("CENTER") {
|
|
goto l721
|
|
}
|
|
goto l683
|
|
l721:
|
|
position, thunkPosition = position683, thunkPosition683
|
|
if !matchString("DIR") {
|
|
goto l722
|
|
}
|
|
goto l683
|
|
l722:
|
|
position, thunkPosition = position683, thunkPosition683
|
|
if !matchString("DIV") {
|
|
goto l723
|
|
}
|
|
goto l683
|
|
l723:
|
|
position, thunkPosition = position683, thunkPosition683
|
|
if !matchString("DL") {
|
|
goto l724
|
|
}
|
|
goto l683
|
|
l724:
|
|
position, thunkPosition = position683, thunkPosition683
|
|
if !matchString("FIELDSET") {
|
|
goto l725
|
|
}
|
|
goto l683
|
|
l725:
|
|
position, thunkPosition = position683, thunkPosition683
|
|
if !matchString("FORM") {
|
|
goto l726
|
|
}
|
|
goto l683
|
|
l726:
|
|
position, thunkPosition = position683, thunkPosition683
|
|
if !matchString("H1") {
|
|
goto l727
|
|
}
|
|
goto l683
|
|
l727:
|
|
position, thunkPosition = position683, thunkPosition683
|
|
if !matchString("H2") {
|
|
goto l728
|
|
}
|
|
goto l683
|
|
l728:
|
|
position, thunkPosition = position683, thunkPosition683
|
|
if !matchString("H3") {
|
|
goto l729
|
|
}
|
|
goto l683
|
|
l729:
|
|
position, thunkPosition = position683, thunkPosition683
|
|
if !matchString("H4") {
|
|
goto l730
|
|
}
|
|
goto l683
|
|
l730:
|
|
position, thunkPosition = position683, thunkPosition683
|
|
if !matchString("H5") {
|
|
goto l731
|
|
}
|
|
goto l683
|
|
l731:
|
|
position, thunkPosition = position683, thunkPosition683
|
|
if !matchString("H6") {
|
|
goto l732
|
|
}
|
|
goto l683
|
|
l732:
|
|
position, thunkPosition = position683, thunkPosition683
|
|
if !matchString("HR") {
|
|
goto l733
|
|
}
|
|
goto l683
|
|
l733:
|
|
position, thunkPosition = position683, thunkPosition683
|
|
if !matchString("ISINDEX") {
|
|
goto l734
|
|
}
|
|
goto l683
|
|
l734:
|
|
position, thunkPosition = position683, thunkPosition683
|
|
if !matchString("MENU") {
|
|
goto l735
|
|
}
|
|
goto l683
|
|
l735:
|
|
position, thunkPosition = position683, thunkPosition683
|
|
if !matchString("NOFRAMES") {
|
|
goto l736
|
|
}
|
|
goto l683
|
|
l736:
|
|
position, thunkPosition = position683, thunkPosition683
|
|
if !matchString("NOSCRIPT") {
|
|
goto l737
|
|
}
|
|
goto l683
|
|
l737:
|
|
position, thunkPosition = position683, thunkPosition683
|
|
if !matchString("OL") {
|
|
goto l738
|
|
}
|
|
goto l683
|
|
l738:
|
|
position, thunkPosition = position683, thunkPosition683
|
|
if !matchChar('P') {
|
|
goto l739
|
|
}
|
|
goto l683
|
|
l739:
|
|
position, thunkPosition = position683, thunkPosition683
|
|
if !matchString("PRE") {
|
|
goto l740
|
|
}
|
|
goto l683
|
|
l740:
|
|
position, thunkPosition = position683, thunkPosition683
|
|
if !matchString("TABLE") {
|
|
goto l741
|
|
}
|
|
goto l683
|
|
l741:
|
|
position, thunkPosition = position683, thunkPosition683
|
|
if !matchString("UL") {
|
|
goto l742
|
|
}
|
|
goto l683
|
|
l742:
|
|
position, thunkPosition = position683, thunkPosition683
|
|
if !matchString("DD") {
|
|
goto l743
|
|
}
|
|
goto l683
|
|
l743:
|
|
position, thunkPosition = position683, thunkPosition683
|
|
if !matchString("DT") {
|
|
goto l744
|
|
}
|
|
goto l683
|
|
l744:
|
|
position, thunkPosition = position683, thunkPosition683
|
|
if !matchString("FRAMESET") {
|
|
goto l745
|
|
}
|
|
goto l683
|
|
l745:
|
|
position, thunkPosition = position683, thunkPosition683
|
|
if !matchString("LI") {
|
|
goto l746
|
|
}
|
|
goto l683
|
|
l746:
|
|
position, thunkPosition = position683, thunkPosition683
|
|
if !matchString("TBODY") {
|
|
goto l747
|
|
}
|
|
goto l683
|
|
l747:
|
|
position, thunkPosition = position683, thunkPosition683
|
|
if !matchString("TD") {
|
|
goto l748
|
|
}
|
|
goto l683
|
|
l748:
|
|
position, thunkPosition = position683, thunkPosition683
|
|
if !matchString("TFOOT") {
|
|
goto l749
|
|
}
|
|
goto l683
|
|
l749:
|
|
position, thunkPosition = position683, thunkPosition683
|
|
if !matchString("TH") {
|
|
goto l750
|
|
}
|
|
goto l683
|
|
l750:
|
|
position, thunkPosition = position683, thunkPosition683
|
|
if !matchString("THEAD") {
|
|
goto l751
|
|
}
|
|
goto l683
|
|
l751:
|
|
position, thunkPosition = position683, thunkPosition683
|
|
if !matchString("TR") {
|
|
goto l752
|
|
}
|
|
goto l683
|
|
l752:
|
|
position, thunkPosition = position683, thunkPosition683
|
|
if !matchString("SCRIPT") {
|
|
goto l682
|
|
}
|
|
}
|
|
l683:
|
|
return true
|
|
l682:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 133 StyleOpen <- ('<' Spnl ('style' / 'STYLE') Spnl HtmlAttribute* '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l753
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l753
|
|
}
|
|
{
|
|
position754, thunkPosition754 := position, thunkPosition
|
|
if !matchString("style") {
|
|
goto l755
|
|
}
|
|
goto l754
|
|
l755:
|
|
position, thunkPosition = position754, thunkPosition754
|
|
if !matchString("STYLE") {
|
|
goto l753
|
|
}
|
|
}
|
|
l754:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l753
|
|
}
|
|
l756:
|
|
{
|
|
position757, thunkPosition757 := position, thunkPosition
|
|
if !p.rules[ruleHtmlAttribute]() {
|
|
goto l757
|
|
}
|
|
goto l756
|
|
l757:
|
|
position, thunkPosition = position757, thunkPosition757
|
|
}
|
|
if !matchChar('>') {
|
|
goto l753
|
|
}
|
|
return true
|
|
l753:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 134 StyleClose <- ('<' Spnl '/' ('style' / 'STYLE') Spnl '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l758
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l758
|
|
}
|
|
if !matchChar('/') {
|
|
goto l758
|
|
}
|
|
{
|
|
position759, thunkPosition759 := position, thunkPosition
|
|
if !matchString("style") {
|
|
goto l760
|
|
}
|
|
goto l759
|
|
l760:
|
|
position, thunkPosition = position759, thunkPosition759
|
|
if !matchString("STYLE") {
|
|
goto l758
|
|
}
|
|
}
|
|
l759:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l758
|
|
}
|
|
if !matchChar('>') {
|
|
goto l758
|
|
}
|
|
return true
|
|
l758:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 135 InStyleTags <- (StyleOpen (!StyleClose .)* StyleClose) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !p.rules[ruleStyleOpen]() {
|
|
goto l761
|
|
}
|
|
l762:
|
|
{
|
|
position763, thunkPosition763 := position, thunkPosition
|
|
{
|
|
position764, thunkPosition764 := position, thunkPosition
|
|
if !p.rules[ruleStyleClose]() {
|
|
goto l764
|
|
}
|
|
goto l763
|
|
l764:
|
|
position, thunkPosition = position764, thunkPosition764
|
|
}
|
|
if !matchDot() {
|
|
goto l763
|
|
}
|
|
goto l762
|
|
l763:
|
|
position, thunkPosition = position763, thunkPosition763
|
|
}
|
|
if !p.rules[ruleStyleClose]() {
|
|
goto l761
|
|
}
|
|
return true
|
|
l761:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 136 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 l765
|
|
}
|
|
end = position
|
|
l766:
|
|
{
|
|
position767, thunkPosition767 := position, thunkPosition
|
|
if !p.rules[ruleBlankLine]() {
|
|
goto l767
|
|
}
|
|
goto l766
|
|
l767:
|
|
position, thunkPosition = position767, thunkPosition767
|
|
}
|
|
do(41)
|
|
return true
|
|
l765:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 137 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 l768
|
|
}
|
|
doarg(yySet, -2)
|
|
{
|
|
position771, thunkPosition771 := position, thunkPosition
|
|
{
|
|
position773, thunkPosition773 := position, thunkPosition
|
|
if !p.rules[ruleEndline]() {
|
|
goto l773
|
|
}
|
|
goto l772
|
|
l773:
|
|
position, thunkPosition = position773, thunkPosition773
|
|
}
|
|
if !p.rules[ruleInline]() {
|
|
goto l772
|
|
}
|
|
do(42)
|
|
goto l771
|
|
l772:
|
|
position, thunkPosition = position771, thunkPosition771
|
|
if !p.rules[ruleEndline]() {
|
|
goto l768
|
|
}
|
|
doarg(yySet, -1)
|
|
{
|
|
position774, thunkPosition774 := position, thunkPosition
|
|
if !p.rules[ruleInline]() {
|
|
goto l768
|
|
}
|
|
position, thunkPosition = position774, thunkPosition774
|
|
}
|
|
do(43)
|
|
}
|
|
l771:
|
|
l769:
|
|
{
|
|
position770, thunkPosition770 := position, thunkPosition
|
|
{
|
|
position775, thunkPosition775 := position, thunkPosition
|
|
{
|
|
position777, thunkPosition777 := position, thunkPosition
|
|
if !p.rules[ruleEndline]() {
|
|
goto l777
|
|
}
|
|
goto l776
|
|
l777:
|
|
position, thunkPosition = position777, thunkPosition777
|
|
}
|
|
if !p.rules[ruleInline]() {
|
|
goto l776
|
|
}
|
|
do(42)
|
|
goto l775
|
|
l776:
|
|
position, thunkPosition = position775, thunkPosition775
|
|
if !p.rules[ruleEndline]() {
|
|
goto l770
|
|
}
|
|
doarg(yySet, -1)
|
|
{
|
|
position778, thunkPosition778 := position, thunkPosition
|
|
if !p.rules[ruleInline]() {
|
|
goto l770
|
|
}
|
|
position, thunkPosition = position778, thunkPosition778
|
|
}
|
|
do(43)
|
|
}
|
|
l775:
|
|
goto l769
|
|
l770:
|
|
position, thunkPosition = position770, thunkPosition770
|
|
}
|
|
{
|
|
position779, thunkPosition779 := position, thunkPosition
|
|
if !p.rules[ruleEndline]() {
|
|
goto l779
|
|
}
|
|
goto l780
|
|
l779:
|
|
position, thunkPosition = position779, thunkPosition779
|
|
}
|
|
l780:
|
|
do(44)
|
|
doarg(yyPop, 2)
|
|
return true
|
|
l768:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 138 Inline <- (Str / Endline / UlOrStarLine / Space / Strong / Emph / Image / Link / NoteReference / InlineNote / Code / RawHtml / Entity / EscapedChar / Smart / Symbol) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
{
|
|
position782, thunkPosition782 := position, thunkPosition
|
|
if !p.rules[ruleStr]() {
|
|
goto l783
|
|
}
|
|
goto l782
|
|
l783:
|
|
position, thunkPosition = position782, thunkPosition782
|
|
if !p.rules[ruleEndline]() {
|
|
goto l784
|
|
}
|
|
goto l782
|
|
l784:
|
|
position, thunkPosition = position782, thunkPosition782
|
|
if !p.rules[ruleUlOrStarLine]() {
|
|
goto l785
|
|
}
|
|
goto l782
|
|
l785:
|
|
position, thunkPosition = position782, thunkPosition782
|
|
if !p.rules[ruleSpace]() {
|
|
goto l786
|
|
}
|
|
goto l782
|
|
l786:
|
|
position, thunkPosition = position782, thunkPosition782
|
|
if !p.rules[ruleStrong]() {
|
|
goto l787
|
|
}
|
|
goto l782
|
|
l787:
|
|
position, thunkPosition = position782, thunkPosition782
|
|
if !p.rules[ruleEmph]() {
|
|
goto l788
|
|
}
|
|
goto l782
|
|
l788:
|
|
position, thunkPosition = position782, thunkPosition782
|
|
if !p.rules[ruleImage]() {
|
|
goto l789
|
|
}
|
|
goto l782
|
|
l789:
|
|
position, thunkPosition = position782, thunkPosition782
|
|
if !p.rules[ruleLink]() {
|
|
goto l790
|
|
}
|
|
goto l782
|
|
l790:
|
|
position, thunkPosition = position782, thunkPosition782
|
|
if !p.rules[ruleNoteReference]() {
|
|
goto l791
|
|
}
|
|
goto l782
|
|
l791:
|
|
position, thunkPosition = position782, thunkPosition782
|
|
if !p.rules[ruleInlineNote]() {
|
|
goto l792
|
|
}
|
|
goto l782
|
|
l792:
|
|
position, thunkPosition = position782, thunkPosition782
|
|
if !p.rules[ruleCode]() {
|
|
goto l793
|
|
}
|
|
goto l782
|
|
l793:
|
|
position, thunkPosition = position782, thunkPosition782
|
|
if !p.rules[ruleRawHtml]() {
|
|
goto l794
|
|
}
|
|
goto l782
|
|
l794:
|
|
position, thunkPosition = position782, thunkPosition782
|
|
if !p.rules[ruleEntity]() {
|
|
goto l795
|
|
}
|
|
goto l782
|
|
l795:
|
|
position, thunkPosition = position782, thunkPosition782
|
|
if !p.rules[ruleEscapedChar]() {
|
|
goto l796
|
|
}
|
|
goto l782
|
|
l796:
|
|
position, thunkPosition = position782, thunkPosition782
|
|
if !p.rules[ruleSmart]() {
|
|
goto l797
|
|
}
|
|
goto l782
|
|
l797:
|
|
position, thunkPosition = position782, thunkPosition782
|
|
if !p.rules[ruleSymbol]() {
|
|
goto l781
|
|
}
|
|
}
|
|
l782:
|
|
return true
|
|
l781:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 139 Space <- (Spacechar+ { yy = mk_str(" ")
|
|
yy.key = SPACE }) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !p.rules[ruleSpacechar]() {
|
|
goto l798
|
|
}
|
|
l799:
|
|
{
|
|
position800, thunkPosition800 := position, thunkPosition
|
|
if !p.rules[ruleSpacechar]() {
|
|
goto l800
|
|
}
|
|
goto l799
|
|
l800:
|
|
position, thunkPosition = position800, thunkPosition800
|
|
}
|
|
do(45)
|
|
return true
|
|
l798:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 140 Str <- (< NormalChar (NormalChar / ('_'+ &Alphanumeric))* > { yy = mk_str(yytext) }) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
begin = position
|
|
if !p.rules[ruleNormalChar]() {
|
|
goto l801
|
|
}
|
|
l802:
|
|
{
|
|
position803, thunkPosition803 := position, thunkPosition
|
|
{
|
|
position804, thunkPosition804 := position, thunkPosition
|
|
if !p.rules[ruleNormalChar]() {
|
|
goto l805
|
|
}
|
|
goto l804
|
|
l805:
|
|
position, thunkPosition = position804, thunkPosition804
|
|
if !matchChar('_') {
|
|
goto l803
|
|
}
|
|
l806:
|
|
{
|
|
position807, thunkPosition807 := position, thunkPosition
|
|
if !matchChar('_') {
|
|
goto l807
|
|
}
|
|
goto l806
|
|
l807:
|
|
position, thunkPosition = position807, thunkPosition807
|
|
}
|
|
{
|
|
position808, thunkPosition808 := position, thunkPosition
|
|
if !p.rules[ruleAlphanumeric]() {
|
|
goto l803
|
|
}
|
|
position, thunkPosition = position808, thunkPosition808
|
|
}
|
|
}
|
|
l804:
|
|
goto l802
|
|
l803:
|
|
position, thunkPosition = position803, thunkPosition803
|
|
}
|
|
end = position
|
|
do(46)
|
|
return true
|
|
l801:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 141 EscapedChar <- ('\\' !Newline < [-\\`|*_{}[\]()#+.!><] > { yy = mk_str(yytext) }) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('\\') {
|
|
goto l809
|
|
}
|
|
{
|
|
position810, thunkPosition810 := position, thunkPosition
|
|
if !p.rules[ruleNewline]() {
|
|
goto l810
|
|
}
|
|
goto l809
|
|
l810:
|
|
position, thunkPosition = position810, thunkPosition810
|
|
}
|
|
begin = position
|
|
if !matchClass(2) {
|
|
goto l809
|
|
}
|
|
end = position
|
|
do(47)
|
|
return true
|
|
l809:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 142 Entity <- ((HexEntity / DecEntity / CharEntity) { yy = mk_str(yytext); yy.key = HTML }) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
{
|
|
position812, thunkPosition812 := position, thunkPosition
|
|
if !p.rules[ruleHexEntity]() {
|
|
goto l813
|
|
}
|
|
goto l812
|
|
l813:
|
|
position, thunkPosition = position812, thunkPosition812
|
|
if !p.rules[ruleDecEntity]() {
|
|
goto l814
|
|
}
|
|
goto l812
|
|
l814:
|
|
position, thunkPosition = position812, thunkPosition812
|
|
if !p.rules[ruleCharEntity]() {
|
|
goto l811
|
|
}
|
|
}
|
|
l812:
|
|
do(48)
|
|
return true
|
|
l811:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 143 Endline <- (LineBreak / TerminalEndline / NormalEndline) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
{
|
|
position816, thunkPosition816 := position, thunkPosition
|
|
if !p.rules[ruleLineBreak]() {
|
|
goto l817
|
|
}
|
|
goto l816
|
|
l817:
|
|
position, thunkPosition = position816, thunkPosition816
|
|
if !p.rules[ruleTerminalEndline]() {
|
|
goto l818
|
|
}
|
|
goto l816
|
|
l818:
|
|
position, thunkPosition = position816, thunkPosition816
|
|
if !p.rules[ruleNormalEndline]() {
|
|
goto l815
|
|
}
|
|
}
|
|
l816:
|
|
return true
|
|
l815:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 144 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 l819
|
|
}
|
|
if !p.rules[ruleNewline]() {
|
|
goto l819
|
|
}
|
|
{
|
|
position820, thunkPosition820 := position, thunkPosition
|
|
if !p.rules[ruleBlankLine]() {
|
|
goto l820
|
|
}
|
|
goto l819
|
|
l820:
|
|
position, thunkPosition = position820, thunkPosition820
|
|
}
|
|
if peekChar('>') {
|
|
goto l819
|
|
}
|
|
{
|
|
position821, thunkPosition821 := position, thunkPosition
|
|
if !p.rules[ruleAtxStart]() {
|
|
goto l821
|
|
}
|
|
goto l819
|
|
l821:
|
|
position, thunkPosition = position821, thunkPosition821
|
|
}
|
|
{
|
|
position822, thunkPosition822 := position, thunkPosition
|
|
if !p.rules[ruleLine]() {
|
|
goto l822
|
|
}
|
|
{
|
|
position823, thunkPosition823 := position, thunkPosition
|
|
if !matchString("===") {
|
|
goto l824
|
|
}
|
|
l825:
|
|
{
|
|
position826, thunkPosition826 := position, thunkPosition
|
|
if !matchChar('=') {
|
|
goto l826
|
|
}
|
|
goto l825
|
|
l826:
|
|
position, thunkPosition = position826, thunkPosition826
|
|
}
|
|
goto l823
|
|
l824:
|
|
position, thunkPosition = position823, thunkPosition823
|
|
if !matchString("---") {
|
|
goto l822
|
|
}
|
|
l827:
|
|
{
|
|
position828, thunkPosition828 := position, thunkPosition
|
|
if !matchChar('-') {
|
|
goto l828
|
|
}
|
|
goto l827
|
|
l828:
|
|
position, thunkPosition = position828, thunkPosition828
|
|
}
|
|
}
|
|
l823:
|
|
if !p.rules[ruleNewline]() {
|
|
goto l822
|
|
}
|
|
goto l819
|
|
l822:
|
|
position, thunkPosition = position822, thunkPosition822
|
|
}
|
|
do(49)
|
|
return true
|
|
l819:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 145 TerminalEndline <- (Sp Newline Eof { yy = nil }) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !p.rules[ruleSp]() {
|
|
goto l829
|
|
}
|
|
if !p.rules[ruleNewline]() {
|
|
goto l829
|
|
}
|
|
if !p.rules[ruleEof]() {
|
|
goto l829
|
|
}
|
|
do(50)
|
|
return true
|
|
l829:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 146 LineBreak <- (' ' NormalEndline { yy = mk_element(LINEBREAK) }) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchString(" ") {
|
|
goto l830
|
|
}
|
|
if !p.rules[ruleNormalEndline]() {
|
|
goto l830
|
|
}
|
|
do(51)
|
|
return true
|
|
l830:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 147 Symbol <- (< SpecialChar > { yy = mk_str(yytext) }) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
begin = position
|
|
if !p.rules[ruleSpecialChar]() {
|
|
goto l831
|
|
}
|
|
end = position
|
|
do(52)
|
|
return true
|
|
l831:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 148 UlOrStarLine <- ((UlLine / StarLine) { yy = mk_str(yytext) }) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
{
|
|
position833, thunkPosition833 := position, thunkPosition
|
|
if !p.rules[ruleUlLine]() {
|
|
goto l834
|
|
}
|
|
goto l833
|
|
l834:
|
|
position, thunkPosition = position833, thunkPosition833
|
|
if !p.rules[ruleStarLine]() {
|
|
goto l832
|
|
}
|
|
}
|
|
l833:
|
|
do(53)
|
|
return true
|
|
l832:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 149 StarLine <- ((< '****' '*'* >) / (< Spacechar '*'+ &Spacechar >)) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
{
|
|
position836, thunkPosition836 := position, thunkPosition
|
|
begin = position
|
|
if !matchString("****") {
|
|
goto l837
|
|
}
|
|
l838:
|
|
{
|
|
position839, thunkPosition839 := position, thunkPosition
|
|
if !matchChar('*') {
|
|
goto l839
|
|
}
|
|
goto l838
|
|
l839:
|
|
position, thunkPosition = position839, thunkPosition839
|
|
}
|
|
end = position
|
|
goto l836
|
|
l837:
|
|
position, thunkPosition = position836, thunkPosition836
|
|
begin = position
|
|
if !p.rules[ruleSpacechar]() {
|
|
goto l835
|
|
}
|
|
if !matchChar('*') {
|
|
goto l835
|
|
}
|
|
l840:
|
|
{
|
|
position841, thunkPosition841 := position, thunkPosition
|
|
if !matchChar('*') {
|
|
goto l841
|
|
}
|
|
goto l840
|
|
l841:
|
|
position, thunkPosition = position841, thunkPosition841
|
|
}
|
|
{
|
|
position842, thunkPosition842 := position, thunkPosition
|
|
if !p.rules[ruleSpacechar]() {
|
|
goto l835
|
|
}
|
|
position, thunkPosition = position842, thunkPosition842
|
|
}
|
|
end = position
|
|
}
|
|
l836:
|
|
return true
|
|
l835:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 150 UlLine <- ((< '____' '_'* >) / (< Spacechar '_'+ &Spacechar >)) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
{
|
|
position844, thunkPosition844 := position, thunkPosition
|
|
begin = position
|
|
if !matchString("____") {
|
|
goto l845
|
|
}
|
|
l846:
|
|
{
|
|
position847, thunkPosition847 := position, thunkPosition
|
|
if !matchChar('_') {
|
|
goto l847
|
|
}
|
|
goto l846
|
|
l847:
|
|
position, thunkPosition = position847, thunkPosition847
|
|
}
|
|
end = position
|
|
goto l844
|
|
l845:
|
|
position, thunkPosition = position844, thunkPosition844
|
|
begin = position
|
|
if !p.rules[ruleSpacechar]() {
|
|
goto l843
|
|
}
|
|
if !matchChar('_') {
|
|
goto l843
|
|
}
|
|
l848:
|
|
{
|
|
position849, thunkPosition849 := position, thunkPosition
|
|
if !matchChar('_') {
|
|
goto l849
|
|
}
|
|
goto l848
|
|
l849:
|
|
position, thunkPosition = position849, thunkPosition849
|
|
}
|
|
{
|
|
position850, thunkPosition850 := position, thunkPosition
|
|
if !p.rules[ruleSpacechar]() {
|
|
goto l843
|
|
}
|
|
position, thunkPosition = position850, thunkPosition850
|
|
}
|
|
end = position
|
|
}
|
|
l844:
|
|
return true
|
|
l843:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 151 Emph <- (EmphStar / EmphUl) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
{
|
|
position852, thunkPosition852 := position, thunkPosition
|
|
if !p.rules[ruleEmphStar]() {
|
|
goto l853
|
|
}
|
|
goto l852
|
|
l853:
|
|
position, thunkPosition = position852, thunkPosition852
|
|
if !p.rules[ruleEmphUl]() {
|
|
goto l851
|
|
}
|
|
}
|
|
l852:
|
|
return true
|
|
l851:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 152 OneStarOpen <- (!StarLine '*' !Spacechar !Newline) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
{
|
|
position855, thunkPosition855 := position, thunkPosition
|
|
if !p.rules[ruleStarLine]() {
|
|
goto l855
|
|
}
|
|
goto l854
|
|
l855:
|
|
position, thunkPosition = position855, thunkPosition855
|
|
}
|
|
if !matchChar('*') {
|
|
goto l854
|
|
}
|
|
{
|
|
position856, thunkPosition856 := position, thunkPosition
|
|
if !p.rules[ruleSpacechar]() {
|
|
goto l856
|
|
}
|
|
goto l854
|
|
l856:
|
|
position, thunkPosition = position856, thunkPosition856
|
|
}
|
|
{
|
|
position857, thunkPosition857 := position, thunkPosition
|
|
if !p.rules[ruleNewline]() {
|
|
goto l857
|
|
}
|
|
goto l854
|
|
l857:
|
|
position, thunkPosition = position857, thunkPosition857
|
|
}
|
|
return true
|
|
l854:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 153 OneStarClose <- (!Spacechar !Newline Inline !StrongStar '*' { yy = a }) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
doarg(yyPush, 1)
|
|
{
|
|
position859, thunkPosition859 := position, thunkPosition
|
|
if !p.rules[ruleSpacechar]() {
|
|
goto l859
|
|
}
|
|
goto l858
|
|
l859:
|
|
position, thunkPosition = position859, thunkPosition859
|
|
}
|
|
{
|
|
position860, thunkPosition860 := position, thunkPosition
|
|
if !p.rules[ruleNewline]() {
|
|
goto l860
|
|
}
|
|
goto l858
|
|
l860:
|
|
position, thunkPosition = position860, thunkPosition860
|
|
}
|
|
if !p.rules[ruleInline]() {
|
|
goto l858
|
|
}
|
|
doarg(yySet, -1)
|
|
{
|
|
position861, thunkPosition861 := position, thunkPosition
|
|
if !p.rules[ruleStrongStar]() {
|
|
goto l861
|
|
}
|
|
goto l858
|
|
l861:
|
|
position, thunkPosition = position861, thunkPosition861
|
|
}
|
|
if !matchChar('*') {
|
|
goto l858
|
|
}
|
|
do(54)
|
|
doarg(yyPop, 1)
|
|
return true
|
|
l858:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 154 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 l862
|
|
}
|
|
if !p.rules[ruleStartList]() {
|
|
goto l862
|
|
}
|
|
doarg(yySet, -1)
|
|
l863:
|
|
{
|
|
position864, thunkPosition864 := position, thunkPosition
|
|
{
|
|
position865, thunkPosition865 := position, thunkPosition
|
|
if !p.rules[ruleOneStarClose]() {
|
|
goto l865
|
|
}
|
|
goto l864
|
|
l865:
|
|
position, thunkPosition = position865, thunkPosition865
|
|
}
|
|
if !p.rules[ruleInline]() {
|
|
goto l864
|
|
}
|
|
do(55)
|
|
goto l863
|
|
l864:
|
|
position, thunkPosition = position864, thunkPosition864
|
|
}
|
|
if !p.rules[ruleOneStarClose]() {
|
|
goto l862
|
|
}
|
|
do(56)
|
|
do(57)
|
|
doarg(yyPop, 1)
|
|
return true
|
|
l862:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 155 OneUlOpen <- (!UlLine '_' !Spacechar !Newline) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
{
|
|
position867, thunkPosition867 := position, thunkPosition
|
|
if !p.rules[ruleUlLine]() {
|
|
goto l867
|
|
}
|
|
goto l866
|
|
l867:
|
|
position, thunkPosition = position867, thunkPosition867
|
|
}
|
|
if !matchChar('_') {
|
|
goto l866
|
|
}
|
|
{
|
|
position868, thunkPosition868 := position, thunkPosition
|
|
if !p.rules[ruleSpacechar]() {
|
|
goto l868
|
|
}
|
|
goto l866
|
|
l868:
|
|
position, thunkPosition = position868, thunkPosition868
|
|
}
|
|
{
|
|
position869, thunkPosition869 := position, thunkPosition
|
|
if !p.rules[ruleNewline]() {
|
|
goto l869
|
|
}
|
|
goto l866
|
|
l869:
|
|
position, thunkPosition = position869, thunkPosition869
|
|
}
|
|
return true
|
|
l866:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 156 OneUlClose <- (!Spacechar !Newline Inline !StrongUl '_' !Alphanumeric { yy = a }) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
doarg(yyPush, 1)
|
|
{
|
|
position871, thunkPosition871 := position, thunkPosition
|
|
if !p.rules[ruleSpacechar]() {
|
|
goto l871
|
|
}
|
|
goto l870
|
|
l871:
|
|
position, thunkPosition = position871, thunkPosition871
|
|
}
|
|
{
|
|
position872, thunkPosition872 := position, thunkPosition
|
|
if !p.rules[ruleNewline]() {
|
|
goto l872
|
|
}
|
|
goto l870
|
|
l872:
|
|
position, thunkPosition = position872, thunkPosition872
|
|
}
|
|
if !p.rules[ruleInline]() {
|
|
goto l870
|
|
}
|
|
doarg(yySet, -1)
|
|
{
|
|
position873, thunkPosition873 := position, thunkPosition
|
|
if !p.rules[ruleStrongUl]() {
|
|
goto l873
|
|
}
|
|
goto l870
|
|
l873:
|
|
position, thunkPosition = position873, thunkPosition873
|
|
}
|
|
if !matchChar('_') {
|
|
goto l870
|
|
}
|
|
{
|
|
position874, thunkPosition874 := position, thunkPosition
|
|
if !p.rules[ruleAlphanumeric]() {
|
|
goto l874
|
|
}
|
|
goto l870
|
|
l874:
|
|
position, thunkPosition = position874, thunkPosition874
|
|
}
|
|
do(58)
|
|
doarg(yyPop, 1)
|
|
return true
|
|
l870:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 157 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 l875
|
|
}
|
|
if !p.rules[ruleStartList]() {
|
|
goto l875
|
|
}
|
|
doarg(yySet, -1)
|
|
l876:
|
|
{
|
|
position877, thunkPosition877 := position, thunkPosition
|
|
{
|
|
position878, thunkPosition878 := position, thunkPosition
|
|
if !p.rules[ruleOneUlClose]() {
|
|
goto l878
|
|
}
|
|
goto l877
|
|
l878:
|
|
position, thunkPosition = position878, thunkPosition878
|
|
}
|
|
if !p.rules[ruleInline]() {
|
|
goto l877
|
|
}
|
|
do(59)
|
|
goto l876
|
|
l877:
|
|
position, thunkPosition = position877, thunkPosition877
|
|
}
|
|
if !p.rules[ruleOneUlClose]() {
|
|
goto l875
|
|
}
|
|
do(60)
|
|
do(61)
|
|
doarg(yyPop, 1)
|
|
return true
|
|
l875:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 158 Strong <- (StrongStar / StrongUl) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
{
|
|
position880, thunkPosition880 := position, thunkPosition
|
|
if !p.rules[ruleStrongStar]() {
|
|
goto l881
|
|
}
|
|
goto l880
|
|
l881:
|
|
position, thunkPosition = position880, thunkPosition880
|
|
if !p.rules[ruleStrongUl]() {
|
|
goto l879
|
|
}
|
|
}
|
|
l880:
|
|
return true
|
|
l879:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 159 TwoStarOpen <- (!StarLine '**' !Spacechar !Newline) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
{
|
|
position883, thunkPosition883 := position, thunkPosition
|
|
if !p.rules[ruleStarLine]() {
|
|
goto l883
|
|
}
|
|
goto l882
|
|
l883:
|
|
position, thunkPosition = position883, thunkPosition883
|
|
}
|
|
if !matchString("**") {
|
|
goto l882
|
|
}
|
|
{
|
|
position884, thunkPosition884 := position, thunkPosition
|
|
if !p.rules[ruleSpacechar]() {
|
|
goto l884
|
|
}
|
|
goto l882
|
|
l884:
|
|
position, thunkPosition = position884, thunkPosition884
|
|
}
|
|
{
|
|
position885, thunkPosition885 := position, thunkPosition
|
|
if !p.rules[ruleNewline]() {
|
|
goto l885
|
|
}
|
|
goto l882
|
|
l885:
|
|
position, thunkPosition = position885, thunkPosition885
|
|
}
|
|
return true
|
|
l882:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 160 TwoStarClose <- (!Spacechar !Newline Inline '**' { yy = a }) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
doarg(yyPush, 1)
|
|
{
|
|
position887, thunkPosition887 := position, thunkPosition
|
|
if !p.rules[ruleSpacechar]() {
|
|
goto l887
|
|
}
|
|
goto l886
|
|
l887:
|
|
position, thunkPosition = position887, thunkPosition887
|
|
}
|
|
{
|
|
position888, thunkPosition888 := position, thunkPosition
|
|
if !p.rules[ruleNewline]() {
|
|
goto l888
|
|
}
|
|
goto l886
|
|
l888:
|
|
position, thunkPosition = position888, thunkPosition888
|
|
}
|
|
if !p.rules[ruleInline]() {
|
|
goto l886
|
|
}
|
|
doarg(yySet, -1)
|
|
if !matchString("**") {
|
|
goto l886
|
|
}
|
|
do(62)
|
|
doarg(yyPop, 1)
|
|
return true
|
|
l886:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 161 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 l889
|
|
}
|
|
if !p.rules[ruleStartList]() {
|
|
goto l889
|
|
}
|
|
doarg(yySet, -1)
|
|
l890:
|
|
{
|
|
position891, thunkPosition891 := position, thunkPosition
|
|
{
|
|
position892, thunkPosition892 := position, thunkPosition
|
|
if !p.rules[ruleTwoStarClose]() {
|
|
goto l892
|
|
}
|
|
goto l891
|
|
l892:
|
|
position, thunkPosition = position892, thunkPosition892
|
|
}
|
|
if !p.rules[ruleInline]() {
|
|
goto l891
|
|
}
|
|
do(63)
|
|
goto l890
|
|
l891:
|
|
position, thunkPosition = position891, thunkPosition891
|
|
}
|
|
if !p.rules[ruleTwoStarClose]() {
|
|
goto l889
|
|
}
|
|
do(64)
|
|
do(65)
|
|
doarg(yyPop, 1)
|
|
return true
|
|
l889:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 162 TwoUlOpen <- (!UlLine '__' !Spacechar !Newline) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
{
|
|
position894, thunkPosition894 := position, thunkPosition
|
|
if !p.rules[ruleUlLine]() {
|
|
goto l894
|
|
}
|
|
goto l893
|
|
l894:
|
|
position, thunkPosition = position894, thunkPosition894
|
|
}
|
|
if !matchString("__") {
|
|
goto l893
|
|
}
|
|
{
|
|
position895, thunkPosition895 := position, thunkPosition
|
|
if !p.rules[ruleSpacechar]() {
|
|
goto l895
|
|
}
|
|
goto l893
|
|
l895:
|
|
position, thunkPosition = position895, thunkPosition895
|
|
}
|
|
{
|
|
position896, thunkPosition896 := position, thunkPosition
|
|
if !p.rules[ruleNewline]() {
|
|
goto l896
|
|
}
|
|
goto l893
|
|
l896:
|
|
position, thunkPosition = position896, thunkPosition896
|
|
}
|
|
return true
|
|
l893:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 163 TwoUlClose <- (!Spacechar !Newline Inline '__' !Alphanumeric { yy = a }) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
doarg(yyPush, 1)
|
|
{
|
|
position898, thunkPosition898 := position, thunkPosition
|
|
if !p.rules[ruleSpacechar]() {
|
|
goto l898
|
|
}
|
|
goto l897
|
|
l898:
|
|
position, thunkPosition = position898, thunkPosition898
|
|
}
|
|
{
|
|
position899, thunkPosition899 := position, thunkPosition
|
|
if !p.rules[ruleNewline]() {
|
|
goto l899
|
|
}
|
|
goto l897
|
|
l899:
|
|
position, thunkPosition = position899, thunkPosition899
|
|
}
|
|
if !p.rules[ruleInline]() {
|
|
goto l897
|
|
}
|
|
doarg(yySet, -1)
|
|
if !matchString("__") {
|
|
goto l897
|
|
}
|
|
{
|
|
position900, thunkPosition900 := position, thunkPosition
|
|
if !p.rules[ruleAlphanumeric]() {
|
|
goto l900
|
|
}
|
|
goto l897
|
|
l900:
|
|
position, thunkPosition = position900, thunkPosition900
|
|
}
|
|
do(66)
|
|
doarg(yyPop, 1)
|
|
return true
|
|
l897:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 164 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 l901
|
|
}
|
|
if !p.rules[ruleStartList]() {
|
|
goto l901
|
|
}
|
|
doarg(yySet, -1)
|
|
l902:
|
|
{
|
|
position903, thunkPosition903 := position, thunkPosition
|
|
{
|
|
position904, thunkPosition904 := position, thunkPosition
|
|
if !p.rules[ruleTwoUlClose]() {
|
|
goto l904
|
|
}
|
|
goto l903
|
|
l904:
|
|
position, thunkPosition = position904, thunkPosition904
|
|
}
|
|
if !p.rules[ruleInline]() {
|
|
goto l903
|
|
}
|
|
do(67)
|
|
goto l902
|
|
l903:
|
|
position, thunkPosition = position903, thunkPosition903
|
|
}
|
|
if !p.rules[ruleTwoUlClose]() {
|
|
goto l901
|
|
}
|
|
do(68)
|
|
do(69)
|
|
doarg(yyPop, 1)
|
|
return true
|
|
l901:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 165 Image <- ('!' (ExplicitLink / ReferenceLink) { if yy.key == LINK {
|
|
yy.key = IMAGE
|
|
} else {
|
|
result := yy
|
|
yy.children = cons(mk_str("!"), result.children)
|
|
}
|
|
}) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('!') {
|
|
goto l905
|
|
}
|
|
{
|
|
position906, thunkPosition906 := position, thunkPosition
|
|
if !p.rules[ruleExplicitLink]() {
|
|
goto l907
|
|
}
|
|
goto l906
|
|
l907:
|
|
position, thunkPosition = position906, thunkPosition906
|
|
if !p.rules[ruleReferenceLink]() {
|
|
goto l905
|
|
}
|
|
}
|
|
l906:
|
|
do(70)
|
|
return true
|
|
l905:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 166 Link <- (ExplicitLink / ReferenceLink / AutoLink) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
{
|
|
position909, thunkPosition909 := position, thunkPosition
|
|
if !p.rules[ruleExplicitLink]() {
|
|
goto l910
|
|
}
|
|
goto l909
|
|
l910:
|
|
position, thunkPosition = position909, thunkPosition909
|
|
if !p.rules[ruleReferenceLink]() {
|
|
goto l911
|
|
}
|
|
goto l909
|
|
l911:
|
|
position, thunkPosition = position909, thunkPosition909
|
|
if !p.rules[ruleAutoLink]() {
|
|
goto l908
|
|
}
|
|
}
|
|
l909:
|
|
return true
|
|
l908:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 167 ReferenceLink <- (ReferenceLinkDouble / ReferenceLinkSingle) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
{
|
|
position913, thunkPosition913 := position, thunkPosition
|
|
if !p.rules[ruleReferenceLinkDouble]() {
|
|
goto l914
|
|
}
|
|
goto l913
|
|
l914:
|
|
position, thunkPosition = position913, thunkPosition913
|
|
if !p.rules[ruleReferenceLinkSingle]() {
|
|
goto l912
|
|
}
|
|
}
|
|
l913:
|
|
return true
|
|
l912:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 168 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 l915
|
|
}
|
|
doarg(yySet, -1)
|
|
begin = position
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l915
|
|
}
|
|
end = position
|
|
{
|
|
position916, thunkPosition916 := position, thunkPosition
|
|
if !matchString("[]") {
|
|
goto l916
|
|
}
|
|
goto l915
|
|
l916:
|
|
position, thunkPosition = position916, thunkPosition916
|
|
}
|
|
if !p.rules[ruleLabel]() {
|
|
goto l915
|
|
}
|
|
doarg(yySet, -2)
|
|
do(71)
|
|
doarg(yyPop, 2)
|
|
return true
|
|
l915:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 169 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 l917
|
|
}
|
|
doarg(yySet, -1)
|
|
begin = position
|
|
{
|
|
position918, thunkPosition918 := position, thunkPosition
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l918
|
|
}
|
|
if !matchString("[]") {
|
|
goto l918
|
|
}
|
|
goto l919
|
|
l918:
|
|
position, thunkPosition = position918, thunkPosition918
|
|
}
|
|
l919:
|
|
end = position
|
|
do(72)
|
|
doarg(yyPop, 1)
|
|
return true
|
|
l917:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 170 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 l920
|
|
}
|
|
doarg(yySet, -2)
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l920
|
|
}
|
|
if !matchChar('(') {
|
|
goto l920
|
|
}
|
|
if !p.rules[ruleSp]() {
|
|
goto l920
|
|
}
|
|
if !p.rules[ruleSource]() {
|
|
goto l920
|
|
}
|
|
doarg(yySet, -1)
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l920
|
|
}
|
|
if !p.rules[ruleTitle]() {
|
|
goto l920
|
|
}
|
|
doarg(yySet, -3)
|
|
if !p.rules[ruleSp]() {
|
|
goto l920
|
|
}
|
|
if !matchChar(')') {
|
|
goto l920
|
|
}
|
|
do(73)
|
|
doarg(yyPop, 3)
|
|
return true
|
|
l920:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 171 Source <- ((('<' < SourceContents > '>') / (< SourceContents >)) { yy = mk_str(yytext) }) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
{
|
|
position922, thunkPosition922 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l923
|
|
}
|
|
begin = position
|
|
if !p.rules[ruleSourceContents]() {
|
|
goto l923
|
|
}
|
|
end = position
|
|
if !matchChar('>') {
|
|
goto l923
|
|
}
|
|
goto l922
|
|
l923:
|
|
position, thunkPosition = position922, thunkPosition922
|
|
begin = position
|
|
if !p.rules[ruleSourceContents]() {
|
|
goto l921
|
|
}
|
|
end = position
|
|
}
|
|
l922:
|
|
do(74)
|
|
return true
|
|
l921:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 172 SourceContents <- (((!'(' !')' !'>' Nonspacechar)+ / ('(' SourceContents ')'))* / '') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
{
|
|
position925, thunkPosition925 := position, thunkPosition
|
|
l927:
|
|
{
|
|
position928, thunkPosition928 := position, thunkPosition
|
|
{
|
|
position929, thunkPosition929 := position, thunkPosition
|
|
if peekChar('(') {
|
|
goto l930
|
|
}
|
|
if peekChar(')') {
|
|
goto l930
|
|
}
|
|
if peekChar('>') {
|
|
goto l930
|
|
}
|
|
if !p.rules[ruleNonspacechar]() {
|
|
goto l930
|
|
}
|
|
l931:
|
|
{
|
|
position932, thunkPosition932 := position, thunkPosition
|
|
if peekChar('(') {
|
|
goto l932
|
|
}
|
|
if peekChar(')') {
|
|
goto l932
|
|
}
|
|
if peekChar('>') {
|
|
goto l932
|
|
}
|
|
if !p.rules[ruleNonspacechar]() {
|
|
goto l932
|
|
}
|
|
goto l931
|
|
l932:
|
|
position, thunkPosition = position932, thunkPosition932
|
|
}
|
|
goto l929
|
|
l930:
|
|
position, thunkPosition = position929, thunkPosition929
|
|
if !matchChar('(') {
|
|
goto l928
|
|
}
|
|
if !p.rules[ruleSourceContents]() {
|
|
goto l928
|
|
}
|
|
if !matchChar(')') {
|
|
goto l928
|
|
}
|
|
}
|
|
l929:
|
|
goto l927
|
|
l928:
|
|
position, thunkPosition = position928, thunkPosition928
|
|
}
|
|
goto l925
|
|
_, _ = position925, thunkPosition925
|
|
}
|
|
l925:
|
|
return true
|
|
_, _ = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 173 Title <- ((TitleSingle / TitleDouble / (< '' >)) { yy = mk_str(yytext) }) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
{
|
|
position934, thunkPosition934 := position, thunkPosition
|
|
if !p.rules[ruleTitleSingle]() {
|
|
goto l935
|
|
}
|
|
goto l934
|
|
l935:
|
|
position, thunkPosition = position934, thunkPosition934
|
|
if !p.rules[ruleTitleDouble]() {
|
|
goto l936
|
|
}
|
|
goto l934
|
|
l936:
|
|
position, thunkPosition = position934, thunkPosition934
|
|
begin = position
|
|
if !peekDot() {
|
|
goto l933
|
|
}
|
|
end = position
|
|
}
|
|
l934:
|
|
do(75)
|
|
return true
|
|
l933:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 174 TitleSingle <- ('\'' < (!('\'' Sp (')' / Newline)) .)* > '\'') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('\'') {
|
|
goto l937
|
|
}
|
|
begin = position
|
|
l938:
|
|
{
|
|
position939, thunkPosition939 := position, thunkPosition
|
|
{
|
|
position940, thunkPosition940 := position, thunkPosition
|
|
if !matchChar('\'') {
|
|
goto l940
|
|
}
|
|
if !p.rules[ruleSp]() {
|
|
goto l940
|
|
}
|
|
{
|
|
position941, thunkPosition941 := position, thunkPosition
|
|
if !matchChar(')') {
|
|
goto l942
|
|
}
|
|
goto l941
|
|
l942:
|
|
position, thunkPosition = position941, thunkPosition941
|
|
if !p.rules[ruleNewline]() {
|
|
goto l940
|
|
}
|
|
}
|
|
l941:
|
|
goto l939
|
|
l940:
|
|
position, thunkPosition = position940, thunkPosition940
|
|
}
|
|
if !matchDot() {
|
|
goto l939
|
|
}
|
|
goto l938
|
|
l939:
|
|
position, thunkPosition = position939, thunkPosition939
|
|
}
|
|
end = position
|
|
if !matchChar('\'') {
|
|
goto l937
|
|
}
|
|
return true
|
|
l937:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 175 TitleDouble <- ('"' < (!('"' Sp (')' / Newline)) .)* > '"') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('"') {
|
|
goto l943
|
|
}
|
|
begin = position
|
|
l944:
|
|
{
|
|
position945, thunkPosition945 := position, thunkPosition
|
|
{
|
|
position946, thunkPosition946 := position, thunkPosition
|
|
if !matchChar('"') {
|
|
goto l946
|
|
}
|
|
if !p.rules[ruleSp]() {
|
|
goto l946
|
|
}
|
|
{
|
|
position947, thunkPosition947 := position, thunkPosition
|
|
if !matchChar(')') {
|
|
goto l948
|
|
}
|
|
goto l947
|
|
l948:
|
|
position, thunkPosition = position947, thunkPosition947
|
|
if !p.rules[ruleNewline]() {
|
|
goto l946
|
|
}
|
|
}
|
|
l947:
|
|
goto l945
|
|
l946:
|
|
position, thunkPosition = position946, thunkPosition946
|
|
}
|
|
if !matchDot() {
|
|
goto l945
|
|
}
|
|
goto l944
|
|
l945:
|
|
position, thunkPosition = position945, thunkPosition945
|
|
}
|
|
end = position
|
|
if !matchChar('"') {
|
|
goto l943
|
|
}
|
|
return true
|
|
l943:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 176 AutoLink <- (AutoLinkUrl / AutoLinkEmail) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
{
|
|
position950, thunkPosition950 := position, thunkPosition
|
|
if !p.rules[ruleAutoLinkUrl]() {
|
|
goto l951
|
|
}
|
|
goto l950
|
|
l951:
|
|
position, thunkPosition = position950, thunkPosition950
|
|
if !p.rules[ruleAutoLinkEmail]() {
|
|
goto l949
|
|
}
|
|
}
|
|
l950:
|
|
return true
|
|
l949:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 177 AutoLinkUrl <- ('<' < [A-Za-z]+ '://' (!Newline !'>' .)+ > '>' { yy = mk_link(mk_str(yytext), yytext, "") }) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l952
|
|
}
|
|
begin = position
|
|
if !matchClass(4) {
|
|
goto l952
|
|
}
|
|
l953:
|
|
{
|
|
position954, thunkPosition954 := position, thunkPosition
|
|
if !matchClass(4) {
|
|
goto l954
|
|
}
|
|
goto l953
|
|
l954:
|
|
position, thunkPosition = position954, thunkPosition954
|
|
}
|
|
if !matchString("://") {
|
|
goto l952
|
|
}
|
|
{
|
|
position957, thunkPosition957 := position, thunkPosition
|
|
if !p.rules[ruleNewline]() {
|
|
goto l957
|
|
}
|
|
goto l952
|
|
l957:
|
|
position, thunkPosition = position957, thunkPosition957
|
|
}
|
|
if peekChar('>') {
|
|
goto l952
|
|
}
|
|
if !matchDot() {
|
|
goto l952
|
|
}
|
|
l955:
|
|
{
|
|
position956, thunkPosition956 := position, thunkPosition
|
|
{
|
|
position958, thunkPosition958 := position, thunkPosition
|
|
if !p.rules[ruleNewline]() {
|
|
goto l958
|
|
}
|
|
goto l956
|
|
l958:
|
|
position, thunkPosition = position958, thunkPosition958
|
|
}
|
|
if peekChar('>') {
|
|
goto l956
|
|
}
|
|
if !matchDot() {
|
|
goto l956
|
|
}
|
|
goto l955
|
|
l956:
|
|
position, thunkPosition = position956, thunkPosition956
|
|
}
|
|
end = position
|
|
if !matchChar('>') {
|
|
goto l952
|
|
}
|
|
do(76)
|
|
return true
|
|
l952:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 178 AutoLinkEmail <- ('<' < [-A-Za-z0-9+_]+ '@' (!Newline !'>' .)+ > '>' {
|
|
yy = mk_link(mk_str(yytext), "mailto:"+yytext, "")
|
|
}) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l959
|
|
}
|
|
begin = position
|
|
if !matchClass(9) {
|
|
goto l959
|
|
}
|
|
l960:
|
|
{
|
|
position961, thunkPosition961 := position, thunkPosition
|
|
if !matchClass(9) {
|
|
goto l961
|
|
}
|
|
goto l960
|
|
l961:
|
|
position, thunkPosition = position961, thunkPosition961
|
|
}
|
|
if !matchChar('@') {
|
|
goto l959
|
|
}
|
|
{
|
|
position964, thunkPosition964 := position, thunkPosition
|
|
if !p.rules[ruleNewline]() {
|
|
goto l964
|
|
}
|
|
goto l959
|
|
l964:
|
|
position, thunkPosition = position964, thunkPosition964
|
|
}
|
|
if peekChar('>') {
|
|
goto l959
|
|
}
|
|
if !matchDot() {
|
|
goto l959
|
|
}
|
|
l962:
|
|
{
|
|
position963, thunkPosition963 := position, thunkPosition
|
|
{
|
|
position965, thunkPosition965 := position, thunkPosition
|
|
if !p.rules[ruleNewline]() {
|
|
goto l965
|
|
}
|
|
goto l963
|
|
l965:
|
|
position, thunkPosition = position965, thunkPosition965
|
|
}
|
|
if peekChar('>') {
|
|
goto l963
|
|
}
|
|
if !matchDot() {
|
|
goto l963
|
|
}
|
|
goto l962
|
|
l963:
|
|
position, thunkPosition = position963, thunkPosition963
|
|
}
|
|
end = position
|
|
if !matchChar('>') {
|
|
goto l959
|
|
}
|
|
do(77)
|
|
return true
|
|
l959:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 179 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 l966
|
|
}
|
|
{
|
|
position967, thunkPosition967 := position, thunkPosition
|
|
if !matchString("[]") {
|
|
goto l967
|
|
}
|
|
goto l966
|
|
l967:
|
|
position, thunkPosition = position967, thunkPosition967
|
|
}
|
|
if !p.rules[ruleLabel]() {
|
|
goto l966
|
|
}
|
|
doarg(yySet, -2)
|
|
if !matchChar(':') {
|
|
goto l966
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l966
|
|
}
|
|
if !p.rules[ruleRefSrc]() {
|
|
goto l966
|
|
}
|
|
doarg(yySet, -1)
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l966
|
|
}
|
|
if !p.rules[ruleRefTitle]() {
|
|
goto l966
|
|
}
|
|
doarg(yySet, -3)
|
|
l968:
|
|
{
|
|
position969, thunkPosition969 := position, thunkPosition
|
|
if !p.rules[ruleBlankLine]() {
|
|
goto l969
|
|
}
|
|
goto l968
|
|
l969:
|
|
position, thunkPosition = position969, thunkPosition969
|
|
}
|
|
do(78)
|
|
doarg(yyPop, 3)
|
|
return true
|
|
l966:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 180 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 l970
|
|
}
|
|
{
|
|
position971, thunkPosition971 := position, thunkPosition
|
|
if peekChar('^') {
|
|
goto l972
|
|
}
|
|
if !( p.extension.Notes ) {
|
|
goto l972
|
|
}
|
|
goto l971
|
|
l972:
|
|
position, thunkPosition = position971, thunkPosition971
|
|
if !peekDot() {
|
|
goto l970
|
|
}
|
|
if !( !p.extension.Notes ) {
|
|
goto l970
|
|
}
|
|
}
|
|
l971:
|
|
if !p.rules[ruleStartList]() {
|
|
goto l970
|
|
}
|
|
doarg(yySet, -1)
|
|
l973:
|
|
{
|
|
position974, thunkPosition974 := position, thunkPosition
|
|
if peekChar(']') {
|
|
goto l974
|
|
}
|
|
if !p.rules[ruleInline]() {
|
|
goto l974
|
|
}
|
|
do(79)
|
|
goto l973
|
|
l974:
|
|
position, thunkPosition = position974, thunkPosition974
|
|
}
|
|
if !matchChar(']') {
|
|
goto l970
|
|
}
|
|
do(80)
|
|
doarg(yyPop, 1)
|
|
return true
|
|
l970:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 181 RefSrc <- (< Nonspacechar+ > { yy = mk_str(yytext)
|
|
yy.key = HTML }) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
begin = position
|
|
if !p.rules[ruleNonspacechar]() {
|
|
goto l975
|
|
}
|
|
l976:
|
|
{
|
|
position977, thunkPosition977 := position, thunkPosition
|
|
if !p.rules[ruleNonspacechar]() {
|
|
goto l977
|
|
}
|
|
goto l976
|
|
l977:
|
|
position, thunkPosition = position977, thunkPosition977
|
|
}
|
|
end = position
|
|
do(81)
|
|
return true
|
|
l975:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 182 RefTitle <- ((RefTitleSingle / RefTitleDouble / RefTitleParens / EmptyTitle) { yy = mk_str(yytext) }) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
{
|
|
position979, thunkPosition979 := position, thunkPosition
|
|
if !p.rules[ruleRefTitleSingle]() {
|
|
goto l980
|
|
}
|
|
goto l979
|
|
l980:
|
|
position, thunkPosition = position979, thunkPosition979
|
|
if !p.rules[ruleRefTitleDouble]() {
|
|
goto l981
|
|
}
|
|
goto l979
|
|
l981:
|
|
position, thunkPosition = position979, thunkPosition979
|
|
if !p.rules[ruleRefTitleParens]() {
|
|
goto l982
|
|
}
|
|
goto l979
|
|
l982:
|
|
position, thunkPosition = position979, thunkPosition979
|
|
if !p.rules[ruleEmptyTitle]() {
|
|
goto l978
|
|
}
|
|
}
|
|
l979:
|
|
do(82)
|
|
return true
|
|
l978:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 183 EmptyTitle <- (< '' >) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
begin = position
|
|
if !peekDot() {
|
|
goto l983
|
|
}
|
|
end = position
|
|
return true
|
|
l983:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 184 RefTitleSingle <- ('\'' < (!(('\'' Sp Newline) / Newline) .)* > '\'') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('\'') {
|
|
goto l984
|
|
}
|
|
begin = position
|
|
l985:
|
|
{
|
|
position986, thunkPosition986 := position, thunkPosition
|
|
{
|
|
position987, thunkPosition987 := position, thunkPosition
|
|
{
|
|
position988, thunkPosition988 := position, thunkPosition
|
|
if !matchChar('\'') {
|
|
goto l989
|
|
}
|
|
if !p.rules[ruleSp]() {
|
|
goto l989
|
|
}
|
|
if !p.rules[ruleNewline]() {
|
|
goto l989
|
|
}
|
|
goto l988
|
|
l989:
|
|
position, thunkPosition = position988, thunkPosition988
|
|
if !p.rules[ruleNewline]() {
|
|
goto l987
|
|
}
|
|
}
|
|
l988:
|
|
goto l986
|
|
l987:
|
|
position, thunkPosition = position987, thunkPosition987
|
|
}
|
|
if !matchDot() {
|
|
goto l986
|
|
}
|
|
goto l985
|
|
l986:
|
|
position, thunkPosition = position986, thunkPosition986
|
|
}
|
|
end = position
|
|
if !matchChar('\'') {
|
|
goto l984
|
|
}
|
|
return true
|
|
l984:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 185 RefTitleDouble <- ('"' < (!(('"' Sp Newline) / Newline) .)* > '"') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('"') {
|
|
goto l990
|
|
}
|
|
begin = position
|
|
l991:
|
|
{
|
|
position992, thunkPosition992 := position, thunkPosition
|
|
{
|
|
position993, thunkPosition993 := position, thunkPosition
|
|
{
|
|
position994, thunkPosition994 := position, thunkPosition
|
|
if !matchChar('"') {
|
|
goto l995
|
|
}
|
|
if !p.rules[ruleSp]() {
|
|
goto l995
|
|
}
|
|
if !p.rules[ruleNewline]() {
|
|
goto l995
|
|
}
|
|
goto l994
|
|
l995:
|
|
position, thunkPosition = position994, thunkPosition994
|
|
if !p.rules[ruleNewline]() {
|
|
goto l993
|
|
}
|
|
}
|
|
l994:
|
|
goto l992
|
|
l993:
|
|
position, thunkPosition = position993, thunkPosition993
|
|
}
|
|
if !matchDot() {
|
|
goto l992
|
|
}
|
|
goto l991
|
|
l992:
|
|
position, thunkPosition = position992, thunkPosition992
|
|
}
|
|
end = position
|
|
if !matchChar('"') {
|
|
goto l990
|
|
}
|
|
return true
|
|
l990:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 186 RefTitleParens <- ('(' < (!((')' Sp Newline) / Newline) .)* > ')') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('(') {
|
|
goto l996
|
|
}
|
|
begin = position
|
|
l997:
|
|
{
|
|
position998, thunkPosition998 := position, thunkPosition
|
|
{
|
|
position999, thunkPosition999 := position, thunkPosition
|
|
{
|
|
position1000, thunkPosition1000 := position, thunkPosition
|
|
if !matchChar(')') {
|
|
goto l1001
|
|
}
|
|
if !p.rules[ruleSp]() {
|
|
goto l1001
|
|
}
|
|
if !p.rules[ruleNewline]() {
|
|
goto l1001
|
|
}
|
|
goto l1000
|
|
l1001:
|
|
position, thunkPosition = position1000, thunkPosition1000
|
|
if !p.rules[ruleNewline]() {
|
|
goto l999
|
|
}
|
|
}
|
|
l1000:
|
|
goto l998
|
|
l999:
|
|
position, thunkPosition = position999, thunkPosition999
|
|
}
|
|
if !matchDot() {
|
|
goto l998
|
|
}
|
|
goto l997
|
|
l998:
|
|
position, thunkPosition = position998, thunkPosition998
|
|
}
|
|
end = position
|
|
if !matchChar(')') {
|
|
goto l996
|
|
}
|
|
return true
|
|
l996:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 187 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 l1002
|
|
}
|
|
doarg(yySet, -1)
|
|
l1003:
|
|
{
|
|
position1004, thunkPosition1004 := position, thunkPosition
|
|
{
|
|
position1005, thunkPosition1005 := position, thunkPosition
|
|
if !p.rules[ruleReference]() {
|
|
goto l1006
|
|
}
|
|
doarg(yySet, -2)
|
|
do(83)
|
|
goto l1005
|
|
l1006:
|
|
position, thunkPosition = position1005, thunkPosition1005
|
|
if !p.rules[ruleSkipBlock]() {
|
|
goto l1004
|
|
}
|
|
}
|
|
l1005:
|
|
goto l1003
|
|
l1004:
|
|
position, thunkPosition = position1004, thunkPosition1004
|
|
}
|
|
do(84)
|
|
if !(commit(thunkPosition0)) {
|
|
goto l1002
|
|
}
|
|
doarg(yyPop, 2)
|
|
return true
|
|
l1002:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 188 Ticks1 <- ('`' !'`') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('`') {
|
|
goto l1007
|
|
}
|
|
if peekChar('`') {
|
|
goto l1007
|
|
}
|
|
return true
|
|
l1007:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 189 Ticks2 <- ('``' !'`') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchString("``") {
|
|
goto l1008
|
|
}
|
|
if peekChar('`') {
|
|
goto l1008
|
|
}
|
|
return true
|
|
l1008:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 190 Ticks3 <- ('```' !'`') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchString("```") {
|
|
goto l1009
|
|
}
|
|
if peekChar('`') {
|
|
goto l1009
|
|
}
|
|
return true
|
|
l1009:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 191 Ticks4 <- ('````' !'`') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchString("````") {
|
|
goto l1010
|
|
}
|
|
if peekChar('`') {
|
|
goto l1010
|
|
}
|
|
return true
|
|
l1010:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 192 Ticks5 <- ('`````' !'`') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchString("`````") {
|
|
goto l1011
|
|
}
|
|
if peekChar('`') {
|
|
goto l1011
|
|
}
|
|
return true
|
|
l1011:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 193 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
|
|
{
|
|
position1013, thunkPosition1013 := position, thunkPosition
|
|
if !p.rules[ruleTicks1]() {
|
|
goto l1014
|
|
}
|
|
if !p.rules[ruleSp]() {
|
|
goto l1014
|
|
}
|
|
begin = position
|
|
{
|
|
position1017, thunkPosition1017 := position, thunkPosition
|
|
if peekChar('`') {
|
|
goto l1018
|
|
}
|
|
if !p.rules[ruleNonspacechar]() {
|
|
goto l1018
|
|
}
|
|
l1019:
|
|
{
|
|
position1020, thunkPosition1020 := position, thunkPosition
|
|
if peekChar('`') {
|
|
goto l1020
|
|
}
|
|
if !p.rules[ruleNonspacechar]() {
|
|
goto l1020
|
|
}
|
|
goto l1019
|
|
l1020:
|
|
position, thunkPosition = position1020, thunkPosition1020
|
|
}
|
|
goto l1017
|
|
l1018:
|
|
position, thunkPosition = position1017, thunkPosition1017
|
|
{
|
|
position1022, thunkPosition1022 := position, thunkPosition
|
|
if !p.rules[ruleTicks1]() {
|
|
goto l1022
|
|
}
|
|
goto l1021
|
|
l1022:
|
|
position, thunkPosition = position1022, thunkPosition1022
|
|
}
|
|
if !matchChar('`') {
|
|
goto l1021
|
|
}
|
|
l1023:
|
|
{
|
|
position1024, thunkPosition1024 := position, thunkPosition
|
|
if !matchChar('`') {
|
|
goto l1024
|
|
}
|
|
goto l1023
|
|
l1024:
|
|
position, thunkPosition = position1024, thunkPosition1024
|
|
}
|
|
goto l1017
|
|
l1021:
|
|
position, thunkPosition = position1017, thunkPosition1017
|
|
{
|
|
position1025, thunkPosition1025 := position, thunkPosition
|
|
if !p.rules[ruleSp]() {
|
|
goto l1025
|
|
}
|
|
if !p.rules[ruleTicks1]() {
|
|
goto l1025
|
|
}
|
|
goto l1014
|
|
l1025:
|
|
position, thunkPosition = position1025, thunkPosition1025
|
|
}
|
|
{
|
|
position1026, thunkPosition1026 := position, thunkPosition
|
|
if !p.rules[ruleSpacechar]() {
|
|
goto l1027
|
|
}
|
|
goto l1026
|
|
l1027:
|
|
position, thunkPosition = position1026, thunkPosition1026
|
|
if !p.rules[ruleNewline]() {
|
|
goto l1014
|
|
}
|
|
{
|
|
position1028, thunkPosition1028 := position, thunkPosition
|
|
if !p.rules[ruleBlankLine]() {
|
|
goto l1028
|
|
}
|
|
goto l1014
|
|
l1028:
|
|
position, thunkPosition = position1028, thunkPosition1028
|
|
}
|
|
}
|
|
l1026:
|
|
}
|
|
l1017:
|
|
l1015:
|
|
{
|
|
position1016, thunkPosition1016 := position, thunkPosition
|
|
{
|
|
position1029, thunkPosition1029 := position, thunkPosition
|
|
if peekChar('`') {
|
|
goto l1030
|
|
}
|
|
if !p.rules[ruleNonspacechar]() {
|
|
goto l1030
|
|
}
|
|
l1031:
|
|
{
|
|
position1032, thunkPosition1032 := position, thunkPosition
|
|
if peekChar('`') {
|
|
goto l1032
|
|
}
|
|
if !p.rules[ruleNonspacechar]() {
|
|
goto l1032
|
|
}
|
|
goto l1031
|
|
l1032:
|
|
position, thunkPosition = position1032, thunkPosition1032
|
|
}
|
|
goto l1029
|
|
l1030:
|
|
position, thunkPosition = position1029, thunkPosition1029
|
|
{
|
|
position1034, thunkPosition1034 := position, thunkPosition
|
|
if !p.rules[ruleTicks1]() {
|
|
goto l1034
|
|
}
|
|
goto l1033
|
|
l1034:
|
|
position, thunkPosition = position1034, thunkPosition1034
|
|
}
|
|
if !matchChar('`') {
|
|
goto l1033
|
|
}
|
|
l1035:
|
|
{
|
|
position1036, thunkPosition1036 := position, thunkPosition
|
|
if !matchChar('`') {
|
|
goto l1036
|
|
}
|
|
goto l1035
|
|
l1036:
|
|
position, thunkPosition = position1036, thunkPosition1036
|
|
}
|
|
goto l1029
|
|
l1033:
|
|
position, thunkPosition = position1029, thunkPosition1029
|
|
{
|
|
position1037, thunkPosition1037 := position, thunkPosition
|
|
if !p.rules[ruleSp]() {
|
|
goto l1037
|
|
}
|
|
if !p.rules[ruleTicks1]() {
|
|
goto l1037
|
|
}
|
|
goto l1016
|
|
l1037:
|
|
position, thunkPosition = position1037, thunkPosition1037
|
|
}
|
|
{
|
|
position1038, thunkPosition1038 := position, thunkPosition
|
|
if !p.rules[ruleSpacechar]() {
|
|
goto l1039
|
|
}
|
|
goto l1038
|
|
l1039:
|
|
position, thunkPosition = position1038, thunkPosition1038
|
|
if !p.rules[ruleNewline]() {
|
|
goto l1016
|
|
}
|
|
{
|
|
position1040, thunkPosition1040 := position, thunkPosition
|
|
if !p.rules[ruleBlankLine]() {
|
|
goto l1040
|
|
}
|
|
goto l1016
|
|
l1040:
|
|
position, thunkPosition = position1040, thunkPosition1040
|
|
}
|
|
}
|
|
l1038:
|
|
}
|
|
l1029:
|
|
goto l1015
|
|
l1016:
|
|
position, thunkPosition = position1016, thunkPosition1016
|
|
}
|
|
end = position
|
|
if !p.rules[ruleSp]() {
|
|
goto l1014
|
|
}
|
|
if !p.rules[ruleTicks1]() {
|
|
goto l1014
|
|
}
|
|
goto l1013
|
|
l1014:
|
|
position, thunkPosition = position1013, thunkPosition1013
|
|
if !p.rules[ruleTicks2]() {
|
|
goto l1041
|
|
}
|
|
if !p.rules[ruleSp]() {
|
|
goto l1041
|
|
}
|
|
begin = position
|
|
{
|
|
position1044, thunkPosition1044 := position, thunkPosition
|
|
if peekChar('`') {
|
|
goto l1045
|
|
}
|
|
if !p.rules[ruleNonspacechar]() {
|
|
goto l1045
|
|
}
|
|
l1046:
|
|
{
|
|
position1047, thunkPosition1047 := position, thunkPosition
|
|
if peekChar('`') {
|
|
goto l1047
|
|
}
|
|
if !p.rules[ruleNonspacechar]() {
|
|
goto l1047
|
|
}
|
|
goto l1046
|
|
l1047:
|
|
position, thunkPosition = position1047, thunkPosition1047
|
|
}
|
|
goto l1044
|
|
l1045:
|
|
position, thunkPosition = position1044, thunkPosition1044
|
|
{
|
|
position1049, thunkPosition1049 := position, thunkPosition
|
|
if !p.rules[ruleTicks2]() {
|
|
goto l1049
|
|
}
|
|
goto l1048
|
|
l1049:
|
|
position, thunkPosition = position1049, thunkPosition1049
|
|
}
|
|
if !matchChar('`') {
|
|
goto l1048
|
|
}
|
|
l1050:
|
|
{
|
|
position1051, thunkPosition1051 := position, thunkPosition
|
|
if !matchChar('`') {
|
|
goto l1051
|
|
}
|
|
goto l1050
|
|
l1051:
|
|
position, thunkPosition = position1051, thunkPosition1051
|
|
}
|
|
goto l1044
|
|
l1048:
|
|
position, thunkPosition = position1044, thunkPosition1044
|
|
{
|
|
position1052, thunkPosition1052 := position, thunkPosition
|
|
if !p.rules[ruleSp]() {
|
|
goto l1052
|
|
}
|
|
if !p.rules[ruleTicks2]() {
|
|
goto l1052
|
|
}
|
|
goto l1041
|
|
l1052:
|
|
position, thunkPosition = position1052, thunkPosition1052
|
|
}
|
|
{
|
|
position1053, thunkPosition1053 := position, thunkPosition
|
|
if !p.rules[ruleSpacechar]() {
|
|
goto l1054
|
|
}
|
|
goto l1053
|
|
l1054:
|
|
position, thunkPosition = position1053, thunkPosition1053
|
|
if !p.rules[ruleNewline]() {
|
|
goto l1041
|
|
}
|
|
{
|
|
position1055, thunkPosition1055 := position, thunkPosition
|
|
if !p.rules[ruleBlankLine]() {
|
|
goto l1055
|
|
}
|
|
goto l1041
|
|
l1055:
|
|
position, thunkPosition = position1055, thunkPosition1055
|
|
}
|
|
}
|
|
l1053:
|
|
}
|
|
l1044:
|
|
l1042:
|
|
{
|
|
position1043, thunkPosition1043 := position, thunkPosition
|
|
{
|
|
position1056, thunkPosition1056 := position, thunkPosition
|
|
if peekChar('`') {
|
|
goto l1057
|
|
}
|
|
if !p.rules[ruleNonspacechar]() {
|
|
goto l1057
|
|
}
|
|
l1058:
|
|
{
|
|
position1059, thunkPosition1059 := position, thunkPosition
|
|
if peekChar('`') {
|
|
goto l1059
|
|
}
|
|
if !p.rules[ruleNonspacechar]() {
|
|
goto l1059
|
|
}
|
|
goto l1058
|
|
l1059:
|
|
position, thunkPosition = position1059, thunkPosition1059
|
|
}
|
|
goto l1056
|
|
l1057:
|
|
position, thunkPosition = position1056, thunkPosition1056
|
|
{
|
|
position1061, thunkPosition1061 := position, thunkPosition
|
|
if !p.rules[ruleTicks2]() {
|
|
goto l1061
|
|
}
|
|
goto l1060
|
|
l1061:
|
|
position, thunkPosition = position1061, thunkPosition1061
|
|
}
|
|
if !matchChar('`') {
|
|
goto l1060
|
|
}
|
|
l1062:
|
|
{
|
|
position1063, thunkPosition1063 := position, thunkPosition
|
|
if !matchChar('`') {
|
|
goto l1063
|
|
}
|
|
goto l1062
|
|
l1063:
|
|
position, thunkPosition = position1063, thunkPosition1063
|
|
}
|
|
goto l1056
|
|
l1060:
|
|
position, thunkPosition = position1056, thunkPosition1056
|
|
{
|
|
position1064, thunkPosition1064 := position, thunkPosition
|
|
if !p.rules[ruleSp]() {
|
|
goto l1064
|
|
}
|
|
if !p.rules[ruleTicks2]() {
|
|
goto l1064
|
|
}
|
|
goto l1043
|
|
l1064:
|
|
position, thunkPosition = position1064, thunkPosition1064
|
|
}
|
|
{
|
|
position1065, thunkPosition1065 := position, thunkPosition
|
|
if !p.rules[ruleSpacechar]() {
|
|
goto l1066
|
|
}
|
|
goto l1065
|
|
l1066:
|
|
position, thunkPosition = position1065, thunkPosition1065
|
|
if !p.rules[ruleNewline]() {
|
|
goto l1043
|
|
}
|
|
{
|
|
position1067, thunkPosition1067 := position, thunkPosition
|
|
if !p.rules[ruleBlankLine]() {
|
|
goto l1067
|
|
}
|
|
goto l1043
|
|
l1067:
|
|
position, thunkPosition = position1067, thunkPosition1067
|
|
}
|
|
}
|
|
l1065:
|
|
}
|
|
l1056:
|
|
goto l1042
|
|
l1043:
|
|
position, thunkPosition = position1043, thunkPosition1043
|
|
}
|
|
end = position
|
|
if !p.rules[ruleSp]() {
|
|
goto l1041
|
|
}
|
|
if !p.rules[ruleTicks2]() {
|
|
goto l1041
|
|
}
|
|
goto l1013
|
|
l1041:
|
|
position, thunkPosition = position1013, thunkPosition1013
|
|
if !p.rules[ruleTicks3]() {
|
|
goto l1068
|
|
}
|
|
if !p.rules[ruleSp]() {
|
|
goto l1068
|
|
}
|
|
begin = position
|
|
{
|
|
position1071, thunkPosition1071 := position, thunkPosition
|
|
if peekChar('`') {
|
|
goto l1072
|
|
}
|
|
if !p.rules[ruleNonspacechar]() {
|
|
goto l1072
|
|
}
|
|
l1073:
|
|
{
|
|
position1074, thunkPosition1074 := position, thunkPosition
|
|
if peekChar('`') {
|
|
goto l1074
|
|
}
|
|
if !p.rules[ruleNonspacechar]() {
|
|
goto l1074
|
|
}
|
|
goto l1073
|
|
l1074:
|
|
position, thunkPosition = position1074, thunkPosition1074
|
|
}
|
|
goto l1071
|
|
l1072:
|
|
position, thunkPosition = position1071, thunkPosition1071
|
|
{
|
|
position1076, thunkPosition1076 := position, thunkPosition
|
|
if !p.rules[ruleTicks3]() {
|
|
goto l1076
|
|
}
|
|
goto l1075
|
|
l1076:
|
|
position, thunkPosition = position1076, thunkPosition1076
|
|
}
|
|
if !matchChar('`') {
|
|
goto l1075
|
|
}
|
|
l1077:
|
|
{
|
|
position1078, thunkPosition1078 := position, thunkPosition
|
|
if !matchChar('`') {
|
|
goto l1078
|
|
}
|
|
goto l1077
|
|
l1078:
|
|
position, thunkPosition = position1078, thunkPosition1078
|
|
}
|
|
goto l1071
|
|
l1075:
|
|
position, thunkPosition = position1071, thunkPosition1071
|
|
{
|
|
position1079, thunkPosition1079 := position, thunkPosition
|
|
if !p.rules[ruleSp]() {
|
|
goto l1079
|
|
}
|
|
if !p.rules[ruleTicks3]() {
|
|
goto l1079
|
|
}
|
|
goto l1068
|
|
l1079:
|
|
position, thunkPosition = position1079, thunkPosition1079
|
|
}
|
|
{
|
|
position1080, thunkPosition1080 := position, thunkPosition
|
|
if !p.rules[ruleSpacechar]() {
|
|
goto l1081
|
|
}
|
|
goto l1080
|
|
l1081:
|
|
position, thunkPosition = position1080, thunkPosition1080
|
|
if !p.rules[ruleNewline]() {
|
|
goto l1068
|
|
}
|
|
{
|
|
position1082, thunkPosition1082 := position, thunkPosition
|
|
if !p.rules[ruleBlankLine]() {
|
|
goto l1082
|
|
}
|
|
goto l1068
|
|
l1082:
|
|
position, thunkPosition = position1082, thunkPosition1082
|
|
}
|
|
}
|
|
l1080:
|
|
}
|
|
l1071:
|
|
l1069:
|
|
{
|
|
position1070, thunkPosition1070 := position, thunkPosition
|
|
{
|
|
position1083, thunkPosition1083 := position, thunkPosition
|
|
if peekChar('`') {
|
|
goto l1084
|
|
}
|
|
if !p.rules[ruleNonspacechar]() {
|
|
goto l1084
|
|
}
|
|
l1085:
|
|
{
|
|
position1086, thunkPosition1086 := position, thunkPosition
|
|
if peekChar('`') {
|
|
goto l1086
|
|
}
|
|
if !p.rules[ruleNonspacechar]() {
|
|
goto l1086
|
|
}
|
|
goto l1085
|
|
l1086:
|
|
position, thunkPosition = position1086, thunkPosition1086
|
|
}
|
|
goto l1083
|
|
l1084:
|
|
position, thunkPosition = position1083, thunkPosition1083
|
|
{
|
|
position1088, thunkPosition1088 := position, thunkPosition
|
|
if !p.rules[ruleTicks3]() {
|
|
goto l1088
|
|
}
|
|
goto l1087
|
|
l1088:
|
|
position, thunkPosition = position1088, thunkPosition1088
|
|
}
|
|
if !matchChar('`') {
|
|
goto l1087
|
|
}
|
|
l1089:
|
|
{
|
|
position1090, thunkPosition1090 := position, thunkPosition
|
|
if !matchChar('`') {
|
|
goto l1090
|
|
}
|
|
goto l1089
|
|
l1090:
|
|
position, thunkPosition = position1090, thunkPosition1090
|
|
}
|
|
goto l1083
|
|
l1087:
|
|
position, thunkPosition = position1083, thunkPosition1083
|
|
{
|
|
position1091, thunkPosition1091 := position, thunkPosition
|
|
if !p.rules[ruleSp]() {
|
|
goto l1091
|
|
}
|
|
if !p.rules[ruleTicks3]() {
|
|
goto l1091
|
|
}
|
|
goto l1070
|
|
l1091:
|
|
position, thunkPosition = position1091, thunkPosition1091
|
|
}
|
|
{
|
|
position1092, thunkPosition1092 := position, thunkPosition
|
|
if !p.rules[ruleSpacechar]() {
|
|
goto l1093
|
|
}
|
|
goto l1092
|
|
l1093:
|
|
position, thunkPosition = position1092, thunkPosition1092
|
|
if !p.rules[ruleNewline]() {
|
|
goto l1070
|
|
}
|
|
{
|
|
position1094, thunkPosition1094 := position, thunkPosition
|
|
if !p.rules[ruleBlankLine]() {
|
|
goto l1094
|
|
}
|
|
goto l1070
|
|
l1094:
|
|
position, thunkPosition = position1094, thunkPosition1094
|
|
}
|
|
}
|
|
l1092:
|
|
}
|
|
l1083:
|
|
goto l1069
|
|
l1070:
|
|
position, thunkPosition = position1070, thunkPosition1070
|
|
}
|
|
end = position
|
|
if !p.rules[ruleSp]() {
|
|
goto l1068
|
|
}
|
|
if !p.rules[ruleTicks3]() {
|
|
goto l1068
|
|
}
|
|
goto l1013
|
|
l1068:
|
|
position, thunkPosition = position1013, thunkPosition1013
|
|
if !p.rules[ruleTicks4]() {
|
|
goto l1095
|
|
}
|
|
if !p.rules[ruleSp]() {
|
|
goto l1095
|
|
}
|
|
begin = position
|
|
{
|
|
position1098, thunkPosition1098 := position, thunkPosition
|
|
if peekChar('`') {
|
|
goto l1099
|
|
}
|
|
if !p.rules[ruleNonspacechar]() {
|
|
goto l1099
|
|
}
|
|
l1100:
|
|
{
|
|
position1101, thunkPosition1101 := position, thunkPosition
|
|
if peekChar('`') {
|
|
goto l1101
|
|
}
|
|
if !p.rules[ruleNonspacechar]() {
|
|
goto l1101
|
|
}
|
|
goto l1100
|
|
l1101:
|
|
position, thunkPosition = position1101, thunkPosition1101
|
|
}
|
|
goto l1098
|
|
l1099:
|
|
position, thunkPosition = position1098, thunkPosition1098
|
|
{
|
|
position1103, thunkPosition1103 := position, thunkPosition
|
|
if !p.rules[ruleTicks4]() {
|
|
goto l1103
|
|
}
|
|
goto l1102
|
|
l1103:
|
|
position, thunkPosition = position1103, thunkPosition1103
|
|
}
|
|
if !matchChar('`') {
|
|
goto l1102
|
|
}
|
|
l1104:
|
|
{
|
|
position1105, thunkPosition1105 := position, thunkPosition
|
|
if !matchChar('`') {
|
|
goto l1105
|
|
}
|
|
goto l1104
|
|
l1105:
|
|
position, thunkPosition = position1105, thunkPosition1105
|
|
}
|
|
goto l1098
|
|
l1102:
|
|
position, thunkPosition = position1098, thunkPosition1098
|
|
{
|
|
position1106, thunkPosition1106 := position, thunkPosition
|
|
if !p.rules[ruleSp]() {
|
|
goto l1106
|
|
}
|
|
if !p.rules[ruleTicks4]() {
|
|
goto l1106
|
|
}
|
|
goto l1095
|
|
l1106:
|
|
position, thunkPosition = position1106, thunkPosition1106
|
|
}
|
|
{
|
|
position1107, thunkPosition1107 := position, thunkPosition
|
|
if !p.rules[ruleSpacechar]() {
|
|
goto l1108
|
|
}
|
|
goto l1107
|
|
l1108:
|
|
position, thunkPosition = position1107, thunkPosition1107
|
|
if !p.rules[ruleNewline]() {
|
|
goto l1095
|
|
}
|
|
{
|
|
position1109, thunkPosition1109 := position, thunkPosition
|
|
if !p.rules[ruleBlankLine]() {
|
|
goto l1109
|
|
}
|
|
goto l1095
|
|
l1109:
|
|
position, thunkPosition = position1109, thunkPosition1109
|
|
}
|
|
}
|
|
l1107:
|
|
}
|
|
l1098:
|
|
l1096:
|
|
{
|
|
position1097, thunkPosition1097 := position, thunkPosition
|
|
{
|
|
position1110, thunkPosition1110 := position, thunkPosition
|
|
if peekChar('`') {
|
|
goto l1111
|
|
}
|
|
if !p.rules[ruleNonspacechar]() {
|
|
goto l1111
|
|
}
|
|
l1112:
|
|
{
|
|
position1113, thunkPosition1113 := position, thunkPosition
|
|
if peekChar('`') {
|
|
goto l1113
|
|
}
|
|
if !p.rules[ruleNonspacechar]() {
|
|
goto l1113
|
|
}
|
|
goto l1112
|
|
l1113:
|
|
position, thunkPosition = position1113, thunkPosition1113
|
|
}
|
|
goto l1110
|
|
l1111:
|
|
position, thunkPosition = position1110, thunkPosition1110
|
|
{
|
|
position1115, thunkPosition1115 := position, thunkPosition
|
|
if !p.rules[ruleTicks4]() {
|
|
goto l1115
|
|
}
|
|
goto l1114
|
|
l1115:
|
|
position, thunkPosition = position1115, thunkPosition1115
|
|
}
|
|
if !matchChar('`') {
|
|
goto l1114
|
|
}
|
|
l1116:
|
|
{
|
|
position1117, thunkPosition1117 := position, thunkPosition
|
|
if !matchChar('`') {
|
|
goto l1117
|
|
}
|
|
goto l1116
|
|
l1117:
|
|
position, thunkPosition = position1117, thunkPosition1117
|
|
}
|
|
goto l1110
|
|
l1114:
|
|
position, thunkPosition = position1110, thunkPosition1110
|
|
{
|
|
position1118, thunkPosition1118 := position, thunkPosition
|
|
if !p.rules[ruleSp]() {
|
|
goto l1118
|
|
}
|
|
if !p.rules[ruleTicks4]() {
|
|
goto l1118
|
|
}
|
|
goto l1097
|
|
l1118:
|
|
position, thunkPosition = position1118, thunkPosition1118
|
|
}
|
|
{
|
|
position1119, thunkPosition1119 := position, thunkPosition
|
|
if !p.rules[ruleSpacechar]() {
|
|
goto l1120
|
|
}
|
|
goto l1119
|
|
l1120:
|
|
position, thunkPosition = position1119, thunkPosition1119
|
|
if !p.rules[ruleNewline]() {
|
|
goto l1097
|
|
}
|
|
{
|
|
position1121, thunkPosition1121 := position, thunkPosition
|
|
if !p.rules[ruleBlankLine]() {
|
|
goto l1121
|
|
}
|
|
goto l1097
|
|
l1121:
|
|
position, thunkPosition = position1121, thunkPosition1121
|
|
}
|
|
}
|
|
l1119:
|
|
}
|
|
l1110:
|
|
goto l1096
|
|
l1097:
|
|
position, thunkPosition = position1097, thunkPosition1097
|
|
}
|
|
end = position
|
|
if !p.rules[ruleSp]() {
|
|
goto l1095
|
|
}
|
|
if !p.rules[ruleTicks4]() {
|
|
goto l1095
|
|
}
|
|
goto l1013
|
|
l1095:
|
|
position, thunkPosition = position1013, thunkPosition1013
|
|
if !p.rules[ruleTicks5]() {
|
|
goto l1012
|
|
}
|
|
if !p.rules[ruleSp]() {
|
|
goto l1012
|
|
}
|
|
begin = position
|
|
{
|
|
position1124, thunkPosition1124 := position, thunkPosition
|
|
if peekChar('`') {
|
|
goto l1125
|
|
}
|
|
if !p.rules[ruleNonspacechar]() {
|
|
goto l1125
|
|
}
|
|
l1126:
|
|
{
|
|
position1127, thunkPosition1127 := position, thunkPosition
|
|
if peekChar('`') {
|
|
goto l1127
|
|
}
|
|
if !p.rules[ruleNonspacechar]() {
|
|
goto l1127
|
|
}
|
|
goto l1126
|
|
l1127:
|
|
position, thunkPosition = position1127, thunkPosition1127
|
|
}
|
|
goto l1124
|
|
l1125:
|
|
position, thunkPosition = position1124, thunkPosition1124
|
|
{
|
|
position1129, thunkPosition1129 := position, thunkPosition
|
|
if !p.rules[ruleTicks5]() {
|
|
goto l1129
|
|
}
|
|
goto l1128
|
|
l1129:
|
|
position, thunkPosition = position1129, thunkPosition1129
|
|
}
|
|
if !matchChar('`') {
|
|
goto l1128
|
|
}
|
|
l1130:
|
|
{
|
|
position1131, thunkPosition1131 := position, thunkPosition
|
|
if !matchChar('`') {
|
|
goto l1131
|
|
}
|
|
goto l1130
|
|
l1131:
|
|
position, thunkPosition = position1131, thunkPosition1131
|
|
}
|
|
goto l1124
|
|
l1128:
|
|
position, thunkPosition = position1124, thunkPosition1124
|
|
{
|
|
position1132, thunkPosition1132 := position, thunkPosition
|
|
if !p.rules[ruleSp]() {
|
|
goto l1132
|
|
}
|
|
if !p.rules[ruleTicks5]() {
|
|
goto l1132
|
|
}
|
|
goto l1012
|
|
l1132:
|
|
position, thunkPosition = position1132, thunkPosition1132
|
|
}
|
|
{
|
|
position1133, thunkPosition1133 := position, thunkPosition
|
|
if !p.rules[ruleSpacechar]() {
|
|
goto l1134
|
|
}
|
|
goto l1133
|
|
l1134:
|
|
position, thunkPosition = position1133, thunkPosition1133
|
|
if !p.rules[ruleNewline]() {
|
|
goto l1012
|
|
}
|
|
{
|
|
position1135, thunkPosition1135 := position, thunkPosition
|
|
if !p.rules[ruleBlankLine]() {
|
|
goto l1135
|
|
}
|
|
goto l1012
|
|
l1135:
|
|
position, thunkPosition = position1135, thunkPosition1135
|
|
}
|
|
}
|
|
l1133:
|
|
}
|
|
l1124:
|
|
l1122:
|
|
{
|
|
position1123, thunkPosition1123 := position, thunkPosition
|
|
{
|
|
position1136, thunkPosition1136 := position, thunkPosition
|
|
if peekChar('`') {
|
|
goto l1137
|
|
}
|
|
if !p.rules[ruleNonspacechar]() {
|
|
goto l1137
|
|
}
|
|
l1138:
|
|
{
|
|
position1139, thunkPosition1139 := position, thunkPosition
|
|
if peekChar('`') {
|
|
goto l1139
|
|
}
|
|
if !p.rules[ruleNonspacechar]() {
|
|
goto l1139
|
|
}
|
|
goto l1138
|
|
l1139:
|
|
position, thunkPosition = position1139, thunkPosition1139
|
|
}
|
|
goto l1136
|
|
l1137:
|
|
position, thunkPosition = position1136, thunkPosition1136
|
|
{
|
|
position1141, thunkPosition1141 := position, thunkPosition
|
|
if !p.rules[ruleTicks5]() {
|
|
goto l1141
|
|
}
|
|
goto l1140
|
|
l1141:
|
|
position, thunkPosition = position1141, thunkPosition1141
|
|
}
|
|
if !matchChar('`') {
|
|
goto l1140
|
|
}
|
|
l1142:
|
|
{
|
|
position1143, thunkPosition1143 := position, thunkPosition
|
|
if !matchChar('`') {
|
|
goto l1143
|
|
}
|
|
goto l1142
|
|
l1143:
|
|
position, thunkPosition = position1143, thunkPosition1143
|
|
}
|
|
goto l1136
|
|
l1140:
|
|
position, thunkPosition = position1136, thunkPosition1136
|
|
{
|
|
position1144, thunkPosition1144 := position, thunkPosition
|
|
if !p.rules[ruleSp]() {
|
|
goto l1144
|
|
}
|
|
if !p.rules[ruleTicks5]() {
|
|
goto l1144
|
|
}
|
|
goto l1123
|
|
l1144:
|
|
position, thunkPosition = position1144, thunkPosition1144
|
|
}
|
|
{
|
|
position1145, thunkPosition1145 := position, thunkPosition
|
|
if !p.rules[ruleSpacechar]() {
|
|
goto l1146
|
|
}
|
|
goto l1145
|
|
l1146:
|
|
position, thunkPosition = position1145, thunkPosition1145
|
|
if !p.rules[ruleNewline]() {
|
|
goto l1123
|
|
}
|
|
{
|
|
position1147, thunkPosition1147 := position, thunkPosition
|
|
if !p.rules[ruleBlankLine]() {
|
|
goto l1147
|
|
}
|
|
goto l1123
|
|
l1147:
|
|
position, thunkPosition = position1147, thunkPosition1147
|
|
}
|
|
}
|
|
l1145:
|
|
}
|
|
l1136:
|
|
goto l1122
|
|
l1123:
|
|
position, thunkPosition = position1123, thunkPosition1123
|
|
}
|
|
end = position
|
|
if !p.rules[ruleSp]() {
|
|
goto l1012
|
|
}
|
|
if !p.rules[ruleTicks5]() {
|
|
goto l1012
|
|
}
|
|
}
|
|
l1013:
|
|
do(85)
|
|
return true
|
|
l1012:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 194 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
|
|
{
|
|
position1149, thunkPosition1149 := position, thunkPosition
|
|
if !p.rules[ruleHtmlComment]() {
|
|
goto l1150
|
|
}
|
|
goto l1149
|
|
l1150:
|
|
position, thunkPosition = position1149, thunkPosition1149
|
|
if !p.rules[ruleHtmlTag]() {
|
|
goto l1148
|
|
}
|
|
}
|
|
l1149:
|
|
end = position
|
|
do(86)
|
|
return true
|
|
l1148:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 195 BlankLine <- (Sp Newline) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !p.rules[ruleSp]() {
|
|
goto l1151
|
|
}
|
|
if !p.rules[ruleNewline]() {
|
|
goto l1151
|
|
}
|
|
return true
|
|
l1151:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 196 Quoted <- (('"' (!'"' .)* '"') / ('\'' (!'\'' .)* '\'')) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
{
|
|
position1153, thunkPosition1153 := position, thunkPosition
|
|
if !matchChar('"') {
|
|
goto l1154
|
|
}
|
|
l1155:
|
|
{
|
|
position1156, thunkPosition1156 := position, thunkPosition
|
|
if peekChar('"') {
|
|
goto l1156
|
|
}
|
|
if !matchDot() {
|
|
goto l1156
|
|
}
|
|
goto l1155
|
|
l1156:
|
|
position, thunkPosition = position1156, thunkPosition1156
|
|
}
|
|
if !matchChar('"') {
|
|
goto l1154
|
|
}
|
|
goto l1153
|
|
l1154:
|
|
position, thunkPosition = position1153, thunkPosition1153
|
|
if !matchChar('\'') {
|
|
goto l1152
|
|
}
|
|
l1157:
|
|
{
|
|
position1158, thunkPosition1158 := position, thunkPosition
|
|
if peekChar('\'') {
|
|
goto l1158
|
|
}
|
|
if !matchDot() {
|
|
goto l1158
|
|
}
|
|
goto l1157
|
|
l1158:
|
|
position, thunkPosition = position1158, thunkPosition1158
|
|
}
|
|
if !matchChar('\'') {
|
|
goto l1152
|
|
}
|
|
}
|
|
l1153:
|
|
return true
|
|
l1152:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 197 HtmlAttribute <- ((AlphanumericAscii / '-')+ Spnl ('=' Spnl (Quoted / (!'>' Nonspacechar)+))? Spnl) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
{
|
|
position1162, thunkPosition1162 := position, thunkPosition
|
|
if !p.rules[ruleAlphanumericAscii]() {
|
|
goto l1163
|
|
}
|
|
goto l1162
|
|
l1163:
|
|
position, thunkPosition = position1162, thunkPosition1162
|
|
if !matchChar('-') {
|
|
goto l1159
|
|
}
|
|
}
|
|
l1162:
|
|
l1160:
|
|
{
|
|
position1161, thunkPosition1161 := position, thunkPosition
|
|
{
|
|
position1164, thunkPosition1164 := position, thunkPosition
|
|
if !p.rules[ruleAlphanumericAscii]() {
|
|
goto l1165
|
|
}
|
|
goto l1164
|
|
l1165:
|
|
position, thunkPosition = position1164, thunkPosition1164
|
|
if !matchChar('-') {
|
|
goto l1161
|
|
}
|
|
}
|
|
l1164:
|
|
goto l1160
|
|
l1161:
|
|
position, thunkPosition = position1161, thunkPosition1161
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l1159
|
|
}
|
|
{
|
|
position1166, thunkPosition1166 := position, thunkPosition
|
|
if !matchChar('=') {
|
|
goto l1166
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l1166
|
|
}
|
|
{
|
|
position1168, thunkPosition1168 := position, thunkPosition
|
|
if !p.rules[ruleQuoted]() {
|
|
goto l1169
|
|
}
|
|
goto l1168
|
|
l1169:
|
|
position, thunkPosition = position1168, thunkPosition1168
|
|
if peekChar('>') {
|
|
goto l1166
|
|
}
|
|
if !p.rules[ruleNonspacechar]() {
|
|
goto l1166
|
|
}
|
|
l1170:
|
|
{
|
|
position1171, thunkPosition1171 := position, thunkPosition
|
|
if peekChar('>') {
|
|
goto l1171
|
|
}
|
|
if !p.rules[ruleNonspacechar]() {
|
|
goto l1171
|
|
}
|
|
goto l1170
|
|
l1171:
|
|
position, thunkPosition = position1171, thunkPosition1171
|
|
}
|
|
}
|
|
l1168:
|
|
goto l1167
|
|
l1166:
|
|
position, thunkPosition = position1166, thunkPosition1166
|
|
}
|
|
l1167:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l1159
|
|
}
|
|
return true
|
|
l1159:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 198 HtmlComment <- ('<!--' (!'-->' .)* '-->') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchString("<!--") {
|
|
goto l1172
|
|
}
|
|
l1173:
|
|
{
|
|
position1174, thunkPosition1174 := position, thunkPosition
|
|
{
|
|
position1175, thunkPosition1175 := position, thunkPosition
|
|
if !matchString("-->") {
|
|
goto l1175
|
|
}
|
|
goto l1174
|
|
l1175:
|
|
position, thunkPosition = position1175, thunkPosition1175
|
|
}
|
|
if !matchDot() {
|
|
goto l1174
|
|
}
|
|
goto l1173
|
|
l1174:
|
|
position, thunkPosition = position1174, thunkPosition1174
|
|
}
|
|
if !matchString("-->") {
|
|
goto l1172
|
|
}
|
|
return true
|
|
l1172:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 199 HtmlTag <- ('<' Spnl '/'? AlphanumericAscii+ Spnl HtmlAttribute* '/'? Spnl '>') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('<') {
|
|
goto l1176
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l1176
|
|
}
|
|
{
|
|
position1177, thunkPosition1177 := position, thunkPosition
|
|
if !matchChar('/') {
|
|
goto l1177
|
|
}
|
|
goto l1178
|
|
l1177:
|
|
position, thunkPosition = position1177, thunkPosition1177
|
|
}
|
|
l1178:
|
|
if !p.rules[ruleAlphanumericAscii]() {
|
|
goto l1176
|
|
}
|
|
l1179:
|
|
{
|
|
position1180, thunkPosition1180 := position, thunkPosition
|
|
if !p.rules[ruleAlphanumericAscii]() {
|
|
goto l1180
|
|
}
|
|
goto l1179
|
|
l1180:
|
|
position, thunkPosition = position1180, thunkPosition1180
|
|
}
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l1176
|
|
}
|
|
l1181:
|
|
{
|
|
position1182, thunkPosition1182 := position, thunkPosition
|
|
if !p.rules[ruleHtmlAttribute]() {
|
|
goto l1182
|
|
}
|
|
goto l1181
|
|
l1182:
|
|
position, thunkPosition = position1182, thunkPosition1182
|
|
}
|
|
{
|
|
position1183, thunkPosition1183 := position, thunkPosition
|
|
if !matchChar('/') {
|
|
goto l1183
|
|
}
|
|
goto l1184
|
|
l1183:
|
|
position, thunkPosition = position1183, thunkPosition1183
|
|
}
|
|
l1184:
|
|
if !p.rules[ruleSpnl]() {
|
|
goto l1176
|
|
}
|
|
if !matchChar('>') {
|
|
goto l1176
|
|
}
|
|
return true
|
|
l1176:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 200 Eof <- !. */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if peekDot() {
|
|
goto l1185
|
|
}
|
|
return true
|
|
l1185:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 201 Spacechar <- (' ' / '\t') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
{
|
|
position1187, thunkPosition1187 := position, thunkPosition
|
|
if !matchChar(' ') {
|
|
goto l1188
|
|
}
|
|
goto l1187
|
|
l1188:
|
|
position, thunkPosition = position1187, thunkPosition1187
|
|
if !matchChar('\t') {
|
|
goto l1186
|
|
}
|
|
}
|
|
l1187:
|
|
return true
|
|
l1186:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 202 Nonspacechar <- (!Spacechar !Newline .) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
{
|
|
position1190, thunkPosition1190 := position, thunkPosition
|
|
if !p.rules[ruleSpacechar]() {
|
|
goto l1190
|
|
}
|
|
goto l1189
|
|
l1190:
|
|
position, thunkPosition = position1190, thunkPosition1190
|
|
}
|
|
{
|
|
position1191, thunkPosition1191 := position, thunkPosition
|
|
if !p.rules[ruleNewline]() {
|
|
goto l1191
|
|
}
|
|
goto l1189
|
|
l1191:
|
|
position, thunkPosition = position1191, thunkPosition1191
|
|
}
|
|
if !matchDot() {
|
|
goto l1189
|
|
}
|
|
return true
|
|
l1189:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 203 Newline <- ('\n' / ('\r' '\n'?)) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
{
|
|
position1193, thunkPosition1193 := position, thunkPosition
|
|
if !matchChar('\n') {
|
|
goto l1194
|
|
}
|
|
goto l1193
|
|
l1194:
|
|
position, thunkPosition = position1193, thunkPosition1193
|
|
if !matchChar('\r') {
|
|
goto l1192
|
|
}
|
|
{
|
|
position1195, thunkPosition1195 := position, thunkPosition
|
|
if !matchChar('\n') {
|
|
goto l1195
|
|
}
|
|
goto l1196
|
|
l1195:
|
|
position, thunkPosition = position1195, thunkPosition1195
|
|
}
|
|
l1196:
|
|
}
|
|
l1193:
|
|
return true
|
|
l1192:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 204 Sp <- Spacechar* */
|
|
func() bool {
|
|
l1198:
|
|
{
|
|
position1199, thunkPosition1199 := position, thunkPosition
|
|
if !p.rules[ruleSpacechar]() {
|
|
goto l1199
|
|
}
|
|
goto l1198
|
|
l1199:
|
|
position, thunkPosition = position1199, thunkPosition1199
|
|
}
|
|
return true
|
|
},
|
|
/* 205 Spnl <- (Sp (Newline Sp)?) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !p.rules[ruleSp]() {
|
|
goto l1200
|
|
}
|
|
{
|
|
position1201, thunkPosition1201 := position, thunkPosition
|
|
if !p.rules[ruleNewline]() {
|
|
goto l1201
|
|
}
|
|
if !p.rules[ruleSp]() {
|
|
goto l1201
|
|
}
|
|
goto l1202
|
|
l1201:
|
|
position, thunkPosition = position1201, thunkPosition1201
|
|
}
|
|
l1202:
|
|
return true
|
|
l1200:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 206 SpecialChar <- ((&[\\] '\\') | (&[#] '#') | (&[!] '!') | (&[<] '<') | (&[\]] ']') | (&[\[] '[') | (&[&] '&') | (&[`] '`') | (&[_] '_') | (&[*] '*') | (&[\"\'\-.^] ExtendedSpecialChar)) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
{
|
|
if position == len(p.Buffer) {
|
|
goto l1203
|
|
}
|
|
switch p.Buffer[position] {
|
|
case '\\':
|
|
if !matchChar('\\') {
|
|
goto l1203
|
|
}
|
|
case '#':
|
|
if !matchChar('#') {
|
|
goto l1203
|
|
}
|
|
case '!':
|
|
if !matchChar('!') {
|
|
goto l1203
|
|
}
|
|
case '<':
|
|
if !matchChar('<') {
|
|
goto l1203
|
|
}
|
|
case ']':
|
|
if !matchChar(']') {
|
|
goto l1203
|
|
}
|
|
case '[':
|
|
if !matchChar('[') {
|
|
goto l1203
|
|
}
|
|
case '&':
|
|
if !matchChar('&') {
|
|
goto l1203
|
|
}
|
|
case '`':
|
|
if !matchChar('`') {
|
|
goto l1203
|
|
}
|
|
case '_':
|
|
if !matchChar('_') {
|
|
goto l1203
|
|
}
|
|
case '*':
|
|
if !matchChar('*') {
|
|
goto l1203
|
|
}
|
|
default:
|
|
if !p.rules[ruleExtendedSpecialChar]() {
|
|
goto l1203
|
|
}
|
|
}
|
|
}
|
|
return true
|
|
l1203:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 207 NormalChar <- (!((&[\n\r] Newline) | (&[\t ] Spacechar) | (&[!-#&\'*\-.<\[-`] SpecialChar)) .) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
{
|
|
position1206, thunkPosition1206 := position, thunkPosition
|
|
{
|
|
if position == len(p.Buffer) {
|
|
goto l1206
|
|
}
|
|
switch p.Buffer[position] {
|
|
case '\n', '\r':
|
|
if !p.rules[ruleNewline]() {
|
|
goto l1206
|
|
}
|
|
case '\t', ' ':
|
|
if !p.rules[ruleSpacechar]() {
|
|
goto l1206
|
|
}
|
|
default:
|
|
if !p.rules[ruleSpecialChar]() {
|
|
goto l1206
|
|
}
|
|
}
|
|
}
|
|
goto l1205
|
|
l1206:
|
|
position, thunkPosition = position1206, thunkPosition1206
|
|
}
|
|
if !matchDot() {
|
|
goto l1205
|
|
}
|
|
return true
|
|
l1205:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 208 NonAlphanumeric <- [\000-\057\072-\100\133-\140\173-\177] */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchClass(3) {
|
|
goto l1208
|
|
}
|
|
return true
|
|
l1208:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 209 Alphanumeric <- ([0-9A-Za-z] / '\200' / '\201' / '\202' / '\203' / '\204' / '\205' / '\206' / '\207' / '\210' / '\211' / '\212' / '\213' / '\214' / '\215' / '\216' / '\217' / '\220' / '\221' / '\222' / '\223' / '\224' / '\225' / '\226' / '\227' / '\230' / '\231' / '\232' / '\233' / '\234' / '\235' / '\236' / '\237' / '\240' / '\241' / '\242' / '\243' / '\244' / '\245' / '\246' / '\247' / '\250' / '\251' / '\252' / '\253' / '\254' / '\255' / '\256' / '\257' / '\260' / '\261' / '\262' / '\263' / '\264' / '\265' / '\266' / '\267' / '\270' / '\271' / '\272' / '\273' / '\274' / '\275' / '\276' / '\277' / '\300' / '\301' / '\302' / '\303' / '\304' / '\305' / '\306' / '\307' / '\310' / '\311' / '\312' / '\313' / '\314' / '\315' / '\316' / '\317' / '\320' / '\321' / '\322' / '\323' / '\324' / '\325' / '\326' / '\327' / '\330' / '\331' / '\332' / '\333' / '\334' / '\335' / '\336' / '\337' / '\340' / '\341' / '\342' / '\343' / '\344' / '\345' / '\346' / '\347' / '\350' / '\351' / '\352' / '\353' / '\354' / '\355' / '\356' / '\357' / '\360' / '\361' / '\362' / '\363' / '\364' / '\365' / '\366' / '\367' / '\370' / '\371' / '\372' / '\373' / '\374' / '\375' / '\376' / '\377') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
{
|
|
position1210, thunkPosition1210 := position, thunkPosition
|
|
if !matchClass(1) {
|
|
goto l1211
|
|
}
|
|
goto l1210
|
|
l1211:
|
|
position, thunkPosition = position1210, thunkPosition1210
|
|
if !matchString("\200") {
|
|
goto l1212
|
|
}
|
|
goto l1210
|
|
l1212:
|
|
position, thunkPosition = position1210, thunkPosition1210
|
|
if !matchString("\201") {
|
|
goto l1213
|
|
}
|
|
goto l1210
|
|
l1213:
|
|
position, thunkPosition = position1210, thunkPosition1210
|
|
if !matchString("\202") {
|
|
goto l1214
|
|
}
|
|
goto l1210
|
|
l1214:
|
|
position, thunkPosition = position1210, thunkPosition1210
|
|
if !matchString("\203") {
|
|
goto l1215
|
|
}
|
|
goto l1210
|
|
l1215:
|
|
position, thunkPosition = position1210, thunkPosition1210
|
|
if !matchString("\204") {
|
|
goto l1216
|
|
}
|
|
goto l1210
|
|
l1216:
|
|
position, thunkPosition = position1210, thunkPosition1210
|
|
if !matchString("\205") {
|
|
goto l1217
|
|
}
|
|
goto l1210
|
|
l1217:
|
|
position, thunkPosition = position1210, thunkPosition1210
|
|
if !matchString("\206") {
|
|
goto l1218
|
|
}
|
|
goto l1210
|
|
l1218:
|
|
position, thunkPosition = position1210, thunkPosition1210
|
|
if !matchString("\207") {
|
|
goto l1219
|
|
}
|
|
goto l1210
|
|
l1219:
|
|
position, thunkPosition = position1210, thunkPosition1210
|
|
if !matchString("\210") {
|
|
goto l1220
|
|
}
|
|
goto l1210
|
|
l1220:
|
|
position, thunkPosition = position1210, thunkPosition1210
|
|
if !matchString("\211") {
|
|
goto l1221
|
|
}
|
|
goto l1210
|
|
l1221:
|
|
position, thunkPosition = position1210, thunkPosition1210
|
|
if !matchString("\212") {
|
|
goto l1222
|
|
}
|
|
goto l1210
|
|
l1222:
|
|
position, thunkPosition = position1210, thunkPosition1210
|
|
if !matchString("\213") {
|
|
goto l1223
|
|
}
|
|
goto l1210
|
|
l1223:
|
|
position, thunkPosition = position1210, thunkPosition1210
|
|
if !matchString("\214") {
|
|
goto l1224
|
|
}
|
|
goto l1210
|
|
l1224:
|
|
position, thunkPosition = position1210, thunkPosition1210
|
|
if !matchString("\215") {
|
|
goto l1225
|
|
}
|
|
goto l1210
|
|
l1225:
|
|
position, thunkPosition = position1210, thunkPosition1210
|
|
if !matchString("\216") {
|
|
goto l1226
|
|
}
|
|
goto l1210
|
|
l1226:
|
|
position, thunkPosition = position1210, thunkPosition1210
|
|
if !matchString("\217") {
|
|
goto l1227
|
|
}
|
|
goto l1210
|
|
l1227:
|
|
position, thunkPosition = position1210, thunkPosition1210
|
|
if !matchString("\220") {
|
|
goto l1228
|
|
}
|
|
goto l1210
|
|
l1228:
|
|
position, thunkPosition = position1210, thunkPosition1210
|
|
if !matchString("\221") {
|
|
goto l1229
|
|
}
|
|
goto l1210
|
|
l1229:
|
|
position, thunkPosition = position1210, thunkPosition1210
|
|
if !matchString("\222") {
|
|
goto l1230
|
|
}
|
|
goto l1210
|
|
l1230:
|
|
position, thunkPosition = position1210, thunkPosition1210
|
|
if !matchString("\223") {
|
|
goto l1231
|
|
}
|
|
goto l1210
|
|
l1231:
|
|
position, thunkPosition = position1210, thunkPosition1210
|
|
if !matchString("\224") {
|
|
goto l1232
|
|
}
|
|
goto l1210
|
|
l1232:
|
|
position, thunkPosition = position1210, thunkPosition1210
|
|
if !matchString("\225") {
|
|
goto l1233
|
|
}
|
|
goto l1210
|
|
l1233:
|
|
position, thunkPosition = position1210, thunkPosition1210
|
|
if !matchString("\226") {
|
|
goto l1234
|
|
}
|
|
goto l1210
|
|
l1234:
|
|
position, thunkPosition = position1210, thunkPosition1210
|
|
if !matchString("\227") {
|
|
goto l1235
|
|
}
|
|
goto l1210
|
|
l1235:
|
|
position, thunkPosition = position1210, thunkPosition1210
|
|
if !matchString("\230") {
|
|
goto l1236
|
|
}
|
|
goto l1210
|
|
l1236:
|
|
position, thunkPosition = position1210, thunkPosition1210
|
|
if !matchString("\231") {
|
|
goto l1237
|
|
}
|
|
goto l1210
|
|
l1237:
|
|
position, thunkPosition = position1210, thunkPosition1210
|
|
if !matchString("\232") {
|
|
goto l1238
|
|
}
|
|
goto l1210
|
|
l1238:
|
|
position, thunkPosition = position1210, thunkPosition1210
|
|
if !matchString("\233") {
|
|
goto l1239
|
|
}
|
|
goto l1210
|
|
l1239:
|
|
position, thunkPosition = position1210, thunkPosition1210
|
|
if !matchString("\234") {
|
|
goto l1240
|
|
}
|
|
goto l1210
|
|
l1240:
|
|
position, thunkPosition = position1210, thunkPosition1210
|
|
if !matchString("\235") {
|
|
goto l1241
|
|
}
|
|
goto l1210
|
|
l1241:
|
|
position, thunkPosition = position1210, thunkPosition1210
|
|
if !matchString("\236") {
|
|
goto l1242
|
|
}
|
|
goto l1210
|
|
l1242:
|
|
position, thunkPosition = position1210, thunkPosition1210
|
|
if !matchString("\237") {
|
|
goto l1243
|
|
}
|
|
goto l1210
|
|
l1243:
|
|
position, thunkPosition = position1210, thunkPosition1210
|
|
if !matchString("\240") {
|
|
goto l1244
|
|
}
|
|
goto l1210
|
|
l1244:
|
|
position, thunkPosition = position1210, thunkPosition1210
|
|
if !matchString("\241") {
|
|
goto l1245
|
|
}
|
|
goto l1210
|
|
l1245:
|
|
position, thunkPosition = position1210, thunkPosition1210
|
|
if !matchString("\242") {
|
|
goto l1246
|
|
}
|
|
goto l1210
|
|
l1246:
|
|
position, thunkPosition = position1210, thunkPosition1210
|
|
if !matchString("\243") {
|
|
goto l1247
|
|
}
|
|
goto l1210
|
|
l1247:
|
|
position, thunkPosition = position1210, thunkPosition1210
|
|
if !matchString("\244") {
|
|
goto l1248
|
|
}
|
|
goto l1210
|
|
l1248:
|
|
position, thunkPosition = position1210, thunkPosition1210
|
|
if !matchString("\245") {
|
|
goto l1249
|
|
}
|
|
goto l1210
|
|
l1249:
|
|
position, thunkPosition = position1210, thunkPosition1210
|
|
if !matchString("\246") {
|
|
goto l1250
|
|
}
|
|
goto l1210
|
|
l1250:
|
|
position, thunkPosition = position1210, thunkPosition1210
|
|
if !matchString("\247") {
|
|
goto l1251
|
|
}
|
|
goto l1210
|
|
l1251:
|
|
position, thunkPosition = position1210, thunkPosition1210
|
|
if !matchString("\250") {
|
|
goto l1252
|
|
}
|
|
goto l1210
|
|
l1252:
|
|
position, thunkPosition = position1210, thunkPosition1210
|
|
if !matchString("\251") {
|
|
goto l1253
|
|
}
|
|
goto l1210
|
|
l1253:
|
|
position, thunkPosition = position1210, thunkPosition1210
|
|
if !matchString("\252") {
|
|
goto l1254
|
|
}
|
|
goto l1210
|
|
l1254:
|
|
position, thunkPosition = position1210, thunkPosition1210
|
|
if !matchString("\253") {
|
|
goto l1255
|
|
}
|
|
goto l1210
|
|
l1255:
|
|
position, thunkPosition = position1210, thunkPosition1210
|
|
if !matchString("\254") {
|
|
goto l1256
|
|
}
|
|
goto l1210
|
|
l1256:
|
|
position, thunkPosition = position1210, thunkPosition1210
|
|
if !matchString("\255") {
|
|
goto l1257
|
|
}
|
|
goto l1210
|
|
l1257:
|
|
position, thunkPosition = position1210, thunkPosition1210
|
|
if !matchString("\256") {
|
|
goto l1258
|
|
}
|
|
goto l1210
|
|
l1258:
|
|
position, thunkPosition = position1210, thunkPosition1210
|
|
if !matchString("\257") {
|
|
goto l1259
|
|
}
|
|
goto l1210
|
|
l1259:
|
|
position, thunkPosition = position1210, thunkPosition1210
|
|
if !matchString("\260") {
|
|
goto l1260
|
|
}
|
|
goto l1210
|
|
l1260:
|
|
position, thunkPosition = position1210, thunkPosition1210
|
|
if !matchString("\261") {
|
|
goto l1261
|
|
}
|
|
goto l1210
|
|
l1261:
|
|
position, thunkPosition = position1210, thunkPosition1210
|
|
if !matchString("\262") {
|
|
goto l1262
|
|
}
|
|
goto l1210
|
|
l1262:
|
|
position, thunkPosition = position1210, thunkPosition1210
|
|
if !matchString("\263") {
|
|
goto l1263
|
|
}
|
|
goto l1210
|
|
l1263:
|
|
position, thunkPosition = position1210, thunkPosition1210
|
|
if !matchString("\264") {
|
|
goto l1264
|
|
}
|
|
goto l1210
|
|
l1264:
|
|
position, thunkPosition = position1210, thunkPosition1210
|
|
if !matchString("\265") {
|
|
goto l1265
|
|
}
|
|
goto l1210
|
|
l1265:
|
|
position, thunkPosition = position1210, thunkPosition1210
|
|
if !matchString("\266") {
|
|
goto l1266
|
|
}
|
|
goto l1210
|
|
l1266:
|
|
position, thunkPosition = position1210, thunkPosition1210
|
|
if !matchString("\267") {
|
|
goto l1267
|
|
}
|
|
goto l1210
|
|
l1267:
|
|
position, thunkPosition = position1210, thunkPosition1210
|
|
if !matchString("\270") {
|
|
goto l1268
|
|
}
|
|
goto l1210
|
|
l1268:
|
|
position, thunkPosition = position1210, thunkPosition1210
|
|
if !matchString("\271") {
|
|
goto l1269
|
|
}
|
|
goto l1210
|
|
l1269:
|
|
position, thunkPosition = position1210, thunkPosition1210
|
|
if !matchString("\272") {
|
|
goto l1270
|
|
}
|
|
goto l1210
|
|
l1270:
|
|
position, thunkPosition = position1210, thunkPosition1210
|
|
if !matchString("\273") {
|
|
goto l1271
|
|
}
|
|
goto l1210
|
|
l1271:
|
|
position, thunkPosition = position1210, thunkPosition1210
|
|
if !matchString("\274") {
|
|
goto l1272
|
|
}
|
|
goto l1210
|
|
l1272:
|
|
position, thunkPosition = position1210, thunkPosition1210
|
|
if !matchString("\275") {
|
|
goto l1273
|
|
}
|
|
goto l1210
|
|
l1273:
|
|
position, thunkPosition = position1210, thunkPosition1210
|
|
if !matchString("\276") {
|
|
goto l1274
|
|
}
|
|
goto l1210
|
|
l1274:
|
|
position, thunkPosition = position1210, thunkPosition1210
|
|
if !matchString("\277") {
|
|
goto l1275
|
|
}
|
|
goto l1210
|
|
l1275:
|
|
position, thunkPosition = position1210, thunkPosition1210
|
|
if !matchString("\300") {
|
|
goto l1276
|
|
}
|
|
goto l1210
|
|
l1276:
|
|
position, thunkPosition = position1210, thunkPosition1210
|
|
if !matchString("\301") {
|
|
goto l1277
|
|
}
|
|
goto l1210
|
|
l1277:
|
|
position, thunkPosition = position1210, thunkPosition1210
|
|
if !matchString("\302") {
|
|
goto l1278
|
|
}
|
|
goto l1210
|
|
l1278:
|
|
position, thunkPosition = position1210, thunkPosition1210
|
|
if !matchString("\303") {
|
|
goto l1279
|
|
}
|
|
goto l1210
|
|
l1279:
|
|
position, thunkPosition = position1210, thunkPosition1210
|
|
if !matchString("\304") {
|
|
goto l1280
|
|
}
|
|
goto l1210
|
|
l1280:
|
|
position, thunkPosition = position1210, thunkPosition1210
|
|
if !matchString("\305") {
|
|
goto l1281
|
|
}
|
|
goto l1210
|
|
l1281:
|
|
position, thunkPosition = position1210, thunkPosition1210
|
|
if !matchString("\306") {
|
|
goto l1282
|
|
}
|
|
goto l1210
|
|
l1282:
|
|
position, thunkPosition = position1210, thunkPosition1210
|
|
if !matchString("\307") {
|
|
goto l1283
|
|
}
|
|
goto l1210
|
|
l1283:
|
|
position, thunkPosition = position1210, thunkPosition1210
|
|
if !matchString("\310") {
|
|
goto l1284
|
|
}
|
|
goto l1210
|
|
l1284:
|
|
position, thunkPosition = position1210, thunkPosition1210
|
|
if !matchString("\311") {
|
|
goto l1285
|
|
}
|
|
goto l1210
|
|
l1285:
|
|
position, thunkPosition = position1210, thunkPosition1210
|
|
if !matchString("\312") {
|
|
goto l1286
|
|
}
|
|
goto l1210
|
|
l1286:
|
|
position, thunkPosition = position1210, thunkPosition1210
|
|
if !matchString("\313") {
|
|
goto l1287
|
|
}
|
|
goto l1210
|
|
l1287:
|
|
position, thunkPosition = position1210, thunkPosition1210
|
|
if !matchString("\314") {
|
|
goto l1288
|
|
}
|
|
goto l1210
|
|
l1288:
|
|
position, thunkPosition = position1210, thunkPosition1210
|
|
if !matchString("\315") {
|
|
goto l1289
|
|
}
|
|
goto l1210
|
|
l1289:
|
|
position, thunkPosition = position1210, thunkPosition1210
|
|
if !matchString("\316") {
|
|
goto l1290
|
|
}
|
|
goto l1210
|
|
l1290:
|
|
position, thunkPosition = position1210, thunkPosition1210
|
|
if !matchString("\317") {
|
|
goto l1291
|
|
}
|
|
goto l1210
|
|
l1291:
|
|
position, thunkPosition = position1210, thunkPosition1210
|
|
if !matchString("\320") {
|
|
goto l1292
|
|
}
|
|
goto l1210
|
|
l1292:
|
|
position, thunkPosition = position1210, thunkPosition1210
|
|
if !matchString("\321") {
|
|
goto l1293
|
|
}
|
|
goto l1210
|
|
l1293:
|
|
position, thunkPosition = position1210, thunkPosition1210
|
|
if !matchString("\322") {
|
|
goto l1294
|
|
}
|
|
goto l1210
|
|
l1294:
|
|
position, thunkPosition = position1210, thunkPosition1210
|
|
if !matchString("\323") {
|
|
goto l1295
|
|
}
|
|
goto l1210
|
|
l1295:
|
|
position, thunkPosition = position1210, thunkPosition1210
|
|
if !matchString("\324") {
|
|
goto l1296
|
|
}
|
|
goto l1210
|
|
l1296:
|
|
position, thunkPosition = position1210, thunkPosition1210
|
|
if !matchString("\325") {
|
|
goto l1297
|
|
}
|
|
goto l1210
|
|
l1297:
|
|
position, thunkPosition = position1210, thunkPosition1210
|
|
if !matchString("\326") {
|
|
goto l1298
|
|
}
|
|
goto l1210
|
|
l1298:
|
|
position, thunkPosition = position1210, thunkPosition1210
|
|
if !matchString("\327") {
|
|
goto l1299
|
|
}
|
|
goto l1210
|
|
l1299:
|
|
position, thunkPosition = position1210, thunkPosition1210
|
|
if !matchString("\330") {
|
|
goto l1300
|
|
}
|
|
goto l1210
|
|
l1300:
|
|
position, thunkPosition = position1210, thunkPosition1210
|
|
if !matchString("\331") {
|
|
goto l1301
|
|
}
|
|
goto l1210
|
|
l1301:
|
|
position, thunkPosition = position1210, thunkPosition1210
|
|
if !matchString("\332") {
|
|
goto l1302
|
|
}
|
|
goto l1210
|
|
l1302:
|
|
position, thunkPosition = position1210, thunkPosition1210
|
|
if !matchString("\333") {
|
|
goto l1303
|
|
}
|
|
goto l1210
|
|
l1303:
|
|
position, thunkPosition = position1210, thunkPosition1210
|
|
if !matchString("\334") {
|
|
goto l1304
|
|
}
|
|
goto l1210
|
|
l1304:
|
|
position, thunkPosition = position1210, thunkPosition1210
|
|
if !matchString("\335") {
|
|
goto l1305
|
|
}
|
|
goto l1210
|
|
l1305:
|
|
position, thunkPosition = position1210, thunkPosition1210
|
|
if !matchString("\336") {
|
|
goto l1306
|
|
}
|
|
goto l1210
|
|
l1306:
|
|
position, thunkPosition = position1210, thunkPosition1210
|
|
if !matchString("\337") {
|
|
goto l1307
|
|
}
|
|
goto l1210
|
|
l1307:
|
|
position, thunkPosition = position1210, thunkPosition1210
|
|
if !matchString("\340") {
|
|
goto l1308
|
|
}
|
|
goto l1210
|
|
l1308:
|
|
position, thunkPosition = position1210, thunkPosition1210
|
|
if !matchString("\341") {
|
|
goto l1309
|
|
}
|
|
goto l1210
|
|
l1309:
|
|
position, thunkPosition = position1210, thunkPosition1210
|
|
if !matchString("\342") {
|
|
goto l1310
|
|
}
|
|
goto l1210
|
|
l1310:
|
|
position, thunkPosition = position1210, thunkPosition1210
|
|
if !matchString("\343") {
|
|
goto l1311
|
|
}
|
|
goto l1210
|
|
l1311:
|
|
position, thunkPosition = position1210, thunkPosition1210
|
|
if !matchString("\344") {
|
|
goto l1312
|
|
}
|
|
goto l1210
|
|
l1312:
|
|
position, thunkPosition = position1210, thunkPosition1210
|
|
if !matchString("\345") {
|
|
goto l1313
|
|
}
|
|
goto l1210
|
|
l1313:
|
|
position, thunkPosition = position1210, thunkPosition1210
|
|
if !matchString("\346") {
|
|
goto l1314
|
|
}
|
|
goto l1210
|
|
l1314:
|
|
position, thunkPosition = position1210, thunkPosition1210
|
|
if !matchString("\347") {
|
|
goto l1315
|
|
}
|
|
goto l1210
|
|
l1315:
|
|
position, thunkPosition = position1210, thunkPosition1210
|
|
if !matchString("\350") {
|
|
goto l1316
|
|
}
|
|
goto l1210
|
|
l1316:
|
|
position, thunkPosition = position1210, thunkPosition1210
|
|
if !matchString("\351") {
|
|
goto l1317
|
|
}
|
|
goto l1210
|
|
l1317:
|
|
position, thunkPosition = position1210, thunkPosition1210
|
|
if !matchString("\352") {
|
|
goto l1318
|
|
}
|
|
goto l1210
|
|
l1318:
|
|
position, thunkPosition = position1210, thunkPosition1210
|
|
if !matchString("\353") {
|
|
goto l1319
|
|
}
|
|
goto l1210
|
|
l1319:
|
|
position, thunkPosition = position1210, thunkPosition1210
|
|
if !matchString("\354") {
|
|
goto l1320
|
|
}
|
|
goto l1210
|
|
l1320:
|
|
position, thunkPosition = position1210, thunkPosition1210
|
|
if !matchString("\355") {
|
|
goto l1321
|
|
}
|
|
goto l1210
|
|
l1321:
|
|
position, thunkPosition = position1210, thunkPosition1210
|
|
if !matchString("\356") {
|
|
goto l1322
|
|
}
|
|
goto l1210
|
|
l1322:
|
|
position, thunkPosition = position1210, thunkPosition1210
|
|
if !matchString("\357") {
|
|
goto l1323
|
|
}
|
|
goto l1210
|
|
l1323:
|
|
position, thunkPosition = position1210, thunkPosition1210
|
|
if !matchString("\360") {
|
|
goto l1324
|
|
}
|
|
goto l1210
|
|
l1324:
|
|
position, thunkPosition = position1210, thunkPosition1210
|
|
if !matchString("\361") {
|
|
goto l1325
|
|
}
|
|
goto l1210
|
|
l1325:
|
|
position, thunkPosition = position1210, thunkPosition1210
|
|
if !matchString("\362") {
|
|
goto l1326
|
|
}
|
|
goto l1210
|
|
l1326:
|
|
position, thunkPosition = position1210, thunkPosition1210
|
|
if !matchString("\363") {
|
|
goto l1327
|
|
}
|
|
goto l1210
|
|
l1327:
|
|
position, thunkPosition = position1210, thunkPosition1210
|
|
if !matchString("\364") {
|
|
goto l1328
|
|
}
|
|
goto l1210
|
|
l1328:
|
|
position, thunkPosition = position1210, thunkPosition1210
|
|
if !matchString("\365") {
|
|
goto l1329
|
|
}
|
|
goto l1210
|
|
l1329:
|
|
position, thunkPosition = position1210, thunkPosition1210
|
|
if !matchString("\366") {
|
|
goto l1330
|
|
}
|
|
goto l1210
|
|
l1330:
|
|
position, thunkPosition = position1210, thunkPosition1210
|
|
if !matchString("\367") {
|
|
goto l1331
|
|
}
|
|
goto l1210
|
|
l1331:
|
|
position, thunkPosition = position1210, thunkPosition1210
|
|
if !matchString("\370") {
|
|
goto l1332
|
|
}
|
|
goto l1210
|
|
l1332:
|
|
position, thunkPosition = position1210, thunkPosition1210
|
|
if !matchString("\371") {
|
|
goto l1333
|
|
}
|
|
goto l1210
|
|
l1333:
|
|
position, thunkPosition = position1210, thunkPosition1210
|
|
if !matchString("\372") {
|
|
goto l1334
|
|
}
|
|
goto l1210
|
|
l1334:
|
|
position, thunkPosition = position1210, thunkPosition1210
|
|
if !matchString("\373") {
|
|
goto l1335
|
|
}
|
|
goto l1210
|
|
l1335:
|
|
position, thunkPosition = position1210, thunkPosition1210
|
|
if !matchString("\374") {
|
|
goto l1336
|
|
}
|
|
goto l1210
|
|
l1336:
|
|
position, thunkPosition = position1210, thunkPosition1210
|
|
if !matchString("\375") {
|
|
goto l1337
|
|
}
|
|
goto l1210
|
|
l1337:
|
|
position, thunkPosition = position1210, thunkPosition1210
|
|
if !matchString("\376") {
|
|
goto l1338
|
|
}
|
|
goto l1210
|
|
l1338:
|
|
position, thunkPosition = position1210, thunkPosition1210
|
|
if !matchString("\377") {
|
|
goto l1209
|
|
}
|
|
}
|
|
l1210:
|
|
return true
|
|
l1209:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 210 AlphanumericAscii <- [A-Za-z0-9] */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchClass(8) {
|
|
goto l1339
|
|
}
|
|
return true
|
|
l1339:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 211 Digit <- [0-9] */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchClass(7) {
|
|
goto l1340
|
|
}
|
|
return true
|
|
l1340:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 212 HexEntity <- (< '&' '#' [Xx] [0-9a-fA-F]+ ';' >) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
begin = position
|
|
if !matchChar('&') {
|
|
goto l1341
|
|
}
|
|
if !matchChar('#') {
|
|
goto l1341
|
|
}
|
|
if !matchClass(5) {
|
|
goto l1341
|
|
}
|
|
if !matchClass(0) {
|
|
goto l1341
|
|
}
|
|
l1342:
|
|
{
|
|
position1343, thunkPosition1343 := position, thunkPosition
|
|
if !matchClass(0) {
|
|
goto l1343
|
|
}
|
|
goto l1342
|
|
l1343:
|
|
position, thunkPosition = position1343, thunkPosition1343
|
|
}
|
|
if !matchChar(';') {
|
|
goto l1341
|
|
}
|
|
end = position
|
|
return true
|
|
l1341:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 213 DecEntity <- (< '&' '#' [0-9]+ > ';' >) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
begin = position
|
|
if !matchChar('&') {
|
|
goto l1344
|
|
}
|
|
if !matchChar('#') {
|
|
goto l1344
|
|
}
|
|
if !matchClass(7) {
|
|
goto l1344
|
|
}
|
|
l1345:
|
|
{
|
|
position1346, thunkPosition1346 := position, thunkPosition
|
|
if !matchClass(7) {
|
|
goto l1346
|
|
}
|
|
goto l1345
|
|
l1346:
|
|
position, thunkPosition = position1346, thunkPosition1346
|
|
}
|
|
end = position
|
|
if !matchChar(';') {
|
|
goto l1344
|
|
}
|
|
end = position
|
|
return true
|
|
l1344:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 214 CharEntity <- (< '&' [A-Za-z0-9]+ ';' >) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
begin = position
|
|
if !matchChar('&') {
|
|
goto l1347
|
|
}
|
|
if !matchClass(8) {
|
|
goto l1347
|
|
}
|
|
l1348:
|
|
{
|
|
position1349, thunkPosition1349 := position, thunkPosition
|
|
if !matchClass(8) {
|
|
goto l1349
|
|
}
|
|
goto l1348
|
|
l1349:
|
|
position, thunkPosition = position1349, thunkPosition1349
|
|
}
|
|
if !matchChar(';') {
|
|
goto l1347
|
|
}
|
|
end = position
|
|
return true
|
|
l1347:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 215 NonindentSpace <- (' ' / ' ' / ' ' / '') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
{
|
|
position1351, thunkPosition1351 := position, thunkPosition
|
|
if !matchString(" ") {
|
|
goto l1352
|
|
}
|
|
goto l1351
|
|
l1352:
|
|
position, thunkPosition = position1351, thunkPosition1351
|
|
if !matchString(" ") {
|
|
goto l1353
|
|
}
|
|
goto l1351
|
|
l1353:
|
|
position, thunkPosition = position1351, thunkPosition1351
|
|
if !matchChar(' ') {
|
|
goto l1354
|
|
}
|
|
goto l1351
|
|
l1354:
|
|
position, thunkPosition = position1351, thunkPosition1351
|
|
if !peekDot() {
|
|
goto l1350
|
|
}
|
|
}
|
|
l1351:
|
|
return true
|
|
l1350:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 216 Indent <- ('\t' / ' ') */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
{
|
|
position1356, thunkPosition1356 := position, thunkPosition
|
|
if !matchChar('\t') {
|
|
goto l1357
|
|
}
|
|
goto l1356
|
|
l1357:
|
|
position, thunkPosition = position1356, thunkPosition1356
|
|
if !matchString(" ") {
|
|
goto l1355
|
|
}
|
|
}
|
|
l1356:
|
|
return true
|
|
l1355:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 217 IndentedLine <- (Indent Line) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !p.rules[ruleIndent]() {
|
|
goto l1358
|
|
}
|
|
if !p.rules[ruleLine]() {
|
|
goto l1358
|
|
}
|
|
return true
|
|
l1358:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 218 OptionallyIndentedLine <- (Indent? Line) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
{
|
|
position1360, thunkPosition1360 := position, thunkPosition
|
|
if !p.rules[ruleIndent]() {
|
|
goto l1360
|
|
}
|
|
goto l1361
|
|
l1360:
|
|
position, thunkPosition = position1360, thunkPosition1360
|
|
}
|
|
l1361:
|
|
if !p.rules[ruleLine]() {
|
|
goto l1359
|
|
}
|
|
return true
|
|
l1359:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 219 StartList <- (&. { yy = nil }) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !peekDot() {
|
|
goto l1362
|
|
}
|
|
do(87)
|
|
return true
|
|
l1362:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 220 Line <- (RawLine { yy = mk_str(yytext) }) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !p.rules[ruleRawLine]() {
|
|
goto l1363
|
|
}
|
|
do(88)
|
|
return true
|
|
l1363:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 221 RawLine <- ((< (!'\r' !'\n' .)* Newline >) / (< .+ > Eof)) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
{
|
|
position1365, thunkPosition1365 := position, thunkPosition
|
|
begin = position
|
|
l1367:
|
|
{
|
|
position1368, thunkPosition1368 := position, thunkPosition
|
|
if peekChar('\r') {
|
|
goto l1368
|
|
}
|
|
if peekChar('\n') {
|
|
goto l1368
|
|
}
|
|
if !matchDot() {
|
|
goto l1368
|
|
}
|
|
goto l1367
|
|
l1368:
|
|
position, thunkPosition = position1368, thunkPosition1368
|
|
}
|
|
if !p.rules[ruleNewline]() {
|
|
goto l1366
|
|
}
|
|
end = position
|
|
goto l1365
|
|
l1366:
|
|
position, thunkPosition = position1365, thunkPosition1365
|
|
begin = position
|
|
if !matchDot() {
|
|
goto l1364
|
|
}
|
|
l1369:
|
|
{
|
|
position1370, thunkPosition1370 := position, thunkPosition
|
|
if !matchDot() {
|
|
goto l1370
|
|
}
|
|
goto l1369
|
|
l1370:
|
|
position, thunkPosition = position1370, thunkPosition1370
|
|
}
|
|
end = position
|
|
if !p.rules[ruleEof]() {
|
|
goto l1364
|
|
}
|
|
}
|
|
l1365:
|
|
return true
|
|
l1364:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 222 SkipBlock <- (((!BlankLine RawLine)+ BlankLine*) / BlankLine+) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
{
|
|
position1372, thunkPosition1372 := position, thunkPosition
|
|
{
|
|
position1376, thunkPosition1376 := position, thunkPosition
|
|
if !p.rules[ruleBlankLine]() {
|
|
goto l1376
|
|
}
|
|
goto l1373
|
|
l1376:
|
|
position, thunkPosition = position1376, thunkPosition1376
|
|
}
|
|
if !p.rules[ruleRawLine]() {
|
|
goto l1373
|
|
}
|
|
l1374:
|
|
{
|
|
position1375, thunkPosition1375 := position, thunkPosition
|
|
{
|
|
position1377, thunkPosition1377 := position, thunkPosition
|
|
if !p.rules[ruleBlankLine]() {
|
|
goto l1377
|
|
}
|
|
goto l1375
|
|
l1377:
|
|
position, thunkPosition = position1377, thunkPosition1377
|
|
}
|
|
if !p.rules[ruleRawLine]() {
|
|
goto l1375
|
|
}
|
|
goto l1374
|
|
l1375:
|
|
position, thunkPosition = position1375, thunkPosition1375
|
|
}
|
|
l1378:
|
|
{
|
|
position1379, thunkPosition1379 := position, thunkPosition
|
|
if !p.rules[ruleBlankLine]() {
|
|
goto l1379
|
|
}
|
|
goto l1378
|
|
l1379:
|
|
position, thunkPosition = position1379, thunkPosition1379
|
|
}
|
|
goto l1372
|
|
l1373:
|
|
position, thunkPosition = position1372, thunkPosition1372
|
|
if !p.rules[ruleBlankLine]() {
|
|
goto l1371
|
|
}
|
|
l1380:
|
|
{
|
|
position1381, thunkPosition1381 := position, thunkPosition
|
|
if !p.rules[ruleBlankLine]() {
|
|
goto l1381
|
|
}
|
|
goto l1380
|
|
l1381:
|
|
position, thunkPosition = position1381, thunkPosition1381
|
|
}
|
|
}
|
|
l1372:
|
|
return true
|
|
l1371:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 223 ExtendedSpecialChar <- ((&{ p.extension.Smart } ((&[\"] '"') | (&[\'] '\'') | (&[\-] '-') | (&[.] '.'))) / (&{ p.extension.Notes } '^')) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
{
|
|
position1383, thunkPosition1383 := position, thunkPosition
|
|
if !( p.extension.Smart ) {
|
|
goto l1384
|
|
}
|
|
{
|
|
if position == len(p.Buffer) {
|
|
goto l1384
|
|
}
|
|
switch p.Buffer[position] {
|
|
case '"':
|
|
if !matchChar('"') {
|
|
goto l1384
|
|
}
|
|
case '\'':
|
|
if !matchChar('\'') {
|
|
goto l1384
|
|
}
|
|
case '-':
|
|
if !matchChar('-') {
|
|
goto l1384
|
|
}
|
|
default:
|
|
if !matchChar('.') {
|
|
goto l1384
|
|
}
|
|
}
|
|
}
|
|
goto l1383
|
|
l1384:
|
|
position, thunkPosition = position1383, thunkPosition1383
|
|
if !( p.extension.Notes ) {
|
|
goto l1382
|
|
}
|
|
if !matchChar('^') {
|
|
goto l1382
|
|
}
|
|
}
|
|
l1383:
|
|
return true
|
|
l1382:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 224 Smart <- (&{ p.extension.Smart } (SingleQuoted / ((&[\'] Apostrophe) | (&[\"] DoubleQuoted) | (&[\-] Dash) | (&[.] Ellipsis)))) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !( p.extension.Smart ) {
|
|
goto l1386
|
|
}
|
|
{
|
|
position1387, thunkPosition1387 := position, thunkPosition
|
|
if !p.rules[ruleSingleQuoted]() {
|
|
goto l1388
|
|
}
|
|
goto l1387
|
|
l1388:
|
|
position, thunkPosition = position1387, thunkPosition1387
|
|
{
|
|
if position == len(p.Buffer) {
|
|
goto l1386
|
|
}
|
|
switch p.Buffer[position] {
|
|
case '\'':
|
|
if !p.rules[ruleApostrophe]() {
|
|
goto l1386
|
|
}
|
|
case '"':
|
|
if !p.rules[ruleDoubleQuoted]() {
|
|
goto l1386
|
|
}
|
|
case '-':
|
|
if !p.rules[ruleDash]() {
|
|
goto l1386
|
|
}
|
|
default:
|
|
if !p.rules[ruleEllipsis]() {
|
|
goto l1386
|
|
}
|
|
}
|
|
}
|
|
}
|
|
l1387:
|
|
return true
|
|
l1386:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 225 Apostrophe <- ('\'' { yy = mk_element(APOSTROPHE) }) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('\'') {
|
|
goto l1390
|
|
}
|
|
do(89)
|
|
return true
|
|
l1390:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 226 Ellipsis <- (('...' / '. . .') { yy = mk_element(ELLIPSIS) }) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
{
|
|
position1392, thunkPosition1392 := position, thunkPosition
|
|
if !matchString("...") {
|
|
goto l1393
|
|
}
|
|
goto l1392
|
|
l1393:
|
|
position, thunkPosition = position1392, thunkPosition1392
|
|
if !matchString(". . .") {
|
|
goto l1391
|
|
}
|
|
}
|
|
l1392:
|
|
do(90)
|
|
return true
|
|
l1391:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 227 Dash <- (EmDash / EnDash) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
{
|
|
position1395, thunkPosition1395 := position, thunkPosition
|
|
if !p.rules[ruleEmDash]() {
|
|
goto l1396
|
|
}
|
|
goto l1395
|
|
l1396:
|
|
position, thunkPosition = position1395, thunkPosition1395
|
|
if !p.rules[ruleEnDash]() {
|
|
goto l1394
|
|
}
|
|
}
|
|
l1395:
|
|
return true
|
|
l1394:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 228 EnDash <- ('-' &Digit { yy = mk_element(ENDASH) }) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('-') {
|
|
goto l1397
|
|
}
|
|
{
|
|
position1398, thunkPosition1398 := position, thunkPosition
|
|
if !p.rules[ruleDigit]() {
|
|
goto l1397
|
|
}
|
|
position, thunkPosition = position1398, thunkPosition1398
|
|
}
|
|
do(91)
|
|
return true
|
|
l1397:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 229 EmDash <- (('---' / '--') { yy = mk_element(EMDASH) }) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
{
|
|
position1400, thunkPosition1400 := position, thunkPosition
|
|
if !matchString("---") {
|
|
goto l1401
|
|
}
|
|
goto l1400
|
|
l1401:
|
|
position, thunkPosition = position1400, thunkPosition1400
|
|
if !matchString("--") {
|
|
goto l1399
|
|
}
|
|
}
|
|
l1400:
|
|
do(92)
|
|
return true
|
|
l1399:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 230 SingleQuoteStart <- ('\'' ![)!\],.;:-? \t\n] !(((&[r] 're') | (&[l] 'll') | (&[v] 've') | (&[m] 'm') | (&[t] 't') | (&[s] 's')) !Alphanumeric)) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('\'') {
|
|
goto l1402
|
|
}
|
|
{
|
|
position1403, thunkPosition1403 := position, thunkPosition
|
|
if !matchClass(6) {
|
|
goto l1403
|
|
}
|
|
goto l1402
|
|
l1403:
|
|
position, thunkPosition = position1403, thunkPosition1403
|
|
}
|
|
{
|
|
position1404, thunkPosition1404 := position, thunkPosition
|
|
{
|
|
if position == len(p.Buffer) {
|
|
goto l1404
|
|
}
|
|
switch p.Buffer[position] {
|
|
case 'r':
|
|
if !matchString("re") {
|
|
goto l1404
|
|
}
|
|
case 'l':
|
|
if !matchString("ll") {
|
|
goto l1404
|
|
}
|
|
case 'v':
|
|
if !matchString("ve") {
|
|
goto l1404
|
|
}
|
|
case 'm':
|
|
if !matchChar('m') {
|
|
goto l1404
|
|
}
|
|
case 't':
|
|
if !matchChar('t') {
|
|
goto l1404
|
|
}
|
|
default:
|
|
if !matchChar('s') {
|
|
goto l1404
|
|
}
|
|
}
|
|
}
|
|
{
|
|
position1406, thunkPosition1406 := position, thunkPosition
|
|
if !p.rules[ruleAlphanumeric]() {
|
|
goto l1406
|
|
}
|
|
goto l1404
|
|
l1406:
|
|
position, thunkPosition = position1406, thunkPosition1406
|
|
}
|
|
goto l1402
|
|
l1404:
|
|
position, thunkPosition = position1404, thunkPosition1404
|
|
}
|
|
return true
|
|
l1402:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 231 SingleQuoteEnd <- ('\'' !Alphanumeric) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('\'') {
|
|
goto l1407
|
|
}
|
|
{
|
|
position1408, thunkPosition1408 := position, thunkPosition
|
|
if !p.rules[ruleAlphanumeric]() {
|
|
goto l1408
|
|
}
|
|
goto l1407
|
|
l1408:
|
|
position, thunkPosition = position1408, thunkPosition1408
|
|
}
|
|
return true
|
|
l1407:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 232 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 l1409
|
|
}
|
|
if !p.rules[ruleStartList]() {
|
|
goto l1409
|
|
}
|
|
doarg(yySet, -1)
|
|
{
|
|
position1412, thunkPosition1412 := position, thunkPosition
|
|
if !p.rules[ruleSingleQuoteEnd]() {
|
|
goto l1412
|
|
}
|
|
goto l1409
|
|
l1412:
|
|
position, thunkPosition = position1412, thunkPosition1412
|
|
}
|
|
if !p.rules[ruleInline]() {
|
|
goto l1409
|
|
}
|
|
doarg(yySet, -2)
|
|
do(93)
|
|
l1410:
|
|
{
|
|
position1411, thunkPosition1411 := position, thunkPosition
|
|
{
|
|
position1413, thunkPosition1413 := position, thunkPosition
|
|
if !p.rules[ruleSingleQuoteEnd]() {
|
|
goto l1413
|
|
}
|
|
goto l1411
|
|
l1413:
|
|
position, thunkPosition = position1413, thunkPosition1413
|
|
}
|
|
if !p.rules[ruleInline]() {
|
|
goto l1411
|
|
}
|
|
doarg(yySet, -2)
|
|
do(93)
|
|
goto l1410
|
|
l1411:
|
|
position, thunkPosition = position1411, thunkPosition1411
|
|
}
|
|
if !p.rules[ruleSingleQuoteEnd]() {
|
|
goto l1409
|
|
}
|
|
do(94)
|
|
doarg(yyPop, 2)
|
|
return true
|
|
l1409:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 233 DoubleQuoteStart <- '"' */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('"') {
|
|
goto l1414
|
|
}
|
|
return true
|
|
l1414:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 234 DoubleQuoteEnd <- '"' */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchChar('"') {
|
|
goto l1415
|
|
}
|
|
return true
|
|
l1415:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 235 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 l1416
|
|
}
|
|
if !p.rules[ruleStartList]() {
|
|
goto l1416
|
|
}
|
|
doarg(yySet, -1)
|
|
{
|
|
position1419, thunkPosition1419 := position, thunkPosition
|
|
if !p.rules[ruleDoubleQuoteEnd]() {
|
|
goto l1419
|
|
}
|
|
goto l1416
|
|
l1419:
|
|
position, thunkPosition = position1419, thunkPosition1419
|
|
}
|
|
if !p.rules[ruleInline]() {
|
|
goto l1416
|
|
}
|
|
doarg(yySet, -2)
|
|
do(95)
|
|
l1417:
|
|
{
|
|
position1418, thunkPosition1418 := position, thunkPosition
|
|
{
|
|
position1420, thunkPosition1420 := position, thunkPosition
|
|
if !p.rules[ruleDoubleQuoteEnd]() {
|
|
goto l1420
|
|
}
|
|
goto l1418
|
|
l1420:
|
|
position, thunkPosition = position1420, thunkPosition1420
|
|
}
|
|
if !p.rules[ruleInline]() {
|
|
goto l1418
|
|
}
|
|
doarg(yySet, -2)
|
|
do(95)
|
|
goto l1417
|
|
l1418:
|
|
position, thunkPosition = position1418, thunkPosition1418
|
|
}
|
|
if !p.rules[ruleDoubleQuoteEnd]() {
|
|
goto l1416
|
|
}
|
|
do(96)
|
|
doarg(yyPop, 2)
|
|
return true
|
|
l1416:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 236 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 l1421
|
|
}
|
|
if !p.rules[ruleRawNoteReference]() {
|
|
goto l1421
|
|
}
|
|
doarg(yySet, -1)
|
|
do(97)
|
|
doarg(yyPop, 1)
|
|
return true
|
|
l1421:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 237 RawNoteReference <- ('[^' < (!Newline !']' .)+ > ']' { yy = mk_str(yytext) }) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !matchString("[^") {
|
|
goto l1422
|
|
}
|
|
begin = position
|
|
{
|
|
position1425, thunkPosition1425 := position, thunkPosition
|
|
if !p.rules[ruleNewline]() {
|
|
goto l1425
|
|
}
|
|
goto l1422
|
|
l1425:
|
|
position, thunkPosition = position1425, thunkPosition1425
|
|
}
|
|
if peekChar(']') {
|
|
goto l1422
|
|
}
|
|
if !matchDot() {
|
|
goto l1422
|
|
}
|
|
l1423:
|
|
{
|
|
position1424, thunkPosition1424 := position, thunkPosition
|
|
{
|
|
position1426, thunkPosition1426 := position, thunkPosition
|
|
if !p.rules[ruleNewline]() {
|
|
goto l1426
|
|
}
|
|
goto l1424
|
|
l1426:
|
|
position, thunkPosition = position1426, thunkPosition1426
|
|
}
|
|
if peekChar(']') {
|
|
goto l1424
|
|
}
|
|
if !matchDot() {
|
|
goto l1424
|
|
}
|
|
goto l1423
|
|
l1424:
|
|
position, thunkPosition = position1424, thunkPosition1424
|
|
}
|
|
end = position
|
|
if !matchChar(']') {
|
|
goto l1422
|
|
}
|
|
do(98)
|
|
return true
|
|
l1422:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 238 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 l1427
|
|
}
|
|
if !p.rules[ruleNonindentSpace]() {
|
|
goto l1427
|
|
}
|
|
if !p.rules[ruleRawNoteReference]() {
|
|
goto l1427
|
|
}
|
|
doarg(yySet, -1)
|
|
if !matchChar(':') {
|
|
goto l1427
|
|
}
|
|
if !p.rules[ruleSp]() {
|
|
goto l1427
|
|
}
|
|
if !p.rules[ruleStartList]() {
|
|
goto l1427
|
|
}
|
|
doarg(yySet, -2)
|
|
if !p.rules[ruleRawNoteBlock]() {
|
|
goto l1427
|
|
}
|
|
do(99)
|
|
l1428:
|
|
{
|
|
position1429, thunkPosition1429 := position, thunkPosition
|
|
{
|
|
position1430, thunkPosition1430 := position, thunkPosition
|
|
if !p.rules[ruleIndent]() {
|
|
goto l1429
|
|
}
|
|
position, thunkPosition = position1430, thunkPosition1430
|
|
}
|
|
if !p.rules[ruleRawNoteBlock]() {
|
|
goto l1429
|
|
}
|
|
do(100)
|
|
goto l1428
|
|
l1429:
|
|
position, thunkPosition = position1429, thunkPosition1429
|
|
}
|
|
do(101)
|
|
doarg(yyPop, 2)
|
|
return true
|
|
l1427:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 239 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 l1431
|
|
}
|
|
if !matchString("^[") {
|
|
goto l1431
|
|
}
|
|
if !p.rules[ruleStartList]() {
|
|
goto l1431
|
|
}
|
|
doarg(yySet, -1)
|
|
if peekChar(']') {
|
|
goto l1431
|
|
}
|
|
if !p.rules[ruleInline]() {
|
|
goto l1431
|
|
}
|
|
do(102)
|
|
l1432:
|
|
{
|
|
position1433, thunkPosition1433 := position, thunkPosition
|
|
if peekChar(']') {
|
|
goto l1433
|
|
}
|
|
if !p.rules[ruleInline]() {
|
|
goto l1433
|
|
}
|
|
do(102)
|
|
goto l1432
|
|
l1433:
|
|
position, thunkPosition = position1433, thunkPosition1433
|
|
}
|
|
if !matchChar(']') {
|
|
goto l1431
|
|
}
|
|
do(103)
|
|
doarg(yyPop, 1)
|
|
return true
|
|
l1431:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 240 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 l1434
|
|
}
|
|
doarg(yySet, -1)
|
|
l1435:
|
|
{
|
|
position1436, thunkPosition1436 := position, thunkPosition
|
|
{
|
|
position1437, thunkPosition1437 := position, thunkPosition
|
|
if !p.rules[ruleNote]() {
|
|
goto l1438
|
|
}
|
|
doarg(yySet, -2)
|
|
do(104)
|
|
goto l1437
|
|
l1438:
|
|
position, thunkPosition = position1437, thunkPosition1437
|
|
if !p.rules[ruleSkipBlock]() {
|
|
goto l1436
|
|
}
|
|
}
|
|
l1437:
|
|
goto l1435
|
|
l1436:
|
|
position, thunkPosition = position1436, thunkPosition1436
|
|
}
|
|
do(105)
|
|
if !(commit(thunkPosition0)) {
|
|
goto l1434
|
|
}
|
|
doarg(yyPop, 2)
|
|
return true
|
|
l1434:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 241 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 l1439
|
|
}
|
|
doarg(yySet, -1)
|
|
{
|
|
position1442, thunkPosition1442 := position, thunkPosition
|
|
if !p.rules[ruleBlankLine]() {
|
|
goto l1442
|
|
}
|
|
goto l1439
|
|
l1442:
|
|
position, thunkPosition = position1442, thunkPosition1442
|
|
}
|
|
if !p.rules[ruleOptionallyIndentedLine]() {
|
|
goto l1439
|
|
}
|
|
do(106)
|
|
l1440:
|
|
{
|
|
position1441, thunkPosition1441 := position, thunkPosition
|
|
{
|
|
position1443, thunkPosition1443 := position, thunkPosition
|
|
if !p.rules[ruleBlankLine]() {
|
|
goto l1443
|
|
}
|
|
goto l1441
|
|
l1443:
|
|
position, thunkPosition = position1443, thunkPosition1443
|
|
}
|
|
if !p.rules[ruleOptionallyIndentedLine]() {
|
|
goto l1441
|
|
}
|
|
do(106)
|
|
goto l1440
|
|
l1441:
|
|
position, thunkPosition = position1441, thunkPosition1441
|
|
}
|
|
begin = position
|
|
l1444:
|
|
{
|
|
position1445, thunkPosition1445 := position, thunkPosition
|
|
if !p.rules[ruleBlankLine]() {
|
|
goto l1445
|
|
}
|
|
goto l1444
|
|
l1445:
|
|
position, thunkPosition = position1445, thunkPosition1445
|
|
}
|
|
end = position
|
|
do(107)
|
|
do(108)
|
|
doarg(yyPop, 1)
|
|
return true
|
|
l1439:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 242 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 l1446
|
|
}
|
|
if !p.rules[ruleStartList]() {
|
|
goto l1446
|
|
}
|
|
doarg(yySet, -1)
|
|
if !p.rules[ruleDefinition]() {
|
|
goto l1446
|
|
}
|
|
do(109)
|
|
l1447:
|
|
{
|
|
position1448, thunkPosition1448 := position, thunkPosition
|
|
if !p.rules[ruleDefinition]() {
|
|
goto l1448
|
|
}
|
|
do(109)
|
|
goto l1447
|
|
l1448:
|
|
position, thunkPosition = position1448, thunkPosition1448
|
|
}
|
|
do(110)
|
|
doarg(yyPop, 1)
|
|
return true
|
|
l1446:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 243 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)
|
|
{
|
|
position1450, thunkPosition1450 := position, thunkPosition
|
|
{
|
|
position1453, thunkPosition1453 := position, thunkPosition
|
|
if !p.rules[ruleDefmark]() {
|
|
goto l1453
|
|
}
|
|
goto l1449
|
|
l1453:
|
|
position, thunkPosition = position1453, thunkPosition1453
|
|
}
|
|
if !p.rules[ruleRawLine]() {
|
|
goto l1449
|
|
}
|
|
l1451:
|
|
{
|
|
position1452, thunkPosition1452 := position, thunkPosition
|
|
{
|
|
position1454, thunkPosition1454 := position, thunkPosition
|
|
if !p.rules[ruleDefmark]() {
|
|
goto l1454
|
|
}
|
|
goto l1452
|
|
l1454:
|
|
position, thunkPosition = position1454, thunkPosition1454
|
|
}
|
|
if !p.rules[ruleRawLine]() {
|
|
goto l1452
|
|
}
|
|
goto l1451
|
|
l1452:
|
|
position, thunkPosition = position1452, thunkPosition1452
|
|
}
|
|
{
|
|
position1455, thunkPosition1455 := position, thunkPosition
|
|
if !p.rules[ruleBlankLine]() {
|
|
goto l1455
|
|
}
|
|
goto l1456
|
|
l1455:
|
|
position, thunkPosition = position1455, thunkPosition1455
|
|
}
|
|
l1456:
|
|
if !p.rules[ruleDefmark]() {
|
|
goto l1449
|
|
}
|
|
position, thunkPosition = position1450, thunkPosition1450
|
|
}
|
|
if !p.rules[ruleStartList]() {
|
|
goto l1449
|
|
}
|
|
doarg(yySet, -1)
|
|
if !p.rules[ruleDListTitle]() {
|
|
goto l1449
|
|
}
|
|
do(111)
|
|
l1457:
|
|
{
|
|
position1458, thunkPosition1458 := position, thunkPosition
|
|
if !p.rules[ruleDListTitle]() {
|
|
goto l1458
|
|
}
|
|
do(111)
|
|
goto l1457
|
|
l1458:
|
|
position, thunkPosition = position1458, thunkPosition1458
|
|
}
|
|
{
|
|
position1459, thunkPosition1459 := position, thunkPosition
|
|
if !p.rules[ruleDefTight]() {
|
|
goto l1460
|
|
}
|
|
goto l1459
|
|
l1460:
|
|
position, thunkPosition = position1459, thunkPosition1459
|
|
if !p.rules[ruleDefLoose]() {
|
|
goto l1449
|
|
}
|
|
}
|
|
l1459:
|
|
do(112)
|
|
do(113)
|
|
doarg(yyPop, 1)
|
|
return true
|
|
l1449:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 244 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 l1461
|
|
}
|
|
{
|
|
position1462, thunkPosition1462 := position, thunkPosition
|
|
if !p.rules[ruleDefmark]() {
|
|
goto l1462
|
|
}
|
|
goto l1461
|
|
l1462:
|
|
position, thunkPosition = position1462, thunkPosition1462
|
|
}
|
|
{
|
|
position1463, thunkPosition1463 := position, thunkPosition
|
|
if !p.rules[ruleNonspacechar]() {
|
|
goto l1461
|
|
}
|
|
position, thunkPosition = position1463, thunkPosition1463
|
|
}
|
|
if !p.rules[ruleStartList]() {
|
|
goto l1461
|
|
}
|
|
doarg(yySet, -1)
|
|
{
|
|
position1466, thunkPosition1466 := position, thunkPosition
|
|
if !p.rules[ruleEndline]() {
|
|
goto l1466
|
|
}
|
|
goto l1461
|
|
l1466:
|
|
position, thunkPosition = position1466, thunkPosition1466
|
|
}
|
|
if !p.rules[ruleInline]() {
|
|
goto l1461
|
|
}
|
|
do(114)
|
|
l1464:
|
|
{
|
|
position1465, thunkPosition1465 := position, thunkPosition
|
|
{
|
|
position1467, thunkPosition1467 := position, thunkPosition
|
|
if !p.rules[ruleEndline]() {
|
|
goto l1467
|
|
}
|
|
goto l1465
|
|
l1467:
|
|
position, thunkPosition = position1467, thunkPosition1467
|
|
}
|
|
if !p.rules[ruleInline]() {
|
|
goto l1465
|
|
}
|
|
do(114)
|
|
goto l1464
|
|
l1465:
|
|
position, thunkPosition = position1465, thunkPosition1465
|
|
}
|
|
if !p.rules[ruleSp]() {
|
|
goto l1461
|
|
}
|
|
if !p.rules[ruleNewline]() {
|
|
goto l1461
|
|
}
|
|
do(115)
|
|
doarg(yyPop, 1)
|
|
return true
|
|
l1461:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 245 DefTight <- (&Defmark ListTight) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
{
|
|
position1469, thunkPosition1469 := position, thunkPosition
|
|
if !p.rules[ruleDefmark]() {
|
|
goto l1468
|
|
}
|
|
position, thunkPosition = position1469, thunkPosition1469
|
|
}
|
|
if !p.rules[ruleListTight]() {
|
|
goto l1468
|
|
}
|
|
return true
|
|
l1468:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 246 DefLoose <- (BlankLine &Defmark ListLoose) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !p.rules[ruleBlankLine]() {
|
|
goto l1470
|
|
}
|
|
{
|
|
position1471, thunkPosition1471 := position, thunkPosition
|
|
if !p.rules[ruleDefmark]() {
|
|
goto l1470
|
|
}
|
|
position, thunkPosition = position1471, thunkPosition1471
|
|
}
|
|
if !p.rules[ruleListLoose]() {
|
|
goto l1470
|
|
}
|
|
return true
|
|
l1470:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 247 Defmark <- (NonindentSpace (':' / '~') Spacechar+) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !p.rules[ruleNonindentSpace]() {
|
|
goto l1472
|
|
}
|
|
{
|
|
position1473, thunkPosition1473 := position, thunkPosition
|
|
if !matchChar(':') {
|
|
goto l1474
|
|
}
|
|
goto l1473
|
|
l1474:
|
|
position, thunkPosition = position1473, thunkPosition1473
|
|
if !matchChar('~') {
|
|
goto l1472
|
|
}
|
|
}
|
|
l1473:
|
|
if !p.rules[ruleSpacechar]() {
|
|
goto l1472
|
|
}
|
|
l1475:
|
|
{
|
|
position1476, thunkPosition1476 := position, thunkPosition
|
|
if !p.rules[ruleSpacechar]() {
|
|
goto l1476
|
|
}
|
|
goto l1475
|
|
l1476:
|
|
position, thunkPosition = position1476, thunkPosition1476
|
|
}
|
|
return true
|
|
l1472:
|
|
position, thunkPosition = position0, thunkPosition0
|
|
return false
|
|
},
|
|
/* 248 DefMarker <- (&{ p.extension.Dlists } Defmark) */
|
|
func() bool {
|
|
position0, thunkPosition0 := position, thunkPosition
|
|
if !( p.extension.Dlists ) {
|
|
goto l1477
|
|
}
|
|
if !p.rules[ruleDefmark]() {
|
|
goto l1477
|
|
}
|
|
return true
|
|
l1477:
|
|
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",
|
|
}
|