首頁考試吧論壇Exam8視線考試商城網(wǎng)絡(luò)課程模擬考試考友錄實(shí)用文檔求職招聘論文下載
2013中考
法律碩士
2013高考
MBA考試
2013考研
MPA考試
在職研
中科院
考研培訓(xùn) 自學(xué)考試 成人高考
四 六 級
GRE考試
攻碩英語
零起點(diǎn)日語
職稱英語
口譯筆譯
申碩英語
零起點(diǎn)韓語
商務(wù)英語
日語等級
GMAT考試
公共英語
職稱日語
新概念英語
專四專八
博思考試
零起點(diǎn)英語
托?荚
托業(yè)考試
零起點(diǎn)法語
雅思考試
成人英語三級
零起點(diǎn)德語
等級考試
華為認(rèn)證
水平考試
Java認(rèn)證
職稱計(jì)算機(jī) 微軟認(rèn)證 思科認(rèn)證 Oracle認(rèn)證 Linux認(rèn)證
公 務(wù) 員
導(dǎo)游考試
物 流 師
出版資格
單 證 員
報 關(guān) 員
外 銷 員
價格鑒證
網(wǎng)絡(luò)編輯
駕 駛 員
報檢員
法律顧問
管理咨詢
企業(yè)培訓(xùn)
社會工作者
銀行從業(yè)
教師資格
營養(yǎng)師
保險從業(yè)
普 通 話
證券從業(yè)
跟 單 員
秘書資格
電子商務(wù)
期貨考試
國際商務(wù)
心理咨詢
營 銷 師
司法考試
國際貨運(yùn)代理人
人力資源管理師
廣告師職業(yè)水平
衛(wèi)生資格 執(zhí)業(yè)醫(yī)師 執(zhí)業(yè)藥師 執(zhí)業(yè)護(hù)士
會計(jì)從業(yè)資格
基金從業(yè)資格
統(tǒng)計(jì)從業(yè)資格
經(jīng)濟(jì)師
精算師
統(tǒng)計(jì)師
會計(jì)職稱
法律顧問
ACCA考試
注冊會計(jì)師
資產(chǎn)評估師
審計(jì)師考試
高級會計(jì)師
注冊稅務(wù)師
國際內(nèi)審師
理財規(guī)劃師
美國注冊會計(jì)師
一級建造師
安全工程師
設(shè)備監(jiān)理師
公路監(jiān)理師
公路造價師
二級建造師
招標(biāo)師考試
物業(yè)管理師
電氣工程師
建筑師考試
造價工程師
注冊測繪師
質(zhì)量工程師
巖土工程師
造價員考試
注冊計(jì)量師
環(huán)保工程師
化工工程師
咨詢工程師
結(jié)構(gòu)工程師
城市規(guī)劃師
材料員考試
監(jiān)理工程師
房地產(chǎn)估價
土地估價師
安全評價師
房地產(chǎn)經(jīng)紀(jì)人
投資項(xiàng)目管理師
環(huán)境影響評價師
土地登記代理人
繽紛校園 實(shí)用文檔 英語學(xué)習(xí) 作文大全 求職招聘 論文下載 訪談|游戲
軟件水平考試
軟件水平考試資訊
軟件水平考試試題
軟件水平考試專項(xiàng)輔導(dǎo)
軟件水平考試交流互動
軟件水平考試交流互動
您現(xiàn)在的位置: 考試吧 > 軟件水平考試 > 復(fù)習(xí)資料 > 系統(tǒng)分析師 > 正文

