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 )