Font Size: a A A

Low-level type systems for modularity and object-oriented constructs

Posted on:2001-11-30Degree:Ph.DType:Dissertation
University:Cornell UniversityCandidate:Glew, Arthur NealFull Text:PDF
GTID:1468390014458877Subject:Computer Science
Abstract/Summary:
Typed Assembly Language (TAL) is a formal language for an idealised machine augmented with type annotations, typing rules, and a memory allocation primitive. TAL's type system is sound; that is, well typed TAL programs do not commit run-time type errors during execution. This guarantee can be used to debug type-directed compilers and to build more general security properties in an extensible system. This dissertation presents a basic version of TAL and extensions to support the compilation of modules and object-oriented languages. First, it describes a modular version of TAL that consists of typed object files, linking operations, and link compatibility conditions. Together these features provide for type-sound separate compilation and substantially extend previous work on linking. Second, it shows how to use a new formulation of self quantifiers to compile an efficient implementation of a single-inheritance class-based object-oriented language into TAL. Third, it presents a new type constructor called a tag type, and shows how to use them to compile downcasting and exceptions into TAL.
Keywords/Search Tags:Type, TAL, Object-oriented
Related items