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 }"
PPCConfiguration subclass:#PPCTokenizingConfiguration
instanceVariableNames:''
classVariableNames:''
poolDictionaries:''
category:'PetitCompiler-Core'
!
!PPCTokenizingConfiguration methodsFor:'compiling'!
invokePhases
self toPPCIr.
self createTokens.
self cacheFirstFollow.
self createLL1Choices.
self tokenize.
self merge.
self specialize.
self createRecognizingComponents.
self specialize.
self inline.
self merge.
self check.
self cacheFirstFollow.
self generate.
! !
!PPCTokenizingConfiguration methodsFor:'hooks'!
codeCompilerOn: args
^ PPCTokenizingCompiler on: args
!
codeGeneratorVisitorOn: compiler
^ PPCTokenizingCodeGenerator on: compiler
! !
!PPCTokenizingConfiguration methodsFor:'phases'!
createLL1Choices
ir := PPCLL1Visitor new
arguments: arguments;
visit: ir.
self remember: #LL1
!
tokenize
"
This will try transform the parser into the tokenizing parser
"
arguments tokenize ifFalse: [ ^ self ] .
ir := PPCTokenizingVisitor new
arguments: arguments;
visit: ir.
self remember: #tokenize
! !
!PPCTokenizingConfiguration class methodsFor:'documentation'!
version_HG
^ '$Changeset: <not expanded> $'
! !