没有合适的资源?快使用搜索试试~ 我知道了~
smalltalk-vm:一个用 C 编写的非常简单的 Smalltalk VM
共127个文件
c:34个
h:34个
st:30个
需积分: 9 0 下载量 183 浏览量
2021-06-06
23:23:45
上传
评论
收藏 75KB ZIP 举报
温馨提示
用 C 编写的 Smalltalk VM 这是一个非常简单的 Smalltalk VM,用纯 C 编写。它运行以自定义格式编码的图像(请参阅)。 它是作为关于运行时系统的大学课程的作业来实现的。 它必须由我自己在大约 2 个月内完成,同时我自己还要参加其他几门课程。 当我开始这个项目时,我对 VM 没有任何先验知识。 限制 虚拟机不能做太多,有很多限制: 块/闭包是风格的:它们不可重入。 只有小整数。 没有大整数,没有浮点数,没有分数。 堆大小在编译时指定,没有动态增长/收缩。 与外部世界交流的唯一方式是通过文件。 不支持弱引用。 符号永远不会被垃圾收集。 未实施散列。 字典和符号表具有线性访问时间。 还有很多… 建造 Makefile 存在于标准 GNU make ,VM 通过执行编译 make 在根目录中。 将创建一个名为vm的可执行二进制文件。 执行 使用默认映像
资源推荐
资源详情
资源评论
收起资源包目录
smalltalk-vm:一个用 C 编写的非常简单的 Smalltalk VM (127个子文件)
allocation-4gb 0B
arguments 38B
array-collect 18B
array-select 10B
objectMemory-gc-old.c 9KB
objectMemory-gc.c 8KB
objectMemory-objects.c 8KB
primitives.c 7KB
common.c 7KB
vm.c 7KB
vm-script.c 7KB
context-creation.c 6KB
interpreter-sends.c 6KB
interpreter-sends-lookup.c 6KB
interpreter-instructions.c 5KB
objectMemory.c 5KB
primitives-arithmetics.c 5KB
primitives-fileStreams.c 5KB
interpreter.c 5KB
interpreter-instructions-push.c 4KB
debugTools.c 4KB
context-changing.c 3KB
interpreter-instructions-send.c 3KB
primitives-objects.c 3KB
vm-image.c 3KB
objectMemory-gc-remembered.c 2KB
context-stack.c 2KB
vm-repl.c 2KB
interpreter-instructions-jump.c 2KB
objectMemory-smallIntegers.c 2KB
interpreter-instructions-return.c 2KB
context-stack-active.c 2KB
context-helpers.c 1KB
interpreter-instructions-closure.c 1KB
interpreter-instructions-store.c 961B
objectMemory-characters.c 840B
interpreter-instructions-stack.c 269B
main.c 125B
class-creation 12B
class-methodlookup 3B
class-supersend 3B
exception 23B
exception-ensure 83B
exception-resume 3B
exception-resume-value 3B
exception-retry 321B
exception-return 3B
exception-unhandled 55B
exception-unhandled-ensure 115B
global-return 40B
common.h 7KB
constants.h 6KB
interpreter-instructions-push.h 1001B
objectMemory-gc-old.h 741B
primitives.h 659B
interpreter-instructions-return.h 659B
primitives-arithmetics.h 601B
primitives-fileStreams.h 490B
primitives-objects.h 476B
interpreter-instructions-send.h 411B
interpreter-sends-lookup.h 358B
vm.h 344B
vm-script.h 339B
objectMemory-gc.h 333B
debugTools.h 330B
objectMemory.h 309B
interpreter-sends.h 277B
objectMemory-gc-remembered.h 267B
interpreter-instructions-jump.h 255B
objectMemory-objects.h 232B
interpreter-instructions-store.h 232B
interpreter.h 228B
context-changing.h 213B
context-creation.h 204B
objectMemory-characters.h 204B
context-stack.h 194B
interpreter-instructions-stack.h 154B
interpreter-instructions-closure.h 141B
vm-image.h 139B
objectMemory-smallIntegers.h 133B
context-stack-active.h 118B
interpreter-instructions.h 87B
context-helpers.h 69B
vm-repl.h 66B
hello-world 15B
LICENSE 1KB
Makefile 988B
README.md 3KB
metaclass-class 72B
metaclass-hierarchy 244B
methodlookup-cache 4B
number-arithmetics 3B
number-factorial 8B
run.sh 378B
grep.sh 209B
repl.sh 182B
metaclass-hierarchy.st 1KB
class-creation.st 502B
metaclass-class.st 478B
class-supersend.st 464B
共 127 条
- 1
- 2
资源评论
张岱珅
- 粉丝: 44
- 资源: 4690
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功