PPLiteralParser.st
author Claus Gittinger <cg@exept.de>
Fri, 13 Jan 2012 12:24:08 +0100
changeset 5 804a351a9415
parent 4 90de244a7fa2
child 35 f34ac42e9496
permissions -rw-r--r--
*** empty log message ***

"{ Package: 'stx:goodies/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.2 2012-01-13 11:22:50 cg Exp $'
! !