Tests refactoring - use generated test cases to make sure all posibilities are tested.
Do not generate resource for all combinations, use PPCSetUpBeforeTearDownAfterResource
instead that delegates parser compilation to the testcase itself (it calls it's #setUpBefore
method).
"{ Package: 'stx:goodies/petitparser/compiler' }"
"{ NameSpace: Smalltalk }"
PPCNodeVisitor subclass:#PPCRewritingVisitor
instanceVariableNames:'change'
classVariableNames:''
poolDictionaries:''
category:'PetitCompiler-Visitors'
!
!PPCRewritingVisitor methodsFor:'as yet unclassified'!
change
self flag: 'JK: Do we need this?'.
change := true.
!
visitChild: child of: node
| newChild |
(self isOpen: child) ifTrue: [
"already processing..."
^ nil
].
(self isCached: child) ifTrue: [
"Use Cached Value"
node replace: child with: (self cachedValue: child).
^ nil
].
change := false.
newChild := self visit: child.
change ifTrue: [
node replace: child with: newChild.
].
!
visitChildren: node
node children do: [ :child |
self visitChild: child of: node
]
! !