《编译原理实验报告材料(预测分析报告表方法).docx》由会员分享,可在线阅读,更多相关《编译原理实验报告材料(预测分析报告表方法).docx(3页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、编译原理实验报告材料(预测分析报告表方法) 预料分析表方法 一、试验目的 理解预料分析表方法的实现原理。 二、试验内容: 编写一通用的预料法分析程序,要求有肯定的错误处理实力,出错后能够使程序接着运行下去,直到分析过程结束。可通过不同的文法(通过数据表现)进行测试。 三、试验步骤 1算法数据构造: 构造终结符数组:char Vt105=“id”,”+”; 构造非终结符数组:char Vn10= ; 构造follow集数组:char *follow1010= (可将follow集与预料分析表合并存放) 数据构造示例(运用的预料分析表构造方法1): /*data1.h简洁算术表达式数据*/ cha
2、r VN105=E,E,T,T,F; /非终结符表 int length_vn=5; /非终结符的个数 char VT155=id,+,*,(,),#; /终结符表 int length_vt=6; /终结符的个数 char Fa1510=TE,+TE,FT,*FT,(E),id; /产生式表:0:E-TE 1:E-+TE 2:E-空 / 3:T-FT 4:T-*FT 5:T-空 6:F-(E) 7:F-id int analysis_table1011=0,-1,-1,0,-2,-2,0,0,0,0,0, -1,1,-1,-1,2,2,0,0,0,0,0, 3,-2,-1,3,-2,-2,0
3、,0,0,0,0, -1,5, 4,-1,5, 5,0,0,0,0,0, 7,-2,-2,6,-2,-2,0,0,0,0,0; /预料分析表,-1表示出错,-2表示该行终结符的follow集合,用于错误处理,正数表示产生式在数组Fa 中的编号,0表示多余的列。 (1)预料分析表的构造方法1 给文法的正规式编号:存放在字符数组中,从0起先编号,正规式的编号即为该正规式在数组中对应的下标。如上述Fa数组表示存储产生式。 构造正规式数组:char P1010=“E-TE”,”E-+TE”,.; (正规式可只存储右半部分,如E-TE可存储为TE,正规式中的符号可替换,如可将E改为M ) 构造预料分析表:int analyze_table1010= /数组元素值存放正规式的编号,-1表示出错 (2)预料分析表的构造方法2 可运用三维数组 Char analyze_table101010=