"{ Package: 'stx:goodies/petitparser' }"
Object subclass:#PPCharSetPredicate
instanceVariableNames:'block classification'
classVariableNames:''
poolDictionaries:''
category:'PetitParser-Tools'
!
!PPCharSetPredicate class methodsFor:'instance creation'!
on: aBlock
^ self basicNew initializeOn: aBlock
! !
!PPCharSetPredicate methodsFor:'evaluating'!
value: aCharacter
| index |
index := aCharacter asInteger.
index == 0
ifTrue: [ ^ block value: aCharacter ].
index > 255
ifTrue: [ ^ block value: aCharacter ].
^ classification at: index
! !
!PPCharSetPredicate methodsFor:'initialization'!
initializeOn: aBlock
block := aBlock.
classification := Array new: 255.
1 to: classification size do: [ :index |
classification at: index put: (block
value: (Character value: index)) ]
! !
!PPCharSetPredicate class methodsFor:'documentation'!
version_SVN
^ '$Id: PPCharSetPredicate.st,v 1.2 2012-01-13 11:22:50 cg Exp $'
! !