An Imperative Core Calculus for Java ∗
暂无分享,去创建一个
This technical report presents the specification of a programming language Cool: the Core Object-Oriented Language. Cool is a small language but retains many of the features of modern class-based object-oriented languages, including primitive types, classes, inheritance, objects, instance variables and methods, dynamic method binding, null and arrays, etc.. The specification for Cool in this report is formal. First, this paper give syntactic specifications for Cool; second, we define static semantics for Cool via typing rules; and finally, we define its operational semantics. In stark contrast to any previous research effort in this area, we introduce side conditions into Cool’s type system, which express important safety obligations.
[1] James Gosling,et al. The Java Language Specification, 3rd Edition , 2005 .
[2] Frank Pfenning,et al. Dependent types in practical programming , 1999, POPL '99.
[3] Hua Bao. Design and Proof of a Safe Programming Language PointerC , 2008 .