91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

資源簡介

編譯原理 實驗報告 語法分析器 c語言版

資源截圖

代碼片段和文件信息

#include
#include
#include
int?change(char?n)
{
????return?n-48;
}
int?find(char?nchar?m[])
{
????int?i=0;
????while(m[i]!=n)i++;
????return?i;
}
int?main()
{
????char?in[20]sign[30]avt[]={‘+‘‘*‘‘(‘‘)‘‘#‘};
????int?f[5][5]={{1-1-111}{11-111}{-1-1-102}{11211}{-1-1-120}};
????int?num[30]intop=-1tp=-1bsum;
????sign[++top]=‘#‘;
l3:
system(“cls“);
????printf(“請輸入算式:(退出請按q鍵)\n“);
????for(i=0;i<20;i++)
????in[i]=‘\0‘;
????scanf(“%s“in);
????if(strcmp(in“q“)==0)exit(0);
????strcat(in“#“);
????for(i=0;i????{
????????a=in[i];
????????if(a>=‘0‘&&a<=‘9‘)
????????{
????????????b=change(a);
????????????num[++tp]=b;
????????}
????????else?if(a==‘+‘||a==‘*‘||a==‘(‘||a==‘)‘||a==‘#‘)
????????{
l1:
????????????if(f[find(sign[top]vt)][find(avt)]==-1)
????????????{
????????????????sign[++top]=a;
????????????}
????????????else?if(f[find(sign[top]vt)][find(avt)]==2)
????????????{
???????????? ?printf(“有錯誤的算式!\n“);
?????????????????system(“pause“);
?????????????????exit(0);
????????????}
????????????else
????????????{
????????????????if(a==‘)‘)
????????????????{
???????????????? if(sign[top]==‘(‘)
{
top--;
continue;
}
????????????????}
????????????????if(sign[top]==‘*‘)
????????????????{
????????????????????sum=num[tp--];
????????????????????sum*=num[tp--];
????????????????????top--;
????????????????????num[++tp]=sum;
????????????????????if(a!=‘#‘&&a!=‘)‘)sign[++top]=a;
????????????????????else?goto?l1;
????????????????}
????????????????else?if(sign[top]==‘+‘)
????????????????{
????????????????????sum=num[tp--];
????????????????????sum+=num[tp--];
????????????????????top--;
????????????????????num[++tp]=sum;
????????????????????if(a!=‘#‘&&a!=‘)‘)sign[++top]=a;
????????????????????else?goto?l1;
????????????????}
????????????????else?if(a==‘#‘)
????????????????{
????????????????????sum=num[tp--];
????????????????}
????????????}
????????}
????????else
????????{
????????????printf(“錯誤的字符或符號!\n位置:%d錯誤的符號:%c\n“i+1a);
????????????system(“pause“);
???????????goto??l1;
????????}
}
???printf(“sum=%d\n“sum);
???system(“pause“);
???goto?l3;
?}



?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件?????203264??2012-05-30?17:01??編譯原理課程設計_語法分析程序_[1]....doc

?????文件???????2293??2010-01-19?12:30??語法分析?詞法分析.cpp

-----------?---------??----------?-----??----

???????????????205557????????????????????2


評論

共有 條評論