University of Minnesota
Software Engineering Center

You are here

Kevin Backhouse

Recent Publications

Forwarding in Attribute Grammars for Modular Language Design

Forwarding is a technique for providing default attribute definitions in attribute grammars that is helpful in the modular implementation of programming languages. It complements existing techniques such as default copy rules. This paper introduces forwarding, and shows how it is but a small extension of standard higher-order attribute grammars. The usual tools for manipulating higher-order attribute grammars, including the circularity check (which tests for cyclic dependencies between attribute values), carry over without modification.

Intentional programming: a host of language features

Programming languages and programming tasks are rarely a perfect fit: often a program could be much clarified by using a number of tailored language features, but the cost of introducing those features in the language is perceived as too high. If a programming language could be implemented in a highly modular fashion, that cost might be lower. To achieve such modularisation is the goal of Intentional Programming; language features are called intentions to emphasise the fact that language features can be tailored to the programmer's wishes.