Browsing by Author "Carlson, Travis"
Now showing 1 - 3 of 3
Results Per Page
Sort Options
Item ableC: Extensible Specification of C Using the Silver Attribute Grammar System(2017-08-24) Kaminski, Ted; Kramer, Lucas; Carlson, Travis; Van Wyk, Eric; evw@umn.edu; Van Wyk, Eric; University of Minnesota, Department of Computer Science and Engineering, Minnesota Extensible Language Tools GroupThis is the Silver specification of ableC: a specification of C at the ISO C11 standard. There may be newer, unarchived versions of this software at http://melt.cs.umn.edu.Item An Investigation of Composable Language Extensions for Parallel Programming(2019-01-17) Carlson, Travis; Coomey, Ciaradh; Councilman, Aaron; Stephen, Patrick; Van Wyk, EricThis paper demonstrates how parallel programming language features can be specified as composable language extensions to a general-purpose host programming language. To illustrate the expressiveness of language abstractions defined in this way we have re-implemented, as language extensions, various abstractions previously described in the literature that were implemented as part of traditional monolithic programming languages. These include abstractions for spawning parallel tasks, abstractions implementing bounded buffered channels and lattice-based variables to simplify the communication between parallel tasks, and domain-specific abstractions for simple specification of tensor computations backed by a code-generation technique for the efficient storage and processing of tensor computations. The general-purpose host language is C, as implemented in the AbleC extensible C compiler framework. This system provides certain guarantees of extension composability that ensure that independentlydeveloped language extensions can be automatically composed by programmers that are not experts in language design or implementation. Thus programmers can freely select the abstractions that match their programming problem, their preferred programming style and level of expertise, and their desired performance requirements. This approach also provides benefits to researchers designing and developing new abstractions for parallel programming. It allows them to focus their efforts on the implementation of their new abstractions and re-use the host language implementation of general purpose features such as arithmetic expressions, control-flow statements, type checking, and other basic compiler infrastructure.Item Reliable and automatic composition of language extensions to C - Supplemental Material(2017-09-04) Kaminski, Ted; Kramer, Lucas; Carlson, Travis; Van Wyk, EricThis technical report provides a more complete description of many of the ableC language extensions described in our OOPSLA 2017 paper “Reliable and automatic composition of language extensions to C”. It describes several additional ableC language extensions that pass the modular analyses and thus can be reliably and automatically composed together by a programmer to form a working translator for a custom extended language. The OOPSLA paper describes extensions that illustrate many of the types of language extensions that can be specified as ableC extensions and is thus self contained. Yet, the extensions discussed here expand on these capabilities and describe extensions that are substantially larger in scope or illustrate additional capabilities of ableC and the underlying tools Silver and Copper.