编译原理select集合的功能 关于编译原理first follow和select?
关于编译原理first follow和select?首先,我们需要了解这三个集合的功能和用途。当我们知道了它们的用途后,我们就可以更容易地理解它们了第一个(a)集合的功能是在替换非终端a时标记被替换语
关于编译原理first follow和select?
首先,我们需要了解这三个集合的功能和用途。当我们知道了它们的用途后,我们就可以更容易地理解它们了
第一个(a)集合的功能是在替换非终端a时标记被替换语法的首字母集合,语法分析器将根据这个集合来判断给定的语言是否合法,是否符合规则。
follow(a)的功能是标记a后面可能出现的字符。当a可以被E(空)替换时,语法分析器将据此判断当前语法是否合法。
例如,a->B,a->E(空)当给定语言为bxxxxx时,可以根据第一个句子的语法判断该句子是否合法,但是如果给定语言为Cxxx,因为a->可以替换为空,所以需要一个句子的跟随集来判断,如果a的跟随集包含C的函数选择集合是合并第一个集合和后续集合。如果两个文法的左端是a,如果它们的选择集的交集为空,则表示它们是两个不相关的文法,不会产生不确定性。相反,它意味着语法不是ll(1)语法。。。。