我现在正在读“龙书”。
第二章介绍了句法分析的过程。我很难理解这个过程的全貌。通过阅读这本书,我有时会对语法分析器中的事情发生的顺序感到困惑。
所以根据我的理解::
语法分析器包含语法定义,它使用上下文无关语法定义语法。这基本上是语法分析器的第一部分吗?那么,语法分析器是否包括语法定义?
之后,由Lexical生成的令牌进入语法分析器。然后,语法分析器通过CFG通过生成解析树来检查字符串输入是否有效。
据我所知,这个解析树最终会变成一个(抽象的)语法树(它包含的细节比解析树少)。这棵树将进入语义分析器。
有人能确认一下,我对语法分析器的大致“总体图”理解是否正确,顺序是否正确?
发布于 2014-02-24 22:21:41
语法分析器包含语法定义,它使用上下文无关语法定义语法。
不是的。在表驱动的解析器中,它包含一个从语法生成并驱动解析器的表。在手写解析器中,代码结构强烈地反映了语法.在这两种情况下,都不能正确地说解析器实际上包含语法。它在某种程度上根据语法分析输入。
这基本上是语法分析器的第一部分吗?
不是的。我不知道你从哪里得到“第一部分”。
那么,语法分析器是否包括语法定义?
如上文所述。
在那之后
不,在那之前
由Lexical生成的令牌进入语法分析器。语法分析器然后通过CFG检查字符串输入是否有效。
对,是这样。
https://stackoverflow.com/questions/21999914
复制相似问题