[Vm-dev] VM Maker: Cog-eem.139.mcz

commits at source.squeak.org commits at source.squeak.org
Fri Feb 28 23:18:17 UTC 2014


Eliot Miranda uploaded a new version of Cog to project VM Maker:
http://source.squeak.org/VMMaker/Cog-eem.139.mcz

==================== Summary ====================

Name: Cog-eem.139
Author: eem
Time: 28 February 2014, 3:17:58.888 pm
UUID: 97170b13-6e17-417d-82a1-80f62217113b
Ancestors: Cog-eem.138

remember to change assignments when hacking newspeak

=============== Diff against Cog-eem.138 ===============

Item was changed:
  ----- Method: SpurBootstrapNewspeakFilePatcher>>newspeakSourceFor:selector: (in category 'patching') -----
  newspeakSourceFor: method "<CompiledMethod>" selector: selector "<Symbol>"
  	| source startIndex nextIndex |
  	source := method getSourceFromFile asString allButFirst: method selector size - selector size.
  	source first ~= selector first ifTrue:
  		[source replaceFrom: 1 to: selector size with: selector startingAt: 1].
  
  	"map comments to Newspeak format..."
  	startIndex := 1.
  	[(startIndex := source indexOf: $" startingAt: startIndex) > 0] whileTrue:
  		[nextIndex := source indexOf: $" startingAt: startIndex + 1.
  		 nextIndex < startIndex ifTrue:
  			[self error: 'matching close comment not found'].
  		 source := source copyReplaceFrom: nextIndex to: nextIndex with: ' *)'.
  		 source := source copyReplaceFrom: startIndex to: startIndex with: '(* '.
  		 startIndex := nextIndex + 5].
  
+ 	"map assignments to Newspeak format"
+ 	startIndex := 1.
+ 	[(startIndex := source indexOfSubCollection: ':=' startingAt: startIndex) > 0] whileTrue:
+ 		[nextIndex := startIndex.
+ 		 [(source at: nextIndex - 1) isSeparator] whileTrue:
+ 			[nextIndex := nextIndex - 1].
+ 		 source := source copyReplaceFrom: nextIndex to: startIndex + 1 with: '::'.
+ 		 startIndex := nextIndex + 1].
+ 
  	"add the horror-show parentheses"
  	startIndex := source indexOf: Character cr.
  	source := source copyReplaceFrom: startIndex to: startIndex - 1 with: ' = ('.
  	source := source, (String with: Character cr with: $) ).
  	^source!



More information about the Vm-dev mailing list