PPCompositeParser.st
changeset 4 90de244a7fa2
parent 0 739fe9b7253e
child 28 1194e560eda4
--- 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 $'
 ! !