move to package
authorClaus Gittinger <cg@exept.de>
Fri, 13 Jan 2012 12:22:50 +0100
changeset 4 90de244a7fa2
parent 3 e1b11f74e142
child 5 804a351a9415
move to package
Make.spec
PPAbstractParseTest.st
PPActionParser.st
PPAndParser.st
PPArithmeticParser.st
PPArithmeticParserTest.st
PPCharSetPredicate.st
PPChoiceParser.st
PPComposedTest.st
PPCompositeParser.st
PPCompositeParserTest.st
PPDelegateParser.st
PPEndOfInputParser.st
PPEpsilonParser.st
PPExpressionParser.st
PPExpressionParserTest.st
PPExtensionTest.st
PPFailingParser.st
PPFailure.st
PPFlattenParser.st
PPLambdaParser.st
PPLambdaParserTest.st
PPListParser.st
PPLiteralObjectParser.st
PPLiteralParser.st
PPLiteralSequenceParser.st
PPMappingTest.st
PPMemento.st
PPMemoizedParser.st
PPNotParser.st
PPObjectTest.st
PPOptionalParser.st
PPParser.st
PPParserResource.st
PPParserTest.st
PPPluggableParser.st
PPPredicateObjectParser.st
PPPredicateParser.st
PPPredicateSequenceParser.st
PPPredicateTest.st
PPRepeatingParser.st
PPScriptingTest.st
PPSequenceParser.st
PPStream.st
PPToken.st
PPTokenParser.st
PPTokenTest.st
PPTrimmingParser.st
PPUnresolvedParser.st
PPWrappingParser.st
abbrev.stc
bc.mak
extensions.st
libInit.cc
--- a/Make.spec	Mon Sep 12 19:48:53 2011 +0200
+++ b/Make.spec	Fri Jan 13 12:22:50 2012 +0100
@@ -1,6 +1,6 @@
-# $Header: /cvs/stx/stx/goodies/petitparser/Make.spec,v 1.1 2011-08-18 18:56:17 cg Exp $
+# $Header: /cvs/stx/stx/goodies/petitparser/Make.spec,v 1.2 2012-01-13 11:22:50 cg Exp $
 #
-# DO NOT EDIT 
+# DO NOT EDIT
 # automagically generated from the projectDefinition: squeak_petitparser.
 #
 # Warning: once you modify this file, do not rerun
@@ -12,8 +12,8 @@
 # Do NOT CHANGE THESE DEFINITIONS
 # (otherwise, ST/X will have a hard time to find out the packages location from its packageID,
 #  to find the source code of a class and to find the library for a package)
-MODULE=squeak
-MODULE_DIR=petitparser
+MODULE=stx
+MODULE_DIR=goodies/petitparser
 PACKAGE=$(MODULE):$(MODULE_DIR)
 
 
@@ -56,7 +56,7 @@
 	PPParser \
 	PPStream \
 	PPToken \
-	squeak_petitparser \
+	stx_goodies_petitparser \
 	PPDelegateParser \
 	PPEpsilonParser \
 	PPFailingParser \
@@ -97,7 +97,7 @@
     $(OUTDIR)PPParser.$(O) \
     $(OUTDIR)PPStream.$(O) \
     $(OUTDIR)PPToken.$(O) \
-    $(OUTDIR)squeak_petitparser.$(O) \
+    $(OUTDIR)stx_goodies_petitparser.$(O) \
     $(OUTDIR)PPDelegateParser.$(O) \
     $(OUTDIR)PPEpsilonParser.$(O) \
     $(OUTDIR)PPFailingParser.$(O) \
@@ -128,6 +128,3 @@
     $(OUTDIR)PPTokenParser.$(O) \
     $(OUTDIR)PPWrappingParser.$(O) \
     $(OUTDIR)extensions.$(O) \
-
-
-
--- a/PPAbstractParseTest.st	Mon Sep 12 19:48:53 2011 +0200
+++ b/PPAbstractParseTest.st	Fri Jan 13 12:22:50 2012 +0100
@@ -1,4 +1,4 @@
-"{ Package: 'squeak:petitparser' }"
+"{ Package: 'stx:goodies/petitparser' }"
 
 TestCase subclass:#PPAbstractParseTest
 	instanceVariableNames:''
@@ -28,12 +28,12 @@
 
 assert: aParser fail: aCollection end: anInteger
 	| stream result |
-	self 
+	self
 		assert: aParser isPetitParser
 		description: 'Parser invalid'.
 	stream := aCollection asPetitStream.
 	result := aParser parse: stream.
-	self 
+	self
 		assert: result isPetitFailure
 		description: 'Parser did not fail'.
 	self
@@ -42,7 +42,7 @@
 !
 
 assert: aParser parse: aCollection
-	self assert: aParser parse: aCollection to: nil end: aCollection size 
+	self assert: aParser parse: aCollection to: nil end: aCollection size
 !
 
 assert: aParser parse: aCollection end: anInteger
@@ -50,22 +50,22 @@
 !
 
 assert: aParser parse: aCollection to: anObject
-	self assert: aParser parse: aCollection to: anObject end: aCollection size 
+	self assert: aParser parse: aCollection to: anObject end: aCollection size
 !
 
 assert: aParser parse: aParseObject to: aTargetObject end: anInteger
-        | stream result |
-        self 
-                assert: aParser isPetitParser
-                description: 'Parser invalid'.
-        stream := aParseObject asPetitStream.
-        result := aParser parse: stream.
-        aTargetObject isNil
-                ifTrue: [ self deny: result isPetitFailure ]
-                ifFalse: [ self assert: result = aTargetObject ].
-        self 
-                assert: stream position = anInteger
-                description: 'Parser accepted at wrong position'
+	| stream result |
+	self
+		assert: aParser isPetitParser
+		description: 'Parser invalid'.
+	stream := aParseObject asPetitStream.
+	result := aParser parse: stream.
+	aTargetObject isNil
+		ifTrue: [ self deny: result isPetitFailure ]
+		ifFalse: [ self assert: result = aTargetObject ].
+	self
+		assert: stream position = anInteger
+		description: 'Parser accepted at wrong position'
 
     "Modified: / 18-12-2010 / 18:01:30 / Jan Kurs <kurs.jan@post.cz>"
 !
@@ -85,5 +85,5 @@
 !PPAbstractParseTest class methodsFor:'documentation'!
 
 version_SVN
-    ^ '$Id: PPAbstractParseTest.st,v 1.1 2011-08-18 18:56:17 cg Exp $'
+    ^ '$Id: PPAbstractParseTest.st,v 1.2 2012-01-13 11:22:50 cg Exp $'
 ! !
--- a/PPActionParser.st	Mon Sep 12 19:48:53 2011 +0200
+++ b/PPActionParser.st	Fri Jan 13 12:22:50 2012 +0100
@@ -1,4 +1,4 @@
-"{ Package: 'squeak:petitparser' }"
+"{ Package: 'stx:goodies/petitparser' }"
 
 PPDelegateParser subclass:#PPActionParser
 	instanceVariableNames:'block'
@@ -9,7 +9,7 @@
 
 PPActionParser comment:'A parser that performs an action block with the successful parse result of the delegate.
 Instance Variables:
-	block	<BlockClosure>	The action block to be executed.
+	block   <BlockClosure>  The action block to be executed.
 '
 !
 
@@ -46,5 +46,5 @@
 !PPActionParser class methodsFor:'documentation'!
 
 version_SVN
-    ^ '$Id: PPActionParser.st,v 1.1 2011-08-18 18:56:17 cg Exp $'
+    ^ '$Id: PPActionParser.st,v 1.2 2012-01-13 11:22:50 cg Exp $'
 ! !
--- a/PPAndParser.st	Mon Sep 12 19:48:53 2011 +0200
+++ b/PPAndParser.st	Fri Jan 13 12:22:50 2012 +0100
@@ -1,4 +1,4 @@
-"{ Package: 'squeak:petitparser' }"
+"{ Package: 'stx:goodies/petitparser' }"
 
 PPDelegateParser subclass:#PPAndParser
 	instanceVariableNames:''
@@ -30,5 +30,5 @@
 !PPAndParser class methodsFor:'documentation'!
 
 version_SVN
-    ^ '$Id: PPAndParser.st,v 1.1 2011-08-18 18:56:17 cg Exp $'
+    ^ '$Id: PPAndParser.st,v 1.2 2012-01-13 11:22:50 cg Exp $'
 ! !
--- a/PPArithmeticParser.st	Mon Sep 12 19:48:53 2011 +0200
+++ b/PPArithmeticParser.st	Fri Jan 13 12:22:50 2012 +0100
@@ -1,4 +1,4 @@
-"{ Package: 'squeak:petitparser' }"
+"{ Package: 'stx:goodies/petitparser' }"
 
 PPCompositeParser subclass:#PPArithmeticParser
 	instanceVariableNames:'terms addition factors multiplication power primary parentheses
@@ -18,7 +18,7 @@
 !PPArithmeticParser methodsFor:'grammar'!
 
 addition
-	^ (factors separatedBy: ($+ asParser / $- asParser) token trim) 
+	^ (factors separatedBy: ($+ asParser / $- asParser) token trim)
 		foldLeft: [ :a :op :b | a perform: op value asSymbol with: b ]
 !
 
@@ -54,5 +54,5 @@
 !PPArithmeticParser class methodsFor:'documentation'!
 
 version_SVN
-    ^ '$Id: PPArithmeticParser.st,v 1.1 2011-08-18 18:56:17 cg Exp $'
+    ^ '$Id: PPArithmeticParser.st,v 1.2 2012-01-13 11:22:50 cg Exp $'
 ! !
--- a/PPArithmeticParserTest.st	Mon Sep 12 19:48:53 2011 +0200
+++ b/PPArithmeticParserTest.st	Fri Jan 13 12:22:50 2012 +0100
@@ -1,4 +1,4 @@
-"{ Package: 'squeak:petitparser' }"
+"{ Package: 'stx:goodies/petitparser' }"
 
 PPCompositeParserTest subclass:#PPArithmeticParserTest
 	instanceVariableNames:''
@@ -32,7 +32,7 @@
 testBrackets
 	self assert: '(1)' is: 1.
 	self assert: '(1 + 2)' is: 3.
-	
+
 	self assert: '((1))' is: 1.
 	self assert: '((1 + 2))' is: 3.
 
@@ -78,7 +78,7 @@
 	self assert: '100 / 2 / 2' is: 25.
 	self assert: '100 / 2 / 2 / 5' is: 5.
 	self assert: '100 / 2 / 2 / 5 / 5' is: 1
-	
+
 !
 
 testMul
@@ -124,5 +124,5 @@
 !PPArithmeticParserTest class methodsFor:'documentation'!
 
 version_SVN
-    ^ '$Id: PPArithmeticParserTest.st,v 1.1 2011-08-18 18:56:17 cg Exp $'
+    ^ '$Id: PPArithmeticParserTest.st,v 1.2 2012-01-13 11:22:50 cg Exp $'
 ! !
--- a/PPCharSetPredicate.st	Mon Sep 12 19:48:53 2011 +0200
+++ b/PPCharSetPredicate.st	Fri Jan 13 12:22:50 2012 +0100
@@ -1,4 +1,4 @@
-"{ Package: 'squeak:petitparser' }"
+"{ Package: 'stx:goodies/petitparser' }"
 
 Object subclass:#PPCharSetPredicate
 	instanceVariableNames:'block classification'
@@ -39,5 +39,5 @@
 !PPCharSetPredicate class methodsFor:'documentation'!
 
 version_SVN
-    ^ '$Id: PPCharSetPredicate.st,v 1.1 2011-08-18 18:56:17 cg Exp $'
+    ^ '$Id: PPCharSetPredicate.st,v 1.2 2012-01-13 11:22:50 cg Exp $'
 ! !
--- a/PPChoiceParser.st	Mon Sep 12 19:48:53 2011 +0200
+++ b/PPChoiceParser.st	Fri Jan 13 12:22:50 2012 +0100
@@ -1,4 +1,4 @@
-"{ Package: 'squeak:petitparser' }"
+"{ Package: 'stx:goodies/petitparser' }"
 
 PPListParser subclass:#PPChoiceParser
 	instanceVariableNames:''
@@ -13,7 +13,7 @@
 
 !PPChoiceParser methodsFor:'operations'!
 
-/ aRule 
+/ aRule
 	^ self copyWith: aRule
 ! !
 
@@ -34,5 +34,5 @@
 !PPChoiceParser class methodsFor:'documentation'!
 
 version_SVN
-    ^ '$Id: PPChoiceParser.st,v 1.1 2011-08-18 18:56:17 cg Exp $'
+    ^ '$Id: PPChoiceParser.st,v 1.2 2012-01-13 11:22:50 cg Exp $'
 ! !
--- a/PPComposedTest.st	Mon Sep 12 19:48:53 2011 +0200
+++ b/PPComposedTest.st	Fri Jan 13 12:22:50 2012 +0100
@@ -1,4 +1,4 @@
-"{ Package: 'squeak:petitparser' }"
+"{ Package: 'stx:goodies/petitparser' }"
 
 PPAbstractParseTest subclass:#PPComposedTest
 	instanceVariableNames:''
@@ -25,22 +25,22 @@
 !PPComposedTest methodsFor:'testing'!
 
 testDoubledString
