StepfenShawn/Cantonese

疑问

Sherlockcxk opened this issue · 7 comments

本人看到您在如何运行中讲到,“Cantonese 语言运行喺 Python 虚拟机上,环境净系支持 Python3,因为噉先符合广东人先进嘅**!”,但阅读源码后发现您说的所谓的虚拟机运行是先将cantonese转成py,然后执行py代码。但本人理解的虚拟机运行是用interpreting的方式运行.cantonese,而不是“transpiler”。所以说您这个“虚拟机运行”其实不算真正的虚拟机运行,但我相信您早就明白,因为之前本人问过类似的问题
这个问题出现的原因是您还没有完成虚拟机的开发,提前写到readme里的吗?还是本人理解有误?
谢谢!

@StepfenShawn
@cxk-bugsfly 是本人小号🤣😂

“运行于 python 虚拟机”应是指用了 exec 运行生成的 python 代码,无论转为 Python 代码或像木兰那样转为 Python 语法树都可以如此运行。

exec(TO_PY_CODE, variable)

@nobodxbodon
但这不就成转换器,transpiler了吗?
本质上和转换器可以说没有区别了。

不解为何纠结于此,比如 ts 官网上叫的是 TypeScript compiler,也不见人说它必须叫”transpiler“?

本人无fa♂可说好吧

@Sherlockcxk "运行喺 Python 虚拟机上"可以说是借助Python自带的虚拟机来运行,因为Python本身就是基于栈式虚拟机的动态语言, 所以我们可以将自己的语言转换为Python代码用自身的虚拟机运行, 这就是"运行在Python虚拟机上"的意思。而我要做的是实现自己的虚拟机和一套指令,也就是不用Python自带的虚拟机执行。

@StepfenShawn
谢谢您的解释!