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

資源簡介

實驗一:詞法分析 一、實驗?zāi)康?通過設(shè)計一個具體的詞法分析程序,加深對詞法分析原理的理解。并掌握在對程序設(shè)計語言源程序進(jìn)行掃描過程中將其分解為各類單詞的詞法分析方法。 編制一個讀單詞過程,從輸入的源程序中,識別出各個具有獨立意義的單詞,即基本保留字、標(biāo)識符、常數(shù)、運算符、分隔符五大類。并依次輸出各個單詞的內(nèi)部編碼及單詞符號自身值。 二、實驗預(yù)習(xí)提示 1、 詞法分析器的功能和輸出格式 詞法分析器的功能是輸入源程序,輸出單詞符號。詞法分析器的單詞符號常常表示成以下的二元式(單詞種別碼,單詞符號的屬性值)。本實驗中,采用的是一類符號對應(yīng)一個種別碼的方式。 2、 單詞的BNF表示 ----> ----> ----> + ----> - 等等 3、 模塊結(jié)構(gòu)(見課本P95-96)(可根據(jù)自己的理解適當(dāng)修改) 三、實驗過程和指導(dǎo): (一) 準(zhǔn)備: 1. 閱讀課本有關(guān)章節(jié),明確語言的語法,寫出基本保留字、標(biāo)識符、常數(shù)、運算符、分隔符和程序例。 2. 初步編制好程序。 3. 準(zhǔn)備好多組測試數(shù)據(jù)。 (二) 上機(jī): (三) 程序要求: 1. 要求用C++Builder或者Dephi或者VC、VB等可視化編程工具編寫;要求有界面(即一般windows下應(yīng)用程序界面)。 2. 輸入為某語言源代碼。 程序輸入/輸出示例: 如源程序為C語言。輸入如下一段: main() { int a,b; a=10; b=a+20; } 要求輸出如下(并以文件形式輸出)。 (2,”main”) (5,”(“) (5,”)“) (5,”{“} (1,”int”) (2,”a”) (5,”,”) (2,”b”) (5,”;”) (2,”a”) (4,”=”) (3,”10”) (5,”;”) (2,”b”) (4,”=”) (2,”a”) (4,”+”) (3,”20”) (5,”;”) (5,”}“) 注:為右大括號 要求(可根據(jù)實際情況加以擴(kuò)充和修改): 識別保留字:if、int、for、while、do、return、break、continue等等,單詞種別碼為1。 其他的標(biāo)識符,單詞種別碼為2。 常數(shù)為無符號數(shù),單詞種別碼為3。 運算符包括:+、-、*、/、=、>、=、<=、!= ;單詞種別碼為4。 分隔符包括: “,”“;”“(”“)”“{”“}”等等, 單詞種別碼為5。 (四) 程序思路(僅供參考): 0. 定義部分:定義常量、變量、數(shù)據(jù)結(jié)構(gòu)。 1. 初始化:從文件將源程序輸入到字符緩沖區(qū)中。 2. 取單詞前:去掉多余空白。調(diào)用過程GETNB(); 3. 提取字符組成單詞,利用課本P97圖4.5轉(zhuǎn)換圖構(gòu)造單詞掃描過程SCAN(),需要根據(jù)實際情況加以修改。 4. 判斷單詞的種別碼,調(diào)用過程LOOKUP(); 5. 顯示(導(dǎo)出)結(jié)果。

資源截圖

代碼片段和文件信息

//---------------------------------------------------------------------------

#include?
#pragma?hdrstop
//---------------------------------------------------------------------------
USEFORM(“Unit1.cpp“?Form1);
//---------------------------------------------------------------------------
WINAPI?WinMain(HINSTANCE?HINSTANCE?LPSTR?int)
{
????????try
????????{
?????????????????Application->Initialize();
?????????????????Application->CreateForm(__classid(TForm1)?&Form1);
?????????????????Application->Run();
????????}
????????catch?(Exception?&exception)
????????{
?????????????????Application->ShowException(&exception);
????????}
????????catch?(...)
????????{
?????????????????try
?????????????????{
?????????????????????????throw?Exception(““);
?????????????????}
?????????????????catch?(Exception?&exception)
?????????????????{
?????????????????????????Application->ShowException(&exception);
?????????????????}
????????}
????????return?0;
}
//---------------------------------------------------------------------------

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

?????文件???????3209??2008-10-30?17:17??詞法分析\Project1.bpr

?????文件???????1069??2008-10-30?17:17??詞法分析\Project1.cpp

?????文件????2162688??2009-11-09?21:25??詞法分析\Project1.tds

?????文件??????17802??2009-11-09?20:55??詞法分析\Project1.obj

?????文件????????876??2008-10-30?17:16??詞法分析\Project1.res

?????文件???????2734??2009-11-09?21:15??詞法分析\Unit1.~dfm

?????文件?????????51??2009-11-09?21:24??詞法分析\Unit1.~ddp

?????文件???????6936??2009-11-09?21:24??詞法分析\Unit1.cpp

?????文件???????1271??2009-11-09?21:15??詞法分析\Unit1.h

?????文件???????2734??2009-11-09?21:15??詞法分析\Unit1.dfm

?????文件?????????51??2009-11-09?21:24??詞法分析\Unit1.ddp

?????文件???????8943??2009-11-09?20:55??詞法分析\分析程序.cpp

?????文件???????6936??2009-11-09?21:24??詞法分析\Unit1.~cpp

?????文件??????52736??2009-11-09?21:24??詞法分析\Project1.exe

?????文件???????1271??2009-11-09?21:15??詞法分析\Unit1.~h

?????文件?????????76??2009-11-09?21:29??詞法分析\說明文件.txt

?????文件?????238080??2009-11-09?21:24??詞法分析\Unit1.obj

?????目錄??????????0??2009-11-09?19:53??詞法分析

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

??????????????2507463????????????????????18


評論

共有 條評論