2011-02-23 97 views
1

我是學生,我想爲自己的一般目的建立自己的.net語言,只是爲了看看它是如何完成的,並且學習新的東西。你認爲什麼是更好的選擇?建立以CLR爲目標的靜態語言還是在DLR之上構建動態語言?爲.NET構建靜態和動態語言有什麼區別?

  1. 構建這兩種語言的過程中的哪些步驟有所不同?
  2. 什麼是可用於生成掃描儀,分析器和CIL代碼的工具?我發現人們推薦使用antlr分析器生成器來生成AST,然後將其轉換爲DLR表達式樹,因此您不需要生成CIL代碼。
+2

每個人都應該建立一個新的.NET語言,只是爲了好玩。 –

+0

這是爲什麼downvoted?我看到問題,但沒有嚴重......標題中的問題比文中的問題更好。這是最多的答覆。 – Skurmedel

回答

1

我肯定會推薦ANTLR和它的書。除非你真的瞭解你的語法,否則你需要參考資料。

我也建議使用ANTLR AST來生成CodeDom。您可以使用DLR或不使用DLR,具體取決於您想要製作的語言種類。

雖然這兩條路線都獲得了很大的成功。

我也生成了CIL,這並不可怕,但確實有效。把它作爲最後的手段。

+0

你可以從CodeDom生成CIL? – Vladimir

+0

你可以從CodeDom生成任何你想要的東西,你可以寫它的兩端(CodeProvider和CodeGenerator),因此可以完全控制。當我生成IL雖然,它是通過一個非CodeDom生成器(這是CodeDom我認爲之前)。我當然不會推薦使用CodeDom來生成IL,我認爲這將是一件非常奇怪的事情。 – Task

相關問題