[Vm-dev] VM Maker: VMMaker.oscog-eem.203.mcz
commits at source.squeak.org
commits at source.squeak.org
Wed Aug 15 02:15:34 UTC 2012
Eliot Miranda uploaded a new version of VMMaker to project VM Maker:
http://source.squeak.org/VMMaker/VMMaker.oscog-eem.203.mcz
==================== Summary ====================
Name: VMMaker.oscog-eem.203
Author: eem
Time: 14 August 2012, 7:12:41.248 pm
UUID: 7f3eefb4-e338-4309-9ea9-4f45ab13f03e
Ancestors: VMMaker.oscog-eem.202
Emit comments on blocks (TStmtList).
Add another enumerator for TParseNode.
=============== Diff against VMMaker.oscog-eem.202 ===============
Item was added:
+ ----- Method: TParseNode>>collect: (in category 'enumerating') -----
+ collect: aBlock
+ | nodes |
+ nodes := OrderedCollection new.
+ self nodesDo: [:n| (aBlock value: n) ifTrue: [nodes add: n]].
+ ^nodes!
Item was added:
+ ----- Method: TParseNode>>comment (in category 'accessing') -----
+ comment
+ ^comment!
Item was changed:
----- Method: TStmtListNode>>emitCCodeOn:prependToEnd:level:generator: (in category 'C code generation') -----
emitCCodeOn: aStream prependToEnd: aNodeOrNil level: level generator: aCodeGen
+ self emitCCommentOn: aStream level: level.
-
statements withIndexDo:
[:s :idx|
s emitCCommentOn: aStream level: level.
aStream tab: level.
(aNodeOrNil notNil
and: [idx = statements size])
ifTrue:
[aNodeOrNil prependCCodeOn: aStream level: level generator: aCodeGen.
s emitCCodeAsExpressionOn: aStream level: level generator: aCodeGen]
ifFalse:
[s emitCCodeOn: aStream level: level generator: aCodeGen].
((self endsWithCloseBracket: aStream)
or: [s isComment
or: [s isPreprocessorDirective
or: [s isSend and: [s isValueExpansion]]]]) ifFalse:
[aStream nextPut: $;].
aStream cr].
!
More information about the Vm-dev
mailing list