xxxx18一60岁hd中国/日韩女同互慰一区二区/西西人体扒开双腿无遮挡/日韩欧美黄色一级片 - 色护士精品影院www

資源簡(jiǎn)介

這是編譯原理語義分析程序 c++實(shí)現(xiàn),運(yùn)用優(yōu)先表的方法實(shí)現(xiàn),簡(jiǎn)單,實(shí)用

資源截圖

代碼片段和文件信息

#include
#include
#include
#include
#include
using?namespace?std;
/*在輸出文件save.txt中,相應(yīng)數(shù)字意義如下
關(guān)鍵字--1
標(biāo)示符--2
數(shù)字--3
界限符--4
運(yùn)算符--5
錯(cuò)誤--0
*/
void?alpha(ifstream?&?infileofstream?&?outfilechar?s);
int?punct(ifstream?&?infileofstream?&?outfilechar?sbool?nocout);
void?digit(ifstream?&?infileofstream?&?outfilechar?s);
void?cifa();

int?cmpoper(string?astring?b);
int?main()
{
cifa();

system(“pause“);
return?0;
}

void?cifa()//此法分析子程序
{
ifstream?infile;
ofstream?outfile;
char?s;
infile.open(“biaodashi.txt“);
outfile.open(“save.txt“ofstream::out);
while(!infile.eof())
{
infile.read(&ssizeof(char));
if(infile.eof())break;
while(isspace(s))//是空格就讀下一個(gè)
infile.read(&ssizeof(char));
if(isalpha(s)?||?s==‘_‘)?alpha(infileoutfiles);//是字母就調(diào)用關(guān)鍵字或標(biāo)識(shí)符子程序
else?if(isdigit(s))?digit(infileoutfiles);//是數(shù)字就調(diào)用數(shù)字分析子程序
else?if(ispunct(s))?punct(infileoutfiles0);//是符號(hào)就調(diào)用界限符或運(yùn)算符子程序
else?{cout< }
infile.close();
outfile.close();
}


void?alpha(ifstream?&?infileofstream?&?outfilechar?s)
{
char?buff[40];
int?i=0;
bool?label=truenocout=true;
char?*?key[]={“include““iostream““using““namespace““std““int““main““cout““return“};
int?n=9;
while(?!isspace(s)?)//如果下一個(gè)字符不是空格或其他符號(hào)就把字母或數(shù)字或下劃線讀入數(shù)字儲(chǔ)存起來
{
if(punct(infileoutfilesnocout)==0?||?punct(infileoutfilesnocout)==1)?{infile.seekg(-1ios_base::cur);break;}
if(?!((s==‘_‘)?||?(isalpha(s)?)?||?(isdigit(s)?))?)?label=false;
cout< outfile< buff[i]=s;
i=i+1;
infile.read(&ssizeof(char));
}
if(label==false)?{cout<<“ wrongA“< else
{//把讀取的字符串與關(guān)鍵字比較,判斷其是關(guān)鍵字還是標(biāo)識(shí)符
buff[i]=‘\0‘;
for(i=0;i {
if(strcmp(buffkey[i])==0)?{cout<<“ 關(guān)鍵字“< else?label=false;
}
if(label==false)?{cout<<“ 標(biāo)識(shí)符“< }
}

int?punct(ifstream?&?infileofstream?&?outfilechar?sbool?nocout)
{//界限符判斷
int?in=8;
char?bound[]={‘“‘‘{‘??‘}‘??‘‘??‘;‘??‘<‘??‘>‘??‘\‘‘};
for(i=0;i {
if(s==bound[i])
if?(nocout)?return?0;
else?{cout< }
if(i
else?if(i==0)
{
infile.read(&ssizeof(char));//若連著兩個(gè)‘“‘則輸出第二個(gè)‘“‘后退出本函數(shù)
if(s==‘“‘)?{cout< else?infile.seekg(-1ios_base::cur);

while((!infile.eof()))//判斷字符串
{
infile.read(&ssizeof(char));
if(s!=‘“‘)?cout< else?
{
cout<<“ 字符串“< outfile<<“ 6“< break;
}
}
cout< outfile< }
//運(yùn)算符判斷
int?m=9;
char?operat[]={?‘=‘??‘+‘??‘-‘??‘*‘??‘/‘??‘#‘??‘(‘??‘)‘?‘.‘};
for(i=0;i {
if(s==operat[i])
if?(nocout)?return?1;
else?{cout< }

?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----

?????文件?????????22??2009-05-20?15:52??taoeryuyi60\biaodashi.txt

?????文件????????201??2009-05-18?10:14??taoeryuyi60\compile.txt

?????文件?????585781??2009-06-15?21:08??taoeryuyi60\Debug\taoeryuyi60.exe

?????文件?????843944??2009-06-15?21:08??taoeryuyi60\Debug\taoeryuyi60.ilk

?????文件????2547872??2009-06-15?21:08??taoeryuyi60\Debug\taoeryuyi60.pch

?????文件????1197056??2009-06-15?21:08??taoeryuyi60\Debug\taoeryuyi60.pdb

?????文件?????132096??2009-06-15?21:08??taoeryuyi60\Debug\vc60.idb

?????文件?????118784??2009-06-15?21:08??taoeryuyi60\Debug\vc60.pdb

?????文件?????297266??2009-06-15?21:08??taoeryuyi60\Debug\yuyi.obj

?????文件????????110??2009-06-15?21:08??taoeryuyi60\save.txt

?????文件???????4337??2009-05-20?15:21??taoeryuyi60\taoeryuyi60.dsp

?????文件????????530??2009-05-20?14:45??taoeryuyi60\taoeryuyi60.dsw

?????文件??????50176??2009-06-15?21:08??taoeryuyi60\taoeryuyi60.ncb

?????文件??????53760??2009-06-15?21:08??taoeryuyi60\taoeryuyi60.opt

?????文件????????903??2009-06-15?21:08??taoeryuyi60\taoeryuyi60.plg

?????文件???????3923??2009-06-16?16:31??taoeryuyi60\yuyi.cpp

?????文件?????????15??2009-06-15?21:08??taoeryuyi60\yuyi.txt

?????文件??????28672??2009-06-24?00:47??編譯課設(shè)_FINAL_報(bào)告\任務(wù)書.doc

?????文件?????401408??2009-06-24?00:47??編譯課設(shè)_FINAL_報(bào)告\編譯課程設(shè)計(jì)報(bào)告_劉濤.doc

?????文件??????98816??2009-06-24?00:48??編譯課設(shè)_FINAL_報(bào)告\課程設(shè)計(jì)封面.doc

?????目錄??????????0??2009-07-04?16:09??taoeryuyi60\Debug

?????目錄??????????0??2009-07-04?16:09??taoeryuyi60

?????目錄??????????0??2009-07-04?16:09??編譯課設(shè)_FINAL_報(bào)告

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

??????????????6365672????????????????????23


評(píng)論

共有 條評(píng)論

相關(guān)資源