亚洲国产区中文,国产精品91高清,亚洲精品中文字幕久久久久,亚洲欧美另类久久久精品能播放

                  族譜網(wǎng) 頭條 人物百科

                  解釋器

                  2020-10-16
                  出處:族譜網(wǎng)
                  作者:阿族小譜
                  瀏覽:510
                  轉(zhuǎn)發(fā):0
                  評論:0
                  歷史第一個解釋器是由史帝芬·羅素(SteveRussell)寫成的LISP的解釋器,基于IBM704的機(jī)器代碼。解釋器與編譯器解釋器運(yùn)行程序的方法有:直接運(yùn)行高級編程語言(如Shell內(nèi)置的解釋器)轉(zhuǎn)換高級編程語言碼到一些有效率的字節(jié)碼(Bytecode),并運(yùn)行這些字節(jié)碼以解釋器包含的編譯器對高級語言編譯,并指示處理器運(yùn)行編譯后的程序(例如:JIT)Perl,Python,MATLAB,與Ruby是屬于第二種方法,而UCSDPascal則是屬于第三種方式。在翻譯的過程中,這組高級語言所寫成的程序仍然維持在源代碼的格式(或某種中繼語言的格式),而程序本身所指涉的動作或行為則由解釋器來表現(xiàn)。使用解釋器來運(yùn)行程序會比直接運(yùn)行編譯過的機(jī)器碼來得慢,但是相對的這個解釋的行為會比編譯再運(yùn)行來得快。這在程序開發(fā)的雛型化階段和只是撰寫試驗性的代碼時尤其來得重要,因為這個“編輯-解釋-除錯”的循環(huán)通常比“...

                  歷史

                  第一個解釋器是由史帝芬·羅素(Steve Russell)寫成的LISP的解釋器,基于IBM 704的機(jī)器代碼。

                  解釋器與編譯器

                  解釋器運(yùn)行程序的方法有:

                  直接運(yùn)行高級編程語言(如Shell內(nèi)置的解釋器)

                  轉(zhuǎn)換高級編程語言碼到一些有效率的字節(jié)碼(Bytecode),并運(yùn)行這些字節(jié)碼

                  以解釋器包含的編譯器對高級語言編譯,并指示處理器運(yùn)行編譯后的程序(例如:JIT)

                  Perl,Python,MATLAB,與Ruby是屬于第二種方法,而UCSD Pascal則是屬于第三種方式。在翻譯的過程中,這組高級語言所寫成的程序仍然維持在源代碼的格式(或某種中繼語言的格式),而程序本身所指涉的動作或行為則由解釋器來表現(xiàn)。

                  使用解釋器來運(yùn)行程序會比直接運(yùn)行編譯過的機(jī)器碼來得慢,但是相對的這個解釋的行為會比編譯再運(yùn)行來得快。這在程序開發(fā)的雛型化階段和只是撰寫試驗性的代碼時尤其來得重要,因為這個“編輯-解釋-除錯”的循環(huán)通常比“編輯-編譯-運(yùn)行-除錯”的循環(huán)來得省時許多。

                  在解釋器上運(yùn)行程序比直接運(yùn)行編譯過的代碼來得慢,是因為解釋器每次都必須去分析并翻譯它所運(yùn)行到的程序行,而編譯過的程序就只是直接運(yùn)行。這個在運(yùn)行時的分析被稱為"解釋式的成本"。在解釋器中,變量的訪問也是比較慢的,因為每次要訪問變量的時候它都必須找出該變量實際存儲的位置,而不像編譯過的程序在編譯的時候就決定好了變量的位置了。

                  在使用解釋器來達(dá)到較快的開發(fā)速度和使用編譯器來達(dá)到較快的運(yùn)行進(jìn)度之間是有許多妥協(xié)的。有些系統(tǒng)(例如有一些LISP)允許解釋和編譯的代碼互相調(diào)用并共享變量。這意味著一旦一個子程序在解釋器中被測試并除錯過之后,它就可以被編譯以獲得較快的運(yùn)行進(jìn)度。許多解釋器并不像其名稱所說的那樣運(yùn)行原始代碼,反而是把原始代碼轉(zhuǎn)換成更壓縮的內(nèi)部格式。舉例來說,有些BASIC的解釋器會把保留字取代成可以用來在轉(zhuǎn)移表中找出相對應(yīng)指令的單一字節(jié)符號。解釋器也可以使用如同編譯器一般的文字分析器和語法分析器然后再翻譯產(chǎn)生出來的抽象語法樹。

                  可攜性佳,解釋式程序相較于編譯式程序有較佳的可攜性,可以容易的在不同軟硬件平臺上運(yùn)行。而編譯式程序經(jīng)過編譯后的程序則只限定于運(yùn)行在開發(fā)環(huán)境平臺。

                  字節(jié)碼解釋器

                  考量程序運(yùn)行之前所需要分析的時間,存在了一個介于解釋與編譯之間的可能性。例如,用Emacs Lisp所撰寫的源代碼會被編譯成一種高度壓縮且最優(yōu)化的另一種Lisp源代碼格式,這就是一種字節(jié)碼(bytecode),而它并不是機(jī)器碼(因此不會被綁死在特定的硬件上)。這個"編譯過的"碼之后會被字節(jié)碼直譯器(使用C寫成的)翻譯。在這種情況下,這個"編譯過的"碼可以被說成是虛擬機(jī)(不是真的硬件,而是一種字節(jié)碼解釋器)的機(jī)器碼。這個方式被用在Open Firmware系統(tǒng)所使用的Forth代碼中:原始程序?qū)痪幾g成"F code"(一種字節(jié)碼),然后被一個特定平臺的虛擬機(jī)解釋和運(yùn)行。

                  即時編譯

                  即時編譯(Just-in-time compilation)是指一種在運(yùn)行時期把字節(jié)碼編譯成原生機(jī)器碼的技術(shù);這項技術(shù)是被用來改善虛擬機(jī)的性能的。該技術(shù)在近幾年來才開始獲得重視,而它后來模糊了解釋、字節(jié)碼解釋及編譯的差異性。在.NET和Java的平臺上都有用到JIT的技術(shù)。大約在1980年代Smalltalk語言出現(xiàn)的時候JIT的技術(shù)就存在了。

                  一個簡單的解釋器的例子

                  在文學(xué)編程文章中有一個簡單的程序和一個解釋器。

                  打孔卡讀卡器

                  “interpreter”這個字眼有時候是指一些可以讀取打孔卡的機(jī)器。這些機(jī)器可以讀取卡片上的孔并以人們讀得懂的格式打印出來。IBM 550數(shù)字讀卡器和IBM 557字母讀卡器是主要的兩個例子。

                  有使用解釋器的計算機(jī)程序語言

                  AWK

                  BASIC

                  JavaScript

                  LISP

                  Shell

                  Perl

                  Prolog

                  Ruby

                  Python

                  PHP Hypertext Preprocessor

                  參見

                  partial evaluation ( 英語 : partial evaluation )

                  解釋語言

                  編譯語言

                  dynamic compilation ( 英語 : dynamic compilation ) including the section on incremental compilation.

                  Threaded code ( 英語 : Threaded code ) , a compact form of code that depends on a simple interpreter.

                  Metacircular Interpreter ( 英語 : Metacircular Interpreter )

                  . find an interpreter in Australia

                  本條目部分或全部內(nèi)容出自以GFDL授權(quán)發(fā)布的《自由在線電腦詞典》(FOLDOC)。


                  免責(zé)聲明:以上內(nèi)容版權(quán)歸原作者所有,如有侵犯您的原創(chuàng)版權(quán)請告知,我們將盡快刪除相關(guān)內(nèi)容。感謝每一位辛勤著寫的作者,感謝每一位的分享。

                  ——— 沒有了 ———
                  編輯:阿族小譜

                  更多文章

                  更多精彩文章
                  評論 {{commentTotal}} 文明上網(wǎng)理性發(fā)言,請遵守《新聞評論服務(wù)協(xié)議》
                  游客
                  發(fā)表評論
                  • {{item.userName}} 舉報

                    {{item.content}}

                    {{item.time}} {{item.replyListShow ? '收起' : '展開'}}評論 {{curReplyId == item.id ? '取消回復(fù)' : '回復(fù)'}}

                    回復(fù)評論
                  加載更多評論
                  打賞作者
                  “感謝您的打賞,我會更努力的創(chuàng)作”
                  — 請選擇您要打賞的金額 —
                  {{item.label}}
                  {{item.label}}
                  打賞成功!
                  “感謝您的打賞,我會更努力的創(chuàng)作”
                  返回
                  打賞
                  私信

                  推薦閱讀

                  · 管仲之器小哉解釋管仲隰朋從于桓公內(nèi)容介紹
                  管仲是我國春秋時期著名的軍事家,政治家,思想家。孔子曾說過:“管仲之器小哉。”這句話的意思是說管仲這個人器量很小,那孔子為什么會這樣說管仲呢?管仲作為我國春秋時期的名相,他幫助齊桓公成為了春秋霸主,同時也幫助齊國成為春秋時期最強(qiáng)大的國家。對于齊國來說,管仲為他們國家出謀劃策才使得他們國家變得富強(qiáng)了,既然如此,那么作為春秋時期諸子百家中最有名望的孔子為什么會覺得“管仲之器小哉”呢?《論語》記載子曰:“管仲之器小哉!”或曰:“管仲儉乎?”曰:“管氏有三歸,官事不攝,焉得儉?”“然則管仲知禮乎?”曰:“邦君樹塞門,管氏亦樹塞門;邦君為兩君之好,有反坫,管氏亦有反坫。管氏而知禮,孰不知禮?”這段話充分翻譯為:孔子說:“管仲這個人器量真是小啊”問:“管仲知道儉嗎?孔子回答:“管仲有三位妻子,怎么會知儉。”問:“管仲懂禮節(jié)嗎?”孔子就回答:“皇帝門前的門塞他家門前也有,君主用來設(shè)宴招待外國使節(jié)的酒杯,...
                  · 古籍解釋
                  清代陳昌治刻本說文解字【卷六】【邑部】祁太原縣。從邑示聲。巨支切清代段玉裁說文解字注大原縣。二志同。前志曰:晉大夫賈辛邑。按賈辛為祁大夫。見左傳昭廿八年。前此巳有祁奚,祁午,祁盈,祁勝,以邑為氏。今山西太原府祁縣縣東南七里有故祁城,漢縣治也。毛傳於吉日云:祁,大也。於采,大田云:祁祁,舒遟也。祁祁,徐皃也。於七月云:祁祁,眾多也。皆與本義不相關(guān)。從邑示聲。巨支切。按古音在十五部。當(dāng)依廣韻渠脂切。
                  · 解釋型語言
                  解釋型語言列表LISPPerlPythonRubyJavaScriptHTML參見腳本語言編譯語言
                  · 法律解釋
                  基本原則條文的意義由于成文法無法完全明確而且具體的對所有情況進(jìn)行規(guī)定,因此司法機(jī)構(gòu)在具體案件中必須解釋法律條文應(yīng)該如何運(yùn)用。成文法含有不確定意義的原因有多種:文字在表達(dá)意圖時是不完美的符號。文字的意義具有不準(zhǔn)確性,并且隨著時間的變遷文字的含義會有所改變。發(fā)生沒有預(yù)見的情況是不可避免的,而新的科技和文化使得運(yùn)用已有的法律出現(xiàn)困難。法律訂立的過程會對法律注入不確定性,例如由于政治妥協(xié)或者同時滿足不同利益集團(tuán)的原因。因此,法庭必須通過解讀法律來判斷法律應(yīng)該如何執(zhí)行。在幾乎所有法律體系中,法律解讀的重要原則是(在合乎憲法的前提下)立法機(jī)構(gòu)訂立法律時是最高機(jī)構(gòu),司法機(jī)構(gòu)的職權(quán)限于解釋法律。但實際操作上,司法機(jī)構(gòu)對法律的解讀可能對法律的運(yùn)行造成深遠(yuǎn)的改變。在法律解釋過程中,法院必須研究法律條文,并判斷其意義。立法機(jī)構(gòu)訂立的成文法律改變?nèi)嗣竦呢?zé)任和生活規(guī)則,而司法機(jī)構(gòu)通過法律解釋解決法律在具體情況下的運(yùn)...
                  · 解釋學(xué)
                  古典時期作為一門理論來研究。解釋學(xué)是由19世紀(jì)德國哲學(xué)家F.E.D.施萊爾馬赫(1768~1834)和W.狄爾泰在前人研究的基礎(chǔ)上開創(chuàng)的。施萊爾馬赫致力于圣經(jīng)釋義學(xué)中的科學(xué)性和客觀性問題的研究,提出了有關(guān)正確理解和避免誤解的普遍性理論,使神學(xué)的解釋成為普遍解釋理論的一種具體運(yùn)用。狄爾泰被看作是西方傳統(tǒng)解釋學(xué)的集大成者,他仿效為自然科學(xué)奠定哲學(xué)基礎(chǔ)的I.康德的"純粹理性批判",提出了作為"歷史理性批判"的解釋學(xué)。他所關(guān)心的中心課題是:處于具體歷史情境中的解釋學(xué)如何能對其他歷史性的表現(xiàn)進(jìn)行客觀的理解。他認(rèn)為自然科學(xué)中的因果"說明"原則與精神科學(xué)中的"理解"原則根本對立,彼此各有其適用范圍,互不逾越。他還把文化現(xiàn)象中的"理解"看作是一個生命(作品解釋者)"進(jìn)入"另一個生命(作品創(chuàng)作者)的過程。也就是說,一切社會文化現(xiàn)象都相當(dāng)于在種種符號中固定化了的生命表現(xiàn),理解這些現(xiàn)象就相當(dāng)于把握符號創(chuàng)造者的主...

                  關(guān)于我們

                  關(guān)注族譜網(wǎng) 微信公眾號,每日及時查看相關(guān)推薦,訂閱互動等。

                  APP下載

                  下載族譜APP 微信公眾號,每日及時查看
                  掃一掃添加客服微信