pure c#是一件有趣的事情
DLR也是一件有趣的事情,但显然不够有趣。
我想要一个更可靠的脚本系统
强类型,可以编译期检查排错
可以跟踪执行
很遗憾,没有发现有合适的开源项目可用
于是,我自己来弄一个。
首先基本设计了字节码执行引擎的指令
设计了8条指令,因为想要极致简洁,并且可以快速实现,这张图里用了7条
NOOP
SET
MATH
LOGIC
IFGO
OUT
EXIT
当然还有最重要的第8条 CALL
用这7条指令实现了一个简单的for循环,当然已经无所不能了。
接下来做一个简单的编译器,让这段for看着更顺眼,老是这种字节码也不是个事儿,也没有处理常量表。