Portability fix: override #new for class that implements #initialize
authorJan Vrany <jan.vrany@fit.cvut.cz>
Fri, 24 Jul 2015 19:42:09 +0100
changeset 504 0fb1f0799fc1
parent 503 ff58cd9f1f3c
child 505 19d830b74322
Portability fix: override #new for class that implements #initialize #initialize is not sent by default.
compiler/Make.proto
compiler/Make.spec
compiler/PEGFsa.st
compiler/PEGFsaInterpret.st
compiler/PEGFsaState.st
compiler/PEGFsaTransition.st
compiler/PPCClassBuilder.st
compiler/PPCStarCharSetPredicateNode.st
compiler/abbrev.stc
compiler/bc.mak
compiler/benchmarks/Make.proto
compiler/benchmarks/PPCBenchmark.st
compiler/benchmarks/PPCSmalltalkNoopParser.st
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/PPCCodeGeneratorTest.st
compiler/tests/PPCUniversalTest.st
compiler/tests/extras/Make.proto
compiler/tests/extras/abbrev.stc
compiler/tests/extras/bc.mak
compiler/tests/extras/stx_goodies_petitparser_compiler_tests_extras.st
islands/PPNonEmptyParser.st
--- a/compiler/Make.proto	Fri Jul 24 15:37:23 2015 +0100
+++ b/compiler/Make.proto	Fri Jul 24 19:42:09 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/analyzer -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 -I$(INCLUDE_TOP)/stx/libbasic2 -I$(INCLUDE_TOP)/stx/libwidg -I$(INCLUDE_TOP)/stx/libwidg2
+LOCALINCLUDES= -I$(INCLUDE_TOP)/stx/goodies/petitparser -I$(INCLUDE_TOP)/stx/goodies/petitparser/analyzer -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 -I$(INCLUDE_TOP)/stx/libbasic2 -I$(INCLUDE_TOP)/stx/libview -I$(INCLUDE_TOP)/stx/libwidg -I$(INCLUDE_TOP)/stx/libwidg2
 
 
 # if you need any additional defines for embedded C code,
--- a/compiler/Make.spec	Fri Jul 24 15:37:23 2015 +0100
+++ b/compiler/Make.spec	Fri Jul 24 19:42:09 2015 +0100
@@ -59,8 +59,8 @@
 	PEGFsaTransition \
 	PPCArguments \
 	PPCBridge \
+	PPCClassBuilder \
 	PPCCodeBlock \
-	PPCClassBuilder \
 	PPCCodeGen \
 	PPCCompiledMethod \
 	PPCCompiler \
@@ -167,8 +167,8 @@
     $(OUTDIR_SLASH)PEGFsaTransition.$(O) \
     $(OUTDIR_SLASH)PPCArguments.$(O) \
     $(OUTDIR_SLASH)PPCBridge.$(O) \
+    $(OUTDIR_SLASH)PPCClassBuilder.$(O) \
     $(OUTDIR_SLASH)PPCCodeBlock.$(O) \
-    $(OUTDIR_SLASH)PPCClassBuilder.$(O) \
     $(OUTDIR_SLASH)PPCCodeGen.$(O) \
     $(OUTDIR_SLASH)PPCCompiledMethod.$(O) \
     $(OUTDIR_SLASH)PPCCompiler.$(O) \
--- a/compiler/PEGFsa.st	Fri Jul 24 15:37:23 2015 +0100
+++ b/compiler/PEGFsa.st	Fri Jul 24 19:42:09 2015 +0100
@@ -9,6 +9,14 @@
 	category:'PetitCompiler-FSA'
 !
 
+!PEGFsa class methodsFor:'instance creation'!
+
+new
+    "return an initialized instance"
+
+    ^ self basicNew initialize.
+! !
+
 !PEGFsa methodsFor:'accessing'!
 
 allTransitions
--- a/compiler/PEGFsaInterpret.st	Fri Jul 24 15:37:23 2015 +0100
+++ b/compiler/PEGFsaInterpret.st	Fri Jul 24 19:42:09 2015 +0100
@@ -9,6 +9,14 @@
 	category:'PetitCompiler-FSA'
 !
 
+!PEGFsaInterpret class methodsFor:'instance creation'!
+
+new
+    "return an initialized instance"
+
+    ^ self basicNew initialize.
+! !
+
 !PEGFsaInterpret methodsFor:'accessing'!
 
 debug
