欢迎来到天天文库
浏览记录
ID:26956064
大小:1.04 MB
页数:167页
时间:2018-11-30
《《类型检查教学》ppt课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第五章类型检查本章内容静态检查中最典型的部分—类型检查:类型系统、类型检查、多态函数、重载。忽略其它的静态检查:控制流检查、唯一性检查、关联名字检查。分析器类型检查器中间代码生成器语法树语法树中间表示记号流5.1类型在程序设计语言中的作用5.1.1引言变量的类型变量在程序执行期间的取值范围5.1类型在程序设计语言中的作用5.1.1引言变量的类型变量在程序执行期间的取值范围类型化语言变量都被给定类型的语言例如,类型Boolean的变量x在程序每次运行时的值只能是布尔值,not(x)总有意义。5.1
2、类型在程序设计语言中的作用5.1.1引言变量的类型变量在程序执行期间的取值范围类型化语言变量都被给定类型的语言未类型化的语言不限制变量值范围的语言5.1类型在程序设计语言中的作用5.1.1引言变量的类型变量在程序执行期间的取值范围类型化语言变量都被给定类型的语言未类型化的语言不限制变量值范围的语言一个运算可以作用到任意的运算对象,其结果可能是一个有意义的值、一个错误、一个异常或一个未做说明的结果。5.1类型在程序设计语言中的作用5.1.1引言变量的类型变量在程序执行期间的取值范围类型化语言变量都
3、被给定类型的语言未类型化的语言不限制变量值范围的语言类型系统由一组定型规则(typingrule)构成,这组规则用来给各种语言构造指派类型5.1类型在程序设计语言中的作用类型系统的根本目的是防止程序运行时出现执行错误5.1类型在程序设计语言中的作用类型系统的根本目的是防止程序运行时出现执行错误类型可靠的语言粗略地说,所有程序运行时都没有执行错误出现5.1类型在程序设计语言中的作用类型系统的根本目的是防止程序运行时出现执行错误类型可靠的语言粗略地说,所有程序运行时都没有执行错误出现类型系统的形式化
4、类型表达式、定型断言、定型规则、类型检查算法5.1类型在程序设计语言中的作用类型系统的根本目的是防止程序运行时出现执行错误类型可靠的语言粗略地说,所有程序运行时都没有执行错误出现类型系统的形式化类型表达式、定型断言、定型规则、类型检查算法显式类型化的语言类型是语法的一部分5.1类型在程序设计语言中的作用类型系统的根本目的是防止程序运行时出现执行错误类型可靠的语言粗略地说,所有程序运行时都没有执行错误出现类型系统的形式化类型表达式、定型断言、定型规则、类型检查算法显式类型化的语言类型是语法的一部分
5、隐式类型化的语言5.1类型在程序设计语言中的作用5.1.2执行错误和安全语言执行错误会被捕获的错误(trappederror)5.1类型在程序设计语言中的作用5.1.2执行错误和安全语言执行错误会被捕获的错误(trappederror)例:非法指令错误5.1类型在程序设计语言中的作用5.1.2执行错误和安全语言执行错误会被捕获的错误(trappederror)例:非法指令错误、非法内存访问5.1类型在程序设计语言中的作用5.1.2执行错误和安全语言执行错误会被捕获的错误(trappederror
6、)例:非法指令错误、非法内存访问、除数为零5.1类型在程序设计语言中的作用5.1.2执行错误和安全语言执行错误会被捕获的错误(trappederror)例:非法指令错误、非法内存访问、除数为零引起计算立即停止5.1类型在程序设计语言中的作用5.1.2执行错误和安全语言执行错误会被捕获的错误(trappederror)例:非法指令错误、非法内存访问、除数为零引起计算立即停止不会被捕获的错误(untrappederror)5.1类型在程序设计语言中的作用5.1.2执行错误和安全语言执行错误会被捕获的
7、错误(trappederror)例:非法指令错误、非法内存访问、除数为零引起计算立即停止不会被捕获的错误(untrappederror)例:下标变量的访问越过数组末端的数据5.1类型在程序设计语言中的作用5.1.2执行错误和安全语言执行错误会被捕获的错误(trappederror)例:非法指令错误、非法内存访问、除数为零引起计算立即停止不会被捕获的错误(untrappederror)例:下标变量的访问越过数组末端的数据例:跳到一个错误的地址,该地址开始的内存正好代表一个指令序列5.1类型在程序设
8、计语言中的作用5.1.2执行错误和安全语言执行错误会被捕获的错误(trappederror)例:非法指令错误、非法内存访问、除数为零引起计算立即停止不会被捕获的错误(untrappederror)例:下标变量的访问越过数组末端的数据例:跳到一个错误的地址,该地址开始的内存正好代表一个指令序列错误可能会有一段时间未引起注意5.1类型在程序设计语言中的作用安全语言任何程序不出现不会被捕获错误5.1类型在程序设计语言中的作用安全语言任何程序不出现不会被捕获错误禁止错误(forbiddenerror)不
此文档下载收益归作者所有