1 / 7
文档名称:

LL语法分析实验报告.doc

格式:doc   大小:57KB   页数:7页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

LL语法分析实验报告.doc

上传人:miao19720107 2020/8/28 文件大小:57 KB

下载得到文件列表

LL语法分析实验报告.doc

文档介绍

文档介绍:实验报告姓名:孙岩学号:班级:惠普开发142学校:青岛科技大学Mail:@电话:教师:宮生文实验报告:实验名称:LL(1)语法分析实验目的和要求编制一个能识别由词法分析给出的单词符号序列是否是给定文法的正确句子(程序),输出对输入符号串的分析过程。实验内容和步骤:一、实验内容对于这个实验,总共用了三个函数,即主函数、输出分析栈函数、输出剩余串函数。在主函数中,还要构造预测分析表。二、实验步骤1、基于实验的内容,构造程序所需的模块2、根据已建构的模块,写出各个模块的相应程序代码3、在主函数中调用模块来完成所要得到的效果在本程序中,首先使用了结构体类型定义来定义产生式,用字符串数组存放分析栈、剩余串、终结符和非终结符,用二维数组存放预测分析表,利用指针对栈中数据进行读取。在本程序中,总共用了三个函数,即主函数、输出分析栈函数、输出剩余串函数。在主函数中,还要构造预测分析表,对输入的字符串进行分析,调用另外两个函数。实验代码如下:#include<>#include<>#include<>#include<>charA[20];/*分析栈*/charB[20];/*剩余串*/charv1[20]={'i','+','*','(',')','#'};/*终结符*/charv2[20]={'E','G','T','S','F'};/*非终结符*/intj=0,b=0,top=0,l;/*L为输入串长度*/typedefstructtype/*产生式类型定义*/{ charorigin;/*大写字符*/ chararray[5];/*产生式右边字符*/ intlength;/*字符个数*/}type;typee,t,g,g1,s,s1,f,f1;/*结构体变量*/typeC[10][10];/*预测分析表*/voidprint()/*输出分析栈*/{ inta;/*指针*/ for(a=0;a<=top+1;a++) printf("%c",A[a]); printf("\t\t");}/*print*/voidprint1()/*输出剩余串*/{ intj; for(j=0;j<b;j++)/*输出对齐符*/ printf(""); for(j=b;j<=l;j++) printf("%c",B[j]); printf("\t\t\t");}/*print1*/voidmain(){ intm,n,k=0,flag=0,finish=0; charch,x; typecha;/*用来接受C[m][n]*/ /*把文法产生式赋值结构体*/ ='E'; strcpy(,"TG"); =2; ='T'; strcpy(,"FS"); =2; ='G'; strcpy(,"+TG"); =3; ='G'; [0]='^'; =1;='S'; strcpy(,"*FS"); =3; ='S'; [0]='^'; =1;