2010-07-14 65 views
0

我想在ANTLR中爲C#語言設計編譯器。但我不完全理解應該採取的步驟的正確順序。ANTLR,步驟順序

這就是我看待它:

  • 首先我定義詞法令牌
  • 然後語法規則(與重寫規則建立AST)用行動是收集有關的類和方法的聲明信息(這樣我可以在下一步中解析方法調用)
  • 最後,我創建了遍歷AST樹並調用生成(虛擬)機器語言操作碼的規則的「樹語法」。

這是正確的嗎?第二步是讀取方法的聲明和構建AST?

如何解決沒有構建AST的重載方法的聲明? (backpatching?)

回答

2

看看Language Implementation Patterns它解釋瞭如何創建自己的語言(包括解釋和字節碼/虛擬機)。目前,您的問題太廣泛了,我不認爲任何人都可以在論壇上發佈答案,以解釋如何從頭到尾創建自己的語言的所有細節。

當然,如果您有這些問題,請隨時提出具體問題。

祝你好運!