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

資源簡介

可以實現的功能:識別關鍵字,普通標識符,文件形式輸入輸出,過濾空格、注釋等功能

資源截圖

代碼片段和文件信息

#include
#include
#include
#include
#include?
#include??
using?namespace?std;

char?*Key[11]={“if““do““else““int““for““while““return““break““continue“};//定義關鍵字(保留字)
char?Word[20]ch;//存儲識別出的單詞流
int?syn;

int?IsAlpha(char?c)?//判斷是否為字母
{????????????????
if(((c<=‘z‘)&&(c>=‘a‘))||((c<=‘Z‘)&&(c>=‘A‘)))?
return?1;//如果是字母,返回1
else?
return?0;//如果不是字母,返回0
}
?
int?IsNum(char?c)//判斷是否為數字
{????????????????
if(c>=‘0‘&&c<=‘9‘)
return?1;//如果是數字,返回1
else
return?0;//如果不是數字,返回0
}

int?IsKey(char?*Word)//識別關鍵字函數
{??????????
int?mi;
for(i=0;i<9;i++)
{
if((m=strcmp(WordKey[i]))==0)
return?1;//如果是關鍵字,返回1
}
return?0;
}

void?scanner(FILE?*fpFILE?*hp)//掃描函數,*fp是個指針
{?????
//int?k=0;
char?Word[20]={‘\0‘};
char?ch;
int?ic;
ch=fgetc(fp);//獲取字符,指針fp并自動指向下一個字符

if(IsAlpha(ch))?//判斷該字符是否是字母,調用IsAlpha函數,ch傳遞參數
{
Word[0]=ch;//Word數組存儲字符串的輸出流
ch=fgetc(fp);
i=1;
while(IsNum(ch)||IsAlpha(ch))//判斷該字符是否是字母或數字
{???

Word[i]=ch;
i++;//指針后移
ch=fgetc(fp);//ch是指針指向的內容
}
Word[i]=‘\0‘;//‘\0‘?代表字符結束(空格)
fseek(fp-11);//回退一個字符

c=IsKey(Word);//判斷是否是關鍵字,傳遞的是一個指針,根據返回的值進行下面的判斷
if(c==0)//不是關鍵字
{
syn=1;//普通標識符
printf(“(%d%s)\n“synWord);
fprintf(hp“(%d%s)\n“synWord);
}
else
{
syn=3;//關鍵字
printf(“(%d%s)\n“synWord);
fprintf(hp“(%d%s)\n“synWord);
}
}
else//開始判斷的字符不是字母
if(IsNum(ch))//判斷是否是數字
{
Word[0]=ch;
ch=fgetc(fp);
i=1;
while(IsNum(ch)||ch==‘.‘||ch==‘e‘||ch==‘-‘)
{ Word[i]=ch;
i++;
ch=fgetc(fp);
}
Word[i]=‘\0‘;//\0是字符串結束標志
fseek(fp-11);//回退
syn=2;//無符號實數
printf(“(%d%s)\n“synWord);
????????????fprintf(hp“(%d%s)\n“synWord);
}
else//開始判斷的字符不是字母也不是數字
{
Word[0]=ch;
switch(ch)
{
case‘(‘:
case‘)‘:
case‘{‘:
case‘}‘:
case‘‘:
case‘;‘:
????syn=5;//界符
printf(“(%d%s)\n“synWord);
fprintf(hp“(%d%s)\n“synWord);
break;
case‘+‘:
syn=4;?//判斷結果為“+“
printf(“(%d%s)\n“synWord);
fprintf(hp“(%d%s)\n“synWord);
?break;
case‘-‘:
syn=4;?//判斷結果為“-“
printf(“(%d%s)\n“synWord);
fprintf(hp“(%d%s)\n“synWord);
break;
case‘*‘:
????syn=4;//判斷結果是*
printf(“(%d%s)\n“synWord);
????fprintf(hp“(%d%s)\n“synWord);
break;

case‘/‘:
ch=fgetc(fp);
Word[1]=ch;
if(ch==‘/‘)
{
????i=1;
while(ch!=‘\n‘)
{
Word[i]=ch;
????????i++;
????????ch=fgetc(fp);
}
{}
}
else
{
if(ch==‘*‘)
{
?i=1;
?Word[i]=ch;
?????????i++;
?????????ch=fgetc(fp);
?while(ch!=‘#‘)
?{
?
?if(ch==‘*‘)
??{
??Word[i]=ch;
??ch=fgetc(fp);
??????????????????????????????????if(ch==‘/‘)
??{
??printf(“此行為注釋!\n“);

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

?????文件????????247??2011-04-18?23:27??詞法分析器\out.txt

?????文件???????6065??2011-04-18?21:58??詞法分析器\wangmx.cpp

?????文件???????3401??2011-04-12?19:49??詞法分析器\wangmx.dsp

?????文件????????520??2011-04-12?19:50??詞法分析器\wangmx.dsw

?????文件??????50176??2011-04-18?23:27??詞法分析器\wangmx.ncb

?????文件??????48640??2011-04-18?23:27??詞法分析器\wangmx.opt

?????文件????????246??2011-04-18?23:26??詞法分析器\wangmx.plg

????..A..H.???????162??2011-04-09?15:56??詞法分析器\~$一__識別無符號數的詞法分析器設計實現.doc

????..A..H.???????162??2011-04-09?14:40??詞法分析器\~$原理詞法分析器.doc

????..A..H.???????162??2011-04-09?15:06??詞法分析器\~$驗一詞法分析.doc

????..A..H.???????162??2011-04-09?15:02??詞法分析器\~$驗實現了一個c語言詞法分析器內容說明注釋完整包含可運行代碼.doc

?????文件?????101940??2011-04-18?22:00??詞法分析器\截圖\輸入1.JPG

?????文件??????52857??2011-04-18?21:23??詞法分析器\截圖\輸入2.jpg

?????文件??????38732??2011-04-18?21:30??詞法分析器\截圖\輸入3.jpg

?????文件??????51854??2011-04-18?21:32??詞法分析器\截圖\輸入4.jpg

?????文件??????97258??2011-04-18?22:01??詞法分析器\截圖\輸出1.JPG

?????文件??????39148??2011-04-18?21:29??詞法分析器\截圖\輸出2.jpg

?????文件??????29101??2011-04-18?21:30??詞法分析器\截圖\輸出3.jpg

?????文件??????46955??2011-04-18?21:33??詞法分析器\截圖\輸出4.jpg

????..A.SH.?????22016??2011-05-14?10:12??詞法分析器\截圖\Thumbs.db

?????文件????????106??2011-04-18?21:51??詞法分析器\test\test1.cpp

?????文件?????????89??2011-04-18?20:27??詞法分析器\test\test2.txt

?????文件?????????69??2011-04-16?14:50??詞法分析器\test\test3.txt

?????文件????????169??2011-04-18?21:17??詞法分析器\test\test4.txt

?????文件??????74752??2011-04-18?23:26??詞法分析器\Debug\vc60.idb

?????文件?????118784??2011-04-18?21:58??詞法分析器\Debug\vc60.pdb

?????文件?????184409??2011-04-18?21:58??詞法分析器\Debug\wangmx.exe

?????文件????1065360??2011-04-18?21:58??詞法分析器\Debug\wangmx.ilk

?????文件??????19399??2011-04-18?21:58??詞法分析器\Debug\wangmx.obj

?????文件??????43520??2011-04-08?15:04??詞法分析器\Debug\wangmx.opt

............此處省略9個文件信息

評論

共有 條評論

相關資源