一、语法分析器的功能
语法分析器的任务:判断所给单词串是不是给定文法的正确句子。
1、确定的自顶向下分析思想:
从文法的识别符号出发、根据当前的输入符号、唯一的确定一个产生式、用产生式右部的符号串代替相应的非终结符往下推。能构造成功则是句子,否则不是。
2、什么样的文法可以用自顶向下的分析方式
① ( 1 )每个产生式的右部都由终结符开始
(2)产生式的右部以不同的终结符号开始的
(3)无空产生式U–>ε(这里是怕出现选择,到底是选空串占位置还是选非空的串往下分析)
推导的时候因为右部以不同的终结符号开始,所以当有输入串的时候,比如说pccadd,
串以p开头 ,就写成pA , 然后以c开头,就写成aAd,以此类推。
②
特点:
(1)每个产生式的右部并非都是由终结符号开始。
(2)每个产生式如果左部相同,右部以不同的终结符号或非终结符号开始,且首符号集不相同。
(3)无空产生式
首符号集:非终结符能推出来的句子的首个非终结符号
比喻First(A)={c,a} , First(B) = {d , b}
在选的时候,根据最左侧符号进行选择&