PPCConfiguration refactoring: [2/10]: introduced PPCCompilationContext
authorJan Vrany <jan.vrany@fit.cvut.cz>
Tue, 25 Aug 2015 01:30:32 +0100
changeset 530 e36906742693
parent 529 439c4057517f
child 531 dc3d13c2837d
PPCConfiguration refactoring: [2/10]: introduced PPCCompilationContext Moved parser class/scanner class instvars from PPCConfiguration subclasses to the context. Made PPCConfiguration to keep an instance of context. This is a preparation for having only one PPCConfiguration-like class.
compiler/Make.proto
compiler/Make.spec
compiler/PPCCompilationContext.st
compiler/PPCConfiguration.st
compiler/PPCTokenizingConfiguration.st
compiler/PPCUniversalConfiguration.st
compiler/abbrev.stc
compiler/bc.mak
compiler/benchmarks/Make.proto
compiler/benchmarks/abbrev.stc
compiler/benchmarks/bc.mak
compiler/benchmarks/stx_goodies_petitparser_compiler_benchmarks.st
compiler/libInit.cc
compiler/stx_goodies_petitparser_compiler.st
compiler/tests/extras/Make.proto
compiler/tests/extras/PPCLL1ExpressionGrammarTest_Universal.st
compiler/tests/extras/abbrev.stc
compiler/tests/extras/bc.mak
compiler/tests/extras/stx_goodies_petitparser_compiler_tests_extras.st
--- a/compiler/Make.proto	Mon Aug 24 23:42:53 2015 +0100
+++ b/compiler/Make.proto	Tue Aug 25 01:30:32 2015 +0100
@@ -141,6 +141,7 @@
 $(OUTDIR)PPCClassBuilder.$(O) PPCClassBuilder.$(H): PPCClassBuilder.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)PPCCodeBlock.$(O) PPCCodeBlock.$(H): PPCCodeBlock.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)PPCCodeGen.$(O) PPCCodeGen.$(H): PPCCodeGen.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)PPCCompilationContext.$(O) PPCCompilationContext.$(H): PPCCompilationContext.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)PPCCompilationError.$(O) PPCCompilationError.$(H): PPCCompilationError.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)PPCCompilationOptions.$(O) PPCCompilationOptions.$(H): PPCCompilationOptions.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)PPCCompilationWarning.$(O) PPCCompilationWarning.$(H): PPCCompilationWarning.st $(INCLUDE_TOP)/stx/libbasic/GenericException.$(H) $(INCLUDE_TOP)/stx/libbasic/Notification.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/UserNotification.$(H) $(INCLUDE_TOP)/stx/libbasic/Warning.$(H) $(STCHDR)
--- a/compiler/Make.spec	Mon Aug 24 23:42:53 2015 +0100
+++ b/compiler/Make.spec	Tue Aug 25 01:30:32 2015 +0100
@@ -67,6 +67,7 @@
 	PPCClassBuilder \
 	PPCCodeBlock \
 	PPCCodeGen \
+	PPCCompilationContext \
 	PPCCompilationError \
 	PPCCompilationOptions \
 	PPCCompilationWarning \
@@ -197,6 +198,7 @@
     $(OUTDIR_SLASH)PPCClassBuilder.$(O) \
     $(OUTDIR_SLASH)PPCCodeBlock.$(O) \
     $(OUTDIR_SLASH)PPCCodeGen.$(O) \
+    $(OUTDIR_SLASH)PPCCompilationContext.$(O) \
     $(OUTDIR_SLASH)PPCCompilationError.$(O) \
     $(OUTDIR_SLASH)PPCCompilationOptions.$(O) \
     $(OUTDIR_SLASH)PPCCompilationWarning.$(O) \
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/compiler/PPCCompilationContext.st	Tue Aug 25 01:30:32 2015 +0100
@@ -0,0 +1,47 @@
+"{ Package: 'stx:goodies/petitparser/compiler' }"
+
+"{ NameSpace: Smalltalk }"
+
+Object subclass:#PPCCompilationContext
+	instanceVariableNames:'parserClass scannerClass'
+	classVariableNames:''
+	poolDictionaries:''
+	category:'PetitCompiler-Core'
+!
+
+!PPCCompilationContext class methodsFor:'instance creation'!
+
+new
+    "return an initialized instance"
+
+    ^ self basicNew initialize.
+! !
+
+!PPCCompilationContext methodsFor:'accessing'!
+
+parserClass
+    "Return parser class as PPCClass"
+
+    parserClass isNil ifTrue:[
+        parserClass := PPCClass new.
+    ].
+    ^ parserClass
+
+    "Created: / 24-08-2015 / 23:58:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+scannerClass
+    "Return scanner class as PPCClass"
+
+    scannerClass isNil ifTrue:[
+        scannerClass := PPCClass new.
+        "Both parser class and scanner class must share the
+         same ID generator in order to to use same names 
+         for tokens."
+        scannerClass idGen: self parserClass idGen
+    ].
+    ^ scannerClass
+
+    "Created: / 24-08-2015 / 23:59:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
--- a/compiler/PPCConfiguration.st	Mon Aug 24 23:42:53 2015 +0100
+++ b/compiler/PPCConfiguration.st	Tue Aug 25 01:30:32 2015 +0100
@@ -3,7 +3,7 @@
 "{ NameSpace: Smalltalk }"
 
 Object subclass:#PPCConfiguration
-	instanceVariableNames:'options ir history'
+	instanceVariableNames:'context options ir history'
 	classVariableNames:''
 	poolDictionaries:''
 	category:'PetitCompiler-Core'
@@ -158,9 +158,10 @@
 
 initialize
     history := OrderedCollection new.
+    context := PPCCompilationContext new.
     options := PPCCompilationOptions default.
 