--- a/compiler/PEGFsaState.st	Fri Jul 24 15:37:23 2015 +0100
+++ b/compiler/PEGFsaState.st	Fri Jul 24 19:42:09 2015 +0100
@@ -9,6 +9,14 @@
 	category:'PetitCompiler-FSA'
 !
 
+!PEGFsaState class methodsFor:'instance creation'!
+
+new
+    "return an initialized instance"
+
+    ^ self basicNew initialize.
+! !
+
 !PEGFsaState methodsFor:'accessing'!
 
 destination
--- a/compiler/PEGFsaTransition.st	Fri Jul 24 15:37:23 2015 +0100
+++ b/compiler/PEGFsaTransition.st	Fri Jul 24 19:42:09 2015 +0100
@@ -9,6 +9,14 @@
 	category:'PetitCompiler-FSA'
 !
 
+!PEGFsaTransition class methodsFor:'instance creation'!
+
+new
+    "return an initialized instance"
+
+    ^ self basicNew initialize.
+! !
+
 !PEGFsaTransition methodsFor:'accessing'!
 
 characterSet
--- a/compiler/PPCClassBuilder.st	Fri Jul 24 15:37:23 2015 +0100
+++ b/compiler/PPCClassBuilder.st	Fri Jul 24 19:42:09 2015 +0100
@@ -10,6 +10,14 @@
 	category:'PetitCompiler-Core'
 !
 
+!PPCClassBuilder class methodsFor:'instance creation'!
+
+new
+    "return an initialized instance"
+
+    ^ self basicNew initialize.
+! !
+
 !PPCClassBuilder methodsFor:'accessing'!
 
 compiledClass
--- a/compiler/PPCStarCharSetPredicateNode.st	Fri Jul 24 15:37:23 2015 +0100
+++ b/compiler/PPCStarCharSetPredicateNode.st	Fri Jul 24 19:42:09 2015 +0100
@@ -9,6 +9,7 @@
 	category:'PetitCompiler-Nodes'
 !
 
+
 !PPCStarCharSetPredicateNode methodsFor:'accessing'!
 
 extendClassification: classification
@@ -50,3 +51,10 @@
     ^ visitor visitStarCharSetPredicateNode: self
 ! !
 
+!PPCStarCharSetPredicateNode class methodsFor:'documentation'!
+
+version_HG
+
+    ^ '$Changeset: <not expanded> $'
+! !
+
--- a/compiler/abbrev.stc	Fri Jul 24 15:37:23 2015 +0100
+++ b/compiler/abbrev.stc	Fri Jul 24 19:42:09 2015 +0100
@@ -9,7 +9,6 @@
 PEGFsaTransition PEGFsaTransition stx:goodies/petitparser/compiler 'PetitCompiler-FSA' 0
 PPCArguments PPCArguments stx:goodies/petitparser/compiler 'PetitCompiler-Core' 0
 PPCBridge PPCBridge stx:goodies/petitparser/compiler 'PetitCompiler-Core' 0
-PPCCodeBlock PPCCodeBlock stx:goodies/petitparser/compiler 'PetitCompiler-Compiler-Codegen' 0
 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
@@ -42,7 +41,6 @@
 PPCCodeGenerator PPCCodeGenerator stx:goodies/petitparser/compiler 'PetitCompiler-Visitors' 0
 PPCDelegateNode PPCDelegateNode stx:goodies/petitparser/compiler 'PetitCompiler-Nodes' 0
 PPCEndOfFileNode PPCEndOfFileNode stx:goodies/petitparser/compiler 'PetitCompiler-Nodes' 0
-PPCInlinedMethod PPCInlinedMethod stx:goodies/petitparser/compiler 'PetitCompiler-Compiler-Codegen' 0
 PPCFSACodeGen PPCFSACodeGen stx:goodies/petitparser/compiler 'PetitCompiler-Scanner' 0
 PPCInlinedMethod PPCInlinedMethod stx:goodies/petitparser/compiler 'PetitCompiler-Compiler-Codegen' 0
 PPCInliningVisitor PPCInliningVisitor stx:goodies/petitparser/compiler 'PetitCompiler-Visitors' 0
--- a/compiler/bc.mak	Fri Jul 24 15:37:23 2015 +0100
+++ b/compiler/bc.mak	Fri Jul 24 19:42:09 2015 +0100
@@ -35,7 +35,7 @@
 
 
 
