This grammar is LALR(1)
Number of Rules 9
Number of Terminals 5
Number of Lr0 States3
Number of La States0
Accept ::= aposAttValueSub
1: aposAttValueSub ::= aposAttValue
2: aposAttValue ::= aposAttValue notAposValue
3: aposAttValue ::=
4: aposAttValue ::= aposAttValue reference
6: reference ::= charRef
8: charRef ::= charRefHex
charRefHex = '\&#x[0-9a-fA-F]+;'
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]*;'
charRefDecimal = '\&#[0-9]+;'
aposAttValue->. (3)
aposAttValueSub Goto 2
aposAttValue Goto 3
notAposValue Reduce 3
charRefDecimal Reduce 3
charRefHex Reduce 3
Eof Reduce 3
Eof Reduce 0
aposAttValueSub->aposAttValue . (1)
aposAttValue->aposAttValue .notAposValue
aposAttValue->aposAttValue .reference
aposAttValueSub->aposAttValue . (1)
notAposValue Sh/Rd 2
charRefHex Sh/Rd 8
charRefDecimal Sh/Rd 7
Eof Reduce 1
aposAttValue ==>> { notAposValue Empty entityRef charRefDecimal charRefHex}
charRef ==>> { charRefDecimal charRefHex}
reference ==>> { entityRef charRefDecimal charRefHex}
aposAttValueSub ==>> { notAposValue entityRef charRefDecimal charRefHex Empty}
Accept ==>> { notAposValue entityRef charRefDecimal charRefHex Eof(singleApostrophe)}
aposAttValue ==>> {}
charRef ==>> {}
aposAttValueSub ==>> { aposAttValue}
Accept ==>> { aposAttValue aposAttValueSub}
aposAttValue ==>> true
charRef ==>> false
reference ==>> false
aposAttValueSub ==>> true
Accept ==>> false