-    "Modified: / 24-08-2015 / 23:39:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 25-08-2015 / 00:02:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
 !PPCConfiguration methodsFor:'phases'!
--- a/compiler/PPCTokenizingConfiguration.st	Mon Aug 24 23:42:53 2015 +0100
+++ b/compiler/PPCTokenizingConfiguration.st	Tue Aug 25 01:30:32 2015 +0100
@@ -3,18 +3,15 @@
 "{ NameSpace: Smalltalk }"
 
 PPCConfiguration subclass:#PPCTokenizingConfiguration
-	instanceVariableNames:'scannerClazz parserClazz idGen'
+	instanceVariableNames:''
 	classVariableNames:''
 	poolDictionaries:''
 	category:'PetitCompiler-Core'
 !
 
+
 !PPCTokenizingConfiguration methodsFor:'compiling'!
 
-options: args
-    super options: args.
-!
-
 buildClass: clazz
     |  builder |
     builder := PPCClassBuilder new.
@@ -48,32 +45,10 @@
     self buildScannerScans.	
     self generateScanner.
     self generateParser.
-! !
-
-!PPCTokenizingConfiguration methodsFor:'initialization'!
-
-fillInClazzes
-    parserClazz name: options parserName.
-    parserClazz superclass: PPTokenizingCompiledParser.
-    
-    scannerClazz name: options scannerName.
-    scannerClazz superclass: options scannerSuperclass.
-    
 !
 
-initialize
-    super initialize.
-    
-    parserClazz := PPCClass new.
-    scannerClazz := PPCClass new.
-    
-    idGen := PPCIdGenerator new.
-    
-    "The parser and scanner share the same id generator in order
-     to use same names for tokens.
-    "
-    parserClazz idGen: idGen.
-    scannerClazz idGen: idGen.
+options: args
+    super options: args.
 ! !
 
 !PPCTokenizingConfiguration methodsFor:'phases'!
@@ -81,11 +56,13 @@
 buildParserClazz
     | rootMethod |
     rootMethod := PPCTokenizingCodeGenerator new
-        clazz: parserClazz;
+        clazz: context parserClass;
         options: options;
         visit: ir.
         
-    parserClazz propertyAt: #rootMethod put: rootMethod
+    context parserClass propertyAt: #rootMethod put: rootMethod
+
+    "Modified: / 25-08-2015 / 00:07:38 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 buildScannerScans
@@ -98,29 +75,35 @@
     fsas := fsas reject: [ :fsa | fsa hasDistinctRetvals not ].
     
     generator := PPCScannerCodeGenerator new
-        clazz: scannerClazz;
+        clazz: context scannerClass;
         options: options;
         yourself.
         
     fsas do: [ :fsa | generator generate: fsa ].
+
+    "Modified: / 25-08-2015 / 00:04:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 buildScannerTokens
     | generator  |
     generator :=  PPCTokenCodeGenerator new
-        clazz: scannerClazz;
+        clazz: context scannerClass;
         options: options;
         yourself.
 
     generator visit: ir.
+
+    "Modified: / 25-08-2015 / 00:04:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 createFSAs
     ir := PPCFSAVisitor new
-        idGen: idGen;
+        idGen: context scannerClass idGen;
         visit: ir.
 
     self remember: (self copyTree: ir) as: #withFSAs
+
+    "Modified: / 25-08-2015 / 00:07:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 createLL1Choices
@@ -136,33 +119,35 @@
 generateParser
     | parserClass rootMethod |
     options generate ifFalse: [ ^ self ].
-    rootMethod := parserClazz propertyAt: #rootMethod.
+    rootMethod := context parserClass propertyAt: #rootMethod.
     
-    parserClazz name: options parserName.
-    parserClazz superclass: options parserSuperclass.
+    context parserClass name: options parserName.
+    context parserClass superclass: options parserSuperclass.
     
-    parserClass := self buildClass: parserClazz.
+    parserClass := self buildClass: context parserClass.
     parserClass startSymbol: rootMethod methodName.
 
     self remember: parserClass as: #parser.
     ir := parserClass new
 
-    
+    "Modified: / 25-08-2015 / 00:05:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 generateScanner
     | scanner |
     options generate ifFalse: [ ^ self ].
     
-    scannerClazz name: options scannerName.
-    scannerClazz superclass: options scannerSuperclass.
+    context scannerClass name: options scannerName.
+    context scannerClass superclass: options scannerSuperclass.
     
-    scanner := (self buildClass: scannerClazz).
-    parserClazz addConstant: scanner as: #scannerClass.
+    scanner := (self buildClass: context scannerClass).
+    context parserClass addConstant: scanner as: #scannerClass.
     
     ir := scanner.
     
     self remember: scanner as: #scanner
+
+    "Modified: / 25-08-2015 / 00:06:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 tokenize
@@ -188,3 +173,10 @@
     ]
 ! !
 
+!PPCTokenizingConfiguration class methodsFor:'documentation'!
+
+version_HG
+
+    ^ '$Changeset: <not expanded> $'
+! !
+
--- a/compiler/PPCUniversalConfiguration.st	Mon Aug 24 23:42:53 2015 +0100
+++ b/compiler/PPCUniversalConfiguration.st	Tue Aug 25 01:30:32 2015 +0100
@@ -3,7 +3,7 @@
 "{ NameSpace: Smalltalk }"
 
 PPCConfiguration subclass:#PPCUniversalConfiguration
-	instanceVariableNames:'clazz'
+	instanceVariableNames:''
 	classVariableNames:''
 	poolDictionaries:''
 	category:'PetitCompiler-Core'
@@ -13,22 +13,24 @@
 
 buildClass
     |  builder |
-    self assert: (clazz isKindOf: PPCClass).
+    self assert: (context parserClass isKindOf: PPCClass).
     
     builder := PPCClassBuilder new.
     
     builder compiledClassName: options parserName.
     builder compiledSuperclass: PPCompiledParser.