-LOCALINCLUDES= -I$(INCLUDE_TOP)\stx\goodies\petitparser -I$(INCLUDE_TOP)\stx\goodies\petitparser\analyzer -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 -I$(INCLUDE_TOP)\stx\libbasic2 -I$(INCLUDE_TOP)\stx\libview
+LOCALINCLUDES= -I$(INCLUDE_TOP)\stx\goodies\petitparser -I$(INCLUDE_TOP)\stx\goodies\petitparser\analyzer -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 -I$(INCLUDE_TOP)\stx\libbasic2 -I$(INCLUDE_TOP)\stx\libview -I$(INCLUDE_TOP)\stx\libwidg -I$(INCLUDE_TOP)\stx\libwidg2
 LOCALDEFINES=
 
 STCLOCALOPT=-package=$(PACKAGE) -I. $(LOCALINCLUDES) -headerDir=. $(STCLOCALOPTIMIZATIONS) $(STCWARNINGS) $(LOCALDEFINES)  -varPrefix=$(LIBNAME)
@@ -85,7 +85,6 @@
 $(OUTDIR)PEGFsaTransition.$(O) PEGFsaTransition.$(H): PEGFsaTransition.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)PPCArguments.$(O) PPCArguments.$(H): PPCArguments.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)PPCBridge.$(O) PPCBridge.$(H): PPCBridge.st $(INCLUDE_TOP)\stx\goodies\petitparser\PPParser.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)PPCCodeBlock.$(O) PPCCodeBlock.$(H): PPCCodeBlock.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(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)
--- a/compiler/benchmarks/Make.proto	Fri Jul 24 15:37:23 2015 +0100
+++ b/compiler/benchmarks/Make.proto	Fri Jul 24 19:42:09 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/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
+LOCALINCLUDES= -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
 
 
 # if you need any additional defines for embedded C code,
@@ -104,13 +104,8 @@
 	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/PPCBenchmark.st	Fri Jul 24 15:37:23 2015 +0100
+++ b/compiler/benchmarks/PPCBenchmark.st	Fri Jul 24 19:42:09 2015 +0100
@@ -712,28 +712,6 @@
     "Created: / 16-05-2015 / 09:44:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
-teardownSmalltalkNoopParserCompiled
-    parser class removeFromSystem.
-"       
-    size := input inject: 0 into: [:r :e | r + e size  ].
-    Transcript crShow: 'Compiled Grammar time: ', time asString.
-    Transcript crShow: 'Time per character: ', (time / size * 1000.0) asString, ' microseconds'.
-"
-
-    "Created: / 16-05-2015 / 09:44:40 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-teardownSmalltalkNoopParserTokenized
-    parser class removeFromSystem.
-"       
-    size := input inject: 0 into: [:r :e | r + e size  ].
-    Transcript crShow: 'Compiled Grammar time: ', time asString.
-    Transcript crShow: 'Time per character: ', (time / size * 1000.0) asString, ' microseconds'.
-"
-
-    "Created: / 16-05-2015 / 09:44:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
 teardownSmalltalkParserCompiled
     parser class removeFromSystem.
 "	
--- a/compiler/benchmarks/PPCSmalltalkNoopParser.st	Fri Jul 24 15:37:23 2015 +0100
+++ b/compiler/benchmarks/PPCSmalltalkNoopParser.st	Fri Jul 24 19:42:09 2015 +0100
@@ -12,21 +12,21 @@
 !PPCSmalltalkNoopParser methodsFor:'accessing'!
 
 startExpression
-    "Make the sequence node has a method node as its parent and that the source is set."
+	"Make the sequence node has a method node as its parent and that the source is set."
 
