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

資源簡介

詞法分析器:1) 定義目標語言的可用符號表和構詞規則; 2) 依次讀入源程序符號,對源程序進行單詞切分和識別,直到源程序結束; 3) 對正確的單詞,按照它的種別以的形式保存在符號表中; 4) 對不正確的單詞,做出錯誤處理。 算符優先算法: 若輸入文法: E->E+T | T T->T*F | F F-> (E) | i 根據算符優先分析法,將賦值語句進行語法語義分析,翻譯成等價的一組基本操作,每一基本操作用四元式表示

資源截圖

代碼片段和文件信息

#include?
#include?
#include?
//#include

using?namespace?std;
string?KEYWORD[15]=?{“if““else““void““return““while““then““for““do“?????//關鍵字
?????????????????????“int““char““double““float““case““cin““cout“
????????????????????};
char?SEPARATER[8]=?{‘;‘‘‘‘{‘‘}‘‘[‘‘]‘‘(‘‘)‘};???//界符
char?OPERATOR[8]=?{‘+‘‘-‘‘*‘‘/‘‘>‘‘<‘‘=‘‘!‘};????//運算符
char?FILTER[4]=?{‘?‘‘\t‘‘\r‘‘\n‘};???????????????????//過濾符(空格?水平制表?回車?換行)
const?int?IDENTIFIER=200;?????????//標識符值
const?int?CONSTANT=201;???????????//常數值
const?int?FILTER_VALUE=202;???????//過濾字符值


//判斷是否為關鍵字
bool?IsKeyword(string?word)
{
????for(int?i=0;?i<15;?i++)
????{
????????if(KEYWORD[i]==word)
????????{
????????????return?true;
????????}
????}
????return?false;
}
//判斷是否為界符
bool?IsSeparater(char?ch)
{
????for(int?i=0;?i<8;?i++)
????{
????????if(SEPARATER[i]==ch)
????????{
????????????return?true;
????????}
????}
????return?false;
}

