FIRST集合是由文法规则的右部的起始终结符组成的。我们可以通过遍历文法规则并处理每个非终结符来计算FIRST集合。 代码示例: first={}# 初始化每个非终结符的FIRST集合为空集fornon_terminalingrammar:first[non_terminal]=set()# 遍历每个非终结符的规则fornon_terminal,rulesingrammar.items():forruleinrules:ifrul...