Institute for Software Research Seminar

Seminars
Associate Professor
Department of Computer Science and Engineering
University of Minnesota
AbleC: Modular and Composable Language Extensions for C
Thursday, March 20, 2014 - 3:00pm
Traffic21 Classroom 6501 
Gates&Hillman Centers
Abstract:

The value that domain-specific languages provide to their users is the domain-specific features they contain. These features provide notations from the domain of interest, as well as domain-specific analyses and optimizations. But domain-specific languages are sometimes a poor means of delivering these features to their users. An alternative approach is to provide domain-specific language features to programmers as composable language extensions that they can easily and reliably import into their general-purpose programming language, such as C or Java.

AbleC is a extendible specification of ANSI C into which programmers can import such extensions; examples include algebraic data types as in ML or Haskell, regular expression operators and literals as in Perl or Python, and matrix operations as in MATLAB.  A distinguishing characteristic of AbleC is the modular analysis that extension developers can perform on their extension specifications to ensure that a working translator can be generated from the programmer chosen set of independently developed language extensions. These analyses ensure that the composed specification will define a deterministic parser and scanner and a well-defined attribute grammar for semantic analysis and translation. Thus, the programmer has some assurance that the language extensions that they choose will, simply, work well together.

About the Speaker.

Keywords:
For More Information, Please Contact:

jonathan ~replace-with-a-dot~ aldrich [atsymbol] cs ~replace-with-a-dot~ cmu ~replace-with-a-dot~ edu