




已閱讀5頁,還剩2頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
編譯原理實驗報告項目名稱 詞法分析程序設(shè)計與實現(xiàn) 專業(yè)班級 學(xué) 號 姓 名 實驗成績:批閱教師:年 月 日實驗1詞法分析程序設(shè)計與實現(xiàn)實驗學(xué)時: 2 實驗地點: 實驗日期: 一、實驗?zāi)康募由顚υ~法分析器的工作過程的理解;加強對詞法分析方法的掌握;能夠采用一種編程語言實現(xiàn)簡單的詞法分析程序;能夠使用自己編寫的分析程序?qū)唵蔚某绦蚨芜M(jìn)行詞法分析。二、實驗內(nèi)容自定義一種程序設(shè)計語言,或者選擇已有的一種高級語言,編制它的詞法分析程序。詞法分析程序的實現(xiàn)可以采用任何一種編程語言和編程工具。從輸入的源程序中,識別出各個具有獨立意義的單詞,即關(guān)鍵字、標(biāo)識符、常數(shù)、運算符、界符。并依次輸出各個單詞的內(nèi)部編碼及單詞符號自身值。(遇到錯誤時可顯示“Error”,然后跳過錯誤部分繼續(xù)顯示)三、實驗方法算法的基本任務(wù)是從字符串表示的源程序中識別出具有獨立意義的單詞符號,其基本思想是根據(jù)掃描到單詞符號的第一個字符的種類,拼出相應(yīng)的單詞符號。主程序初始包括以下兩個方面: 關(guān)鍵字表的初值。關(guān)鍵字作為特殊標(biāo)識符處理,把它們預(yù)先安排在一張表格中(稱為關(guān)鍵字表),當(dāng)掃描程序識別出標(biāo)識符時,查關(guān)鍵字表。如能查到匹配的單詞,則該單詞為關(guān)鍵字,否則為一般標(biāo)識符。關(guān)鍵字表為一個字符串?dāng)?shù)組,其描述如下:Char *rwtab6 = “begin”, “if”, “then”, “while”, “do”, “end”,; 圖3-1(2)程序中需要用到的主要變量為syn,token和sum掃描子程序的算法思想:首先設(shè)置3個變量:token用來存放構(gòu)成單詞符號的字符串;sum用來整型單詞;syn用來存放單詞符號的種別碼。四、實驗步驟1. 定義目標(biāo)語言的可用符號表和構(gòu)詞規(guī)則;2. 依次讀入源程序符號,對源程序進(jìn)行單詞切分和識別,直到源程序結(jié)束;3. 對正確的單詞,按照它的種別以的形式保存在符號表中;4. 對不正確的單詞,做出錯誤處理。五、實驗結(jié)果輸入begin x:=9: if x9 then x:=2*x+1/3; end #顯示結(jié)果如下:六、實驗結(jié)論該詞法分析器可以進(jìn)行輸入、預(yù)處理;關(guān)鍵字的識別;標(biāo)識符的識別、常數(shù)的識別、算符和界符的識別等。#include#include#includechar prog80,token8;char ch;int syn,p,m=0,n,row,sum=0;char *rwtab6=begin,if,then,while,do,end; void scaner()for(n=0;n=a&ch=A&ch=0&ch=a&ch=A&ch=Z)tokenm+=ch;ch=progp+;tokenm+=0;p-;syn=10;for(n=0;n=0&ch=0&ch32767)syn=-1;else switch(ch)case)syn=21;tokenm+=ch;else if(ch=)syn=22;tokenm+=ch;elsesyn=23;p-;break;case:m=0;tokenm+=ch;ch=progp+;if(ch=)syn=24;tokenm+=ch;elsesyn=20;p-;break;case:m=0;tokenm+=ch;ch=progp+;if(ch=)syn=18;tokenm+=ch;elsesyn=17;p-;break;case*:syn=13;token0=ch;break;case/:syn=14;token0=ch;break;case+:syn=15;token0=ch;break;case-:syn=16;token0=ch;break;case=:syn=25;token0=ch;break;case;:syn=26;token0=ch;break;case(:syn=27;token0=ch;break;case):syn=28;token0=ch;break;case#:syn=0;token0=ch;break;casen:syn=-2;break;default: syn=-1;break;void main()p=0;row=1;coutPlease input string:endl;docin.get(ch);progp+=ch;while(ch!=#);p=0;doscaner();switch(syn)case 11: cout(syn,sum)endl; break; case -1: coutError in row row!endl; break;case -2: row=row+;break;
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 航空航天器振動與噪聲控制技術(shù)考核試卷
- 機動車交通事故公證處理考核試卷
- 聯(lián)合品牌推廣考核試卷
- 稀土金屬壓延加工中的質(zhì)量改進(jìn)方法比較與分析考核試卷
- 自行車的時尚與服裝設(shè)計考核試卷
- 航海倫理與職業(yè)道德規(guī)范實踐考核試卷
- 四川司法警官職業(yè)學(xué)院《籃球俱樂部》2023-2024學(xué)年第二學(xué)期期末試卷
- 網(wǎng)絡(luò)安全技術(shù)實踐教程(微課版)-教案 信息收集與漏洞掃描
- 上海市閔行區(qū)七寶中學(xué)2025年高三考前適應(yīng)性訓(xùn)練化學(xué)試題試卷含解析
- 太湖創(chuàng)意職業(yè)技術(shù)學(xué)院《口腔醫(yī)學(xué)探究性學(xué)習(xí)》2023-2024學(xué)年第一學(xué)期期末試卷
- 中藥化學(xué)試題及答案
- 公路消防知識培訓(xùn)內(nèi)容
- 2024年一級建造師之一建港口與航道工程實務(wù)題庫(培優(yōu))
- 園林植物識別-草本花卉的識別
- 2024年湖北宜昌高新區(qū)社區(qū)專職工作人員網(wǎng)格員招聘筆試參考題庫附帶答案詳解
- 【湘少版】(三起)三年級英語下冊(全冊)配套練習(xí)
- 裝修施工投標(biāo)書模板
- 2024年嘉興市眾業(yè)供電服務(wù)有限公司招聘筆試參考題庫含答案解析
- 技術(shù)創(chuàng)新與專利申請情況匯報
- 《民航概論》全套課件演示課件
- 公立醫(yī)院內(nèi)控管理制度
評論
0/150
提交評論