Demo Data from SIGIR 2026 / reviewers in the wild / expert
Ted Kaminski
dblp:11/11235
· DBLP profile ↗
7ranked-venue papers
5as first author
0since 2021 · last 2019
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 6 · 5 first-authorSystems, architecture and hardware · 1
Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.
| Software engineering, system software, and programming languages
1 paper |
Programming languages and type systems · 70% Compilers and program optimization · 30% |
Topics — the 4 heaviest of 4, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Programming languages and type systems › grammar formalisms
attribute grammars |
0.3 | 1 | 2017 | Reliable and automatic composition of language extensions to C: the ableC extensible language framework · Proc. ACM Program. Lang. 2017 |
Compilers and program optimization
compiler front end |
0.3 | 1 | 2017 | Reliable and automatic composition of language extensions to C: the ableC extensible language framework · Proc. ACM Program. Lang. 2017 |
Programming languages and type systems › language design
language extension |
0.3 | 1 | 2017 | Reliable and automatic composition of language extensions to C: the ableC extensible language framework · Proc. ACM Program. Lang. 2017 |
Programming languages and type systems › programming paradigms › imperative languages
c |
0.1 | 1 | 2017 | Reliable and automatic composition of language extensions to C: the ableC extensible language framework · Proc. ACM Program. Lang. 2017 |
Methods — techniques the papers use, named apart from their topics
refactoring · 0.3modular analysis · 0.3
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2019 | Reflection in attribute grammarsabstractThis paper shows how reflection on (undecorated) syntax trees used in attribute grammars can significantly reduce the amount of boiler-plate specifications that must be written. It is implemented in the Silver attribute grammar system in the form of a reflect function mapping syntax trees and other values into a generic representation and a reify function for the inverse mapping. We demonstrate its usefulness in several ways. The first is in an extension to Silver itself that simplifies writing language extensions for the ableC extensible C specification by allowing language engineers to specify C-language syntax trees using the concrete syntax of C (with typed holes) instead of writing abstract syntax trees. Secondly, a scrap-your-boilerplate style substitution mechanism is described. The third use is in serialization and de-serialization of the interface files Silver generates to support separate compilation; a custom interface language was replaced by a generic reflection-based implementation. Finally, an experimental implementation of staged interpreters for a small staged functional language is discussed. Lucas Kramer, Ted Kaminski, Eric Van Wyk |
GPCE | 2 |
| 2017 | Ensuring non-interference of composable language extensionsabstractExtensible language frameworks aim to allow independently-developed language extensions to be easily added to a host programming language. It should not require being a compiler expert, and the resulting compiler should "just work" as expected. Previous work has shown how specifications for parsing (based on context free grammars) and for semantic analysis (based on attribute grammars) can be automatically and reliably composed, ensuring that the resulting compiler does not terminate abnormally. Ted Kaminski, Eric Van Wyk |
SLE | 1 |
| 2017 | Reliable and automatic composition of language extensions to C: the ableC extensible language frameworkabstractThis 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. Ted Kaminski, Lucas Kramer, Travis Carlson, Eric Van Wyk |
Proc. ACM Program. Lang. | 1 |
| 2015 | A modular specification of Oberon0 using the Silver attribute grammar system
Ted Kaminski, Eric Van Wyk |
Sci. Comput. Program. | 1 |
| 2014 | A Compiler Extension for Parallel Matrix ProgrammingabstractThis 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. Matt Le 0001, Ted Kaminski, Eric Van Wyk |
ICPP | 3 |
| 2012 | Modular Well-Definedness Analysis for Attribute Grammars
Ted Kaminski, Eric Van Wyk |
SLE | 1 |
| 2011 | Integrating Attribute Grammar and Functional Programming Language Features
Ted Kaminski, Eric Van Wyk |
SLE | 1 |