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