ixml:

s prolog rule RS s

ixml     ::= s prolog? rule ( RS rule )* s

no references


s:

whitespace comment

s        ::= ( whitespace | comment )*

referenced by:


RS:

whitespace comment

RS       ::= ( whitespace | comment )+

referenced by:


whitespace:

INCL: Zs #x9 #xa #xd

whitespace
         ::= 'INCL: Zs'
           | '#x9'
           | '#xa'
           | '#xd'

referenced by:


comment:

{ EXCL: {} comment }

comment  ::= '{' ( 'EXCL: {}' | comment )* '}'

referenced by:


prolog:

version s

prolog   ::= version s

referenced by:


version:

ixml RS version RS string s .

version  ::= 'ixml' RS 'version' RS string s '.'

referenced by:


rule:

INCL: @^- s name s INCL: =: s alts .

rule     ::= ( 'INCL: @^-' s )? name s 'INCL: =:' s alts '.'

referenced by:


alts:

alt s INCL: ;|

alts     ::= alt ( 'INCL: ;|' s alt )*

referenced by:


alt:

term s ,

alt      ::= ( term ( ',' s term )* )?

referenced by:


term:

factor option repeat0 repeat1

term     ::= factor
           | option
           | repeat0
           | repeat1

referenced by:


factor:

terminal nonterminal insertion ( s alts ) s

factor   ::= terminal
           | nonterminal
           | insertion
           | '(' s alts ')' s

referenced by:


repeat0:

factor * s ** s sep

repeat0  ::= factor ( '*' s | '**' s sep )

referenced by:


repeat1:

factor + s ++ s sep

repeat1  ::= factor ( '+' s | '++' s sep )

referenced by:


option:

factor ? s

option   ::= factor '?' s

referenced by:


sep:

factor

sep      ::= factor

referenced by:


nonterminal:

INCL: @^- s name s

nonterminal
         ::= ( 'INCL: @^-' s )? name s

referenced by:


name:

INCL: _ | L namefollower

name     ::= 'INCL: _ | L' namefollower*

referenced by:


namefollower:

INCL: _ | L INCL: -.·‿⁀ | Nd | Mn

namefollower
         ::= 'INCL: _ | L'
           | 'INCL: -.·‿⁀ | Nd | Mn'

referenced by:


terminal:

literal charset

terminal ::= literal
           | charset

referenced by:


literal:

quoted encoded

literal  ::= quoted
           | encoded

referenced by:


quoted:

INCL: ^- s string s

quoted   ::= ( 'INCL: ^-' s )? string s

referenced by:


string:

" dchar " ' schar '

string   ::= '"' dchar+ '"'
           | "'" schar+ "'"

referenced by:


dchar:

EXCL: " | #xa | #xd " "

dchar    ::= 'EXCL: " | #xa | #xd'
           | '"' '"'

referenced by:


schar:

EXCL: ' | #xa | #xd ' '

schar    ::= "EXCL: ' | #xa | #xd"
           | "'" "'"

referenced by:


encoded:

INCL: ^- s # hex s

encoded  ::= ( 'INCL: ^-' s )? '#' hex s

referenced by:


hex:

INCL: ["0"-"9"] | ["a"-"f"] | ["A"-"F"]

hex      ::= 'INCL: ["0"-"9"] | ["a"-"f"] | ["A"-"F"]'+

referenced by:


charset:

inclusion exclusion

charset  ::= inclusion
           | exclusion

referenced by:


inclusion:

INCL: ^- s set

inclusion
         ::= ( 'INCL: ^-' s )? set

referenced by:


exclusion:

INCL: ^- s ~ s set

exclusion
         ::= ( 'INCL: ^-' s )? '~' s set

referenced by:


set:

[ s member s s INCL: ;| ] s

set      ::= '[' s ( member s ( 'INCL: ;|' s member s )* )? ']' s

referenced by:


member:

string # hex range class

member   ::= string
           | '#' hex
           | range
           | class

referenced by:


range:

from s - s to

range    ::= from s '-' s to

referenced by:


from:

character

from     ::= character

referenced by:


to:

character

to       ::= character

referenced by:


character:

" dchar " ' schar ' # hex

character
         ::= '"' dchar '"'
           | "'" schar "'"
           | '#' hex

referenced by:


class:

code

class    ::= code

referenced by:


code:

INCL: ["A"-"Z"] INCL: ["a"-"z"]

code     ::= 'INCL: ["A"-"Z"]' 'INCL: ["a"-"z"]'?

referenced by:


insertion:

+ s string # hex s

insertion
         ::= '+' s ( string | '#' hex ) s

referenced by:



  ... generated by RR - Railroad Diagram Generator R R