PPFailingParser.st
changeset 0 739fe9b7253e
child 4 90de244a7fa2
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/PPFailingParser.st	Thu Aug 18 20:56:17 2011 +0200
@@ -0,0 +1,53 @@
+"{ Package: 'squeak:petitparser' }"
+
+PPParser subclass:#PPFailingParser
+	instanceVariableNames:'message'
+	classVariableNames:''
+	poolDictionaries:''
+	category:'PetitParser-Parsers'
+!
+
+PPFailingParser comment:'A parser that consumes nothing and always fails.
+Instance Variables:
+	message <String>	The failure message.'
+!
+
+
+!PPFailingParser class methodsFor:'instance creation'!
+
+message: aString
+	^ self new setMessage: aString
+! !
+
+!PPFailingParser methodsFor:'accessing'!
+
+message
+	"Answer the error message of the receiving parser."
+
+	^ message
+! !
+
+!PPFailingParser methodsFor:'initialization'!
+
+setMessage: aString
+	message := aString
+! !
+
+!PPFailingParser methodsFor:'parsing'!
+
+parseOn: aStream
+	^ PPFailure message: message at: aStream position
+! !
+
+!PPFailingParser methodsFor:'printing'!
+
+printNameOn: aStream
+	super printNameOn: aStream.
+	aStream nextPutAll: ', '; print: message
+! !
+
+!PPFailingParser class methodsFor:'documentation'!
+
+version_SVN
+    ^ '$Id: PPFailingParser.st,v 1.1 2011-08-18 18:56:17 cg Exp $'
+! !