【语法分析】编译原理语法分析问题30分全给了!救人对下面文法G:S-....

发布时间:2021-04-03 04:23:12

编译原理 语法分析问题,30分全给了!救人对下面文法G:S->SaA|bBA->aB|cB->Bb|d1.消除该方法的左递归.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}=空集
以上问题属网友观点,不代表本站立场,仅供参考!