程序设计语言理论课件.pptx

程序设计语言理论课件.pptx

此“教育”领域文档为创作者个人分享资料,不作为权威性指导和指引,仅供参考
  1. 1、本文档共530页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

程式設計語言理論

第1章引言本章介紹一個非常簡單的,以自然數和布爾值作為基本類型的,基於類型化?演算的語言,介紹該語言的語法、操作語義和它在程式設計中的能力主要議題如下:?表示法和?演算系統概述類型和類型系統的扼要討論基於運算式的歸納、基於證明的歸納和良基歸納

1.1基本概念1.1.1模型語言對程式設計語言進行數學分析通常是從設計模型語言開始 突出感興趣的程式構造,忽略一些無關的細節程式設計語言形式化為兩部分能抓住該語言本質機制的一個非常小的核心演算:?演算理解導出部分:通過把它們翻譯成核心演算用類型化?演算的框架來研究程式設計語言的各種概念

1.1基本概念1.1.2?表示法?表示法的主要特徵?抽象:用於定義函數?應用:使用定義的函數例(自然數類型上的幾個例子)恒等函數:?x:nat.x (Id(x:nat)=x)後繼函數:?x:nat.x?1常函數:?x:nat.10?x:nat.x?true不是合式運算式?表示法寫出的運算式叫做?運算式或?項

1.1基本概念?項?x:?.M和謂詞演算公式?x:A.??是一個約束算子x是一個占位符,約束變元,可以重新命名?約束變元而不改變運算式的含義在?x:?.x+y中,x的出現是約束的,y的出現是自由的不含自由變元的運算式稱為閉運算式用項的並置來表示函數應用(?x:nat.x)5(?x:nat.x)5?5

1.1基本概念一個例子(?x.(?y.?z.(x+y)+z)3)45=(?x.?z.(x+3)+z)45=(?z.(4+3)+z)5=(4+3)+5=12

1.1基本概念?表示法中有兩個約定函數應用是左結合的 MNP應看成(MN)P每個?的約束範圍盡可能地大,一直到運算式的結束或碰到不能配對的右括弧為止例?x:?.MN解釋為?x:?.(MN),而不是(?x:?.M)N?x:?.?y:?.MN是?x:?.(?y:?.(MN))的簡寫(((?x:?.(?y:?.(?z:?.M)))N)P)Q可以簡寫為 (?x:?.?y:?.?z:?.M)NPQ

1.2等式、歸約和語義?表示法是?演算的一部分,?演算是關於?運算式的一個推理系統除了語法外,這個形式系統有三個主要部分公理語義:推導運算式之間等式的一個形式系統操作語義:基於一個方向的等式推理(歸約、符號計算) 兩者都稱為證明系統指稱語義:形式系統的模型

1.2等式、歸約和語義1.2.1公理語義一個等式公理系統約束變元改名公理(?公理)?x:?.M??y:?.?y?x?M,M中無自由出現的y?N?x?M表示M中的x用運算式N代換的結果例如?x:?.x??y:?.y函數應用公理(?公理)(?x:?.M)N?[N/x]M例如(?x:nat.x+4)4?[4/x](x+4)?4+4

1.2等式、歸約和語義自反公理對稱性規則、傳遞性規則同餘規則相等的函數作用於相等的變元產生相等的結果等式證明規則允許推導任何一組等式前提的邏輯推論M1=M2,N1=N2M1N1=M2N2

1.2等式、歸約和語義1.2.2操作語義語言的操作語義可用不同的方式給出定義一個抽象機,通過一系列的機器狀態變換來計算程式演繹出最終結果的證明系統前面所列的等式公理的單向形式給出了歸約規則最核心的歸約規則是(?)的單向形式 (?x:?.M)N??[N/x]M通常沒有?歸約規則?x:?.M???y:?.?y?x?M

1.2等式、歸約和語義1.2.3指稱語義先確定指稱物,然後給出語言成分到指稱物的語義映射,這個映射要滿足:每個成分都有對應的指稱物複合成分的指稱只依賴於它的子成分的指稱類型化?演算的指稱語義每個類型運算式對應到一個集合類型?的項解釋為其值集上的一個元素類型???的值集是函數集合,項?x:?.M解釋為一個數學函數

1.3類型和類型系統類型提供了所有可能值的全體的一種分類:一個類型是一群有某些公共性質的值對於不同的類型系統,類型的多少和值所屬的類型可能不同

1.3類型和類型系統1.3.1類型和類型系統類型語言:變數都被給定類型未類型化的語言:不限制變數值的範圍類型系統語言的一個組成部分由一組定型規則構成類型系統的研究有兩個分支類型系統在程式設計語言中的應用“純類型化?演算”和不同邏輯之間的對應關係

1.3類型和類型系統設計類型系統的目的用來證明程式不會出現不良行為類型可靠的語言(安全語言)所有程式運行時都沒有不良行為出現類型系統

文档评论(0)

子不语 + 关注
官方认证
服务提供商

平安喜乐网络服务,专业制作各类课件,总结,范文等文档,在能力范围内尽量做到有求必应,感谢

认证主体菏泽喜乐网络科技有限公司
IP属地山东
统一社会信用代码/组织机构代码
91371726MA7HJ4DL48

1亿VIP精品文档

相关文档