-    ^ ([ :stream | stream collection ] asParser and , super startExpression) map: [ :source :node | 
-        (RBMethodNode selector: #doIt body: node)
-            source: source.
-        (node statements size = 1 and: [ node temporaries isEmpty ])
-            ifTrue: [ node statements first ]
-            ifFalse: [ node ] ]
+	^ ([ :stream | stream collection ] asParser and , super startExpression) map: [ :source :node | 
+		(RBMethodNode selector: #doIt body: node)
+			source: source.
+		(node statements size = 1 and: [ node temporaries isEmpty ])
+			ifTrue: [ node statements first ]
+			ifFalse: [ node ] ]
 !
 
 startMethod
-    "Make sure the method node has the source code properly set."
-    
-    ^ ([ :stream | stream collection ] asParser and , super startMethod)
-        map: [ :source :node | node source: source ]
+	"Make sure the method node has the source code properly set."
+	
+	^ ([ :stream | stream collection ] asParser and , super startMethod)
+		map: [ :source :node | node source: source ]
 ! !
 
 !PPCSmalltalkNoopParser methodsFor:'grammar'!
@@ -100,7 +100,7 @@
 !
 
 blockArgument
-    ^ super blockArgument ==> #second
+	^ super blockArgument ==> #second
 !
 
 blockBody
@@ -213,107 +213,107 @@
 !PPCSmalltalkNoopParser methodsFor:'private'!
 
 addStatements: aCollection into: aNode
-    aCollection isNil 
-        ifTrue: [ ^ aNode ].
-    aCollection do: [ :each |
-        each class == PPSmalltalkToken
-            ifFalse: [ aNode addNode:  each ]
-            ifTrue: [
-                aNode statements isEmpty
-                    ifTrue: [ aNode addComments: each comments ]
-                    ifFalse: [ aNode statements last addComments: each comments ].
-                aNode periods: (aNode periods asOrderedCollection
-                    addLast: each start;
-                    yourself) ] ].
-    ^ aNode
+	aCollection isNil 
+		ifTrue: [ ^ aNode ].
+	aCollection do: [ :each |
+		each class == PPSmalltalkToken
+			ifFalse: [ aNode addNode:  each ]
+			ifTrue: [
+				aNode statements isEmpty
+					ifTrue: [ aNode addComments: each comments ]
+					ifFalse: [ aNode statements last addComments: each comments ].
+				aNode periods: (aNode periods asOrderedCollection
+					addLast: each start;
+					yourself) ] ].
+	^ aNode
 !
 
 build: aNode assignment: anArray
-    ^ anArray isEmpty
-        ifTrue: [ aNode ]
-        ifFalse: [
-            anArray reverse 
-                inject: aNode
-                into: [ :result :each |
-                    RBAssignmentNode 
-                        variable: each first
-                        value: result
-                        position: each second start ] ]
+	^ anArray isEmpty
+		ifTrue: [ aNode ]
+		ifFalse: [
+			anArray reverse 
+				inject: aNode
+				into: [ :result :each |
+					RBAssignmentNode 
+						variable: each first
+						value: result
+						position: each second start ] ]
 !
 
 build: aNode cascade: anArray 
-    | messages semicolons |
-    ^ (anArray isNil or: [ anArray isEmpty ]) 
-        ifTrue: [ aNode ]
-        ifFalse: [
-            messages := OrderedCollection new: anArray size + 1.
-            messages addLast: aNode.
-            semicolons := OrderedCollection new.
-            anArray do: [ :each | 
-                messages addLast: (self 
-                    build: aNode receiver
-                    messages: (Array with: each second)).
-                semicolons addLast: each first start ].
-            RBCascadeNode messages: messages semicolons: semicolons ]
+	| messages semicolons |
+	^ (anArray isNil or: [ anArray isEmpty ]) 
+		ifTrue: [ aNode ]
+		ifFalse: [
+			messages := OrderedCollection new: anArray size + 1.
+			messages addLast: aNode.
+			semicolons := OrderedCollection new.
+			anArray do: [ :each | 
+				messages addLast: (self 
+					build: aNode receiver
+					messages: (Array with: each second)).
+				semicolons addLast: each first start ].
+			RBCascadeNode messages: messages semicolons: semicolons ]
 !
 
 build: aNode messages: anArray 
-    ^ (anArray isNil or: [ anArray isEmpty ]) 
-        ifTrue: [ aNode ]
-        ifFalse: [
-            anArray 
-                inject: aNode
-                into: [ :rec :msg | 
-                    msg isNil 
-                        ifTrue: [ rec ]
-                        ifFalse: [
-                            RBMessageNode 
-                                receiver: rec
-                                selectorParts: msg first
-                                arguments: msg second ] ] ]
+	^ (anArray isNil or: [ anArray isEmpty ]) 
+		ifTrue: [ aNode ]
+		ifFalse: [
+			anArray 
+				inject: aNode
+				into: [ :rec :msg | 
+					msg isNil 
+						ifTrue: [ rec ]
+						ifFalse: [
+							RBMessageNode 
+								receiver: rec
+								selectorParts: msg first
+								arguments: msg second ] ] ]
 !
 
 build: aTempCollection sequence: aStatementCollection
-    | result |
-    result := self
-        addStatements: aStatementCollection
-        into: RBSequenceNode new.
-    aTempCollection isEmpty ifFalse: [
-        result
-            leftBar: aTempCollection first start
-            temporaries: aTempCollection second
-            rightBar: aTempCollection last start ].
-    ^ result
+	| result |
+	result := self
+		addStatements: aStatementCollection
+		into: RBSequenceNode new.
+	aTempCollection isEmpty ifFalse: [
+		result
+			leftBar: aTempCollection first start
+			temporaries: aTempCollection second
+			rightBar: aTempCollection last start ].
+	^ result
 !
 
 buildArray: aStatementCollection
-    ^ self addStatements: aStatementCollection into: RBArrayNode new
+	^ self addStatements: aStatementCollection into: RBArrayNode new
 !
 
 buildMethod: aMethodNode
-    aMethodNode selectorParts 
-        do: [ :each | aMethodNode addComments: each comments ].
-    aMethodNode arguments
-        do: [ :each | aMethodNode addComments: each token comments ].
-    aMethodNode pragmas do: [ :pragma |
-        aMethodNode addComments: pragma comments.
-        pragma selectorParts 
-            do: [ :each | aMethodNode addComments: each comments ].
-        pragma arguments do: [ :each | 
-            each isLiteralArray
-                ifFalse: [ aMethodNode addComments: each token comments ] ].
-        pragma comments: nil ].
-    ^ aMethodNode
+	aMethodNode selectorParts 
+		do: [ :each | aMethodNode addComments: each comments ].
+	aMethodNode arguments
+		do: [ :each | aMethodNode addComments: each token comments ].
+	aMethodNode pragmas do: [ :pragma |
+		aMethodNode addComments: pragma comments.
+		pragma selectorParts 
+			do: [ :each | aMethodNode addComments: each comments ].
+		pragma arguments do: [ :each | 
+			each isLiteralArray
+				ifFalse: [ aMethodNode addComments: each token comments ] ].
+		pragma comments: nil ].
+	^ aMethodNode
 !
 
 buildString: aString 
-    (aString isEmpty or: [ aString first ~= $' or: [ aString last ~= $' ] ])
-        ifTrue: [ ^ aString ].
-    ^ (aString 
-        copyFrom: 2
-        to: aString size - 1) 
-        copyReplaceAll: ''''''
-        with: ''''
+	(aString isEmpty or: [ aString first ~= $' or: [ aString last ~= $' ] ])
+		ifTrue: [ ^ aString ].
+	^ (aString 
+		copyFrom: 2
+		to: aString size - 1) 
+		copyReplaceAll: ''''''
+		with: ''''
 ! !
 
 !PPCSmalltalkNoopParser methodsFor:'token'!
--- a/compiler/benchmarks/abbrev.stc	Fri Jul 24 15:37:23 2015 +0100
+++ b/compiler/benchmarks/abbrev.stc	Fri Jul 24 19:42:09 2015 +0100
@@ -3,5 +3,5 @@
 # it provides information about a classes filename, category and especially namespace.
 PPCBenchmark PPCBenchmark stx:goodies/petitparser/compiler/benchmarks 'PetitCompiler-Benchmarks-Core' 0
 PPCSmalltalkNoopParser PPCSmalltalkNoopParser stx:goodies/petitparser/compiler/benchmarks 'PetitCompiler-Benchmarks-Parsers' 0
+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
-stx_goodies_petitparser_compiler_benchmarks stx_goodies_petitparser_compiler_benchmarks stx:goodies/petitparser/compiler/benchmarks '* Projects & Packages *' 3
--- a/compiler/benchmarks/bc.mak	Fri Jul 24 15:37:23 2015 +0100
+++ b/compiler/benchmarks/bc.mak	Fri Jul 24 19:42:09 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\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
+LOCALINCLUDES= -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
 LOCALDEFINES=
 
 STCLOCALOPT=-package=$(PACKAGE) -I. $(LOCALINCLUDES) -headerDir=. $(STCLOCALOPTIMIZATIONS) $(STCWARNINGS) $(LOCALDEFINES)  -varPrefix=$(LIBNAME)
@@ -54,13 +54,8 @@
 	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	Fri Jul 24 15:37:23 2015 +0100
+++ b/compiler/benchmarks/stx_goodies_petitparser_compiler_benchmarks.st	Fri Jul 24 19:42:09 2015 +0100
@@ -61,10 +61,7 @@
     ^ #(
         #'stx:goodies/petitparser'    "PPCompositeParser - superclass of PPCSmalltalkNoopParser"
         #'stx:goodies/petitparser/parsers/smalltalk'    "PPSmalltalkGrammar - superclass of PPCSmalltalkNoopParser"
-        #'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"
+        #'stx:libbasic'    "Autoload - superclass of PPCSmalltalkNoopParserTests"
     )
 !
 
