词汇分析的方法

时间:2014-04-12 06:31:17

标签: regex lex lexical-analysis regular-language

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

  1. 使用无上下文语法
  2. 使用正则表达式
  3. 它说 RE - >词法分析器 - >词法分析

       (ML-LEX)
    

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

       (ML-YACC)
    

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

1 个答案:

答案 0 :(得分:1)

描述语言中令牌的无上下文语法通常比描述相同令牌的正则表达式集更长,更难写。

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

相关问题