PPLiteralParser.st
author Claus Gittinger <cg@exept.de>
Thu, 18 Aug 2011 20:56:17 +0200
changeset 0 739fe9b7253e
child 4 90de244a7fa2
permissions -rw-r--r--
*** empty log message ***

"{ Package: 'squeak:petitparser' }"

PPParser subclass:#PPLiteralParser
	instanceVariableNames:'literal message'
	classVariableNames:''
	poolDictionaries:''
	category:'PetitParser-Parsers'
!

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.
'
!


!PPLiteralParser class methodsFor:'instance creation'!

on: anObject
	^ self on: anObject message: anObject printString , ' expected'
!

on: anObject message: aString
	^ self new initializeOn: anObject message: aString
! !

!PPLiteralParser methodsFor:'accessing'!

literal
	"Answer the parsed literal."

	^ literal
!

message
	"Answer the failure message."
	
	^ message
! !

!PPLiteralParser methodsFor:'initialization'!

initializeOn: anObject message: aString
	literal := anObject.
	message := aString
! !

!PPLiteralParser methodsFor:'operators'!

caseInsensitive
	"Answer a parser that can parse the receiver case-insensitive."
	
	self subclassResponsibility
! !

!PPLiteralParser methodsFor:'printing'!

printNameOn: aStream
	super printNameOn: aStream.
	aStream nextPutAll: ', '; print: literal
! !

!PPLiteralParser class methodsFor:'documentation'!

version_SVN
    ^ '$Id: PPLiteralParser.st,v 1.1 2011-08-18 18:56:17 cg Exp $'
! !