- 2
- 0
- 约8.36千字
- 约 53页
- 2017-07-05 发布于四川
- 举报
一、预测分析程序工作过程 1.总控程序算法描述 2.分析过程举例 §4.5 预测分析程序 (1)初始化:依次把’#’和文法开始符号压入分析栈, 将输入串第一个符号读入a; §4.5 预测分析程序 1.总控程序算法描述 (2)若X∈VT ①X=a≠”#”, 则将X从分析栈顶退掉, a指向下一个输入字符; (3)若X∈VN , 则查分析表. 此时对M[X,a]: ②X=a=”#”, 表示分析成功,停止分析过程; ③X≠a ,表示不匹配的出错情况. ①若M[A, a]={ X→X1X2…X k },则 将X从栈中弹出并将Xk,Xk-1,…,X1一一推进栈; ②若M[A, a]中为空白,则表示出错,可调用语法出错处理子程序. 下面用预测分析方法对输入串i+i*i# 进行分析,给出栈的变化过程如下: 步骤 分析栈 剩余输入串 所用产生式 2 #E?T i+i*i# E?TE? T?FT ? 1 #E i+i*i# 2.分析过程举例 §4.5 预测分析程序 3 #E?T?F i+i*i# 4 #E?T?i i+i*i# 5 #E?T? +i*i# 6 #E? +i*i# F?i i匹配 T??ε E??+TE? 步骤 分析栈 剩余输入串 所用产生式
原创力文档

文档评论(0)