15 lines
479 B
Text
15 lines
479 B
Text
* # Return range n1 .. n2
|
|
define('range(n1,n2)') :(range_end)
|
|
range range = range n1 ','; n1 = lt(n1,n2) n1 + 1 :s(range)
|
|
range rtab(1) . range :(return)
|
|
range_end
|
|
|
|
define('rangex(range)d1,d2')
|
|
num = ('-' | '') span('0123456789') :(rangex_end)
|
|
rangex range num . d1 '-' num . d2 = range(d1,d2) :s(rangex)
|
|
rangex = range :(return)
|
|
rangex_end
|
|
|
|
* # Test and display
|
|
output = rangex('-6,-3--1,3-5,7-11,14,15,17-20')
|
|
end
|