程序語言基礎:解釋程序基本原理筆記

1、解釋程序的概念

解釋程序是在運行用戶程序時,直接執行源程序或源程序的中間表示。解釋程序不產生源程序的目標程序。

解釋程序實現高級語法的三種方式如下圖:

? ? ? ? ? ? ?

方式A:直接對整個源程序進行逐個字符的檢查、進行詞法、語法分析和語義分析后就執行程序語句規定的動作。特點是反復掃描源程序來實現程序的運行效率很低。

方式B:解釋程序先將源程序翻譯成某種中間代碼形式,然后對中間代碼進行解釋和實現用戶程序的運行。

方式C:解釋程序采用的中間代碼更接近機器語言。

2、解釋程序的結構

解釋程序分為:分析部分、解釋部分。

分析部分:主要包括詞法分析、語法分析、語義分析程序。把源程序翻譯成中間代碼,中間代碼常采用逆波蘭方式表示。

解釋部分:對解釋部分的中間代碼進行解釋執行。

3、編譯與解釋方式對比

對比內容

編譯方式

解釋方式

效率

編譯翻譯一次多次運行,效率高

需要反復掃描源程序,效率低

靈活性

靈活性高

靈活性低

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/271608.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/271608.shtml
英文地址,請注明出處:http://en.pswp.cn/news/271608.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

微軟登錄界面加載不出_微軟要硬了,做出這個目前最好用的瀏覽器

眾所周知,微軟能打造出一個全球通用的系統,但就是做不出一個能用的瀏覽器。IE 瀏覽器的黑歷史就不提了,即使后來洗心革面,推出了基于 Win 10 的 Edge 瀏覽器,也還是難以挽尊市場份額甚至不如老前輩 IE。Edge 雖然功能比…

阻塞隊列(BlockingQueue)

阻塞隊列(BlockingQueue)是一個支持兩個附加操作的隊列。這兩個附加的操作是:在隊列為空時,獲取元素的線程會等待隊列變為非空。當隊列滿時,存儲元素的線程會等待隊列可用。阻塞隊列常用于生產者和消費者的場景,生產者是往隊列里添…

一維數組對象轉成二維數組