-    builder methodDictionary: clazz methodDictionary.
-    builder constants: clazz constants.
+    builder methodDictionary: context parserClass methodDictionary.
+    builder constants: context parserClass constants.
 
-    ^ builder compileClass.	
+    ^ builder compileClass.
+
+    "Modified: / 25-08-2015 / 00:04:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 initialize
     super initialize.
 
-    clazz := PPCClass new.
+    "Modified: / 25-08-2015 / 00:03:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 invokePhases
@@ -59,7 +61,7 @@
     
     rootMethod := self codeGenerator
         options: options;
-        clazz: clazz;
+        clazz: context parserClass;
         visit: ir.
     
     compiledParser := self buildClass.
@@ -67,5 +69,7 @@
     compiledParser := compiledParser new.
     
     ir := compiledParser.
+
+    "Modified: / 25-08-2015 / 00:03:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
--- a/compiler/abbrev.stc	Mon Aug 24 23:42:53 2015 +0100
+++ b/compiler/abbrev.stc	Tue Aug 25 01:30:32 2015 +0100
@@ -17,6 +17,7 @@
 PPCClassBuilder PPCClassBuilder stx:goodies/petitparser/compiler 'PetitCompiler-Core' 0
 PPCCodeBlock PPCCodeBlock stx:goodies/petitparser/compiler 'PetitCompiler-Compiler-Codegen' 0
 PPCCodeGen PPCCodeGen stx:goodies/petitparser/compiler 'PetitCompiler-Compiler-Codegen' 0
+PPCCompilationContext PPCCompilationContext stx:goodies/petitparser/compiler 'PetitCompiler-Core' 0
 PPCCompilationError PPCCompilationError stx:goodies/petitparser/compiler 'PetitCompiler-Exceptions' 1
 PPCCompilationOptions PPCCompilationOptions stx:goodies/petitparser/compiler 'PetitCompiler-Core' 0
 PPCCompilationWarning PPCCompilationWarning stx:goodies/petitparser/compiler 'PetitCompiler-Exceptions' 1
--- a/compiler/bc.mak	Mon Aug 24 23:42:53 2015 +0100
+++ b/compiler/bc.mak	Tue Aug 25 01:30:32 2015 +0100
@@ -88,6 +88,7 @@
 $(OUTDIR)PPCClassBuilder.$(O) PPCClassBuilder.$(H): PPCClassBuilder.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)PPCCodeBlock.$(O) PPCCodeBlock.$(H): PPCCodeBlock.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)PPCCodeGen.$(O) PPCCodeGen.$(H): PPCCodeGen.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)PPCCompilationContext.$(O) PPCCompilationContext.$(H): PPCCompilationContext.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)PPCCompilationError.$(O) PPCCompilationError.$(H): PPCCompilationError.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)PPCCompilationOptions.$(O) PPCCompilationOptions.$(H): PPCCompilationOptions.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)PPCCompilationWarning.$(O) PPCCompilationWarning.$(H): PPCCompilationWarning.st $(INCLUDE_TOP)\stx\libbasic\GenericException.$(H) $(INCLUDE_TOP)\stx\libbasic\Notification.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\UserNotification.$(H) $(INCLUDE_TOP)\stx\libbasic\Warning.$(H) $(STCHDR)
--- a/compiler/benchmarks/Make.proto	Mon Aug 24 23:42:53 2015 +0100
+++ b/compiler/benchmarks/Make.proto	Tue Aug 25 01:30:32 2015 +0100
@@ -34,7 +34,7 @@
 # add the path(es) here:,
 # ********** OPTIONAL: MODIFY the next lines ***
 # LOCALINCLUDES=-Ifoo -Ibar
-LOCALINCLUDES= -I$(INCLUDE_TOP)/jv/calipel/s -I$(INCLUDE_TOP)/stx/goodies/petitparser -I$(INCLUDE_TOP)/stx/goodies/petitparser/compiler -I$(INCLUDE_TOP)/stx/goodies/petitparser/compiler/tests/extras -I$(INCLUDE_TOP)/stx/goodies/petitparser/parsers/java -I$(INCLUDE_TOP)/stx/goodies/petitparser/parsers/smalltalk -I$(INCLUDE_TOP)/stx/goodies/refactoryBrowser/parser -I$(INCLUDE_TOP)/stx/libbasic
+LOCALINCLUDES= -I$(INCLUDE_TOP)/jv/calipel/s -I$(INCLUDE_TOP)/stx/goodies/petitparser -I$(INCLUDE_TOP)/stx/goodies/petitparser/compiler -I$(INCLUDE_TOP)/stx/goodies/petitparser/compiler/tests/extras -I$(INCLUDE_TOP)/stx/goodies/petitparser/parsers/java -I$(INCLUDE_TOP)/stx/goodies/petitparser/parsers/smalltalk -I$(INCLUDE_TOP)/stx/goodies/petitparser/parsers/smalltalk/tests -I$(INCLUDE_TOP)/stx/goodies/petitparser/tests -I$(INCLUDE_TOP)/stx/goodies/refactoryBrowser/parser -I$(INCLUDE_TOP)/stx/goodies/sunit -I$(INCLUDE_TOP)/stx/libbasic
 
 
 # if you need any additional defines for embedded C code,
@@ -104,8 +104,13 @@
 	cd ../../../../libbasic && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
 	cd ../../../refactoryBrowser/parser && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
 	cd ../../../../libbasic2 && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
+	cd ../../../../libview && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
 	cd ../../ && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
+	cd ../../../../libview2 && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
 	cd ../../parsers/smalltalk && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
+	cd ../../../sunit && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
+	cd ../../tests && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
+	cd ../../parsers/smalltalk/tests && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
 
 
 
