[Pharo-project] RBScanner>>#initializeClassificationTable

Henrik Johansen henrik.s.johansen at veloxit.no
Thu Nov 25 12:05:38 CET 2010


On Nov 25, 2010, at 11:41 07AM, Levente Uzonyi wrote:

> On Thu, 25 Nov 2010, Henrik Johansen wrote:
> 
>> 
>> On Nov 25, 2010, at 10:58 44AM, Benjamin wrote:
>> 
>>> Hello guys,
>>> 
>>> Is there a reason this method use :
>>> 
>>> 	(Scanner isLiteralSymbol: '_')
>>> 		ifTrue: [ self initializeChars: '_' to: #alphabetic ]
>>> 		ifFalse: [ self initializeChars: '_' to: #special ].
>>> 
>>> and not
>>> 
>>> 	(Scanner allowUnderscoreAsAssignment)
>>> 		ifTrue: [ self initializeChars: '_' to: #special ]
>>> 		ifFalse:[ self initializeChars: '_' to: #alphabetic ]
>>> 
>>> ?
>>> 
>>> 
>>> Cheers,
>>> 
>>> Ben
>> 
>> Compatibility I would guess.
>> In Squeak, allowUnderscoreAsAssignment is still a Preferences method.
> 
> No, it never was a method of Preferences. It's a pragma preference, but in Squeak 4.1 it has a different name, IIRC prefAllowUnderscoreAssignment.
> 
> 
> Levente


My bad, in the 4.1 image there's 
Preferences >> allowUnderscoreAssignment
	^ self
		valueOfFlag: #allowUnderscoreAssignment
		ifAbsent: [false]
(Added by Parser class>>#initialize), I didn't check if it was actually in use anymore.

Compatibility seems the be the reason anyways though, as you said the Scanner pragma preference has a different name.


On Nov 25, 2010, at 11:42 56AM, Levente Uzonyi wrote:

> On Thu, 25 Nov 2010, Henrik Johansen wrote:
> 
>> P.S. At the very least it could be changed to Scanner isLiteralSymbol: #_
> 
> I guess not. There was a bug in Squeak (and probably Pharo too), because the compiler replaced #_ to #':=' during compilation. See http://bugs.squeak.org/view.php?id=7571 .

:(
Can't reproduce it in Pharo 1.0 onwards, with allowUnderscore on/off, though.

Cheers,
Henry
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.gforge.inria.fr/pipermail/pharo-project/attachments/20101125/659f8ae4/attachment.htm>


More information about the Pharo-project mailing list