CAREER: An Extensible Compiler Framework for Modular Seamless Language Extensions
University Of Minnesota-Twin Cities, Minneapolis MN
Investigators
Abstract
Software development is an expensive and error-prone process at least partly because of the large semantic gap between the programmer's high-level understanding of the problem and the relatively low-level language in which the problem solutions are encoded. No language contains all of the general purpose and domain specific constructs that may be needed for the unique problems faced by programmers. Thus, they cannot ``say what they mean'' but must encode their ideas as programming idioms at a lower level of abstraction. Simply stated, this wastes time and money and is the source of many errors. This project is directly addressing this problem by developing framework for extensible languages that enables programmers to use languages whose level of abstraction has been raised closer to their problem domain by importing new language features into their programming language. These features include domain specific language constructs, semantic analyses to ensure the correct usage of new language constructs and optimizations and code transformations to ensure that efficient target code is generated. Furthermore, these language extensions are modular and thus can be easily imported by programmer into his or her programming environment and analyzed to ensure that they will not interfere with one another. Such an extensible compiler framework for a complete modern language will also be a catalyst for research in programming languages. It will allow researchers to study their ideas in a complete, not a toy, language and, as language extensions, they can be easily disseminated to other researchers and users.
View original record on NSF Award Search →