Institute for Software Research Seminar

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

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.

For More Information, Please Contact: