對於初學者,我應該讓你們知道我在做什麼。我正在處理的項目有一個要求,即需要構建自定義腳本系統。這將被正在使用該應用程序的非程序員使用,並應儘可能接近自然語言。例如,如果用戶需要運行自定義模擬並繪製輸出,則他們將編寫的代碼需要看起來像實時腳本語言+ MS DLR?
變量input1是10; 變量input2是20;
變量值1是AVERAGE(input1,input2);
variable condition1 is true; if condition1 then PLOT(value1);
可能沒有多大意義,但它只是一個例子。 AVERAGE和PLOT是我們想要定義的函數,他們不應該被允許改變它們,或者甚至不能看到它們是如何工作的。 DLR可以這樣做嗎?如果不是我們有什麼其他選擇(從ANTRL開始定義語法,然後繼續?)?在將來,這可能需要運行XBAP和WPF,所以這也是我們需要考慮的事情,但在dlr & xbap上沒有看到太多東西。謝謝,希望這一切都有道理。
Lua不是一種選擇,因爲它與他們已經習慣的不同。
Ralf,它將變爲反應性的,說實話,結果應該返回給用戶的時間範圍可能是1/100秒,一直到2周或一個月(非常複雜的數學函數)。
基本上他們已經有一個系統,他們購買了一些他們需要的東西,並且包含了一個自定義腳本語言,它可以完成我上面提到的,他們不想學習一個新的,他們基本上只是想要我們複製它並添加功能。我想我會從ANTRL開始並從那裏出發。
任何需要超過幾秒鐘的事情都不應該使用本土語言來完成。如果你正在討論一個搗鼓的時間,那麼在掛鐘時間裏,用更快的語言訓練用戶可能會更快,然後讓他們使用更慢的語言。 – BCS 2009-02-10 23:57:25