freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

一個(gè)編譯原理語法分析器的實(shí)現(xiàn)與設(shè)計(jì)一個(gè)編譯原理語法分析器的實(shí)現(xiàn)與設(shè)計(jì)—計(jì)算機(jī)畢業(yè)設(shè)計(jì)(論文)(編輯修改稿)

2025-02-14 15:07 本頁面
 

【文章內(nèi)容簡(jiǎn)介】 b = b + 1 a = a 1 Exit For Case /P a = a 1 Exit For Case Else FXZ(a) = (i, j, k) a = a + 1 FXZ(a) = Empty End Select k = k + 1 Loop4 特殊問題及解決方法在程序的開發(fā)過程中,遇到的問題及解決辦法如下: Select集的求解 問題描述在LL(1)分析方法中,select集的求解至關(guān)重要,其中又涉及到first集和follow集的求解。即使是人工求解,也經(jīng)常出現(xiàn)錯(cuò)誤,以至影響最終的結(jié)果。要用計(jì)算機(jī)實(shí)現(xiàn)這一復(fù)雜的過程,對(duì)開發(fā)人員的邏輯思維能力要求甚高。 解決方案通過參照編譯原理中first集和follow集的具體求解步驟,通過多重循環(huán)的嵌套,完成了select集的求解過程。 解決結(jié)果在成功獲得select集后,對(duì)其進(jìn)行了輸出,結(jié)果如圖6所示:圖6 顯示select集 問題描述在VB中,系統(tǒng)提供的ListBox只有垂直滾動(dòng)條,而沒有水平滾動(dòng)條。當(dāng)控件中某一行的數(shù)據(jù)超過ListBox的寬度時(shí),數(shù)據(jù)會(huì)顯示不完整。添加的水平滾動(dòng)條的寬度也應(yīng)該能動(dòng)態(tài)的改變,以最寬的一行數(shù)據(jù)為水平滾動(dòng)條寬度的依據(jù)。 解決方案利用 SendMessage 傳送 LB_SETHORIZONTALEXTENT 訊息給 ListBox,此一訊息的作用就是要求ListBox 設(shè)定水平滾動(dòng)條。代碼如下:Private Declare Function SendMessage Lib user32 Alias SendMessageA (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As LongPrivate Const LB_SETHORIZONTALEXTENT = amp。H194SendMessage , LB_SETHORIZONTALEXTENT, i, 0其中,List1為L(zhǎng)istBox的名稱;i為水平滾動(dòng)條的寬度,單位是 pixel(像素)。i的值由所輸出的最長(zhǎng)的一串字符串決定,具體獲取方法為:添加一個(gè)自動(dòng)縮放大小的label,將最長(zhǎng)的字符串附給其Caption屬性,然后取得label的寬度除以15,即為i的值。 解決結(jié)果運(yùn)行后的結(jié)果如圖7所示:圖7 ListBox的水平滾動(dòng)條5 結(jié)果測(cè)試在系統(tǒng)開發(fā)完成后,對(duì)系統(tǒng)各個(gè)功能做了詳細(xì)的測(cè)試,對(duì)于正確的文法,系統(tǒng)能正常的演示整個(gè)文法分析的每一個(gè)過程;對(duì)于預(yù)設(shè)置的錯(cuò)誤處理,系統(tǒng)也能給出正確的判斷,指出文法的錯(cuò)誤類型。通過open對(duì)話框輸入正確的文法(圖8所示),把自己想輸入的文法通過正確格式書寫在TXT文檔中,運(yùn)行軟件后就可以選中該文件打開運(yùn)行。圖8 Open對(duì)話框文法原形如圖9所示:圖9 輸入的文法對(duì)其進(jìn)行分析,結(jié)果如圖10所示:圖10 文法分析結(jié)果隨后即可得到文法的分析表(圖11),并以此為依據(jù),對(duì)輸入的句子進(jìn)行分析(圖12)。圖11 文法分析表圖12 句子分析過程句子錯(cuò)誤有2種情況:1.句子不符合文法,錯(cuò)誤提示如圖13所示:圖13 句子不符合文法(1)2.句子中有終結(jié)符以外的字符,錯(cuò)誤提示如圖14所示:圖14 句子不符合文法(2)結(jié) 論編譯原理是計(jì)算機(jī)專業(yè)中最難的一門課程,在理論上它要求學(xué)生掌握有關(guān)形勢(shì)語言和自動(dòng)機(jī)的抽象概念,在技術(shù)上要求學(xué)生能夠熟練地利用各種數(shù)據(jù)結(jié)構(gòu)進(jìn)行編程。尤其對(duì)于向前看集的算法實(shí)現(xiàn),我覺得是最難的一部分,因?yàn)樯婕暗降那闆r太多,循環(huán)和選擇句型的嵌套使用如果不仔細(xì)分析就容易出現(xiàn)錯(cuò)誤。在數(shù)據(jù)的處理上我采用各模塊全數(shù)組操作,并且將最終結(jié)果通過字符串方式保存,通過字符串來向其他模塊傳送數(shù)據(jù),這種新的嘗試也讓我的程序帶有個(gè)人的風(fēng)格,讓我對(duì)編程的多樣化有了更深的了解和認(rèn)識(shí)。通過《一個(gè)編譯原理語法分析器的設(shè)計(jì)與實(shí)現(xiàn)》的使用,希望在提高教學(xué)質(zhì)量的同時(shí),也能對(duì)同學(xué)們?cè)诰幾g原理的學(xué)習(xí)中起到幫助,讓大家更好的了解LL(1)算法的整個(gè)過程。參考文獻(xiàn)[1] [M].南京:東南大學(xué)出版社出版,2002。[2] [M].西安:西北工業(yè)大學(xué)出版社出版,2003。[3] 賀世娟, Basic 程序設(shè)計(jì)[M].北京:中國(guó)水利水電出版社出版。[4] [M].北京:機(jī)械工業(yè)出版社出版。[5] Basic教程[M].北京:人民郵電出版社。[6] Basic應(yīng)用與開發(fā)案例教程[M].北京:清華大學(xué)出版社。[7] Basic案例開發(fā)集錦[M].北京:電子工業(yè)出版社,2005。致 謝本文是在韓斌老師的熱情關(guān)心和指導(dǎo)下完成的,他淵博的知識(shí)和嚴(yán)謹(jǐn)?shù)闹螌W(xué)作風(fēng)使我受益匪淺,對(duì)順利完成本課題起到了極大的作用。在此向他表示我最衷心的感謝!感謝同班同學(xué)在課題研究初期給予的幫助在他們的幫助下課題才得以很好的展開,有了一個(gè)很好的開端,感謝寢室同學(xué)在測(cè)試中給予的幫助,因?yàn)樗麄兊膮f(xié)助才得以高效率的完成本課題!在論文完成過程中,本人還得到了其他老師和許多同學(xué)的熱心幫助,本人向他們表示深深的謝意!最后向在百忙之中評(píng)審本文的各位專家、老師表示衷心的感謝! 作者簡(jiǎn)介: 出生年月:19821014 性別:男Email: fjy7@ 民族:漢族聲 明本論文的工作是2007年2月至2007年6月在成都信息工程學(xué)院網(wǎng)絡(luò)工程系完成的。文中除了特別加以標(biāo)注地方外,不包含他人已經(jīng)發(fā)表或撰寫過的研究成果,也不包含為獲得成都信息工程學(xué)院或其他教學(xué)機(jī)構(gòu)的學(xué)位或證書而使用過的材料。除非另有說明,本文的工作是原始性工作。關(guān)于學(xué)位論文使用權(quán)和研究成果知識(shí)產(chǎn)權(quán)的說明:本人完全了解成都信息工程學(xué)院有關(guān)保管使用學(xué)位論文的規(guī)定,其中包括:(1)學(xué)校有權(quán)保管并向有關(guān)部門遞交學(xué)位論文的原件與復(fù)印件。(2)學(xué)??梢圆捎糜坝?、縮印或其他復(fù)制方式保存學(xué)位論文。(3)學(xué)??梢詫W(xué)術(shù)交流為目的復(fù)制、贈(zèng)送和交換學(xué)位論文。(4)學(xué)??稍试S學(xué)位論文被查閱或借閱。(5)學(xué)??梢怨紝W(xué)位論文的全部或部分內(nèi)容(保密學(xué)位論文在解密后遵守此規(guī)定)。除非另有科研合同和其他法律文書的制約,本論文的科研成果屬于成都信息工程學(xué)院。特此聲明!學(xué)位論文一個(gè)編譯原理語法分析器的實(shí)現(xiàn)與設(shè)計(jì)論文作者姓名:申請(qǐng)學(xué)位專業(yè):申請(qǐng)學(xué)位類別:指導(dǎo)教師姓名(職稱):論文提交日期:一個(gè)編譯原理語法分析器的實(shí)現(xiàn)與設(shè)計(jì)摘 要編譯程序一般由詞法分析程序、語法分析程序、語義分析程序、中間代碼生成程序、目標(biāo)代碼生成程序、代碼優(yōu)化程序、表格管理程序和出錯(cuò)處理程序等成分構(gòu)成。在編譯原理的教學(xué)過程中,算法的講解都需要對(duì)算法進(jìn)行詳細(xì)的分析,包括算法條件的判斷,文法分析表的構(gòu)造過程,文法分析表的具體生成,針對(duì)文法的句子的分析過程等,這些過程往往需要占用大量時(shí)間來分析、制表等。本軟件的主要任務(wù)就是利用程序來完成算法的上述相關(guān)過程,以達(dá)到高效,直觀的效果。本文旨在介紹語法分析方法中的一種自上而下的分析方法——LL(1)分析法。所謂LL(1)分析法是指語法分析是按自左至右的順序向前查看一個(gè)輸入字符串,并分析過程中產(chǎn)生句子的最左推導(dǎo)。關(guān)鍵詞:編譯;語法分析;LL(1)算法;演示 The Design and Implementation of A Syntax Analyzer based on Compilation Theory AbstractThe piler generally is made up of the lexical analyzer program, the syntax analysis program, the semantics analysis program, the interlanguage production procedure, the goal code production procedure, the code optimization procedure, the form executive program and the procedure of disposing mistakes. In the teaching process of piler principle, all algorithm explanation needs to be explain clearly, including algorithm condition judgment, grammar analytical table structure process, grammar analytical table concrete production, in view of grammar sentence analysis process and so on. These processes often take much time to analyze, the scheduling and so on. This program mainly work is to plete the algorithm which take advantage of the procedure to deal with those above mentioned processes , in order to save time. The paper aims at introducing a syntax analytical method named LL(1) algorithm which from the up to down. The syntax analyzer analyzes the character string beginning from the left to right one word each time and educes the most left deduction of the sentence in the analyze course..Key words: piler。 grammar analysis。 LL(1) algorithm。 demonstrate 目 錄論文總頁數(shù):22頁1引言 1 1 1 1 2 2 遞歸子程序 3 LL(K)分析方法 4 LL(1)分析方法 4(1)分析表 52 系統(tǒng)流程圖 6 6 系統(tǒng)模塊流程圖 73 系統(tǒng)實(shí)施 7 8 8 9 9 9 10 10 12 12::=aβ規(guī)則 13::=Dβ規(guī)則 13::=ε規(guī)則 13 13 14 144 特殊問題及解決方法 14 Select集的求解 15 問題描述 15 解決方案 15 解決結(jié)果 15 15 問題描述 15 解決方案 15 解決結(jié)果 165 結(jié)果測(cè)試 16 16 19結(jié) 論 20參考文獻(xiàn) 20致 謝 21聲 明 221引言編譯原理是計(jì)算機(jī)專業(yè)中最難的一門課程,在理論上它要求學(xué)生掌握有關(guān)形勢(shì)語言和自動(dòng)機(jī)的抽象概念,在技術(shù)上要求學(xué)生能夠熟練地利用各種數(shù)據(jù)結(jié)構(gòu)進(jìn)行編程。編譯程序是現(xiàn)代計(jì)算機(jī)系統(tǒng)的基本組成部分之一。編譯程序一般由詞法分析程序、語法分析程序、語義分析程序、中間代碼生成程序、目標(biāo)代碼生成程序、代碼優(yōu)化程序、表格管理程序和出錯(cuò)處理程序等成分構(gòu)成。在編譯原理的教學(xué)過程中,語法和語義分析階段關(guān)于算法的講解都需要對(duì)算法進(jìn)行詳細(xì)的分析,包括算法條件的判斷,文法分析表的構(gòu)造過程,文法分析表的具體生成,針對(duì)文法的句子的分析過程等。這些過程往往需要占用大量時(shí)間來分析、制表等。教學(xué)主要是對(duì)這些過程的講解和分析,沒有必要花這么多的時(shí)間來做這些工作。本軟件的主要任務(wù)就是利用程序來完成算法的上述相關(guān)過程,節(jié)約教學(xué)時(shí)間?!兑粋€(gè)編譯原理語法分析器的設(shè)計(jì)與實(shí)現(xiàn)》,并實(shí)現(xiàn)以下相關(guān)操作:(1)的要求(其中包括first集和follow集的求解)并判斷select集是否符合LL(1)算法的要求 語法分析:逐一分析詞法分析所得的屬性字,檢查其中的語法錯(cuò)誤,如果沒有發(fā)現(xiàn)語法錯(cuò)誤, 則給出正確的語法結(jié)構(gòu)。句子的分析:句子的分析實(shí)際就是分析源程序中的語句是否符合給定的文法。文法:對(duì)語言結(jié)構(gòu)的定義和描述,即在形式上用于描述和規(guī)定語言結(jié)構(gòu)。由若干條規(guī)則組成。規(guī)則:為一個(gè)二元組,通常格式為U::=x或U→x;其中U為規(guī)則的左部,是一個(gè)符號(hào);x是規(guī)則的右部,是一貫有窮字符串。規(guī)則又稱為產(chǎn)生式。BNF表示法:即巴科斯范式表示法,它引進(jìn)了符號(hào)“|”,符號(hào)“|”表示“或”。運(yùn)用符號(hào)“|”把相同左部的規(guī)則縮寫在一起,這樣顯得文法更為緊湊。文法G[Z]:規(guī)則的非空有窮集合,其中Z為文法的識(shí)別符號(hào)或開始符號(hào),它至少要在一條規(guī)則的左部出現(xiàn)。字匯表:在文法中,由全部規(guī)則的左部和右部中的所有符號(hào)組成的符號(hào)集。非終結(jié)符:文法中出現(xiàn)在規(guī)則左部的符號(hào),它們組成的集合稱
點(diǎn)擊復(fù)制文檔內(nèi)容
法律信息相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1