Eliot Miranda uploaded a new version of Compiler to project The Trunk:
http://source.squeak.org/trunk/Compiler-eem.249.mcz==================== Summary ====================
Name: Compiler-eem.249
Author: eem
Time: 8 February 2013, 2:07:37.462 pm
UUID: 89a487ca-b4a7-482e-b57f-d0a62dca408a
Ancestors: Compiler-eem.248
Simplify Parser>expression. braceExpression is handled in
primaryExpression, as it should be. The extra invocation in
expression is unnecessary, and harmlessly erroneous.
Fix snafu with Compiler-eem.248 (slightly less circuitous generation of methods with temp names).
=============== Diff against Compiler-eem.248 ===============
Item was changed:
----- Method: MethodNode>>generateWithTempNames (in category 'code generation') -----
generateWithTempNames
"Answer a CompiledMethod with temps names encoded in its trailer."
| methodSansTempNames |
"The encoder computes the schematic temp names during generation, so
generate a method without temp names first. If the method is quick there are
no temps and hence no temp names."
methodSansTempNames := self
generate: CompiledMethodTrailer empty
using: CompiledMethod.
^methodSansTempNames
+ copyWithTrailerBytes:
+ ((CompiledMethodTrailer new tempNames:
+ (methodSansTempNames isQuick
+ ifTrue: ['']
+ ifFalse: [encoder schematicTempNamesString])))!
- copyWithTempNames: (methodSansTempNames isQuick
- ifTrue: ['']
- ifFalse: [encoder schematicTempNamesString])!
Item was changed:
----- Method: Parser>>expression (in category 'expression types') -----
expression
+ (hereType == #word
+ and: [tokenType == #leftArrow]) ifTrue:
+ [^self assignment: self variable].
+ self primaryExpression ifFalse:
+ [^false].
+ ((self messagePart: 3 repeat: true)
+ and: [hereType == #semicolon]) ifTrue:
+ [self cascade].
+ ^true!
-
- (hereType == #word and: [tokenType == #leftArrow])
- ifTrue: [^ self assignment: self variable].
- hereType == #leftBrace
- ifTrue: [self braceExpression]
- ifFalse: [self primaryExpression ifFalse: [^ false]].
- (self messagePart: 3 repeat: true)
- ifTrue: [hereType == #semicolon ifTrue: [self cascade]].
- ^ true!