Implementing Overloading and Polymorphism in Cforall

Loading...
Thumbnail Image

Date

2003

Authors

Bilson, Richard C.

Advisor

Journal Title

Journal ISSN

Volume Title

Publisher

University of Waterloo

Abstract

The programming language Cforall extends the C language with, among other things, overloading, parametric polymorphism, and functions that can return multiple values from a single call. This thesis presents an outline of the first implementation of the core Cforall language. An effective implementation of Cforall requires complete support for new language constructs while preserving the behaviour and efficiency of existing C programs. Analyzing the meaning of Cforall programs requires significantly more sophisticated techniques than are necessary for C programs; existing techniques for the analysis of overloading and polymorphism are adapted and extended to apply to Cforall. Three strategies for generating code for polymorphic programs are compared, using plain C as an intermediate representation. Finally, a realistic Cforall program is presented and characteristics of the generated C code are examined.

Description

Keywords

Computer Science, programming languages, overloading, polymorphism, Cforall

LC Subject Headings

Citation