-        | parser |
-        parser := ($' asParser , (($' asParser , $' asParser) / $' asParser negate) star flatten , $' asParser) 
-                ==> [ :nodes | nodes second copyReplaceAll: '''''' with: '''' ].
+	| parser |
+	parser := ($' asParser , (($' asParser , $' asParser) / $' asParser negate) star flatten , $' asParser)
+		==> [ :nodes | nodes second copyReplaceAll: '''''' with: '''' ].
 
-        self assert: parser parse: '''''' to: ''.
-        self assert: parser parse: '''a''' to: 'a'.
-        self assert: parser parse: '''ab''' to: 'ab'.
-        self assert: parser parse: '''a''''b''' to: 'a''b'.
-        self assert: parser parse: '''a''''''''b''' to: 'a''''b'
+	self assert: parser parse: '''''' to: ''.
+	self assert: parser parse: '''a''' to: 'a'.
+	self assert: parser parse: '''ab''' to: 'ab'.
+	self assert: parser parse: '''a''''b''' to: 'a''b'.
+	self assert: parser parse: '''a''''''''b''' to: 'a''''b'
 
     "Modified: / 18-12-2010 / 18:00:16 / Jan Kurs <kurs.jan@post.cz>"
 !
 
 testEvenNumber
 	"Create a grammar that parses an even number of a's and b's."
-	
+
 	| a as b bs s |
 	a := $a asParser ==> [ :char | as := as + 1 ].
 	b := $b asParser ==> [ :char | bs := bs + 1 ].
@@ -58,7 +58,7 @@
 	self assert: s fail: 'bbb' end: 3.
 	self assert: s fail: 'aab' end: 3.
 	self assert: s fail: 'abb' end: 3.
-	
+
 	self assert: s parse: ''.
 	self assert: s parse: 'aa'.
 	self assert: s parse: 'bb'.
@@ -96,7 +96,7 @@
 
 testLeftRecursion
 	"S ::= S 'x' S / '1'"
-	
+
 	| parser |
 	parser := PPUnresolvedParser new.
 	parser def: ((parser , $x asParser , parser) / $1 asParser) memoized flatten.
@@ -111,7 +111,7 @@
 
 testListOfIntegers
 	"S ::= S , number | number"
-	
+
 	| number list parser |
 	number := #digit asParser plus token trim
 		==> [ :node | node value asInteger ].
@@ -136,7 +136,7 @@
 	self assert: parser parse: '1 ,2 ,3' to: (1 to: 3) asArray.
 	self assert: parser parse: '1 ,2 ,3 ,4' to: (1 to: 4) asArray.
 	self assert: parser parse: '1 ,2 ,3 ,4 ,5' to: (1 to: 5) asArray.
-	
+
 	self assert: parser fail: ''.
 	self assert: parser fail: ','.
 	self assert: parser fail: '1,'.
@@ -149,16 +149,16 @@
 	"B ::= /*"
 	"E ::= */"
 	"T ::= ."
-	
+
 	| begin end any inside parser |
 	begin := '/*' asParser.
 	end := '*/' asParser.
 	any := #any asParser.
-	
+
 	parser := PPUnresolvedParser new.
 	inside := end not , (parser / any).
 	parser def: begin , inside star , end.
-	
+
 	self assert: parser parse: '/*ab*/cd' end: 6.
 	self assert: parser parse: '/*a/*b*/c*/'.
 	self assert: parser fail: '/*a/*b*/c'
@@ -167,20 +167,20 @@
 testPalindrome
 	"S0 ::= a S1 a | b S1 b | ...
 	 S1 ::= S0 | epsilon"
-	
+
 	| s0 s1 parser |
 	s0 := PPUnresolvedParser new.
 	s1 := PPUnresolvedParser new.
 	s0 def: ($a asParser , s1 , $a asParser)
 		/ ($b asParser , s1 , $b asParser)
-		/ ($c asParser , s1 , $c asParser).	
+		/ ($c asParser , s1 , $c asParser).
 	s1 def: s0 / nil asParser.
 	parser := s0 flatten end.
 
 	self assert: parser parse: 'aa' to: 'aa'.
 	self assert: parser parse: 'bb' to: 'bb'.
 	self assert: parser parse: 'cc' to: 'cc'.
-	
+
 	self assert: parser parse: 'abba' to: 'abba'.
 	self assert: parser parse: 'baab' to: 'baab'.
 
@@ -197,7 +197,7 @@
 testParseAaaBbb
 	"S0 ::= a S1 b
 	 S1 ::= S0 | epsilon"
-	
+
 	| s0 s1 parser |
 	s0 := PPUnresolvedParser new.
 	s1 := PPUnresolvedParser new.
@@ -223,7 +223,7 @@
 
 testParseAaaaaa
 	"S ::= a a S | epsilon"
-	
+
 	| s0 s1 parser |
 	s0 := PPUnresolvedParser new.
 	s1 := $a asParser , $a asParser , s0.
@@ -243,7 +243,7 @@
 
 testParseAbAbAb
 	"S ::= (A B)+"
-	
+
 	| parser |
 	parser := ($a asParser , $b asParser) plus flatten.
 
@@ -256,7 +256,7 @@
 	self assert: parser parse: 'ababa' to: 'abab' end: 4.
 	self assert: parser parse: 'abababb' to: 'ababab' end: 6.
 	self assert: parser parse: 'ababababa' to: 'abababab' end: 8.
-	
+
 	self assert: parser fail: ''.
 	self assert: parser fail: 'a'.
 	self assert: parser fail: 'bab'
@@ -285,35 +285,35 @@
 	self assert: parser parse: 'bc' to: 'b' end: 1.
 	self assert: parser parse: 'abc' to: 'ab' end: 2.
 	self assert: parser parse: 'bac' to: 'ba' end: 2.
-	
+
 	self assert: parser fail: ''.
 	self assert: parser fail: 'c'
 !
 
 testParseAnBnCn
-	"PEGs for a non context- free language: 
-		
+	"PEGs for a non context- free language:
+
 		a^n , b^n , c^n
-		
-	S <- &P1 P2 
-	P1 <- AB 'c' 
+
+	S <- &P1 P2
+	P1 <- AB 'c'
 	AB <- 'a' AB 'b' / epsilon
 	P2 <- 'a'* BC end
 	BC <- 'b' BC 'c' / epsilon"
-	
+
 	| s p1 ab p2 bc |
 	s := PPUnresolvedParser new.
 	p1 := PPUnresolvedParser new.
 	ab := PPUnresolvedParser new.
 	p2 := PPUnresolvedParser new.
 	bc := PPUnresolvedParser new.
-	
+
 	s def: (p1 and , p2 end) flatten.
 	p1 def: ab , $c asParser.
 	ab def: ($a asParser , ab , $b asParser) optional.
 	p2 def: $a asParser star , bc.
 	bc def: ($b asParser , bc , $c asParser) optional.
-	
+
 	self assert: s parse: 'abc' to: 'abc'.
 	self assert: s parse: 'aabbcc' to: 'aabbcc'.
 	self assert: s parse: 'aaabbbccc' to: 'aaabbbccc'.
@@ -374,12 +374,12 @@
 	self assert: self number parse: '12-' to: '12' end: 2.
 	self assert: self number parse: '12.3.' to: '12.3' end: 4.
 	self assert: self number parse: '12.34.' to: '12.34' end: 5.
-	
+
 	self assert: self number parse: '-1' to: '-1'.
 	self assert: self number parse: '-12' to: '-12'.
 	self assert: self number parse: '-12.3' to: '-12.3'.
 	self assert: self number parse: '-12.34' to: '-12.34'.
-	
+
 	self assert: self number fail: ''.
 	self assert: self number fail: '-'.
 	self assert: self number fail: '.'.
@@ -397,7 +397,7 @@
 	self assert: return parse: '^12' to: #(return '12').
 	self assert: return parse: '^ 123' to: #(return '123').
 	self assert: return parse: '^  1234' to: #(return '1234').
-	
+
 	self assert: return fail: '1'.
 	self assert: return fail: '^'
 ! !
@@ -405,5 +405,5 @@
 !PPComposedTest class methodsFor:'documentation'!
 
 version_SVN
-    ^ '$Id: PPComposedTest.st,v 1.1 2011-08-18 18:56:17 cg Exp $'
+    ^ '$Id: PPComposedTest.st,v 1.2 2012-01-13 11:22:50 cg Exp $'
 ! !
--- a/PPCompositeParser.st	Mon Sep 12 19:48:53 2011 +0200
+++ b/PPCompositeParser.st	Fri Jan 13 12:22:50 2012 +0100
@@ -1,4 +1,4 @@
-"{ Package: 'squeak:petitparser' }"
+"{ Package: 'stx:goodies/petitparser' }"
 
 PPDelegateParser subclass:#PPCompositeParser
 	instanceVariableNames:''
@@ -7,7 +7,7 @@
 	category:'PetitParser-Tools'
 !
 
-PPCompositeParser comment:'A PPCompositeParser is composed parser built from various primitive parsers. 
+PPCompositeParser comment:'A PPCompositeParser is composed parser built from various primitive parsers.
 Every production in the receiver is specified as a method that returns its parser. Note that every production requires an instance variable of the same name, otherwise the production is not cached and cannot be used in recursive grammars. Productions should refer to each other by reading the respective inst-var. Note: these inst-vars are typically not written, as the assignment happens in the initialize method using reflection.
 The start production is defined in the method start. It is aliased to the inst-var parser defined in the superclass of PPCompositeParser.'
 !
@@ -63,7 +63,7 @@
 
 start
 	"Answer the production to start this parser with."
-	
+
 	self subclassResponsibility
 ! !
 
@@ -71,7 +71,7 @@
 
 initializeStartingAt: aSymbol
 	| allVariableNames ignoredVariableNames productionIndexesAndNames |
-	self initialize.	
+	self initialize.
 
 	"find all the productions that need to be initialized"
 	allVariableNames := self class allInstVarNames
@@ -81,13 +81,13 @@
 	productionIndexesAndNames := ((1 to: self class instSize)
 		collect: [ :index | index -> (allVariableNames at: index) ])
 		reject: [ :assoc | ignoredVariableNames includes: assoc value ].
-	
+
 	"initialize productions with an undefined parser to be replaced later"
 	parser := PPUnresolvedParser named: aSymbol.
 	productionIndexesAndNames do: [ :assoc |
 		self instVarAt: assoc key put: (PPUnresolvedParser named: assoc value) ].
 	parser def: (self perform: aSymbol).
-	
+
 	"resolve unresolved parsers with their actual implementation"
 	productionIndexesAndNames do: [ :assoc |
 		(self respondsTo: assoc value)
@@ -99,13 +99,13 @@
 
 productionAt: aSymbol
 	"Answer the production named aSymbol."
-	
+
 	^ self productionAt: aSymbol ifAbsent: [ nil ]
 !
 
 productionAt: aSymbol ifAbsent: aBlock
 	"Answer the production named aSymbol, if there is no such production answer the result of evaluating aBlock."
-	
+
 	(self class ignoredNames includes: aSymbol asString)
 		ifTrue: [ ^ aBlock value ].
 	(self class startSymbol = aSymbol)
@@ -118,5 +118,5 @@
 !PPCompositeParser class methodsFor:'documentation'!
 
 version_SVN
-    ^ '$Id: PPCompositeParser.st,v 1.1 2011-08-18 18:56:17 cg Exp $'
+    ^ '$Id: PPCompositeParser.st,v 1.2 2012-01-13 11:22:50 cg Exp $'
 ! !
--- a/PPCompositeParserTest.st	Mon Sep 12 19:48:53 2011 +0200
+++ b/PPCompositeParserTest.st	Fri Jan 13 12:22:50 2012 +0100
@@ -1,4 +1,4 @@
-"{ Package: 'squeak:petitparser' }"
+"{ Package: 'stx:goodies/petitparser' }"
 
 PPAbstractParseTest subclass:#PPCompositeParserTest
 	instanceVariableNames:'parser result'
@@ -32,11 +32,11 @@
 
 !PPCompositeParserTest methodsFor:'parsing'!
 
-fail: aString rule: aSymbol 
+fail: aString rule: aSymbol
 	| production |
 	production := self parserInstance
 		productionAt: aSymbol.
-	result := production end 
+	result := production end
 		parse: aString.
 	self
 		assert: result isPetitFailure
@@ -44,7 +44,7 @@
 	^ result
 !
 
-parse: aString 
+parse: aString
 	^ self parse: aString rule: #start
 !
 
@@ -86,5 +86,5 @@
 !PPCompositeParserTest class methodsFor:'documentation'!
 
 version_SVN
-    ^ '$Id: PPCompositeParserTest.st,v 1.1 2011-08-18 18:56:17 cg Exp $'
+    ^ '$Id: PPCompositeParserTest.st,v 1.2 2012-01-13 11:22:50 cg Exp $'
 ! !
--- a/PPDelegateParser.st	Mon Sep 12 19:48:53 2011 +0200
+++ b/PPDelegateParser.st	Fri Jan 13 12:22:50 2012 +0100
@@ -1,4 +1,4 @@
-"{ Package: 'squeak:petitparser' }"
+"{ Package: 'stx:goodies/petitparser' }"
 
 PPParser subclass:#PPDelegateParser
 	instanceVariableNames:'parser'
@@ -9,7 +9,7 @@
 
 PPDelegateParser comment:'A parser that delegates to another parser.
 Instance Variables:
-	parser	<PPParser>	The parser to delegate to.'
+	parser  <PPParser>      The parser to delegate to.'
 !
 
 
@@ -40,5 +40,5 @@
 !PPDelegateParser class methodsFor:'documentation'!
 
 version_SVN
-    ^ '$Id: PPDelegateParser.st,v 1.1 2011-08-18 18:56:17 cg Exp $'
+    ^ '$Id: PPDelegateParser.st,v 1.2 2012-01-13 11:22:50 cg Exp $'
 ! !
--- a/PPEndOfInputParser.st	Mon Sep 12 19:48:53 2011 +0200
+++ b/PPEndOfInputParser.st	Fri Jan 13 12:22:50 2012 +0100
@@ -1,4 +1,4 @@
-"{ Package: 'squeak:petitparser' }"
+"{ Package: 'stx:goodies/petitparser' }"
 
 PPDelegateParser subclass:#PPEndOfInputParser
 	instanceVariableNames:''
@@ -35,5 +35,5 @@
 !PPEndOfInputParser class methodsFor:'documentation'!
 
 version_SVN
-    ^ '$Id: PPEndOfInputParser.st,v 1.1 2011-08-18 18:56:17 cg Exp $'
+    ^ '$Id: PPEndOfInputParser.st,v 1.2 2012-01-13 11:22:50 cg Exp $'
 ! !
--- a/PPEpsilonParser.st	Mon Sep 12 19:48:53 2011 +0200
+++ b/PPEpsilonParser.st	Fri Jan 13 12:22:50 2012 +0100
@@ -1,4 +1,4 @@
-"{ Package: 'squeak:petitparser' }"
+"{ Package: 'stx:goodies/petitparser' }"
 
 PPParser subclass:#PPEpsilonParser
 	instanceVariableNames:''
@@ -20,5 +20,5 @@
 !PPEpsilonParser class methodsFor:'documentation'!
 
 version_SVN
-    ^ '$Id: PPEpsilonParser.st,v 1.1 2011-08-18 18:56:17 cg Exp $'
+    ^ '$Id: PPEpsilonParser.st,v 1.2 2012-01-13 11:22:50 cg Exp $'
 ! !
--- a/PPExpressionParser.st	Mon Sep 12 19:48:53 2011 +0200
+++ b/PPExpressionParser.st	Fri Jan 13 12:22:50 2012 +0100
@@ -1,4 +1,4 @@
-"{ Package: 'squeak:petitparser' }"
+"{ Package: 'stx:goodies/petitparser' }"
 
 PPDelegateParser subclass:#PPExpressionParser
 	instanceVariableNames:'operators'
@@ -10,16 +10,16 @@
 PPExpressionParser comment:'A PPExpressionParser is a parser to conveniently define an expression grammar with prefix, postfix, and left- and right-associative infix operators.
 The following code initializes a parser for arithmetic expressions. First we instantiate an expression parser, a simple parser for expressions in parenthesis and a simple parser for integer numbers.
 	expression := PPExpressionParser new.
-	parens := $( asParser token trim , expression , $) asParser token trim 
+	parens := $( asParser token trim , expression , $) asParser token trim
 		==> [ :nodes | nodes second ].
 	integer := #digit asParser plus token trim
 		==> [ :token | token value asInteger ].
-	
+
 Then we define on what term the expression grammar is built on:
 	expression term: parens / integer.
-	
-Finally we define the operator-groups in descending precedence. Note, that the action blocks receive both, the terms and the parsed operator in the order they appear in the parsed input. 
-	
+
+Finally we define the operator-groups in descending precedence. Note, that the action blocks receive both, the terms and the parsed operator in the order they appear in the parsed input.
+
 	expression
 		group: [ :g |
 			g prefix: $- asParser token trim do: [ :op :a | a negated ] ];
@@ -34,7 +34,7 @@
 		group: [ :g |
 			g left: $+ asParser token trim do: [ :a :op :b | a + b ].
 			g left: $- asParser token trim do: [ :a :op :b | a - b ] ].
-		
+
 After evaluating the above code the ''expression'' is an efficient parser that evaluates examples like:
 	expression parse: ''-8++''.
 	expression parse: ''1+2*3''.
@@ -44,9 +44,9 @@
 	expression parse: ''8/(4/2)''.
 	expression parse: ''2^2^3''.
 	expression parse: ''(2^2)^3''.
-	
+
 Instance Variables:
-	operators	<Dictionary>	The operators defined in the current group.'
+	operators       <Dictionary>    The operators defined in the current group.'
 !
 
 
@@ -76,10 +76,10 @@
 			ifTrue: [ term ]
 			ifFalse: [
 				self
-					perform: selector with: term 
+					perform: selector with: term
 					with: (list size = 1
 						ifTrue: [ list first first ==> [ :operator | Array with: list first second with: operator ] ]
-						ifFalse: [ 
+						ifFalse: [
 							list
 								inject: PPChoiceParser new
 								into: [ :choice :each | choice / (each first ==> [ :operator | Array with: each second with: operator ]) ] ]) ] ]
@@ -102,17 +102,17 @@
 
 group: aOneArgumentBlock
 	"Defines a priority group by evaluating aOneArgumentBlock."
-	
+
 	operators := Dictionary new.
-	parser := [ 
+	parser := [
 		aOneArgumentBlock value: self.
-	 	self buildOn: parser ]
+		self buildOn: parser ]
 			ensure: [ operators := nil ]
 !
 
 left: aParser do: aThreeArgumentBlock
 	"Define an operator aParser that is left-associative. Evaluate aThreeArgumentBlock with the first term, the operator, and the second term."
-	
+
 	self operator: #build:left: parser: aParser do: aThreeArgumentBlock
 !
 
@@ -130,13 +130,13 @@
 
 right: aParser do: aThreeArgumentBlock
 	"Define an operator aParser that is right-associative. Evaluate aThreeArgumentBlock with the first term, the operator, and the second term."
-	
+
 	self operator: #build:right: parser: aParser do: aThreeArgumentBlock
 !
 
 term: aParser
 	"Defines the initial term aParser of the receiver."
-	
+
 	parser isNil
 		ifTrue: [ parser := aParser ]
 		ifFalse: [ self error: 'Unable to redefine the term.' ]
@@ -145,5 +145,5 @@
 !PPExpressionParser class methodsFor:'documentation'!
 
 version_SVN
-    ^ '$Id: PPExpressionParser.st,v 1.1 2011-08-18 18:56:17 cg Exp $'
+    ^ '$Id: PPExpressionParser.st,v 1.2 2012-01-13 11:22:50 cg Exp $'
 ! !
--- a/PPExpressionParserTest.st	Mon Sep 12 19:48:53 2011 +0200
+++ b/PPExpressionParserTest.st	Fri Jan 13 12:22:50 2012 +0100
@@ -1,4 +1,4 @@
-"{ Package: 'squeak:petitparser' }"
+"{ Package: 'stx:goodies/petitparser' }"
 
 PPArithmeticParserTest subclass:#PPExpressionParserTest
 	instanceVariableNames:''
@@ -73,5 +73,5 @@
 !PPExpressionParserTest class methodsFor:'documentation'!
 
 version_SVN
-    ^ '$Id: PPExpressionParserTest.st,v 1.1 2011-08-18 18:56:17 cg Exp $'
+    ^ '$Id: PPExpressionParserTest.st,v 1.2 2012-01-13 11:22:50 cg Exp $'
 ! !
--- a/PPExtensionTest.st	Mon Sep 12 19:48:53 2011 +0200
+++ b/PPExtensionTest.st	Fri Jan 13 12:22:50 2012 +0100
@@ -1,4 +1,4 @@
-"{ Package: 'squeak:petitparser' }"
+"{ Package: 'stx:goodies/petitparser' }"
 
 PPAbstractParseTest subclass:#PPExtensionTest
 	instanceVariableNames:''
@@ -28,12 +28,12 @@
 	self assert: parser parse: 'aas' to: 'aa'.
 	self assert: parser parse: 'sa' to: '' end: 1.
 	self assert: parser parse: 'saa' to: '' end: 1.
-	
+
 	parser := [ :stream | stream upTo: $s. PPFailure message: 'stream' at: stream position ] asParser.
 	self assert: parser fail: ''.
 	self assert: parser fail: 's'.
 	self assert: parser fail: 'as'
-	
+
 !
 
 testEpsilon
@@ -60,12 +60,12 @@
 !
 
 testRange
-        | parser |
-        parser := $a ppMinus: $c.
-        self assert: parser parse: 'a' to: $a.
-        self assert: parser parse: 'b' to: $b.
-        self assert: parser parse: 'c' to: $c.
-        self assert: parser fail: 'd'
+	| parser |
+	parser := $a ppMinus: $c.
+	self assert: parser parse: 'a' to: $a.
+	self assert: parser parse: 'b' to: $b.
+	self assert: parser parse: 'c' to: $c.
+	self assert: parser fail: 'd'
 
     "Modified: / 19-12-2010 / 18:15:45 / Jan Kurs <kurs.jan@post.cz>"
 !
@@ -121,5 +121,5 @@
 !PPExtensionTest class methodsFor:'documentation'!
 
 version_SVN
-    ^ '$Id: PPExtensionTest.st,v 1.1 2011-08-18 18:56:17 cg Exp $'
+    ^ '$Id: PPExtensionTest.st,v 1.2 2012-01-13 11:22:50 cg Exp $'
 ! !
--- a/PPFailingParser.st	Mon Sep 12 19:48:53 2011 +0200
+++ b/PPFailingParser.st	Fri Jan 13 12:22:50 2012 +0100
@@ -1,4 +1,4 @@
-"{ Package: 'squeak:petitparser' }"
+"{ Package: 'stx:goodies/petitparser' }"
 
 PPParser subclass:#PPFailingParser
 	instanceVariableNames:'message'
@@ -9,7 +9,7 @@
 
 PPFailingParser comment:'A parser that consumes nothing and always fails.
 Instance Variables:
-	message <String>	The failure message.'
+	message <String>        The failure message.'
 !
 
 
@@ -49,5 +49,5 @@
 !PPFailingParser class methodsFor:'documentation'!
 
 version_SVN
-    ^ '$Id: PPFailingParser.st,v 1.1 2011-08-18 18:56:17 cg Exp $'
+    ^ '$Id: PPFailingParser.st,v 1.2 2012-01-13 11:22:50 cg Exp $'
 ! !
--- a/PPFailure.st	Mon Sep 12 19:48:53 2011 +0200
+++ b/PPFailure.st	Fri Jan 13 12:22:50 2012 +0100
@@ -1,4 +1,4 @@
-"{ Package: 'squeak:petitparser' }"
+"{ Package: 'stx:goodies/petitparser' }"
 
 Object subclass:#PPFailure
 	instanceVariableNames:'message position'
@@ -9,8 +9,8 @@
 
 PPFailure comment:'The failure object in PetitParser. It is the only class that responds to #isPetitFailure with true. It contains an error message and a position of the occurrence of the failure.
 Instance Variables:
-	message	<String>	The error message of this failure.
-	position	<Integer>	The position of this failure in the input stream.
+	message <String>        The error message of this failure.
+	position        <Integer>       The position of this failure in the input stream.
 '
 !
 
@@ -25,7 +25,7 @@
 
 message
 	"Answer a human readable error message of this parse failure."
-	
+
 	^ message
 !
 
@@ -59,5 +59,5 @@
 !PPFailure class methodsFor:'documentation'!
 
 version_SVN
-    ^ '$Id: PPFailure.st,v 1.1 2011-08-18 18:56:17 cg Exp $'
+    ^ '$Id: PPFailure.st,v 1.2 2012-01-13 11:22:50 cg Exp $'
 ! !
--- a/PPFlattenParser.st	Mon Sep 12 19:48:53 2011 +0200
+++ b/PPFlattenParser.st	Fri Jan 13 12:22:50 2012 +0100
@@ -1,4 +1,4 @@
-"{ Package: 'squeak:petitparser' }"
+"{ Package: 'stx:goodies/petitparser' }"
 
 PPDelegateParser subclass:#PPFlattenParser
 	instanceVariableNames:''
@@ -33,5 +33,5 @@
 !PPFlattenParser class methodsFor:'documentation'!
 
 version_SVN
-    ^ '$Id: PPFlattenParser.st,v 1.1 2011-08-18 18:56:17 cg Exp $'
+    ^ '$Id: PPFlattenParser.st,v 1.2 2012-01-13 11:22:50 cg Exp $'
 ! !
--- a/PPLambdaParser.st	Mon Sep 12 19:48:53 2011 +0200
+++ b/PPLambdaParser.st	Fri Jan 13 12:22:50 2012 +0100
@@ -1,4 +1,4 @@
-"{ Package: 'squeak:petitparser' }"
+"{ Package: 'stx:goodies/petitparser' }"
 
 PPCompositeParser subclass:#PPLambdaParser
 	instanceVariableNames:'expression abstraction application variable'
@@ -61,5 +61,5 @@
 !PPLambdaParser class methodsFor:'documentation'!
 
 version_SVN
-    ^ '$Id: PPLambdaParser.st,v 1.1 2011-08-18 18:56:17 cg Exp $'
+    ^ '$Id: PPLambdaParser.st,v 1.2 2012-01-13 11:22:50 cg Exp $'
 ! !
--- a/PPLambdaParserTest.st	Mon Sep 12 19:48:53 2011 +0200
+++ b/PPLambdaParserTest.st	Fri Jan 13 12:22:50 2012 +0100
@@ -1,4 +1,4 @@
-"{ Package: 'squeak:petitparser' }"
+"{ Package: 'stx:goodies/petitparser' }"
 
 PPCompositeParserTest subclass:#PPLambdaParserTest
 	instanceVariableNames:''
@@ -63,41 +63,41 @@
 !PPLambdaParserTest methodsFor:'testing-utilities'!
 
 testParseOnError
-        | beenHere |
-        result := self parserClass
-                parse: '\x.y'
-                onError: [ self fail ].
-        self assert: result = #('x' 'y').
-        
-        beenHere := false.
-        result := self parserClass
-                parse: '\x.'
-                onError: [ beenHere := true ].
-        self assert: beenHere.
-        
-        beenHere := false.
-        result := self parserClass
-                parse: '\x.'
-                onError: [ :fail | beenHere := true. fail ].
-        self assert: beenHere.
-        "We don't use $ before character sign in ST/X"
-        self assert: (result message includesSubString: '(').
+	| beenHere |
+	result := self parserClass
+		parse: '\x.y'
+		onError: [ self fail ].
+	self assert: result = #('x' 'y').
+
+	beenHere := false.
+	result := self parserClass
+		parse: '\x.'
+		onError: [ beenHere := true ].
+	self assert: beenHere.
+
+	beenHere := false.
+	result := self parserClass
+		parse: '\x.'
+		onError: [ :fail | beenHere := true. fail ].
+	self assert: beenHere.
+	"We don't use $ before character sign in ST/X"
+	self assert: (result message includesSubString: '(').
 "/        self assert: (result message includesSubString: '$(').
-        self assert: (result message includesSubString: 'expected').
-        self assert: (result position = 0).
+	self assert: (result message includesSubString: 'expected').
+	self assert: (result position = 0).
 
-        beenHere := false.
-        result := self parserClass
-                parse: '\x.'
-                onError: [ :msg :pos | 
-                        "We don't use $ before character sign in ST/X"
-                        self assert: (msg includesSubString: '(').
+	beenHere := false.
+	result := self parserClass
+		parse: '\x.'
+		onError: [ :msg :pos |
+			"We don't use $ before character sign in ST/X"
+			self assert: (msg includesSubString: '(').
 "/                        self assert: (msg includesSubString: '$(').
-                        self assert: (msg includesSubString: 'expected').
-                        self assert: (pos = 0).
-                        beenHere := true ].
-        self assert: result.
-        self assert: beenHere
+			self assert: (msg includesSubString: 'expected').
+			self assert: (pos = 0).
+			beenHere := true ].
+	self assert: result.
+	self assert: beenHere
 
     "Modified: / 19-12-2010 / 16:52:33 / Jan Kurs <kurs.jan@post.cz>"
 !
@@ -109,14 +109,14 @@
 		startingAt: #variable
 		onError: [ self fail ].
 	self assert: result = 'x'.
-	
+
 	beenHere := false.
 	result := self parserClass
 		parse: '\'
 		startingAt: #variable
 		onError: [ beenHere := true ].
 	self assert: beenHere.
-	
+
 	beenHere := false.
 	result := self parserClass
 		parse: '\'
@@ -130,7 +130,7 @@
 	result := self parserClass
 		parse: '\'
 		startingAt: #variable
-		onError: [ :msg :pos | 
+		onError: [ :msg :pos |
 			self assert: msg = 'letter expected'.
 			self assert: pos = 0.
 			beenHere := true ].
@@ -140,10 +140,10 @@
 testProductionAt
 	self assert: (parser productionAt: #foo) isNil.
 	self assert: (parser productionAt: #foo ifAbsent: [ true ]).
-	
+
 	self assert: (parser productionAt: #start) notNil.
 	self assert: (parser productionAt: #start ifAbsent: [ true ]) notNil.
-	
+
 	self assert: (parser productionAt: #variable) notNil.
 	self assert: (parser productionAt: #variable ifAbsent: [ true ]) notNil
 ! !
@@ -151,5 +151,5 @@
 !PPLambdaParserTest class methodsFor:'documentation'!
 
 version_SVN
-    ^ '$Id: PPLambdaParserTest.st,v 1.1 2011-08-18 18:56:17 cg Exp $'
+    ^ '$Id: PPLambdaParserTest.st,v 1.2 2012-01-13 11:22:50 cg Exp $'
 ! !
--- a/PPListParser.st	Mon Sep 12 19:48:53 2011 +0200
+++ b/PPListParser.st	Fri Jan 13 12:22:50 2012 +0100
@@ -1,4 +1,4 @@
-"{ Package: 'squeak:petitparser' }"
+"{ Package: 'stx:goodies/petitparser' }"
 
 PPParser subclass:#PPListParser
 	instanceVariableNames:'parsers'
@@ -9,7 +9,7 @@
 
 PPListParser comment:'Abstract parser that parses a list of things in some way (to be specified by the subclasses).
 Instance Variables:
-	parsers	<SequenceableCollection of: PPParser>	A sequence of other parsers to delegate to.'
+	parsers <SequenceableCollection of: PPParser>   A sequence of other parsers to delegate to.'
 !
 
 
@@ -58,5 +58,5 @@
 !PPListParser class methodsFor:'documentation'!
 
 version_SVN
-    ^ '$Id: PPListParser.st,v 1.1 2011-08-18 18:56:17 cg Exp $'
+    ^ '$Id: PPListParser.st,v 1.2 2012-01-13 11:22:50 cg Exp $'
 ! !
--- a/PPLiteralObjectParser.st	Mon Sep 12 19:48:53 2011 +0200
+++ b/PPLiteralObjectParser.st	Fri Jan 13 12:22:50 2012 +0100
@@ -1,4 +1,4 @@
-"{ Package: 'squeak:petitparser' }"
+"{ Package: 'stx:goodies/petitparser' }"
 
 PPLiteralParser subclass:#PPLiteralObjectParser
 	instanceVariableNames:''
@@ -15,7 +15,7 @@
 
 caseInsensitive
 	"Answer a parser that can parse the receiver case-insensitive."
-	
+
 	literal asUppercase = literal asLowercase ifTrue: [ ^ self ].
 	^ PPPredicateObjectParser on: [ :value | literal sameAs: value ] message: message
 ! !
@@ -31,5 +31,5 @@
 !PPLiteralObjectParser class methodsFor:'documentation'!
 
 version_SVN
-    ^ '$Id: PPLiteralObjectParser.st,v 1.1 2011-08-18 18:56:17 cg Exp $'
+    ^ '$Id: PPLiteralObjectParser.st,v 1.2 2012-01-13 11:22:50 cg Exp $'
 ! !
--- a/PPLiteralParser.st	Mon Sep 12 19:48:53 2011 +0200
+++ b/PPLiteralParser.st	Fri Jan 13 12:22:50 2012 +0100
@@ -1,4 +1,4 @@
-"{ Package: 'squeak:petitparser' }"
+"{ Package: 'stx:goodies/petitparser' }"
 
 PPParser subclass:#PPLiteralParser
 	instanceVariableNames:'literal message'
@@ -9,8 +9,8 @@
 
 PPLiteralParser comment:'Abstract literal parser that parses some kind of literal type (to be specified by subclasses).
 Instance Variables:
-	literal	<Object>	The literal object to be parsed.
-	message	<String>	The error message to be generated.
+	literal <Object>        The literal object to be parsed.
+	message <String>        The error message to be generated.
 '
 !
 
@@ -35,7 +35,7 @@
 
 message
 	"Answer the failure message."
-	
+
 	^ message
 ! !
 
@@ -50,7 +50,7 @@
 
 caseInsensitive
 	"Answer a parser that can parse the receiver case-insensitive."
-	
+
 	self subclassResponsibility
 ! !
 
@@ -64,5 +64,5 @@
 !PPLiteralParser class methodsFor:'documentation'!
 
 version_SVN
-    ^ '$Id: PPLiteralParser.st,v 1.1 2011-08-18 18:56:17 cg Exp $'
+    ^ '$Id: PPLiteralParser.st,v 1.2 2012-01-13 11:22:50 cg Exp $'
 ! !
--- a/PPLiteralSequenceParser.st	Mon Sep 12 19:48:53 2011 +0200
+++ b/PPLiteralSequenceParser.st	Fri Jan 13 12:22:50 2012 +0100
@@ -1,4 +1,4 @@
-"{ Package: 'squeak:petitparser' }"
+"{ Package: 'stx:goodies/petitparser' }"
 
 PPLiteralParser subclass:#PPLiteralSequenceParser
 	instanceVariableNames:'size'
@@ -30,7 +30,7 @@
 
 caseInsensitive
 	"Answer a parser that can parse the receiver case-insensitive."
-	
+
 	literal asUppercase = literal asLowercase ifTrue: [ ^ self ].
 	^ PPPredicateSequenceParser on: [ :value | literal sameAs: value ] message: message size: size
 ! !
@@ -49,5 +49,5 @@
 !PPLiteralSequenceParser class methodsFor:'documentation'!
 
 version_SVN
-    ^ '$Id: PPLiteralSequenceParser.st,v 1.1 2011-08-18 18:56:17 cg Exp $'
+    ^ '$Id: PPLiteralSequenceParser.st,v 1.2 2012-01-13 11:22:50 cg Exp $'
 ! !
--- a/PPMappingTest.st	Mon Sep 12 19:48:53 2011 +0200
+++ b/PPMappingTest.st	Fri Jan 13 12:22:50 2012 +0100
@@ -1,4 +1,4 @@
-"{ Package: 'squeak:petitparser' }"
+"{ Package: 'stx:goodies/petitparser' }"
 
 PPAbstractParseTest subclass:#PPMappingTest
 	instanceVariableNames:''
@@ -12,7 +12,7 @@
 
 testFoldLeft2
 	| parser |
-	parser := #any asParser star 
+	parser := #any asParser star
 		foldLeft: [ :a :b | Array with: a with: b ].
 
 	self assert: parser parse: #(a) to: #a.
@@ -24,7 +24,7 @@
 
 testFoldLeft3
 	| parser |
-	parser := #any asParser star 
+	parser := #any asParser star
 		foldLeft: [ :a :b :c | Array with: a with: b with: c ].
 
 	self assert: parser parse: #(a) to: #a.
@@ -34,7 +34,7 @@
 
 testFoldRight2
 	| parser |
-	parser := #any asParser star 
+	parser := #any asParser star
 		foldRight: [ :a :b | Array with: a with: b ].
 
 	self assert: parser parse: #(a) to: #a.
@@ -46,7 +46,7 @@
 
 testFoldRight3
 	| parser |
-	parser := #any asParser star 
+	parser := #any asParser star
 		foldRight: [ :a :b :c | Array with: a with: b with: c ].
 
 	self assert: parser parse: #(a) to: #a.
@@ -56,7 +56,7 @@
 
 testMap1
 	| parser |
-	parser := #any asParser 
+	parser := #any asParser
 		map: [ :a | Array with: a ].
 
 	self assert: parser parse: #(a) to: #(a)
@@ -64,7 +64,7 @@
 
 testMap2
 	| parser |
-	parser := (#any asParser , #any asParser) 
+	parser := (#any asParser , #any asParser)
 		map: [ :a :b | Array with: b with: a ].
 
 	self assert: parser parse: #(a b) to: #(b a)
@@ -81,5 +81,5 @@
 !PPMappingTest class methodsFor:'documentation'!
 
 version_SVN
-    ^ '$Id: PPMappingTest.st,v 1.1 2011-08-18 18:56:17 cg Exp $'
+    ^ '$Id: PPMappingTest.st,v 1.2 2012-01-13 11:22:50 cg Exp $'
 ! !
--- a/PPMemento.st	Mon Sep 12 19:48:53 2011 +0200
+++ b/PPMemento.st	Fri Jan 13 12:22:50 2012 +0100
@@ -1,4 +1,4 @@
-"{ Package: 'squeak:petitparser' }"
+"{ Package: 'stx:goodies/petitparser' }"
 
 Object subclass:#PPMemento
 	instanceVariableNames:'result count position'
@@ -9,9 +9,9 @@
 
 PPMemento comment:'PPMemento is an internal class used by PPMemoizedParser to cache results and detect left-recursive calls.
 Instance Variables:
-	result	<Object>	The cached result.
-	count	<Integer>	The number of recursive cycles followed.
-	position	<Integer>	The position of the cached result in the input stream.'
+	result  <Object>        The cached result.
+	count   <Integer>       The number of recursive cycles followed.
+	position        <Integer>       The position of the cached result in the input stream.'
 !
 
 
@@ -55,11 +55,11 @@
 
 initialize
 	count := 0
-	
+
 ! !
 
 !PPMemento class methodsFor:'documentation'!
 
 version_SVN
-    ^ '$Id: PPMemento.st,v 1.1 2011-08-18 18:56:17 cg Exp $'
+    ^ '$Id: PPMemento.st,v 1.2 2012-01-13 11:22:50 cg Exp $'
 ! !
--- a/PPMemoizedParser.st	Mon Sep 12 19:48:53 2011 +0200
+++ b/PPMemoizedParser.st	Fri Jan 13 12:22:50 2012 +0100
@@ -1,4 +1,4 @@
-"{ Package: 'squeak:petitparser' }"
+"{ Package: 'stx:goodies/petitparser' }"
 
 PPDelegateParser subclass:#PPMemoizedParser
 	instanceVariableNames:'stream buffer'
@@ -9,8 +9,8 @@
 
 PPMemoizedParser comment:'A memoized parser, for refraining redundant computations.
 Instance Variables:
-	stream	<PositionableStream>	The stream of the associated memento objects.
-	buffer	<Array of: PPMemento>	The buffer of memento objects.
+	stream  <PositionableStream>    The stream of the associated memento objects.
+	buffer  <Array of: PPMemento>   The buffer of memento objects.
 '
 !
 
@@ -51,5 +51,5 @@
 !PPMemoizedParser class methodsFor:'documentation'!
 
 version_SVN
-    ^ '$Id: PPMemoizedParser.st,v 1.1 2011-08-18 18:56:17 cg Exp $'
+    ^ '$Id: PPMemoizedParser.st,v 1.2 2012-01-13 11:22:50 cg Exp $'
 ! !
--- a/PPNotParser.st	Mon Sep 12 19:48:53 2011 +0200
+++ b/PPNotParser.st	Fri Jan 13 12:22:50 2012 +0100
@@ -1,4 +1,4 @@
-"{ Package: 'squeak:petitparser' }"
+"{ Package: 'stx:goodies/petitparser' }"
 
 PPDelegateParser subclass:#PPNotParser
 	instanceVariableNames:''
@@ -25,5 +25,5 @@
 !PPNotParser class methodsFor:'documentation'!
 
 version_SVN
-    ^ '$Id: PPNotParser.st,v 1.1 2011-08-18 18:56:17 cg Exp $'
+    ^ '$Id: PPNotParser.st,v 1.2 2012-01-13 11:22:50 cg Exp $'
 ! !
--- a/PPObjectTest.st	Mon Sep 12 19:48:53 2011 +0200
+++ b/PPObjectTest.st	Fri Jan 13 12:22:50 2012 +0100
@@ -1,4 +1,4 @@
-"{ Package: 'squeak:petitparser' }"
+"{ Package: 'stx:goodies/petitparser' }"
 
 PPAbstractParseTest subclass:#PPObjectTest
 	instanceVariableNames:''
@@ -38,7 +38,7 @@
 
 testFibonacci
 	"This parser accepts fibonacci sequences with arbitrary start pairs."
-	
+
 	| parser |
 	parser := ((self integer , self integer) end ==> [ :pair | pair first + pair last ])
 		/ (self integer , (self integer , self integer) and >=> [ :stream :continuation |
@@ -56,7 +56,7 @@
 	self assert: parser fail: #().
 	self assert: parser fail: #(1).
 	self assert: parser fail: #(1 2 3 4) end: 2
-	
+
 ! !
 
 !PPObjectTest methodsFor:'testing-operators'!
@@ -75,11 +75,11 @@
 	self assert: parser fail: #(123 456).
 	self assert: parser fail: #('abc' 'def').
 	self assert: parser fail: #('abc' 123)
-	
+
 ! !
 
 !PPObjectTest class methodsFor:'documentation'!
 
 version_SVN
-    ^ '$Id: PPObjectTest.st,v 1.1 2011-08-18 18:56:17 cg Exp $'
+    ^ '$Id: PPObjectTest.st,v 1.2 2012-01-13 11:22:50 cg Exp $'
 ! !
--- a/PPOptionalParser.st	Mon Sep 12 19:48:53 2011 +0200
+++ b/PPOptionalParser.st	Fri Jan 13 12:22:50 2012 +0100
@@ -1,4 +1,4 @@
-"{ Package: 'squeak:petitparser' }"
+"{ Package: 'stx:goodies/petitparser' }"
 
 PPDelegateParser subclass:#PPOptionalParser
 	instanceVariableNames:''
@@ -19,5 +19,5 @@
 !PPOptionalParser class methodsFor:'documentation'!
 
 version_SVN
-    ^ '$Id: PPOptionalParser.st,v 1.1 2011-08-18 18:56:17 cg Exp $'
+    ^ '$Id: PPOptionalParser.st,v 1.2 2012-01-13 11:22:50 cg Exp $'
 ! !
--- a/PPParser.st	Mon Sep 12 19:48:53 2011 +0200
+++ b/PPParser.st	Fri Jan 13 12:22:50 2012 +0100
@@ -1,4 +1,4 @@
-"{ Package: 'squeak:petitparser' }"
+"{ Package: 'stx:goodies/petitparser' }"
 
 Object subclass:#PPParser
 	instanceVariableNames:'properties'
@@ -9,7 +9,7 @@
 
 PPParser comment:'An abstract parser for all parsers in PetitParser. Subclasses implement #parseOn: to perform the actual recursive-descent parsing. All parsers support a variety of methods to perform an actual parse, see the methods in the #parsing protocol. Parsers are combined with a series of operators that can be found in the #operations protocol.
 Instance Variables:
-	properties	<Dictionary>	Stores additional state in the parser object.'
+	properties      <Dictionary>    Stores additional state in the parser object.'
 !
 
 
@@ -33,7 +33,7 @@
 
 name
 	"Answer the production name of the receiver."
-	
+
 	^ self propertyAt: #name ifAbsent: [ nil ]
 !
 
@@ -45,19 +45,19 @@
 
 hasProperty: aKey
 	"Test if the property aKey is present."
-	
+
 	^ properties notNil and: [ properties includesKey: aKey ]
 !
 
 propertyAt: aKey
 	"Answer the property value associated with aKey."
-	
+
 	^ self propertyAt: aKey ifAbsent: [ self error: 'Property not found' ]
 !
 
 propertyAt: aKey ifAbsent: aBlock
 	"Answer the property value associated with aKey or, if aKey isn't found, answer the result of evaluating aBlock."
-	
+
 	^ properties isNil
 		ifTrue: [ aBlock value ]
 		ifFalse: [ properties at: aKey ifAbsent: aBlock ]
@@ -65,7 +65,7 @@
 
 propertyAt: aKey ifAbsentPut: aBlock
 	"Answer the property associated with aKey or, if aKey isn't found store the result of evaluating aBlock as new value."
-	
+
 	^ self propertyAt: aKey ifAbsent: [ self propertyAt: aKey put: aBlock value ]
 !
 
@@ -78,13 +78,13 @@
 
 removeProperty: aKey
 	"Remove the property with aKey. Answer the property or raise an error if aKey isn't found."
-	
+
 	^ self removeProperty: aKey ifAbsent: [ self error: 'Property not found' ]
 !
 
 removeProperty: aKey ifAbsent: aBlock
 	"Remove the property with aKey. Answer the value or, if aKey isn't found, answer the result of evaluating aBlock."
-	
+
 	| answer |
 	properties isNil ifTrue: [ ^ aBlock value ].
 	answer := properties removeKey: aKey ifAbsent: aBlock.
@@ -112,15 +112,15 @@
 
 !PPParser methodsFor:'operations'!
 
-, aParser 
+, aParser
 	"Answer a new parser that parses the receiver followed by aParser."
 
 	^ PPSequenceParser with: self with: aParser
 !
 
-/ aParser 
+/ aParser
 	"Answer a new parser that parses the receiver, if the receiver fails try with aParser (ordered-choice)."
-	
+
 	^ PPChoiceParser with: self with: aParser
 !
 
@@ -144,31 +144,31 @@
 
 max: anInteger
 	"Answer a new parser that parses the receiver at most anInteger times."
-	
+
 	^ PPRepeatingParser on: self max: anInteger
 !
 
 memoized
 	"Answer a new memoized parser, for refraining redundant computations. This ensures polynomial time O(n^4) for left-recursive grammars and O(n^3) for non left-recursive grammars in the worst case. Not necessary for most grammars that are carefully written and in O(n) anyway."
-	
+
 	^ PPMemoizedParser on: self
 !
 
 min: anInteger
 	"Answer a new parser that parses the receiver at least anInteger times."
-	
+
 	^ PPRepeatingParser on: self min: anInteger
 !
 
 min: aMinInteger max: aMaxInteger
 	"Answer a new parser that parses the receiver at least aMinInteger and at most aMaxInteger times."
-	
+
 	^ PPRepeatingParser on: self min: aMinInteger max: aMaxInteger
 !
 
 negate
 	"Answer a new parser consumes any input token but the receiver."
-	
+
 	^ self not , #any asParser ==> #second
 !
 
@@ -192,13 +192,13 @@
 
 plusGreedy: aParser
 	"Answer a new parser that parses the receiver one or more times until it reaches aParser. This is a greedy non-blind implementation of the star operator. aParser is not consumed."
-	
+
 	^ self , (self starGreedy: aParser) map: [ :first :rest | rest copyWithFirst: first ]
 !
 
 plusLazy: aParser
 	"Answer a new parser that parses the receiver one or more times until it reaches aParser. This is a lazy non-blind implementation of the star operator. aParser is not consumed."
-	
+
 	^ self , (self starLazy: aParser) map: [ :first :rest | rest copyWithFirst: first ]
 !
 
@@ -210,7 +210,7 @@
 
 starGreedy: aParser
 	"Answer a new parser that parses the receiver zero or more times until it reaches aParser. This is a greedy non-blind implementation of the star operator. aParser is not consumed."
-	
+
 	| parser |
 	parser := PPChoiceParser new.
 	parser setParsers: (Array
@@ -221,7 +221,7 @@
 
 starLazy: aParser
 	"Answer a new parser that parses the receiver zero or more times until it reaches aParser. This is a lazy non-blind implementation of the star operator. aParser is not consumed."
-	
+
 	| parser |
 	parser := PPChoiceParser new.
 	parser setParsers: (Array
@@ -232,13 +232,13 @@
 
 times: anInteger
 	"Answer a new parser that parses the receiver exactly anInteger times."
-	
+
 	^ self min: anInteger max: anInteger
 !
 
 wrapped
 	"Answer a new parser that is simply wrapped."
-	
+
 	^ PPDelegateParser on: self
 !
 
@@ -252,7 +252,7 @@
 
 delimitedBy: aParser
 	"Answer a new parser that parses the receiver one or more times, separated and possibly ended by aParser."
-	
+
 	^ (self separatedBy: aParser) , (aParser optional) ==> [ :node |
 		node second isNil
 			ifTrue: [ node first ]
@@ -261,12 +261,12 @@
 
 separatedBy: aParser
 	"Answer a new parser that parses the receiver one or more times, separated by aParser."
-	
+
 	^ (PPSequenceParser with: self with: (PPSequenceParser with: aParser with: self) star) ==> [ :nodes |
 		| result |
 		result := Array new: 2 * nodes second size + 1.
 		result at: 1 put: nodes first.
-		nodes second 
+		nodes second
 			keysAndValuesDo: [ :index :pair | result replaceFrom: 2 * index to: 2 * index + 1 with: pair startingAt: 1 ].
 		result ]
 ! !
@@ -293,13 +293,13 @@
 
 flatten
 	"Answer a new parser that flattens the underlying collection."
-	
+
 	^ PPFlattenParser on: self
 !
 
 foldLeft: aBlock
 	"Answer a new parser that that folds the result of the receiver from left-to-right into aBlock. The argument aBlock must take two or more arguments."
-	
+
 	| size args |
 	size := aBlock numArgs.
 	args := Array new: size.
@@ -329,37 +329,37 @@
 
 map: aBlock
 	"Answer a new parser that works on the receiving sequence an passes in each element as a block argument."
-	
+
 	^ self ==> aBlock
 !
 
 token
 	"Answer a new parser that transforms the input to a token."
-	
+
 	^ PPTokenParser on: self
 !
 
 token: aTokenClass
 	"Answer a new parser that transforms the input to a token of class aTokenClass."
-	
+
 	^ self token tokenClass: aTokenClass
 !
 
 trim
 	"Answer a new parser that consumes spaces before and after the receiving parser."
-	
+
 	^ self trimSpaces
 !
 
 trimBlanks
 	"Answer a new parser that consumes blanks before and after the receiving parser."
-	
+
 	^ PPTrimmingParser on: self trimmer: #blank asParser
 !
 
 trimSpaces
 	"Answer a new parser that consumes spaces before and after the receiving parser."
-	
+
 	^ PPTrimmingParser on: self trimmer: #space asParser
 ! !
 
@@ -367,7 +367,7 @@
 
 matches: anObject
 	"Answer if anObject can be parsed by the receiver."
-	
+
 	^ (self parse: anObject) isPetitFailure not
 !
 
@@ -376,7 +376,7 @@
 
 	| result |
 	result := OrderedCollection new.
-	self 
+	self
 		matchesIn: anObject
 		do: [ :each | result addLast: each ].
 	^ result
@@ -390,7 +390,7 @@
 
 matchingRangesIn: anObject
 	"Search anObject repeatedly for the matches of the receiver.  Answer an OrderedCollection of ranges of each match (index of first character to: index of last character)."
-	
+
 	| result |
 	result := OrderedCollection new.
 	self
@@ -401,7 +401,7 @@
 
 matchingRangesIn: anObject do: aBlock
 	"Search anObject repeatedly for the matches of the receiver.  Answer an OrderedCollection of ranges of each match (index of first character to: index of last character)."
-	
+
 	| result |
 	result := OrderedCollection new.
 	[ :stream | stream position + 1 ] asParser , self , [ :stream | stream position ] asParser
@@ -412,13 +412,13 @@
 
 parse: anObject
 	"Parse anObject with the receiving parser and answer the parse-result or an instance of PPFailure."
-	
+
 	^ self parseOn: anObject asPetitStream
 !
 
 parse: anObject onError: aBlock
 	"Parse anObject with the receiving parser and answer the parse-result or answer the result of evaluating aBlock. Depending on the number of arguments of the block it is simply evaluated, evaluated with the failure object, or evaluated with the error message and position."
-	
+
 	| result |
 	result := self parse: anObject.
 	result isPetitFailure
@@ -432,7 +432,7 @@
 
 parseOn: aStream
 	"Parse aStream with the receiving parser and answer the parse-result or an instance of PPFailure. Override this method in subclasses to specify custom parse behavior. Do not call this method from outside, instead use #parse:."
-	
+
 	self subclassResponsibility
 ! !
 
@@ -464,5 +464,5 @@
 !PPParser class methodsFor:'documentation'!
 
 version_SVN
-    ^ '$Id: PPParser.st,v 1.1 2011-08-18 18:56:17 cg Exp $'
+    ^ '$Id: PPParser.st,v 1.2 2012-01-13 11:22:50 cg Exp $'
 ! !
--- a/PPParserResource.st	Mon Sep 12 19:48:53 2011 +0200
+++ b/PPParserResource.st	Fri Jan 13 12:22:50 2012 +0100
@@ -1,4 +1,4 @@
-"{ Package: 'squeak:petitparser' }"
+"{ Package: 'stx:goodies/petitparser' }"
 
 TestResource subclass:#PPParserResource
 	instanceVariableNames:'parsers'
@@ -12,7 +12,7 @@
 
 parserAt: aParserClass
 	"Answer a cached instance of aParserClass."
-	
+
 	^ parsers at: aParserClass name ifAbsentPut: [ aParserClass new ]
 ! !
 
@@ -26,5 +26,5 @@
 !PPParserResource class methodsFor:'documentation'!
 
 version_SVN
-    ^ '$Id: PPParserResource.st,v 1.1 2011-08-18 18:56:17 cg Exp $'
+    ^ '$Id: PPParserResource.st,v 1.2 2012-01-13 11:22:50 cg Exp $'
 ! !
--- a/PPParserTest.st	Mon Sep 12 19:48:53 2011 +0200
+++ b/PPParserTest.st	Fri Jan 13 12:22:50 2012 +0100
@@ -1,4 +1,4 @@
-"{ Package: 'squeak:petitparser' }"
+"{ Package: 'stx:goodies/petitparser' }"
 
 PPAbstractParseTest subclass:#PPParserTest
 	instanceVariableNames:''
@@ -23,10 +23,10 @@
 testAnd
 	| parser |
 	parser := 'foo' asParser flatten , 'bar' asParser flatten and.
-	
+
 	self assert: parser parse: 'foobar' to: #('foo' 'bar') end: 3.
 	self assert: parser fail: 'foobaz'.
-	
+
 	parser := 'foo' asParser and.
 	self assert: parser and = parser
 !
@@ -34,9 +34,9 @@
 testAnswer
 	| parser |
 	parser := $a asParser answer: $b.
-	
+
 	self assert: parser parse: 'a' to: $b.
-	
+
 	self assert: parser fail: ''.
 	self assert: parser fail: 'b'
 !
@@ -44,7 +44,7 @@
 testBlock
 	| parser |
 	parser := [ :s | s next ] asParser.
-	
+
 	self assert: parser parse: 'ab' to: $a end: 1.
 	self assert: parser parse: 'b' to: $b.
 	self assert: parser parse: '' to: nil
@@ -53,7 +53,7 @@
 testChoice
 	| parser |
 	parser := $a asParser / $b asParser.
-	
+
 	self assert: parser parse: 'a' to: $a.
 	self assert: parser parse: 'b' to: $b.
 
@@ -68,7 +68,7 @@
 testDelimitedBy
 	| parser |
 	parser := $a asParser delimitedBy: $b asParser.
-	
+
 	self assert: parser parse: 'a' to: #($a).
 	self assert: parser parse: 'aba' to: #($a $b $a).
 	self assert: parser parse: 'ababa' to: #($a $b $a $b $a).
@@ -76,12 +76,12 @@
 	self assert: parser parse: 'ab' to: #($a $b).
 	self assert: parser parse: 'abab' to: #($a $b $a $b).
 	self assert: parser parse: 'ababab' to: #($a $b $a $b $a $b).
-	
+
 	self assert: parser parse: 'ac' to: #($a) end: 1.
 	self assert: parser parse: 'abc' to: #($a $b) end: 2.
 	self assert: parser parse: 'abac' to: #($a $b $a) end: 3.
 	self assert: parser parse: 'ababc' to: #($a $b $a $b) end: 4.
-	
+
 	self assert: parser fail: ''.
 	self assert: parser fail: 'b'.
 	self assert: parser fail: 'c'
@@ -91,7 +91,7 @@
 	| parser |
 	parser := PPEndOfInputParser on: $a asParser.
 	self assert: parser end = parser.
-	
+
 	self assert: parser parse: 'a' to: $a.
 	self assert: parser fail: ''.
 	self assert: parser fail: 'aa'
@@ -108,9 +108,9 @@
 testEpsilon
 	| parser |
 	parser := nil asParser.
-	
+
 	self assert: parser parse: '' to: nil.
-	
+
 	self assert: parser parse: 'a' to: nil end: 0.
 	self assert: parser parse: 'ab' to: nil end: 0
 !
@@ -119,11 +119,11 @@
 	| parser result |
 	parser := PPFailingParser message: 'Plonk'.
 	self assert: parser message = 'Plonk'.
-	
+
 	self assert: parser fail: ''.
 	self assert: parser fail: 'a'.
 	self assert: parser fail: 'aa'.
-	
+
 	result := parser parse: 'a'.
 	self assert: result message = 'Plonk'.
 	self assert: result printString = 'Plonk at 0'
@@ -132,49 +132,49 @@
 testFlatten
 	| parser |
 	parser := $a asParser flatten.
-	
+
 	self assert: parser parse: 'a' to: 'a'.
 	self assert: parser parse: #($a) to: #($a).
-	
+
 	self assert: parser fail: ''.
 	self assert: parser fail: 'b'
 !
 
 testLiteralObject
 	| parser |
-	parser := PPLiteralObjectParser 
+	parser := PPLiteralObjectParser
 		on: $a
 		message: 'letter "a" expected'.
 	self assert: parser literal = $a.
 	self assert: parser message = 'letter "a" expected'.
-	
+
 	self assert: parser parse: 'a' to: $a.
 	self assert: parser fail: 'b'
-	
+
 !
 
 testLiteralObjectCaseInsensitive
 	| parser |
 	parser := $a asParser caseInsensitive.
-	
+
 	self assert: parser parse: 'a' to: $a.
 	self assert: parser parse: 'A' to: $A.
 
 	self assert: parser fail: ''.
 	self assert: parser fail: 'b'.
 	self assert: parser fail: 'B'
-	
+
 !
 
 testLiteralSequence
 	| parser |
-	parser := PPLiteralSequenceParser 
+	parser := PPLiteralSequenceParser
 		on: 'abc'
 		message: 'sequence "abc" expected'.
 	self assert: parser size = 3.
 	self assert: parser literal = 'abc'.
 	self assert: parser message = 'sequence "abc" expected'.
-	
+
 	self assert: parser parse: 'abc' to: 'abc'.
 	self assert: parser fail: 'ab'.
 	self assert: parser fail: 'abd'
@@ -183,12 +183,12 @@
 testLiteralSequenceCaseInsensitive
 	| parser |
 	parser := 'abc' asParser caseInsensitive.
-	
+
 	self assert: parser parse: 'abc' to: 'abc'.
 	self assert: parser parse: 'ABC' to: 'ABC'.
 	self assert: parser parse: 'abC' to: 'abC'.
 	self assert: parser parse: 'AbC' to: 'AbC'.
-	
+
 	self assert: parser fail: 'ab'.
 	self assert: parser fail: 'abd'
 !
@@ -204,7 +204,7 @@
 	self assert: parser parse: 'aa' to: #($a $a).
 	self assert: parser parse: 'aaa' to: #($a $a) end: 2.
 	self assert: parser parse: 'aaaa' to: #($a $a) end: 2.
-	
+
 	self assert: (parser printString endsWith: '[0, 2]')
 !
 
@@ -213,7 +213,7 @@
 	count := 0.
 	parser := [ :s | count := count + 1. s next ] asParser memoized.
 	twice := parser and , parser.
-	
+
 	count := 0.
 	self assert: parser parse: 'a' to: $a.
 	self assert: count = 1.
@@ -221,7 +221,7 @@
 	count := 0.
 	self assert: twice parse: 'a' to: #($a $a).
 	self assert: count = 1.
-	
+
 	self assert: parser memoized = parser
 !
 
@@ -230,13 +230,13 @@
 	parser := $a asParser min: 2.
 	self assert: parser min = 2.
 	self assert: parser max > parser min.
-	
+
 	self assert: parser fail: ''.
 	self assert: parser fail: 'a'.
 	self assert: parser parse: 'aa' to: #($a $a).
 	self assert: parser parse: 'aaa' to: #($a $a $a).
 	self assert: parser parse: 'aaaa' to: #($a $a $a $a).
-	
+
 	self assert: (parser printString endsWith: '[2, *]')
 !
 
@@ -245,7 +245,7 @@
 	parser := $a asParser min: 2 max: 4.
 	self assert: parser min = 2.
 	self assert: parser max = 4.
-	
+
 	self assert: parser fail: ''.
 	self assert: parser fail: 'a'.
 	self assert: parser parse: 'aa' to: #($a $a).
@@ -253,19 +253,19 @@
 	self assert: parser parse: 'aaaa' to: #($a $a $a $a).
 	self assert: parser parse: 'aaaaa' to: #($a $a $a $a) end: 4.
 	self assert: parser parse: 'aaaaaa' to: #($a $a $a $a) end: 4.
-	
+
 	self assert: (parser printString endsWith: '[2, 4]')
 !
 
 testNegate
 	| parser |
 	parser := 'foo' asParser negate.
-	
+
 	self assert: parser parse: 'f' to: $f end: 1.
 	self assert: parser parse: 'fo' to: $f end: 1.
 	self assert: parser parse: 'fob' to: $f end: 1.
 	self assert: parser parse: 'ffoo' to: $f end: 1.
-	
+
 	self assert: parser fail: ''.
 	self assert: parser fail: 'foo'
 !
@@ -273,7 +273,7 @@
 testNot
 	| parser |
 	parser := 'foo' asParser flatten , 'bar' asParser flatten not.
-	
+
 	self assert: parser parse: 'foobaz' to: #('foo' nil) end: 3.
 	self assert: parser fail: 'foobar'
 !
@@ -281,10 +281,10 @@
 testOptional
 	| parser |
 	parser := $a asParser optional.
-	
+
 	self assert: parser parse: '' to: nil.
 	self assert: parser parse: 'a' to: $a.
-	
+
 	self assert: parser parse: 'aa' to: $a end: 1.
 	self assert: parser parse: 'ab' to: $a end: 1.
 	self assert: parser parse: 'b' to: nil end: 0.
@@ -302,7 +302,7 @@
 	self assert: (parser permutation: #(3 1)) parse: '123' to: #($3 $1).
 	self assert: (parser permutation: #(2 2)) parse: '123' to: #($2 $2).
 	self assert: (parser permutation: #(3 2 1)) parse: '123' to: #($3 $2 $1).
-	
+
 	self should: [ parser permutation: #(0) ] raise: Error.
 	self should: [ parser permutation: #(4) ] raise: Error.
 	self should: [ parser permutation: #($2) ] raise: Error
@@ -320,15 +320,15 @@
 	parser := $a asParser plus.
 	self assert: parser min = 1.
 	self assert: parser max > parser min.
-	
+
 	self assert: parser parse: 'a' to: #($a).
 	self assert: parser parse: 'aa' to: #($a $a).
 	self assert: parser parse: 'aaa' to: #($a $a $a).
-	
+
 	self assert: parser parse: 'ab' to: #($a) end: 1.
 	self assert: parser parse: 'aab' to: #($a $a) end: 2.
 	self assert: parser parse: 'aaab' to: #($a $a $a) end: 3.
-	
+
 	self assert: parser fail: ''.
 	self assert: parser fail: 'b'.
 	self assert: parser fail: 'ba'
@@ -377,16 +377,16 @@
 testSeparatedBy
 	| parser |
 	parser := $a asParser separatedBy: $b asParser.
-	
+
 	self assert: parser parse: 'a' to: #($a).
 	self assert: parser parse: 'aba' to: #($a $b $a).
 	self assert: parser parse: 'ababa' to: #($a $b $a $b $a).
-	
+
 	self assert: parser parse: 'ab' to: #($a) end: 1.
 	self assert: parser parse: 'abab' to: #($a $b $a) end: 3.
 	self assert: parser parse: 'ac' to: #($a) end: 1.
 	self assert: parser parse: 'abac' to: #($a $b $a) end: 3.
-	
+
 	self assert: parser fail: ''.
 	self assert: parser fail: 'c'
 !
@@ -394,12 +394,12 @@
 testSequence
 	| parser |
 	parser := $a asParser , $b asParser.
-	
+
 	self assert: parser parse: 'ab' to: #($a $b).
-	
+
 	self assert: parser parse: 'aba' to: #($a $b) end: 2.
 	self assert: parser parse: 'abb' to: #($a $b) end: 2.
-	
+
 	self assert: parser fail: ''.
 	self assert: parser fail: 'a'.
 	self assert: parser fail: 'aa'.
@@ -412,12 +412,12 @@
 	parser := $a asParser star.
 	self assert: parser min = 0.
 	self assert: parser max > parser min.
-	
+
 	self assert: parser parse: '' to: #().
 	self assert: parser parse: 'a' to: #($a).
 	self assert: parser parse: 'aa' to: #($a $a).
 	self assert: parser parse: 'aaa' to: #($a $a $a).
-	
+
 	self assert: parser parse: 'b' to: #() end: 0.
 	self assert: parser parse: 'ab' to: #($a) end: 1.
 	self assert: parser parse: 'aab' to: #($a $a) end: 2.
@@ -471,7 +471,7 @@
 testTimes
 	| parser |
 	parser := $a asParser times: 2.
-	
+
 	self assert: parser fail: ''.
 	self assert: parser fail: 'a'.
 	self assert: parser parse: 'aa' to: #($a $a).
@@ -482,13 +482,13 @@
 	| parser |
 	parser := $a asParser token.
 	self assert: parser tokenClass = PPToken.
-	self assert: parser parse: 'a' toToken: 1 stop: 1.	
+	self assert: parser parse: 'a' toToken: 1 stop: 1.
 	self assert: parser fail: 'b'.
 	self assert: parser fail: ''.
-	
+
 	parser := $a asParser token: PPToken.
 	self assert: parser tokenClass = PPToken.
-	self assert: parser parse: 'a' toToken: 1 stop: 1.	
+	self assert: parser parse: 'a' toToken: 1 stop: 1.
 	self assert: parser fail: ''.
 	self assert: parser fail: 'b'
 !
@@ -497,25 +497,25 @@
 	| parser |
 	parser := $a asParser token trim.
 	self assert: parser trim = parser.
-	
+
 	self assert: parser parse: 'a' toToken: 1 stop: 1.
 	self assert: parser parse: 'a ' toToken: 1 stop: 1.
-	self assert: parser parse: 'a	' toToken: 1 stop: 1.
+	self assert: parser parse: 'a   ' toToken: 1 stop: 1.
 	self assert: parser parse: 'a  ' toToken: 1 stop: 1.
-	self assert: parser parse: 'a 
+	self assert: parser parse: 'a
 	 ' toToken: 1 stop: 1.
-		
+
 	self assert: parser parse: 'a' toToken: 1 stop: 1.
 	self assert: parser parse: ' a' toToken: 2 stop: 2.
-	self assert: parser parse: '	a' toToken: 2 stop: 2.
+	self assert: parser parse: '    a' toToken: 2 stop: 2.
 	self assert: parser parse: '    a' toToken: 5 stop: 5.
-	self assert: parser parse: '   
+	self assert: parser parse: '
 a' toToken: 5 stop: 5.
-	
+
 	self assert: parser parse: 'aa' toToken: 1 stop: 1 end: 1.
-	self assert: parser parse: 'a	a' toToken: 1 stop: 1 end: 2.
+	self assert: parser parse: 'a   a' toToken: 1 stop: 1 end: 2.
 	self assert: parser parse: 'a  a' toToken: 1 stop: 1 end: 3.
-	
+
 	self assert: parser fail: ''.
 	self assert: parser fail: 'b'
 !
@@ -523,21 +523,21 @@
 testTrimBlanks
 	| parser |
 	parser := $a asParser token trimBlanks.
-	
+
 	self assert: parser parse: 'a' toToken: 1 stop: 1.
 	self assert: parser parse: 'a ' toToken: 1 stop: 1.
-	self assert: parser parse: 'a	' toToken: 1 stop: 1.
+	self assert: parser parse: 'a   ' toToken: 1 stop: 1.
 	self assert: parser parse: 'a  ' toToken: 1 stop: 1.
-	
+
 	self assert: parser parse: 'a' toToken: 1 stop: 1.
 	self assert: parser parse: ' a' toToken: 2 stop: 2.
-	self assert: parser parse: '	a' toToken: 2 stop: 2.
+	self assert: parser parse: '    a' toToken: 2 stop: 2.
 	self assert: parser parse: '    a' toToken: 5 stop: 5.
-	
+
 	self assert: parser parse: 'aa' toToken: 1 stop: 1 end: 1.
-	self assert: parser parse: 'a	a' toToken: 1 stop: 1 end: 2.
+	self assert: parser parse: 'a   a' toToken: 1 stop: 1 end: 2.
 	self assert: parser parse: 'a  a' toToken: 1 stop: 1 end: 3.
-	
+
 	self assert: parser fail: ''.
 	self assert: parser fail: '
 '.
@@ -549,25 +549,25 @@
 testTrimSpaces
 	| parser |
 	parser := $a asParser token trimSpaces.
-	
+
 	self assert: parser parse: 'a' toToken: 1 stop: 1.
 	self assert: parser parse: 'a ' toToken: 1 stop: 1.
-	self assert: parser parse: 'a	' toToken: 1 stop: 1.
+	self assert: parser parse: 'a   ' toToken: 1 stop: 1.
 	self assert: parser parse: 'a  ' toToken: 1 stop: 1.
-	self assert: parser parse: 'a 
+	self assert: parser parse: 'a
 	 ' toToken: 1 stop: 1.
-		
+
 	self assert: parser parse: 'a' toToken: 1 stop: 1.
 	self assert: parser parse: ' a' toToken: 2 stop: 2.
-	self assert: parser parse: '	a' toToken: 2 stop: 2.
+	self assert: parser parse: '    a' toToken: 2 stop: 2.
 	self assert: parser parse: '    a' toToken: 5 stop: 5.
-	self assert: parser parse: '   
+	self assert: parser parse: '
 a' toToken: 5 stop: 5.
-	
+
 	self assert: parser parse: 'aa' toToken: 1 stop: 1 end: 1.
-	self assert: parser parse: 'a	a' toToken: 1 stop: 1 end: 2.
+	self assert: parser parse: 'a   a' toToken: 1 stop: 1 end: 2.
 	self assert: parser parse: 'a  a' toToken: 1 stop: 1 end: 3.
-	
+
 	self assert: parser fail: ''.
 	self assert: parser fail: 'b'
 !
@@ -575,12 +575,12 @@
 testUnresolved
 	| parser |
 	parser := PPUnresolvedParser new.
-	
+
 	self assert: parser isUnresolved.
 	self should: [ parser parse: '' ] raise: Error.
 	self should: [ parser parse: 'a' ] raise: Error.
 	self should: [ parser parse: 'ab' ] raise: Error.
-	
+
 	parser := nil asParser.
 	self deny: parser isUnresolved
 !
@@ -588,26 +588,26 @@
 testWrapped
 	| parser |
 	parser := $a asParser wrapped.
-	
+
 	self assert: parser parse: 'a' to: $a.
 	self assert: parser fail: 'b'.
-	
+
 	parser := (($a asParser , $b asParser ) wrapped , $c asParser).
 	self assert: parser parse: 'abc' to: #(#($a $b) $c)
 !
 
 testWrapping
 	| parser result |
-	parser := #digit asParser plus >=> [ :stream :cc | 
-		Array 
-			with: stream position 
-			with: cc value 
+	parser := #digit asParser plus >=> [ :stream :cc |
+		Array
+			with: stream position
+			with: cc value
 			with: stream position ].
 
 	self assert: parser parse: '1' to: #(0 ($1) 1).
 	self assert: parser parse: '12' to: #(0 ($1 $2) 2).
 	self assert: parser parse: '123' to: #(0 ($1 $2 $3) 3).
-	
+
 	result := parser parse: 'a'.
 	self assert: result first = 0.
 	self assert: result second isPetitFailure.
@@ -618,21 +618,21 @@
 	| parser |
 	parser := ($a asParser / $b asParser)
 			|  ($b asParser / $c asParser).
-	
+
 	self assert: parser parse: 'a' to: $a.
 	self assert: parser parse: 'c' to: $c.
-	
+
 	self assert: parser fail: ''.
 	self assert: parser fail: 'b'.
 	self assert: parser fail: 'd'.
-	
+
 	" truly symmetric "
 	parser := ($b asParser / $c asParser)
 			|  ($a asParser / $b asParser).
-	
+
 	self assert: parser parse: 'a' to: $a.
 	self assert: parser parse: 'c' to: $c.
-	
+
 	self assert: parser fail: ''.
 	self assert: parser fail: 'b'.
 	self assert: parser fail: 'd'
@@ -644,31 +644,31 @@
 	| parser |
 	parser := PPSequenceParser new.
 	self assert: parser name isNil.
-	
+
 	parser := PPChoiceParser named: 'choice'.
 	self assert: parser name = 'choice'.
-	
+
 	parser := $* asParser name: 'star'.
 	self assert: parser name = 'star'
 !
 
 testPrint
-        | parser |
-        parser := PPParser new.
-        self assert: (parser printString includesSubString: 'PPParser').
-        
-        parser := PPParser named: 'choice'.
-        self assert: (parser printString includesSubString: 'PPParser(choice').
-        
-        parser := PPLiteralObjectParser on: $a.
+	| parser |
+	parser := PPParser new.
+	self assert: (parser printString includesSubString: 'PPParser').
+
+	parser := PPParser named: 'choice'.
+	self assert: (parser printString includesSubString: 'PPParser(choice').
+
+	parser := PPLiteralObjectParser on: $a.
 "/        self assert: (parser printString includesSubString: '$a').
-        self assert: (parser printString includesSubString: 'a').
-        
-        parser := PPFailingParser message: 'error'.
-        self assert: (parser printString includesSubString: 'error').
-        
-        parser := PPPredicateObjectParser on: [ :c | true ] message: 'error'.
-        self assert: (parser printString includesSubString: 'error')
+	self assert: (parser printString includesSubString: 'a').
+
+	parser := PPFailingParser message: 'error'.
+	self assert: (parser printString includesSubString: 'error').
+
+	parser := PPPredicateObjectParser on: [ :c | true ] message: 'error'.
+	self assert: (parser printString includesSubString: 'error')
 
     "Modified: / 19-12-2010 / 18:30:54 / Jan Kurs <kurs.jan@post.cz>"
 ! !
@@ -682,15 +682,15 @@
 	p1 := $a asParser.
 	p2 := p1 / $b asParser.
 	p3 := p1 / $c asParser.
-	
+
 	self assert: p1 parse: 'a'.
 	self assert: p1 fail: 'b'.
 	self assert: p1 fail: 'c'.
-	
+
 	self assert: p2 parse: 'a'.
 	self assert: p2 parse: 'b'.
 	self assert: p2 fail: 'c'.
-	
+
 	self assert: p3 parse: 'a'.
 	self assert: p3 fail: 'b'.
 	self assert: p3 parse: 'c'
@@ -700,7 +700,7 @@
 	| old new |
 	old := $a asParser , $b asParser.
 	new := old copy.
-	
+
 	self deny: old == new.
 	self deny: old children == new children.
 	self assert: old children first == new children first.
@@ -714,16 +714,16 @@
 	p1 := $a asParser.
 	p2 := p1 , $b asParser.
 	p3 := p1 , $c asParser.
-	
-	self assert: p1 parse: 'a'.	
+
+	self assert: p1 parse: 'a'.
 	self assert: p1 parse: 'ab' end: 1.
 	self assert: p1 parse: 'ac' end: 1.
-	
-	self assert: p2 fail: 'a'.	
+
+	self assert: p2 fail: 'a'.
 	self assert: p2 parse: 'ab'.
 	self assert: p2 fail: 'ac'.
 
-	self assert: p3 fail: 'a'.	
+	self assert: p3 fail: 'a'.
 	self assert: p3 fail: 'ab'.
 	self assert: p3 parse: 'ac'
 ! !
@@ -803,7 +803,7 @@
 testFailure
 	| failure |
 	failure := PPFailure message: 'Error' at: 3.
-	
+
 	self assert: failure message = 'Error'.
 	self assert: failure position = 3.
 	self assert: failure isPetitFailure.
@@ -817,7 +817,7 @@
 	p1 := PPChoiceParser with: $a asParser.
 	p2 := PPChoiceParser with: $a asParser with: $b asParser.
 	p3 := PPChoiceParser withAll: (Array with: $a asParser with: $b asParser with: $c asParser).
-	
+
 	self assert: p1 children size = 1.
 	self assert: p2 children size = 2.
 	self assert: p3 children size = 3
@@ -826,10 +826,10 @@
 testMatches
 	| parser |
 	parser := $a asParser.
-	
+
 	self assert: (parser matches: 'a').
 	self deny: (parser matches: 'b').
-	
+
 	self assert: (parser matches: 'a' readStream).
 	self deny: (parser matches: 'b' readStream)
 !
@@ -837,12 +837,12 @@
 testMatchesIn
 	| parser result |
 	parser := $a asParser.
-	
+
 	result := parser matchesIn: 'abba'.
 	self assert: result size = 2.
 	self assert: result first = $a.
 	self assert: result last = $a.
-	
+
 	result := parser matchesIn: 'baaah'.
 	self assert: result size = 3.
 	self assert: result first = $a.
@@ -854,7 +854,7 @@
 
 	| parser result |
 	parser := [ :stream | stream position ] asParser.
-	
+
 	result := parser matchesIn: '123'.
 	self assert: result asArray = #(0 1 2 3)
 !
@@ -864,7 +864,7 @@
 
 	| parser result |
 	parser := #digit asParser , #digit asParser.
-	
+
 	result := parser matchesIn: 'a123b'.
 	self assert: result size = 2.
 	self assert: result first = #($1 $2).
@@ -881,24 +881,24 @@
 !
 
 testParse
-        | parser result |
-        parser := $a asParser.
-        
-        self assert: (parser parse: 'a') = $a.
-        self assert: (result := parser parse: 'b') isPetitFailure.
-        "is it Character printString differs: we return only 'a', not '$a'"
-        self breakPoint: #petitparser.
+	| parser result |
+	parser := $a asParser.
+
+	self assert: (parser parse: 'a') = $a.
+	self assert: (result := parser parse: 'b') isPetitFailure.
+	"is it Character printString differs: we return only 'a', not '$a'"
+	self breakPoint: #petitparser.
 "/        self assert: (result message includesSubString: '$a').
-        self assert: (result message includesSubString: 'a').
-        self assert: (result message includesSubString: 'expected').
-        self assert: (result position = 0).
-        
-        self assert: (parser parse: 'a' readStream) = $a.
-        self assert: (result := parser parse: 'b' readStream) isPetitFailure.
+	self assert: (result message includesSubString: 'a').
+	self assert: (result message includesSubString: 'expected').
+	self assert: (result position = 0).
+
+	self assert: (parser parse: 'a' readStream) = $a.
+	self assert: (result := parser parse: 'b' readStream) isPetitFailure.
 "/        self assert: (result message includesSubString: '$a').
-        self assert: (result message includesSubString: 'a').
-        self assert: (result message includesSubString: 'expected').
-        self assert: (result position = 0)
+	self assert: (result message includesSubString: 'a').
+	self assert: (result message includesSubString: 'expected').
+	self assert: (result position = 0)
 
     "Modified: / 18-12-2010 / 17:05:13 / Jan Kurs <kurs.jan@post.cz>"
 !
@@ -916,41 +916,41 @@
 !
 
 testParseOnError1
-        | parser result seen |
-        parser := $a asParser.
-        
-        result := parser parse: 'a' onError: [ self signalFailure: 'Not supposed to report an error' ].
-        self assert: result = $a.
-        
-        result := parser parse: 'b' onError: [ :failure | 
-                self assert: (failure position = 0).
-                "We don't use $ in ST/X for Characters"
-                self assert: (failure message includesSubString: 'a').
+	| parser result seen |
+	parser := $a asParser.
+
+	result := parser parse: 'a' onError: [ self signalFailure: 'Not supposed to report an error' ].
+	self assert: result = $a.
+
+	result := parser parse: 'b' onError: [ :failure |
+		self assert: (failure position = 0).
+		"We don't use $ in ST/X for Characters"
+		self assert: (failure message includesSubString: 'a').
 "/                self assert: (failure message includesSubString: '$a').
-                self assert: (failure message includesSubString: 'expected').
-                seen := true ].
-        self assert: result.
-        self assert: seen
+		self assert: (failure message includesSubString: 'expected').
+		seen := true ].
+	self assert: result.
+	self assert: seen
 
     "Modified: / 19-12-2010 / 18:18:01 / Jan Kurs <kurs.jan@post.cz>"
 !
 
 testParseOnError2
-        | parser result seen |
-        parser := $a asParser.
-        
-        result := parser parse: 'a' onError: [ self signalFailure: 'Not supposed to report an error' ].
-        self assert: result = $a.
+	| parser result seen |
+	parser := $a asParser.
+
+	result := parser parse: 'a' onError: [ self signalFailure: 'Not supposed to report an error' ].
+	self assert: result = $a.
 
-        result := parser parse: 'b' onError: [ :msg :pos | 
-                "We don't use $ in ST/X for Characters"
-                self assert: (msg includesSubString: 'a').
+	result := parser parse: 'b' onError: [ :msg :pos |
+		"We don't use $ in ST/X for Characters"
+		self assert: (msg includesSubString: 'a').
 "/                self assert: (msg includesSubString: '$a').
-                self assert: (msg includesSubString: 'expected').
-                self assert: pos = 0.
-                seen := true ].
-        self assert: result.
-        self assert: seen
+		self assert: (msg includesSubString: 'expected').
+		self assert: pos = 0.
+		seen := true ].
+	self assert: result.
+	self assert: seen
 
     "Modified: / 19-12-2010 / 18:18:31 / Jan Kurs <kurs.jan@post.cz>"
 !
@@ -958,7 +958,7 @@
 testParser
 	| parser |
 	parser := PPParser new.
-	
+
 	self assert: parser isPetitParser.
 
 	self deny: 4 isPetitParser.
@@ -968,5 +968,5 @@
 !PPParserTest class methodsFor:'documentation'!
 
 version_SVN
-    ^ '$Id: PPParserTest.st,v 1.1 2011-08-18 18:56:17 cg Exp $'
+    ^ '$Id: PPParserTest.st,v 1.2 2012-01-13 11:22:50 cg Exp $'
 ! !
--- a/PPPluggableParser.st	Mon Sep 12 19:48:53 2011 +0200
+++ b/PPPluggableParser.st	Fri Jan 13 12:22:50 2012 +0100
@@ -1,4 +1,4 @@
-"{ Package: 'squeak:petitparser' }"
+"{ Package: 'stx:goodies/petitparser' }"
 
 PPParser subclass:#PPPluggableParser
 	instanceVariableNames:'block'
@@ -9,7 +9,7 @@
 
 PPPluggableParser comment:'A pluggable parser that passes the parser stream into a block. This enables users to perform manual parsing or to embed other parser frameworks into PetitParser.
 Instance Variables:
-	block	<BlockClosure>	The pluggable one-argument block.
+	block   <BlockClosure>  The pluggable one-argument block.
 '
 !
 
@@ -48,5 +48,5 @@
 !PPPluggableParser class methodsFor:'documentation'!
 
 version_SVN
-    ^ '$Id: PPPluggableParser.st,v 1.1 2011-08-18 18:56:17 cg Exp $'
+    ^ '$Id: PPPluggableParser.st,v 1.2 2012-01-13 11:22:50 cg Exp $'
 ! !
--- a/PPPredicateObjectParser.st	Mon Sep 12 19:48:53 2011 +0200
+++ b/PPPredicateObjectParser.st	Fri Jan 13 12:22:50 2012 +0100
@@ -1,4 +1,4 @@
-"{ Package: 'squeak:petitparser' }"
+"{ Package: 'stx:goodies/petitparser' }"
 
 PPPredicateParser subclass:#PPPredicateObjectParser
 	instanceVariableNames:''
@@ -48,10 +48,10 @@
 !
 
 hex
-	^ self 
-		on: (PPCharSetPredicate on: [ :char | 
-			(char between: $0 and: $9) 
-				or: [ (char between: $a and: $f) 
+	^ self
+		on: (PPCharSetPredicate on: [ :char |
+			(char between: $0 and: $9)
+				or: [ (char between: $a and: $f)
 				or: [ (char between: $A and: $F) ] ] ])
 		message: 'hex digit expected'
 !
@@ -123,7 +123,7 @@
 !
 
 expect: anObject message: aString
-	^ self 
+	^ self
 		on: [ :each | each = anObject ] message: aString
 		negated: [ :each | each ~= anObject ] message: 'no ' , aString
 ! !
@@ -141,9 +141,9 @@
 
 negate
 	"Answer a parser that is the negation of the receiving predicate parser."
-	
-	^ self class 
-		on: negated message: negatedMessage 
+
+	^ self class
+		on: negated message: negatedMessage
 		negated: predicate message: predicateMessage
 ! !
 
@@ -158,5 +158,5 @@
 !PPPredicateObjectParser class methodsFor:'documentation'!
 
 version_SVN
-    ^ '$Id: PPPredicateObjectParser.st,v 1.1 2011-08-18 18:56:17 cg Exp $'
+    ^ '$Id: PPPredicateObjectParser.st,v 1.2 2012-01-13 11:22:50 cg Exp $'
 ! !
--- a/PPPredicateParser.st	Mon Sep 12 19:48:53 2011 +0200
+++ b/PPPredicateParser.st	Fri Jan 13 12:22:50 2012 +0100
@@ -1,4 +1,4 @@
-"{ Package: 'squeak:petitparser' }"
+"{ Package: 'stx:goodies/petitparser' }"
 
 PPParser subclass:#PPPredicateParser
 	instanceVariableNames:'predicate predicateMessage negated negatedMessage'
@@ -9,10 +9,10 @@
 
 PPPredicateParser comment:'An abstract parser that accepts if a given predicate holds.
 Instance Variables:
-	predicate	<BlockClosure>	The block testing for the predicate.
-	predicateMessage	<String>	The error message of the predicate.
-	negated	<BlockClosure>	The block testing for the negation of the predicate.
-	negatedMessage	<String>	The error message of the negated predicate.'
+	predicate       <BlockClosure>  The block testing for the predicate.
+	predicateMessage        <String>        The error message of the predicate.
+	negated <BlockClosure>  The block testing for the negation of the predicate.
+	negatedMessage  <String>        The error message of the negated predicate.'
 !
 
 
@@ -20,13 +20,13 @@
 
 block
 	"Answer the predicate block of the receiver."
-	
+
 	^ predicate
 !
 
 message
 	"Answer the failure message."
-	
+
 	^ predicateMessage
 ! !
 
@@ -40,5 +40,5 @@
 !PPPredicateParser class methodsFor:'documentation'!
 
 version_SVN
-    ^ '$Id: PPPredicateParser.st,v 1.1 2011-08-18 18:56:17 cg Exp $'
+    ^ '$Id: PPPredicateParser.st,v 1.2 2012-01-13 11:22:50 cg Exp $'
 ! !
--- a/PPPredicateSequenceParser.st	Mon Sep 12 19:48:53 2011 +0200
+++ b/PPPredicateSequenceParser.st	Fri Jan 13 12:22:50 2012 +0100
@@ -1,4 +1,4 @@
-"{ Package: 'squeak:petitparser' }"
+"{ Package: 'stx:goodies/petitparser' }"
 
 PPPredicateParser subclass:#PPPredicateSequenceParser
 	instanceVariableNames:'size'
@@ -9,18 +9,18 @@
 
 PPPredicateSequenceParser comment:'A parser that accepts if a given predicate on an arbitrary number of elements of the input sequence holds.
 Instance Variables:
-	size	<Integer>	The number of elements to consume.'
+	size    <Integer>       The number of elements to consume.'
 !
 
 
 !PPPredicateSequenceParser class methodsFor:'instance creation'!
 
-on: aBlock message: aString negated: aNegatedBlock message: aNegatedString size: anInteger 
+on: aBlock message: aString negated: aNegatedBlock message: aNegatedString size: anInteger
 	^ self new initializeOn: aBlock message: aString negated: aNegatedBlock message: aNegatedString size: anInteger
 !
 
 on: aBlock message: aString size: anInteger
-	^ self on: aBlock message: aString negated: [ :each | (aBlock value: each) not ] message: 'no ' , aString size: anInteger 
+	^ self on: aBlock message: aString negated: [ :each | (aBlock value: each) not ] message: 'no ' , aString size: anInteger
 ! !
 
 !PPPredicateSequenceParser methodsFor:'accessing'!
@@ -38,15 +38,15 @@
 	predicateMessage := aString.
 	negated := aNegatedBlock.
 	negatedMessage := aNegatedString.
-	size := anInteger 
+	size := anInteger
 ! !
 
 !PPPredicateSequenceParser methodsFor:'operators'!
 
 negate
 	"Answer a parser that is the negation of the receiving predicate parser."
-	
-	^ self class 
+
+	^ self class
 		on: negated message: negatedMessage
 		negated: predicate message: predicateMessage
 		size: size
@@ -67,5 +67,5 @@
 !PPPredicateSequenceParser class methodsFor:'documentation'!
 
 version_SVN
-    ^ '$Id: PPPredicateSequenceParser.st,v 1.1 2011-08-18 18:56:17 cg Exp $'
+    ^ '$Id: PPPredicateSequenceParser.st,v 1.2 2012-01-13 11:22:50 cg Exp $'
 ! !
--- a/PPPredicateTest.st	Mon Sep 12 19:48:53 2011 +0200
+++ b/PPPredicateTest.st	Fri Jan 13 12:22:50 2012 +0100
@@ -1,4 +1,4 @@
-"{ Package: 'squeak:petitparser' }"
+"{ Package: 'stx:goodies/petitparser' }"
 
 PPAbstractParseTest subclass:#PPPredicateTest
 	instanceVariableNames:''
@@ -11,9 +11,9 @@
 !PPPredicateTest methodsFor:'private'!
 
 charactersDo: aBlock
-        "The limits are 1-255 as far as I know"
-        self breakPoint: #petitparser.
-        1 to: 255 do: [ :index | aBlock value: (Character codePoint: index) ]
+	"The limits are 1-255 as far as I know"
+	self breakPoint: #petitparser.
+	1 to: 255 do: [ :index | aBlock value: (Character codePoint: index) ]
 "/        1 to: 256 do: [ :index | aBlock value: (Character codePoint: index) ]
 
     "Modified: / 19-12-2010 / 16:58:58 / Jan Kurs <kurs.jan@post.cz>"
@@ -27,7 +27,7 @@
 	parser := PPPredicateObjectParser on: block message: 'starlet'.
 	self assert: parser block = block.
 	self assert: parser message = 'starlet'.
-	
+
 	self assertCharacterSets: parser.
 	self assert: parser parse: '*' to: $*.
 	self assert: parser parse: '**' to: $* end: 1.
@@ -236,8 +236,8 @@
 
 testSequenceParser
 	| parser |
-	parser := PPPredicateSequenceParser 
-		on: [ :value | value first isUppercase ] 
+	parser := PPPredicateSequenceParser
+		on: [ :value | value first isUppercase ]
 		message: 'uppercase 3 letter words'
 		size: 3.
 	self assert: parser size = 3.
@@ -247,7 +247,7 @@
 	self assert: parser fail: 'abc'.
 	self assert: parser fail: 'aBC'.
 	self assert: parser fail: 'Ab'.
-	
+
 	parser := parser negate.
 	self assert: parser size = 3.
 	self assert: parser fail: 'Abc'.
@@ -266,11 +266,11 @@
 	| positives negatives |
 	positives := self parsedCharacterSet: aParser.
 	negatives := self parsedCharacterSet: aParser negate.
-	self charactersDo: [ :char | 
+	self charactersDo: [ :char |
 		| positive negative |
 		positive := positives includes: char.
 		negative := negatives includes: char.
-		self 
+		self
 			assert: ((positive and: [ negative not ])
 				or: [ positive not and: [ negative ] ])
 			description: char printString , ' should be in exactly one set' ]
@@ -288,5 +288,5 @@
 !PPPredicateTest class methodsFor:'documentation'!
 
 version_SVN
-    ^ '$Id: PPPredicateTest.st,v 1.1 2011-08-18 18:56:17 cg Exp $'
+    ^ '$Id: PPPredicateTest.st,v 1.2 2012-01-13 11:22:50 cg Exp $'
 ! !
--- a/PPRepeatingParser.st	Mon Sep 12 19:48:53 2011 +0200
+++ b/PPRepeatingParser.st	Fri Jan 13 12:22:50 2012 +0100
@@ -1,4 +1,4 @@
-"{ Package: 'squeak:petitparser' }"
+"{ Package: 'stx:goodies/petitparser' }"
 
 PPDelegateParser subclass:#PPRepeatingParser
 	instanceVariableNames:'min max'
@@ -9,8 +9,8 @@
 
 PPRepeatingParser comment:'A parser that eagerly parses min to max instances of my delegate. The default instance parses eagerly an infinite number of elements, as min is set to 0 and max to infinity (SmallInteger maxVal).
 Instance Variables:
-	min	<Integer>	The minimum number of repetitions.
-	max	<Integer>	The maximum number of repetitions.'
+	min     <Integer>       The minimum number of repetitions.
+	max     <Integer>       The maximum number of repetitions.'
 !
 
 
@@ -25,7 +25,7 @@
 !
 
 on: aParser min: aMinInteger
-	^ (self on: aParser) setMin: aMinInteger max: SmallInteger maxVal 
+	^ (self on: aParser) setMin: aMinInteger max: SmallInteger maxVal
 !
 
 on: aParser min: aMinInteger max: aMaxInteger
@@ -42,7 +42,7 @@
 
 min
 	"Answer the minimum number of repetitions."
-	
+
 	^ min
 ! !
 
@@ -65,7 +65,7 @@
 			^ element ].
 		elements addLast: element ].
 	[ elements size < max ] whileTrue: [
-	 	(element := parser parseOn: aStream) isPetitFailure
+		(element := parser parseOn: aStream) isPetitFailure
 			ifTrue: [ ^ elements asArray ].
 		elements addLast: element ].
 	^ elements asArray
@@ -82,5 +82,5 @@
 !PPRepeatingParser class methodsFor:'documentation'!
 
 version_SVN
-    ^ '$Id: PPRepeatingParser.st,v 1.1 2011-08-18 18:56:17 cg Exp $'
+    ^ '$Id: PPRepeatingParser.st,v 1.2 2012-01-13 11:22:50 cg Exp $'
 ! !
--- a/PPScriptingTest.st	Mon Sep 12 19:48:53 2011 +0200
+++ b/PPScriptingTest.st	Fri Jan 13 12:22:50 2012 +0100
@@ -1,4 +1,4 @@
-"{ Package: 'squeak:petitparser' }"
+"{ Package: 'stx:goodies/petitparser' }"
 
 PPAbstractParseTest subclass:#PPScriptingTest
 	instanceVariableNames:''
@@ -15,72 +15,72 @@
 !PPScriptingTest methodsFor:'examples'!
 
 expressionInterpreter
-        "Same as #expressionInterpreter but with semantic actions."
-        
-        | mul prim add dec |
-        add := PPUnresolvedParser new.
-        mul := PPUnresolvedParser new.
-        prim := PPUnresolvedParser new.
-        dec := ($0 ppMinus: $9) ==> [ :token | token codePoint - $0 codePoint ].
-        add def: ((mul , $+ asParser , add) ==> [ :nodes | (nodes at: 1) + (nodes at: 3) ])
-                / mul.
-        mul def: ((prim , $* asParser , mul) ==> [ :nodes | (nodes at: 1) * (nodes at: 3) ])
-                / prim.
-        prim def: (($( asParser , add , $) asParser) ==> [ :nodes | nodes at: 2 ])
-                / dec.
-        ^ add end
+	"Same as #expressionInterpreter but with semantic actions."
+
+	| mul prim add dec |
+	add := PPUnresolvedParser new.
+	mul := PPUnresolvedParser new.
+	prim := PPUnresolvedParser new.
+	dec := ($0 ppMinus: $9) ==> [ :token | token codePoint - $0 codePoint ].
+	add def: ((mul , $+ asParser , add) ==> [ :nodes | (nodes at: 1) + (nodes at: 3) ])
+		/ mul.
+	mul def: ((prim , $* asParser , mul) ==> [ :nodes | (nodes at: 1) * (nodes at: 3) ])
+		/ prim.
+	prim def: (($( asParser , add , $) asParser) ==> [ :nodes | nodes at: 2 ])
+		/ dec.
+	^ add end
 
     "Modified: / 19-12-2010 / 18:13:51 / Jan Kurs <kurs.jan@post.cz>"
 !
 
 expressionParser
-        "Simple demo of scripting an expression parser."
-        
-        | mul prim add dec |
-        add := PPUnresolvedParser new.
-        mul := PPUnresolvedParser new.
-        prim := PPUnresolvedParser new.
-        dec := ($0 ppMinus: $9).
-        add def: (mul , $+ asParser , add)
-                / mul.
-        mul def: (prim , $* asParser , mul)
-                / prim.
-        prim def: ($( asParser , add , $) asParser)
-                / dec.
-        ^ add end
+	"Simple demo of scripting an expression parser."
+
+	| mul prim add dec |
+	add := PPUnresolvedParser new.
+	mul := PPUnresolvedParser new.
+	prim := PPUnresolvedParser new.
+	dec := ($0 ppMinus: $9).
+	add def: (mul , $+ asParser , add)
+		/ mul.
+	mul def: (prim , $* asParser , mul)
+		/ prim.
+	prim def: ($( asParser , add , $) asParser)
+		/ dec.
+	^ add end
 
     "Modified: / 19-12-2010 / 18:14:18 / Jan Kurs <kurs.jan@post.cz>"
 !
 
 straightLineParser
-        | goal stm stmList id char dec exp expList mulExp primExp nonzero num lower upper |
-        goal := PPUnresolvedParser new.
-        stmList := PPUnresolvedParser new.
-        stm := PPUnresolvedParser new.
-        exp := PPUnresolvedParser new.
-        expList := PPUnresolvedParser new.
-        mulExp := PPUnresolvedParser new.
-        primExp := PPUnresolvedParser new.
-        
-        lower := $a ppMinus: $z.
-        upper := $A ppMinus: $Z.
-        char := lower / upper.
-        nonzero := $1 ppMinus: $9.
-        dec := $0 ppMinus: $9.
-        id := char, ( char / dec ) star.
-        num := $0 asParser / ( nonzero, dec star).
+	| goal stm stmList id char dec exp expList mulExp primExp nonzero num lower upper |
+	goal := PPUnresolvedParser new.
+	stmList := PPUnresolvedParser new.
+	stm := PPUnresolvedParser new.
+	exp := PPUnresolvedParser new.
+	expList := PPUnresolvedParser new.
+	mulExp := PPUnresolvedParser new.
+	primExp := PPUnresolvedParser new.
 
-        goal def: stmList end.
-        stmList def: stm , ( $; asParser, stm ) star.
-        stm def: ( id, ':=' asParser, exp )
-                / ( 'print' asParser, $( asParser, expList, $) asParser ). 
-        exp def: mulExp, ( ( $+ asParser / $- asParser ), mulExp ) star.
-        expList def: exp, ( $, asParser, exp ) star.
-        mulExp def: primExp, ( ( $* asParser / $/ asParser ), primExp ) star.
-        primExp def: id
-                / num
-                / ( $( asParser, stmList, $, asParser, exp, $) asParser ).
-        ^ goal
+	lower := $a ppMinus: $z.
+	upper := $A ppMinus: $Z.
+	char := lower / upper.
+	nonzero := $1 ppMinus: $9.
+	dec := $0 ppMinus: $9.
+	id := char, ( char / dec ) star.
+	num := $0 asParser / ( nonzero, dec star).
+
+	goal def: stmList end.
+	stmList def: stm , ( $; asParser, stm ) star.
+	stm def: ( id, ':=' asParser, exp )
+		/ ( 'print' asParser, $( asParser, expList, $) asParser ).
+	exp def: mulExp, ( ( $+ asParser / $- asParser ), mulExp ) star.
+	expList def: exp, ( $, asParser, exp ) star.
+	mulExp def: primExp, ( ( $* asParser / $/ asParser ), primExp ) star.
+	primExp def: id
+		/ num
+		/ ( $( asParser, stmList, $, asParser, exp, $) asParser ).
+	^ goal
 
     "Modified: / 19-12-2010 / 18:15:14 / Jan Kurs <kurs.jan@post.cz>"
 ! !
@@ -88,7 +88,7 @@
 !PPScriptingTest methodsFor:'tests'!
 
 testExpressionInterpreter
-	self 
+	self
 		assert: self expressionInterpreter
 		parse: '2*(3+4)'
 		to: 14
@@ -102,14 +102,14 @@
 !
 
 testSLassign
-	
+
 	self assert: self straightLineParser
 		parse: 'abc:=1'
 		to: #(#($a #($b $c) ':=' #(#(#($1 #()) #()) #())) #())
 !
 
 testSLprint
-	self 
+	self
 		assert: self straightLineParser
 		parse: 'print(3,4)'
 		to: #(('print' $( ((($3 ()) ()) () (($, ((($4 ()) ()) ())))) $)) ())
@@ -118,5 +118,5 @@
 !PPScriptingTest class methodsFor:'documentation'!
 
 version_SVN
-    ^ '$Id: PPScriptingTest.st,v 1.1 2011-08-18 18:56:17 cg Exp $'
+    ^ '$Id: PPScriptingTest.st,v 1.2 2012-01-13 11:22:50 cg Exp $'
 ! !
--- a/PPSequenceParser.st	Mon Sep 12 19:48:53 2011 +0200
+++ b/PPSequenceParser.st	Fri Jan 13 12:22:50 2012 +0100
@@ -1,4 +1,4 @@
-"{ Package: 'squeak:petitparser' }"
+"{ Package: 'stx:goodies/petitparser' }"
 
 PPListParser subclass:#PPSequenceParser
 	instanceVariableNames:''
@@ -23,7 +23,7 @@
 
 permutation: anArrayOfIntegers
 	"Answer a permutation of the receivers sequence."
-	
+
 	anArrayOfIntegers do: [ :index |
 		(index isInteger and: [ index between: 1 and: parsers size ])
 			ifFalse: [ self error: 'Invalid permutation index: ' , index printString ] ].
@@ -34,12 +34,12 @@
 
 parseOn: aStream
 	"This is optimized code that avoids unnecessary block activations, do not change."
-	
+
 	| start elements element |
 	start := aStream position.
 	elements := Array new: parsers size.
 	1 to: parsers size do: [ :index |
-		element := (parsers at: index) 
+		element := (parsers at: index)
 			parseOn: aStream.
 		element isPetitFailure ifTrue: [
 			aStream position: start.
@@ -51,5 +51,5 @@
 !PPSequenceParser class methodsFor:'documentation'!
 
 version_SVN
-    ^ '$Id: PPSequenceParser.st,v 1.1 2011-08-18 18:56:17 cg Exp $'
+    ^ '$Id: PPSequenceParser.st,v 1.2 2012-01-13 11:22:50 cg Exp $'
 ! !
--- a/PPStream.st	Mon Sep 12 19:48:53 2011 +0200
+++ b/PPStream.st	Fri Jan 13 12:22:50 2012 +0100
@@ -1,4 +1,4 @@
-"{ Package: 'squeak:petitparser' }"
+"{ Package: 'stx:goodies/petitparser' }"
 
 ReadStream subclass:#PPStream
 	instanceVariableNames:''
@@ -13,7 +13,7 @@
 
 !PPStream methodsFor:'accessing'!
 
-next: anInteger 
+next: anInteger
 	"Answer up to anInteger elements of my collection. Overridden for efficiency."
 
 	| answer endPosition |
@@ -61,5 +61,5 @@
 !PPStream class methodsFor:'documentation'!
 
 version_SVN
-    ^ '$Id: PPStream.st,v 1.1 2011-08-18 18:56:17 cg Exp $'
+    ^ '$Id: PPStream.st,v 1.2 2012-01-13 11:22:50 cg Exp $'
 ! !
--- a/PPToken.st	Mon Sep 12 19:48:53 2011 +0200
+++ b/PPToken.st	Fri Jan 13 12:22:50 2012 +0100
@@ -1,4 +1,4 @@
-"{ Package: 'squeak:petitparser' }"
+"{ Package: 'stx:goodies/petitparser' }"
 
 Object subclass:#PPToken
 	instanceVariableNames:'collection start stop'
@@ -9,9 +9,9 @@
 
 PPToken comment:'PPToken represents a parsed part of the input stream. Contrary to a simple String it remembers where it came from, the original collection and its start and stop position.
 Instance Variables:
-	collection	<SequenceableCollection>	The collection this token comes from.
-	start	<Integer>	The start position in the collection.
-	stop	<Integer>	The stop position in the collection.'
+	collection      <SequenceableCollection>        The collection this token comes from.
+	start   <Integer>       The start position in the collection.
+	stop    <Integer>       The stop position in the collection.'
 !
 
 
@@ -26,7 +26,7 @@
 !
 
 on: aSequenceableCollection start: aStartInteger stop: aStopInteger
-	^ self basicNew 
+	^ self basicNew
 		initializeOn: aSequenceableCollection
 		start: aStartInteger stop: aStopInteger
 ! !
@@ -53,7 +53,7 @@
 
 stop
 	"Answer the stop position of this token in the underlying collection."
-	
+
 	^ stop
 !
 
@@ -107,7 +107,7 @@
 
 column
 	"Answer the column number of this token in the underlying collection."
-	
+
 	| position |
 	position := 0.
 	(self newline , [ :stream |
@@ -121,7 +121,7 @@
 
 line
 	"Answer the line number of this token in the underlying collection."
-	
+
 	| line |
 	line := 1.
 	(self newline , [ :stream |
@@ -136,5 +136,5 @@
 !PPToken class methodsFor:'documentation'!
 
 version_SVN
-    ^ '$Id: PPToken.st,v 1.1 2011-08-18 18:56:17 cg Exp $'
+    ^ '$Id: PPToken.st,v 1.2 2012-01-13 11:22:50 cg Exp $'
 ! !
--- a/PPTokenParser.st	Mon Sep 12 19:48:53 2011 +0200
+++ b/PPTokenParser.st	Fri Jan 13 12:22:50 2012 +0100
@@ -1,4 +1,4 @@
-"{ Package: 'squeak:petitparser' }"
+"{ Package: 'stx:goodies/petitparser' }"
 
 PPFlattenParser subclass:#PPTokenParser
 	instanceVariableNames:'tokenClass'
@@ -9,7 +9,7 @@
 
 PPTokenParser comment:'A parser that answers a token of the range my delegate parses.
 Instance Variables:
-	tokenClass	<PPToken class>	The token sub-class to be used.'
+	tokenClass      <PPToken class> The token sub-class to be used.'
 !
 
 
@@ -27,7 +27,7 @@
 
 initialize
 	tokenClass := self defaultTokenClass
-	
+
 ! !
 
 !PPTokenParser methodsFor:'private'!
@@ -43,5 +43,5 @@
 !PPTokenParser class methodsFor:'documentation'!
 
 version_SVN
-    ^ '$Id: PPTokenParser.st,v 1.1 2011-08-18 18:56:17 cg Exp $'
+    ^ '$Id: PPTokenParser.st,v 1.2 2012-01-13 11:22:50 cg Exp $'
 ! !
--- a/PPTokenTest.st	Mon Sep 12 19:48:53 2011 +0200
+++ b/PPTokenTest.st	Fri Jan 13 12:22:50 2012 +0100
@@ -1,4 +1,4 @@
-"{ Package: 'squeak:petitparser' }"
+"{ Package: 'stx:goodies/petitparser' }"
 
 PPAbstractParseTest subclass:#PPTokenTest
 	instanceVariableNames:''
@@ -19,7 +19,7 @@
 testCollection
 	| input result |
 	input := 'foo    '.
-	result := self 
+	result := self
 		parse: input
 		using: self identifier.
 	self assert: (result collection = input).
@@ -28,7 +28,7 @@
 
 testNew
 	self should: [ PPToken new ] raise: Error.
-	
+
 !
 
 testPrinting
@@ -39,7 +39,7 @@
 
 testSize
 	| result |
-	result := self 
+	result := self
 		parse: 'foo'
 		using: self identifier.
 	self assert: result size = 3
@@ -47,7 +47,7 @@
 
 testStart
 	| result |
-	result := self 
+	result := self
 		parse: 'foo'
 		using: self identifier.
 	self assert: result start = 1
@@ -55,7 +55,7 @@
 
 testStop
 	| result |
-	result := self 
+	result := self
 		parse: 'foo'
 		using: self identifier.
 	self assert: result stop = 3
@@ -64,7 +64,7 @@
 testValue
 	| input result |
 	input := 'foo'.
-	result := self 
+	result := self
 		parse: input
 		using: self identifier.
 	self assert: result value = input.
@@ -88,7 +88,7 @@
 	| result other |
 	result := PPToken on: 'abc'.
 	other := result copyFrom: 2 to: 2.
-	
+
 	self assert: other size = 1.
 	self assert: other start = 2.
 	self assert: other stop = 2.
@@ -102,7 +102,7 @@
 	input := '1' , (String with: Character cr) , '12' , (String with: Character cr with: Character lf) , '123' , (String with: Character lf) , '1234'.
 	parser := #any asParser token star.
 	result := parser parse: input.
-	result 
+	result
 		with:  #(1 2 1 2 3 4 1 2 3 4 1 2 3 4)
 		do: [ :token :line | self assert: token column = line ]
 !
@@ -112,8 +112,8 @@
 	input := '1' , (String with: Character cr) , '12' , (String with: Character cr with: Character lf) , '123' , (String with: Character lf) , '1234'.
 	parser := #any asParser token star.
 	result := parser parse: input.
-	result 
-		with: #(1 1 2 2 2 2 3 3 3 3 4 4 4 4) 
+	result
+		with: #(1 1 2 2 2 2 3 3 3 3 4 4 4 4)
 		do: [ :token :line | self assert: token line = line ]
 ! !
 
@@ -126,5 +126,5 @@
 !PPTokenTest class methodsFor:'documentation'!
 
 version_SVN
-    ^ '$Id: PPTokenTest.st,v 1.1 2011-08-18 18:56:17 cg Exp $'
+    ^ '$Id: PPTokenTest.st,v 1.2 2012-01-13 11:22:50 cg Exp $'
 ! !
--- a/PPTrimmingParser.st	Mon Sep 12 19:48:53 2011 +0200
+++ b/PPTrimmingParser.st	Fri Jan 13 12:22:50 2012 +0100
@@ -1,4 +1,4 @@
-"{ Package: 'squeak:petitparser' }"
+"{ Package: 'stx:goodies/petitparser' }"
 
 PPDelegateParser subclass:#PPTrimmingParser
 	instanceVariableNames:'trimmer'
@@ -53,5 +53,5 @@
 !PPTrimmingParser class methodsFor:'documentation'!
 
 version_SVN
-    ^ '$Id: PPTrimmingParser.st,v 1.1 2011-08-18 18:56:17 cg Exp $'
+    ^ '$Id: PPTrimmingParser.st,v 1.2 2012-01-13 11:22:50 cg Exp $'
 ! !
--- a/PPUnresolvedParser.st	Mon Sep 12 19:48:53 2011 +0200
+++ b/PPUnresolvedParser.st	Fri Jan 13 12:22:50 2012 +0100
@@ -1,4 +1,4 @@
-"{ Package: 'squeak:petitparser' }"
+"{ Package: 'stx:goodies/petitparser' }"
 
 PPParser subclass:#PPUnresolvedParser
 	instanceVariableNames:''
@@ -26,5 +26,5 @@
 !PPUnresolvedParser class methodsFor:'documentation'!
 
 version_SVN
-    ^ '$Id: PPUnresolvedParser.st,v 1.1 2011-08-18 18:56:17 cg Exp $'
+    ^ '$Id: PPUnresolvedParser.st,v 1.2 2012-01-13 11:22:50 cg Exp $'
 ! !
--- a/PPWrappingParser.st	Mon Sep 12 19:48:53 2011 +0200
+++ b/PPWrappingParser.st	Fri Jan 13 12:22:50 2012 +0100
@@ -1,4 +1,4 @@
-"{ Package: 'squeak:petitparser' }"
+"{ Package: 'stx:goodies/petitparser' }"
 
 PPActionParser subclass:#PPWrappingParser
 	instanceVariableNames:''
@@ -20,5 +20,5 @@
 !PPWrappingParser class methodsFor:'documentation'!
 
 version_SVN
-    ^ '$Id: PPWrappingParser.st,v 1.1 2011-08-18 18:56:17 cg Exp $'
+    ^ '$Id: PPWrappingParser.st,v 1.2 2012-01-13 11:22:50 cg Exp $'
 ! !
--- a/abbrev.stc	Mon Sep 12 19:48:53 2011 +0200
+++ b/abbrev.stc	Fri Jan 13 12:22:50 2012 +0100
@@ -1,50 +1,50 @@
-PPAbstractParseTest PPAbstractParseTest squeak:petitparser 'PetitTests-Core' 4
-PPCharSetPredicate PPCharSetPredicate squeak:petitparser 'PetitParser-Tools' 0
-PPFailure PPFailure squeak:petitparser 'PetitParser-Core' 0
-PPMemento PPMemento squeak:petitparser 'PetitParser-Core' 0
-PPParser PPParser squeak:petitparser 'PetitParser-Parsers' 0
-PPParserResource PPParserResource squeak:petitparser 'PetitTests-Core' 1
-PPStream PPStream squeak:petitparser 'PetitParser-Core' 0
-PPToken PPToken squeak:petitparser 'PetitParser-Core' 0
-squeak_petitparser squeak_petitparser squeak:petitparser '* Projects & Packages *' 3
-PPComposedTest PPComposedTest squeak:petitparser 'PetitTests-Tests' 4
-PPCompositeParserTest PPCompositeParserTest squeak:petitparser 'PetitTests-Core' 4
-PPDelegateParser PPDelegateParser squeak:petitparser 'PetitParser-Parsers' 0
-PPEpsilonParser PPEpsilonParser squeak:petitparser 'PetitParser-Parsers' 0
-PPExtensionTest PPExtensionTest squeak:petitparser 'PetitTests-Tests' 4
-PPFailingParser PPFailingParser squeak:petitparser 'PetitParser-Parsers' 0
-PPListParser PPListParser squeak:petitparser 'PetitParser-Parsers' 0
-PPLiteralParser PPLiteralParser squeak:petitparser 'PetitParser-Parsers' 0
-PPMappingTest PPMappingTest squeak:petitparser 'PetitTests-Tests' 4
-PPObjectTest PPObjectTest squeak:petitparser 'PetitTests-Tests' 4
-PPParserTest PPParserTest squeak:petitparser 'PetitTests-Tests' 4
-PPPluggableParser PPPluggableParser squeak:petitparser 'PetitParser-Parsers' 0
-PPPredicateParser PPPredicateParser squeak:petitparser 'PetitParser-Parsers' 0
-PPPredicateTest PPPredicateTest squeak:petitparser 'PetitTests-Tests' 4
-PPScriptingTest PPScriptingTest squeak:petitparser 'PetitTests-Tests' 4
-PPTokenTest PPTokenTest squeak:petitparser 'PetitTests-Tests' 4
-PPUnresolvedParser PPUnresolvedParser squeak:petitparser 'PetitParser-Tools' 0
-PPActionParser PPActionParser squeak:petitparser 'PetitParser-Parsers' 0
-PPAndParser PPAndParser squeak:petitparser 'PetitParser-Parsers' 0
-PPArithmeticParserTest PPArithmeticParserTest squeak:petitparser 'PetitTests-Tests' 4
-PPChoiceParser PPChoiceParser squeak:petitparser 'PetitParser-Parsers' 0
-PPCompositeParser PPCompositeParser squeak:petitparser 'PetitParser-Tools' 0
-PPEndOfInputParser PPEndOfInputParser squeak:petitparser 'PetitParser-Parsers' 0
-PPExpressionParser PPExpressionParser squeak:petitparser 'PetitParser-Tools' 0
-PPFlattenParser PPFlattenParser squeak:petitparser 'PetitParser-Parsers' 0
-PPLambdaParserTest PPLambdaParserTest squeak:petitparser 'PetitTests-Tests' 4
-PPLiteralObjectParser PPLiteralObjectParser squeak:petitparser 'PetitParser-Parsers' 0
-PPLiteralSequenceParser PPLiteralSequenceParser squeak:petitparser 'PetitParser-Parsers' 0
-PPMemoizedParser PPMemoizedParser squeak:petitparser 'PetitParser-Parsers' 0
-PPNotParser PPNotParser squeak:petitparser 'PetitParser-Parsers' 0
-PPOptionalParser PPOptionalParser squeak:petitparser 'PetitParser-Parsers' 0
-PPPredicateObjectParser PPPredicateObjectParser squeak:petitparser 'PetitParser-Parsers' 0
-PPPredicateSequenceParser PPPredicateSequenceParser squeak:petitparser 'PetitParser-Parsers' 0
-PPRepeatingParser PPRepeatingParser squeak:petitparser 'PetitParser-Parsers' 0
-PPSequenceParser PPSequenceParser squeak:petitparser 'PetitParser-Parsers' 0
-PPTrimmingParser PPTrimmingParser squeak:petitparser 'PetitParser-Parsers' 0
-PPArithmeticParser PPArithmeticParser squeak:petitparser 'PetitTests-Examples' 0
-PPExpressionParserTest PPExpressionParserTest squeak:petitparser 'PetitTests-Tests' 4
-PPLambdaParser PPLambdaParser squeak:petitparser 'PetitTests-Examples' 0
-PPTokenParser PPTokenParser squeak:petitparser 'PetitParser-Parsers' 0
-PPWrappingParser PPWrappingParser squeak:petitparser 'PetitParser-Parsers' 0
+PPAbstractParseTest PPAbstractParseTest stx:goodies/petitparser 'PetitTests-Core' 4
+PPCharSetPredicate PPCharSetPredicate stx:goodies/petitparser 'PetitParser-Tools' 0
+PPFailure PPFailure stx:goodies/petitparser 'PetitParser-Core' 0
+PPMemento PPMemento stx:goodies/petitparser 'PetitParser-Core' 0
+PPParser PPParser stx:goodies/petitparser 'PetitParser-Parsers' 0
+PPParserResource PPParserResource stx:goodies/petitparser 'PetitTests-Core' 1
+PPStream PPStream stx:goodies/petitparser 'PetitParser-Core' 0
+PPToken PPToken stx:goodies/petitparser 'PetitParser-Core' 0
+squeak_petitparser squeak_petitparser stx:goodies/petitparser '* Projects & Packages *' 3
+PPComposedTest PPComposedTest stx:goodies/petitparser 'PetitTests-Tests' 4
+PPCompositeParserTest PPCompositeParserTest stx:goodies/petitparser 'PetitTests-Core' 4
+PPDelegateParser PPDelegateParser stx:goodies/petitparser 'PetitParser-Parsers' 0
+PPEpsilonParser PPEpsilonParser stx:goodies/petitparser 'PetitParser-Parsers' 0
+PPExtensionTest PPExtensionTest stx:goodies/petitparser 'PetitTests-Tests' 4
+PPFailingParser PPFailingParser stx:goodies/petitparser 'PetitParser-Parsers' 0
+PPListParser PPListParser stx:goodies/petitparser 'PetitParser-Parsers' 0
+PPLiteralParser PPLiteralParser stx:goodies/petitparser 'PetitParser-Parsers' 0
+PPMappingTest PPMappingTest stx:goodies/petitparser 'PetitTests-Tests' 4
+PPObjectTest PPObjectTest stx:goodies/petitparser 'PetitTests-Tests' 4
+PPParserTest PPParserTest stx:goodies/petitparser 'PetitTests-Tests' 4
+PPPluggableParser PPPluggableParser stx:goodies/petitparser 'PetitParser-Parsers' 0
+PPPredicateParser PPPredicateParser stx:goodies/petitparser 'PetitParser-Parsers' 0
+PPPredicateTest PPPredicateTest stx:goodies/petitparser 'PetitTests-Tests' 4
+PPScriptingTest PPScriptingTest stx:goodies/petitparser 'PetitTests-Tests' 4
+PPTokenTest PPTokenTest stx:goodies/petitparser 'PetitTests-Tests' 4
+PPUnresolvedParser PPUnresolvedParser stx:goodies/petitparser 'PetitParser-Tools' 0
+PPActionParser PPActionParser stx:goodies/petitparser 'PetitParser-Parsers' 0
+PPAndParser PPAndParser stx:goodies/petitparser 'PetitParser-Parsers' 0
+PPArithmeticParserTest PPArithmeticParserTest stx:goodies/petitparser 'PetitTests-Tests' 4
+PPChoiceParser PPChoiceParser stx:goodies/petitparser 'PetitParser-Parsers' 0
+PPCompositeParser PPCompositeParser stx:goodies/petitparser 'PetitParser-Tools' 0
+PPEndOfInputParser PPEndOfInputParser stx:goodies/petitparser 'PetitParser-Parsers' 0
+PPExpressionParser PPExpressionParser stx:goodies/petitparser 'PetitParser-Tools' 0
+PPFlattenParser PPFlattenParser stx:goodies/petitparser 'PetitParser-Parsers' 0
+PPLambdaParserTest PPLambdaParserTest stx:goodies/petitparser 'PetitTests-Tests' 4
+PPLiteralObjectParser PPLiteralObjectParser stx:goodies/petitparser 'PetitParser-Parsers' 0
+PPLiteralSequenceParser PPLiteralSequenceParser stx:goodies/petitparser 'PetitParser-Parsers' 0
+PPMemoizedParser PPMemoizedParser stx:goodies/petitparser 'PetitParser-Parsers' 0
+PPNotParser PPNotParser stx:goodies/petitparser 'PetitParser-Parsers' 0
+PPOptionalParser PPOptionalParser stx:goodies/petitparser 'PetitParser-Parsers' 0
+PPPredicateObjectParser PPPredicateObjectParser stx:goodies/petitparser 'PetitParser-Parsers' 0
+PPPredicateSequenceParser PPPredicateSequenceParser stx:goodies/petitparser 'PetitParser-Parsers' 0
+PPRepeatingParser PPRepeatingParser stx:goodies/petitparser 'PetitParser-Parsers' 0
+PPSequenceParser PPSequenceParser stx:goodies/petitparser 'PetitParser-Parsers' 0
+PPTrimmingParser PPTrimmingParser stx:goodies/petitparser 'PetitParser-Parsers' 0
+PPArithmeticParser PPArithmeticParser stx:goodies/petitparser 'PetitTests-Examples' 0
+PPExpressionParserTest PPExpressionParserTest stx:goodies/petitparser 'PetitTests-Tests' 4
+PPLambdaParser PPLambdaParser stx:goodies/petitparser 'PetitTests-Examples' 0
+PPTokenParser PPTokenParser stx:goodies/petitparser 'PetitParser-Parsers' 0
+PPWrappingParser PPWrappingParser stx:goodies/petitparser 'PetitParser-Parsers' 0
--- a/bc.mak	Mon Sep 12 19:48:53 2011 +0200
+++ b/bc.mak	Fri Jan 13 12:22:50 2012 +0100
@@ -1,4 +1,4 @@
-# $Header: /cvs/stx/stx/goodies/petitparser/bc.mak,v 1.1 2011-08-18 18:56:17 cg Exp $
+# $Header: /cvs/stx/stx/goodies/petitparser/bc.mak,v 1.2 2012-01-13 11:22:50 cg Exp $
 #
 # DO NOT EDIT
 # automagically generated from the projectDefinition: squeak_petitparser.
@@ -14,7 +14,7 @@
 #    bmake clobber - clean all
 #
 #
-TOP=..\..\stx
+TOP=..\..
 INCLUDE_TOP=$(TOP)\..
 
 
@@ -23,7 +23,7 @@
 
 !INCLUDE Make.spec
 
-LIBNAME=libsqueak_petitparser
+LIBNAME=libszx_goodies_petitparser
 RESFILES=petitparser.res
 
 
@@ -69,36 +69,36 @@
 $(OUTDIR)PPParser.$(O) PPParser.$(H): PPParser.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)PPStream.$(O) PPStream.$(H): PPStream.st $(INCLUDE_TOP)\stx\libbasic\ReadStream.$(H) $(INCLUDE_TOP)\stx\libbasic\PositionableStream.$(H) $(INCLUDE_TOP)\stx\libbasic\PeekableStream.$(H) $(INCLUDE_TOP)\stx\libbasic\Stream.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)PPToken.$(O) PPToken.$(H): PPToken.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)squeak_petitparser.$(O) squeak_petitparser.$(H): squeak_petitparser.st $(INCLUDE_TOP)\stx\libbasic\LibraryDefinition.$(H) $(INCLUDE_TOP)\stx\libbasic\ProjectDefinition.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)PPDelegateParser.$(O) PPDelegateParser.$(H): PPDelegateParser.st $(INCLUDE_TOP)\squeak\petitparser\PPParser.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)PPEpsilonParser.$(O) PPEpsilonParser.$(H): PPEpsilonParser.st $(INCLUDE_TOP)\squeak\petitparser\PPParser.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)PPFailingParser.$(O) PPFailingParser.$(H): PPFailingParser.st $(INCLUDE_TOP)\squeak\petitparser\PPParser.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)PPListParser.$(O) PPListParser.$(H): PPListParser.st $(INCLUDE_TOP)\squeak\petitparser\PPParser.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)PPLiteralParser.$(O) PPLiteralParser.$(H): PPLiteralParser.st $(INCLUDE_TOP)\squeak\petitparser\PPParser.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)PPPluggableParser.$(O) PPPluggableParser.$(H): PPPluggableParser.st $(INCLUDE_TOP)\squeak\petitparser\PPParser.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)PPPredicateParser.$(O) PPPredicateParser.$(H): PPPredicateParser.st $(INCLUDE_TOP)\squeak\petitparser\PPParser.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)PPUnresolvedParser.$(O) PPUnresolvedParser.$(H): PPUnresolvedParser.st $(INCLUDE_TOP)\squeak\petitparser\PPParser.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)PPActionParser.$(O) PPActionParser.$(H): PPActionParser.st $(INCLUDE_TOP)\squeak\petitparser\PPDelegateParser.$(H) $(INCLUDE_TOP)\squeak\petitparser\PPParser.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)PPAndParser.$(O) PPAndParser.$(H): PPAndParser.st $(INCLUDE_TOP)\squeak\petitparser\PPDelegateParser.$(H) $(INCLUDE_TOP)\squeak\petitparser\PPParser.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)PPChoiceParser.$(O) PPChoiceParser.$(H): PPChoiceParser.st $(INCLUDE_TOP)\squeak\petitparser\PPListParser.$(H) $(INCLUDE_TOP)\squeak\petitparser\PPParser.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)PPCompositeParser.$(O) PPCompositeParser.$(H): PPCompositeParser.st $(INCLUDE_TOP)\squeak\petitparser\PPDelegateParser.$(H) $(INCLUDE_TOP)\squeak\petitparser\PPParser.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)PPEndOfInputParser.$(O) PPEndOfInputParser.$(H): PPEndOfInputParser.st $(INCLUDE_TOP)\squeak\petitparser\PPDelegateParser.$(H) $(INCLUDE_TOP)\squeak\petitparser\PPParser.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)PPExpressionParser.$(O) PPExpressionParser.$(H): PPExpressionParser.st $(INCLUDE_TOP)\squeak\petitparser\PPDelegateParser.$(H) $(INCLUDE_TOP)\squeak\petitparser\PPParser.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)PPFlattenParser.$(O) PPFlattenParser.$(H): PPFlattenParser.st $(INCLUDE_TOP)\squeak\petitparser\PPDelegateParser.$(H) $(INCLUDE_TOP)\squeak\petitparser\PPParser.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)PPLiteralObjectParser.$(O) PPLiteralObjectParser.$(H): PPLiteralObjectParser.st $(INCLUDE_TOP)\squeak\petitparser\PPLiteralParser.$(H) $(INCLUDE_TOP)\squeak\petitparser\PPParser.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)PPLiteralSequenceParser.$(O) PPLiteralSequenceParser.$(H): PPLiteralSequenceParser.st $(INCLUDE_TOP)\squeak\petitparser\PPLiteralParser.$(H) $(INCLUDE_TOP)\squeak\petitparser\PPParser.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)PPMemoizedParser.$(O) PPMemoizedParser.$(H): PPMemoizedParser.st $(INCLUDE_TOP)\squeak\petitparser\PPDelegateParser.$(H) $(INCLUDE_TOP)\squeak\petitparser\PPParser.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)PPNotParser.$(O) PPNotParser.$(H): PPNotParser.st $(INCLUDE_TOP)\squeak\petitparser\PPDelegateParser.$(H) $(INCLUDE_TOP)\squeak\petitparser\PPParser.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)PPOptionalParser.$(O) PPOptionalParser.$(H): PPOptionalParser.st $(INCLUDE_TOP)\squeak\petitparser\PPDelegateParser.$(H) $(INCLUDE_TOP)\squeak\petitparser\PPParser.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)PPPredicateObjectParser.$(O) PPPredicateObjectParser.$(H): PPPredicateObjectParser.st $(INCLUDE_TOP)\squeak\petitparser\PPPredicateParser.$(H) $(INCLUDE_TOP)\squeak\petitparser\PPParser.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)PPPredicateSequenceParser.$(O) PPPredicateSequenceParser.$(H): PPPredicateSequenceParser.st $(INCLUDE_TOP)\squeak\petitparser\PPPredicateParser.$(H) $(INCLUDE_TOP)\squeak\petitparser\PPParser.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)PPRepeatingParser.$(O) PPRepeatingParser.$(H): PPRepeatingParser.st $(INCLUDE_TOP)\squeak\petitparser\PPDelegateParser.$(H) $(INCLUDE_TOP)\squeak\petitparser\PPParser.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)PPSequenceParser.$(O) PPSequenceParser.$(H): PPSequenceParser.st $(INCLUDE_TOP)\squeak\petitparser\PPListParser.$(H) $(INCLUDE_TOP)\squeak\petitparser\PPParser.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)PPTrimmingParser.$(O) PPTrimmingParser.$(H): PPTrimmingParser.st $(INCLUDE_TOP)\squeak\petitparser\PPDelegateParser.$(H) $(INCLUDE_TOP)\squeak\petitparser\PPParser.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)PPArithmeticParser.$(O) PPArithmeticParser.$(H): PPArithmeticParser.st $(INCLUDE_TOP)\squeak\petitparser\PPCompositeParser.$(H) $(INCLUDE_TOP)\squeak\petitparser\PPDelegateParser.$(H) $(INCLUDE_TOP)\squeak\petitparser\PPParser.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)PPLambdaParser.$(O) PPLambdaParser.$(H): PPLambdaParser.st $(INCLUDE_TOP)\squeak\petitparser\PPCompositeParser.$(H) $(INCLUDE_TOP)\squeak\petitparser\PPDelegateParser.$(H) $(INCLUDE_TOP)\squeak\petitparser\PPParser.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)PPTokenParser.$(O) PPTokenParser.$(H): PPTokenParser.st $(INCLUDE_TOP)\squeak\petitparser\PPFlattenParser.$(H) $(INCLUDE_TOP)\squeak\petitparser\PPDelegateParser.$(H) $(INCLUDE_TOP)\squeak\petitparser\PPParser.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)PPWrappingParser.$(O) PPWrappingParser.$(H): PPWrappingParser.st $(INCLUDE_TOP)\squeak\petitparser\PPActionParser.$(H) $(INCLUDE_TOP)\squeak\petitparser\PPDelegateParser.$(H) $(INCLUDE_TOP)\squeak\petitparser\PPParser.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)stx_goodies_petitparser.$(O) stx_goodies_petitparser.$(H): stx_goodies_petitparser.st $(INCLUDE_TOP)\stx\libbasic\LibraryDefinition.$(H) $(INCLUDE_TOP)\stx\libbasic\ProjectDefinition.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)PPDelegateParser.$(O) PPDelegateParser.$(H): PPDelegateParser.st $(INCLUDE_TOP)\stx\goodies\petitparser\PPParser.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)PPEpsilonParser.$(O) PPEpsilonParser.$(H): PPEpsilonParser.st $(INCLUDE_TOP)\stx\goodies\petitparser\PPParser.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)PPFailingParser.$(O) PPFailingParser.$(H): PPFailingParser.st $(INCLUDE_TOP)\stx\goodies\petitparser\PPParser.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)PPListParser.$(O) PPListParser.$(H): PPListParser.st $(INCLUDE_TOP)\stx\goodies\petitparser\PPParser.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)PPLiteralParser.$(O) PPLiteralParser.$(H): PPLiteralParser.st $(INCLUDE_TOP)\stx\goodies\petitparser\PPParser.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)PPPluggableParser.$(O) PPPluggableParser.$(H): PPPluggableParser.st $(INCLUDE_TOP)\stx\goodies\petitparser\PPParser.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)PPPredicateParser.$(O) PPPredicateParser.$(H): PPPredicateParser.st $(INCLUDE_TOP)\stx\goodies\petitparser\PPParser.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)PPUnresolvedParser.$(O) PPUnresolvedParser.$(H): PPUnresolvedParser.st $(INCLUDE_TOP)\stx\goodies\petitparser\PPParser.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)PPActionParser.$(O) PPActionParser.$(H): PPActionParser.st $(INCLUDE_TOP)\stx\goodies\petitparser\PPDelegateParser.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\PPParser.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)PPAndParser.$(O) PPAndParser.$(H): PPAndParser.st $(INCLUDE_TOP)\stx\goodies\petitparser\PPDelegateParser.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\PPParser.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)PPChoiceParser.$(O) PPChoiceParser.$(H): PPChoiceParser.st $(INCLUDE_TOP)\stx\goodies\petitparser\PPListParser.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\PPParser.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)PPCompositeParser.$(O) PPCompositeParser.$(H): PPCompositeParser.st $(INCLUDE_TOP)\stx\goodies\petitparser\PPDelegateParser.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\PPParser.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)PPEndOfInputParser.$(O) PPEndOfInputParser.$(H): PPEndOfInputParser.st $(INCLUDE_TOP)\stx\goodies\petitparser\PPDelegateParser.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\PPParser.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)PPExpressionParser.$(O) PPExpressionParser.$(H): PPExpressionParser.st $(INCLUDE_TOP)\stx\goodies\petitparser\PPDelegateParser.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\PPParser.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)PPFlattenParser.$(O) PPFlattenParser.$(H): PPFlattenParser.st $(INCLUDE_TOP)\stx\goodies\petitparser\PPDelegateParser.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\PPParser.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)PPLiteralObjectParser.$(O) PPLiteralObjectParser.$(H): PPLiteralObjectParser.st $(INCLUDE_TOP)\stx\goodies\petitparser\PPLiteralParser.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\PPParser.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)PPLiteralSequenceParser.$(O) PPLiteralSequenceParser.$(H): PPLiteralSequenceParser.st $(INCLUDE_TOP)\stx\goodies\petitparser\PPLiteralParser.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\PPParser.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)PPMemoizedParser.$(O) PPMemoizedParser.$(H): PPMemoizedParser.st $(INCLUDE_TOP)\stx\goodies\petitparser\PPDelegateParser.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\PPParser.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)PPNotParser.$(O) PPNotParser.$(H): PPNotParser.st $(INCLUDE_TOP)\stx\goodies\petitparser\PPDelegateParser.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\PPParser.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)PPOptionalParser.$(O) PPOptionalParser.$(H): PPOptionalParser.st $(INCLUDE_TOP)\stx\goodies\petitparser\PPDelegateParser.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\PPParser.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)PPPredicateObjectParser.$(O) PPPredicateObjectParser.$(H): PPPredicateObjectParser.st $(INCLUDE_TOP)\stx\goodies\petitparser\PPPredicateParser.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\PPParser.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)PPPredicateSequenceParser.$(O) PPPredicateSequenceParser.$(H): PPPredicateSequenceParser.st $(INCLUDE_TOP)\stx\goodies\petitparser\PPPredicateParser.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\PPParser.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)PPRepeatingParser.$(O) PPRepeatingParser.$(H): PPRepeatingParser.st $(INCLUDE_TOP)\stx\goodies\petitparser\PPDelegateParser.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\PPParser.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)PPSequenceParser.$(O) PPSequenceParser.$(H): PPSequenceParser.st $(INCLUDE_TOP)\stx\goodies\petitparser\PPListParser.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\PPParser.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)PPTrimmingParser.$(O) PPTrimmingParser.$(H): PPTrimmingParser.st $(INCLUDE_TOP)\stx\goodies\petitparser\PPDelegateParser.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\PPParser.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)PPArithmeticParser.$(O) PPArithmeticParser.$(H): PPArithmeticParser.st $(INCLUDE_TOP)\stx\goodies\petitparser\PPCompositeParser.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\PPDelegateParser.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\PPParser.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)PPLambdaParser.$(O) PPLambdaParser.$(H): PPLambdaParser.st $(INCLUDE_TOP)\stx\goodies\petitparser\PPCompositeParser.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\PPDelegateParser.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\PPParser.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)PPTokenParser.$(O) PPTokenParser.$(H): PPTokenParser.st $(INCLUDE_TOP)\stx\goodies\petitparser\PPFlattenParser.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\PPDelegateParser.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\PPParser.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)PPWrappingParser.$(O) PPWrappingParser.$(H): PPWrappingParser.st $(INCLUDE_TOP)\stx\goodies\petitparser\PPActionParser.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\PPDelegateParser.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\PPParser.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)extensions.$(O): extensions.st $(INCLUDE_TOP)\stx\libbasic\Block.$(H) $(INCLUDE_TOP)\stx\libbasic\CompiledCode.$(H) $(INCLUDE_TOP)\stx\libbasic\ExecutableFunction.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\BlockContext.$(H) $(INCLUDE_TOP)\stx\libbasic\Context.$(H) $(INCLUDE_TOP)\stx\libbasic\Character.$(H) $(INCLUDE_TOP)\stx\libbasic\Magnitude.$(H) $(INCLUDE_TOP)\stx\libbasic\PositionableStream.$(H) $(INCLUDE_TOP)\stx\libbasic\PeekableStream.$(H) $(INCLUDE_TOP)\stx\libbasic\Stream.$(H) $(INCLUDE_TOP)\stx\libbasic\SequenceableCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\Collection.$(H) $(INCLUDE_TOP)\stx\libbasic\Set.$(H) $(INCLUDE_TOP)\stx\libbasic\String.$(H) $(INCLUDE_TOP)\stx\libbasic\CharacterArray.$(H) $(INCLUDE_TOP)\stx\libbasic\ByteArray.$(H) $(INCLUDE_TOP)\stx\libbasic\UninterpretedBytes.$(H) $(INCLUDE_TOP)\stx\libbasic\ArrayedCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\Symbol.$(H) $(INCLUDE_TOP)\stx\libbasic\UndefinedObject.$(H) $(STCHDR)
 
 # ENDMAKEDEPEND --- do not remove this line
--- a/extensions.st	Mon Sep 12 19:48:53 2011 +0200
+++ b/extensions.st	Fri Jan 13 12:22:50 2012 +0100
@@ -1,4 +1,4 @@
-"{ Package: 'squeak:petitparser' }"!
+"{ Package: 'stx:goodies/petitparser' }"!
 
 !Block methodsFor:'*petitparser-core-converting'!
 
@@ -18,12 +18,12 @@
     "Return the Character that is <aMagnitude> lower than the receiver.
      Wrap if the resulting value is not a legal Character value. (JS)
      claus:
-        modified to return the difference as integer, if the argument
-        is another character. If the argument is a number, a character is
-        returned."
+	modified to return the difference as integer, if the argument
+	is another character. If the argument is a number, a character is
+	returned."
 
     aMagnitude isCharacter ifTrue:[
-        ^ asciivalue - aMagnitude asInteger
+	^ asciivalue - aMagnitude asInteger
     ].
     ^ Character codePoint:((asciivalue - aMagnitude asInteger) \\ 16r3FFFFFFF)
 
@@ -46,7 +46,7 @@
 
 ppMinus: aCharacter
     "Create a range of characters between the receiver and the argument."
-    
+
     ^ PPPredicateObjectParser between: self and: aCharacter
 
     "Created: / 19-12-2010 / 18:13:19 / Jan Kurs <kurs.jan@post.cz>"
@@ -73,14 +73,14 @@
 !PositionableStream methodsFor:'*petitparser-core-converting'!
 
 asPetitStream
-        "Some of my subclasses do not use the instance-variables collection, position and readLimit but instead have a completely different internal representation. In these cases just use the super implementation that is inefficient but should work in all cases."
+	"Some of my subclasses do not use the instance-variables collection, position and readLimit but instead have a completely different internal representation. In these cases just use the super implementation that is inefficient but should work in all cases."
 
-        "DUNNO WHY, but on: collection from: position to: last set the start to position -1"
-        self breakPoint: #petitparser.
+	"DUNNO WHY, but on: collection from: position to: last set the start to position -1"
+	self breakPoint: #petitparser.
 
-        ^ (collection isNil or: [ position  isNil or: [ readLimit isNil ] ])
-                ifFalse: [ PPStream on: collection from: (position +1) to: readLimit ]
-                ifTrue: [ super asPetitStream ]
+	^ (collection isNil or: [ position  isNil or: [ readLimit isNil ] ])
+		ifFalse: [ PPStream on: collection from: (position +1) to: readLimit ]
+		ifTrue: [ super asPetitStream ]
 
 
 "/        ^ (collection isNil or: [ position isNil or: [ readLimit isNil ] ])
@@ -146,8 +146,8 @@
 	^ PPEpsilonParser new
 ! !
 
-!squeak_petitparser class methodsFor:'documentation'!
+!stx_goodies_petitparser class methodsFor:'documentation'!
 
 extensionsVersion_CVS
-    ^ '$Header: /cvs/stx/stx/goodies/petitparser/extensions.st,v 1.2 2011-09-12 17:48:53 cg Exp $'
-! !
\ No newline at end of file
+    ^ '$Header: /cvs/stx/stx/goodies/petitparser/extensions.st,v 1.3 2012-01-13 11:22:50 cg Exp $'
+! !
--- a/libInit.cc	Mon Sep 12 19:48:53 2011 +0200
+++ b/libInit.cc	Fri Jan 13 12:22:50 2012 +0100
@@ -1,5 +1,5 @@
 /*
- * $Header: /cvs/stx/stx/goodies/petitparser/libInit.cc,v 1.1 2011-08-18 18:56:17 cg Exp $
+ * $Header: /cvs/stx/stx/goodies/petitparser/libInit.cc,v 1.2 2012-01-13 11:22:50 cg Exp $
  *
  * DO NOT EDIT
  * automagically generated from the projectDefinition: squeak_petitparser.
@@ -12,28 +12,28 @@
 #endif
 
 #if defined(INIT_TEXT_SECTION) || defined(DLL_EXPORT)
-DLL_EXPORT void _libsqueak_petitparser_Init() INIT_TEXT_SECTION;
-// DLL_EXPORT void _libsqueak_petitparser_InitDefinition() INIT_TEXT_SECTION;
+DLL_EXPORT void _libstx_goodies_petitparser_Init() INIT_TEXT_SECTION;
+// DLL_EXPORT void _libstx_goodies_petitparser_InitDefinition() INIT_TEXT_SECTION;
 #endif
 
-// void _libsqueak_petitparser_InitDefinition(pass, __pRT__, snd)
+// void _libstx_goodies_petitparser_InitDefinition(pass, __pRT__, snd)
 // OBJ snd; struct __vmData__ *__pRT__; {
-// __BEGIN_PACKAGE2__("libsqueak_petitparser__DFN", _libsqueak_petitparser_InitDefinition, "squeak:petitparser");
-// _squeak_137petitparser_Init(pass,__pRT__,snd);
+// __BEGIN_PACKAGE2__("libstx_goodies_petitparser__DFN", _libstx_goodies_petitparser_InitDefinition, "stx:goodies/petitparser");
+// _stx_137goodies_137petitparser_Init(pass,__pRT__,snd);
 
 // __END_PACKAGE__();
 // }
 
-void _libsqueak_petitparser_Init(pass, __pRT__, snd)
+void _libstx_goodies_petitparser_Init(pass, __pRT__, snd)
 OBJ snd; struct __vmData__ *__pRT__; {
-__BEGIN_PACKAGE2__("libsqueak_petitparser", _libsqueak_petitparser_Init, "squeak:petitparser");
+__BEGIN_PACKAGE2__("libstx_goodies_petitparser", _libstx_goodies_petitparser_Init, "stx:goodies/petitparser");
 _PPCharSetPredicate_Init(pass,__pRT__,snd);
 _PPFailure_Init(pass,__pRT__,snd);
 _PPMemento_Init(pass,__pRT__,snd);
 _PPParser_Init(pass,__pRT__,snd);
 _PPStream_Init(pass,__pRT__,snd);
 _PPToken_Init(pass,__pRT__,snd);
-_squeak_137petitparser_Init(pass,__pRT__,snd);
+_stx_137goodies_137petitparser_Init(pass,__pRT__,snd);
 _PPDelegateParser_Init(pass,__pRT__,snd);
 _PPEpsilonParser_Init(pass,__pRT__,snd);
 _PPFailingParser_Init(pass,__pRT__,snd);
@@ -64,6 +64,6 @@
 _PPTokenParser_Init(pass,__pRT__,snd);
 _PPWrappingParser_Init(pass,__pRT__,snd);
 
-_squeak_137petitparser_extensions_Init(pass,__pRT__,snd);
+_stx_137goodies_137petitparser_extensions_Init(pass,__pRT__,snd);
 __END_PACKAGE__();
 }