实验一1.cpp
来自「这是几个编译原理实验程序,有做实验的朋友可以用用!」· C++ 代码 · 共 30 行
CPP
30 行
#include <iostream.h>
void main()
{int i,j,count,G[20][20],N[20],T[20],m,t,s=0,a,b=0;
cout<<"请输入文法中规则的个数:";
cin>>count;
cout<<"请输入文法:";
for (i=0;i<count;i++) cin>>G[i][20];
for (i=0;i<count;i++) cout<<G[i]<<endl;
for (i=0;i<count;i++)
for(j=0;j<20;j++)
{m=G[i][j];s=0;
if(m<='Z'&&m>='A')
for (t=0;t<=s;t++)
if (m!=N[t]) N[s++]=m;
}
for (i=0;i<count;i++)
for(j=4;j<20;j++)
{m=G[i][j];b=0;
for(t=0;t<=s;t++)
{if (m!=N[t]&&m!='|')
for (a=0;a<=b;a++)
if (m!=T[a]) T[b++]=m;
}
}
for(t=0;t<=s;t++) cout<<N[t]; cout<<endl;
for(a=0;a<=b;a++) cout<<T[a]; cout<<endl;
cout<<"非终结符号的个数为:"<<s+1<<endl;
cout<<"终结符号的个数为:"<<b+1<<endl;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?