设有文法G(S是G的开始符号): S→do S or S|do S|S;S|act (1)构造识别该文法可归前缀的DFA。 (2)试判断该文法是LR(0):艾法,还是SLR(1)文法,并说明理由。 (3)若对一些终结符的优先级以及算符的结合规则规定如下: ①or优先性大于do; ②;服从左结合; ③;优先性大于do; ④;优先性大于or; 请构造该文法的LR分析表。
假设某程序语言的文法如下:
S→SaT|T
T→TbR|R
R→PdR|P
P→fSg|e
其中Vr={a,b,d,e,f,g};Vn={S,T,R,P};S是开始符号,那么,此文法是(43)文法。这种文法的语法分析通常采用优先矩阵。优先矩阵给出了该文法中各个终结符之间的优先关系(大于、小于、等于和无关系)。在上述文法中,某些终结符之间的优先关系如下:b{(44)}a;f{(45)}g;a{(46)}a;d{(47)}d。
A.五则文法
B.算符文法
C.二义文法
D.属性文法