PPLiteralParser.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Tue, 16 Jun 2015 07:49:21 +0100
changeset 491 82b272c7dc37
parent 377 6112a403a52d
permissions -rw-r--r--
Codegen: added support for smart action node compiling. Avoid creation of intermediate result collection for action nodes if all references to action block's argument (i.e., the nodes collection) is in form of: * <nodes> at: <numeric constant> * <nodes> first (second, third...

"{ Package: 'stx:goodies/petitparser' }"

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


!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
    ^ '$Header: /cvs/stx/stx/goodies/petitparser/PPLiteralParser.st,v 1.4 2014-03-04 14:33:03 cg Exp $'
!

version_CVS
    ^ '$Header: /cvs/stx/stx/goodies/petitparser/PPLiteralParser.st,v 1.4 2014-03-04 14:33:03 cg Exp $'
!

version_SVN
    ^ '$Id: PPLiteralParser.st,v 1.4 2014-03-04 14:33:03 cg Exp $'
! !