我正在嘗試在C#項目上工作,並希望允許用戶通過在編輯器中鍵入代碼來即時運行代碼。因此,考慮到這一點,我想過編寫某種腳本編輯器,解析器和評估器,但首先要與其他人一起檢查,以防止我重新發明輪子?表達式編輯器/解析器/評估器
所以,我的想法是/是...
- 寫語法高亮的編輯器,我可以寫代碼到, 包括使用自定義的關鍵字。
- 將邏輯添加到編輯器,以便它能夠根據編輯器中的文本格式化 內容。
- 有一種「行動」已輸入文本的方式。
舉例來說,如果我輸入以下...
if (Shape.IsACube())
{
// Do some cube stuff
}
else if (Shape.Area(height, length, width) > 40)
{
// Do some large area stuff
}
...然後我想能夠在飛行運行的代碼,就好像它是應用程序的一部分。
我希望所有這些都有道理。有什麼想法嗎?
您要使用哪種語法的語法?你自己還是C#? – eocron
由於我們無法在此主題中添加任何答案,因此我將添加它作爲評論。創建你的編譯器是一項非常重要的工作,我建議你嘗試一些免費的庫,例如(https://csharpeval.codeplex.com/)或者我的PRO庫(http://eval-expression.net/),它們幾乎支持所有的。 –