--- a/compiler/benchmarks/abbrev.stc	Mon Aug 24 23:42:53 2015 +0100
+++ b/compiler/benchmarks/abbrev.stc	Tue Aug 25 01:30:32 2015 +0100
@@ -4,5 +4,5 @@
 PPCBenchmark PPCBenchmark stx:goodies/petitparser/compiler/benchmarks 'PetitCompiler-Benchmarks-Core' 0
 PPCLRPParser_johanfabry_39 PPCLRPParser_johanfabry_39 stx:goodies/petitparser/compiler/benchmarks 'PetitCompiler-Benchmarks-Core' 0
 PPCSmalltalkNoopParser PPCSmalltalkNoopParser stx:goodies/petitparser/compiler/benchmarks 'PetitCompiler-Benchmarks-Parsers' 0
+PPCSmalltalkNoopParserTests PPCSmalltalkNoopParserTests stx:goodies/petitparser/compiler/benchmarks 'PetitCompiler-Benchmarks-Parsers-Tests' 1
 stx_goodies_petitparser_compiler_benchmarks stx_goodies_petitparser_compiler_benchmarks stx:goodies/petitparser/compiler/benchmarks '* Projects & Packages *' 3
-PPCSmalltalkNoopParserTests PPCSmalltalkNoopParserTests stx:goodies/petitparser/compiler/benchmarks 'PetitCompiler-Benchmarks-Parsers-Tests' 1
--- a/compiler/benchmarks/bc.mak	Mon Aug 24 23:42:53 2015 +0100
+++ b/compiler/benchmarks/bc.mak	Tue Aug 25 01:30:32 2015 +0100
@@ -35,7 +35,7 @@
 
 
 
-LOCALINCLUDES= -I$(INCLUDE_TOP)\jv\calipel\s -I$(INCLUDE_TOP)\stx\goodies\petitparser -I$(INCLUDE_TOP)\stx\goodies\petitparser\compiler -I$(INCLUDE_TOP)\stx\goodies\petitparser\compiler\tests\extras -I$(INCLUDE_TOP)\stx\goodies\petitparser\parsers\java -I$(INCLUDE_TOP)\stx\goodies\petitparser\parsers\smalltalk -I$(INCLUDE_TOP)\stx\goodies\refactoryBrowser\parser -I$(INCLUDE_TOP)\stx\libbasic
+LOCALINCLUDES= -I$(INCLUDE_TOP)\jv\calipel\s -I$(INCLUDE_TOP)\stx\goodies\petitparser -I$(INCLUDE_TOP)\stx\goodies\petitparser\compiler -I$(INCLUDE_TOP)\stx\goodies\petitparser\compiler\tests\extras -I$(INCLUDE_TOP)\stx\goodies\petitparser\parsers\java -I$(INCLUDE_TOP)\stx\goodies\petitparser\parsers\smalltalk -I$(INCLUDE_TOP)\stx\goodies\petitparser\parsers\smalltalk\tests -I$(INCLUDE_TOP)\stx\goodies\petitparser\tests -I$(INCLUDE_TOP)\stx\goodies\refactoryBrowser\parser -I$(INCLUDE_TOP)\stx\goodies\sunit -I$(INCLUDE_TOP)\stx\libbasic
 LOCALDEFINES=
 
 STCLOCALOPT=-package=$(PACKAGE) -I. $(LOCALINCLUDES) -headerDir=. $(STCLOCALOPTIMIZATIONS) $(STCWARNINGS) $(LOCALDEFINES)  -varPrefix=$(LIBNAME)
@@ -54,8 +54,13 @@
 	pushd ..\..\..\..\libbasic & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
 	pushd ..\..\..\refactoryBrowser\parser & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
 	pushd ..\..\..\..\libbasic2 & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
+	pushd ..\..\..\..\libview & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
 	pushd ..\.. & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
+	pushd ..\..\..\..\libview2 & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
 	pushd ..\..\parsers\smalltalk & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
+	pushd ..\..\..\sunit & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
+	pushd ..\..\tests & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
+	pushd ..\..\parsers\smalltalk\tests & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
 
 
 
--- a/compiler/benchmarks/stx_goodies_petitparser_compiler_benchmarks.st	Mon Aug 24 23:42:53 2015 +0100
+++ b/compiler/benchmarks/stx_goodies_petitparser_compiler_benchmarks.st	Tue Aug 25 01:30:32 2015 +0100
@@ -61,7 +61,10 @@
     ^ #(
         #'stx:goodies/petitparser'    "PPCompositeParser - superclass of PPCLRPParser_johanfabry_39"
         #'stx:goodies/petitparser/parsers/smalltalk'    "PPSmalltalkGrammar - superclass of PPCSmalltalkNoopParser"
-        #'stx:libbasic'    "Autoload - superclass of PPCSmalltalkNoopParserTests"
+        #'stx:goodies/petitparser/parsers/smalltalk/tests'    "PPSmalltalkGrammarTests - superclass of PPCSmalltalkNoopParserTests"
+        #'stx:goodies/petitparser/tests'    "PPAbstractParserTest - superclass of PPCSmalltalkNoopParserTests"
+        #'stx:goodies/sunit'    "TestAsserter - superclass of PPCSmalltalkNoopParserTests"
+        #'stx:libbasic'    "LibraryDefinition - superclass of stx_goodies_petitparser_compiler_benchmarks"
     )
 !
 
@@ -107,8 +110,8 @@
         PPCBenchmark
         #'PPCLRPParser_johanfabry_39'
         PPCSmalltalkNoopParser
+        (PPCSmalltalkNoopParserTests autoload)
         #'stx_goodies_petitparser_compiler_benchmarks'
-        (PPCSmalltalkNoopParserTests autoload)
     )
 !
 
