我在哪里可以将Slang源下载到SqueakVM?

时间:2014-07-31 05:24:37

标签: smalltalk pharo squeak

是否存在一个存档,其中托管SqueakVM的Slang源作为.st源代码的压缩?我想下载它们而不是试图强迫VMMaker加载到正在运行的ST映像并自己归档?我并没有试图避免这种懒惰,而是因为在30年的存档讨论和死链接中找到一套实际工作在现代ST上的指令显然超出了我的范围

我有蓝皮书,但它预先发出吱吱声,而不是OCR,所以我必须手动输入。

澄清一下:我不想运行VMMaker。我不想构建一个新的SqueakVM,我只是想在文本编辑器中打开SqueakVM的Slang源而不是Cog 并阅读它们。

4 个答案:

答案 0 :(得分:4)

所有Slang源代码最近发布的Pharo fork都位于http://source.squeak.org/VMMaker项目页面http://source.squeak.org/VMMaker.html上的VMMaker包中。源包由名为.mcz的zip存档组成,例如: http://source.squeak.org/VMMaker/VMMaker.oscog-eem.839.mcz

Archive:  package-cache/VMMaker.oscog-eem.839.mcz
  Length     Date   Time    Name
 --------    ----   ----    ----
       16  07-30-14 19:41   package
   724852  07-30-14 19:41   version
  7186510  07-30-14 19:41   snapshot/source.st
  7562064  07-30-14 19:41   snapshot.bin
 --------                   -------
 15473442                   4 files

然而,正如Nicolas Cellier所说,通过Monticello访问来源更容易;为此,您需要构建包含已加载的VMMaker和支持包的Squeak或Pharo映像。您还可以在其中运行VM模拟器,以便正确地进行探索。

为Cog分支构建VMMaker映像的脚本位于以下svn目录中,该目录是Cog svn源代码树的一部分,其中包含来自Slang,平台支持代码和构建目录的生成源,以及映像目录:

http://www.squeakvm.org/svn/squeak/branches/Cog/image/
    BuildSqueakTrunkVMMakerImage.st

Cog VM是Squeak的快速JIT VM。我是它的主要作者。我的Cog网站是http://www.mirandabanda.org/cogblog/。该站点包含几篇描述VM的博客文章,VM构建的下载目录,项目概述等。

HTH

答案 1 :(得分:2)

我无法直接帮助您解决这些问题,但我可以为您提供有关如何构建PharoVM for OS X(10.9)的方法。要获取Slang源代码,您可能甚至不需要完全构建VM,而只需要执行github上的README来生成源代码(这相当于后面的步骤1)。

  1. 按照https://github.com/pharo-project/pharo-vm
  2. 上的说明操作 在图像中
  3. ,取消注释PharoVMBuilder中的调试行>> buildMacOSX32
  4. 在图像中
  5. ,删除所有出现的编译器标志-fno-cse-follow-jumps
  6. 在构建文件中
  7. ,在build / CMakeLists.txt的前10行更改OS版本号(两个地方)
  8. 将行//#import <OpenGL/CGLMac ro.h>更改为#import <OpenGL/GL.h>
  9. 中的platforms/iOS/vm/OSX/sqSqueakOSXOpenGLView.m
  10. 按照github上的说明进行操作
  11. 无论如何,这就是我构建我的VM的方式。这些说明在2014年3月开始运作,到撰写本文时仍然有效。

    更新

    以上不再工作了。我编写了一个用于在10.9上构建PharoVM的脚本,可以找到in my github repo。随意使用,复制,修改您心中的内容。

答案 2 :(得分:1)

问题是哪个VMMaker?经典解释器VM,或COG(JIT)?

如果它来自Pharo,它将是COG,Max的答案是完美的,我没有什么可补充的。

如果是来自Squeak,我不建议使用.st文件,蒙蒂塞洛非常优越。

  • 对于经典VM,您可以尝试How to load VMMaker in Squeak?

  • 中的一个答案
  • 对于COG,它不断变化,不再有预建的图像,但如果从http://squeakvm.org/svn/squeak/branches/Cog加载svn源,那么你会找到一些启动脚本要在Squeak图像中加载所有必需的包,请参阅README或image / Build * .st文件的结尾 不知何故,构建图像的方法比预先构建的图像更好,因此它的进展也是如此。

答案 3 :(得分:1)

到目前为止,最简单的方法是将VMMaker加载到映像中并读取浏览器中的代码。毕竟,这是一个用于读取Smalltalk代码的工具。 Slang只是Smalltalk,有一些限制和软糖使它变得简单(哈!你读过codegen类如何进行转换?)输出C代码,从而使用'普通'工具构建vm。

如果您正在尝试了解虚拟机,您可能会从http://www.rowledge.org/resources/tim的主页/ Squeak / OE-Tour.pdf获得一些帮助,这通常被认为是Squeak虚拟机的标准工作现在。