Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Ted Kaminski is active.

Publication


Featured researches published by Ted Kaminski.


software language engineering | 2011

Integrating attribute grammar and functional programming language features

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

Modular Well-Definedness Analysis for Attribute Grammars

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

Reliable and automatic composition of language extensions to C: the ableC extensible language framework

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

A Compiler Extension for Parallel Matrix Programming

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

Network generation and analysis of complex biomass conversion systems

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

Language-oriented rule-based reaction network generation and analysis

Srinivas Rangarajan; Ted Kaminski; Eric Van Wyk; Aditya Bhan; Prodromos Daoutidis


Proceedings of the First Workshop on the Globalization of Domain Specific Languages | 2013

Creating and using domain-specific language features

Ted Kaminski; Eric Van Wyk


software language engineering | 2017

Ensuring non-interference of composable language extensions

Ted Kaminski; Eric Van Wyk


conference on object oriented programming systems languages and applications | 2017

Reliable and Automatic Composition of Language Extensions to C

Ted Kaminski; Lucas Kramer; Travis Carlson; Eric Van Wyk


Archive | 2017

ableC: Extensible Specification of C Using the Silver Attribute Grammar System

Ted Kaminski; Lucas Kramer; Travis Carlson; Eric Van Wyk

Collaboration


Dive into the Ted Kaminski's collaboration.

Top Co-Authors

Avatar

Eric Van Wyk

University of Minnesota

View shared research outputs
Top Co-Authors

Avatar

Lucas Kramer

University of Minnesota

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Aditya Bhan

University of Minnesota

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Matthew Le

Rochester Institute of Technology

View shared research outputs
Researchain Logo
Decentralizing Knowledge