2012年軟考系統(tǒng)分析師經(jīng)典教程:解釋程序

  2.3 解釋程序:

  所謂解釋程序是高級語言翻譯程序的一種,它將源語言(如BASIC)書寫的源程序作為輸入,解釋一句后就提交計(jì)算機(jī)執(zhí)行一句,并不形成目標(biāo)程序。就像外語翻譯中的“口譯”一樣,說一句翻一句,不產(chǎn)生全文的翻譯文本。這種工作方式非常適合于人通過終端設(shè)備與計(jì)算機(jī)會話,如在終端上打一條命令或語句,解釋程序就立即將此語句解釋成一條或幾條指令并提交硬件立即執(zhí)行且將執(zhí)行結(jié)果反映到終端,從終端把命令打入后,就能立即得到計(jì)算結(jié)果。這的確是很方便的,很適合于一些小型機(jī)的計(jì)算問題。但解釋程序執(zhí)行速度很慢,例如源程序中出現(xiàn)循環(huán),則解釋程序也重復(fù)地解釋并提交執(zhí)行這一組語句,這就造成很大浪費(fèi)。

  對源程序邊解釋翻譯成機(jī)器代碼邊執(zhí)行的高級語言程序。由于它的方便性和交互性較好,早期一些高級語言采用這種方式,如BASIC、dBASE。但它的弱點(diǎn)是運(yùn)行效率低,程序的運(yùn)行依賴于開發(fā)環(huán)境,不能直接在操作系統(tǒng)下運(yùn)行。

  解釋程序是一種語言處理程序,它直接執(zhí)行源程序或源程序的內(nèi)部形式。它并不產(chǎn)生目標(biāo)程序,這是它和編譯程序的主要區(qū)別。

  高級語言實(shí)現(xiàn)語言處理有4種方案:

  ◆ 源程序被直接解釋執(zhí)行。

  ◆ 先將源程序翻譯成高級中間代碼,然后再掃描和解釋執(zhí)行高級中間代碼。

  ◆ 先將源程序轉(zhuǎn)化成和機(jī)器代碼十分接近的低級中間代碼,再解釋執(zhí)行這種中間代碼。

  ◆ 源程序被最終翻譯成機(jī)器語言表示的目標(biāo)程序。這類系統(tǒng)的目標(biāo)程序執(zhí)行效率最高。

  翻譯系統(tǒng)與解釋系統(tǒng)比較:

  ◆ 翻譯系統(tǒng)在執(zhí)行速度上都優(yōu)于建立在解釋執(zhí)行基礎(chǔ)上的系統(tǒng);

  ◆ 翻譯系統(tǒng)的缺點(diǎn)是其復(fù)雜性高,這使得它的開發(fā)和維護(hù)費(fèi)用都大;

  ◆ 解釋系統(tǒng)比較簡單,可移植性較好,適合于以交互方式執(zhí)行程序;

  ◆ 解釋系統(tǒng)缺點(diǎn)是執(zhí)行速度慢;

  純粹的解釋和純粹的編譯都是極端,因此一般是兩種技術(shù)的結(jié)合,先將源程序編譯形成中間代碼,然后由解釋器解釋執(zhí)行。

  解釋系統(tǒng)的結(jié)構(gòu)可分成兩個部分。

  1.包括通常的詞法分析程序以及語法和語義分析程序,它的作用仍是把源程序翻譯成中間代碼,中間代碼的設(shè)計(jì)常采用逆波蘭(后綴)表示形式(符號在后面)。

  2.解釋部分,用來對第一部分所產(chǎn)生的中間代碼進(jìn)行解釋執(zhí)行,完成真正的解釋。

  工作過程

  解釋程序由一個總控程序和若干個執(zhí)行子程序組成。解釋程序的工作過程如下:首先,由總控程序執(zhí)行初始準(zhǔn)備工作,置工作初態(tài);然后,從源程序中取一個語句S,并進(jìn)行語法檢查。如果語法有錯,則輸出錯誤信息;否則,根據(jù)所確定的語句類型轉(zhuǎn)去執(zhí)行相應(yīng)的執(zhí)行子程序。返回后檢查解釋工作是否完成,如果未完成,則繼續(xù)解釋下一語句;否則,進(jìn)行必要的善后處理工作。

  適用范圍

  解釋程序的突出優(yōu)點(diǎn)是可簡單地實(shí)現(xiàn),且易于在解釋執(zhí)行過程中靈活、方便地插入修改和調(diào)試措施,但最大缺點(diǎn)是執(zhí)行效率很低。例如,需要多次重復(fù)執(zhí)行的語句,采用編譯程序時只需要翻譯一次;但在解釋程序中卻需要重復(fù)翻譯,重復(fù)執(zhí)行。根據(jù)這些特點(diǎn),解釋程序適用于如下場合:

 、儆行┱Z言中的大多數(shù)語句,如字符串加工語言中的字符串查找語句和加工語句,其執(zhí)行時間比翻譯時間長得多。對于這種語言,采用生成性方案,效果甚微,而采用解釋性方案則易于實(shí)現(xiàn)。

  ②為了便于用戶調(diào)試和修改程序,又能保證程序高效運(yùn)行,很多程序設(shè)計(jì)語言配置兩個加工系統(tǒng),一個用于調(diào)試,一個用于有效地運(yùn)行。調(diào)試用的系統(tǒng)一般用解釋程序?qū)崿F(xiàn),以便及時監(jiān)視運(yùn)行情況、動態(tài)地輸出調(diào)試信息和靈活地修改錯誤。

 、劢换ナ綍捳Z言(如BASIC,APL),要為用戶提供并行、交錯編寫、執(zhí)行、調(diào)試和修改源程序的功能。采用解釋程序易于實(shí)現(xiàn)這些功能。

  隨著超大規(guī)模集成電路的迅速發(fā)展,不少人提出用微程序設(shè)計(jì)方法實(shí)現(xiàn)高級程序設(shè)計(jì)語言解釋程序的想法,隨之出現(xiàn)了如 “FORTRAN機(jī)”之類的高級語言機(jī)器的概念。

1 2  下一頁

  相關(guān)推薦:

  2012年軟考系統(tǒng)分析師考試60天完美復(fù)習(xí)計(jì)劃

  2012年軟件水平考試網(wǎng)絡(luò)工程師章節(jié)筆記講義匯總

  2012年上半年軟件水平考試成績查詢匯總

文章搜索
軟件水平考試欄目導(dǎo)航
版權(quán)聲明:如果軟件水平考試網(wǎng)所轉(zhuǎn)載內(nèi)容不慎侵犯了您的權(quán)益,請與我們聯(lián)系800@exam8.com,我們將會及時處理。如轉(zhuǎn)載本軟件水平考試網(wǎng)內(nèi)容,請注明出處。