ANTLR入門:構建一種簡單的表達語言 - tomassetti

banq發表於2020-06-12

在本文中,我們將開始研究一種非常簡單的表達語言。我們將在語言沙箱中構建它,因此我們將其稱為語言Sandy。

我認為工具支援對於一種語言至關重要:因此,我們將從一種非常簡單的語言開始,但是我們將為此提供豐富的工具支援。要從一種語言中受益,我們需要解析器,直譯器和編譯器,編輯器等。在我看來,構建簡單的解析器的材料很多,但是構建使用語言的實用 和  有效所需的其餘基礎結構的材料卻很少  。

我想專注於這些方面,使語言小巧但完全有用。然後,您將能夠有機地增長語言。

該程式碼可在GitHub上找到:https :  //github.com/ftomassetti/LangSandbox。本文中提供的程式碼對應於標記  01_lexer。

本系列的目的是描述如何建立有用的語言和所有支援工具。

  1. 建立詞法分析器
  2. 建立一個解析器
  3. 建立帶有語法突出顯示的編輯器
  4. 使用自動補全功能構建編輯器
  5. 將解析樹對映到抽象語法樹
  6. 模型轉換模型
  7. 驗證方式
  8. 生成位元組碼

相關文章