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ì)(論文)-wenkub.com

2025-01-15 15:07 本頁面
   

【正文】 (2)學(xué)??梢圆捎糜坝 ⒖s印或其他復(fù)制方式保存學(xué)位論文。在此向他表示我最衷心的感謝!感謝同班同學(xué)在課題研究初期給予的幫助在他們的幫助下課題才得以很好的展開,有了一個(gè)很好的開端,感謝寢室同學(xué)在測(cè)試中給予的幫助,因?yàn)樗麄兊膮f(xié)助才得以高效率的完成本課題!在論文完成過程中,本人還得到了其他老師和許多同學(xué)的熱心幫助,本人向他們表示深深的謝意!最后向在百忙之中評(píng)審本文的各位專家、老師表示衷心的感謝! 作者簡介: 出生年月:19821014 性別:男Email: fjy7 民族:漢族聲 明本論文的工作是2007年2月至2007年6月在成都信息工程學(xué)院網(wǎng)絡(luò)工程系完成的。[5] Basic教程[M].北京:人民郵電出版社。參考文獻(xiàn)[1] [M].南京:東南大學(xué)出版社出版,2002。圖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)行編程。i的值由所輸出的最長的一串字符串決定,具體獲取方法為:添加一個(gè)自動(dòng)縮放大小的label,將最長的字符串附給其Caption屬性,然后取得label的寬度除以15,即為i的值。添加的水平滾動(dòng)條的寬度也應(yīng)該能動(dòng)態(tài)的改變,以最寬的一行數(shù)據(jù)為水平滾動(dòng)條寬度的依據(jù)。要用計(jì)算機(jī)實(shí)現(xiàn)這一復(fù)雜的過程,對(duì)開發(fā)人員的邏輯思維能力要求甚高。讀取句子FHZ(0) = Emptyi = 0a = Mid(str, 1, 1)Do While a Empty FHZ(i) = a a = Mid(str, i + 2, 1) i = i + 1 FHZ(i) = EmptyLoopIf FHZ(0) = Empty Then Exit SubEnd IfFHZ(i) = FHZ(i + 1) = EmptyCall fenxi_chrEnd Sub現(xiàn)在我們把句型的右端部分逆向放入一分析堆棧中,使x1成為棧頂,利用分析棧,當(dāng)棧頂符號(hào)與輸入串當(dāng)前符號(hào)相匹配時(shí),則從棧頂刪除該符號(hào)。分析過程均用一維數(shù)組進(jìn)行保存。放入分析表Y軸放入分析表X軸終結(jié)符 文法可選集非終結(jié)符文法分析表放入分析表Y軸未出現(xiàn)在對(duì)應(yīng)規(guī)則右部首部的終結(jié)符 圖5 分析表構(gòu)造流程::=aβ規(guī)則對(duì)于A::=ab,(a206。查找WF(i,j+1)對(duì)應(yīng)的非終結(jié)符在文法的第幾行 If WF(i, j + 1) = WF(n, 0) Then Call first(n, fo) 在已經(jīng)得到文法select集的前提下,以次為依據(jù),對(duì)文法的三種類型的規(guī)則:A::=aβ型、A::=Dβ型、A::=ε型分別構(gòu)造分析表,并用一個(gè)三維數(shù)組保存。判斷是不是對(duì)文法起始符求follow集 For p = 0 To fo 39。For i = 0 To zj If WF(a, 1) = ZJF(i) Then 39。 用與臨時(shí)存放select集中元素的數(shù)組Public ZJF(50) As String 39。 文法的行數(shù)Public zj As Integer 39。由于消除左遞歸算法的復(fù)雜性和畢業(yè)設(shè)計(jì)時(shí)間所限,所以本軟件沒有這項(xiàng)功能,只是對(duì)直接左遞歸進(jìn)行錯(cuò)誤判斷。 文件路徑 = TrueOn Error GoTo err = Text(*.txt)|*.txt = 1 39。下面將對(duì)以上四個(gè)模塊的具體實(shí)現(xiàn)技術(shù)、數(shù)據(jù)結(jié)構(gòu)及關(guān)鍵程序片段進(jìn)行詳細(xì)的說明。本模塊包含了LL(1)算法中的大部分重要數(shù)據(jù)和信息,其中包括獲取輸入文法的終結(jié)符集和非終結(jié)符集,對(duì)文法中每一條規(guī)則求select集(select集的求解又包括求first集或者follow集),以及對(duì)select集合法性的判斷,即同一非終結(jié)符所對(duì)應(yīng)的不同規(guī)則的select集中不能有相同的終結(jié)符。,則置出錯(cuò),分析表中用空白表示。構(gòu)造LL(1)分析表的方法如下:::=ab,(a206。然后再把相應(yīng)的規(guī)則逆向壓入棧頂,替換原棧頂?shù)姆墙K結(jié)符。(2)當(dāng)x1206。(1)分析過程假設(shè)分析過程中當(dāng)前句型的右端部分為:x1x2…xm,(xi206。當(dāng)K=1時(shí),既是LL(1)分析方法。遞歸子程序調(diào)用時(shí),入口與出口的工作:(1)遞歸入口工作:①當(dāng)前返回地址送保護(hù)棧;②遞歸子程序中(調(diào)用程序)不允許被破壞的工作單元內(nèi)容送保護(hù)棧。,不得隨意公用。對(duì)于回溯現(xiàn)象,可以通過“左提因子方法”對(duì)文法進(jìn)行修改來消除。185。 bbaV222。Select(V ::=x)={x}。First(xk),則選擇規(guī)則A::=xk來作為推導(dǎo)的候選式。First(b),則可以選用規(guī)則A::=b進(jìn)行推導(dǎo)。該解決辦法是把文法中每個(gè)非終結(jié)符號(hào)A的右部稱為A的候選式,對(duì)候選式的選擇,則根據(jù)當(dāng)前輸入符號(hào)來決定。ND222。LL(1)文法:對(duì)于文法G(S),其每個(gè)非終結(jié)符的不同規(guī)則具有不相交的Select集,則稱該文法為LL(1)文法。直接左遞歸規(guī)則:型如U::=Uy的規(guī)則稱為直接左遞歸規(guī)則。非終結(jié)符:文法中出現(xiàn)在規(guī)則左部的符號(hào),它們組成的集合稱為非終結(jié)符集。BNF表示法:即巴科斯范式表示法,它引進(jìn)了符號(hào)“|”,符號(hào)“|”表示“或”。文法:對(duì)語言結(jié)構(gòu)的定義和描述,即在形式上用于描述和規(guī)定語言結(jié)構(gòu)。教學(xué)主要是對(duì)這些過程的講解和分析,沒有必要花這么多的時(shí)間來做這些工作。編譯程序是現(xiàn)代計(jì)算機(jī)系統(tǒng)的基本組成部分之一。關(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。在編譯原理的教學(xué)過程中,算法的講解都需要對(duì)算法進(jìn)行詳細(xì)的分析,包括算法條件的判斷,文法分析表的構(gòu)造過程,文法分析表的具體生成,針對(duì)文法的句子的分析過程等,這些過程往往需要占用大量時(shí)間來分析、制表等。(4)學(xué)??稍试S學(xué)位論文被查閱或借閱。除非另有說明,本文的工作是原始性工作。[7] Basic案例開發(fā)集錦[M].北京:電子工業(yè)出版社,2005。[3] 賀世娟, Basic 程序設(shè)計(jì)[M].北京:中國水利水電出版社出版。在數(shù)據(jù)的處理上我采用各模塊全數(shù)組操作,并且將最終結(jié)果通過字符串方式保存,通過字符串來向其他模塊傳送數(shù)據(jù),這種新的嘗試也讓我的程序帶有個(gè)人的風(fēng)格,讓我對(duì)編程的多樣化有了更深的了解和認(rèn)識(shí)。通過open對(duì)話框輸入正確的文法(圖8所示),把自己想輸入的文法通過正確格式書寫在TXT文檔中,運(yùn)行軟件后就可以選中該文件打開運(yùn)行。代碼如下: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。 解決結(jié)果在成功獲得select集后,對(duì)其進(jìn)行了輸出,結(jié)果如圖6所示:圖6 顯示select集 問題描述在VB中,系統(tǒng)提供的ListBox只有垂直滾動(dòng)條,而沒有水平滾動(dòng)條。 Do While (i, j, k) Empty Select Case (i, j, k) Case acc Exit Sub Case ε FXZ(a) = Empty Case /N FHZ(b) = 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集的求解。存放句子分析過程中的分析棧Dim FHZ(50) As String 39。當(dāng)b為e時(shí),即:A::=a,有:LL(A,a)=R(e)/N ::=Dβ規(guī)則對(duì)于A::=Db,(D206。在求解Select集完成后,結(jié)果按照非終結(jié)符放入分析表Y軸,沒有出現(xiàn)在對(duì)應(yīng)規(guī)則右部首部的終結(jié)符放入分析表Y軸,終結(jié)符放入分析表X軸等規(guī)則放置。判斷WF(i,j+1)是不是終結(jié)符 If WF(i, j + 1) = ZJF(m) Then For p = 0 To fo 39。判斷WF(i,j+1)在F()中是否已經(jīng)存在 If WF(a, 1) = F(p) Then b = 1 Exit For End If Next p If b = 1 Then b = 0 Else F(fo) = WF(a, 1) fo = fo + 1 F(fo) = Empty End If 求向前看集主要分兩種情況,一種是可以直接循環(huán)推導(dǎo)出終結(jié)符;第二種是推出的還是非終結(jié)符的,如果推出的還是非終結(jié)符的就循環(huán)對(duì)該非終結(jié)符再求向前看集;第三種情況是不能對(duì)該非終結(jié)符求向前看集,但是可以通過對(duì)該非終結(jié)符推導(dǎo)出的第二個(gè)非終結(jié)符求向前看集的方法求出終結(jié)符。 非終結(jié)符集設(shè)有文法G[S],并有規(guī)則A::=b,則該規(guī)則的可選集為:Select(A::
點(diǎn)擊復(fù)制文檔內(nèi)容
法律信息相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1