《编译原理》课程教学资源(PPT课件讲稿)第五章 类型检查

第五章类型检查 记号语法 中间 语法类型语法代码厂表示 中间 流分析树检查 器 器 树 生成 器 本章内容 静态检查中最典型的部分一类型检查: 类型系统、类型检查、多态函数、重载 忽略其它的静态检査:控制流检查、唯一性检查、 关联名字检查
第五章 类 型 检 查 本章内容 – 静态检查中最典型的部分 — 类型检查: 类型系统、类型检查、多态函数、重载 – 忽略其它的静态检查:控制流检查、唯一性检查、 关联名字检查 语法 分析 器 类型 检查 器 中间 代码 生成 器 语 法 树 语 法 树 中间 表示 记号 流

5.1类型在编程语言中的作用 511执行错误和安全语言 介绍一些和程序运行有联系的概念
5.1 类型在编程语言中的作用 5.1.1 执行错误和安全语言 介绍一些和程序运行有联系的概念

5.1类型在编程语言中的作用 511执行错误和安全语言 1、程序运行时的执行错误分成两类 会被捕获的错误( trapped error)
5.1 类型在编程语言中的作用 5.1.1 执行错误和安全语言 1、程序运行时的执行错误分成两类 • 会被捕获的错误(trapped error)

5.1类型在编程语言中的作用 511执行错误和安全语言 1、程序运行时的执行错误分成两类 会被捕获的错误( trapped error) 例:非法指令错误
5.1 类型在编程语言中的作用 5.1.1 执行错误和安全语言 1、程序运行时的执行错误分成两类 • 会被捕获的错误(trapped error) – 例:非法指令错误

5.1类型在编程语言中的作用 511执行错误和安全语言 1、程序运行时的执行错误分成两类 会被捕获的错误( trappederror) 例:非法指令错误、非法内存访问
5.1 类型在编程语言中的作用 5.1.1 执行错误和安全语言 1、程序运行时的执行错误分成两类 • 会被捕获的错误(trapped error) – 例:非法指令错误、非法内存访问

5.1类型在编程语言中的作用 511执行错误和安全语言 1、程序运行时的执行错误分成两类 会被捕获的错误( trappederror) 例:非法指令错误、非法内存访问、除数为零 引起计算立即停止 不会被捕获的错误( untrapped error) 例:下标变量的访问越过了数组的末端 例:跳到一个错误的地址,该地址开始的内存正 好代表一个指令序列 错误可能会有一段时间未引起注意
5.1 类型在编程语言中的作用 5.1.1 执行错误和安全语言 1、程序运行时的执行错误分成两类 • 会被捕获的错误(trapped error) – 例:非法指令错误、非法内存访问、除数为零 – 引起计算立即停止 • 不会被捕获的错误(untrapped error) – 例:下标变量的访问越过了数组的末端 – 例:跳到一个错误的地址,该地址开始的内存正 好代表一个指令序列 – 错误可能会有一段时间未引起注意

5.1类型在编程语言中的作用 511执行错误和安全语言 2、良行为的程序 不同场合对良行为的定义略有区别 例如,没有任何不会被捕获错误的程序 3、安全语言 任何合法程序都是良行为的 通常是设计一个类型系统,通过静态的类型检查 来拒绝不会被捕获错误 但是,设计一个类型系统,它正好只拒绝不会被 捕获错误是非常困难的
5.1 类型在编程语言中的作用 5.1.1 执行错误和安全语言 2、良行为的程序 – 不同场合对良行为的定义略有区别 – 例如,没有任何不会被捕获错误的程序 3、安全语言 – 任何合法程序都是良行为的 – 通常是设计一个类型系统,通过静态的类型检查 来拒绝不会被捕获错误 – 但是,设计一个类型系统,它正好只拒绝不会被 捕获错误是非常困难的

5.1类型在编程语言中的作用 511执行错误和安全语言 禁止错误( forbidden error) 不会被捕获错误集合+会被捕获错误的一个子集 为语言设计类型系统的目标是在排除禁止错误 良行为程序和安全语言也可基于禁止错误 来定义
5.1 类型在编程语言中的作用 5.1.1 执行错误和安全语言 • 禁止错误(forbidden error) – 不会被捕获错误集合 + 会被捕获错误的一个子集 – 为语言设计类型系统的目标是在排除禁止错误 良行为程序和安全语言也可基于禁止错误 来定义

5.1类型在编程语言中的作用 512类型化语言和类型系统 4、类型化的语言 变量的类型 变量在程序执行期间的取值范围
5.1 类型在编程语言中的作用 5.1.2 类型化语言和类型系统 4、类型化的语言 • 变量的类型 – 变量在程序执行期间的取值范围

