正则表达式表词法分析器
使用正则表达式列表实现词法分析器。
解析器主要处理语言的结构,特别是语言组件的组合方式。解析器可以清楚地识别最基本的语言组件,例如关键字、数字和名称。但是,我们通常将此阶段分离到词法分析器中。通过使用单独的步骤来识别这些终结符,我们可以简化解析器的构建。
直接实现词法分析器(也称为词法分析器)相对简单。词法分析器严格地处于正则语言的空间中,这意味着我们可以使用标准的正则表达式 API 来实现它们。对于正则表达式表词法分析器,我们使用一个正则表达式列表,每个正则表达式都与特定的终结符相关联。我们扫描输入,将输入的各个部分与适当的正则表达式相关联,并生成一个命名各个终结符的标记流。这个标记流是解析器的输入。
有关更多详细信息,请参阅 DSL 书籍 的第 20 章。