--- a/compiler/libInit.cc	Mon Aug 24 23:42:53 2015 +0100
+++ b/compiler/libInit.cc	Tue Aug 25 01:30:32 2015 +0100
@@ -43,6 +43,7 @@
 _PPCClassBuilder_Init(pass,__pRT__,snd);
 _PPCCodeBlock_Init(pass,__pRT__,snd);
 _PPCCodeGen_Init(pass,__pRT__,snd);
+_PPCCompilationContext_Init(pass,__pRT__,snd);
 _PPCCompilationError_Init(pass,__pRT__,snd);
 _PPCCompilationOptions_Init(pass,__pRT__,snd);
 _PPCCompilationWarning_Init(pass,__pRT__,snd);
--- a/compiler/stx_goodies_petitparser_compiler.st	Mon Aug 24 23:42:53 2015 +0100
+++ b/compiler/stx_goodies_petitparser_compiler.st	Tue Aug 25 01:30:32 2015 +0100
@@ -126,6 +126,7 @@
         PPCClassBuilder
         PPCCodeBlock
         PPCCodeGen
+        PPCCompilationContext
         PPCCompilationError
         PPCCompilationOptions
         PPCCompilationWarning
--- a/compiler/tests/extras/Make.proto	Mon Aug 24 23:42:53 2015 +0100
+++ b/compiler/tests/extras/Make.proto	Tue Aug 25 01:30:32 2015 +0100
@@ -34,7 +34,7 @@
 # add the path(es) here:,
 # ********** OPTIONAL: MODIFY the next lines ***
 # LOCALINCLUDES=-Ifoo -Ibar
-LOCALINCLUDES= -I$(INCLUDE_TOP)/stx/goodies/petitparser -I$(INCLUDE_TOP)/stx/goodies/petitparser/compiler -I$(INCLUDE_TOP)/stx/goodies/petitparser/parsers/java -I$(INCLUDE_TOP)/stx/goodies/petitparser/parsers/smalltalk -I$(INCLUDE_TOP)/stx/goodies/petitparser/tests -I$(INCLUDE_TOP)/stx/goodies/sunit -I$(INCLUDE_TOP)/stx/libbasic
+LOCALINCLUDES= -I$(INCLUDE_TOP)/stx/goodies/petitparser -I$(INCLUDE_TOP)/stx/goodies/petitparser/compiler -I$(INCLUDE_TOP)/stx/goodies/petitparser/parsers/java -I$(INCLUDE_TOP)/stx/goodies/petitparser/parsers/smalltalk -I$(INCLUDE_TOP)/stx/goodies/petitparser/parsers/smalltalk/tests -I$(INCLUDE_TOP)/stx/goodies/petitparser/tests -I$(INCLUDE_TOP)/stx/goodies/sunit -I$(INCLUDE_TOP)/stx/libbasic -I$(INCLUDE_TOP)/stx/libbasic2
 
 
 # if you need any additional defines for embedded C code,
@@ -109,6 +109,7 @@
 	cd ../../../../sunit && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
 	cd ../../../tests && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
 	cd ../../../parsers/java && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
+	cd ../../../parsers/smalltalk/tests && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
 
 
 
--- a/compiler/tests/extras/PPCLL1ExpressionGrammarTest_Universal.st	Mon Aug 24 23:42:53 2015 +0100
+++ b/compiler/tests/extras/PPCLL1ExpressionGrammarTest_Universal.st	Tue Aug 25 01:30:32 2015 +0100
@@ -9,9 +9,17 @@
 	category:'PetitCompiler-Extras-Tests-Expressions'
 !
 
+
 !PPCLL1ExpressionGrammarTest_Universal methodsFor:'accessing'!
 
 compilerConfiguration
     ^ PPCConfiguration universal
 ! !
 
+!PPCLL1ExpressionGrammarTest_Universal class methodsFor:'documentation'!
+
+version_HG
+
+    ^ '$Changeset: <not expanded> $'
+! !
+
--- a/compiler/tests/extras/abbrev.stc	Mon Aug 24 23:42:53 2015 +0100
+++ b/compiler/tests/extras/abbrev.stc	Tue Aug 25 01:30:32 2015 +0100
@@ -1,15 +1,43 @@
 # automagically generated by the project definition
 # this file is needed for stc to be able to compile modules independently.
 # it provides information about a classes filename, category and especially namespace.
+PPCAbstractParserTest PPCAbstractParserTest stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Support' 1
+PPCCompiledJavaVerificationTest PPCCompiledJavaVerificationTest stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Java' 1
+PPCCompositeParserTest PPCCompositeParserTest stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Support' 1
+PPCJavaTests PPCJavaTests stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Java' 1
 PPCLRPNode PPCLRPNode stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-LRP' 0
 PPCLRPParser PPCLRPParser stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-LRP' 0
 PPCLRPParserSmokeTest PPCLRPParserSmokeTest stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-LRP' 1
 PPCLRPSourcesResource PPCLRPSourcesResource stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-LRP' 1
+PPCResources PPCResources stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Support' 1
+PPCSetUpBeforeTearDownAfterResource PPCSetUpBeforeTearDownAfterResource stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Support' 2
+PPCSmalltalkGrammarTests PPCSmalltalkGrammarTests stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Smalltalk' 1
+PPCSmalltalkParserTests PPCSmalltalkParserTests stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Smalltalk' 1
+PPCSmalltalkTests PPCSmalltalkTests stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Smalltalk' 1
+PPCompiledJavaResource PPCompiledJavaResource stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Java' 1
+PPCompiledJavaSyntaxTest PPCompiledJavaSyntaxTest stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Java' 1
+PPExpressionGrammar PPExpressionGrammar stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Expressions' 0
+PPExpressionGrammarTest PPExpressionGrammarTest stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Expressions' 1
+PPLL1ExpressionGrammar PPLL1ExpressionGrammar stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Expressions' 0
+PPLL1ExpressionGrammarTest PPLL1ExpressionGrammarTest stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Expressions' 1
 stx_goodies_petitparser_compiler_tests_extras stx_goodies_petitparser_compiler_tests_extras stx:goodies/petitparser/compiler/tests/extras '* Projects & Packages *' 3
