一、實驗目的
編制乙個詞法分析器,通過該詞法分析程式的設計例項,進一步了解詞法分析程式構造的一些細節。
二、實驗內容和要求
實驗內容:
對字串表示的源程式,從左到右進行掃瞄和分解。根據詞法規則,識別出乙個乙個具有獨立意義的單詞符號,以供語法分析之用,若發現詞法錯誤,則返回出錯資訊。
實驗要求:
輸入:源程式字串
輸出:二元組(種別,單詞本身)
待分析語言的詞法規則
三、實驗方法、步驟及結果測試
1.源程式名:cffx.cpp
可執行程式名:cffx.exe
2.原理分析及流程圖
儲存結構:陣列,string類
主要演算法:
void流程圖:way()}}
3.主要程式段及其解釋:
#include#include4.執行結果及分析using
namespace
std;
string key = ;
void way();//
實現詞法分析器功能
intmain()
system(
"pause");
return0;
}void
way()}}
四、
實驗總結
實驗難點在於如何在輸入的字串中找到關鍵字,本程式用了
string
類的find
方法,先判斷是否存在關鍵字,若存在則返回關鍵字在字串出現的位置的首字元下標,再根據
length
得出關鍵字長度,利用
for迴圈輸出關鍵字,並根據關鍵字所在的關鍵字陣列的下標,輸出種別碼。本次實驗使我
進一步了解詞法分析程式構造的一些細節。
詞法分析器實驗報告
一 實驗目的 通過設計乙個詞法分析程式,對詞法進行分析,加強對詞法的理解,掌握對程式語言的分解和理解。二 實驗內容和要求 在原程式中輸入源 在源程式中,自動識別單詞,把單詞分為五種,並輸出對應的單詞種別碼。識別關鍵字 main if int for while do return break con...
演算法分析實驗報告 詞法分析器
實驗 一 詞法分析實驗 商業軟體工程專業 李錦旭 學號201506110131 一 實驗目的 通過設計乙個詞法分析程式,對詞法進行分析,加強對詞法的理解,掌握對程式語言的分解和理解。二 實驗內容和要求 在原程式中輸入源 在源程式中,自動識別單詞,把單詞分為五種,並輸出對應的單詞種別碼。識別關鍵字 m...
詞法分析實驗報告
實驗 一 詞法分析實驗 專業 商軟三班 姓名 姚棋輝 學號201506110250 一 實驗目的 編譯乙個詞法分析程式 實驗內容和要求 輸入字串,輸出這些字串的種別碼。二 實驗方法 步驟及結果測試 方法 鍵盤輸入字串時,使用陣列放起來,再從陣列這裡放進佇列。步驟 1 鍵盤輸入字串,存放在陣列中,2 ...