[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