普通中等教育

编译和执行垃圾收集语言的认证框架。我们描述了一个机器认证框架的设计、实现和使用,以正确编译和执行垃圾收集语言的程序。我们的框架扩展了Leroy的Coq认证的Compcert编译器和Cminor中间语言。我们添加了:(i)一种新的中间语言GCminor,它包括用于在垃圾收集堆中分配内存和指定GC根的原语;(ii)关于垃圾收集的Cminor库的精确、低级规范;以及(iii)一个经过验证的语义保护的从GCminor到Cminor的转换以及GC库。GCminor巧妙地封装了mutator和collector代码之间的接口,同时保持了足够的简单和灵活,可以与各种源语言和收集器样式一起使用。面向GCminor的前端可以使用任何编译器技术和任何所需的验证程度来实现,包括完全语义保留、类型保留或非正式信任。作为我们框架的一个示例应用程序,我们描述了一个用于Haskell的编译器,它将Glasgow-Haskell编译器的核心中间语言转换为GCminor。为了支持这个编译器的一个简单但有用的内存安全参数,前端使用了一种新颖的类型保存和运行时检查的组合,这是独立的。

此软件的关键字

这里的任何内容都将在支持canvas元素的浏览器上被替换