資源簡介
實驗三 LR分析法 一、實驗目的(實驗日期:2011.12.1) 掌握用LR分析法對表達式文法進行自底向上語法分析的算法,加深對LR分析法的移進,歸約等操作理解。 二、實驗要求 本次實驗的SLR(1)文法為表達式拓廣文法: (0) S’→E (1) E→E+T (2) E→T (3) T→T*F (4) T→F (5) F→(E) (6) F→i 改進后的SLR(1)分析表如教材142頁圖7.8。 編寫識別表達式拓廣文法的合法句子的SLR(1)分析程序,對輸入的任意符號串,給出分析過程及分析結果。分析過程要求輸出步驟、狀態棧、符號棧、輸入串和語法動作。如果該符號串不是表達式文法的合法句子,要
代碼片段和文件信息
//參見課本P142??石家莊鐵道大學信息學院.朱東月?
#include
#include
#include
char?StateStack[6];?//狀態棧??
int?SSPointer;
char?CharStack[6];??//符號棧
int?CSPointer;
char?Input[10];??//輸入串?
int?InPointer;
char?*M[][9]={??//00的ascII碼是48??9的是89??:(10)的是90??;(11)的是91?
“S5““““““S4““““““1““2““3“
“““S6““““““““acc“““““““
“““r2““S7““““r2““r2“““““““
“““r4““r4““““r4““r4“““““““
“S5““““““S4““““““8““2““3“
“““r6““r6““““r6““r6“““““““
“S5““““““S4““““““““9““3“
“S5““““““S4““““““““““:“
“““S6““““““S;“““““““““
“““r1““S7““““r1““r1“““““““
“““r3““r3““““r3““r3“““““““
“““r5““r5““““r5““r5“““““““
};
//char?Analysis[12][9]
int?Lie(char?c)?
{
switch(c)
{
case?‘i‘:return?0;break;
case?‘+‘:return?1;break;
case?‘*‘:return?2;break;
case?‘(‘:return?3;break;
case?‘)‘:return?4;break;
case?‘#‘:return?5;break;
case?‘E‘:return?6;break;
case?‘T‘:
- 上一篇:單片機外文翻譯
- 下一篇:linux MIPv6 源代碼
評論
共有 條評論