[squeak-dev] The Trunk: Compiler-eem.249.mcz

commits at source.squeak.org commits at source.squeak.org
Fri Feb 8 22:08:02 UTC 2013


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!



More information about the Squeak-dev mailing list