生成follow集合简要的算法介绍
-
初始化Follow集合:将文法开始符号的Follow集合设为$ { # } $。对于所有其他非终结符号的Follow集合,将其初始化为空集。
-
对于每个非终结符号A,对于A的每个产生式B -> αCβ,将C的Follow集合添加到β的Follow集合中。
-
对于每个非终结符号A,对于A的每个产生式B -> αC,将A的Follow集合添加到C的Follow集合中。
-
重复步骤2和3,直到没有新的Follow集合元素可以添加为止。
-
返回所有非终结符号的Follow集合。
简要解释:
Follow集合是对于一个文法中的非终结符号,其后可以紧随其后的终结符号的集合。生成Follow集合的算法,通过对文法中的每个产生式进行分析,逐步构建每个非终结符号的Follow集合。具体而言,对于每个非终结符号A,通过分析产生式B -> αCβ,可以将C的Follow集合添加到β的Follow集合中,以此来逐步确定每个非终结符号的Follow集合。最终,通过不断重复这个过程,直到没有新的Follow集合元素可以添加为止,可以得到所有非终结符号的Follow集合。
原文地址: https://www.cveoy.top/t/topic/gVjX 著作权归作者所有。请勿转载和采集!