2009-09-27 77 views

回答

0

我會推薦使用CLR。

通過這種方式,您可以獲得整個FCL以及人們用.Net編寫的任何第三方庫,而無需執行任何其他工作。

+0

問題是我的語言將它的類型映射到CLR類型有很大的不同:閉包,遞歸類型,任意數字等等。例如沒有stringbuilders,但是一個unicode.string類。 我真的不想將它與.NET運行時間集成在一起,並努力解決它需要的一切,但我發現being能夠使用SDL/OpenGL。 – thatotherguy 2009-09-27 02:25:55

+0

我會說這是值得的。您可以爲語言編寫自己的一組類型,並讓編譯器在將它們傳遞給外部函數時自動將它們轉換爲.Net本機類型。 – SLaks 2009-09-27 02:28:51

1

由於您在C#/ .NET中構建語言(我將在後面對此進行評論),您應該可以輕鬆訪問整個.NET庫系統。這應該可以很容易地使用現有的庫來製作.NET程序集,並將它們暴露給腳本。

但是,我想問一個在C#中編寫腳本語言 - 有非常好的選擇,特別是如果考慮到DLR(動態語言運行庫)。您可以非常輕鬆地爲現有的C#應用​​程序提供腳本,而無需製作自定義語言。

+0

嗨。 我沒有使用DLR。 (我喜歡它,但它不支持尾遞歸以及我需要的其他一些功能,如同第一類環境一樣容易)。 「這應該可以很容易地使用現有的庫來製作.NET程序集,並將它們暴露給腳本。」 是的,如果我手工操作,那將是路線。生成一個程序集,然後做一個包裝。 – thatotherguy 2009-09-27 02:44:19