[squeak-dev] specifiying the character class range for some funky characters from İstanbul

gettimothy gettimothy at zoho.com
Sun Jan 10 16:18:53 UTC 2021

poking around in the grammar some more, it defines RangeSet with a rule

Range				<-	OPEN_BRACKET s "^"? RangeSet{1,CLOSE_BRACKET}

That is tied to a callback via a pragma...

Range: excluding sets: sets

<action: 'Range' arguments: #( 3 4 )>

sets isEmpty ifTrue: [


ifNil:	[self DOT]

ifNotNil:	[ [parser not: [parser anything]] ]].


ifNil:	[ [parser including: sets] ]

ifNotNil:	[ [parser excluding: sets] ]

Which is too deep in the weeds to grok at the moment, but appears to be a filter

excluding is part of PEGParser

excluding: intervals

| position integer |

position := stream position.

[stream read: 1 into: cache at: 1] on: Incomplete do: [stream position: position. ^Failure].

integer := (cache at: 1) asInteger.

intervals do: [:interval | (interval includes: integer) ifTrue: [stream position: position. ^Failure]].

^cache at: 1


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20210110/98e8afcd/attachment.html>

More information about the Squeak-dev mailing list