5.1类型在编程语言中的作用 512类型化语言和类型系统 4、类型化的语言 变量的类型 类型化的语言 未类型化的语言 不限制变量值范围的语言: 个运算可以作用到任意的运算对象,其结果可能是一个 有意义的值、一个错误、一个异常或一个语言未加定义的结 果 例如:LISP语言
5.1 类型在编程语言中的作用 5.1.2 类型化语言和类型系统 4、类型化的语言 • 变量的类型 • 类型化的语言 • 未类型化的语言 – 不限制变量值范围的语言: 一个运算可以作用到任意的运算对象,其结果可能是一个 有意义的值、一个错误、一个异常或一个语言未加定义的结 果 – 例如:LISP语言
5.1类型在编程语言中的作用 512类型化语言和类型系统 4、类型化的语言 变量的类型 类型化的语言 未类型化的语言 显式类型化语言 类型是语法的一部分
5.1 类型在编程语言中的作用 5.1.2 类型化语言和类型系统 4、类型化的语言 • 变量的类型 • 类型化的语言 • 未类型化的语言 • 显式类型化语言 – 类型是语法的一部分
5.1类型在编程语言中的作用 512类型化语言和类型系统 4、类型化的语言 变量的类型 类型化的语言 未类型化的语言 显式类型化语言 隐式类型化的语言 不存在隐式类型化的主流语言,但可能存在忽略类型信 息的程序片段,例如不需要程序员声明函数的参数类型
5.1 类型在编程语言中的作用 5.1.2 类型化语言和类型系统 4、类型化的语言 • 变量的类型 • 类型化的语言 • 未类型化的语言 • 显式类型化语言 • 隐式类型化的语言 – 不存在隐式类型化的主流语言,但可能存在忽略类型信 息的程序片段,例如不需要程序员声明函数的参数类型
5.1类型在编程语言中的作用 512类型化语言和类型系统 5、类型系统 语言的组成部分,它由一组定型规则( ping rule) 构成,这组规则用来给各种程序构造指派类型 设计类型系统的根本目的是用静态检查的方式来保 证合法程序运行时的良行为 类型系统的形式化 类型表达式、定型断言、定型规则 °类型检查算法 通常是静态地完成类型检查
5.1 类型在编程语言中的作用 5.1.2 类型化语言和类型系统 5、类型系统 • 语言的组成部分,它由一组定型规则(typing rule) 构成,这组规则用来给各种程序构造指派类型 • 设计类型系统的根本目的是用静态检查的方式来保 证合法程序运行时的良行为 • 类型系统的形式化 – 类型表达式、定型断言、定型规则 • 类型检查算法 – 通常是静态地完成类型检查
5.1类型在编程语言中的作用 512类型化语言和类型系统 6、良类型的程序 没有类型错误的程序 7、合法程序 良类型程序(若语言定义中,除了类型系统外, 没有用其它方式表示的对程序的约束) 8、类型可靠( ype sound)的语言 所有良类型程序(合法程序)都是良行为的 类型可靠的语言一定是安全的语言
5.1 类型在编程语言中的作用 5.1.2 类型化语言和类型系统 6、良类型的程序 – 没有类型错误的程序 7、合法程序 – 良类型程序(若语言定义中,除了类型系统外, 没有用其它方式表示的对程序的约束) 8、类型可靠(type sound)的语言 – 所有良类型程序(合法程序)都是良行为的 – 类型可靠的语言一定是安全的语言