Silverchain: A Fluent API Generator
This 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 $\epsilon$-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.
this URL might only work when visiting from a http://www.sigplan.org/ URL.
Tue 24 OctDisplayed time zone: Tijuana, Baja California change
13:30 - 15:00 | |||
13:30 25mTalk | Four Languages and Lots of Macros: Analyzing Autotools Build Systems GPCE 2017 Jafar M. Al-Kofahi Iowa State University, USA, Suresh Kothari Iowa State University, USA, Christian Kästner Carnegie Mellon University, USA DOI Authorizer link | ||
13:55 25mTalk | Avoiding Useless Mutants GPCE 2017 Leonardo Fernandes Federal University of Pernambuco, Brazil, Márcio Ribeiro Federal University of Alagoas, Brazil, Luiz Carvalho Federal University of Alagoas, Brazil, Rohit Gheyi Federal University of Campina Grande, Brazil, Melina Mongiovi Federal University of Campina Grande, Brazil, Andre Santos , Ana Cavalcanti University of York, UK, Fabiano Ferrari Federal University of São Carlos, Brazil, José Carlos Maldonado University of São Paulo, Brazil DOI Authorizer link | ||
14:20 25mTalk | Silverchain: A Fluent API Generator GPCE 2017 Tomoki Nakamaru University of Tokyo, Japan, Kazuhiro Ichikawa University of Tokyo, Japan, Tetsuro Yamazaki University of Tokyo, Japan, Shigeru Chiba University of Tokyo, Japan DOI Authorizer link | ||
14:45 15mTalk | Parser Generation by Example for Legacy Pattern LanguagesShort paper GPCE 2017 Vadim Zaytsev Raincode Labs, Belgium DOI Authorizer link |