国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

《編譯原理》中LR(0)語法分析動(dòng)態(tài)演示系統(tǒng)分析與設(shè)計(jì)

2020-04-08 09:30石鳳貴
電腦知識(shí)與技術(shù) 2020年3期
關(guān)鍵詞:源文件分析器文法

石鳳貴

摘要:《編譯原理》課程是高校計(jì)算機(jī)專業(yè)一門核心專業(yè)課,培養(yǎng)學(xué)生熟悉編譯程序的內(nèi)部結(jié)構(gòu)及原理,為從事軟件開發(fā)奠定基礎(chǔ),從而提升軟件人員的素質(zhì)和能力。LR(0)分析是構(gòu)造其他LR分析器的基礎(chǔ)。該文介紹了LR(0)語法分析可視化動(dòng)態(tài)演示系統(tǒng)的分析與設(shè)計(jì)。

關(guān)鍵詞:編譯原理;LR(0);文法

中圖分類號(hào):TP311

文獻(xiàn)標(biāo)識(shí)碼:A

文章編號(hào):1009-3044(2020)03-0083-02

1 背景

《編譯原理》是高等學(xué)校計(jì)算機(jī)專業(yè)的一門必修課,理論性比較強(qiáng),主要介紹程序設(shè)計(jì)語言翻譯的原理、技術(shù)及實(shí)現(xiàn)。計(jì)算機(jī)只能識(shí)別0和1所構(gòu)成的指令序列,高級(jí)計(jì)算機(jī)語言編寫的程序不能直接在機(jī)器上運(yùn)行,需要將源程序轉(zhuǎn)換為等價(jià)的目標(biāo)程序,這個(gè)轉(zhuǎn)換過程就是編譯。從源程序到目標(biāo)程序轉(zhuǎn)換的過程就是編譯過程,過程比較復(fù)雜,需要?jiǎng)澐譃槎鄠€(gè)階段將源程序由一種表現(xiàn)形式轉(zhuǎn)換為另一種形式,每個(gè)階段的操作在邏輯上是緊密相連的。編譯過程分為六個(gè)階段(如圖1所示):

2 LR(0)

LR(0)是一種“移進(jìn)一規(guī)約”自底向上的分析文法,當(dāng)棧頂符號(hào)串形成句柄時(shí)就采取規(guī)約,因此這種分析方法的關(guān)鍵是如何確定句柄。LR(k)分析方法是1965年Knuth提出的,參數(shù)k表示向右查看輸入串符號(hào)的個(gè)數(shù)。

LR(0)分析器由總控程序、分析表或分析函數(shù)、分析棧3個(gè)部分組成,其工作過程如圖2所示[1]。

LR(0)分析實(shí)例:

A.對(duì)文法G的產(chǎn)生式編號(hào):

(0)S-→E (4)A→d

(1) E→Aa

(5)B→Cb

(2) E→Bb

(6)B→d

(3) A→Ca

B.構(gòu)造這個(gè)文法的LR(O)分析表(如表1)[2][3]:C.對(duì)字符串bccd#用LR(O)分析器進(jìn)行分析(如表2):

3 系統(tǒng)總體設(shè)計(jì)

3.1 系統(tǒng)功能分析

本系統(tǒng)完成了對(duì)編譯原理相關(guān)知識(shí)的基本操作,采用人機(jī)交互界面,有一定的規(guī)范性,操作方便,比較直觀。主要功能有:

1)新建窗口,用于創(chuàng)建新的工程,也可打開演示工程。

2)在主窗口(一個(gè)類似VC的界面)中,可以編輯文法和源文件,系統(tǒng)并根據(jù)格式標(biāo)準(zhǔn)檢查輸入文檔是否有錯(cuò),若出錯(cuò)則產(chǎn)生提示。

3)生成對(duì)應(yīng)文法的分析表和狀態(tài)機(jī),并可以對(duì)狀態(tài)機(jī)進(jìn)行顯示類型的操作。

4)利用對(duì)應(yīng)文法的分析表對(duì)相應(yīng)的源文件進(jìn)行動(dòng)態(tài)分析,在這里顯示四個(gè)窗口——語法樹、源文件、堆棧、分析表,還可以進(jìn)行單步顯示,這樣利于觀察其變化;還可以通過窗口操作對(duì)窗口進(jìn)行“層疊”“平鋪”等操作。

3.2系統(tǒng)功能模塊框圖

3.3系統(tǒng)總體流程圖

4 系統(tǒng)詳細(xì)設(shè)計(jì)

4.1 生成LR(O)狀態(tài)機(jī)的程序流程圖

4.2 LR(O)分析過程程序流程圖

參考文獻(xiàn):

[1]姜淑娟,張辰,劉兵.編譯原理及實(shí)現(xiàn)[M].北京:清華大學(xué)出版社,2016.

[2]康慕寧,林奕,編譯原理[M].北京:人民郵電出版社,2010.

[3]黃賢英,王柯柯,曹瓊,編譯原理及實(shí)踐教程[M].北京:清華大學(xué)出版社,2019.

猜你喜歡
源文件分析器文法
關(guān)于1940 年尼瑪抄寫的《托忒文文法》手抄本
酒精分析器為什么能分辨人是否喝過酒
網(wǎng)絡(luò)社區(qū)劃分在軟件質(zhì)量問題分析中的應(yīng)用
基于源文件可疑度的軟件缺陷定位方法研究
多邊形電極線形離子阱質(zhì)量分析器的結(jié)構(gòu)與性能
Similarity measurement method of high-dimensional data based on normalized net lattice subspace①
A nearest neighbor search algorithm of high-dimensional data based on sequential NPsim matrix①
文法有道,為作文注入音樂美
LKJ基礎(chǔ)數(shù)據(jù)源文件自動(dòng)編制系統(tǒng)的研究
誤寫C源文件擴(kuò)展名為CPP的危害
五常市| 贵定县| 深水埗区| 高淳县| 涿鹿县| 定南县| 阿克苏市| 泸水县| 托克托县| 高雄县| 金湖县| 迭部县| 廊坊市| 蕲春县| 城口县| 姚安县| 建水县| 潢川县| 昆山市| 南皮县| 博客| 达日县| 丹巴县| 潼南县| 威远县| 太仓市| 麟游县| 蓬溪县| 沈丘县| 阜城县| 江陵县| 景谷| 湖北省| 平山县| 东阿县| 桂平市| 秦安县| 淮阳县| 枞阳县| 兴山县| 秭归县|