+PPCExpressionGrammarTest PPCExpressionGrammarTest stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Expressions' 1
+PPCExpressionGrammarVerificationTest PPCExpressionGrammarVerificationTest stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Expressions' 1
+PPCLL1ExpressionGrammarTest PPCLL1ExpressionGrammarTest stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Expressions' 1
 PPCLRPAction PPCLRPAction stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-LRP' 0
 PPCLRPCompiledParserSmokeTest PPCLRPCompiledParserSmokeTest stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-LRP' 1
 PPCLRPContainedElement PPCLRPContainedElement stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-LRP' 0
 PPCLRPSpawn PPCLRPSpawn stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-LRP' 0
+PPCSmalltalkGrammarTests_Tokenized PPCSmalltalkGrammarTests_Tokenized stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Smalltalk' 1
+PPCSmalltalkGrammarTests_Universal PPCSmalltalkGrammarTests_Universal stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Smalltalk' 1
+PPCSmalltalkGrammarVerificationTest PPCSmalltalkGrammarVerificationTest stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Smalltalk' 1
+PPCSmalltalkParserTests_Tokenized PPCSmalltalkParserTests_Tokenized stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Smalltalk' 1
+PPCSmalltalkParserTests_Universal PPCSmalltalkParserTests_Universal stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Smalltalk' 1
+PPCSmalltalkParserVerificationTest PPCSmalltalkParserVerificationTest stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Smalltalk' 1
+PPCExpressionGrammarTest_Tokenized PPCExpressionGrammarTest_Tokenized stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Expressions' 1
+PPCExpressionGrammarTest_Universal PPCExpressionGrammarTest_Universal stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Expressions' 1
+PPCLL1ExpressionGrammarTest_Tokenized PPCLL1ExpressionGrammarTest_Tokenized stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Expressions' 1
+PPCLL1ExpressionGrammarTest_Universal PPCLL1ExpressionGrammarTest_Universal stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Expressions' 1
 PPCLRPComment PPCLRPComment stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-LRP' 0
 PPCLRPCompiledParserSmokeTest_Universal PPCLRPCompiledParserSmokeTest_Universal stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-LRP' 1
 PPCLRPErrorNode PPCLRPErrorNode stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-LRP' 0
@@ -21,40 +49,12 @@
 PPCLRPState PPCLRPState stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-LRP' 0
 PPCLRPTransition PPCLRPTransition stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-LRP' 0
 PPCLRPVariable PPCLRPVariable stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-LRP' 0
+PPCSmalltalkGrammarVerificationTest_Tokenized PPCSmalltalkGrammarVerificationTest_Tokenized stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Smalltalk' 1
+PPCSmalltalkGrammarVerificationTest_Universal PPCSmalltalkGrammarVerificationTest_Universal stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Smalltalk' 1
+PPCSmalltalkParserVerificationTest_Tokenized PPCSmalltalkParserVerificationTest_Tokenized stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Smalltalk' 1
+PPCSmalltalkParserVerificationTest_Universal PPCSmalltalkParserVerificationTest_Universal stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Smalltalk' 1
+PPExpressionGrammarVerificationTest_Tokenized PPExpressionGrammarVerificationTest_Tokenized stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Expressions' 1
+PPExpressionGrammarVerificationTest_Universal PPExpressionGrammarVerificationTest_Universal stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Expressions' 1
 PPCLRPEpsilonTransition PPCLRPEpsilonTransition stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-LRP' 0
 PPCLRPTimeoutTransition PPCLRPTimeoutTransition stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-LRP' 0
 PPCLRPWildcardTransition PPCLRPWildcardTransition stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-LRP' 0
