PPCConfiguration refactoring: [7/10]: allow to configure passes
...run during compilation by setting a collection of passes to run.
Got rid of PPCPluggableConfiguration and PPCConfiguration subclasses.
Removed a bunch of options used to suppress certain passes.
--- a/compiler/Make.proto Sat Aug 29 07:56:14 2015 +0100
+++ b/compiler/Make.proto Fri Sep 04 14:06:56 2015 +0100
@@ -155,7 +155,6 @@
$(OUTDIR)PPCNode.$(O) PPCNode.$(H): PPCNode.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)PPCNodeVisitor.$(O) PPCNodeVisitor.$(H): PPCNodeVisitor.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)PPCPass.$(O) PPCPass.$(H): PPCPass.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)PPCPluggableConfiguration.$(O) PPCPluggableConfiguration.$(H): PPCPluggableConfiguration.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)PPCScanner.$(O) PPCScanner.$(H): PPCScanner.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)PPCScannerError.$(O) PPCScannerError.$(H): PPCScannerError.st $(INCLUDE_TOP)/stx/libbasic/Error.$(H) $(INCLUDE_TOP)/stx/libbasic/Exception.$(H) $(INCLUDE_TOP)/stx/libbasic/GenericException.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)PPCScannerResultStrategy.$(O) PPCScannerResultStrategy.$(H): PPCScannerResultStrategy.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
@@ -190,9 +189,7 @@
$(OUTDIR)PPCProfilingContext.$(O) PPCProfilingContext.$(H): PPCProfilingContext.st $(INCLUDE_TOP)/stx/goodies/petitparser/PPStream.$(H) $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCContext.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/PeekableStream.$(H) $(INCLUDE_TOP)/stx/libbasic/PositionableStream.$(H) $(INCLUDE_TOP)/stx/libbasic/ReadStream.$(H) $(INCLUDE_TOP)/stx/libbasic/Stream.$(H) $(STCHDR)
$(OUTDIR)PPCScannerCodeGenerator.$(O) PPCScannerCodeGenerator.$(H): PPCScannerCodeGenerator.st $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCPass.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)PPCTokenizingCodeGen.$(O) PPCTokenizingCodeGen.$(H): PPCTokenizingCodeGen.st $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCCodeGen.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)PPCTokenizingConfiguration.$(O) PPCTokenizingConfiguration.$(H): PPCTokenizingConfiguration.st $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCConfiguration.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)PPCUniversalCodeGen.$(O) PPCUniversalCodeGen.$(H): PPCUniversalCodeGen.st $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCCodeGen.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)PPCUniversalConfiguration.$(O) PPCUniversalConfiguration.$(H): PPCUniversalConfiguration.st $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCConfiguration.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)PPCUniversalResultStrategy.$(O) PPCUniversalResultStrategy.$(H): PPCUniversalResultStrategy.st $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCScannerResultStrategy.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)PPCUnknownNode.$(O) PPCUnknownNode.$(H): PPCUnknownNode.st $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCNode.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)PPTokenizingCompiledParser.$(O) PPTokenizingCompiledParser.$(H): PPTokenizingCompiledParser.st $(INCLUDE_TOP)/stx/goodies/petitparser/PPParser.$(H) $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCompiledParser.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
--- a/compiler/Make.spec Sat Aug 29 07:56:14 2015 +0100
+++ b/compiler/Make.spec Fri Sep 04 14:06:56 2015 +0100
@@ -81,7 +81,6 @@
PPCNode \
PPCNodeVisitor \
PPCPass \
- PPCPluggableConfiguration \
PPCScanner \
PPCScannerError \
PPCScannerResultStrategy \
@@ -116,9 +115,7 @@
PPCProfilingContext \
PPCScannerCodeGenerator \
PPCTokenizingCodeGen \
- PPCTokenizingConfiguration \
PPCUniversalCodeGen \
- PPCUniversalConfiguration \
PPCUniversalResultStrategy \
PPCUnknownNode \
PPTokenizingCompiledParser \
@@ -216,7 +213,6 @@
$(OUTDIR_SLASH)PPCNode.$(O) \
$(OUTDIR_SLASH)PPCNodeVisitor.$(O) \
$(OUTDIR_SLASH)PPCPass.$(O) \
- $(OUTDIR_SLASH)PPCPluggableConfiguration.$(O) \
$(OUTDIR_SLASH)PPCScanner.$(O) \
$(OUTDIR_SLASH)PPCScannerError.$(O) \
$(OUTDIR_SLASH)PPCScannerResultStrategy.$(O) \
@@ -251,9 +247,7 @@
$(OUTDIR_SLASH)PPCProfilingContext.$(O) \
$(OUTDIR_SLASH)PPCScannerCodeGenerator.$(O) \
$(OUTDIR_SLASH)PPCTokenizingCodeGen.$(O) \
- $(OUTDIR_SLASH)PPCTokenizingConfiguration.$(O) \
$(OUTDIR_SLASH)PPCUniversalCodeGen.$(O) \
- $(OUTDIR_SLASH)PPCUniversalConfiguration.$(O) \
$(OUTDIR_SLASH)PPCUniversalResultStrategy.$(O) \
$(OUTDIR_SLASH)PPCUnknownNode.$(O) \
$(OUTDIR_SLASH)PPTokenizingCompiledParser.$(O) \
--- a/compiler/PPCCompilationOptions.st Sat Aug 29 07:56:14 2015 +0100
+++ b/compiler/PPCCompilationOptions.st Fri Sep 04 14:06:56 2015 +0100
@@ -93,7 +93,9 @@
!
tokenize
- ^ self at: #tokenize ifAbsent: true
+ ^ self at: #tokenize ifAbsent: false
+
+ "Modified: / 04-09-2015 / 15:53:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
tokenize: aBoolean
@@ -114,14 +116,6 @@
!PPCCompilationOptions methodsFor:'options - undocumented (do not use)'!
-cacheFirstFollow
- ^ self at: #cacheFirstFollow ifAbsent: true
-!
-
-cacheFirstFollow: value
- self set: #cacheFirstFollow to: value.
-!
-
debug
^ self at: #debug ifAbsent: true
!
@@ -146,18 +140,10 @@
self set: #guards to: value.
!
-inline
- ^ self at: #inline ifAbsent: true
-!
-
-inline: value
- self set: #inline to: value.
-!
-
parserSuperclass
^ self at: #parserSuperclass ifAbsent: nil
- "Modified: / 01-09-2015 / 08:45:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 04-09-2015 / 16:06:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
parserSuperclass: value
@@ -178,14 +164,6 @@
scannerSuperclass: value
self set: #scannerSuperclass to: value.
-!
-
-specialize
- ^ self at: #specialize ifAbsent: true
-!
-
-specialize: value
- self set: #specialize to: value.
! !
!PPCCompilationOptions methodsFor:'private'!
--- a/compiler/PPCConfiguration.st Sat Aug 29 07:56:14 2015 +0100
+++ b/compiler/PPCConfiguration.st Fri Sep 04 14:06:56 2015 +0100
@@ -3,7 +3,7 @@
"{ NameSpace: Smalltalk }"
Object subclass:#PPCConfiguration
- instanceVariableNames:'context ir history'
+ instanceVariableNames:'context ir history passes'
classVariableNames:''
poolDictionaries:''
category:'PetitCompiler-Core'
@@ -22,11 +22,27 @@
!
tokenizing
- ^ PPCTokenizingConfiguration new
+ | options |
+
+ options := PPCCompilationOptions default.
+ options tokenize: true.
+ ^ PPCConfiguration new
+ options: options;
+ yourself
+
+ "Modified: / 04-09-2015 / 16:21:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
universal
- ^ PPCUniversalConfiguration new
+ | options |
+
+ options := PPCCompilationOptions default.
+ options tokenize: false.
+ ^ PPCConfiguration new
+ options: options;
+ yourself
+
+ "Modified: / 04-09-2015 / 16:21:56 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
!PPCConfiguration methodsFor:'accessing'!
@@ -54,14 +70,67 @@
ir: whatever
ir := whatever
+!
+
+options
+ ^ context options
+
+ "Modified: / 26-08-2015 / 19:48:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+options: aPPCCompilationOptions
+ context options: aPPCCompilationOptions
+
+ "Created: / 26-08-2015 / 19:56:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+passes
+ ^ passes
+!
+
+passes:aCollection
+ passes := aCollection asOrderedCollection
+
+ "Modified: / 04-09-2015 / 14:14:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
!PPCConfiguration methodsFor:'accessing - defaults'!
-defaultParserSuperclass
- self subclassResponsibility
+defaultPassesForTokenizingParser
+ ^ {
+ PPCTokenDetector .
+ PPCCacheFirstFollowPass .
+ PPCLL1Visitor .
+ PPCTokenizingVisitor .
+ PPCMergingVisitor .
+ PPCSpecializingVisitor .
+ PPCInliningVisitor .
+ PPCMergingVisitor .
+ PPCCheckingVisitor .
+ PPCCacheFirstFollowPass .
+ PPCTokenizingCodeGenerator .
+ PPCFSAVisitor .
+ PPCTokenCodeGenerator .
+ PPCScannerCodeGenerator .
+ } asOrderedCollection.
- "Created: / 01-09-2015 / 08:46:30 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Created: / 04-09-2015 / 15:56:30 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+defaultPassesForUniversalParser
+ ^ {
+ PPCTokenDetector.
+ PPCCacheFirstFollowPass.
+ PPCSpecializingVisitor .
+ PPCRecognizerComponentDetector .
+ PPCSpecializingVisitor .
+ PPCInliningVisitor .
+ PPCMergingVisitor .
+ PPCCheckingVisitor .
+ PPCUniversalCodeGenerator
+ } asOrderedCollection.
+
+ "Created: / 04-09-2015 / 15:56:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
!PPCConfiguration methodsFor:'compiling'!
@@ -100,9 +169,15 @@
context options generate ifFalse:[
^ self
].
+ context parserClass methodDictionary isEmpty ifTrue:[
+ ^ self
+ ].
+
parserSuper := context options parserSuperclass.
parserSuper isNil ifTrue:[
- parserSuper := self defaultParserSuperclass.
+ parserSuper := context options tokenize
+ ifTrue:[ PPTokenizingCompiledParser ]
+ ifFalse:[ PPCompiledParser ]
].
rootMethod := context parserClass propertyAt:#rootMethod.
context parserClass name:context options parserName.
@@ -113,7 +188,7 @@
ir := parserClass new
"Modified: / 25-08-2015 / 00:05:49 / Jan Vrany"
- "Modified: / 01-09-2015 / 08:46:30 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 04-09-2015 / 16:07:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
generateScanner
@@ -122,6 +197,10 @@
context options generate ifFalse:[
^ self
].
+ context scannerClass methodDictionary isEmpty ifTrue:[
+ ^ self
+ ].
+
context scannerClass name:context options scannerName.
context scannerClass superclass:context options scannerSuperclass.
scanner := (self buildClass:context scannerClass).
@@ -130,11 +209,18 @@
self remember:scanner as:#scanner
"Modified: / 25-08-2015 / 00:06:49 / Jan Vrany"
- "Modified: / 26-08-2015 / 19:58:12 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 04-09-2015 / 15:33:12 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
invokePhases
- self subclassResponsibility
+ self initializePassesIfNotAlready.
+
+ self runPasses: passes.
+
+ self generateScanner.
+ self generateParser.
+
+ "Modified: / 04-09-2015 / 16:22:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
!PPCConfiguration methodsFor:'debugging'!
@@ -164,27 +250,25 @@
"Modified: / 28-08-2015 / 14:14:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
-!PPCConfiguration methodsFor:'error handling'!
-
-options
- ^ context options
-
- "Modified: / 26-08-2015 / 19:48:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-options: aPPCCompilationOptions
- context options: aPPCCompilationOptions
-
- "Created: / 26-08-2015 / 19:56:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-! !
-
!PPCConfiguration methodsFor:'initialization'!
initialize
history := OrderedCollection new.
context := PPCCompilationContext new.
- "Modified: / 26-08-2015 / 19:49:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 04-09-2015 / 15:56:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+initializePassesIfNotAlready
+ passes isNil ifTrue:[
+ context options tokenize ifTrue:[
+ passes := self defaultPassesForTokenizingParser
+ ] ifFalse:[
+ passes := self defaultPassesForUniversalParser
+ ].
+ ].
+
+ "Created: / 04-09-2015 / 16:02:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
!PPCConfiguration methodsFor:'reporting'!
@@ -199,6 +283,21 @@
!PPCConfiguration methodsFor:'running'!
+removePass: pass
+ | index |
+
+ self initializePassesIfNotAlready.
+ [
+ index := passes indexOf: pass.
+ index ~~ 0
+ ] whileTrue:[
+ passes removeAtIndex: index
+ ].
+
+ "Created: / 04-09-2015 / 11:24:45 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 04-09-2015 / 16:02:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
runPass: pass
| p |
@@ -208,5 +307,11 @@
"Created: / 26-08-2015 / 22:35:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
"Modified: / 29-08-2015 / 07:16:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+runPasses: aCollection
+ aCollection do:[:each | self runPass: each ]
+
+ "Created: / 04-09-2015 / 11:23:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
--- a/compiler/PPCPluggableConfiguration.st Sat Aug 29 07:56:14 2015 +0100
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,54 +0,0 @@
-"{ Package: 'stx:goodies/petitparser/compiler' }"
-
-"{ NameSpace: Smalltalk }"
-
-Object subclass:#PPCPluggableConfiguration
- instanceVariableNames:'block base'
- classVariableNames:''
- poolDictionaries:''
- category:'PetitCompiler-Core'
-!
-
-!PPCPluggableConfiguration class methodsFor:'as yet unclassified'!
-
-on: aBlock
- ^ self on: aBlock base: PPCConfiguration default
-!
-
-on: aBlock base: aPPCCOnfiguration
- ^ self new
- block: aBlock;
- base: aPPCCOnfiguration;
- yourself
-! !
-
-!PPCPluggableConfiguration methodsFor:'as yet unclassified'!
-
-base: aPPCConfiguration
- base := aPPCConfiguration
-!
-
-block: aBlock
- block := aBlock
-!
-
-compile: whatever
- base input: whatever.
- block value: base.
- ^ base ir
-!
-
-input: whatever
- ^ base input: whatever
-!
-
-invokePhases
- ^ block value: base
-!
-
-options: args
- ^ base context options: args
-
- "Modified: / 28-08-2015 / 14:19:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-! !
-
--- a/compiler/PPCTokenizingConfiguration.st Sat Aug 29 07:56:14 2015 +0100
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,65 +0,0 @@
-"{ Package: 'stx:goodies/petitparser/compiler' }"
-
-"{ NameSpace: Smalltalk }"
-
-PPCConfiguration subclass:#PPCTokenizingConfiguration
- instanceVariableNames:''
- classVariableNames:''
- poolDictionaries:''
- category:'PetitCompiler-Core'
-!
-
-!PPCTokenizingConfiguration methodsFor:'accessing - defaults'!
-
-defaultParserSuperclass
- ^ PPTokenizingCompiledParser
-
- "Modified (comment): / 01-09-2015 / 08:48:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-! !
-
-!PPCTokenizingConfiguration methodsFor:'compiling'!
-
-invokePhases
-
- self runPass: PPCTokenDetector.
-
- context options cacheFirstFollow ifTrue:[
- self runPass: PPCCacheFirstFollowPass
- ].
- self runPass: PPCLL1Visitor.
- context options tokenize ifTrue:[
- self runPass: PPCTokenizingVisitor
- ].
-
- self runPass: PPCMergingVisitor .
-
- context options specialize ifTrue:[
- self runPass: PPCSpecializingVisitor
- ].
-
- self runPass: PPCRecognizerComponentDetector .
-
- context options specialize ifTrue:[
- self runPass: PPCSpecializingVisitor
- ].
- context options inline ifTrue:[
- self runPass: PPCInliningVisitor
- ].
-
- self runPass: PPCMergingVisitor .
-
- self runPass: PPCCheckingVisitor.
- context options cacheFirstFollow ifTrue:[
- self runPass: PPCCacheFirstFollowPass
- ].
- self runPass: PPCTokenizingCodeGenerator.
- self runPass: PPCFSAVisitor.
- self runPass: PPCTokenCodeGenerator.
- self runPass: PPCScannerCodeGenerator.
-
- self generateScanner.
- self generateParser.
-
- "Modified: / 04-09-2015 / 10:25:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-! !
-
--- a/compiler/PPCUniversalConfiguration.st Sat Aug 29 07:56:14 2015 +0100
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,63 +0,0 @@
-"{ Package: 'stx:goodies/petitparser/compiler' }"
-
-"{ NameSpace: Smalltalk }"
-
-PPCConfiguration subclass:#PPCUniversalConfiguration
- instanceVariableNames:''
- classVariableNames:''
- poolDictionaries:''
- category:'PetitCompiler-Core'
-!
-
-
-!PPCUniversalConfiguration methodsFor:'accessing - defaults'!
-
-defaultParserSuperclass
- ^ PPCompiledParser
-
- "Modified: / 01-09-2015 / 08:47:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-! !
-
-!PPCUniversalConfiguration methodsFor:'compiling'!
-
-invokePhases
-
- self runPass: PPCTokenDetector.
-
- context options cacheFirstFollow ifTrue:[
- self runPass: PPCCacheFirstFollowPass
- ].
- context options specialize ifTrue:[
- self runPass: PPCSpecializingVisitor
- ].
-
- self runPass: PPCRecognizerComponentDetector .
-
- context options specialize ifTrue:[
- self runPass: PPCSpecializingVisitor
- ].
- context options inline ifTrue:[
- self runPass: PPCInliningVisitor
- ].
-
- self runPass: PPCMergingVisitor.
-
- self runPass: PPCCheckingVisitor.
-
- self runPass: PPCUniversalCodeGenerator.
-
- self generateParser.
-
- "Modified: / 04-09-2015 / 10:25:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-! !
-
-!PPCUniversalConfiguration class methodsFor:'documentation'!
-
-version
- ^ 'Path: stx/goodies/petitparser/compiler/PPCUniversalConfiguration.st, Version: 1.0, User: jv, Time: 2015-08-26T20:03:52.218+01'
-!
-
-version_HG
- ^ 'Path: stx/goodies/petitparser/compiler/PPCUniversalConfiguration.st, Version: 1.0, User: jv, Time: 2015-08-26T20:03:52.218+01'
-! !
-
--- a/compiler/abbrev.stc Sat Aug 29 07:56:14 2015 +0100
+++ b/compiler/abbrev.stc Fri Sep 04 14:06:56 2015 +0100
@@ -31,7 +31,6 @@
PPCNode PPCNode stx:goodies/petitparser/compiler 'PetitCompiler-Nodes' 0
PPCNodeVisitor PPCNodeVisitor stx:goodies/petitparser/compiler 'PetitCompiler-Visitors' 0
PPCPass PPCPass stx:goodies/petitparser/compiler 'PetitCompiler-Core' 0
-PPCPluggableConfiguration PPCPluggableConfiguration stx:goodies/petitparser/compiler 'PetitCompiler-Core' 0
PPCScanner PPCScanner stx:goodies/petitparser/compiler 'PetitCompiler-Scanner' 0
PPCScannerError PPCScannerError stx:goodies/petitparser/compiler 'PetitCompiler-Exceptions' 1
PPCScannerResultStrategy PPCScannerResultStrategy stx:goodies/petitparser/compiler 'PetitCompiler-Scanner' 0
@@ -66,9 +65,7 @@
PPCProfilingContext PPCProfilingContext stx:goodies/petitparser/compiler 'PetitCompiler-Context' 0
PPCScannerCodeGenerator PPCScannerCodeGenerator stx:goodies/petitparser/compiler 'PetitCompiler-Scanner' 0
PPCTokenizingCodeGen PPCTokenizingCodeGen stx:goodies/petitparser/compiler 'PetitCompiler-Compiler-Codegen' 0
-PPCTokenizingConfiguration PPCTokenizingConfiguration stx:goodies/petitparser/compiler 'PetitCompiler-Core' 0
PPCUniversalCodeGen PPCUniversalCodeGen stx:goodies/petitparser/compiler 'PetitCompiler-Compiler-Codegen' 0
-PPCUniversalConfiguration PPCUniversalConfiguration stx:goodies/petitparser/compiler 'PetitCompiler-Core' 0
PPCUniversalResultStrategy PPCUniversalResultStrategy stx:goodies/petitparser/compiler 'PetitCompiler-Scanner' 0
PPCUnknownNode PPCUnknownNode stx:goodies/petitparser/compiler 'PetitCompiler-Nodes' 0
PPTokenizingCompiledParser PPTokenizingCompiledParser stx:goodies/petitparser/compiler 'PetitCompiler-Parsers' 4
--- a/compiler/bc.mak Sat Aug 29 07:56:14 2015 +0100
+++ b/compiler/bc.mak Fri Sep 04 14:06:56 2015 +0100
@@ -102,7 +102,6 @@
$(OUTDIR)PPCNode.$(O) PPCNode.$(H): PPCNode.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)PPCNodeVisitor.$(O) PPCNodeVisitor.$(H): PPCNodeVisitor.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)PPCPass.$(O) PPCPass.$(H): PPCPass.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)PPCPluggableConfiguration.$(O) PPCPluggableConfiguration.$(H): PPCPluggableConfiguration.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)PPCScanner.$(O) PPCScanner.$(H): PPCScanner.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)PPCScannerError.$(O) PPCScannerError.$(H): PPCScannerError.st $(INCLUDE_TOP)\stx\libbasic\Error.$(H) $(INCLUDE_TOP)\stx\libbasic\Exception.$(H) $(INCLUDE_TOP)\stx\libbasic\GenericException.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)PPCScannerResultStrategy.$(O) PPCScannerResultStrategy.$(H): PPCScannerResultStrategy.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
@@ -137,9 +136,7 @@
$(OUTDIR)PPCProfilingContext.$(O) PPCProfilingContext.$(H): PPCProfilingContext.st $(INCLUDE_TOP)\stx\goodies\petitparser\PPStream.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCContext.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\PeekableStream.$(H) $(INCLUDE_TOP)\stx\libbasic\PositionableStream.$(H) $(INCLUDE_TOP)\stx\libbasic\ReadStream.$(H) $(INCLUDE_TOP)\stx\libbasic\Stream.$(H) $(STCHDR)
$(OUTDIR)PPCScannerCodeGenerator.$(O) PPCScannerCodeGenerator.$(H): PPCScannerCodeGenerator.st $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCPass.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)PPCTokenizingCodeGen.$(O) PPCTokenizingCodeGen.$(H): PPCTokenizingCodeGen.st $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCCodeGen.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)PPCTokenizingConfiguration.$(O) PPCTokenizingConfiguration.$(H): PPCTokenizingConfiguration.st $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCConfiguration.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)PPCUniversalCodeGen.$(O) PPCUniversalCodeGen.$(H): PPCUniversalCodeGen.st $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCCodeGen.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)PPCUniversalConfiguration.$(O) PPCUniversalConfiguration.$(H): PPCUniversalConfiguration.st $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCConfiguration.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)PPCUniversalResultStrategy.$(O) PPCUniversalResultStrategy.$(H): PPCUniversalResultStrategy.st $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCScannerResultStrategy.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)PPCUnknownNode.$(O) PPCUnknownNode.$(H): PPCUnknownNode.st $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCNode.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)PPTokenizingCompiledParser.$(O) PPTokenizingCompiledParser.$(H): PPTokenizingCompiledParser.st $(INCLUDE_TOP)\stx\goodies\petitparser\PPParser.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCompiledParser.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
--- a/compiler/benchmarks/PPCSmalltalkNoopParser.st Sat Aug 29 07:56:14 2015 +0100
+++ b/compiler/benchmarks/PPCSmalltalkNoopParser.st Fri Sep 04 14:06:56 2015 +0100
@@ -9,7 +9,6 @@
category:'PetitCompiler-Benchmarks-Parsers'
!
-
!PPCSmalltalkNoopParser methodsFor:'accessing'!
startExpression
@@ -343,10 +342,3 @@
"Modified: / 15-05-2015 / 08:54:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
-!PPCSmalltalkNoopParser class methodsFor:'documentation'!
-
-version_HG
-
- ^ '$Changeset: <not expanded> $'
-! !
-
--- a/compiler/libInit.cc Sat Aug 29 07:56:14 2015 +0100
+++ b/compiler/libInit.cc Fri Sep 04 14:06:56 2015 +0100
@@ -57,7 +57,6 @@
_PPCNode_Init(pass,__pRT__,snd);
_PPCNodeVisitor_Init(pass,__pRT__,snd);
_PPCPass_Init(pass,__pRT__,snd);
-_PPCPluggableConfiguration_Init(pass,__pRT__,snd);
_PPCScanner_Init(pass,__pRT__,snd);
_PPCScannerError_Init(pass,__pRT__,snd);
_PPCScannerResultStrategy_Init(pass,__pRT__,snd);
@@ -92,9 +91,7 @@
_PPCProfilingContext_Init(pass,__pRT__,snd);
_PPCScannerCodeGenerator_Init(pass,__pRT__,snd);
_PPCTokenizingCodeGen_Init(pass,__pRT__,snd);
-_PPCTokenizingConfiguration_Init(pass,__pRT__,snd);
_PPCUniversalCodeGen_Init(pass,__pRT__,snd);
-_PPCUniversalConfiguration_Init(pass,__pRT__,snd);
_PPCUniversalResultStrategy_Init(pass,__pRT__,snd);
_PPCUnknownNode_Init(pass,__pRT__,snd);
_PPTokenizingCompiledParser_Init(pass,__pRT__,snd);
--- a/compiler/stx_goodies_petitparser_compiler.st Sat Aug 29 07:56:14 2015 +0100
+++ b/compiler/stx_goodies_petitparser_compiler.st Fri Sep 04 14:06:56 2015 +0100
@@ -140,7 +140,6 @@
PPCNode
PPCNodeVisitor
PPCPass
- PPCPluggableConfiguration
PPCScanner
PPCScannerError
PPCScannerResultStrategy
@@ -175,9 +174,7 @@
PPCProfilingContext
PPCScannerCodeGenerator
PPCTokenizingCodeGen
- PPCTokenizingConfiguration
PPCUniversalCodeGen
- PPCUniversalConfiguration
PPCUniversalResultStrategy
PPCUnknownNode
PPTokenizingCompiledParser
--- a/compiler/tests/PPCCodeGeneratorTest.st Sat Aug 29 07:56:14 2015 +0100
+++ b/compiler/tests/PPCCodeGeneratorTest.st Fri Sep 04 14:06:56 2015 +0100
@@ -24,20 +24,20 @@
!
setUp
- options := PPCCompilationOptions default
- profile: true.
+ options := PPCCompilationOptions default
+ tokenize: false;
+ profile: true;
+ yourself.
- configuration := PPCPluggableConfiguration on: [ :_self |
- options cacheFirstFollow ifTrue:[
- _self runPass: PPCCacheFirstFollowPass.
- ].
- _self runPass: PPCCheckingVisitor.
- _self runPass: PPCUniversalCodeGenerator.
- _self generateParser.
- ].
+ configuration := PPCConfiguration new passes:
+ {
+ PPCCacheFirstFollowPass.
+ PPCCheckingVisitor .
+ PPCUniversalCodeGenerator .
+ }.
configuration options: options.
- "Modified: / 04-09-2015 / 10:31:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 04-09-2015 / 16:22:30 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
tearDown
@@ -928,7 +928,7 @@
!
testStarAnyNode
- options cacheFirstFollow: false.
+ configuration removePass: PPCCacheFirstFollowPass.
node := PPCStarAnyNode new
child: PPCNilNode new;
yourself.
@@ -937,10 +937,12 @@
self assert: parser parse: 'abc' to: #($a $b $c).
self assert: parser parse: 'a' to: #($a).
self assert: parser parse: '' to: #().
+
+ "Modified: / 04-09-2015 / 14:47:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
testStarCharSetPredicateNode
- options cacheFirstFollow: false.
+ configuration removePass: PPCCacheFirstFollowPass.
node := PPCStarCharSetPredicateNode new
predicate: (PPCharSetPredicate on: [:e | e = $a ]);
child: PPCSentinelNode new;
@@ -953,11 +955,12 @@
self assert: context invocationCount = 1.
self assert: parser parse: 'bba' to: #() end: 0.
self assert: context invocationCount = 1.
-
+
+ "Modified: / 04-09-2015 / 14:47:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
testStarMessagePredicateNode
- options cacheFirstFollow: false.
+ configuration removePass: PPCCacheFirstFollowPass.
node := PPCStarMessagePredicateNode new
message: #isLetter;
child: PPCSentinelNode new;
@@ -971,7 +974,8 @@
self assert: parser parse: '123a' to: #() end: 0.
self assert: context invocationCount = 1.
-
+
+ "Modified: / 04-09-2015 / 14:48:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
testStarNode
@@ -1035,8 +1039,8 @@
message: #isLetter;
child: PPCSentinelNode new;
yourself.
- options cacheFirstFollow: false.
- options guards: false.
+ configuration removePass: PPCCacheFirstFollowPass.
+ options guards: false.
self compileTree: node.
self assert: parser class methodDictionary size = 1.
@@ -1048,6 +1052,8 @@
self assert: context rememberCount = 0.
self assert: parser parse: 'foo123' to: parser end: 3.
+
+ "Modified: / 04-09-2015 / 14:48:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
testTokenStarSeparatorNode
@@ -1060,14 +1066,15 @@
node := PPCForwardNode new
child: starNode;
yourself.
- options cacheFirstFollow: false.
+ configuration removePass: PPCCacheFirstFollowPass.
self compileTree: node.
self assert: parser class methodDictionary size = 2.
self assert: parser parse: ' a' to: parser end: 3.
self assert: context invocationCount = 2.
-
+
+ "Modified: / 04-09-2015 / 14:48:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
testTokenStarSeparatorNode2
@@ -1080,15 +1087,16 @@
yourself.
node := PPCForwardNode new
child: starNode;
- yourself.
- options cacheFirstFollow: false.
+ yourself.
+ configuration removePass: PPCCacheFirstFollowPass.
self compileTree: node.
self assert: parser class methodDictionary size = 1.
self assert: parser parse: ' a' to: context end: 3.
self assert: context invocationCount = 1.
-
+
+ "Modified: / 04-09-2015 / 14:48:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
testTrimNode
--- a/compiler/tests/PPCLTokenizingOptimizationTest.st Sat Aug 29 07:56:14 2015 +0100
+++ b/compiler/tests/PPCLTokenizingOptimizationTest.st Fri Sep 04 14:06:56 2015 +0100
@@ -17,11 +17,13 @@
!
configuration
- configuration := PPCTokenizingConfiguration new.
- configuration context options generate: false.
+ configuration := PPCConfiguration new.
+ configuration context options
+ generate: false;
+ tokenize: true.
^ configuration
- "Modified: / 28-08-2015 / 14:17:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 04-09-2015 / 16:21:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
optimize: aPPParser
--- a/compiler/tests/PPCNodeFirstFollowNextTests.st Sat Aug 29 07:56:14 2015 +0100
+++ b/compiler/tests/PPCNodeFirstFollowNextTests.st Fri Sep 04 14:06:56 2015 +0100
@@ -164,7 +164,7 @@
!
testFirstNegate1
- configuration context options specialize: true.
+ configuration removePass: PPCSpecializingVisitor.
tree := self treeFrom: ('a' asParser negate, 'b' asParser).
first := self first: tree.
@@ -173,7 +173,7 @@
self assert: first anyMatchesType: PPCNotNode.
self assert: first anyOne child literal = 'a'.
- "Modified: / 28-08-2015 / 14:18:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 04-09-2015 / 14:55:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
testFirstNot
@@ -187,7 +187,7 @@
!
testFirstNot2
- configuration context options specialize: true.
+ configuration removePass: PPCSpecializingVisitor.
tree := self treeFrom: (#letter asParser not star, #letter asParser).
first := self first: tree.
@@ -196,7 +196,7 @@
self assert: first anyMatchesType: PPCNotNode.
self assert: first anyMatchesType: PPCPredicateNode.
- "Modified: / 28-08-2015 / 14:18:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 04-09-2015 / 14:55:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
testFirstNot4
@@ -329,13 +329,13 @@
!
testFirstSequence6
- configuration context options specialize: true.
+ configuration removePass: PPCSpecializingVisitor.
tree := self treeFrom: #space asParser star, 'a' asParser.
tree firstFollowCache: nil.
self should: [ self first: tree. ] raise: Exception.
- "Modified: / 28-08-2015 / 14:18:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 04-09-2015 / 14:55:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
testFirstSequence7
@@ -359,7 +359,6 @@
!
testFirstStarMessagePredicate2
- configuration context options specialize: true.
tree := self treeFrom: #space asParser star.
first := self first: tree.
@@ -368,11 +367,10 @@
self assert: first anyMatchesType: PPCMessagePredicateNode.
self assert: first anyMatchesType: PPCSentinelNode.
- "Modified: / 28-08-2015 / 14:18:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 04-09-2015 / 15:00:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
testFirstTerminal
- configuration context options specialize: true.
tree := self treeFrom: 'a' asParser not.
first := self first: tree.
@@ -380,7 +378,7 @@
self assert: first size: 1.
self assert: (self first: tree) anyMatchesType: PPCNotLiteralNode.
- "Modified: / 28-08-2015 / 14:18:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 04-09-2015 / 15:00:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
testFirstTerminal2
@@ -669,7 +667,7 @@
testFollowTrimmingToken
| token1 token2 |
- configuration context options specialize: false.
+ configuration removePass: PPCSpecializingVisitor.
token1 := #letter asParser plus trimmingToken name: 'token1'; yourself.
token2 := #letter asParser plus trimmingToken name: 'token2'; yourself.
@@ -682,7 +680,7 @@
self assert: followSet size: 1.
self assert: followSet anyMatchesType: PPCTrimmingTokenNode.
- "Modified: / 28-08-2015 / 14:18:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 04-09-2015 / 14:55:40 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
!PPCNodeFirstFollowNextTests class methodsFor:'documentation'!
--- a/compiler/tests/PPCOptimizeChoicesTest.st Sat Aug 29 07:56:14 2015 +0100
+++ b/compiler/tests/PPCOptimizeChoicesTest.st Fri Sep 04 14:06:56 2015 +0100
@@ -22,14 +22,19 @@
visitor := PPCOptimizeChoices new.
options := PPCCompilationOptions default
- profile: true.
+ profile: true;
+ generate: false;
+ tokenize: false;
+ yourself.
- configuration := PPCPluggableConfiguration on: [ :_self |
- _self runPass: PPCCacheFirstFollowPass.
- ].
+ configuration := PPCConfiguration new.
+ configuration passes:
+ {
+ PPCCacheFirstFollowPass.
+ }.
configuration options: options.
- "Modified: / 29-08-2015 / 07:30:28 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 04-09-2015 / 16:21:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
testHasCommonPrefix
--- a/compiler/tests/PPCOverlappingTokensTest.st Sat Aug 29 07:56:14 2015 +0100
+++ b/compiler/tests/PPCOverlappingTokensTest.st Fri Sep 04 14:06:56 2015 +0100
@@ -44,9 +44,10 @@
setUp
options := PPCCompilationOptions default
profile: true;
+ tokenize: true;
yourself.
- configuration := PPCTokenizingConfiguration new.
+ configuration := PPCConfiguration new.
configuration context options: options.
self cleanClass.
@@ -57,7 +58,7 @@
keywordToken := (#word asParser plus, $: asParser) token trim name: 'kw'; yourself.
assignmentToken := (':=' asParser) token trim name: 'assignment'; yourself.
- "Modified: / 28-08-2015 / 14:19:50 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 04-09-2015 / 16:21:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
tearDown
--- a/compiler/tests/PPCTokenizingCodeGeneratorTest.st Sat Aug 29 07:56:14 2015 +0100
+++ b/compiler/tests/PPCTokenizingCodeGeneratorTest.st Fri Sep 04 14:06:56 2015 +0100
@@ -37,23 +37,23 @@
setUp
options := PPCCompilationOptions default
profile: true;
+ tokenize: true;
yourself.
self cleanClass.
- configuration := PPCPluggableConfiguration on: [ :_self |
- _self runPass: PPCCacheFirstFollowPass.
- _self runPass: PPCTokenizingCodeGenerator.
- _self runPass: PPCFSAVisitor.
- _self runPass: PPCTokenCodeGenerator.
- _self runPass: PPCScannerCodeGenerator.
- _self generateScanner.
- _self generateParser.
- ] base: PPCConfiguration tokenizing.
+ configuration := PPCConfiguration new.
+ configuration passes: {
+ PPCCacheFirstFollowPass.
+ PPCTokenizingCodeGenerator.
+ PPCFSAVisitor.
+ PPCTokenCodeGenerator.
+ PPCScannerCodeGenerator.
+ }.
configuration options: options.
- "Modified: / 03-09-2015 / 22:34:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 04-09-2015 / 16:21:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
tearDown
--- a/compiler/tests/PPCTokenizingTest.st Sat Aug 29 07:56:14 2015 +0100
+++ b/compiler/tests/PPCTokenizingTest.st Fri Sep 04 14:06:56 2015 +0100
@@ -46,14 +46,15 @@
setUp
options := PPCCompilationOptions default
profile: true;
+ tokenize: true;
yourself.
- configuration := PPCTokenizingConfiguration new.
+ configuration := PPCConfiguration new.
configuration context options: options.
self cleanClass.
- "Modified: / 28-08-2015 / 14:20:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 04-09-2015 / 16:21:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
tearDown
@@ -482,8 +483,8 @@
testWhitespace
| token ws trimmingToken |
- options inline: false.
-
+
+ configuration removePass: PPCInliningVisitor.
token := 'foo' asParser token.
ws := #blank asParser star name: 'consumeWhitespace'; yourself.
trimmingToken := ((ws, token, ws) ==> #second)
@@ -498,13 +499,13 @@
self assert: (context invocations select: [:e | e = #scan_consumeWhitespace ]) size = 3.
- "Modified: / 04-09-2015 / 06:13:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 04-09-2015 / 15:02:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
testWhitespace2
| token ws trimmingToken |
- options inline: false.
-
+
+ configuration removePass: PPCInliningVisitor.
token := 'foo' asParser token.
ws := #blank asParser star name: 'consumeWhitespace'; yourself.
trimmingToken := ((ws, token, ws) ==> #second)
@@ -520,13 +521,13 @@
self assert: (context invocations select: [:e | e = #scan_consumeWhitespace ]) size = 4.
- "Modified: / 04-09-2015 / 06:13:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 04-09-2015 / 15:02:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
testWhitespace3
| token ws trimmingToken |
- options inline: false.
-
+
+ configuration removePass: PPCInliningVisitor.
token := 'foo' asParser token.
ws := #blank asParser star name: 'consumeWhitespace'; yourself.
trimmingToken := ((ws, token, ws) ==> #second)
@@ -543,6 +544,6 @@
self assert: (context invocations select: [:e | e = #scan_consumeWhitespace ]) size = 5.
- "Modified: / 04-09-2015 / 06:13:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 04-09-2015 / 15:02:19 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
--- a/compiler/tests/PPCUnivarsalGuardTest.st Sat Aug 29 07:56:14 2015 +0100
+++ b/compiler/tests/PPCUnivarsalGuardTest.st Fri Sep 04 14:06:56 2015 +0100
@@ -24,12 +24,13 @@
setUp
options := PPCCompilationOptions default
profile: true;
+ tokenize: false;
yourself.
- configuration := PPCUniversalConfiguration new.
+ configuration := PPCConfiguration new.
configuration context options: options
- "Modified: / 28-08-2015 / 14:22:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 04-09-2015 / 16:21:32 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
tearDown
--- a/compiler/tests/PPCUniversalOptimizationTest.st Sat Aug 29 07:56:14 2015 +0100
+++ b/compiler/tests/PPCUniversalOptimizationTest.st Fri Sep 04 14:06:56 2015 +0100
@@ -22,20 +22,12 @@
setUp
super setUp.
- configuration := PPCUniversalConfiguration new.
- configuration context options generate: false.
-
-" ^ configuration := PPCPluggableConfiguration on:
- [ :_self |
- _self toPPCIr.
- _self createTokens.
- _self specialize.
- _self createRecognizingComponents.
- _self inline.
- _self merge.
- ]"
+ configuration := PPCConfiguration new.
+ configuration context options
+ generate: false;
+ tokenize: false.
- "Modified: / 28-08-2015 / 14:22:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 04-09-2015 / 16:21:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
!PPCUniversalOptimizationTest methodsFor:'tests'!
--- a/compiler/tests/PPCUniversalTest.st Sat Aug 29 07:56:14 2015 +0100
+++ b/compiler/tests/PPCUniversalTest.st Fri Sep 04 14:06:56 2015 +0100
@@ -572,12 +572,13 @@
options := PPCCompilationOptions default
profile: true;
debug: true;
+ tokenize: false;
yourself.
- configuration := PPCUniversalConfiguration new.
+ configuration := PPCConfiguration new.
configuration context options: options
- "Modified: / 28-08-2015 / 14:22:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 04-09-2015 / 16:21:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
!PPCUniversalTest class methodsFor:'documentation'!
--- a/compiler/tests/extras/PPCLRPCompiledParserSmokeTest.st Sat Aug 29 07:56:14 2015 +0100
+++ b/compiler/tests/extras/PPCLRPCompiledParserSmokeTest.st Fri Sep 04 14:06:56 2015 +0100
@@ -42,9 +42,10 @@
^ (self petitParserClass name , 'C_' ,
"This is bit hacky!!"
- ((self compilerConfiguration isKindOf: PPCTokenizingConfiguration) ifTrue:[ 'Tokenizing' ] ifFalse:[ 'Universal' ])) asSymbol
+ ((self compilerConfiguration options tokenize) ifTrue:[ 'Tokenizing' ] ifFalse:[ 'Universal' ])) asSymbol
"Created: / 29-07-2015 / 16:54:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 04-09-2015 / 15:44:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
compilerConfiguration