@@ -108,8 +105,8 @@
         "<className> or (<className> attributes...) in load order"
         PPCBenchmark
         PPCSmalltalkNoopParser
+        #'stx_goodies_petitparser_compiler_benchmarks'
         (PPCSmalltalkNoopParserTests autoload)
-        #'stx_goodies_petitparser_compiler_benchmarks'
     )
 !
 
--- a/compiler/libInit.cc	Fri Jul 24 15:37:23 2015 +0100
+++ b/compiler/libInit.cc	Fri Jul 24 19:42:09 2015 +0100
@@ -35,7 +35,6 @@
 _PEGFsaTransition_Init(pass,__pRT__,snd);
 _PPCArguments_Init(pass,__pRT__,snd);
 _PPCBridge_Init(pass,__pRT__,snd);
-_PPCCodeBlock_Init(pass,__pRT__,snd);
 _PPCClassBuilder_Init(pass,__pRT__,snd);
 _PPCCodeBlock_Init(pass,__pRT__,snd);
 _PPCCodeGen_Init(pass,__pRT__,snd);
--- a/compiler/stx_goodies_petitparser_compiler.st	Fri Jul 24 15:37:23 2015 +0100
+++ b/compiler/stx_goodies_petitparser_compiler.st	Fri Jul 24 19:42:09 2015 +0100
@@ -77,8 +77,8 @@
         #'stx:goodies/petitparser/analyzer'    "PPSentinel - referenced by PPCompiledParser class>>referringParser"
         #'stx:goodies/refactoryBrowser/parser'    "RBAssignmentNode - referenced by PPCCodeGenerator>>visitActionNode:"
         #'stx:libbasic2'    "IdentityBag - referenced by PEGFsa>>checkTransitionsIdentity"
