License: Creative Commons Attribution 3.0 Unported license (CC BY 3.0)
When quoting this document, please refer to the following
DOI: 10.4230/LIPIcs.ECOOP.2016.10
URN: urn:nbn:de:0030-drops-61042
URL: http://dagstuhl.sunsite.rwth-aachen.de/volltexte/2016/6104/
Go to the corresponding LIPIcs Volume Portal


Gil, Yossi ; Levy, Tomer

Formal Language Recognition with the Java Type Checker

pdf-format:
LIPIcs-ECOOP-2016-10.pdf (0.9 MB)


Abstract

This paper is a theoretical study of a practical problem: the
automatic generation of Java Fluent APIs from their specification. We explain why the problem's core lies with the expressive power of Java generics. Our main result is that automatic generation is possible whenever the specification is an instance of the set of deterministic context-free languages, a set which contains most "practical" languages. Other contributions include a collection of techniques and idioms of the limited meta-programming possible with Java generics, and an empirical measurement demonstrating that the runtime of the "javac" compiler of Java may be exponential in the program's length, even for programs composed of a handful of lines and which do not rely on overly complex use of generics.

BibTeX - Entry

@InProceedings{gil_et_al:LIPIcs:2016:6104,
  author =	{Yossi Gil and Tomer Levy},
  title =	{{Formal Language Recognition with the Java Type Checker}},
  booktitle =	{30th European Conference on Object-Oriented Programming (ECOOP 2016)},
  pages =	{10:1--10:27},
  series =	{Leibniz International Proceedings in Informatics (LIPIcs)},
  ISBN =	{978-3-95977-014-9},
  ISSN =	{1868-8969},
  year =	{2016},
  volume =	{56},
  editor =	{Shriram Krishnamurthi and Benjamin S. Lerner},
  publisher =	{Schloss Dagstuhl--Leibniz-Zentrum fuer Informatik},
  address =	{Dagstuhl, Germany},
  URL =		{http://drops.dagstuhl.de/opus/volltexte/2016/6104},
  URN =		{urn:nbn:de:0030-drops-61042},
  doi =		{10.4230/LIPIcs.ECOOP.2016.10},
  annote =	{Keywords: Parser Generators, Generic Programming, Fluent API}
}

Keywords: Parser Generators, Generic Programming, Fluent API
Collection: 30th European Conference on Object-Oriented Programming (ECOOP 2016)
Issue Date: 2016
Date of publication: 18.07.2016


DROPS-Home | Fulltext Search | Imprint | Privacy Published by LZI