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

正文內(nèi)容

編譯原理課程設(shè)計(jì)--lr(1)分析和語義分析-預(yù)覽頁

2025-07-06 12:19 上一頁面

下一頁面
 

【正文】 4 4 圖 32 LR(1)項(xiàng)目集構(gòu)造 實(shí)現(xiàn)原理 LR 分析概述 一個(gè) LR 分析器由 3部分組成: ⑴總控程序也稱為驅(qū)動(dòng)程序。對(duì)我們今后的學(xué)習(xí)和工作都是至關(guān)重要的。因此,開發(fā)這樣的一套 LR(1)文法判定與預(yù)測(cè)分析器的構(gòu)造軟件 是很有必要的。 2 概述 設(shè)計(jì)背景 隨著科學(xué)技術(shù)的不斷提高,計(jì)算機(jī)科學(xué)日漸成熟,其強(qiáng)大的功能已為人們熟知,它已進(jìn)入人類社會(huì)的各個(gè)領(lǐng)域并發(fā)揮著越來越重要的作用。 課程設(shè)計(jì)說明書 課程名稱 :_ 編譯原理課程設(shè)計(jì) ___ 題目 : _ LR(1)分析和語義分析 ___ 院 系: 理學(xué)院 專業(yè)班級(jí): 信息與計(jì)算科學(xué) 112 班 學(xué) 號(hào): 2021304985 2021年 6 月 26 日 課程設(shè)計(jì)(論文)任務(wù)書 學(xué) 號(hào) 2021304985 學(xué)生姓名 高健 專業(yè)(班級(jí)) 信計(jì) 112 設(shè)計(jì)題目 LR(1)分析和語義分析 設(shè) 計(jì) 技 術(shù) 參 數(shù) 大家通過課程設(shè)計(jì),實(shí)現(xiàn)一些重要的算法,或設(shè)計(jì)一個(gè)完整的編譯程序模型,能夠進(jìn) 一步加深理解和掌握所學(xué)知識(shí),對(duì)提高自己的軟件設(shè)計(jì)水平具有十分重要的意義。這些優(yōu)點(diǎn)能夠極大地提高判定 LR(1)文法的效率,也是我們此次課程設(shè)計(jì)的目的。 通關(guān)本次課程設(shè)計(jì),我們對(duì)編譯原理的理解就不止停留在課本上,而是知道怎樣把編譯原理應(yīng)用到實(shí)際的編譯程序設(shè)計(jì)的實(shí)踐中。 (2)給定任意字符串判定是否是該文法的句子,并實(shí)現(xiàn)語義分析。它包括“動(dòng)作”和“狀態(tài)轉(zhuǎn)換”兩部分,都是用二維數(shù)組來表示。包括文法符號(hào)棧和相應(yīng)的狀態(tài)棧,它們均是先進(jìn)后出棧。 歸約項(xiàng)目 [A→α S,屬于初始項(xiàng)目集中,把“ ”作為向前搜索符,表示活前綴是γ(若γ是有關(guān) S 產(chǎn)生式的某一右部)要?dú)w約為 S 時(shí)必須面臨“ ”才行。 Bβ, a]屬于 closure(I) 且 B→η∈ P,則對(duì)任何 b∈ FIRST(βa),把原來不屬于 closure(I)中的項(xiàng)目 [B→ S, ])} FOR C 中的每個(gè)項(xiàng)目集 I和 G180。 ]屬于 Ik,則置 ACTION[k, ]為“接受”,記為“ acc” ⑷若 GO( Ik, A)= Ij,則置 GOTO[k, A] = j ⑸將空白格均置為“報(bào)錯(cuò)標(biāo)志” 類的說明 本程序共有五個(gè)類: 是主類,只包含主界面的標(biāo)題欄。 是分析字符串顯示分析結(jié)果的類,對(duì)界面進(jìn)行了布局。依據(jù)前面所說的測(cè)試對(duì)象,我們把測(cè)試劃分為幾個(gè)方面來進(jìn)行測(cè)試。E T,/ E→i,/ /+ I1: E’→E +F,//+ I3:T→FT +F,/+/ T→ +F,/+/ I6: T→T + import 。 import 。//狀態(tài)棧 private Stack yuyiStack。 private String yuyi。 private MapString,Object amap。 } private void setMessage(String str){ StringBuffer buffer=new StringBuffer()。 } public OperateData(String text){ //空的構(gòu)造方法 =text。 ()。 text=()。i=1。 MapString,String wMap0=new HashMapString,String()。,E)。 MapString,String wMap2=new HashMapString,String()。 (3,T)。 (T,F)。 (0,wMap0)。 (4,wMap4)。 (*,null)。 (T,2)。 (*,null)。 (T,null)。 (*,S6)。 (T,null)。 (*,r4)。 (T,null)。 (*,r5)。 (T,null)。 (*,null)。 編譯原理課程設(shè)計(jì) 14 14 (T,7)。 (*,null)。 (T,null)。 (*,S6)。 (T,null)。 (*,r3)。 (T,null)。 (2,amap2)。 (6,amap6)。 (步驟 )。 (剩余輸入串 )。 } public VectorVector getRowData(){ //返回 JTable 的列數(shù)據(jù) VectorVector rowData=new VectorVector()。 TOOL tools=new TOOL()。 int b=0。 state=(String)()。 } NT=(String)(input)。 ((yuyiStack))。 ()。 } if((S)){//移進(jìn) (i+)。//符號(hào)棧 ((inputStack))。 String inputHead=(String)()。 //步驟 ((stateStack))。//剩余輸入串 (NT)。 for(int j=1。 amap=(state)。 break。 if((E+T)){ a=((String)())。 ()。 b=((String)())。 } (wenfaleft)。//狀態(tài)棧 ((stateStack))。//剩余輸入串 (acc)。 break。 import 。 import 。 import 。 編譯原理課程設(shè)計(jì) 19 19 import 。 import 。 JButton button。 JLabel label。 container=()。 }else{ if(!((\\d[+])*\\d)){ (輸入的字符串非法 ,字符串格式如 :a+b*c)。 (new FocusListener(){ Override public void focusGained(FocusEvent e) { // TODO Autogenerated method stub ()。 (new FlowLayout())。 tip=new JLabel(輸入字符串 ,格式如 :a+b*c,)。 (panelTip,)。 (true)。由于 LR( 1)分析法程序是一個(gè)相當(dāng)復(fù)雜的程序,它需要利用到大量的編譯原理,編程技巧和
點(diǎn)擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計(jì)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1