1 / 43
文档名称:

编译原理词法分析,语法分析实验报告.doc

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

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

分享

预览

编译原理词法分析,语法分析实验报告.doc

上传人:分享精品 2017/6/28 文件大小:308 KB

下载得到文件列表

编译原理词法分析,语法分析实验报告.doc

文档介绍

文档介绍:编译原理实验报告
(1)文法分析

(1)对输入文法,它能判断是否为LL(1)文法,若是,则转(2);否则报错并终止;
(2)输入已知文法,由程序自动生成它的LL(1)分析表;
(3)对于给定的输入串,应能判断识别该串是否为给定文法的句型。

该程序可分为如下几步:
(1)读入文法
(2)判断正误
(3)若无误,判断是否为LL(1)文法
(4)若是,构造分析表;
(5)由总控算法判断输入符号串是否为该文法的句型。
有效?
读入文法
开始


是LL(1)文法?
结束
报错
判断句型


/*******************************************
语法分析程序
作者:xxx
学号:xxx
********************************************/
#include<>
#include<>
#include<>
/*******************************************/
int count=0; /*分解的产生式的个数*/
int number; /*所有终结符和非终结符的总数*/
char start; /*开始符号*/
char termin[50]; /*终结符号*/
char non_ter[50]; /*非终结符号*/
char v[50]; /*所有符号*/
char left[50]; /*左部*/
char right[50][50]; /*右部*/
char first[50][50],follow[50][50]; /*各产生式右部的FIRST和左部的FOLLOW集合*/
char first1[50][50]; /*所有单个符号的FIRST集合*/
char select[50][50]; /*各单个产生式的SELECT集合*/
char f[50],F[50]; /*记录各符号的FIRST和FOLLOW是否已求过*/
char empty[20]; /*记录可直接推出^的符号*/
char TEMP[50]; /*求FOLLOW时存放某一符号串的FIRST集合*/
int validity=1; /*表示输入文法是否有效*/
int ll=1; /*表示输入文法是否为LL(1)文法*/
int M[20][20]; /*分析表*/
char choose; /*用户输入时使用*/
char empt[20]; /*求_emp()时使用*/
char fo[20]; /*求FOLLOW集合时使用*/
/*******************************************
判断一个字符是否在指定字符串中
********************************************/
int in(char c,char *p)
{
int i;
if(strlen(p)==0)
return(0);
for(i=0;;i++)
{
if(p[i]==c)
return(1); /*若在,返回1*/
if(i==strlen(p))
return(0); /*若不在,返回0*/
}
}
/*******************************************
得到一个不是非终结符的符号
********************************************/
char c()
{
char c='A';
while(in(c,non_ter)==1)
c++;
return(c);
}
/*******************************************
分解含有左递归的产生式
********************************************/
void recur(char *point)
{ /*完整的产生式在point[]中*/
int j,m=0,n=3,k;
char temp[20],ch;
ch=c(); /*得到一个非终结符*/
k=strlen(non_ter);
non_ter[k]=ch;
non_ter[k+1]='\0';
for(j=0;j<=strlen(point)-1;j++)
{
if(point[n]==point[0])

最近更新

大学毕业生自我鉴定优质(7篇) 15页

大学志愿者服务中心工作总结(3篇) 6页

2024年关于写给校长的建议书范文集锦五篇 10页

媒介投放方案 4页

2024年关于公积金贷款证明范本 24页

2024年关于公司授权委托书模板八篇 6页

口腔科年度工作计划(12篇) 36页

商场流线方案 5页

医院质量管理活动(4篇) 14页

(述职报告)车间党支部书记年终述职报告 8页

2024年中天钢铁集团有限公司校园招聘考试试题.. 147页

2024年云南省能源投资集团有限公司校园招聘考.. 146页

2024年兰州航空职业技术学院单招职业适应性测.. 63页

2024年南通职业大学单招职业适应性测试题库最.. 61页

2024年四川工商职业技术学院单招职业适应性测.. 96页

2024年山西卫生健康职业学院单招职业适应性测.. 58页

2024年广西北部湾国际港务集团有限公司校园招.. 148页

2024年抚顺师范高等专科学校单招职业适应性测.. 61页

2024年杭州钢铁集团有限公司校园招聘考试试题.. 150页

2024年河南交通职业技术学院单招职业适应性测.. 61页

2024年湖南商务职业技术学院单招职业适应性测.. 96页

人教版七年级下册《生物》期末考试题及答案【.. 6页

建筑工程技术专业毕业论文 13页

“双减”下初中生物校本作业设计的优化 周涛 3页

CECS 140:2011 给水排水工程埋地预应力混凝土.. 81页

四等水准测量及三角高程测量 13页

点胶机说明书 39页

家访十要、十忌-家长会与家访 3页

脏腑标本寒热虚实用药式 4页

拉链-课件PPT(讲稿) 12页