-
大小: 1.2MB文件類型: .7z金幣: 1下載: 0 次發(fā)布日期: 2021-01-05
- 標(biāo)簽: 詞法語(yǔ)法??
資源簡(jiǎn)介
編譯原理上機(jī)實(shí)習(xí)源代碼。 題目:C語(yǔ)言小子集編譯程序的實(shí)現(xiàn) 3、實(shí)現(xiàn)功能: (1)詞法分析 掃描源程序,根據(jù)詞法規(guī)則,識(shí)別單詞,填寫相應(yīng)的符號(hào)表。 (2)語(yǔ)法分析 對(duì)由源程序作語(yǔ)法分析,確定是否屬于C語(yǔ)言小子集,同時(shí)揭示出程序的內(nèi)在結(jié)構(gòu)。 (3)語(yǔ)法錯(cuò)誤檢查 根據(jù)C語(yǔ)言小子集的文法規(guī)則設(shè)置檢測(cè)手段,通過查錯(cuò)子程序或一些查錯(cuò)語(yǔ)句,報(bào)告源程序出錯(cuò)位置、性質(zhì)等,直至整個(gè)程序結(jié)束為止。 (4)語(yǔ)義分析與目標(biāo)代碼生成 在語(yǔ)法分析的基礎(chǔ)上,進(jìn)行語(yǔ)義分析,生成輸入源程序的目標(biāo)代碼。輸入源程序的目標(biāo)代碼可以建立在一個(gè)假想的處理機(jī)(虛擬機(jī))上,也可
代碼片段和文件信息
#include?“stdafx.h“
#include?
#include?
#include?
#include?
#include?
#include?
#include?
using?namespace?std;
string?file_name;
string?GetText();
string?GetWord(string?strint?iint&?j);?
int?DeleteNull(string?strint?i);
bool?IsBoundary(string?strint?i);?
bool?IsOperation(string?strint?i);?
void?Print(vector?>?v);?
vector?>?analyst(vector?vec);
bool?IsKey(string?str);
int?main()
{
????cout<<“******************************\n“;
????cout<<“**********詞法分析器**********\n“;
cout<<“******************************\n“;
????string?com1=“?“;
????string?com2=“\n“;?
????string?fileline=GetText();
????int?begin=0end=0;
????vector?array;
????do
????{
????????b
評(píng)論
共有 條評(píng)論