Ted Kaminski
University of Minnesota
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by Ted Kaminski.
software language engineering | 2011
Ted Kaminski; Eric Van Wyk
While attribute grammars have several features making them advantageous for specifying language processing tools, functional programming languages offer a myriad of features also well-suited for such tasks. Much other work shows the close relationship between these two approaches, often in the form of embedding attribute grammars into lazy functional languages. This paper continues in this tradition, but in the other direction, by integrating various functional language features into attribute grammars. Specifically we integrate rich static types (including parametric polymorphism, typed distinctions between decorated and undecorated trees, limited type inference, and generalized algebraic data-types) and pattern-matching, all in a manner that maintains familiar and convenient attribute grammar notations and especially their highly extensible nature.
software language engineering | 2012
Ted Kaminski; Eric Van Wyk
We present a modular well-definedness analysis for attribute grammars. The global properties of completeness and non-circularity are ensured with checks on grammar modules that require only additional information from their dependencies. Local checks to ensure global properties are crucial for specifying extensible languages. They allow independent developers of language extensions to verify that their extension, when combined with other independently developed and similarly verified extensions to a specified host language, will result in a composed grammar that is well-defined. Thus, the composition of the host language and user-selected extensions can safely be performed by someone with no expertise in language design and implementation. The analysis is necessarily conservative and imposes some restrictions on the grammar. We argue that the analysis is practical and the restrictions are natural and not burdensome by applying it to the Silver specifications of Silver, our boot-strapped extensible attribute grammar system.
Proceedings of the ACM on Programming Languages | 2017
Ted Kaminski; Lucas Kramer; Travis Carlson; Eric Van Wyk
This paper describes an extensible language framework, ableC, that allows programmers to import new, domain-specific, independently-developed language features into their programming language, in this case C. Most importantly, this framework ensures that the language extensions will automatically compose to form a working translator that does not terminate abnormally. This is possible due to two modular analyses that extension developers can apply to their language extension to check its composability. Specifically, these ensure that the composed concrete syntax specification is non-ambiguous and the composed attribute grammar specifying the semantics is well-defined. This assurance and the expressiveness of the supported extensions is a distinguishing characteristic of the approach. The paper describes a number of techniques for specifying a host language, in this case C at the C11 standard, to make it more amenable to language extension. These include techniques that make additional extensions pass these modular analyses, refactorings of the host language to support a wider range of extensions, and the addition of semantic extension points to support, for example, operator overloading and non-local code transformations.
brazilian conference on intelligent systems | 2014
Kevin Williams; Matthew Le; Ted Kaminski; Eric Van Wyk
This paper describes a compiler extension to our prototype extensible C translator that adds new features for parallel execution of matrix operations and shows their application to problems in spatio-temporal data mining. The extension provides new language features for constructing new matrices, mapping functions over elements of a matrix, and accumulating operations that, for example, can sum values in a matrix. It also provides the appropriate semantic analysis to check for errors before translating the constructs down to parallel C code. The extension also provides features that let the programmer indicate how the extension translates these matrix constructs down to C code. Programmers seeking higher levels of performance can specify how the underlying for-loops are structured so that code using, for example, loop-tiling techniques or vector processors, is generated. In general, compiler extensions supported by our approach allow new domain-specific syntax and semantic analyses to be easily added to the host language. Specifications of the host C language and the extensions are composed to create a custom translator that maps extended C programs down to plain (parallel) C code, checking for domain-specific errors and applying high-level domain-specific optimizations in the process.
Computer-aided chemical engineering | 2011
Srinivas Rangarajan; Ted Kaminski; Eric Van Wyk; Aditya Bhan; Prodromos Daoutidis
A modular computational tool for automated generation and rule-based post-processing of reaction systems in biomass conversion is presented. Cheminformatics and graph theory algorithms are used to generate chemical transformations pertaining to heterogeneous and homogeneous chemistries in the automated rule-based network generator. A domain-specific language provides a user-friendly English-like chemistry specification interface to the network generator. A rule-based pathway analysis module enables the user to extract and query pathways from the reaction network. A demonstration of the features of this tool is presented using Fructose to 5-Hydroxymethylfurfural as a case study.
Computers & Chemical Engineering | 2014
Srinivas Rangarajan; Ted Kaminski; Eric Van Wyk; Aditya Bhan; Prodromos Daoutidis
Proceedings of the First Workshop on the Globalization of Domain Specific Languages | 2013
Ted Kaminski; Eric Van Wyk
software language engineering | 2017
Ted Kaminski; Eric Van Wyk
conference on object oriented programming systems languages and applications | 2017
Ted Kaminski; Lucas Kramer; Travis Carlson; Eric Van Wyk
Archive | 2017
Ted Kaminski; Lucas Kramer; Travis Carlson; Eric Van Wyk