递归下降解析器
使用控制流来处理语法运算符,并使用递归函数来识别非终结符,创建一个自顶向下的解析器。
许多 DSL 作为语言来说都非常简单。虽然外部语言的灵活性很有吸引力,但使用 解析器生成器 来创建解析器会将新的工具和语言引入项目,从而使构建过程变得复杂。
递归下降解析器支持外部 DSL 的灵活性,而无需使用 解析器生成器 。递归下降解析器可以用任何选择的通用语言实现。它使用控制流运算符来实现各种语法运算符。单独的方法或函数实现语法中不同非终结符的解析规则。
有关更多详细信息,请参阅 DSL 书籍 的 第 21 章。