diff -r 38bf7423a5d4 -r eebf3d210c09 PPLiteralParser.st --- a/PPLiteralParser.st Tue Mar 04 15:33:00 2014 +0100 +++ b/PPLiteralParser.st Tue Mar 04 15:33:03 2014 +0100 @@ -11,13 +11,25 @@ !PPLiteralParser class methodsFor:'instance creation'! on: anObject - ^ self on: anObject message: anObject printString , ' expected' + |msg| + + "portable - does not depend on character to print with a $" + msg := anObject isCharacter + ifTrue:[ '$',anObject asString] + ifFalse:[ anObject printString ]. + ^ self on: anObject message: msg , ' expected' ! on: anObject message: aString ^ self new initializeOn: anObject message: aString ! ! +!PPLiteralParser methodsFor:'*petitanalyzer-matching'! + +match: aParser inContext: aDictionary seen: anIdentitySet + ^ (super match: aParser inContext: aDictionary seen: anIdentitySet) and: [ self literal = aParser literal and: [ self message = aParser message ] ] +! ! + !PPLiteralParser methodsFor:'accessing'! literal @@ -50,20 +62,26 @@ !PPLiteralParser methodsFor:'printing'! printNameOn: aStream - super printNameOn: aStream. - aStream nextPutAll: ', '; print: literal + super printNameOn: aStream. + literal isCharacter ifTrue:[ + "/ portable - does not depend on character-print to print with $ + aStream nextPutAll: ', $'; print: literal asString + ] ifFalse:[ + aStream nextPutAll: ', '; print: literal + ]. ! ! !PPLiteralParser class methodsFor:'documentation'! version - ^ '$Header: /cvs/stx/stx/goodies/petitparser/PPLiteralParser.st,v 1.3 2012-05-04 22:04:55 vrany Exp $' + ^ '$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.3 2012-05-04 22:04:55 vrany Exp $' + ^ '$Header: /cvs/stx/stx/goodies/petitparser/PPLiteralParser.st,v 1.4 2014-03-04 14:33:03 cg Exp $' ! version_SVN - ^ '§Id: PPLiteralParser.st 2 2010-12-17 18:44:23Z vranyj1 §' + ^ '$Id: PPLiteralParser.st,v 1.4 2014-03-04 14:33:03 cg Exp $' ! ! +