- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言求文法的First集概要
C语言求文法的FIRST集
//Copyright:ChenZexi , JXNU
#includestring.h
#includestdio.h
#include stdlib.h
#define MAXS 50
#define epsilon *
char noend[MAXS]; //非终极符
char End[MAXS]; //终极符
int N;
struct STR
{
int has_epsion;
char left;
char right[MAXS];
};
struct First
{
char letter;
char gather[MAXS];
};
int getlr(struct STR *p,int i,char *temp)
{
int j;
int k=0;
int succ=0;
for(j=0;jstrlen(temp);j++)
{
if(temp[j]==- temp[j+1]== )
{
succ=1;
if(j==1){
p[i].left=temp[0];
j=3;
p[i].has_epsion=0;
while(temp[j]!=\0){
p[i].right[k]=temp[j];
if(temp[j]==epsilon){
p[i].has_epsion=1;
}
k++;j++;
}
p[i].right[k]=\0;
}
}
}
return succ;
}
int findchar(char *s,char c)
{
int i;
int index=-1;
for(i=0;istrlen(s);i++)
{
if(s[i]==c) index=i;
}
return index;
}
int hasepsilon(struct STR *p,char c)
{
int i;
int index=-1;
for(i=0;iN;i++)
{
if(p[i].left==c p[i].has_epsion==1)
index=1;
}
return index;
}
//求VN(终极符)和VT(非终极符)
void VNVT(struct STR *p)
{
int i,j,x;
for(i=0;iN;i++)
{
for(j=0;j1;j++)
{
if((p[i].left = A p[i].left = Z))
{
if(findchar(noend,p[i].left)0)
{
x=strlen(noend);
noend[x]=p[i].left;
noend[x+1]=\0;
}
}
}
for(j=0;jstrlen(p[i].right);j++)
{
if(!(p[i].right[j]=Ap[i].right[j]=Z))
{
if(findchar(End,p[i].right[j])0)
{
x=strlen(End);
End[x]=p[i].right[j];
End[x+1]=\0;
}
}
else
{
if(findchar(noend,p[i].right[j])0)
{
x=strlen(noend);
您可能关注的文档
最近下载
- 全球Web3.0技术产业生态发展报告.pdf VIP
- 《基于虚拟现实技术的数字艺术展览互动体验创新设计研究》教学研究课题报告.docx
- 2023湖南安全员B证考试题库及答案.pdf VIP
- 嵌入式技术与应用开发项目教程(STM32版)习题答案.pdf VIP
- 中考数学专项提升复习:三角形的动点问题.docx VIP
- 广东春季高考数学2024试卷 .pdf VIP
- 2025年国企招聘考试(公共基础知识)经典试题及答案.docx VIP
- 酸碱中和滴定.ppt VIP
- 某地老年公寓养老院建设项目可行性研究报告(不错).doc
- 2025-2026学年小学音乐四年级上册花城版(2024)教学设计合集.docx
原创力文档


文档评论(0)