EDBT 2026 Demo / reviewers in the wild / expert
Kazuhiro Ichikawa
dblp:86/720
· DBLP profile ↗
2ranked-venue papers
0as 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 · 2
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 |
Program synthesis and code generation · 53% Compilers and program optimization · 32% Programming languages and type systems · 16% |
Topics — the 3 heaviest of 4, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Programming languages and type systems › domain-specific languages
embedded domain-specific languages |
0.1 | 1 | 2019 | Generating a fluent API with syntax checking from an LR grammar · Proc. ACM Program. Lang. 2019 |
Compilers and program optimization › parsing
LR parsing |
0.1 | 1 | 2019 | Generating a fluent API with syntax checking from an LR grammar · Proc. ACM Program. Lang. 2019 |
Compilers and program optimization
parsing |
0.1 | 1 | 2019 | Generating a fluent API with syntax checking from an LR grammar · Proc. ACM Program. Lang. 2019 |
Methods — techniques the papers use, named apart from their topics
method overloading · 0.4
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2019 | Generating a fluent API with syntax checking from an LR grammarabstractThis paper proposes a fluent API generator for Scala, Haskell, and C++. It receives a grammar definition and generates a code skeleton of the library in the host programming language. The generated library is accessed through a chain of method calls; this style of API is called a fluent API. The library uses the host-language type checker to detect an invalid chain of method calls. Each method call is regarded as a lexical token in the embedded domain specific language implemented by that library. A sequence of the lexical tokens is checked and, if the sequence is not acceptable by the grammar, a type error is reported during compilation time. A contribution of this paper is to present an algorithm for generating the code-skeleton for a fluent API that reports a type error when a chain of method calls to the library does not match the given LR grammar. Our algorithm works in Scala, Haskell, and C++. To encode LR parsing, it uses the method/function overloading available in those languages. It does not need an advanced type system, or exponential compilation time or memory consumption. This paper also presents our implementation of the proposed generator. Tetsuro Yamazaki, Tomoki Nakamaru, Kazuhiro Ichikawa, Shigeru Chiba |
Proc. ACM Program. Lang. | 3 |
| 2017 | Silverchain: a fluent API generatorabstractThis paper presents a tool named Silverchain, which generates class definitions for a fluent API from the grammar of the API. A fluent API is an API that is used by method chaining and its grammar is a BNF-like set of rules that defines method chains accepted in type checking. Fluent APIs generated by Silverchain provide two styles of APIs: One is for building a chain by concatenating all method calls in series. The other is for building a chain from partial chains by passing child chains to method calls in the parent chain as their arguments. To generate such a fluent API, Silverchain first translates given grammar into a set of deterministic pushdown automata without ϵ-transitions, then encodes these automata into class definitions. Each constructed automata corresponds to a nonterminal in given grammar and recognizes symbol sequences produced from its corresponding nonterminal. Tomoki Nakamaru, Kazuhiro Ichikawa, Tetsuro Yamazaki, Shigeru Chiba |
GPCE | 2 |