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

📄 有限自动(编译原理)源代码机.txt

📁 有限自动机 是编译原理课程设计源代码 可以用来借鉴与参考
💻 TXT
字号:
#include  <string.h>
#include  <conio.h>
#define P 20

int isReal(char *str)
{
 int I,finish=0;//存放运行时当前状态,现在为状态0
 for(i=0;str[i]!=’#’&&str[i]!=’\0’;i++)
 {
 Switch(finish)
 {
case 0:
 {
  if(i==0&&str[i]>=’0’&&str[i]<=’9’)//输入为数字
   finish=1;      //则转入输入数字后的状态
  else
   return(0);
  bresk;
}
case 1:
{
if(str[i]>=’0’&&str[i]<=’9’)//输入为数字
  finish=1;
else if(str[i]==’.’)输入为小数点
 finish=2; //输入状态2
else
 return(0);  //否则进入初始状态
bresk;
}
   case 2:
{
 if(str[i]>=’0’&&str[i]<=’9’)  //进入状态2以后如果输入仍为数字则进入状态3
  finash=3;
else
  return(0); //否则进入初始状态
}
 case 3:
{
if(str[i]>=’0’&&str[i]<=’9’)  //进入状态2以后如果输入仍为数字则进入状态3
finash=3;
else
  return(0); //否则进入初始状态
}
}
}
if(finish= =1||finash= =3)//在状态1或者3的时候返回1,否则返回0
  return(1);
else
return(0);  //0为非法状态
}

main()
{
 int i;
 char str[P];
 clrscr();

 printf(“input:\n”);
 while(1)
{
 gets(str);
 if(str[0]= =’#’)
   break;
else if(str[0]!=’\0’)
 {
 if(isReal(str)= =1)  // 返回为1则合法
printf(“legal\n”);
 else
printf(“illegal\n”); //返回0则非法
}
}
}

⌨️ 快捷键说明

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