<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><meta content="text/html;charset=UTF-8" http-equiv="Content-Type"></head><body ><div style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10pt;"><div>poking around in the grammar some more, it defines RangeSet with a rule<br></div><div><br></div><div><br></div><div><blockquote style="border: 1px solid rgb(204, 204, 204); padding: 7px; background-color: rgb(245, 245, 245);"><div>Range                              <-   OPEN_BRACKET s "^"? RangeSet{1,CLOSE_BRACKET}<br></div></blockquote></div><div>That is tied to a callback via a pragma...<br></div><div><br></div><div><br></div><div><blockquote style="border: 1px solid rgb(204, 204, 204); padding: 7px; background-color: rgb(245, 245, 245);"><div>Range: excluding sets: sets<br></div><div><action: 'Range' arguments: #( 3 4 )><br></div><div><br></div><div>sets isEmpty ifTrue: [<br></div><div>^excluding<br></div><div>ifNil:  [self DOT]<br></div><div>ifNotNil:    [ [parser not: [parser anything]] ]].<br></div><div>^excluding<br></div><div>ifNil: [ [parser including: sets] ]<br></div><div>ifNotNil:  [ [parser excluding: sets] ]<br></div></blockquote><br></div><div><br></div><div>Which is too deep in the weeds to grok at the moment, but appears to be a filter<br></div><div><br></div><div>excluding is part of PEGParser<br></div><div><br></div><div><blockquote style="border: 1px solid rgb(204, 204, 204); padding: 7px; background-color: rgb(245, 245, 245);"><div>excluding: intervals<br></div><div>| position integer |<br></div><div>position := stream position.<br></div><div>[stream read: 1 into: cache at: 1] on: Incomplete do: [stream position: position. ^Failure].<br></div><div>integer := (cache at: 1) asInteger.<br></div><div>intervals do: [:interval | (interval includes: integer) ifTrue: [stream position: position. ^Failure]].<br></div><div>^cache at: 1<br></div></blockquote><br></div><div><br></div><div><br></div><div>cordially,<br></div><div><br></div><div>t</div><div><br></div><div><br></div></div><br></body></html>