📄 wfyb.cpp
字号:
#include<iostream.h>
#include<ctype.h>
#include<stdio.h>
void youbu(int Ruleright[][7],int Link[][8])
{
bool First[34][36]={0};
bool Follow[34][36]={0};
int Rtrace,Rptr;
int Ltrace,Lptr;
Rtrace=Rptr=0;
Ltrace=Lptr=0;
char s;
FILE *fp;
if((fp=fopen("e:\\wenfa.txt","r"))==NULL)
{
cout<<"error!";
return ;
}
s=fgetc(fp);
while(s!=EOF)
{
if(s=='<')
{
s=fgetc(fp);
while(s!='>')
{
Ltrace*=10;
Ltrace+=s-48;
s=fgetc(fp);
}
Ltrace-=128;
if(Ltrace==12||Ltrace==29)
{
if(Ltrace==12)
{
Link[Ltrace][0]=12;
Link[Ltrace][1]=4;
Link[Ltrace][2]=-1;
Lptr=0;
Ltrace=0;
while(s!='\n')
s=fgetc(fp);
s=fgetc(fp);
Rptr=0;
if(Rtrace==4)
Rtrace++;
continue;
}
if(Ltrace==29)
{
Link[Ltrace][0]=39;
Link[Ltrace][1]=40;
Link[Ltrace][2]=22;
Link[Ltrace][3]=-1;
Lptr=0;
Ltrace=0;
while(s!='\n')
s=fgetc(fp);
s=fgetc(fp);
Ruleright[Rtrace][0]=2;
Ruleright[Rtrace++][1]=0;
Ruleright[Rtrace][0]=1;
Ruleright[Rtrace++][1]=0;
Rptr=0;
if(Rtrace==4)
Rtrace++;
continue;
}
}
else
Link[Ltrace][Lptr]=Rtrace;
}
while(s!='\n')
{
if(!isalpha(s))
{
while(s!='<'&&s!='"'&&s!='|')
s=fgetc(fp);
if(s=='<'||s=='"')
{
s=fgetc(fp);
while(s!='>'&&s!='"')
{
Ruleright[Rtrace][Rptr]*=10;
Ruleright[Rtrace][Rptr]+=s-48;
s=fgetc(fp);
}//while
Rptr++;
s=fgetc(fp);
}//if
else
{
if(s=='|')
{
Lptr++;
Rptr=0;
Rtrace++;
if(Rtrace==4)
Rtrace++;
Link[Ltrace][Lptr]=Rtrace;
s=fgetc(fp);
}//if
}//else
}//if
if(isalpha(s))
{
while(s!='\n'&&s!='|')
s=fgetc(fp);
if(Rtrace!=4)
Rtrace--;
Link[Ltrace][Lptr]=4;
}
}
Lptr++;
Link[Ltrace][Lptr]=-1;
Lptr=0;
Ltrace=0;
s=fgetc(fp);
Rtrace++;
Rptr=0;
if(Rtrace==4)
Rtrace++;
}
fclose(fp);
return ;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -