對(duì)于領(lǐng)域內(nèi)的問(wèn)題,擬定領(lǐng)域內(nèi)的虛擬機(jī),領(lǐng)域內(nèi)的指令集,是很粗的指令,相比(X86)的純算術(shù)指令集。
如何擬定,考慮到所有的指令,都有通用的數(shù)學(xué)式,就是{操作符, 操作數(shù)}, 比如:operate(a),operate(a, b), operate(a,b,c), … operate(a,b,c…n)
既抽象的過(guò)程就是考慮:
1、領(lǐng)域內(nèi)有多少種本質(zhì)的,抽象的操作?(操作符)
2、每種操作需要作用于多少種對(duì)象?(操作數(shù))
3、寫出所有operate(….)的范式
4、思考,對(duì)所有范式歸并化簡(jiǎn),得到最簡(jiǎn)集
5、書寫script example. 設(shè)計(jì)你喜歡的script語(yǔ)法,體現(xiàn)你的品位
6、實(shí)現(xiàn)VM,也就是實(shí)現(xiàn)所有operate的native執(zhí)行過(guò)程。一條粗指令 == N條 machine code
為什么領(lǐng)域內(nèi)的粗指令具有優(yōu)勢(shì):
1、用領(lǐng)域內(nèi)的script來(lái)建立模型,更加直觀;
2、因?yàn)榇种噶畹年P(guān)系,用來(lái)建立模型的源碼,將相比通用語(yǔ)言少很多,簡(jiǎn)單很多;
3、相比通用語(yǔ)言,粗指令的script 實(shí)際上它本身并沒(méi)有提高計(jì)算能力,而只是提升了描述能力,減少描述量,增強(qiáng)描述的可理解性,可修改性,降低復(fù)雜度,相對(duì)更穩(wěn)健,更可維護(hù),更低的開(kāi)發(fā)成本。