• 大小: 4.61KB
    文件类型: .cpp
    金币: 1
    下载: 0 次
    发布日期: 2021-03-27
  • 语言: 其他
  • 标签: 其他  

资源简介


实验三 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‘:

评论

共有 条评论