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

  • 大小: 11.38MB
    文件類型: .zip
    金幣: 1
    下載: 0 次
    發布日期: 2023-06-26
  • 語言: C/C++
  • 標簽:

資源簡介

語言為C/C++,共有四個實驗,實驗一實驗二功能全部實現,實驗三第二個功能有待完善,實驗四也是實現了部分功能。我當時提交是沒問題的,介意的請不要下載,實驗一:詞法分析器,實驗二:正規文法轉換為正規表達式,實驗三:正規文法與有窮自動機的相互轉換,實驗三:利用給定文法或有窮自動機或正規表達式。進行詞法分析

資源截圖

代碼片段和文件信息

#include
#include
#include
#include
using?namespace?std;
char?ch=‘?‘;
string?itag[200];
int?a=0b=0c=0d=0e=0f=0;
string?ikey[200];
string?inum[200];
string?iope[200];
string?idiv[200];
string?niden[200];
string?key[14]={“begin““end““if““then““else““while““write““read““do“\
“return““break““continue““int““main“};
//判斷是否為關鍵字
int?isKey(string?str)
{
for(int?i=0;i<14;i++)
{
if(key[i].compare(str)==0)
{
return?1;
break;
}
}
return?0;
}
//判斷是否為字母
int?isLetter(char?ch)
{
????if(((ch>=‘a‘)&&(ch<=‘z‘))||((ch>=‘A‘)&&(ch<=‘Z‘)))
????{
????????return?1;
????}
????else?return?0;
}
//判斷是否為數字
int?isNum(char?ch)
{
????if((ch>=‘0‘)&&(ch<=‘9‘))
????{
????????return?1;
????}
????return?0;
}
void?preHandle(FILE?*fp)?//預處理
{
string?str=““;
while((ch=fgetc(fp))!=EOF)
{
if(ch==‘/‘)
{
if((ch=fgetc(fp))!=EOF)
{
if(ch==‘/‘){
while((ch=fgetc(fp))!=‘\n‘){}
fseek(fp-1LSEEK_CUR);
}
else?if(ch==‘*‘){
while((ch=fgetc(fp))!=‘*‘){}
ch=fgetc(fp);
ch=fgetc(fp);
}
else?fseek(fp-1LSEEK_CUR);
}
}
if(ch==‘\n‘)
continue;
str=str+ch;
}
cout<}
void?dClass(FILE?*fp)??//fenlei
{
string?st=““;
while((ch=fgetc(fp))!=EOF)
{
st=““;
if(ch==‘/‘)
{
if((ch=fgetc(fp))!=EOF)
{
if(ch==‘/‘){
while((ch=fgetc(fp))!=‘\n‘){}
fseek(fp-1LSEEK_CUR);
}
else?if(ch==‘*‘){
while((ch=fgetc(fp))!=‘*‘){}
ch=fgetc(fp);
ch=fgetc(fp);
}
else?fseek(fp-1LSEEK_CUR);
}
}
if(ch==‘?‘||ch==‘\t‘||ch==‘\n‘)
continue;
if(isLetter(ch))
{
while(isLetter(ch)||isNum(ch)||ch==‘_‘){
st=st+ch;
ch=fgetc(fp);
}
if(isKey(st)){
/*for(int?i=0;i if(ikey[i].compare(st)==0)
}*/
ikey[b]=st;
b++;
cout< }
else{
itag[a]=st;
a++;
}
fseek(fp-1LSEEK_CUR);
}
else?if(isNum(ch))
{
while(isNum(ch))
{
st=st+ch;
ch=fgetc(fp);
}
inum[c]=st;
c++;
fseek(fp-1LSEEK_CUR);
}
else?switch(ch){
????????case‘+‘:
????????case‘-‘:
????????case‘*‘:
????????case‘/‘:
????????case‘=‘:iope[d]=st+ch;d++;break;//到此為止是無歧義的運算符輸出
????????case‘‘:
????????case‘;‘:
????????case‘{‘:
????????case‘}‘:
????????case‘[‘:
????????case‘]‘:
????????case‘(‘:
????????case‘)‘:idiv[e]=st+ch;e++;break;//到此為止是無歧義分隔符輸出
????????case‘>‘:{
????????????ch=fgetc(fp);
????????????if(ch==‘=‘){
????????????????st=“>=“;//如果是>=的情況下,輸出;
iope[d]=st;d++;
????????????}
????????????if(ch==‘>‘){
st=“>>“;
iope[d]=st;d++;
????????????}//如果是>>輸出符號的話,什么都不做。
????????????else{
fseek(fp-1SEEK_CUR);
????????????????iope[d]=“>“;d++;//如果只是一個>的話,輸出這是一個運算符;
????????????}????
????????}break;
????????case‘<‘:{
????????????ch=fgetc(fp);
????????????if(ch==‘=‘){
????????????????st=“<=“;//同上;
iope[d]=st;d++;

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2015-06-14?10:07??編譯原理\
?????文件????????4304??2015-05-15?13:37??編譯原理\Constructor.cpp
?????文件????????3461??2015-06-11?10:35??編譯原理\Constructor.dsp
?????文件?????????530??2015-06-11?10:35??編譯原理\Constructor.dsw
?????文件???????41984??2015-06-11?10:35??編譯原理\Constructor.ncb
?????文件???????48640??2015-06-11?10:35??編譯原理\Constructor.opt
?????文件?????????256??2015-06-11?10:35??編譯原理\Constructor.plg
?????目錄???????????0??2015-06-13?21:13??編譯原理\Debug\
?????文件??????565288??2015-06-11?09:56??編譯原理\Debug\1.exe
?????文件??????809552??2015-06-11?09:56??編譯原理\Debug\1.ilk
?????文件??????322400??2015-06-11?09:56??編譯原理\Debug\1.obj
?????文件?????1131520??2015-06-11?09:56??編譯原理\Debug\1.pdb
?????文件??????322400??2015-06-11?09:53??編譯原理\Debug\a.obj
?????文件??????544818??2015-05-26?17:32??編譯原理\Debug\Constructor.exe
?????文件??????787524??2015-05-26?17:32??編譯原理\Debug\Constructor.ilk
?????文件??????151297??2015-05-26?17:32??編譯原理\Debug\Constructor.obj
?????文件?????1115136??2015-05-26?17:21??編譯原理\Debug\Constructor.pdb
?????文件??????540726??2015-06-11?10:35??編譯原理\Debug\experiment.1cpp.exe
?????文件??????781972??2015-06-11?10:35??編譯原理\Debug\experiment.1cpp.ilk
?????文件??????134846??2015-06-11?10:35??編譯原理\Debug\experiment.1cpp.obj
?????文件?????1106944??2015-05-26?17:25??編譯原理\Debug\experiment.1cpp.pdb
?????文件??????132096??2015-06-11?10:36??編譯原理\Debug\vc60.idb
?????文件??????118784??2015-06-11?09:56??編譯原理\Debug\vc60.pdb
?????文件????????3440??2015-05-14?09:13??編譯原理\experiment.1cpp.cpp
?????文件????????3509??2015-06-11?10:35??編譯原理\experiment.1cpp.dsp
?????文件?????????538??2015-06-11?10:35??編譯原理\experiment.1cpp.dsw
?????文件???????41984??2015-06-11?10:35??編譯原理\experiment.1cpp.ncb
?????文件???????48640??2015-06-11?10:35??編譯原理\experiment.1cpp.opt
?????文件?????????801??2015-06-11?10:35??編譯原理\experiment.1cpp.plg
?????文件??????141886??2015-05-14?08:06??編譯原理\GuiPreview_Regex.rar
?????文件??????104448??2015-06-11?09:36??編譯原理\LL1文法分析器.doc
............此處省略78個文件信息

評論

共有 條評論