1

其实我有两个问题。如果我开始编写自己的词法分析器,解析器会是什么架构?我应该考虑哪些原则(即开闭、松耦合)?

下一个问题是关于表驱动词法分析器的实现。最近我写了词法分析器,但它不是编程的明珠。显然我使用了太直接的方法)。那么有人知道如何实现表驱动的词法分析器吗?

4

1 回答 1

0

因此,如果您想构建一个词法分析器,您的目标是一个通过“吃”输入流来返回下一个标记的函数。

最好的选择是实现确定性有限自动化。这意味着您首先必须为 DFA 创建表。该函数遍历 DFA 表并以特定的结束状态结束,每个结束状态都分配给一个令牌。所以只要返回那个标记,你就有了一个表驱动的词法分析器。

于 2020-06-05T17:13:05.583 回答