Alexander Lazarević uploaded a new version of ShoutCore to project The Trunk:
http://source.squeak.org/trunk/ShoutCore-laza.15.mcz==================== Summary ====================
Name: ShoutCore-laza.15
Author: laza
Time: 28 April 2010, 6:17:22.553 pm
UUID: 6bf30b06-94e6-410a-b3fe-fb8e3e9e82ff
Ancestors: ShoutCore-ul.14
Make Shout parse source with respect to "allow underscore assignments/selectors"
=============== Diff against ShoutCore-ul.14 ===============
Item was changed:
----- Method: SHParserST80>>isAssignment (in category 'token testing') -----
isAssignment
+ ^self isAnsiAssignment or: [self allowUnderscoreAssignments and: [currentToken = '_']]!
- ^currentToken = ':=' or: [currentToken = '_']!
Item was added:
+ ----- Method: SHParserST80>>allowUnderscoreSelectors (in category 'private') -----
+ allowUnderscoreSelectors
+ "Query class + preference"
+ ^(classOrMetaClass ifNotNil: [:c | c allowUnderscoreSelectors])
+ ifNil: [Scanner prefAllowUnderscoreSelectors]!
Item was added:
+ ----- Method: SHParserST80>>allowUnderscoreAssignments (in category 'private') -----
+ allowUnderscoreAssignments
+ "Query class + preference"
+ ^(classOrMetaClass ifNotNil: [:c | c allowUnderscoreAssignments])
+ ifNil: [Scanner prefAllowUnderscoreAssignments]!
Item was changed:
----- Method: SHParserST80>>scanIdentifier (in category 'scan') -----
scanIdentifier
| c start |
start := sourcePosition.
+ [(c := self nextChar) isAlphaNumeric or: [self allowUnderscoreSelectors and: [c == $_]]] whileTrue: [].
- [(c := self nextChar) isAlphaNumeric] whileTrue: [].
(c == $: and: [(self isSelectorCharacter: self peekChar) not])
ifTrue: [self nextChar].
currentToken := source copyFrom: start to: sourcePosition - 1.
currentTokenSourcePosition := start!