⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 follow.cpp

📁 一个LL1语法分析程序。学习编译原理时可供参考。
💻 CPP
字号:
#include "first.h"
#include "iostream.h"
#include "string.h"


char temp1[30]="" ;
char t_a [30]="";

char* outNull(char * t)
{
	
	int i = 0;
	while(*t)
	{
		if(*t != '@')
		{
			t_a[i++]=*t;
		}
		t++;
	}
	t_a[i]=0;
	t=t_a;
    return t;
}


char* follow(char g[][7],char x,char* vn,char* vt)
{ 
	if(x =='S')
	{
		strcat(temp1,"#");
	}
	for(int i =0 ; i< 5; i++ )
	{
		for(int jj =3 ;jj< 7 ;jj ++)
		{
			if(x== g[i][jj])
			{
				if(isinarray('@',first(g,g[i][jj+1],vn,vt)))
				{
					zero();
					strcat(temp1,first(g,g[i][jj+1],vn,vt));
					{
					 char*p=outNull(temp1);
                     memset(temp1,0,30);
					 strcpy(temp1,p);
					}
					zero();
					follow(g,g[i][0],vn,vt);
 
				}
				else if(g[i][jj+1]=='\0')
				{
					follow(g,g[i][0],vn,vt);
				}
				else
				{
					zero();
					strcat(temp1,first(g,g[i][jj+1],vn,vt));
					zero();
				}
				
			}
		}
	}
	return temp1;
} 

 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -