Portability fixes in PPPredicateTest>>charactersDo: / parsedCharacterSet:
* It is my understanding that charactersDo: should iterate over all signle byte
characters. If so, the method suffer from off-by-one error, it should generate
characters with code points 0..255. 256 is actually a two-byte character.
Method changed accordingly.
* Use Character>>asString instead of `String>>with:` which is safer
w.r.t. multi-byte characters. Under Smalltalk/X, String may contain only
signle byte characters.
"{ Package: 'stx:goodies/petitparser/compiler' }"
PPCSequenceNode subclass:#PPCTokenSequenceNode
instanceVariableNames:''
classVariableNames:''
poolDictionaries:''
category:'PetitCompiler-Nodes'
!
!PPCTokenSequenceNode methodsFor:'as yet unclassified'!
asFast
^ self
!
compileWith: compiler effect: effect id: id
compiler startMethod: id.
compiler addVariable: 'memento'.
compiler add: (compiler smartRemember: self).
" self addGuard: compiler."
compiler call: ((children at: 1) compileWith: compiler).
compiler add: 'error ifTrue: [ ^ failure ].'.
(2 to: children size) do: [ :idx | |child|
child := children at: idx.
compiler call: (child compileWith: compiler).
compiler add: 'error ifTrue: [ ', (compiler smartRestore: self) ,' ^ failure ].'.
].
^ compiler stopMethod.
!
suffix
^ #'_fast'
! !
!PPCTokenSequenceNode class methodsFor:'documentation'!
version_HG
^ '$Changeset: <not expanded> $'
! !