Railroad Diagram of version range operators

Railroad Diagram of version range operators

This is a image version of the post here

range-set:

range-set.ebnf
1
range-set   ::= range ( logical-or range )*

logical-or:

logical-or.ebnf
1
logical-or  ::= ' '* '||' ' '*

referenced by: range-set

range:

range.ebnf
1
2
3
range   ::= hyphen
| simple ( ' ' simple )*
| ''

referenced by: range-set

hyphen:

hyphen.ebnf
1
hyphen   ::= partial ' - ' partial

referenced by: range

simple:

simple.ebnf
1
2
3
4
simple   ::= primitive
| partial
| tilde
| caret

referenced by: range

primitive:

primitive.ebnf
1
primitive   ::= ( '<' | '>' | '>=' | '<=' | '=' ) partial

referenced by: simple

partial:

partial.ebnf
1
partial  ::= xr ( '.' xr ( '.' xr qualifier? )? )?

referenced by:

xr:

xr.ebnf
1
2
3
4
xr    ::= 'x'
| 'X'
| '*'
| nr

referenced by: partial

nr:

nr.ebnf
1
2
nr    ::= '0'
| ['1'-'9] ['0'-'9]*

referenced by:

tilde:

tilde.ebnf
1
tilde    ::= '~' partial

referenced by: simple

caret:

caret.ebnf
1
caret    ::= '^' partial

referenced by: simple

qualifier:

qualifier.ebnf
1
qualifier   ::= ( '-' pre )? ( '+' build )?

referenced by: partial

pre:

pre.ebnf
1
pre     ::= parts

referenced by: qualifier

build:

build.ebnf
1
build   ::= parts

referenced by: qualifier

parts:

parts.ebnf
1
parts   ::= part ( '.' part )*

referenced by:

part:

part.ebnf
1
part    ::= nr | [-0-9A-Za-z]+


generated by RR - Railroad Diagram Generator

Railroad Diagram of version range operators

https://greenmeeple.github.io/js/json-dependencies-diagram/

Author

Alex Li

Posted on

2024-10-11

Updated on

2025-05-14

Licensed under

Comments

Your browser is out-of-date!

Update your browser to view this website correctly.&npsb;Update my browser now

×