[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