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

資源簡介

本程序為編譯原理語法分析程序,內含源代碼和報告,以供參考!

資源截圖

代碼片段和文件信息

#include?“stdio.h“??????????????????/*定義I/O庫所用的某些宏和變量*/
#include?“string.h“?????????????????/*定義字符串庫函數*/
#include?“conio.h“??????????????????/*提供有關屏幕窗口操作函數*/
#include?“ctype.h“??????????????????/*分類函數*/


char?prog[80]={‘\0‘}
?????token[8];?????????????????????/*存放構成單詞符號的字符串*/
char?ch;
int?syn???????????????????????????/*存放單詞字符的種別碼*/
??????n
?????kk
????sum???????????????????????????/*存放整數型單詞*/
????mp;???????????????????????????/*p是緩沖區prog的指針,m是token的指針*/
char?*rwtab[6]={“begin““if““then““while““do““end“};


void?scaner()
{
????m=0;
????sum=0;

????for(n=0;n<8;n++)
????????token[n]=‘\0‘;

????ch=prog[p++];

????while(ch==‘?‘)
????????ch=prog[p++];

????if(isalpha(ch))????/*ch為字母字符*/
????{
????????while(isalpha(ch)||isdigit(ch))????/*ch?為字母字符或者數字字符*/
????????{
???????????token[m++]=ch;
???????????ch=prog[p++];
????????}

????????token[m++]=‘\0‘;
????????ch=prog[p--];
????????syn=10;

????????for(n=0;n<6;n++)
????????????if(strcmp(tokenrwtab[n])==0)????/*字符串的比較*/
????????????{
????????????????syn=n+1;
????????????????break;
????????????}
????}
????else
????????if(isdigit(ch))????/*ch是數字字符*/
????????{
????????????while(isdigit(ch))????/*ch是數字字符*/
????????????{
????????????????sum=sum*10+ch-‘0‘;
????????????????ch=prog[p++];
????????????}

????????????ch=prog[p--];
????????????syn=11;
????????}
????????else
????????????switch(ch)
????????????{
????????????????case‘<‘:m=0;
????????????????????????token[m++]=ch;
????????????????????????ch=prog[p++];

????????????????????????if(ch==‘>‘)
????????????????????????{
????????????????????????????syn=21;
????????????????????????????token[m++]=ch;
????????????????????????}

????????????????????????else?if(ch==‘=‘)
????????????????????????{
????????????????????????????syn=22;
????????????????????????????token[m++]=ch;
????????????????????????}

?????????????????????????????else
?????????????????????????????{
?????????????????????????????????syn=20;
?????????????????????????????????ch=prog[p--];
?????????????????????????????}
????????????????????????break;

????????????????case‘>‘:m=0;
????????????????????????token[m++]=ch;
????????????????????????ch=prog[p++];

????????????????????????if(ch==‘=‘)
????????????????????????{
????????????????????????????syn=24;
????????????????????????????token[m++]=ch;
????????????????????????}

????????????????????????else
????????????????????????{
????????????????????????????syn=23;
????????????????????????????ch=prog[p--];
????????????????????????}
????????????????????????break;

?????????????case‘:‘:m=0;
?????????????????????token[m++]=ch;
?????????????????????ch=prog[p++];

?????????????????????if(ch==‘=‘)
?????????????????????{
?????????????????????????syn=18;
?????????????????????????token[m++]=ch;
?????????????????????}

?????????????????????else
?????????????????????{
?????????????????????????syn=17;
?????????????????????????ch=prog[p--];
??????

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

?????文件???????6116??2008-06-01?21:52??yufafenxi.c

?????文件??????77312??2008-06-13?18:47??語法分析程序報告0.doc

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

????????????????83428????????????????????2


評論

共有 條評論