-PPCAbstractParserTest PPCAbstractParserTest stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Support' 1
-PPCCompiledJavaVerificationTest PPCCompiledJavaVerificationTest stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Java' 1
-PPCCompositeParserTest PPCCompositeParserTest stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Support' 1
-PPCExpressionGrammarTest PPCExpressionGrammarTest stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Expressions' 1
-PPCExpressionGrammarTest_Tokenized PPCExpressionGrammarTest_Tokenized stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Expressions' 1
-PPCExpressionGrammarTest_Universal PPCExpressionGrammarTest_Universal stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Expressions' 1
-PPCExpressionGrammarVerificationTest PPCExpressionGrammarVerificationTest stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Expressions' 1
-PPCJavaTests PPCJavaTests stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Java' 1
-PPCLL1ExpressionGrammarTest PPCLL1ExpressionGrammarTest stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Expressions' 1
-PPCLL1ExpressionGrammarTest_Tokenized PPCLL1ExpressionGrammarTest_Tokenized stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Expressions' 1
-PPCLL1ExpressionGrammarTest_Universal PPCLL1ExpressionGrammarTest_Universal stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Expressions' 1
-PPCResources PPCResources stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Support' 1
-PPCSetUpBeforeTearDownAfterResource PPCSetUpBeforeTearDownAfterResource stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Support' 2
-PPCSmalltalkGrammarTests PPCSmalltalkGrammarTests stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Smalltalk' 1
-PPCSmalltalkGrammarTests_Tokenized PPCSmalltalkGrammarTests_Tokenized stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Smalltalk' 1
-PPCSmalltalkGrammarTests_Universal PPCSmalltalkGrammarTests_Universal stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Smalltalk' 1
-PPCSmalltalkGrammarVerificationTest PPCSmalltalkGrammarVerificationTest stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Smalltalk' 1
-PPCSmalltalkGrammarVerificationTest_Tokenized PPCSmalltalkGrammarVerificationTest_Tokenized stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Smalltalk' 1
-PPCSmalltalkGrammarVerificationTest_Universal PPCSmalltalkGrammarVerificationTest_Universal stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Smalltalk' 1
-PPCSmalltalkParserTests PPCSmalltalkParserTests stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Smalltalk' 1
-PPCSmalltalkParserTests_Tokenized PPCSmalltalkParserTests_Tokenized stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Smalltalk' 1
-PPCSmalltalkParserTests_Universal PPCSmalltalkParserTests_Universal stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Smalltalk' 1
-PPCSmalltalkParserVerificationTest PPCSmalltalkParserVerificationTest stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Smalltalk' 1
-PPCSmalltalkParserVerificationTest_Tokenized PPCSmalltalkParserVerificationTest_Tokenized stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Smalltalk' 1
-PPCSmalltalkParserVerificationTest_Universal PPCSmalltalkParserVerificationTest_Universal stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Smalltalk' 1
-PPCSmalltalkTests PPCSmalltalkTests stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Smalltalk' 1
-PPCompiledJavaResource PPCompiledJavaResource stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Java' 1
-PPCompiledJavaSyntaxTest PPCompiledJavaSyntaxTest stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Java' 1
-PPExpressionGrammar PPExpressionGrammar stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Expressions' 0
-PPExpressionGrammarTest PPExpressionGrammarTest stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Expressions' 1
-PPExpressionGrammarVerificationTest_Tokenized PPExpressionGrammarVerificationTest_Tokenized stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Expressions' 1
-PPExpressionGrammarVerificationTest_Universal PPExpressionGrammarVerificationTest_Universal stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Expressions' 1
-PPLL1ExpressionGrammar PPLL1ExpressionGrammar stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Expressions' 0
-PPLL1ExpressionGrammarTest PPLL1ExpressionGrammarTest stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Expressions' 1
--- a/compiler/tests/extras/bc.mak	Mon Aug 24 23:42:53 2015 +0100
+++ b/compiler/tests/extras/bc.mak	Tue Aug 25 01:30:32 2015 +0100
@@ -35,7 +35,7 @@
 
 
 
-LOCALINCLUDES= -I$(INCLUDE_TOP)\stx\goodies\petitparser -I$(INCLUDE_TOP)\stx\goodies\petitparser\compiler -I$(INCLUDE_TOP)\stx\goodies\petitparser\parsers\java -I$(INCLUDE_TOP)\stx\goodies\petitparser\parsers\smalltalk -I$(INCLUDE_TOP)\stx\goodies\petitparser\tests -I$(INCLUDE_TOP)\stx\goodies\sunit -I$(INCLUDE_TOP)\stx\libbasic
+LOCALINCLUDES= -I$(INCLUDE_TOP)\stx\goodies\petitparser -I$(INCLUDE_TOP)\stx\goodies\petitparser\compiler -I$(INCLUDE_TOP)\stx\goodies\petitparser\parsers\java -I$(INCLUDE_TOP)\stx\goodies\petitparser\parsers\smalltalk -I$(INCLUDE_TOP)\stx\goodies\petitparser\parsers\smalltalk\tests -I$(INCLUDE_TOP)\stx\goodies\petitparser\tests -I$(INCLUDE_TOP)\stx\goodies\sunit -I$(INCLUDE_TOP)\stx\libbasic -I$(INCLUDE_TOP)\stx\libbasic2
 LOCALDEFINES=
 
 STCLOCALOPT=-package=$(PACKAGE) -I. $(LOCALINCLUDES) -headerDir=. $(STCLOCALOPTIMIZATIONS) $(STCWARNINGS) $(LOCALDEFINES)  -varPrefix=$(LIBNAME)
@@ -59,6 +59,7 @@
 	pushd ..\..\..\..\sunit & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
 	pushd ..\..\..\tests & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
 	pushd ..\..\..\parsers\java & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
+	pushd ..\..\..\parsers\smalltalk\tests & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
 
 
 
--- a/compiler/tests/extras/stx_goodies_petitparser_compiler_tests_extras.st	Mon Aug 24 23:42:53 2015 +0100
+++ b/compiler/tests/extras/stx_goodies_petitparser_compiler_tests_extras.st	Tue Aug 25 01:30:32 2015 +0100
@@ -84,10 +84,11 @@
 
     ^ #(
         #'stx:goodies/petitparser'    "PPCompositeParser - superclass of PPCLRPParser"
-        #'stx:goodies/petitparser/parsers/java'    "PPJavaWhitespaceParser - extended"
-        #'stx:goodies/petitparser/tests'    "PPAbstractParserTest - superclass of PPCLRPCompiledParserSmokeTest"
-        #'stx:goodies/sunit'    "TestAsserter - superclass of PPCLRPCompiledParserSmokeTest"
-        #'stx:libbasic'    "Autoload - superclass of PPCAbstractParserTest"
+        #'stx:goodies/petitparser/parsers/java'    "PPJavaLexiconTest - superclass of PPCompiledJavaSyntaxTest"
+        #'stx:goodies/petitparser/parsers/smalltalk/tests'    "PPSmalltalkGrammarTests - superclass of PPCSmalltalkGrammarTests"
+        #'stx:goodies/petitparser/tests'    "PPAbstractParserTest - superclass of PPCAbstractParserTest"
+        #'stx:goodies/sunit'    "TestAsserter - superclass of PPCAbstractParserTest"
+        #'stx:libbasic'    "LibraryDefinition - superclass of stx_goodies_petitparser_compiler_tests_extras"
     )
 !
 
@@ -102,8 +103,9 @@
      by searching all classes (and their packages) which are referenced by my classes."
 
     ^ #(
