请提供需要翻译成中文的 Typed Assembly Language 内容。
Typed Assembly Language

原始链接: https://www.cs.cornell.edu/talc/

Typed Assembly Language (TAL) 是传统汇编语言的扩展,旨在创建可验证的安全代码。它增加了类型注解和内存管理特性,并以一套强大的类型规则为后盾,从而保证内存安全、控制流安全和类型安全。 TAL 足够强大,可以表示复杂编程概念,如数据结构、高阶函数和模块,同时仍然允许标准的低级编译器优化。这使其成为旨在实现安全的语言的优秀编译目标,尤其是在移动代码和操作系统内核等领域。 针对 Intel IA32 架构,存在一个特定的实现,即 TALx86。研究人员已经成功地将 TALx86 作为编译器的一个目标,用于翻译一种安全的 C 语言(Popcorn),从而证明了它的实际应用。

## 黑客新闻上关于类型化汇编语言的讨论 最近一篇黑客新闻文章链接到一个托管在 cornell.edu 的类型化汇编语言 (TAL) 项目。用户很快注意到很难找到示例代码——它被埋在 gzip 压缩文件的三层链接深处。一位评论员强调了在语言的登陆页面上突出显示其语法的的重要性。 提供的代码片段展示了 TAL 的类型系统,包含用于类型转换 (`tt`, `typetrans`, `arrowtypetrans`) 和环境管理 (`code_env`, `block_env`) 的函数。它展示了一个处理变量上下文、类型检查和代码生成的系统。 另一位用户讨论了类型化汇编语言的独特挑战,认为汇编语言的类型通常比高级语言的类型更灵活和依赖于上下文。他们建议使用隐式类型和强大的类型推断来管理这种复杂性,从而最大限度地减少显式定义临时类型的需要。
相关文章

原文

 

Typed Assembly Language (TAL) extends traditional untyped assembly languages with typing annotations, memory management primitives, and a sound set of typing rules.  These typing rules guarantee the memory safety, control flow safety, and type safety of TAL programs.  Moreover, the typing constructs are expressive enough to encode most source language programming features including records and structures, arrays, higher-order and polymorphic functions, exceptions, abstract data types, subtyping, and modules.  Just as importantly, TAL is flexible enough to admit many low-level compiler optimizations.  Consequently, TAL is an ideal target platform for type-directed compilers that want to produce verifiably safe code for use in secure mobile code applications or extensible operating system kernels.  We have implemented a variant of TAL for Intel's IA32 architecture called TALx86, and have written a compiler for a safe C-like language called Popcorn to TALx86.

 

 TAL Overview Papers Software Members Related Projects

联系我们 contact @ memedata.com