首先,让我们计算每个非终结符的 FIRST 集。

对于非终结符 A: FIRST(A) = FIRST(Ba) ∪ FIRST(Aa) ∪ FIRST(c) = FIRST(B) ∪ FIRST(a) ∪ FIRST(A) ∪ FIRST(a) ∪ FIRST(c) = {d, a, c}

对于非终结符 B: FIRST(B) = FIRST(Bb) ∪ FIRST(Ab) ∪ FIRST(d) = FIRST(B) ∪ FIRST(b) ∪ FIRST(A) ∪ FIRST(b) ∪ FIRST(d) = {b, a, d}

现在让我们计算每个非终结符的 FOLLOW 集。

对于非终结符 A: FOLLOW(A) = FOLLOW(A) ∪ FOLLOW(B) = FOLLOW(A) ∪ FOLLOW(B) = {}

对于非终结符 B: FOLLOW(B) = FOLLOW(B) ∪ FOLLOW(A) = FIRST(b) ∪ FIRST(a) ∪ FIRST(c) = {b, a, c}

因此,非终结符 A 的 FIRST 集为 {d, a, c},FOLLOW 集为空集;非终结符 B 的 FIRST 集为 {b, a, d},FOLLOW 集为 {b, a, c}。

文法G【A】:A→Ba|Aa|c  B→Bb|Ab|d 的 FIRST 集和 FOLLOW 集

原文地址: https://www.cveoy.top/t/topic/Ftj 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录