文件名称:mvm:用于命令式和动态键入语言的简单虚拟机
文件大小:62KB
文件格式:ZIP
更新时间:2024-05-27 09:47:28
C++
重要说明:本自述文件只是草稿,从概念上讲,这只是我要实现的内容。 如何构建: ./build.sh 如何运行hello world程序:运行./mvm < examples/hello_world.mvm 。 如何运行测试套件:运行./test.sh (需要安装ruby和colordiff) 主意 大多数运营商是平等的 运算符要么以反斜杠开头,要么完全由“ +”,“-”或“%”之类的字符组成 通过'func arg1,…,argN'或'func(arg1,…)'调用函数 函数的变量对象是通过'(func)'访问的,对于运算符也是如此…… 需要参考类型 由范围指针和变量名组成 或地图指针和键的 或数组指针和索引 正确的????? 可能:所有变量(在范围内)都应指向引用对象 该参考对象包含一个指向实际对象的指针 前缀运算符&可以创建一个新引用 缺点:默认情况下,另外一个间接访问,GC
【文件预览】:
mvm-master
----.ycm_extra_conf.py(6KB)
----README_J.md(10KB)
----tests()
--------.bashrc(16B)
--------vm()
--------mvm()
--------compiler()
----test.sh(56B)
----dup_test.mvm(102B)
----abc.config(86B)
----src()
--------reference.hpp(3KB)
--------string.hpp(1KB)
--------interpreter.hpp(9KB)
--------exception.hpp(978B)
--------scope.cpp(3KB)
--------lang()
--------parser.hpp(12KB)
--------function.hpp(2KB)
--------map.cpp(2KB)
--------stdlib()
--------heapobject.cpp(939B)
--------int.hpp(900B)
--------function_arguments.hpp(1KB)
--------nothing.hpp(489B)
--------heapobjects.hpp(274B)
--------stack.hpp(2KB)
--------main.cpp(2KB)
--------heap.hpp(326B)
--------boolean.hpp(719B)
--------array.hpp(2KB)
--------heap.cpp(849B)
--------heapobject.hpp(2KB)
--------exception.cpp(2KB)
--------utils.hpp(434B)
--------float.hpp(925B)
--------env.hpp(5KB)
--------env.cpp(4KB)
--------scope.hpp(976B)
--------stack.cpp(1KB)
--------function.cpp(3KB)
--------map.hpp(1KB)
----examples()
--------hello_world.mvm(221B)
--------endless_counting.mvm(179B)
--------hello_world2.mvm(421B)
----run.sh(50B)
----.gitignore(109B)
----CMakeLists.txt(2KB)
----.ycm_extra_conf.pyc(3KB)
----abc.creator(10B)
----README.md(14KB)
----abc.includes(0B)
----build.sh(54B)