+        #'stx:libview'    "Color - referenced by PEGFsa>>viewGraphOn:"
         #'stx:libwidg'    "ScrollableView - referenced by PPCNode>>inspector2TabTree"
-        #'stx:libview'    "Color - referenced by PEGFsa>>viewGraphOn:"
         #'stx:libwidg2'    "HierarchicalListView - referenced by PPCNode>>inspector2TabTree"
     )
 !
@@ -119,7 +119,6 @@
         PEGFsaTransition
         PPCArguments
         PPCBridge
-        PPCCodeBlock
         PPCClassBuilder
         PPCCodeBlock
         PPCCodeGen
--- a/compiler/tests/PPCCodeGeneratorTest.st	Fri Jul 24 15:37:23 2015 +0100
+++ b/compiler/tests/PPCCodeGeneratorTest.st	Fri Jul 24 19:42:09 2015 +0100
@@ -917,48 +917,6 @@
     "Created: / 22-05-2015 / 11:47:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
-testSequenceOptInlined1
-    | a b bOpt |
-
-    a := $a asParser asCompilerNode.
-    b := $b asParser asCompilerNode.
-    bOpt := PPCOptionalNode new
-                child:  b ;
-                markForInline;
-                yourself.
-    node := PPCSequenceNode new
-        children: { a . bOpt };
-        yourself.
-    self compileTree: node.
-    
-    self assert: parser parse: 'ab' to: #($a $b ) end: 2.
-    self assert: parser parse: 'a' to: #( $a nil ) end: 1.
-
-    "Created: / 22-05-2015 / 11:47:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-testSequenceOptInlined2
-    | a b bOpt |
-
-    a := $a asParser asCompilerNode.
-    a markForInline.
-    b := $b asParser asCompilerNode.
-    b markForInline.
-    bOpt := PPCOptionalNode new
-                child:  b ;
-                markForInline;
-                yourself.
-    node := PPCSequenceNode new
-        children: { a . bOpt };
-        yourself.
-    self compileTree: node.
-    
-    self assert: parser parse: 'ab' to: #($a $b ) end: 2.
-    self assert: parser parse: 'a' to: #( $a nil ) end: 1.
-
-    "Created: / 22-05-2015 / 11:47:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
 testStarAnyNode
     arguments cacheFirstFollow: false.
     node := PPCStarAnyNode new 
--- a/compiler/tests/PPCUniversalTest.st	Fri Jul 24 15:37:23 2015 +0100
+++ b/compiler/tests/PPCUniversalTest.st	Fri Jul 24 19:42:09 2015 +0100
@@ -10,6 +10,7 @@
 	category:'PetitCompiler-Tests-Core-Universal'
 !
 
