pure c#是一件有趣的事情
DLR也是一件有趣的事情,但顯然不夠有趣。
我想要一個更可靠的指令碼系統
強型別,可以編譯期檢查排錯
可以跟蹤執行
很遺憾,沒有發現有合適的開源專案可用
於是,我自己來弄一個。
首先基本設計了位元組碼執行引擎的指令
設計了8條指令,因為想要極致簡潔,並且可以快速實現,這張圖裡用了7條
NOOP
SET
MATH
LOGIC
IFGO
OUT
EXIT
當然還有最重要的第8條 CALL
用這7條指令實現了一個簡單的for迴圈,當然已經無所不能了。
接下來做一個簡單的編譯器,讓這段for看著更順眼,老是這種位元組碼也不是個事兒,也沒有處理常量表。