编译原理: 逆波兰式判断句型
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
char str[30];
int index=0;
//char ch; //定义一个全局字符变量
void E();
void T();
void G();
void F();
void S();
//非终结符E
void E()
{
//printf(“E—>TG %c\n”,ch);
T();
G();
}
//非终结符F
void F()
{
if((str[index]>=‘a’&&str[index]<=‘z’)||(str[index]>=‘0’&&str[index]<=‘9’))
{
printf("%c",str[index]);
index++;
}
else if (str[index]’(’)
{
//printf(“F—>(E) %c\n”,ch);
index++;
E();
if(str[index]’)’)
{
index++;
}
else
{
printf(“分析失败!\n”);
exit(0);
}
}
else
{
printf(“分析失败!\n”);
exit(0);
}
编译原理: 逆波兰式判断句型
最新推荐文章于 2021-03-09 20:02:05 发布