+
 !PPCUniversalTest methodsFor:'context'!
 
 context	
@@ -29,10 +30,12 @@
 tearDown
     | parserClass |
 
-    parserClass := (Smalltalk at: arguments name ifAbsent: [nil]).
+    parserClass := (Smalltalk at: arguments parserName ifAbsent: [nil]).
     parserClass notNil ifTrue:[ 
         parserClass removeFromSystem
     ].
+
+    "Modified: / 24-07-2015 / 19:21:41 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
 !PPCUniversalTest methodsFor:'tests - compiling'!
@@ -577,3 +580,10 @@
         yourself.
 ! !
 
+!PPCUniversalTest class methodsFor:'documentation'!
+
+version_HG
+
+    ^ '$Changeset: <not expanded> $'
+! !
+
--- a/compiler/tests/extras/Make.proto	Fri Jul 24 15:37:23 2015 +0100
+++ b/compiler/tests/extras/Make.proto	Fri Jul 24 19:42:09 2015 +0100
@@ -108,7 +108,6 @@
 	cd ../../../../../libview2 && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
 	cd ../../../../sunit && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
 	cd ../../../tests && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-	cd ../../../parsers/java && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
 
 
 
--- a/compiler/tests/extras/abbrev.stc	Fri Jul 24 15:37:23 2015 +0100
+++ b/compiler/tests/extras/abbrev.stc	Fri Jul 24 19:42:09 2015 +0100
@@ -9,11 +9,8 @@
 PPCompiledExpressionGrammarResource PPCompiledExpressionGrammarResource stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Expressions' 1
 PPCompiledExpressionGrammarTest PPCompiledExpressionGrammarTest stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Expressions' 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
 PPCompiledSmalltalkGrammarResource PPCompiledSmalltalkGrammarResource stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Smalltalk' 1
 PPCompiledSmalltalkGrammarTests PPCompiledSmalltalkGrammarTests stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Smalltalk' 1
-PPCompiledSmalltalkParserResource PPCompiledSmalltalkParserResource stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Smalltalk' 1
-PPCompiledSmalltalkParserTests PPCompiledSmalltalkParserTests stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Smalltalk' 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
@@ -24,11 +21,14 @@
 PPTokenizedLL1ExpressionGrammarTest PPTokenizedLL1ExpressionGrammarTest stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Expressions' 1
 PPTokenizedSmalltalkGrammarResource PPTokenizedSmalltalkGrammarResource stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Smalltalk' 1
 PPTokenizedSmalltalkGrammarTests PPTokenizedSmalltalkGrammarTests stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Smalltalk' 1
-PPTokenizedSmalltalkParserResource PPTokenizedSmalltalkParserResource stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Smalltalk' 1
-PPTokenizedSmalltalkParserTests PPTokenizedSmalltalkParserTests stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Smalltalk' 1
 stx_goodies_petitparser_compiler_tests_extras stx_goodies_petitparser_compiler_tests_extras stx:goodies/petitparser/compiler/tests/extras '* Projects & Packages *' 3
 PPCompiledExpressionsVerificationTest PPCompiledExpressionsVerificationTest stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Expressions' 1
 PPCompiledSmalltalkVerificationTest PPCompiledSmalltalkVerificationTest stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Smalltalk' 1
 PPTokenizedExpressionsVerificationTest PPTokenizedExpressionsVerificationTest stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Expressions' 1
+PPTokenizedSmalltalkVerificationTest PPTokenizedSmalltalkVerificationTest stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Smalltalk' 1
+PPCompiledJavaSyntaxTest PPCompiledJavaSyntaxTest stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Java' 1
+PPCompiledSmalltalkParserResource PPCompiledSmalltalkParserResource stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Smalltalk' 1
+PPCompiledSmalltalkParserTests PPCompiledSmalltalkParserTests stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Smalltalk' 1
+PPTokenizedSmalltalkParserResource PPTokenizedSmalltalkParserResource stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Smalltalk' 1
+PPTokenizedSmalltalkParserTests PPTokenizedSmalltalkParserTests stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Smalltalk' 1
 PPTokenizedSmalltalkParserVerificationTest PPTokenizedSmalltalkParserVerificationTest stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Smalltalk' 1
