国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

SICP Python 描述 第三章 計算機程序的構造和解釋 3.1 引言

v1 / 3266人閱讀

摘要:為通用語言設計解釋器的想法可能令人畏懼。但是,典型的解釋器擁有簡潔的通用結構兩個可變的遞歸函數,第一個求解環境中的表達式,第二個在參數上調用函數。這一章接下來的兩節專注于遞歸函數和數據結構,它們是理解解釋器設計的基礎。

3.1 引言

來源:3.1 Introduction

譯者:飛龍

協議:CC BY-NC-SA 4.0

第一章和第二章描述了編程的兩個基本元素:數據和函數之間的緊密聯系。我們看到了高階函數如何將函數當做數據操作。我們也看到了數據可以使用消息傳遞和對象系統綁定行為。我們已經學到了組織大型程序的技巧,例如函數抽象,數據抽象,類的繼承,以及泛用函數。這些核心概念構成了堅實的基礎,來構建模塊化,可維護和可擴展的程序。

這一章專注于編程的第三個基本元素:程序自身。Python 程序只是文本的集合。只有通過解釋過程,我們才可以基于文本執行任何有意義的計算。類似 Python 的編程語言很實用,因為我們可以定義解釋器,它是一個執行 Python 求值和執行過程的程序。把它看做編程中最基本的概念并不夸張。解釋器只是另一個程序,它確定編程語言中表達式的意義。

接受這一概念,需要改變我們自己作為程序員的印象。我們需要將自己看做語言的設計者,而不只是由他人設計的語言用戶。

3.1.1 編程語言

實際上,我們可以將許多程序看做一些語言的解釋器。例如,上一章的約束傳播器擁有自己的原語和組合方式。約束語言是十分專用的:它提供了一種聲明式的方式來描述數學關系的特定種類,而不是一種用于描述計算的完全通用的語言。雖然我們已經設計了某種語言,這章的材料會極大擴展我們可解釋的語言范圍。

編程語言在語法結構、特性和應用領域上差別很大。在通用編程語言中,函數定義和函數調用的結構無處不在。另一方法,存在不包含對象系統、高階函數或類似whilefor語句的控制結構的強大的編程語言。為了展示語言可以有多么不同,我們會引入Logo作為強大并且具有表現力的編程語言的例子,它包含非常少的高級特性。

這一章中,我們會學習解釋器的設計,以及在執行程序時,它們所創建的計算過程。為通用語言設計解釋器的想法可能令人畏懼。畢竟,解釋器是執行任何可能計算的程序,取決于它們的輸入。但是,典型的解釋器擁有簡潔的通用結構:兩個可變的遞歸函數,第一個求解環境中的表達式,第二個在參數上調用函數。

這些函數都是遞歸的,因為它們互相定義:調用函數需要求出函數體的表達式,而求出表達式可能涉及到調用一個或多個函數。這一章接下來的兩節專注于遞歸函數和數據結構,它們是理解解釋器設計的基礎。這一章的結尾專注于兩個新的編程語言,以及為其實現解釋器的任務。

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/38162.html

相關文章

  • SICP Python描述 1.1 引言

    摘要:另一個賦值語句將名稱關聯到出現在莎士比亞劇本中的所有去重詞匯的集合,總計個。表達式是一個復合表達式,計算出正序或倒序出現的莎士比亞詞匯集合。在意圖上并沒有按照莎士比亞或者回文來設計,但是它極大的靈活性讓我們用極少的代碼處理大量文本。 1.1 引言 來源:1.1 Introduction 譯者:飛龍 協議:CC BY-NC-SA 4.0 計算機科學是一個極其寬泛的學科。全球的分布...

    xumenger 評論0 收藏0
  • SICP Python 描述 第二章 使用對象構建抽象 2.1 引言

    摘要:對象表示信息,但是同時和它們所表示的抽象概念行為一致。通過綁定行為和信息,對象提供了可靠獨立的日期抽象。名稱來源于實數在中表示的方式浮點表示。另一方面,對象可以表示很大范圍內的分數,但是不能表示所有有理數。 2.1 引言 來源:2.1 Introduction 譯者:飛龍 協議:CC BY-NC-SA 4.0 在第一章中,我們專注于計算過程,以及程序設計中函數的作用。我們看到了...

    phoenixsky 評論0 收藏0
  • SICP Python 描述 2.3 序列

    摘要:序列不是特定的抽象數據類型,而是不同類型共有的一組行為。不像抽象數據類型,我們并沒有闡述如何構造序列。這兩個選擇器和一個構造器,以及一個常量共同實現了抽象數據類型的遞歸列表。 2.3 序列 來源:2.3 Sequences 譯者:飛龍 協議:CC BY-NC-SA 4.0 序列是數據值的順序容器。不像偶對只有兩個元素,序列可以擁有任意(但是有限)個有序元素。 序列在計算機科學中...

    AlexTuan 評論0 收藏0
  • SICP Python 描述 1.2 編程元素

    摘要:程序用于在編程社群的成員之間交流這些想法。在編程中,我們處理兩種元素函數和數據。在中,我們可以使用賦值語句來建立新的綁定,它包含左邊的名稱和右邊的值。例如,它并不能處理賦值語句。這些圖解的必要部分是函數的表示。 1.2 編程元素 來源:1.2 The Elements of Programming 譯者:飛龍 協議:CC BY-NC-SA 4.0 編程語言是操作計算機來執行任務...

    CoorChice 評論0 收藏0
  • SICP Python 描述 第五章 序列協程

    摘要:消息向迭代器獲取所表示的底層序列的下一個元素。為了對方法調用做出回應,迭代器可以執行任何計算來獲取或計算底層數據序列的下一個元素。這個迭代器應擁有方法,依次返回序列中的每個元素,最后到達序列末尾時產生異常。 第五章 序列和協程 來源:Chapter 5: Sequences and Coroutines 譯者:飛龍 協議:CC BY-NC-SA 4.0 5.1 引言 在這一章中,我...

    leap_frog 評論0 收藏0

發表評論

0條評論

v1

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<