2010-10-29 70 views
3

我需要創建一個非常簡單的腳本語言,作爲宏語言的演化(佔位符出現並交換爲實數據),它基本上基於需要執行的語句爲了。我需要支持嵌套語句,也許可能的情況下。在C#中創建一個簡單的腳本語言

我想我需要一個解析器正確地檢測出報表

例如一個說法可能是:

輸入(「消息」 =#剪貼板())

在這種情況下,我需要首先執行#Clipboard()語句,然後執行#Input。

任何建議它的方法是什麼?我想我需要構建一棵樹並執行它。 謝謝。

+0

我建議閱讀http://msdn.microsoft.com/en-us/magazine/cc136756.aspx。 – Inisheer 2010-10-29 05:10:56

+0

誰是宏語言的最終用戶? – WeNeedAnswers 2010-10-29 16:16:01

+0

如何在c#中嵌入另一種語言。是否強調允許沒有編碼的人們運行簡單的腳本,或者是在運行中運行代碼? – WeNeedAnswers 2010-10-29 16:21:43

回答

2

見我的回答類似的問題here

基本上,您使用Postfix Notation解析您的字符串。另外,如果您打算使用更復雜的東西,請考慮構建一個遞歸下降解析器(Recursive Descent Parser)。 Eric White's blog有一個關於這個話題的很棒的文章。