主题:大侠们,简单的问题。看一下。
LR驱动程序算法流程,LR分析算法如下,请帮忙翻译一下,最好用C或C++(应该不难吧!)在此先谢谢了
• 0入状态栈;
• ‘#’入符号栈;
• 置ip指向w#的第一个符号;
V 重复执行如下过程
v {
v 令S是状态栈栈顶;
v a是ip所指向的符号;
v if(action[S,a]==Sj) /*移进*/
v {
v a入符号栈;
v 状态j入状态栈;
v ip指向下一个符号;
v }
v else if(action[S,a]==rj/*用A→β归*/
v {
v 从符号栈弹出|β|个符号;
v 从状态栈弹出|β|个符号;
v 令S’是状态栈栈顶;
v A入符号栈;
v goto[S’,A]入状态栈;
v 输出产生式A→β;
v }
v else if(action[S,a]==accept)return;
发到我的邮箱吧:simple.i@163.com
• 0入状态栈;
• ‘#’入符号栈;
• 置ip指向w#的第一个符号;
V 重复执行如下过程
v {
v 令S是状态栈栈顶;
v a是ip所指向的符号;
v if(action[S,a]==Sj) /*移进*/
v {
v a入符号栈;
v 状态j入状态栈;
v ip指向下一个符号;
v }
v else if(action[S,a]==rj/*用A→β归*/
v {
v 从符号栈弹出|β|个符号;
v 从状态栈弹出|β|个符号;
v 令S’是状态栈栈顶;
v A入符号栈;
v goto[S’,A]入状态栈;
v 输出产生式A→β;
v }
v else if(action[S,a]==accept)return;
发到我的邮箱吧:simple.i@163.com