【编译原理】类型检查

第五章 类型检查

静态检查: 编译器必须检查源程序是否满足源语言在语法和语义两个方面的约定。这种检查称为静检查,它诊断和报告程序错误。

静态检查所涉及的内容: 类型检查、控制流 检查、唯一性检查和关联名字检查。

执行错误: 程序运行时出现的错误称为执行错误。

执行错误分为会被捕获的错误和不会被捕获的错误。

会被捕获的错误: 会被捕获的错误会引起计算立即停止。

不会被捕获的错误: 不会被捕获的错误的出现不会引起可被捕捉的事件,然后可能引发难以预料的行为。

良行为的程序: 如果一个程序的运行不可能引起不会被捕获错误的出现,那么就称该程序是良行为的。

安全语言: 所有合法程序都是良行为的语言称为安全语言。

通常是设计一个类型系统,通过静态的类型检查来拒绝不会被捕获错误;但是,设计一个类型系统,它正好只拒绝不会被捕获错误是非常困难的。

禁止错误: 对任何一种语言,可以指定所有可能执行错误集合的一个子集作为禁止错误。若是安全语言,则禁止错误应该包括所有不会被捕获的错误,再加上部分会被捕获的错误。

变量的类型: 变量在程序执行期间的取值范围

类型化语言: 若语言的规范为其每种运算都定义了各运算对象和运算结果所允许的类型,则

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不牌不改

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值