-        #'stx:goodies/petitparser/compiler'    "PPCConfiguration - referenced by PPCLRPCompiledParserSmokeTest_Universal>>compilerConfiguration"
-        #'stx:goodies/petitparser/parsers/smalltalk'    "PPSmalltalkParser - referenced by PPCLRPParser>>methodizeBlock:withArguments:"
+        #'stx:goodies/petitparser/compiler'    "PPCConfiguration - referenced by PPCExpressionGrammarTest_Tokenized>>compilerConfiguration"
+        #'stx:goodies/petitparser/parsers/smalltalk'    "PPSmalltalkGrammar - referenced by PPCSmalltalkGrammarTests>>petitParserClass"
+        #'stx:libbasic2'    "Random - referenced by PPCResources>>expressionOfSize:stream:"
     )
 !
 
@@ -127,15 +129,43 @@
 
     ^ #(
         "<className> or (<className> attributes...) in load order"
+        (PPCAbstractParserTest autoload)
+        (PPCCompiledJavaVerificationTest autoload)
+        (PPCCompositeParserTest autoload)
+        (PPCJavaTests autoload)
         PPCLRPNode
         PPCLRPParser
         PPCLRPParserSmokeTest
         PPCLRPSourcesResource
+        (PPCResources autoload)
+        (PPCSetUpBeforeTearDownAfterResource autoload)
+        (PPCSmalltalkGrammarTests autoload)
+        (PPCSmalltalkParserTests autoload)
+        (PPCSmalltalkTests autoload)
+        (PPCompiledJavaResource autoload)
+        (PPCompiledJavaSyntaxTest autoload)
+        (PPExpressionGrammar autoload)
+        (PPExpressionGrammarTest autoload)
+        (PPLL1ExpressionGrammar autoload)
+        (PPLL1ExpressionGrammarTest autoload)
         (#'stx_goodies_petitparser_compiler_tests_extras' autoload)
+        (PPCExpressionGrammarTest autoload)
+        (PPCExpressionGrammarVerificationTest autoload)
+        (PPCLL1ExpressionGrammarTest autoload)
         PPCLRPAction
         PPCLRPCompiledParserSmokeTest
         PPCLRPContainedElement
         PPCLRPSpawn
+        (#'PPCSmalltalkGrammarTests_Tokenized' autoload)
+        (#'PPCSmalltalkGrammarTests_Universal' autoload)
+        (PPCSmalltalkGrammarVerificationTest autoload)
+        (#'PPCSmalltalkParserTests_Tokenized' autoload)
+        (#'PPCSmalltalkParserTests_Universal' autoload)
+        (PPCSmalltalkParserVerificationTest autoload)
+        (#'PPCExpressionGrammarTest_Tokenized' autoload)
+        (#'PPCExpressionGrammarTest_Universal' autoload)
+        (#'PPCLL1ExpressionGrammarTest_Tokenized' autoload)
+        (#'PPCLL1ExpressionGrammarTest_Universal' autoload)
         PPCLRPComment
         #'PPCLRPCompiledParserSmokeTest_Universal'
         PPCLRPErrorNode
@@ -147,43 +177,15 @@
         PPCLRPState
         PPCLRPTransition
         PPCLRPVariable
+        (#'PPCSmalltalkGrammarVerificationTest_Tokenized' autoload)
+        (#'PPCSmalltalkGrammarVerificationTest_Universal' autoload)
+        (#'PPCSmalltalkParserVerificationTest_Tokenized' autoload)
+        (#'PPCSmalltalkParserVerificationTest_Universal' autoload)
+        (#'PPExpressionGrammarVerificationTest_Tokenized' autoload)
+        (#'PPExpressionGrammarVerificationTest_Universal' autoload)
         PPCLRPEpsilonTransition
         PPCLRPTimeoutTransition
         PPCLRPWildcardTransition
-        (PPCAbstractParserTest autoload)
-        (PPCCompiledJavaVerificationTest autoload)
-        (PPCCompositeParserTest autoload)
-        (PPCExpressionGrammarTest autoload)
-        (#'PPCExpressionGrammarTest_Tokenized' autoload)
-        (#'PPCExpressionGrammarTest_Universal' autoload)
-        (PPCExpressionGrammarVerificationTest autoload)
-        (PPCJavaTests autoload)
-        (PPCLL1ExpressionGrammarTest autoload)
-        (#'PPCLL1ExpressionGrammarTest_Tokenized' autoload)
-        (#'PPCLL1ExpressionGrammarTest_Universal' autoload)
-        (PPCResources autoload)
-        (PPCSetUpBeforeTearDownAfterResource autoload)
-        (PPCSmalltalkGrammarTests autoload)
-        (#'PPCSmalltalkGrammarTests_Tokenized' autoload)
-        (#'PPCSmalltalkGrammarTests_Universal' autoload)
-        (PPCSmalltalkGrammarVerificationTest autoload)
-        (#'PPCSmalltalkGrammarVerificationTest_Tokenized' autoload)
-        (#'PPCSmalltalkGrammarVerificationTest_Universal' autoload)
-        (PPCSmalltalkParserTests autoload)
-        (#'PPCSmalltalkParserTests_Tokenized' autoload)
-        (#'PPCSmalltalkParserTests_Universal' autoload)
-        (PPCSmalltalkParserVerificationTest autoload)
-        (#'PPCSmalltalkParserVerificationTest_Tokenized' autoload)
-        (#'PPCSmalltalkParserVerificationTest_Universal' autoload)
-        (PPCSmalltalkTests autoload)
-        (PPCompiledJavaResource autoload)
-        (PPCompiledJavaSyntaxTest autoload)
-        (PPExpressionGrammar autoload)
-        (PPExpressionGrammarTest autoload)
-        (#'PPExpressionGrammarVerificationTest_Tokenized' autoload)
-        (#'PPExpressionGrammarVerificationTest_Universal' autoload)
-        (PPLL1ExpressionGrammar autoload)
-        (PPLL1ExpressionGrammarTest autoload)
     )
 !