早教吧 育儿知识 作业答案 考试题库 百科 知识分享

编译原理语法分析问题,那位帮帮忙啊,30分全给了!!救人对下面文法G:S->SaA|bBA->aB|cB->Bb|d1.消除该方法的左递归。2.计算消除左递归后的方法的每个非终结符的FIRST集和FOLLOW集

题目详情
编译原理 语法分析问题,那位帮帮忙啊,30分全给了!!救人对下面文法G: S->SaA|bB A->aB|c B->Bb|d 1.消除该方法的左递归。 2.计算消除左递归后的方法的每个非终结符的FIRST集和FOLLOW集。 3.判断方法是否为LL(1)方法,若是请构造它的预测分析表。 麻烦把过程写下,谢谢。
▼优质解答
答案和解析
1. S->bBS' S'->aAS'|ε A->aB|c B->dB' B'->bB'|ε 2. First(S)={b} First(S')={a,ε} First(A)={a,c} First(B)={d} First(B')={b,ε} Follow(S)={#} Follow(S')={a,#} Follow(A)={a} Follow(B)={a} Follow(B')={a} 3.不是LL(1)文法,因为 SELECT(S'->aAS')∩SELECT(S'->ε)={a}∩{a,#} ={a}≠空集 SELECT(A->aB)∩SELECT(A->c)={a}∩{c}=空集 SELECT(B'->bB')∩SELECT(B'->ε)={b}∩{a}=空集
看了编译原理语法分析问题,那位帮帮...的网友还看了以下: