编辑: sunny爹 2015-08-28

R.in = h(A.in);

} R { A.a = R.s;

} R → Y { R1.r = g(R.r, Y.y, R.in);

R1.in = h(R.in);

} R1 { R.s = R1.s;

} R → ? { R.s = R.r;

} (Aho)5.18 将5.16(b)的结果消除左递归 解:消除左递归后如下 S → { L.ps = 10;

} L { S.ht = L.ht;

} L → { B.ps = L.ps;

} B { L'.in = B.ht;

L'.ps = L.ps;

} L' { L.ht = L'.ht;

} L'B.ps = L.ps;

} B { L'1.in = max(L.in, B.ht);

L'1.ps = L'.ps;

} L'1 { L'.ht = L'1.ht;

} L' → ? { L'.ht = L'.in;

} B → { F.ps = B.ps;

} F { B'.in = F.ht;

B'.ps = B.ps;

} B' { B.ht = B'.ht;

} B'F.ps = shrink(B.ps);

} sub F { B'1.in = disp(B.in, F.ht);

B'1.ps = F.ps;

} B'1 { B'.ht = B'1.ht;

} B' → ? { B'.ht = B'.in;

} F → { L.ps = F.ps;

} { L } { F.ht = L.ht;

} F → text { F.ht = text.h * F.ps;

}

下载(注:源文件不在本站服务器,都将跳转到源网站下载)
备用下载
发帖评论
相关话题
发布一个新话题