Perl6-Pugs
view release on metacpan or search on metacpan
misc/pX/Common/xquery/grammar.dtd view on Meta::CPAN
show (yes | no) #IMPLIED
>
<!ELEMENT g:tref EMPTY>
<!ATTLIST g:tref
name IDREF #REQUIRED
if IDREFS #IMPLIED
show (yes | no) #IMPLIED
>
<!ELEMENT g:description ANY>
<!ATTLIST g:description
if IDREFS #IMPLIED
>
<!-- Define a transition table for lexical states. Using this is more
convenient and cleaner than defining transitions for each token.
Attributes:
if -> space separated list of tokens for conditional processing.
(Not currently used by the stylesheet!)
-->
<!ELEMENT g:lexical-state-transitions (g:transition-default?, g:transition+)>
<!ATTLIST g:lexical-state-transitions
if IDREFS #REQUIRED
>
<!-- Define the default transition for all tokens not defined by the
transition element.
Attributes:
if -> space separated list of tokens for conditional processing.
(Not currently used by the stylesheet!)
recognize -> The state where the tokens will be recognized.
nextState -> The next state to transition to. Invalid if popState us
used for the action.
action -> State stack action.
-->
<!ELEMENT g:transition-default EMPTY>
<!ATTLIST g:transition-default
if IDREFS #IMPLIED
>
<!-- Define a transition for a token or set of tokens.
Attributes:
refs -> IDREFS list of the tokens for which this transition applies.
if -> space separated list of tokens for conditional processing.
(Not currently used by the stylesheet!)
recognize -> The state where the tokens will be recognized.
nextState -> The next state to transition to. Invalid if popState us
used for the action.
action -> State stack action.
-->
<!ELEMENT g:transition (g:description?, (g:tref | g:transition-default)+)>
<!ATTLIST g:transition
if IDREFS #IMPLIED
next-state IDREF #IMPLIED
action CDATA #IMPLIED
>
<!--=================== Parser Production Specifications ===============-->
<!-- A production that defines a "cascade" of productions that define
operator precedence.
name -> the ID of the production.
if -> space separated list of tokens for conditional processing.
-->
<!ELEMENT g:exprProduction (g:level+)>
<!ATTLIST g:exprProduction
name ID #REQUIRED
if IDREFS #IMPLIED
node-type CDATA #IMPLIED
condition CDATA #IMPLIED
>
<!ELEMENT g:level (g:postfix | g:binary | g:prefix | g:primary)+>
<!ATTLIST g:level
if IDREFS #IMPLIED
node-type CDATA #IMPLIED
level-user-action CDATA #IMPLIED
>
<!-- Basic non-terminal production.
name -> the ID of the production.
if -> space separated list of tokens for conditional processing.
show -> Don't show in the BNF if this value is "no".
-->
<!ELEMENT g:production (g:optional | g:ref |g:xref | g:choice | g:zeroOrMore | g:oneOrMore)+>
<!ATTLIST g:production
name ID #REQUIRED
if IDREFS #IMPLIED
show (yes | no) #IMPLIED
sub-spec CDATA #IMPLIED
node-type CDATA #IMPLIED
is-binary (no | yes) #IMPLIED
whitespace-spec (not-significant | significant | explicit) #IMPLIED
comment-id CDATA #IMPLIED
condition CDATA #IMPLIED
prod-user-action CDATA #IMPLIED
>
<!ELEMENT g:exposition-production (g:optional | g:ref | g:xref | g:choice | g:sequence | g:zeroOrMore | g:oneOrMore)+>
<!ATTLIST g:exposition-production
name CDATA #REQUIRED
if IDREFS #IMPLIED
show (yes | no) #IMPLIED
sub-spec CDATA #IMPLIED
node-type CDATA #IMPLIED
is-binary (no | yes) #IMPLIED
whitespace-spec (not-significant | significant | explicit) #IMPLIED
comment-id CDATA #IMPLIED
>
<!-- Defines a binary operator.
name -> the ID of the production.
if -> space separated list of tokens for conditional processing.
Example:
<binary name="EqualityExpr">
<choice>
<ref name="Equals"/>
<ref name="NotEquals"/>
</choice>
</binary>
( run in 1.447 second using v1.01-cache-2.11-cpan-5a3173703d6 )