Eliot Miranda uploaded a new version of ShoutCore to project The Trunk: http://source.squeak.org/trunk/ShoutCore-eem.22.mcz
==================== Summary ====================
Name: ShoutCore-eem.22 Author: eem Time: 11 October 2010, 11:37:36.994 am UUID: bf5e644e-451b-4117-bb1a-8d3a087f902d Ancestors: ShoutCore-eem.16, ShoutCore-nice.21
Merge with ShoutCore-nice.21. Now that we now that $- is (almost) a normal binary selector character (it also occurs in Number literals), let's do more simplifications.
Laza's isNil ifTrue:... => ifNil: tweaks.
=============== Diff against ShoutCore-nice.21 ===============
Item was changed: ----- Method: SHParserST80>>parseExternalCall (in category 'parse') ----- parseExternalCall + [self scanNext. + ((Smalltalk at: #ExternalFunction) callingConventionModifierFor: currentToken) notNil] + whileTrue. - self scanNext. self scanPast: #externalCallType. currentToken = '*' ifTrue: [self scanPast: #externalCallTypePointerIndicator]. currentTokenFirst isDigit ifTrue: [self scanPast: #integer] ifFalse: [ self failUnless: currentTokenFirst == $'. self parseString]. self failUnless: currentTokenFirst == $(. self scanPast: #leftParenthesis. + [currentTokenFirst ~= $)] - [currentTokenFirst ~~ $)] whileTrue: [ self scanPast: #externalCallType. currentToken = '*' ifTrue: [self scanPast: #externalCallTypePointerIndicator]]. self scanPast: #rightParenthesis. currentToken = 'module:' ifTrue: [ self scanPast: #module. self failUnless: currentTokenFirst == $'. self parseString]. + currentToken = 'error:' + ifTrue: [ + self scanPast: #module. + currentTokenFirst == $' + ifTrue: [self parseString] + ifFalse: [self scanPast: #patternTempVar]]. self failUnless: currentToken = '>'. self scanPast: #primitiveOrExternalCallEnd!
Item was changed: ----- Method: SHParserST80>>parsePrimitive (in category 'parse') ----- parsePrimitive + | numericPrim yetToSeeErrorCode | + yetToSeeErrorCode := true. self scanNext. + (numericPrim := currentTokenFirst isDigit) - currentTokenFirst isDigit ifTrue: [self scanPast: #integer] ifFalse: [ + self failUnless: currentTokenFirst == $'. + self parseString]. + currentToken = 'error:' ifTrue: + [yetToSeeErrorCode := false. + self scanPast: #primitive. + self isName + ifTrue: [self scanPast: #patternTempVar] + ifFalse: + [self failUnless: currentTokenFirst == $'. + self parseString]]. + numericPrim ifFalse: + [currentToken = 'module:' ifTrue: + [self scanPast: #module. + self failUnless: currentTokenFirst == $'. + self parseString]]. + (yetToSeeErrorCode + and: [currentToken = 'error:']) ifTrue: + [self scanPast: #primitive. + self isName + ifTrue: [self scanPast: #patternTempVar] + ifFalse: + [self failUnless: currentTokenFirst == $'. + self parseString]]. + self failUnless: currentToken = '>'. - currentTokenFirst == $' - ifTrue: [ self parseString ] - ifFalse: [ - currentTokenFirst == $# - ifTrue: [ self parseSymbol ] - ifFalse: [ self error ] ]. - currentToken = 'module:' - ifTrue: [ - self scanPast: #module. - currentTokenFirst == $' - ifTrue: [ self parseString ] - ifFalse: [ - currentTokenFirst == $# - ifTrue: [ self parseSymbol ] - ifFalse: [ self error ] ] ] ]. - self failUnless: currentTokenFirst == $>. self scanPast: #primitiveOrExternalCallEnd!
squeak-dev@lists.squeakfoundation.org