//判斷是否為運算符
bool?IsOperator(char?ch)
{
????for(int?i=0;?i<8;?i++)
????{
????????if(OPERATOR[i]==ch)
????????{
????????????return?true;
????????}
????}
????return?false;
}
//判斷是否為過濾符
bool?IsFilter(char?ch)
{
????for(int?i=0;?i<4;?i++)
????{
????????if(FILTER[i]==ch)
????????{
????????????return?true;
????????}
????}
????return?false;
}
//判斷是否為大寫字母
bool?IsUpLetter(char?ch)
{
????if(ch>=‘A‘?&&?ch<=‘Z‘)?return?true;
????return?false;
}
//判斷是否為小寫字母
bool?IsLowLetter(char?ch)
{
????if(ch>=‘a‘?&&?ch<=‘z‘)?return?true;
????return?false;
}
//判斷是否為數字
bool?IsDigit(char?ch)
{
????if(ch>=‘0‘?&&?ch<=‘9‘)?return?true;
????return?false;
}
//返回每個字的值
template?
int?value(T?*aint?nT?str)
{
????for(int?i=0;?i<=n;?i++)
????{
????????if(a[i]==str)?return?i+1;
????}
????return?-1;
}
//詞法分析
void?analyse(FILE?*?fpin)
{
????//ofstream?f(“詞法分析的結果.txt“);
????char?ch=‘?‘;
????string?arr=““;
????while((ch=fgetc(fpin))!=EOF)//當不為結束字符時
????{
????????arr=““;
????????if(IsFilter(ch))?{}?????????????//判斷是否為過濾符
????????else?if(IsLowLetter(ch))????????//判斷是否為關鍵字
????????{
????????????while(IsLowLetter(ch))
????????????{
????????????????arr?+=?ch;
????????????????ch=fgetc(fpin);
????????????}
????????????fseek(fpin-1LSEEK_CUR);
????????????if(IsKeyword(arr))
????????????{
????????????????cout<<“1“<<“?“<<‘\t‘<????????????}
????????????else
????????????{
????????????????cout<<“2“<<“?“<<‘\t‘<????????????}
????????}
????????else?if(IsDigit(ch))????????????//判斷是否為數字
????????{
????????????while(IsDigit(ch)||(ch==‘.‘&&IsDigit(fgetc(fpin))))
????????????{
????????????????arr?+=?ch;
????????????????ch=fgetc(fpin);
????????????}

????????????fseek(fpin-1LSEEK_CUR);
????????????cout<<“3“<<“?“<<‘\t‘<????????}
????????else?if(IsUpLetter(ch)||IsLowLetter(ch)||ch==‘_‘)
????????{
????????????while(IsUpLetter(ch)||IsLowLetter(ch)||ch==‘_‘||IsDigit(ch))
????????????{
?????

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

?????文件?????988337??2018-05-27?10:19??編譯原理--詞法分析器+語法分析器?源代碼\詞法分析器\bin\Debug\詞法分析器?.exe

?????文件???????4975??2018-05-27?17:12??編譯原理--詞法分析器+語法分析器?源代碼\詞法分析器\main.cpp

?????文件??????40555??2018-05-27?10:19??編譯原理--詞法分析器+語法分析器?源代碼\詞法分析器\obj\Debug\main.o

?????文件???????1116??2018-05-26?20:52??編譯原理--詞法分析器+語法分析器?源代碼\詞法分析器\詞法分析器?.cbp

?????文件????????147??2018-05-27?10:21??編譯原理--詞法分析器+語法分析器?源代碼\詞法分析器\詞法分析器?.depend

?????文件????????321??2018-05-27?17:12??編譯原理--詞法分析器+語法分析器?源代碼\詞法分析器\詞法分析器?.layout

?????文件????????152??2018-05-27?10:14??編譯原理--詞法分析器+語法分析器?源代碼\詞法分析器\詞法分析器.depend

?????文件????????323??2018-05-27?10:19??編譯原理--詞法分析器+語法分析器?源代碼\詞法分析器\詞法分析器.layout

?????文件?????976279??2018-05-28?13:18??編譯原理--詞法分析器+語法分析器?源代碼\語法分析器\bin\Debug\詞法分析器.exe

?????文件?????976309??2018-05-27?10:56??編譯原理--詞法分析器+語法分析器?源代碼\語法分析器\bin\Debug\語法分析器.exe

?????文件???????7974??2018-05-28?13:25??編譯原理--詞法分析器+語法分析器?源代碼\語法分析器\main.cpp

?????文件??????22083??2018-05-28?13:18??編譯原理--詞法分析器+語法分析器?源代碼\語法分析器\obj\Debug\main.o

?????文件???????1130??2018-05-26?20:37??編譯原理--詞法分析器+語法分析器?源代碼\語法分析器\語法分析器.cbp

?????文件????????147??2018-05-27?11:08??編譯原理--詞法分析器+語法分析器?源代碼\語法分析器\語法分析器.depend

?????文件????????324??2018-05-28?13:25??編譯原理--詞法分析器+語法分析器?源代碼\語法分析器\語法分析器.layout

?????目錄??????????0??2019-01-07?21:36??編譯原理--詞法分析器+語法分析器?源代碼\詞法分析器\bin\Debug

?????目錄??????????0??2019-01-07?21:36??編譯原理--詞法分析器+語法分析器?源代碼\詞法分析器\obj\Debug

?????目錄??????????0??2019-01-07?21:36??編譯原理--詞法分析器+語法分析器?源代碼\語法分析器\bin\Debug

?????目錄??????????0??2019-01-07?21:36??編譯原理--詞法分析器+語法分析器?源代碼\語法分析器\obj\Debug

?????目錄??????????0??2019-01-07?21:36??編譯原理--詞法分析器+語法分析器?源代碼\詞法分析器\bin

?????目錄??????????0??2019-01-07?21:36??編譯原理--詞法分析器+語法分析器?源代碼\詞法分析器\obj

?????目錄??????????0??2019-01-07?21:36??編譯原理--詞法分析器+語法分析器?源代碼\語法分析器\bin

?????目錄??????????0??2019-01-07?21:36??編譯原理--詞法分析器+語法分析器?源代碼\語法分析器\obj

?????目錄??????????0??2019-01-07?21:36??編譯原理--詞法分析器+語法分析器?源代碼\詞法分析器

?????目錄??????????0??2019-01-07?21:36??編譯原理--詞法分析器+語法分析器?源代碼\語法分析器

?????目錄??????????0??2019-01-07?21:36??編譯原理--詞法分析器+語法分析器?源代碼

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

??????????????3020172????????????????????26


評論

共有 條評論