-PPTokenizedSmalltalkVerificationTest PPTokenizedSmalltalkVerificationTest stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Smalltalk' 1
--- a/compiler/tests/extras/bc.mak	Fri Jul 24 15:37:23 2015 +0100
+++ b/compiler/tests/extras/bc.mak	Fri Jul 24 19:42:09 2015 +0100
@@ -58,7 +58,6 @@
 	pushd ..\..\..\..\..\libview2 & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
 	pushd ..\..\..\..\sunit & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
 	pushd ..\..\..\tests & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\..\..\parsers\java & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
 
 
 
--- a/compiler/tests/extras/stx_goodies_petitparser_compiler_tests_extras.st	Fri Jul 24 15:37:23 2015 +0100
+++ b/compiler/tests/extras/stx_goodies_petitparser_compiler_tests_extras.st	Fri Jul 24 19:42:09 2015 +0100
@@ -84,10 +84,9 @@
 
     ^ #(
         #'stx:goodies/petitparser'    "PPCompositeParser - superclass of PPExpressionGrammar"
-        #'stx:goodies/petitparser/parsers/java'    "PPJavaLexiconTest - superclass of PPCompiledJavaSyntaxTest"
         #'stx:goodies/petitparser/tests'    "PPAbstractParserTest - superclass of PPCCompiledJavaVerificationTest"
         #'stx:goodies/sunit'    "TestAsserter - superclass of PPCCompiledJavaVerificationTest"
-        #'stx:libbasic'    "LibraryDefinition - superclass of stx_goodies_petitparser_compiler_tests_extras"
+        #'stx:libbasic'    "Autoload - superclass of PPCompiledJavaSyntaxTest"
     )
 !
 
@@ -103,6 +102,7 @@
 
     ^ #(
         #'stx:goodies/petitparser/compiler'    "PPCArguments - referenced by PPCSmalltalkTests>>setUp"
+        #'stx:goodies/petitparser/parsers/java'    "PPJavaSyntax - referenced by PPCCompiledJavaVerificationTest>>javaSyntax"
         #'stx:goodies/petitparser/parsers/smalltalk'    "PPSmalltalkGrammar - referenced by PPCSmalltalkVerificationTest>>smalltalkGrammar"
         #'stx:libbasic2'    "Random - referenced by PPCResources>>expressionOfSize:stream:"
     )
@@ -136,11 +136,8 @@
         PPCompiledExpressionGrammarResource
         PPCompiledExpressionGrammarTest
         PPCompiledJavaResource
-        (PPCompiledJavaSyntaxTest autoload)
         PPCompiledSmalltalkGrammarResource
         PPCompiledSmalltalkGrammarTests
-        (PPCompiledSmalltalkParserResource autoload)
-        (PPCompiledSmalltalkParserTests autoload)
         PPExpressionGrammar
         PPExpressionGrammarTest
         PPLL1ExpressionGrammar
@@ -151,13 +148,16 @@
         PPTokenizedLL1ExpressionGrammarTest
         PPTokenizedSmalltalkGrammarResource
         PPTokenizedSmalltalkGrammarTests
-        (PPTokenizedSmalltalkParserResource autoload)
-        (PPTokenizedSmalltalkParserTests autoload)
         #'stx_goodies_petitparser_compiler_tests_extras'
         PPCompiledExpressionsVerificationTest
         PPCompiledSmalltalkVerificationTest
         PPTokenizedExpressionsVerificationTest
         PPTokenizedSmalltalkVerificationTest
+        (PPCompiledJavaSyntaxTest autoload)
+        (PPCompiledSmalltalkParserResource autoload)
+        (PPCompiledSmalltalkParserTests autoload)
+        (PPTokenizedSmalltalkParserResource autoload)
+        (PPTokenizedSmalltalkParserTests autoload)
         (PPTokenizedSmalltalkParserVerificationTest autoload)
     )
 !
--- a/islands/PPNonEmptyParser.st	Fri Jul 24 15:37:23 2015 +0100
+++ b/islands/PPNonEmptyParser.st	Fri Jul 24 19:42:09 2015 +0100
@@ -12,6 +12,7 @@
 PPNonEmptyParser comment:'I return failure, if the delegate parser did not consumed any input.'
 !
 
+
 !PPNonEmptyParser methodsFor:'parsing'!
 
 parseOn: aPPContext
@@ -26,3 +27,10 @@
 	^ result
 ! !
 
+!PPNonEmptyParser class methodsFor:'documentation'!
+
+version_HG
+
+    ^ '$Changeset: <not expanded> $'
+! !
+