5.1类型在编程语言中的作用 512类型化语言和类型系统 4、类型化的语言 变量的类型 类型化的语言 变量都被给定类型的语言 表达式、语句等程序构造的类型都可以静态确定 例如,类型b0lemn的变量x在程序每次运行时的值只能是 布尔值,mot(x)总有意义
5.1 类型在编程语言中的作用 5.1.2 类型化语言和类型系统 4、类型化的语言 • 变量的类型 • 类型化的语言 – 变量都被给定类型的语言 – 表达式、语句等程序构造的类型都可以静态确定 – 例如,类型boolean的变量x在程序每次运行时的值只能是 布尔值,not (x)总有意义
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 《网络搜索和挖掘关键技术 Web Search and Mining》课程教学资源(PPT讲稿)Lecture 10 Query expansion.ppt
- 北京师范大学现代远程教育:《计算机应用基础》课程教学资源(PPT课件讲稿)第一章 计算机常识.ppt
- 中国科学技术大学:《网络信息安全 NETWORK SECURITY》课程教学资源(PPT课件讲稿)UNIX/LINUX 操作系统.ppt
- 哈尔滨工业大学:《语言信息处理》课程教学资源(PPT课件讲稿)机器翻译 I Machine Translation I(主讲:张宇).ppt
- 《操作系统 Operating System》课程教学资源(PPT课件讲稿)概述 Overview.ppt
- 《计算机网络》课程教学大纲(计算机科学与技术、网络工程专业).pdf
- 《计算机组装维修》课程PPT教学课件(实训教程)第3章 主板.ppt
- 山西国际商务职业学院:《数据库应用程序设计》课程教学资源(PPT课件)第7章 VFP6程序设计基础.pps
- 《C语言程序设计》课程教学资源(PPT课件讲稿)第8章 指针.ppt
- 山东大学:《微机原理及单片机接口技术》课程教学资源(PPT课件讲稿)第四章 指令系统及汇编语言程序设计(4.6-4.8).ppt
- 《编译原理与技术》课程教学资源(PPT课件讲稿)自底向上分析.ppt
- 西安交通大学:《物联网技术原理》课程教学资源(PPT课件讲稿)第1章 物联网技术概论(主讲:桂小林).ppt
- 贵州师范学院:《高级语言程序设计 Advanced Programming》课程教学资源(PPT课件讲稿)第7章 函数——模块化设计.ppt
- 计算机问题求解(PPT讲稿)分治法与递归.pptx
- 山东大学:《微机原理及单片机接口技术》课程教学资源(PPT课件讲稿)第三章 计算机系统的组成与工作原理(3.1-3.4).ppt
- 《机器学习及应用》课程教学资源(PPT课件讲稿)贝叶斯网络(Bayesian Network).ppt
- SQL Server权限管理(PPT课件讲稿).ppt
- 四川大学:《计算机系统结构》课程教学资源(PPT课件讲稿)第1章 计算机系统结构基本概念(主讲:倪云竹).ppt
- 计算机的维修(PPT课件讲稿)计算机维修的基本知识与实例.ppt
- 南京大学:《面向对象技术 OOT》课程教学资源(PPT课件讲稿)敏捷软件开发 Agile Software Development.ppt
- 西安电子科技大学:《微机原理与接口技术》课程教学资源(PPT课件讲稿)第六章 存储器设计.pptx
- 《Computer Networking:A Top Down Approach》英文教材教学资源(PPT课件讲稿,3rd edition)Chapter 5 Link Layer.ppt
- 《计算机应用基础》课程教学资源(PPT课件讲稿)第一章 计算机基础知识.ppt
- 《信息安全与管理》课程教学资源(PPT课件讲稿)第六章 公开密钥设施PKI.ppt
- Data Mining Association Analysis——Basic Concepts and Algorithms Chapter 6 Introduction to Data Mining.ppt
- 《计算机组成原理》课程教学资源(PPT课件讲稿)第五章 存储器层次结构.ppt
- 电子科技大学:《Unix操作系统基础》课程教学资源(PPT课件)第一章 UNIX操作系统概述、第二章 UNIX使用入门.ppt
- 中国水利水电出版社:《单片机原理及应用》课程PPT教学课件(C语言版)第2章 MCS-51单片机基本结构.ppt
- 《数据结构》课程教学资源(PPT课件讲稿)第三章 栈和队列.ppt
- 《网络安全 Network Security》教学资源(PPT讲稿)Topic 3 User Authentication.pptx
- 《C++语言基础教程》课程电子教案(PPT教学课件)教学资源(PPT课件)第2讲 C++语言基础.ppt
- 长春大学:《计算机应用基础》课程教学资源(PPT课件讲稿)第二章 操作系统.ppt
- 南京大学:《数据结构 Data Structures》课程教学资源(PPT课件讲稿)第二章 线性表.ppt
- 浪潮公司:并行程序、编译与函数库简介、应用软件的调优.ppt
- 《C程序设计》课程电子教案(PPT课件讲稿)第二章 基本数据类型及运算.ppt
- 安徽理工大学:《汇编语言》课程教学资源(PPT课件讲稿)第四章 汇编语言程序格式.ppt
- 清华大学:《网络安全 Network Security》课程教学资源(PPT课件讲稿)Lecture 01 Introduction.pptx
- 《数据结构》课程教学资源(PPT课件讲稿)第六章 集合与字典.ppt
- 华东理工大学:《Visual Basic程序设计教程》课程教学资源(PPT课件)第四讲 VB语言基础(运算符、函数和表达式).pps
- 《软件工程》课程教学资源(PPT课件讲稿)第4章 软件总体设计.ppt