Write a Blog >>
SPLASH 2019
Sun 20 - Fri 25 October 2019 Athens, Greece
Thu 24 Oct 2019 14:30 - 15:00 at Room 1 - DSLs and Parsing Chair(s): Eric Van Wyk

This 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.

Thu 24 Oct

Displayed time zone: Beirut change

14:00 - 15:30
DSLs and Parsing OOPSLA at Room 1
Chair(s): Eric Van Wyk University of Minnesota, USA
14:00
30m
Talk
Seq: A High-Performance Language for Bioinformatics
OOPSLA
DOI
14:30
30m
Talk
Generating a Fluent API with Syntax Checking from an LR Grammar
OOPSLA
Tetsuro Yamazaki Graduate School of Information Science and Technology, The University of Tokyo, Tomoki Nakamaru Graduate School of Information Science and Technology, The University of Tokyo, Kazuhiro Ichikawa Graduate School of Information Science and Technology, The University of Tokyo, Shigeru Chiba Graduate School of Information Science and Technology, The University of Tokyo
DOI
15:00
30m
Talk
Derivative Grammars: A Symbolic Approach to Parsing with Derivatives
OOPSLA
Ian Henriksen The University of Texas at Austin, Gianfranco Bilardi University of Padova, Italy, Keshav Pingali The University of Texas at Austin
DOI