一、關于PHP把裝著item為對象的一維數組轉成二維數組的疑問 背景:新增帖子的時候,選擇標簽時,可以選擇多個,后端接口是需要傳入的是一個二維數組。 /*** Title 修改精選內容* Params $id 記錄ID* Params $tags …

android自定義控件是一個 內部類 如何在xml中引用,android?自定義view屬性

android自定義view屬性一個完美的自定義控件也可以添加xml來配置屬性和風格。要實現這一點,可按照下列步驟來做:1) 添加自定義屬性到xml文件中2) 在xml的中,指定屬性的值3) 在view中獲取xml中的值4) 將獲取的值應用到view中下面繼續舉例說明&…

電腦操作系統維護10條基礎知識!

電腦操作系統是電腦的核心,我們平時如何維護電腦操作系統?下面是小編分享是電腦系統維護基礎知識,一起來看一下吧。1、經常進行“磁盤清理”和磁盤碎片整理”當硬盤用久了,無數次的新增、更改和刪除程序和文件后,就會造成很多斷斷…

光子瀏覽器_煙臺招聘信息煙臺光子信息科技有限公司招聘(五險一金,餐補)...

↑煙臺招聘信息網點擊關注哦匯集煙臺市招聘信息,含蓋煙臺人才網,煙臺招聘會,煙臺招聘網、煙臺優秀企業、事業單位等優質工作崗位及招聘信息,煙臺求職找工作和煙臺兼職資訊平臺… 【溫馨提示】:因網絡詐騙現象較多&…

DES加密

DES采用了64位的分組長度和56位的密鑰長度,是對稱加密的一種。 DES的理論進化主線是 1945年Shannon大神提出的交替使用混淆(使密文與密鑰的統計關系變復雜)和擴散(使明文與密文的統計關系變復雜)的乘積密碼&#xff08…

計算機系統基礎:輸入輸出技術知識筆記

1、內存與接口的編址方式 1.1 內存和接口地址獨立編址方法 內存地址和接口地址是兩個完全獨立和相互隔離的地址空間。訪問數據的指令也不同,接口只有讀寫指令,其余都是內存指令。 特點:接口和內存指令容易區分,但接口指令太少、功…

小米max2 android p,這就是小米Max2?6.4英寸超大屏幕配置大升級

標簽:小米手機(3463)小米(3233)雖說今年上半年小米6的重磅機型會是小米6,但隨著小米Max在官方商城的下架,這款巨屏手機的更新換代產品已經在網絡上浮出水面。根據知名圖形測試網站GFXBench最新公布的信息顯示,一款代號為Oxygen的小…

winform直接控制云臺_速學指南,2分鐘學會Feiyu pocket口袋云臺的隱藏功能操作

上周三,Feiyu pocket口袋云臺相機正式發布,重量僅115g,單手可持,可拍攝 4K/60fps高清畫面;6軸混合防抖技術加持,賦予軌跡延時、全域模式、慢動作、全跟隨等模式更專業、高效的拍攝體驗。Feiyu pocket口袋云…

Python中處理DataFrame,R繪圖

IN Pythonfrom pandas import DataFrame,Seriesimport pandas as pdimport numpy as npdata pd.read_csv(rC:\Users\lxy\Desktop\工作相關\工作報告KPI\pydata-book-master\ch06\ex5.csv)data.index.namexdata.to_csv(D:\df.csv)IN R> library(ggplot2)> df <- read.…

ThreadPoolTaskExecutor和ThreadPoolExecutor區別

初學者很容易看錯&#xff0c;如果沒有看到spring或者JUC源碼的人肯定是不太了解的。 ThreadPoolTaskExecutor是spring core包中的&#xff0c;而ThreadPoolExecutor是JDK中的JUC。ThreadPoolTaskExecutor是對ThreadPoolExecutor進行了封裝處理。 ThreadPoolExecutor ThreadP…

電腦技巧:如何解決大部分的電腦防彈窗廣告

相信很多人都有這種情況&#xff0c;打開電腦,電腦上全部各種廣告彈窗,或者在辦公、追劇的時候,電腦突然就彈出了一條&#xff0c;是不是很煩人&#xff0c;這幾招不用借助軟件&#xff0c;就能解決彈窗的方法不防一試。 方法一&#xff1a; 第一種方法&#xff0c;可以對付部分…

c 跨平臺android,Unity 使用C/C++ 跨平臺終極解決方式(PC,iOS,Android,以及支持C/C++的平臺)...

PC的事實上根本不用說&#xff0c;畢竟C#和C交互的文章已經夠多了&#xff0c;當然我自覺得經過幾次折騰后。差點兒全部游戲須要到的操作我都掌握了(各種傳參方法&#xff0c;各種坑&#xff0c;不懂的能夠留言問。盡管基本上沒人看。哈哈)廢話不多說&#xff0c;我們主要來講兩…

hades武器第四形態解鎖_凱多的第四個技能預告——冰凍!

在《海賊王》中&#xff0c;四皇凱多被譽為“海陸空最強生物”&#xff0c;能夠變成神龍&#xff0c;如果不出意外的話&#xff0c;凱多應該是動物系幻獸種神龍果實的能力者。畢竟凱多的海賊團就叫做“百獸海賊團”&#xff0c;手下也都是動物系果實能力者&#xff0c;能夠降服…

解決git@github.com: Permission denied (publickey). fatal: Could not read from remote repository. Pleas

今天用idea提交代碼到github上,push后報錯 gitgithub.com: Permission denied (publickey). fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists. 一:原因分析 Permission denied (publickey) 沒…

轉載------------java equals 方法

作者&#xff1a;海子出處&#xff1a;http://www.cnblogs.com/dolphin0520/淺談Java中的equals和 在初學Java時&#xff0c;可能會經常碰到下面的代碼&#xff1a; 1 String str1 new String("hello"); 2 String str2 new String("hello"); 3 …

計算機系統基礎:校驗碼知識筆記

1、校驗碼概念 校驗碼主要是為了解決計算機各部件進行數據傳輸和交換&#xff0c;確保傳送過程的正確無誤&#xff0c;一是為了提高硬件電路的可靠性&#xff0c;二是提高代碼的校驗能力。通常會用校驗碼來檢查傳送的數據是否正確。 校驗碼編碼分為兩類&#xff1a;合法編碼、錯…

qml與HTML數據交互,GitHub - toby20130333/QtQuickHtmlBridge: 基于QtQuick的C++,qml,Html三者的Bridge交互...

基于QtQuick的C,qml,Html三者的Bridge交互主要功能自定義C對象并注冊到QML可以在QML中繼續擴展C對象的屬性和方法 信號等將C對象注入到WebChannelHtml中引入C對象JavaScript與C直接交互示例代碼說明main.cpp://該實例必須直接繼承自Object的 QWidget的忽略qmlRegisterType(&quo…