嗨,我在试着理解做词法分析的最好方法。我做了些调查。我有点糊涂。如果我错了,请纠正我。词法分析基本上有两种方法。
上面写着RE ->词汇发生器-> lexer
(ML-LEX)和CFG ->解析器生成器->解析器
(ML-YACC)但是为什么CFG没有使用词条生成器这个词呢?但是我们还是要生成令牌,对吗?从CFG中,我们必须生成令牌并传递给解析器,对吗?请纠正我,如果我是wrong...And,他们也说使用CFG更好,因为任何可以使用RE生成的语言都可以使用CFG生成。但是大多数编程语言使用RE作为词法分析。我也找不到理由。
发布于 2014-04-16 08:28:51
在一种语言中描述标记的上下文无关语法通常比描述相同标记的正则表达式集更长、更难编写。
上下文无关语法比正则表达式更强大,因为您可以描述更大类型的语言,但只要您可以使用正则表达式,这通常更容易。
https://stackoverflow.com/questions/23026989
复制相似问题