This grammar is LALR(2)
Number of Rules 163
Number of Terminals 69
Number of Lr0 States100
Number of La States1
Accept ::= document
1: document ::= prolog element misc*
2: prolog ::= xmlDecl? misc* (doctypedecl misc*)?
4: element ::= sTag content eTag
11: emptyElemTag ::= '<' qName attributes '/' '>'
12: sTag ::= '<' qName attributes '>'
13: content ::=
14: content ::= content cdSect
15: content ::= content reference
16: content ::= content element
17: eTag ::= '<' '/' qName '>'
18: misc ::= (comment|pi)
19: xmlDecl ::= byteOrderMark? xmlPrefix versionInfo encodingDecl? sdDecl? '?>'
21: attributes ::=
22: attributes ::= attributes attribute
24: reference ::= charRef
29: xmlPrefix ::= utf16LEPrefix
30: xmlPrefix ::= utf32BEPrefix
31: xmlPrefix ::= utf32LEPrefix
33: xmlPrefix ::= utf16BEPrefix
34: versionInfo ::= 'version' eq versionNum
39: doctypedecl ::= doctypedeclStart doctypedeclContent doctypedeclEnd
40: attribute ::= qName eq attValue
41: attribute ::= nsAttName eq attValue
42: charRef ::= charRefDecimal
49: eq ::= '='
51: encodingDecl ::= 'encoding' eq '"' encName '"'
52: encodingDecl ::= 'encoding' eq ''' encName '''
53: sdDecl ::= 'standalone' eq yesNo '''
54: sdDecl ::= 'standalone' eq yesNo '"'
55: doctypedeclStart ::= '<!DOCTYPE' qName optExternalID
56: doctypedeclContent ::= ('\[' intSubset '\]')?
57: doctypedeclEnd ::= '>'
58: attValue ::= quotAttValueStart
59: attValue ::= aposAttValueStart
60: utf8 ::= 'xEFxBBxBF'
61: utf16LE ::= 'xFFxFE'
62: utf32LE ::= 'xFFxFEx00x00'
63: utf16BE ::= 'xFExFF'
64: utf32BE ::= 'x00x00xFExFF'
66: optExternalID ::= externalID
69: quotAttValueStart ::= '"'
70: aposAttValueStart ::= '''
71: externalID ::= 'SYSTEM' systemLiteral
72: externalID ::= 'PUBLIC' pubidLiteral systemLiteral
74: pubidLiteral ::= pubidLiteralMinusApostrophe
75: pubidLiteral ::= pubidLiteralWithApostrophe
79: markupdecl ::= attlistDecl
80: markupdecl ::= elementdecl
82: markupdecl ::= notationDecl
83: attlistDecl ::= '<!ATTLIST' qName attDefs '>'
84: elementdecl ::= '<!ELEMENT' qName contentspec '>'
85: entityDecl ::= geDecl
86: entityDecl ::= peDecl
87: notationDecl ::= '<!NOTATION' name externalID '>'
88: notationDecl ::= '<!NOTATION' name publicID '>'
89: attDefs ::=
90: attDefs ::= attDefs attDef
92: contentspec ::= anyContentspec
93: contentspec ::= mixed
94: contentspec ::= emptyContentspec
95: geDecl ::= '<!ENTITY' name entityDef '>'
96: peDecl ::= '<!ENTITY' '%' name peDef '>'
97: publicID ::= 'PUBLIC' pubidLiteral
98: attDef ::= nsAttName attType defaultDecl
99: attDef ::= qName attType defaultDecl
100: children ::= seq quantifier
101: children ::= choice quantifier
102: anyContentspec ::= 'ANY'
103: mixed ::= '(' '#PCDATA' ')'
104: mixed ::= '(' '#PCDATA' mixedNames ')' '*'
105: emptyContentspec ::= 'EMPTY'
106: entityDef ::= externalID nDataDecl?
107: entityDef ::= entityValue
108: peDef ::= externalID
111: attType ::= tokenizedType
112: attType ::= enumeratedType
113: defaultDecl ::= defaultDeclImplied
114: defaultDecl ::= defaultDeclRequired
116: defaultDecl ::= defaultDeclFixed
118: quantifier ::=
119: quantifier ::= quantifierChar
120: choice ::= '(' choices ')'
121: mixedNames ::=
122: mixedNames ::= mixedNames '|' qName
125: entityValue ::= quotEntityValueStart
126: entityValue ::= aposEntityValueStart
127: stringType ::= 'CDATA'
128: tokenizedType ::= tokenizedTypeEntities
129: tokenizedType ::= tokenizedTypeIdRefs
130: tokenizedType ::= tokenizedTypeIdRef
131: tokenizedType ::= tokenizedTypeNmToken
132: tokenizedType ::= tokenizedTypeNmTokens
133: tokenizedType ::= tokenizedTypeEntity
134: tokenizedType ::= tokenizedTypeId
135: enumeratedType ::= enumeration
136: enumeratedType ::= notationType
137: defaultDeclImplied ::= '#IMPLIED'
138: defaultDeclRequired ::= '#REQUIRED'
139: defaultDeclFixed ::= '#FIXED' attValue
142: choices ::= cp '|' cp
143: choices ::= choices '|' cp
144: nDataDecl ::= 'NDATA' name
145: quotEntityValueStart ::= '"'
146: aposEntityValueStart ::= '''
147: tokenizedTypeEntities ::= 'ENTITIES'
148: tokenizedTypeIdRefs ::= 'ID' 'REF' 'S'
149: tokenizedTypeIdRef ::= 'ID' 'REF'
150: tokenizedTypeNmToken ::= 'NMTOKEN'
151: tokenizedTypeNmTokens ::= 'NMTOKEN' 'S'
152: tokenizedTypeEntity ::= 'ENTITY'
153: tokenizedTypeId ::= 'ID'
154: enumeration ::= '(' enumerationNMTokens ')'
155: notationType ::= 'NOTATION' '(' notationTypeNames ')'
156: cp ::= qName quantifier
157: cp ::= choice quantifier
158: cp ::= seq quantifier
159: enumerationNMTokens ::= enumerationNMTokens '|' nmtoken
160: enumerationNMTokens ::= nmtoken
161: notationTypeNames ::= name
162: notationTypeNames ::= notationTypeNames '|' name
name = '[:A-Z_a-z\xC0-\xD6\xD8-\xF6\xF8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\x{10000}-\x{10FFFF}][:A-Z_a-z\xC0-\xD6\xD8-\xF6\xF8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\x{10000}-\x{10FFFF}\-\.0-9\xB7\u0300-\u036F\u203F-\u2040]*'
comment = '<!\-\-[\x01-\uD7FF\uE000-\uFFFD\x{10000}-\x{10FFFF}]*\-\->'
version = '"[0-9]\.[0-9]"|'[0-9]\.[0-9]''
systemLiteral = '"[^"]*"|'[^']*''
pubidLiteralWithApostrophe = '"[\x20\x0D\x0Aa-zA-Z0-9\-'\(\)\+\,\./:=\?;!\*#@\$_%]*"'
pubidLiteralMinusApostrophe = ''[\x20\x0D\x0Aa-zA-Z0-9\-\(\)\+\,\./:=\?;!\*#@\$_%]*''
qName = '[A-Z_a-z\xC0-\xD6\xD8-\xF6\xF8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\x{10000}-\x{10FFFF}][A-Z_a-z\xC0-\xD6\xD8-\xF6\xF8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\x{10000}-\x{10FFFF}\-\.0-9\xB7\u0300-\u036F\u203F-\u2040]*(:[A-Z_a-z\xC0-\xD6\xD8-\xF6\xF8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\x{10000}-\x{10FFFF}][A-Z_a-z\xC0-\xD6\xD8-\xF6\xF8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\x{10000}-\x{10FFFF}\-\.0-9\xB7\u0300-\u036F\u203F-\u2040]*)?'
eol = '\x0d\x0a|\x0d\x85|\x85|\x0d|\u2028'
pi = '<\?[\x01-\uD7FF\uE000-\uFFFD\x{10000}-\x{10FFFF}]*\?>'
nsAttName = 'xmlns(:[A-Z_a-z\xC0-\xD6\xD8-\xF6\xF8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\x{10000}-\x{10FFFF}][A-Z_a-z\xC0-\xD6\xD8-\xF6\xF8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\x{10000}-\x{10FFFF}\-\.0-9\xB7\u0300-\u036F\u203F-\u2040]*)?'
charRefHex = '\&#x[0-9a-fA-F]+;'
cdSect = '<!\[CDATA\[[\x01-\uD7FF\uE000-\uFFFD\x{10000}-\x{10FFFF}]*\]\]>'
encName = '[A-Za-z][A-Za-z0-9\._\-]*'
entityRef = '\&[:A-Z_a-z\xC0-\xD6\xD8-\xF6\xF8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\x{10000}-\x{10FFFF}][:A-Z_a-z\xC0-\xD6\xD8-\xF6\xF8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\x{10000}-\x{10FFFF}\-\.0-9\xB7\u0300-\u036F\u203F-\u2040]*;'
nmtoken = '[:A-Z_a-z\xC0-\xD6\xD8-\xF6\xF8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\x{10000}-\x{10FFFF}\-\.0-9\xB7\u0300-\u036F\u203F-\u2040]+'
utf32BEPrefix = '\x00\x00\x00<\x00\x00\x00\?\x00\x00\x00x\x00\x00\x00m\x00\x00\x00l'
utf32LEPrefix = '<\x00\x00\x00\?\x00\x00\x00x\x00\x00\x00m\x00\x00\x00l\x00\x00\x00'
utf16BEPrefix = '\x00<\x00\?\x00x\x00m\x00l'
utf16LEPrefix = '<\x00\?\x00x\x00m\x00l\x00'
charRefDecimal = '\&#[0-9]+;'
'xEFxBBxBF' Sh/Rd 60
'xFFxFE' Sh/Rd 61
'xFFxFEx00x00' Sh/Rd 62
'xFExFF' Sh/Rd 63
'x00x00xFExFF' Sh/Rd 64
byteOrderMark Gt/Rd 28
byteOrderMark? Goto 4
utf16LEPrefix Reduce 27
utf32BEPrefix Reduce 27
utf32LEPrefix Reduce 27
utf8Prefix Reduce 27
utf16BEPrefix Reduce 27
'<!DOCTYPE' Reduce 7
'<' Reduce 7
Eof Reduce 0
document->prolog .element misc*
'<' Shift 8
emptyElemTag Gt/Rd 3
xmlDecl->byteOrderMark? .xmlPrefix versionInfo encodingDecl? sdDecl? '?>'
utf16BEPrefix Sh/Rd 33
utf8Prefix Sh/Rd 32
utf32LEPrefix Sh/Rd 31
utf32BEPrefix Sh/Rd 30
utf16LEPrefix Sh/Rd 29
prolog->xmlDecl? .misc* (doctypedecl misc*)?
'<!DOCTYPE' Reduce 6
'<' Reduce 6
document->prolog element .misc*
Eof Reduce 6
'<' Reduce 13
charRefDecimal Reduce 13
charRefHex Reduce 13
emptyElemTag->'<' .qName attributes '/' '>'
sTag->'<' .qName attributes '>'
xmlDecl->byteOrderMark? xmlPrefix .versionInfo encodingDecl? sdDecl? '?>'
'version' Shift 15
versionInfo Goto 14
prolog->xmlDecl? misc* .(doctypedecl misc*)?
'<!DOCTYPE' Shift 17
(doctypedecl misc*)? Gt/Rd 2
(doctypedecl misc*) Gt/Rd 10
doctypedeclStart Goto 16
doctypedecl Goto 18
(comment|pi) Gt/Rd 18
'<' Reduce 9
document->prolog element misc* . (1)
document->prolog element misc* . (1)
(comment|pi) Gt/Rd 18
Eof Reduce 1
charRefHex Sh/Rd 43
charRefDecimal Sh/Rd 42
'<' Shift 19
emptyElemTag Gt/Rd 3
emptyElemTag->'<' qName .attributes '/' '>'
sTag->'<' qName .attributes '>'
attributes->. (21)
attributes Goto 20
'/' Reduce 21
'>' Reduce 21
xmlDecl->byteOrderMark? xmlPrefix versionInfo .encodingDecl? sdDecl? '?>'
'encoding' Shift 22
encodingDecl? Goto 21
encodingDecl Gt/Rd 35
'standalone' Reduce 36
'?>' Reduce 36
versionInfo->'version' .eq versionNum
'=' Sh/Rd 49
doctypedecl->doctypedeclStart .doctypedeclContent doctypedeclEnd
('\[' intSubset '\]')?->. (67)
'[' Shift 25
doctypedeclContent Goto 24
('\[' intSubset '\]')? Gt/Rd 56
('\[' intSubset '\]') Gt/Rd 68
'>' Reduce 67
doctypedeclStart->'<!DOCTYPE' .qName optExternalID
(doctypedecl misc*)->doctypedecl .misc*
'<' Reduce 6
emptyElemTag->'<' .qName attributes '/' '>'
sTag->'<' .qName attributes '>'
'/' Shift 28
emptyElemTag->'<' qName attributes .'/' '>'
sTag->'<' qName attributes .'>'
attributes->attributes .attribute
'>' Sh/Rd 12
'/' Shift 29
xmlDecl->byteOrderMark? xmlPrefix versionInfo encodingDecl? .sdDecl? '?>'
'standalone' Shift 33
'?>' Reduce 38
encodingDecl->'encoding' .eq '"' encName '"'
encodingDecl->'encoding' .eq ''' encName '''
'=' Sh/Rd 49
versionInfo->'version' eq .versionNum
versionNum Gt/Rd 34
doctypedecl->doctypedeclStart doctypedeclContent .doctypedeclEnd
'>' Sh/Rd 57
doctypedeclEnd Gt/Rd 39
('\[' intSubset '\]')->'[' .intSubset ']'
markupdecl*->. (77)
markupdecl* Goto 36
'<!ATTLIST' Reduce 77
'<!ELEMENT' Reduce 77
'<!ENTITY' Reduce 77
'<!NOTATION' Reduce 77
']' Reduce 77
doctypedeclStart->'<!DOCTYPE' qName .optExternalID
'PUBLIC' Shift 37
'SYSTEM' Shift 38
optExternalID Gt/Rd 55
externalID Gt/Rd 66
'[' Reduce 65
'>' Reduce 65
(doctypedecl misc*)->doctypedecl misc* . (20)
(doctypedecl misc*)->doctypedecl misc* . (20)
(comment|pi) Gt/Rd 18
'<' Reduce 20
emptyElemTag->'<' qName attributes '/' .'>'
'>' Sh/Rd 11
attribute->nsAttName .eq attValue
'=' Sh/Rd 49
'=' Sh/Rd 49
xmlDecl->byteOrderMark? xmlPrefix versionInfo encodingDecl? sdDecl? .'?>'
'?>' Sh/Rd 19
sdDecl->'standalone' .eq yesNo '''
sdDecl->'standalone' .eq yesNo '"'
'=' Sh/Rd 49
encodingDecl->'encoding' eq .'"' encName '"'
encodingDecl->'encoding' eq .''' encName '''
''' Shift 43
'"' Shift 44
('\[' intSubset '\]')->'[' intSubset .']'
']' Sh/Rd 73
markupdecl*->markupdecl* .markupdecl
'<!NOTATION' Shift 45
'<!ENTITY' Shift 46
'<!ELEMENT' Shift 47
'<!ATTLIST' Shift 48
markupdecl Gt/Rd 78
notationDecl Gt/Rd 82
entityDecl Gt/Rd 81
elementdecl Gt/Rd 80
attlistDecl Gt/Rd 79
']' Reduce 76
externalID->'PUBLIC' .pubidLiteral systemLiteral
pubidLiteralWithApostrophe Sh/Rd 75
pubidLiteralMinusApostrophe Sh/Rd 74
pubidLiteral Goto 49
externalID->'SYSTEM' .systemLiteral
systemLiteral Sh/Rd 71
'>' Sh/Rd 17
attribute->nsAttName eq .attValue
''' Sh/Rd 70
'"' Sh/Rd 69
aposAttValueStart Gt/Rd 59
quotAttValueStart Gt/Rd 58
''' Sh/Rd 70
'"' Sh/Rd 69
aposAttValueStart Gt/Rd 59
quotAttValueStart Gt/Rd 58
sdDecl->'standalone' eq .yesNo '''
sdDecl->'standalone' eq .yesNo '"'
encodingDecl->'encoding' eq ''' .encName '''
encodingDecl->'encoding' eq '"' .encName '"'
notationDecl->'<!NOTATION' .name externalID '>'
notationDecl->'<!NOTATION' .name publicID '>'
geDecl->'<!ENTITY' .name entityDef '>'
peDecl->'<!ENTITY' .'%' name peDef '>'
'%' Shift 54
elementdecl->'<!ELEMENT' .qName contentspec '>'
attlistDecl->'<!ATTLIST' .qName attDefs '>'
externalID->'PUBLIC' pubidLiteral .systemLiteral
systemLiteral Sh/Rd 72
sdDecl->'standalone' eq yesNo .'''
sdDecl->'standalone' eq yesNo .'"'
'"' Sh/Rd 54
''' Sh/Rd 53
encodingDecl->'encoding' eq ''' encName .'''
''' Sh/Rd 52
encodingDecl->'encoding' eq '"' encName .'"'
'"' Sh/Rd 51
notationDecl->'<!NOTATION' name .externalID '>'
notationDecl->'<!NOTATION' name .publicID '>'
'SYSTEM' Shift 38
'PUBLIC' Shift 60
externalID Goto 59
peDecl->'<!ENTITY' '%' .name peDef '>'
geDecl->'<!ENTITY' name .entityDef '>'
'"' Sh/Rd 145
''' Sh/Rd 146
'PUBLIC' Shift 37
'SYSTEM' Shift 38
entityValue Gt/Rd 107
externalID Goto 63
aposEntityValueStart Gt/Rd 126
quotEntityValueStart Gt/Rd 125
elementdecl->'<!ELEMENT' qName .contentspec '>'
'EMPTY' Sh/Rd 105
'ANY' Sh/Rd 102
'(' Shift 65
contentspec Goto 64
emptyContentspec Gt/Rd 94
anyContentspec Gt/Rd 92
attlistDecl->'<!ATTLIST' qName .attDefs '>'
'>' Reduce 89
notationDecl->'<!NOTATION' name publicID .'>'
'>' Sh/Rd 88
notationDecl->'<!NOTATION' name externalID .'>'
'>' Sh/Rd 87
externalID->'PUBLIC' .pubidLiteral systemLiteral
publicID->'PUBLIC' .pubidLiteral
pubidLiteralWithApostrophe Sh/Rd 75
pubidLiteralMinusApostrophe Sh/Rd 74
pubidLiteral Goto 69
peDecl->'<!ENTITY' '%' name .peDef '>'
'"' Sh/Rd 145
''' Sh/Rd 146
'PUBLIC' Shift 37
'SYSTEM' Shift 38
entityValue Gt/Rd 109
externalID Gt/Rd 108
aposEntityValueStart Gt/Rd 126
quotEntityValueStart Gt/Rd 125
geDecl->'<!ENTITY' name entityDef .'>'
'>' Sh/Rd 95
entityDef->externalID .nDataDecl?
nDataDecl?->. (124)
'NDATA' Shift 71
nDataDecl? Gt/Rd 106
'>' Reduce 124
elementdecl->'<!ELEMENT' qName contentspec .'>'
'>' Sh/Rd 84
mixed->'(' .'#PCDATA' ')'
mixed->'(' .'#PCDATA' mixedNames ')' '*'
'#PCDATA' Shift 72
'(' Shift 74
quantifier->. (118)
quantifierChar Sh/Rd 119
quantifier Gt/Rd 101
'>' Reduce 118
quantifier->. (118)
quantifierChar Sh/Rd 119
quantifier Gt/Rd 100
'>' Reduce 118
attlistDecl->'<!ATTLIST' qName attDefs .'>'
'>' Sh/Rd 83
externalID->'PUBLIC' pubidLiteral .systemLiteral
publicID->'PUBLIC' pubidLiteral . (97)
publicID->'PUBLIC' pubidLiteral . (97)
systemLiteral Sh/Rd 72
'>' Reduce 97
peDecl->'<!ENTITY' '%' name peDef .'>'
'>' Sh/Rd 96
mixed->'(' '#PCDATA' .')'
mixed->'(' '#PCDATA' .mixedNames ')' '*'
mixedNames->. (121)
')' Shift 101
mixedNames Goto 82
'|' Reduce 121
',' Shift 83
')' Sh/Rd 117
'(' Shift 74
cp->seq .quantifier
quantifier->. (118)
quantifierChar Sh/Rd 119
quantifier Gt/Rd 158
')' Reduce 118
'|' Reduce 118
',' Reduce 118
quantifier->. (118)
quantifierChar Sh/Rd 119
quantifier Gt/Rd 157
')' Reduce 118
'|' Reduce 118
',' Reduce 118
quantifier->. (118)
quantifierChar Sh/Rd 119
quantifier Gt/Rd 156
')' Reduce 118
'|' Reduce 118
',' Reduce 118
'|' Shift 84
')' Sh/Rd 120
'|' Shift 85
')' Reduce 140
',' Reduce 140
attDef->qName .attType defaultDecl
'(' Shift 87
'NOTATION' Shift 88
'ENTITIES' Sh/Rd 147
'NMTOKEN' Shift 89
'ENTITY' Sh/Rd 152
'ID' Shift 90
'CDATA' Sh/Rd 127
enumeratedType Gt/Rd 112
tokenizedType Gt/Rd 111
stringType Gt/Rd 110
notationType Gt/Rd 136
enumeration Gt/Rd 135
tokenizedTypeId Gt/Rd 134
tokenizedTypeEntity Gt/Rd 133
tokenizedTypeNmTokens Gt/Rd 132
tokenizedTypeNmToken Gt/Rd 131
tokenizedTypeIdRef Gt/Rd 130
tokenizedTypeIdRefs Gt/Rd 129
tokenizedTypeEntities Gt/Rd 128
attDef->nsAttName .attType defaultDecl
'(' Shift 87
'NOTATION' Shift 88
'ENTITIES' Sh/Rd 147
'NMTOKEN' Shift 89
'ENTITY' Sh/Rd 152
'ID' Shift 90
'CDATA' Sh/Rd 127
enumeratedType Gt/Rd 112
tokenizedType Gt/Rd 111
stringType Gt/Rd 110
notationType Gt/Rd 136
enumeration Gt/Rd 135
tokenizedTypeId Gt/Rd 134
tokenizedTypeEntity Gt/Rd 133
tokenizedTypeNmTokens Gt/Rd 132
tokenizedTypeNmToken Gt/Rd 131
tokenizedTypeIdRef Gt/Rd 130
tokenizedTypeIdRefs Gt/Rd 129
tokenizedTypeEntities Gt/Rd 128
mixed->'(' '#PCDATA' mixedNames .')' '*'
mixedNames->mixedNames .'|' qName
'|' Shift 92
')' Shift 93
'(' Shift 74
'(' Shift 74
'(' Shift 74
attDef->qName attType .defaultDecl
'#FIXED' Shift 94
'"' Sh/Rd 69
''' Sh/Rd 70
'#REQUIRED' Sh/Rd 138
'#IMPLIED' Sh/Rd 137
defaultDecl Gt/Rd 99
defaultDeclFixed Gt/Rd 116
defaultDeclRequired Gt/Rd 114
defaultDeclImplied Gt/Rd 113
aposAttValueStart Gt/Rd 59
quotAttValueStart Gt/Rd 58
enumeration->'(' .enumerationNMTokens ')'
enumerationNMTokens Goto 95
notationType->'NOTATION' .'(' notationTypeNames ')'
'(' Shift 96
tokenizedTypeNmToken->'NMTOKEN' . (150)
tokenizedTypeNmTokens->'NMTOKEN' .'S'
tokenizedTypeNmToken->'NMTOKEN' . (150)
'S' Sh/Rd 151
'#IMPLIED' Reduce 150
'#REQUIRED' Reduce 150
'"' Reduce 150
''' Reduce 150
'#FIXED' Reduce 150
tokenizedTypeIdRefs->'ID' .'REF' 'S'
tokenizedTypeIdRef->'ID' .'REF'
tokenizedTypeId->'ID' . (153)
tokenizedTypeId->'ID' . (153)
'REF' Shift 97
'#IMPLIED' Reduce 153
'#REQUIRED' Reduce 153
'"' Reduce 153
''' Reduce 153
'#FIXED' Reduce 153
attDef->nsAttName attType .defaultDecl
'#FIXED' Shift 94
'"' Sh/Rd 69
''' Sh/Rd 70
'#REQUIRED' Sh/Rd 138
'#IMPLIED' Sh/Rd 137
defaultDecl Gt/Rd 98
defaultDeclFixed Gt/Rd 116
defaultDeclRequired Gt/Rd 114
defaultDeclImplied Gt/Rd 113
aposAttValueStart Gt/Rd 59
quotAttValueStart Gt/Rd 58
mixedNames->mixedNames '|' .qName
mixed->'(' '#PCDATA' mixedNames ')' .'*'
'*' Sh/Rd 104
defaultDeclFixed->'#FIXED' .attValue
''' Sh/Rd 70
'"' Sh/Rd 69
aposAttValueStart Gt/Rd 59
quotAttValueStart Gt/Rd 58
enumeration->'(' enumerationNMTokens .')'
enumerationNMTokens->enumerationNMTokens .'|' nmtoken
'|' Shift 98
')' Sh/Rd 154
notationType->'NOTATION' '(' .notationTypeNames ')'
notationTypeNames Goto 99
tokenizedTypeIdRefs->'ID' 'REF' .'S'
tokenizedTypeIdRef->'ID' 'REF' . (149)
tokenizedTypeIdRef->'ID' 'REF' . (149)
'S' Sh/Rd 148
'#IMPLIED' Reduce 149
'#REQUIRED' Reduce 149
'"' Reduce 149
''' Reduce 149
'#FIXED' Reduce 149
enumerationNMTokens->enumerationNMTokens '|' .nmtoken
notationType->'NOTATION' '(' notationTypeNames .')'
notationTypeNames->notationTypeNames .'|' name
'|' Shift 100
')' Sh/Rd 155
notationTypeNames->notationTypeNames '|' .name
'>' Sh/Rd 103
'*' Reduce 121
stringType ==>> { 'CDATA'}
(doctypedecl misc*)? ==>> { Empty '<!DOCTYPE'}
utf8 ==>> { '\xEF\xBB\xBF'}
enumerationNMTokens ==>> { nmtoken}
nDataDecl? ==>> { 'NDATA' Empty}
defaultDeclImplied ==>> { '#IMPLIED'}
defaultDeclRequired ==>> { '#REQUIRED'}
aposEntityValueStart ==>> { '''}
doctypedecl ==>> { '<!DOCTYPE'}
markupdecl ==>> { '<!ATTLIST' '<!ELEMENT' '<!ENTITY' '<!NOTATION'}
quantifier ==>> { Empty quantifierChar}
peDef ==>> { 'SYSTEM' 'PUBLIC' '"' '''}
mixedNames ==>> { Empty '\|'}
tokenizedType ==>> { 'ENTITIES' 'ID' 'NMTOKEN' 'ENTITY'}
publicID ==>> { 'PUBLIC'}
emptyElemTag ==>> { '<'}
notationTypeNames ==>> { name}
(doctypedecl misc*) ==>> { '<!DOCTYPE'}
entityValue ==>> { '"' '''}
misc* ==>> { pi comment Empty}
element ==>> { '<'}
entityDef ==>> { 'SYSTEM' 'PUBLIC' '"' '''}
anyContentspec ==>> { 'ANY'}
peDecl ==>> { '<!ENTITY'}
xmlDecl? ==>> { Empty '\xEF\xBB\xBF' '\xFF\xFE' '\xFF\xFE\x00\x00' '\xFE\xFF' '\x00\x00\xFE\xFF' utf16LEPrefix utf32BEPrefix utf32LEPrefix utf8Prefix utf16BEPrefix}
tokenizedTypeId ==>> { 'ID'}
doctypedeclStart ==>> { '<!DOCTYPE'}
xmlPrefix ==>> { utf16LEPrefix utf32BEPrefix utf32LEPrefix utf8Prefix utf16BEPrefix}
externalID ==>> { 'SYSTEM' 'PUBLIC'}
tokenizedTypeNmTokens ==>> { 'NMTOKEN'}
attDef ==>> { nsAttName qName}
content ==>> { Empty cdSect entityRef charRefDecimal charRefHex '<'}
prolog ==>> { '\xEF\xBB\xBF' '\xFF\xFE' '\xFF\xFE\x00\x00' '\xFE\xFF' '\x00\x00\xFE\xFF' utf16LEPrefix utf32BEPrefix utf32LEPrefix utf8Prefix utf16BEPrefix pi comment '<!DOCTYPE' Empty}
sTag ==>> { '<'}
emptyContentspec ==>> { 'EMPTY'}
('\[' intSubset '\]')? ==>> { Empty '\['}
markupdecl* ==>> { Empty '<!ATTLIST' '<!ELEMENT' '<!ENTITY' '<!NOTATION'}
defaultDecl ==>> { '#IMPLIED' '#REQUIRED' '"' ''' '#FIXED'}
enumeration ==>> { '\('}
defaultDeclFixed ==>> { '#FIXED'}
attlistDecl ==>> { '<!ATTLIST'}
contentspec ==>> { '\(' 'ANY' 'EMPTY'}
attValue ==>> { '"' '''}
elementdecl ==>> { '<!ELEMENT'}
versionNum ==>> { version}
quotAttValueStart ==>> { '"'}
eTag ==>> { '<'}
tokenizedTypeEntities ==>> { 'ENTITIES'}
byteOrderMark? ==>> { Empty '\xEF\xBB\xBF' '\xFF\xFE' '\xFF\xFE\x00\x00' '\xFE\xFF' '\x00\x00\xFE\xFF'}
optExternalID ==>> { Empty 'SYSTEM' 'PUBLIC'}
choice ==>> { '\('}
(comment|pi) ==>> { pi comment}
utf16BE ==>> { '\xFE\xFF'}
children ==>> { '\('}
attribute ==>> { qName nsAttName}
attType ==>> { 'CDATA' 'ENTITIES' 'ID' 'NMTOKEN' 'ENTITY' '\(' 'NOTATION'}
tokenizedTypeIdRef ==>> { 'ID'}
xmlDecl ==>> { '\xEF\xBB\xBF' '\xFF\xFE' '\xFF\xFE\x00\x00' '\xFE\xFF' '\x00\x00\xFE\xFF' utf16LEPrefix utf32BEPrefix utf32LEPrefix utf8Prefix utf16BEPrefix}
doctypedeclEnd ==>> { '>'}
document ==>> { '\xEF\xBB\xBF' '\xFF\xFE' '\xFF\xFE\x00\x00' '\xFE\xFF' '\x00\x00\xFE\xFF' utf16LEPrefix utf32BEPrefix utf32LEPrefix utf8Prefix utf16BEPrefix pi comment '<!DOCTYPE' '<'}
tokenizedTypeNmToken ==>> { 'NMTOKEN'}
sdDecl? ==>> { 'standalone' Empty}
entityDecl ==>> { '<!ENTITY'}
mixed ==>> { '\('}
utf32LE ==>> { '\xFF\xFE\x00\x00'}
utf32BE ==>> { '\x00\x00\xFE\xFF'}
notationType ==>> { 'NOTATION'}
('\[' intSubset '\]') ==>> { '\['}
versionInfo ==>> { 'version'}
enumeratedType ==>> { '\(' 'NOTATION'}
nDataDecl ==>> { 'NDATA'}
pubidLiteral ==>> { pubidLiteralMinusApostrophe pubidLiteralWithApostrophe}
charRef ==>> { charRefDecimal charRefHex}
sdDecl ==>> { 'standalone'}
doctypedeclContent ==>> { '\[' Empty}
aposAttValueStart ==>> { '''}
tokenizedTypeIdRefs ==>> { 'ID'}
encodingDecl? ==>> { 'encoding' Empty}
reference ==>> { entityRef charRefDecimal charRefHex}
quotEntityValueStart ==>> { '"'}
utf16LE ==>> { '\xFF\xFE'}
notationDecl ==>> { '<!NOTATION'}
tokenizedTypeEntity ==>> { 'ENTITY'}
attDefs ==>> { Empty nsAttName qName}
seq ==>> { '\('}
intSubset ==>> { '<!ATTLIST' '<!ELEMENT' '<!ENTITY' '<!NOTATION' Empty}
geDecl ==>> { '<!ENTITY'}
attributes ==>> { Empty qName nsAttName}
byteOrderMark ==>> { '\xEF\xBB\xBF' '\xFF\xFE' '\xFF\xFE\x00\x00' '\xFE\xFF' '\x00\x00\xFE\xFF'}
encodingDecl ==>> { 'encoding'}
eq ==>> { '='}
Accept ==>> { '\xEF\xBB\xBF' '\xFF\xFE' '\xFF\xFE\x00\x00' '\xFE\xFF' '\x00\x00\xFE\xFF' utf16LEPrefix utf32BEPrefix utf32LEPrefix utf8Prefix utf16BEPrefix pi comment '<!DOCTYPE' '<'}
stringType ==>> {}
(doctypedecl misc*)? ==>> { doctypedecl doctypedeclStart ?{doctypedecl,misc?}}
utf8 ==>> {}
enumerationNMTokens ==>> {}
nDataDecl? ==>> { nDataDecl}
defaultDeclImplied ==>> {}
defaultDeclRequired ==>> {}
aposEntityValueStart ==>> {}
doctypedecl ==>> { doctypedeclStart}
markupdecl ==>> { notationDecl geDecl peDecl entityDecl elementdecl attlistDecl}
quantifier ==>> {}
peDef ==>> { quotEntityValueStart aposEntityValueStart entityValue externalID}
mixedNames ==>> {}
tokenizedType ==>> { tokenizedTypeId tokenizedTypeEntity tokenizedTypeNmTokens tokenizedTypeNmToken tokenizedTypeIdRef tokenizedTypeIdRefs tokenizedTypeEntities}
publicID ==>> {}
emptyElemTag ==>> {}
notationTypeNames ==>> {}
(doctypedecl misc*) ==>> { doctypedeclStart doctypedecl}
entityValue ==>> { aposEntityValueStart quotEntityValueStart}
misc* ==>> {}
element ==>> { sTag emptyElemTag}
entityDef ==>> { quotEntityValueStart aposEntityValueStart entityValue externalID}
anyContentspec ==>> {}
peDecl ==>> {}
xmlDecl? ==>> { byteOrderMark¿ utf8 utf16LE utf32LE utf16BE utf32BE byteOrderMark xmlDecl}
tokenizedTypeId ==>> {}
doctypedeclStart ==>> {}
xmlPrefix ==>> {}
externalID ==>> {}
tokenizedTypeNmTokens ==>> {}
attDef ==>> {}
content ==>> {}
prolog ==>> { xmlDecl byteOrderMark utf32BE utf16BE utf32LE utf16LE utf8 byteOrderMark¿ xmlDecl¿}
sTag ==>> {}
emptyContentspec ==>> {}
('\[' intSubset '\]')? ==>> { ?{'\[',intSubset,'\]'}}
markupdecl* ==>> {}
defaultDecl ==>> { defaultDeclFixed quotAttValueStart aposAttValueStart attValue defaultDeclRequired defaultDeclImplied}
enumeration ==>> {}
defaultDeclFixed ==>> {}
attlistDecl ==>> {}
contentspec ==>> { emptyContentspec mixed anyContentspec seq choice children}
attValue ==>> { aposAttValueStart quotAttValueStart}
elementdecl ==>> {}
versionNum ==>> {}
quotAttValueStart ==>> {}
eTag ==>> {}
tokenizedTypeEntities ==>> {}
byteOrderMark? ==>> { utf8 utf16LE utf32LE utf16BE utf32BE byteOrderMark}
optExternalID ==>> { externalID}
choice ==>> {}
(comment|pi) ==>> {}
utf16BE ==>> {}
attribute ==>> {}
attType ==>> { enumeration notationType enumeratedType tokenizedTypeEntities tokenizedTypeIdRefs tokenizedTypeIdRef tokenizedTypeNmToken tokenizedTypeNmTokens tokenizedTypeEntity tokenizedTypeId tokenizedType stringType}
tokenizedTypeIdRef ==>> {}
xmlDecl ==>> { byteOrderMark utf32BE utf16BE utf32LE utf16LE utf8 byteOrderMark¿}
doctypedeclEnd ==>> {}
document ==>> { xmlDecl¿ byteOrderMark¿ utf8 utf16LE utf32LE utf16BE utf32BE byteOrderMark xmlDecl prolog}
tokenizedTypeNmToken ==>> {}
entityDecl ==>> { peDecl geDecl}
mixed ==>> {}
utf32LE ==>> {}
utf32BE ==>> {}
notationType ==>> {}
('\[' intSubset '\]') ==>> {}
versionInfo ==>> {}
enumeratedType ==>> { notationType enumeration}
nDataDecl ==>> {}
pubidLiteral ==>> {}
charRef ==>> {}
sdDecl ==>> {}
doctypedeclContent ==>> { ?{'\[',intSubset,'\]'} ?{'\[',intSubset,'\]'}¿}
aposAttValueStart ==>> {}
tokenizedTypeIdRefs ==>> {}
encodingDecl? ==>> { encodingDecl}
misc ==>> { ?{comment|pi}}
quotEntityValueStart ==>> {}
utf16LE ==>> {}
notationDecl ==>> {}
tokenizedTypeEntity ==>> {}
attDefs ==>> {}
seq ==>> {}
intSubset ==>> { markupdecl?}
geDecl ==>> {}
attributes ==>> {}
byteOrderMark ==>> { utf32BE utf16BE utf32LE utf16LE utf8}
encodingDecl ==>> {}
eq ==>> {}
Accept ==>> { prolog xmlDecl byteOrderMark utf32BE utf16BE utf32LE utf16LE utf8 byteOrderMark¿ xmlDecl¿ document}
stringType ==>> false
(doctypedecl misc*)? ==>> true
utf8 ==>> false
enumerationNMTokens ==>> false
nDataDecl? ==>> true
defaultDeclImplied ==>> false
defaultDeclRequired ==>> false
aposEntityValueStart ==>> false
doctypedecl ==>> false
markupdecl ==>> false
quantifier ==>> true
peDef ==>> false
mixedNames ==>> true
tokenizedType ==>> false
publicID ==>> false
emptyElemTag ==>> false
notationTypeNames ==>> false
(doctypedecl misc*) ==>> false
entityValue ==>> false
misc* ==>> true
element ==>> false
entityDef ==>> false
anyContentspec ==>> false
peDecl ==>> false
xmlDecl? ==>> true
tokenizedTypeId ==>> false
doctypedeclStart ==>> false
xmlPrefix ==>> false
externalID ==>> false
tokenizedTypeNmTokens ==>> false
attDef ==>> false
content ==>> true
prolog ==>> true
sTag ==>> false
cp ==>> false
emptyContentspec ==>> false
('\[' intSubset '\]')? ==>> true
markupdecl* ==>> true
defaultDecl ==>> false
enumeration ==>> false
defaultDeclFixed ==>> false
attlistDecl ==>> false
contentspec ==>> false
attValue ==>> false
elementdecl ==>> false
versionNum ==>> false
quotAttValueStart ==>> false
eTag ==>> false
tokenizedTypeEntities ==>> false
byteOrderMark? ==>> true
optExternalID ==>> true
choice ==>> false
(comment|pi) ==>> false
utf16BE ==>> false
children ==>> false
attribute ==>> false
attType ==>> false
tokenizedTypeIdRef ==>> false
xmlDecl ==>> false
doctypedeclEnd ==>> false
document ==>> false
tokenizedTypeNmToken ==>> false
sdDecl? ==>> true
entityDecl ==>> false
mixed ==>> false
utf32LE ==>> false
utf32BE ==>> false
notationType ==>> false
('\[' intSubset '\]') ==>> false
versionInfo ==>> false
enumeratedType ==>> false
nDataDecl ==>> false
pubidLiteral ==>> false
choices ==>> false
charRef ==>> false
sdDecl ==>> false
doctypedeclContent ==>> true
aposAttValueStart ==>> false
tokenizedTypeIdRefs ==>> false
encodingDecl? ==>> true
reference ==>> false
misc ==>> false
quotEntityValueStart ==>> false
utf16LE ==>> false
notationDecl ==>> false
tokenizedTypeEntity ==>> false
attDefs ==>> true
seqs ==>> false
seq ==>> false
intSubset ==>> true
geDecl ==>> false
attributes ==>> true
byteOrderMark ==>> false
encodingDecl ==>> false
eq ==>> false
Accept ==>> false