【问题标题】:Best way to store tokens during lexing stage在词法分析阶段存储令牌的最佳方式
【发布时间】:2023-03-28 12:26:01
【问题描述】:

您好,我目前正在实现将 XML 文件分解为标记的词法分析器,我正在考虑将标记传递到解析器的方法,以从所述标记中创建更有用的数据结构 - 我目前的计划是将它们存储在一个数组列表并将其传递给解析器,每个标记指向下一个标记的链接列表是否更适合?还是能够通过索引访问令牌更容易制作解析器?或者这都是一个糟糕的策略?

此外,如果有人使用过 antlr ,我知道它使用令牌流将令牌化输入传递给解析器,解析器如何决定输入是否有效/如果没有所有令牌,则创建数据结构从输入呢?

欢迎任何反馈/意见,谢谢!

【问题讨论】:

  • 这与许多久经考验的现有 XML 解析器有何不同?

标签: parsing compiler-construction xml-parsing token lexer


【解决方案1】:

这种类型的解析器最常见的架构,在您的解析器中运行词法分析器。每次你需要一个令牌时,调用一个函数(来自词法分析器)来检索下一个。

我不知道 Antlr,但我认为它们都使用相同的。我建议的是 yacc 和 lex 的工作方式。

【讨论】:

    猜你喜欢
    • 2020-10-27
    • 1970-01-01
    • 2021-02-27
    • 2021-05-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-10
    • 1970-01-01
    相关资源
    最近更新 更多