This is a image version of the post here
range-set:
range-set ::= range ( logical-or range )*
logical-or:
logical-or ::= ' '* '||' ' '*
referenced by: range-set
range:
range ::= hyphen
| simple ( ' ' simple )*
| ''
referenced by: range-set
hyphen:
hyphen ::= partial ' - ' partial
referenced by: range
simple:
simple ::= primitive
| partial
| tilde
| caret
referenced by: range
primitive:
primitive ::= ( '<' | '>' | '>=' | '<=' | '=' ) partial
referenced by: simple
partial:
partial ::= xr ( '.' xr ( '.' xr qualifier? )? )?
referenced by:
xr:
xr ::= 'x'
| 'X'
| '*'
| nr
referenced by: partial
nr:
nr ::= '0'
| ['1'-'9] ['0'-'9]*
referenced by:
tilde:
tilde ::= '~' partial
referenced by: simple
caret:
caret ::= '^' partial
referenced by: simple
qualifier:
qualifier ::= ( '-' pre )? ( '+' build )?
referenced by: partial
pre:
pre ::= parts
referenced by: qualifier
build:
build ::= parts
referenced by: qualifier
parts:
parts ::= part ( '.' part )*
referenced by:
part:
part ::= nr | [-0-9A-Za-z]+
generated by RR - Railroad Diagram Generator
Please cite the source for reprints, feel free to verify the sources cited in the article, and point out any errors or lack of clarity of expression. You can comment in the comments section below or email to GreenMeeple@yahoo.com