The Trunk: Compiler-eem.249.mcz

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

The Trunk: Compiler-eem.249.mcz

commits-2
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!