【问题标题】:approaches on lexical analysis词法分析方法
【发布时间】:2014-04-12 06:31:16
【问题描述】:

您好,我正在尝试了解进行词法分析的最佳方法。我做了一些研究。我有点困惑。如果我错了,请纠正我。 对于词法分析,基本上有两种方法。

  1. 使用上下文无关语法
  2. 使用正则表达式

它说 RE -> 词法分析器生成器 -> 词法分析器

   (ML-LEX)

和 CFG -> 解析器生成器 -> 解析器

   (ML-YACC)

但为什么 CFG 没有使用词法分析器生成器这个词?我们仍然必须生成令牌吗?我们必须从 CFG 生成令牌并传递给解析器,对吗?如果我错了,请纠正我......而且他们还说使用 CFG 更好,因为任何可以使用 RE 生成的语言都可以使用 CFG 生成。但是大多数编程语言都使用 RE 作为词法分析..我也找不到原因..

【问题讨论】:

    标签: regex lex lexical-analysis regular-language


    【解决方案1】:

    描述语言中标记的上下文无关文法通常比描述相同标记的正则表达式集更长、更难编写。

    上下文无关语法比正则表达式更强大,因为你可以描述更大的语言类别,但只要你会使用正则表达式,这通常更容易。

    【讨论】:

    • 非常感谢...我想到了使用 CFG,因为我将使用 antlr 进行词法分析.. 这是一个好方法吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-30
    • 2012-05-17
    • 1970-01-01
    • 2014-04-21
    • 1970-01-01
    相关资源
    最近更新 更多