ANTLR入门:构建一种简单的表达语言 - tomassetti

banq


在本文中,我们将开始研究一种非常简单的表达语言。我们将在语言沙箱中构建它,因此我们将其称为语言Sandy。
我认为工具支持对于一种语言至关重要:因此,我们将从一种非常简单的语言开始,但是我们将为此提供丰富的工具支持。要从一种语言中受益,我们需要解析器,解释器和编译器,编辑器等。在我看来,构建简单的解析器的材料很多,但是构建使用语言的实用 和  有效所需的其余基础结构的材料却很少  。
我想专注于这些方面,使语言小巧但完全有用。然后,您将能够有机地增长语言。
该代码可在GitHub上找到:https :  //github.com/ftomassetti/LangSandbox。本文中提供的代码对应于标记  01_lexer。
本系列的目的是描述如何创建有用的语言和所有支持工具。

  1. 建立词法分析器
  2. 建立一个解析器
  3. 创建带有语法突出显示的编辑器
  4. 使用自动补全功能构建编辑器
  5. 将解析树映射到抽象语法树
  6. 模型转换模型
  7. 验证方式
  8. 生成字节码