[squeak-dev] The Trunk: Compiler-IgorStasenko.198.mcz
commits at source.squeak.org
commits at source.squeak.org
Fri Mar 25 13:22:45 UTC 2011
Igor Stasenko uploaded a new version of Compiler to project The Trunk:
http://source.squeak.org/trunk/Compiler-IgorStasenko.198.mcz
==================== Summary ====================
Name: Compiler-IgorStasenko.198
Author: IgorStasenko
Time: 25 March 2011, 2:19:06.815 pm
UUID: bf3a5d4c-f59c-3946-b327-5d4df44ac340
Ancestors: Compiler-ar.197
Wiped out the rest of positional arguments cruft
=============== Diff against Compiler-ar.197 ===============
Item was changed:
----- Method: Parser>>pattern:inContext: (in category 'expression types') -----
pattern: fromDoit inContext: ctxt
" unarySelector | binarySelector arg | keyword arg {keyword arg} =>
{selector, arguments, precedence}."
| args selector |
doitFlag := fromDoit.
fromDoit ifTrue:
[^ctxt == nil
ifTrue: [{#DoIt. {}. 1}]
ifFalse: [{#DoItIn:. {encoder encodeVariable: encoder doItInContextName}. 3}]].
hereType == #word ifTrue: [^ {self advance asSymbol. {}. 1}].
(hereType == #binary or: [hereType == #verticalBar]) ifTrue:
[selector := self advance asSymbol.
args := Array with: (encoder bindArg: self argumentName).
^ {selector. args. 2}].
hereType == #keyword ifTrue:
[selector := WriteStream on: (String new: 32).
args := OrderedCollection new.
[hereType == #keyword] whileTrue:[
selector nextPutAll: self advance.
args addLast: (encoder bindArg: self argumentName).
].
^ {selector contents asSymbol. args. 3}].
- hereType == #positionalMessage ifTrue:[
- args := OrderedCollection new.
- selector := self advance.
- hereType == #rightParenthesis ifTrue:[self advance. ^{(selector,'/0') asSymbol. args. 1}].
- [
- args addLast: (encoder bindArg: self argumentName).
- hereType == #rightParenthesis ifTrue:[
- self advance.
- selector := (selector,'/', args size printString) asSymbol.
- ^{selector. args. 1}].
- here == #, ifFalse:[self expected: 'comma'].
- self advance.
- ] repeat.
- ].
^self expected: 'Message pattern'!
More information about the Squeak-dev
mailing list
|