This grammar is LALR(2)
Number of Rules 117
Number of Terminals 55
Number of Lr0 States82
Number of La States1
Accept ::= extSubset
1: extSubset ::= textDecl? extSubsetDecl*
6: textDecl ::= '<?xml' versionInfo? encodingDecl '>'
7: extSubsetDecl ::= markupdecl
8: extSubsetDecl ::= conditionalSect
11: encodingDecl ::= 'encoding' eq '"' encName '"'
12: encodingDecl ::= 'encoding' eq ''' encName '''
13: markupdecl ::= attlistDecl
14: markupdecl ::= elementdecl
16: markupdecl ::= notationDecl
17: conditionalSect ::= includeSect
18: conditionalSect ::= ignoreSect
19: versionInfo ::= 'version' eq versionNum
20: eq ::= '='
21: attlistDecl ::= '<!ATTLIST' qName attDefs '>'
22: elementdecl ::= '<!ELEMENT' qName contentspec '>'
23: entityDecl ::= geDecl
24: entityDecl ::= peDecl
25: notationDecl ::= '<!NOTATION' name externalID '>'
26: notationDecl ::= '<!NOTATION' name publicID '>'
27: includeSect ::= '<![' 'INCLUDE' '[' extSubsetDecl ']]>'
28: ignoreSect ::= '<![' 'IGNORE' '[' ignoreSectContents ']]>'
30: attDefs ::=
31: attDefs ::= attDefs attDef
33: contentspec ::= anyContentspec
34: contentspec ::= mixed
35: contentspec ::= emptyContentspec
36: geDecl ::= '<!ENTITY' name entityDef '>'
37: peDecl ::= '<!ENTITY' '%' name peDef '>'
38: externalID ::= 'SYSTEM' systemLiteral
39: externalID ::= 'PUBLIC' pubidLiteral systemLiteral
40: publicID ::= 'PUBLIC' pubidLiteral
41: ignoreSectContents ::= ignore ('<!\[' ignoreSectContents '\]\]>' ignore)*
42: attDef ::= nsAttName attType defaultDecl
43: attDef ::= qName attType defaultDecl
44: children ::= seq quantifier
45: children ::= choice quantifier
46: anyContentspec ::= 'ANY'
47: mixed ::= '(' '#PCDATA' ')'
48: mixed ::= '(' '#PCDATA' mixedNames ')' '*'
49: emptyContentspec ::= 'EMPTY'
50: entityDef ::= externalID nDataDecl?
52: peDef ::= externalID
53: peDef ::= entityValue
54: pubidLiteral ::= pubidLiteralMinusApostrophe
55: pubidLiteral ::= pubidLiteralWithApostrophe
56: ignore ::= ignoreEnd
61: attType ::= enumeratedType
62: defaultDecl ::= defaultDeclImplied
63: defaultDecl ::= defaultDeclRequired
65: defaultDecl ::= defaultDeclFixed
67: quantifier ::=
68: quantifier ::= quantifierChar
69: choice ::= '(' choices ')'
70: mixedNames ::=
71: mixedNames ::= mixedNames '|' qName
74: entityValue ::= quotEntityValueStart
75: entityValue ::= aposEntityValueStart
77: stringType ::= 'CDATA'
78: tokenizedType ::= tokenizedTypeEntities
79: tokenizedType ::= tokenizedTypeIdRefs
80: tokenizedType ::= tokenizedTypeIdRef
81: tokenizedType ::= tokenizedTypeNmToken
82: tokenizedType ::= tokenizedTypeNmTokens
83: tokenizedType ::= tokenizedTypeEntity
84: tokenizedType ::= tokenizedTypeId
85: enumeratedType ::= enumeration
86: enumeratedType ::= notationType
87: defaultDeclImplied ::= '#IMPLIED'
88: defaultDeclRequired ::= '#REQUIRED'
89: attValue ::= quotAttValueStart
90: attValue ::= aposAttValueStart
91: defaultDeclFixed ::= '#FIXED' attValue
94: choices ::= cp '|' cp
95: choices ::= choices '|' cp
96: nDataDecl ::= 'NDATA' name
97: quotEntityValueStart ::= '"'
98: aposEntityValueStart ::= '''
99: tokenizedTypeEntities ::= 'ENTITIES'
100: tokenizedTypeIdRefs ::= 'ID' 'REF' 'S'
101: tokenizedTypeIdRef ::= 'ID' 'REF'
102: tokenizedTypeNmToken ::= 'NMTOKEN'
103: tokenizedTypeNmTokens ::= 'NMTOKEN' 'S'
104: tokenizedTypeEntity ::= 'ENTITY'
105: tokenizedTypeId ::= 'ID'
106: enumeration ::= '(' enumerationNMTokens ')'
107: notationType ::= 'NOTATION' '(' notationTypeNames ')'
108: quotAttValueStart ::= '"'
109: aposAttValueStart ::= '''
110: cp ::= qName quantifier
111: cp ::= choice quantifier
112: cp ::= seq quantifier
113: enumerationNMTokens ::= enumerationNMTokens '|' nmtoken
114: enumerationNMTokens ::= nmtoken
115: notationTypeNames ::= name
116: notationTypeNames ::= notationTypeNames '|' name
ignoreEnd = '[\x01-\uD7FF\uE000-\uFFFD\x{10000}-\x{10FFFF}]*\]\]>'
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}]*\?>'
peReference = '%[: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]*;'
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]*)?'
encName = '[A-Za-z][A-Za-z0-9\._\-]*'
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]+'
'<?xml' Shift 4
'<!ATTLIST' Reduce 3
'<!ELEMENT' Reduce 3
'<!ENTITY' Reduce 3
'<!NOTATION' Reduce 3
'<![' Reduce 3
Eof Reduce 3
Eof Reduce 0
extSubset->textDecl? .extSubsetDecl*
extSubsetDecl* Goto 5
'<!ATTLIST' Reduce 4
'<!ELEMENT' Reduce 4
'<!ENTITY' Reduce 4
'<!NOTATION' Reduce 4
'<![' Reduce 4
Eof Reduce 4
textDecl->'<?xml' .versionInfo? encodingDecl '>'
versionInfo?->. (10)
'version' Shift 7
versionInfo? Goto 6
versionInfo Gt/Rd 9
'encoding' Reduce 10
extSubset->textDecl? extSubsetDecl* . (1)
extSubsetDecl*->extSubsetDecl* .extSubsetDecl
extSubset->textDecl? extSubsetDecl* . (1)
'<![' Shift 8
'<!ATTLIST' Shift 9
'<!ELEMENT' Shift 10
'<!ENTITY' Shift 11
'<!NOTATION' Shift 12
extSubsetDecl Gt/Rd 5
conditionalSect Gt/Rd 8
markupdecl Gt/Rd 7
ignoreSect Gt/Rd 18
includeSect Gt/Rd 17
notationDecl Gt/Rd 16
entityDecl Gt/Rd 15
elementdecl Gt/Rd 14
attlistDecl Gt/Rd 13
Eof Reduce 1
textDecl->'<?xml' versionInfo? .encodingDecl '>'
'encoding' Shift 14
encodingDecl Goto 13
versionInfo->'version' .eq versionNum
'=' Sh/Rd 20
includeSect->'<![' .'INCLUDE' '[' extSubsetDecl ']]>'
ignoreSect->'<![' .'IGNORE' '[' ignoreSectContents ']]>'
'IGNORE' Shift 16
'INCLUDE' Shift 17
attlistDecl->'<!ATTLIST' .qName attDefs '>'
elementdecl->'<!ELEMENT' .qName contentspec '>'
geDecl->'<!ENTITY' .name entityDef '>'
peDecl->'<!ENTITY' .'%' name peDef '>'
'%' Shift 20
notationDecl->'<!NOTATION' .name externalID '>'
notationDecl->'<!NOTATION' .name publicID '>'
textDecl->'<?xml' versionInfo? encodingDecl .'>'
'>' Sh/Rd 6
encodingDecl->'encoding' .eq '"' encName '"'
encodingDecl->'encoding' .eq ''' encName '''
'=' Sh/Rd 20
versionInfo->'version' eq .versionNum
versionNum Gt/Rd 19
ignoreSect->'<![' 'IGNORE' .'[' ignoreSectContents ']]>'
'[' Shift 24
includeSect->'<![' 'INCLUDE' .'[' extSubsetDecl ']]>'
'[' Shift 25
attlistDecl->'<!ATTLIST' qName .attDefs '>'
'>' Reduce 30
elementdecl->'<!ELEMENT' qName .contentspec '>'
'EMPTY' Sh/Rd 49
'ANY' Sh/Rd 46
'(' Shift 28
contentspec Goto 27
emptyContentspec Gt/Rd 35
anyContentspec Gt/Rd 33
peDecl->'<!ENTITY' '%' .name peDef '>'
geDecl->'<!ENTITY' name .entityDef '>'
'"' Sh/Rd 97
''' Sh/Rd 98
'PUBLIC' Shift 34
'SYSTEM' Shift 35
entityValue Gt/Rd 51
externalID Goto 33
aposEntityValueStart Gt/Rd 75
quotEntityValueStart Gt/Rd 74
notationDecl->'<!NOTATION' name .externalID '>'
notationDecl->'<!NOTATION' name .publicID '>'
'SYSTEM' Shift 35
'PUBLIC' Shift 38
externalID Goto 37
encodingDecl->'encoding' eq .'"' encName '"'
encodingDecl->'encoding' eq .''' encName '''
''' Shift 39
'"' Shift 40
ignoreSect->'<![' 'IGNORE' '[' .ignoreSectContents ']]>'
ignoreSectContents Goto 41
includeSect->'<![' 'INCLUDE' '[' .extSubsetDecl ']]>'
'<![' Shift 8
'<!ATTLIST' Shift 9
'<!ELEMENT' Shift 10
'<!ENTITY' Shift 11
'<!NOTATION' Shift 12
extSubsetDecl Goto 43
conditionalSect Gt/Rd 8
markupdecl Gt/Rd 7
ignoreSect Gt/Rd 18
includeSect Gt/Rd 17
notationDecl Gt/Rd 16
entityDecl Gt/Rd 15
elementdecl Gt/Rd 14
attlistDecl Gt/Rd 13
attlistDecl->'<!ATTLIST' qName attDefs .'>'
'>' Sh/Rd 21
elementdecl->'<!ELEMENT' qName contentspec .'>'
'>' Sh/Rd 22
mixed->'(' .'#PCDATA' ')'
mixed->'(' .'#PCDATA' mixedNames ')' '*'
'#PCDATA' Shift 46
'(' Shift 48
quantifier->. (67)
quantifierChar Sh/Rd 68
quantifier Gt/Rd 45
'>' Reduce 67
quantifier->. (67)
quantifierChar Sh/Rd 68
quantifier Gt/Rd 44
'>' Reduce 67
peDecl->'<!ENTITY' '%' name .peDef '>'
'"' Sh/Rd 97
''' Sh/Rd 98
'PUBLIC' Shift 34
'SYSTEM' Shift 35
entityValue Gt/Rd 53
externalID Gt/Rd 52
aposEntityValueStart Gt/Rd 75
quotEntityValueStart Gt/Rd 74
geDecl->'<!ENTITY' name entityDef .'>'
'>' Sh/Rd 36
entityDef->externalID .nDataDecl?
nDataDecl?->. (73)
'NDATA' Shift 55
nDataDecl? Gt/Rd 50
'>' Reduce 73
externalID->'PUBLIC' .pubidLiteral systemLiteral
pubidLiteralWithApostrophe Sh/Rd 55
pubidLiteralMinusApostrophe Sh/Rd 54
pubidLiteral Goto 56
externalID->'SYSTEM' .systemLiteral
systemLiteral Sh/Rd 38
notationDecl->'<!NOTATION' name publicID .'>'
'>' Sh/Rd 26
notationDecl->'<!NOTATION' name externalID .'>'
'>' Sh/Rd 25
externalID->'PUBLIC' .pubidLiteral systemLiteral
publicID->'PUBLIC' .pubidLiteral
pubidLiteralWithApostrophe Sh/Rd 55
pubidLiteralMinusApostrophe Sh/Rd 54
pubidLiteral Goto 57
encodingDecl->'encoding' eq ''' .encName '''
encodingDecl->'encoding' eq '"' .encName '"'
ignoreSect->'<![' 'IGNORE' '[' ignoreSectContents .']]>'
']]>' Sh/Rd 28
ignoreSectContents->ignore .('<!\[' ignoreSectContents '\]\]>' ignore)*
('<!\[' ignoreSectContents '\]\]>' ignore)*->. (57)
('<!\[' ignoreSectContents '\]\]>' ignore)* Goto 60
'<![' Reduce 57
']]>' Reduce 57
includeSect->'<![' 'INCLUDE' '[' extSubsetDecl .']]>'
']]>' Sh/Rd 27
attDef->qName .attType defaultDecl
'(' Shift 62
'NOTATION' Shift 63
'ENTITIES' Sh/Rd 99
'NMTOKEN' Shift 64
'ENTITY' Sh/Rd 104
'ID' Shift 65
'CDATA' Sh/Rd 77
enumeratedType Gt/Rd 61
tokenizedType Gt/Rd 60
stringType Gt/Rd 59
notationType Gt/Rd 86
enumeration Gt/Rd 85
tokenizedTypeId Gt/Rd 84
tokenizedTypeEntity Gt/Rd 83
tokenizedTypeNmTokens Gt/Rd 82
tokenizedTypeNmToken Gt/Rd 81
tokenizedTypeIdRef Gt/Rd 80
tokenizedTypeIdRefs Gt/Rd 79
tokenizedTypeEntities Gt/Rd 78
attDef->nsAttName .attType defaultDecl
'(' Shift 62
'NOTATION' Shift 63
'ENTITIES' Sh/Rd 99
'NMTOKEN' Shift 64
'ENTITY' Sh/Rd 104
'ID' Shift 65
'CDATA' Sh/Rd 77
enumeratedType Gt/Rd 61
tokenizedType Gt/Rd 60
stringType Gt/Rd 59
notationType Gt/Rd 86
enumeration Gt/Rd 85
tokenizedTypeId Gt/Rd 84
tokenizedTypeEntity Gt/Rd 83
tokenizedTypeNmTokens Gt/Rd 82
tokenizedTypeNmToken Gt/Rd 81
tokenizedTypeIdRef Gt/Rd 80
tokenizedTypeIdRefs Gt/Rd 79
tokenizedTypeEntities Gt/Rd 78
mixed->'(' '#PCDATA' .')'
mixed->'(' '#PCDATA' .mixedNames ')' '*'
mixedNames->. (70)
')' Shift 83
mixedNames Goto 67
'|' Reduce 70
',' Shift 68
')' Sh/Rd 66
'(' Shift 48
cp->seq .quantifier
quantifier->. (67)
quantifierChar Sh/Rd 68
quantifier Gt/Rd 112
')' Reduce 67
'|' Reduce 67
',' Reduce 67
quantifier->. (67)
quantifierChar Sh/Rd 68
quantifier Gt/Rd 111
')' Reduce 67
'|' Reduce 67
',' Reduce 67
quantifier->. (67)
quantifierChar Sh/Rd 68
quantifier Gt/Rd 110
')' Reduce 67
'|' Reduce 67
',' Reduce 67
'|' Shift 69
')' Sh/Rd 69
'|' Shift 70
')' Reduce 92
',' Reduce 92
peDecl->'<!ENTITY' '%' name peDef .'>'
'>' Sh/Rd 37
externalID->'PUBLIC' pubidLiteral .systemLiteral
systemLiteral Sh/Rd 39
externalID->'PUBLIC' pubidLiteral .systemLiteral
publicID->'PUBLIC' pubidLiteral . (40)
publicID->'PUBLIC' pubidLiteral . (40)
systemLiteral Sh/Rd 39
'>' Reduce 40
encodingDecl->'encoding' eq ''' encName .'''
''' Sh/Rd 12
encodingDecl->'encoding' eq '"' encName .'"'
'"' Sh/Rd 11
ignoreSectContents->ignore ('<!\[' ignoreSectContents '\]\]>' ignore)* . (41)
('<!\[' ignoreSectContents '\]\]>' ignore)*->('<!\[' ignoreSectContents '\]\]>' ignore)* .('<!\[' ignoreSectContents '\]\]>' ignore)
ignoreSectContents->ignore ('<!\[' ignoreSectContents '\]\]>' ignore)* . (41)
'<![' Shift 71
('<!\[' ignoreSectContents '\]\]>' ignore) Gt/Rd 58
']]>' Reduce 41
attDef->qName attType .defaultDecl
'#FIXED' Shift 72
'"' Sh/Rd 108
''' Sh/Rd 109
'#REQUIRED' Sh/Rd 88
'#IMPLIED' Sh/Rd 87
defaultDecl Gt/Rd 43
defaultDeclFixed Gt/Rd 65
defaultDeclRequired Gt/Rd 63
defaultDeclImplied Gt/Rd 62
aposAttValueStart Gt/Rd 90
quotAttValueStart Gt/Rd 89
enumeration->'(' .enumerationNMTokens ')'
enumerationNMTokens Goto 73
notationType->'NOTATION' .'(' notationTypeNames ')'
'(' Shift 74
tokenizedTypeNmToken->'NMTOKEN' . (102)
tokenizedTypeNmTokens->'NMTOKEN' .'S'
tokenizedTypeNmToken->'NMTOKEN' . (102)
'S' Sh/Rd 103
'#IMPLIED' Reduce 102
'#REQUIRED' Reduce 102
'"' Reduce 102
''' Reduce 102
'#FIXED' Reduce 102
tokenizedTypeIdRefs->'ID' .'REF' 'S'
tokenizedTypeIdRef->'ID' .'REF'
tokenizedTypeId->'ID' . (105)
tokenizedTypeId->'ID' . (105)
'REF' Shift 75
'#IMPLIED' Reduce 105
'#REQUIRED' Reduce 105
'"' Reduce 105
''' Reduce 105
'#FIXED' Reduce 105
attDef->nsAttName attType .defaultDecl
'#FIXED' Shift 72
'"' Sh/Rd 108
''' Sh/Rd 109
'#REQUIRED' Sh/Rd 88
'#IMPLIED' Sh/Rd 87
defaultDecl Gt/Rd 42
defaultDeclFixed Gt/Rd 65
defaultDeclRequired Gt/Rd 63
defaultDeclImplied Gt/Rd 62
aposAttValueStart Gt/Rd 90
quotAttValueStart Gt/Rd 89
mixed->'(' '#PCDATA' mixedNames .')' '*'
mixedNames->mixedNames .'|' qName
'|' Shift 76
')' Shift 77
'(' Shift 48
'(' Shift 48
'(' Shift 48
('<!\[' ignoreSectContents '\]\]>' ignore)->'<![' .ignoreSectContents ']]>' ignore
ignoreSectContents Goto 78
defaultDeclFixed->'#FIXED' .attValue
''' Sh/Rd 109
'"' Sh/Rd 108
aposAttValueStart Gt/Rd 90
quotAttValueStart Gt/Rd 89
enumeration->'(' enumerationNMTokens .')'
enumerationNMTokens->enumerationNMTokens .'|' nmtoken
'|' Shift 79
')' Sh/Rd 106
notationType->'NOTATION' '(' .notationTypeNames ')'
notationTypeNames Goto 80
tokenizedTypeIdRefs->'ID' 'REF' .'S'
tokenizedTypeIdRef->'ID' 'REF' . (101)
tokenizedTypeIdRef->'ID' 'REF' . (101)
'S' Sh/Rd 100
'#IMPLIED' Reduce 101
'#REQUIRED' Reduce 101
'"' Reduce 101
''' Reduce 101
'#FIXED' Reduce 101
mixedNames->mixedNames '|' .qName
mixed->'(' '#PCDATA' mixedNames ')' .'*'
'*' Sh/Rd 48
('<!\[' ignoreSectContents '\]\]>' ignore)->'<![' ignoreSectContents .']]>' ignore
']]>' Shift 81
enumerationNMTokens->enumerationNMTokens '|' .nmtoken
notationType->'NOTATION' '(' notationTypeNames .')'
notationTypeNames->notationTypeNames .'|' name
'|' Shift 82
')' Sh/Rd 107
('<!\[' ignoreSectContents '\]\]>' ignore)->'<![' ignoreSectContents ']]>' .ignore
notationTypeNames->notationTypeNames '|' .name
'>' Sh/Rd 47
'*' Reduce 70
stringType ==>> { 'CDATA'}
enumerationNMTokens ==>> { nmtoken}
nDataDecl? ==>> { 'NDATA' Empty}
aposEntityValueStart ==>> { '''}
defaultDeclRequired ==>> { '#REQUIRED'}
defaultDeclImplied ==>> { '#IMPLIED'}
ignoreSect ==>> { '<!\['}
markupdecl ==>> { '<!ATTLIST' '<!ELEMENT' '<!ENTITY' '<!NOTATION'}
quantifier ==>> { Empty quantifierChar}
peDef ==>> { 'SYSTEM' 'PUBLIC' '"' '''}
mixedNames ==>> { Empty '\|'}
tokenizedType ==>> { 'ENTITIES' 'ID' 'NMTOKEN' 'ENTITY'}
publicID ==>> { 'PUBLIC'}
notationTypeNames ==>> { name}
('<!\[' ignoreSectContents '\]\]>' ignore) ==>> { '<!\['}
entityValue ==>> { '"' '''}
entityDef ==>> { 'SYSTEM' 'PUBLIC' '"' '''}
anyContentspec ==>> { 'ANY'}
includeSect ==>> { '<!\['}
peDecl ==>> { '<!ENTITY'}
tokenizedTypeId ==>> { 'ID'}
externalID ==>> { 'SYSTEM' 'PUBLIC'}
tokenizedTypeNmTokens ==>> { 'NMTOKEN'}
attDef ==>> { nsAttName qName}
textDecl? ==>> { '<\?xml' Empty}
emptyContentspec ==>> { 'EMPTY'}
defaultDecl ==>> { '#IMPLIED' '#REQUIRED' '"' ''' '#FIXED'}
enumeration ==>> { '\('}
contentspec ==>> { '\(' 'ANY' 'EMPTY'}
attlistDecl ==>> { '<!ATTLIST'}
defaultDeclFixed ==>> { '#FIXED'}
attValue ==>> { '"' '''}
elementdecl ==>> { '<!ELEMENT'}
versionNum ==>> { version}
quotAttValueStart ==>> { '"'}
tokenizedTypeEntities ==>> { 'ENTITIES'}
extSubsetDecl* ==>> { Empty '<!ATTLIST' '<!ELEMENT' '<!ENTITY' '<!NOTATION' '<!\['}
choice ==>> { '\('}
('<!\[' ignoreSectContents '\]\]>' ignore)* ==>> { Empty '<!\['}
children ==>> { '\('}
attType ==>> { 'CDATA' 'ENTITIES' 'ID' 'NMTOKEN' 'ENTITY' '\(' 'NOTATION'}
tokenizedTypeIdRef ==>> { 'ID'}
conditionalSect ==>> { '<!\['}
versionInfo? ==>> { 'version' Empty}
tokenizedTypeNmToken ==>> { 'NMTOKEN'}
entityDecl ==>> { '<!ENTITY'}
mixed ==>> { '\('}
extSubsetDecl ==>> { '<!ATTLIST' '<!ELEMENT' '<!ENTITY' '<!NOTATION' '<!\['}
notationType ==>> { 'NOTATION'}
versionInfo ==>> { 'version'}
enumeratedType ==>> { '\(' 'NOTATION'}
nDataDecl ==>> { 'NDATA'}
pubidLiteral ==>> { pubidLiteralMinusApostrophe pubidLiteralWithApostrophe}
aposAttValueStart ==>> { '''}
tokenizedTypeIdRefs ==>> { 'ID'}
quotEntityValueStart ==>> { '"'}
notationDecl ==>> { '<!NOTATION'}
tokenizedTypeEntity ==>> { 'ENTITY'}
extSubset ==>> { '<\?xml' '<!ATTLIST' '<!ELEMENT' '<!ENTITY' '<!NOTATION' '<!\[' Empty}
ignoreSectContents ==>> { ignoreEnd}
textDecl ==>> { '<\?xml'}
attDefs ==>> { Empty nsAttName qName}
seq ==>> { '\('}
geDecl ==>> { '<!ENTITY'}
eq ==>> { '='}
encodingDecl ==>> { 'encoding'}
Accept ==>> { '<\?xml' '<!ATTLIST' '<!ELEMENT' '<!ENTITY' '<!NOTATION' '<!\[' Eof}
stringType ==>> {}
enumerationNMTokens ==>> {}
nDataDecl? ==>> { nDataDecl}
aposEntityValueStart ==>> {}
defaultDeclRequired ==>> {}
defaultDeclImplied ==>> {}
ignoreSect ==>> {}
markupdecl ==>> { notationDecl geDecl peDecl entityDecl elementdecl attlistDecl}
quantifier ==>> {}
peDef ==>> { quotEntityValueStart aposEntityValueStart entityValue externalID}
mixedNames ==>> {}
tokenizedType ==>> { tokenizedTypeId tokenizedTypeEntity tokenizedTypeNmTokens tokenizedTypeNmToken tokenizedTypeIdRef tokenizedTypeIdRefs tokenizedTypeEntities}
publicID ==>> {}
notationTypeNames ==>> {}
('<!\[' ignoreSectContents '\]\]>' ignore) ==>> {}
entityValue ==>> { aposEntityValueStart quotEntityValueStart}
entityDef ==>> { quotEntityValueStart aposEntityValueStart entityValue externalID}
anyContentspec ==>> {}
includeSect ==>> {}
peDecl ==>> {}
tokenizedTypeId ==>> {}
externalID ==>> {}
tokenizedTypeNmTokens ==>> {}
attDef ==>> {}
emptyContentspec ==>> {}
defaultDecl ==>> { defaultDeclFixed quotAttValueStart aposAttValueStart attValue defaultDeclRequired defaultDeclImplied}
enumeration ==>> {}
contentspec ==>> { emptyContentspec mixed anyContentspec seq choice children}
attlistDecl ==>> {}
defaultDeclFixed ==>> {}
attValue ==>> { aposAttValueStart quotAttValueStart}
elementdecl ==>> {}
versionNum ==>> {}
quotAttValueStart ==>> {}
tokenizedTypeEntities ==>> {}
extSubsetDecl* ==>> {}
choice ==>> {}
('<!\[' ignoreSectContents '\]\]>' ignore)* ==>> {}
attType ==>> { enumeration notationType enumeratedType tokenizedTypeEntities tokenizedTypeIdRefs tokenizedTypeIdRef tokenizedTypeNmToken tokenizedTypeNmTokens tokenizedTypeEntity tokenizedTypeId tokenizedType stringType}
tokenizedTypeIdRef ==>> {}
conditionalSect ==>> { ignoreSect includeSect}
versionInfo? ==>> { versionInfo}
tokenizedTypeNmToken ==>> {}
entityDecl ==>> { peDecl geDecl}
mixed ==>> {}
extSubsetDecl ==>> { includeSect ignoreSect conditionalSect attlistDecl elementdecl entityDecl peDecl geDecl notationDecl markupdecl}
notationType ==>> {}
ignore ==>> {}
versionInfo ==>> {}
enumeratedType ==>> { notationType enumeration}
nDataDecl ==>> {}
pubidLiteral ==>> {}
aposAttValueStart ==>> {}
tokenizedTypeIdRefs ==>> {}
quotEntityValueStart ==>> {}
notationDecl ==>> {}
tokenizedTypeEntity ==>> {}
extSubset ==>> { textDecl textDecl¿}
ignoreSectContents ==>> { ignore}
textDecl ==>> {}
attDefs ==>> {}
seq ==>> {}
geDecl ==>> {}
eq ==>> {}
encodingDecl ==>> {}
Accept ==>> { textDecl¿ textDecl extSubset}
stringType ==>> false
enumerationNMTokens ==>> false
nDataDecl? ==>> true
aposEntityValueStart ==>> false
defaultDeclRequired ==>> false
defaultDeclImplied ==>> false
ignoreSect ==>> false
markupdecl ==>> false
quantifier ==>> true
peDef ==>> false
mixedNames ==>> true
tokenizedType ==>> false
publicID ==>> false
notationTypeNames ==>> false
('<!\[' ignoreSectContents '\]\]>' ignore) ==>> false
entityValue ==>> false
entityDef ==>> false
anyContentspec ==>> false
includeSect ==>> false
peDecl ==>> false
tokenizedTypeId ==>> false
externalID ==>> false
tokenizedTypeNmTokens ==>> false
attDef ==>> false
textDecl? ==>> true
cp ==>> false
emptyContentspec ==>> false
defaultDecl ==>> false
enumeration ==>> false
contentspec ==>> false
attlistDecl ==>> false
defaultDeclFixed ==>> false
attValue ==>> false
elementdecl ==>> false
versionNum ==>> false
quotAttValueStart ==>> false
tokenizedTypeEntities ==>> false
extSubsetDecl* ==>> true
choice ==>> false
('<!\[' ignoreSectContents '\]\]>' ignore)* ==>> true
children ==>> false
attType ==>> false
tokenizedTypeIdRef ==>> false
conditionalSect ==>> false
versionInfo? ==>> true
tokenizedTypeNmToken ==>> false
entityDecl ==>> false
mixed ==>> false
extSubsetDecl ==>> false
notationType ==>> false
ignore ==>> false
versionInfo ==>> false
enumeratedType ==>> false
nDataDecl ==>> false
pubidLiteral ==>> false
choices ==>> false
aposAttValueStart ==>> false
tokenizedTypeIdRefs ==>> false
quotEntityValueStart ==>> false
notationDecl ==>> false
tokenizedTypeEntity ==>> false
extSubset ==>> true
ignoreSectContents ==>> false
textDecl ==>> false
attDefs ==>> true
seq ==>> false
seqs ==>> false
geDecl ==>> false
eq ==>> false
encodingDecl ==>> false
Accept ==>> false