<div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr">Hi all,<div dir="ltr" class="gmail_signature"><div dir="ltr"><div></div></div></div><div><br></div><div>In the last couple of days I've worked a bit on making VMMaker work in Pharo again, based on the original effort of Eliot. I've produced a couple of patches that I've left in the VMMaker inbox (below I past the commits' info).</div><div><br></div><div>With these changes I was able to generate, compile and run successfully so far the Stack VM on OSX (mojave). I've tried it with opensmalltalk-vm's platform code commit a838346b1, which is a commit previous to the migration to Metal.</div><div><br></div><div>To make this work I've written some tests too. I've packaged them so far in a separate package (VMMaker-Tests). I've seen that currently VMMaker tests are inside the VMMaker package itself, but some of them are red in Pharo. I can move those tests to the VMMaker package itself if people see a value on them.</div><div><br></div><div>In any case, I'm just submitting this for review :).</div><div><br></div><div>Cheers,</div><div>Guille</div><div><br></div><div>==== Patch 1 ====<br></div><div><div>Name: VMMaker.oscog-GAP.2533</div><div>Author: GAP</div><div>Time: 7 May 2019, 10:57:16.034354 am</div><div>UUID: 3209319f-60f3-4586-8d03-cfac3c9fddee</div><div>Ancestors: VMMaker.oscog-eem.2532</div><div><br></div><div>Convert numeric constants to strings for concatenation.</div><div>Required for Pharo compatibility, where the arguments of concatenation are not automatically coerced to strings.</div></div><div><br></div><div>==== Patch 2 - Pharo specific package ====</div><div><div>Name: VMMakerCompatibilityForPharo6-GuillermoPolito.10</div><div>Author: GuillermoPolito</div><div>Time: 7 May 2019, 11:03:08.229705 am</div><div>UUID: 4f49f938-aa44-0d00-8739-04000059f8ce</div><div>Ancestors: VMMakerCompatibilityForPharo6-eem.9</div><div><br></div><div>Fixes in AST translation to make it work as in Squeak</div><div>- to:do: => to:by:do: with extra arguments</div><div>- ifNil:ifNotNil: => ifTrue:ifFalse:</div><div>- fix arguments in TMethods</div><div>- fix comments in TMethods</div><div>- add name at the level of TParseNode (#name is not defined in Object anymore in Pharo)</div><div><br></div><div>Other</div><div>- Added FileDirectory compatibility layer using FileSystem behind the scenes (see FileDirectory and VMMakerFile classes).</div><div>- Added PackageOrganizer compatibility layer using RPackage behind the scenes.</div><div>- Extending Scanner and SystemNavigation with compatibility methods</div><div>- Extending Time with compatibility method</div></div><div><br></div><div>==== Patch 3 - Tests ====<br></div><div><div>Name: VMMakerTests-GuillermoPolito.1</div><div>Author: GuillermoPolito</div><div>Time: 7 May 2019, 11:27:14.195596 am</div><div>UUID: 77f9288f-aa44-0d00-873a-d0970059f8ce</div><div>Ancestors: </div><div><br></div><div>Tests for AST translation and C code generation</div></div></div></div></div></div></div></div>