1
好吧,我在C#中編寫了一種語言編譯器,它將我的語言轉換爲MSIL,然後調用MSIL編譯器。但那不是重點。我創建了一些代碼來顯示你想我會與合作:字符串搜索
module myApplication
[EntryPoint]
function void start
write("Hello World!\n")
wait(5) // wait 5 seconds
ret()
endfunction
endModule
好吧,我試圖通過代碼進行掃描並找到「[入口點]」就是,然後找到所有的「之後的函數void start「。所以我可以找到函數類型(「void」)和名稱(「start」)。 [EntryPoint]標籤將始終位於將被定義爲應用程序入口點的函數之上。我將不得不修剪空白和東西。這也是通過使用'\ n'掃描,所以函數必須在標籤下。
而且我還有另一個問題,我將如何使函數內部的代碼與「function void start」和「endfunction」分開?
你不應該在這裏使用字符串搜索,而是一個語言解析器 –
這聽起來像你真的需要閱讀解析器的結構。關於解析器有很多需要解決的問題,這對Stack Overflow的回答並不適用。 –
好的。我會研究它。謝謝。 – tr0yspradling