Parser Combinators for Context-Free Path Querying
Transparent integration of a domain-specific language for specification of context-free path queries (CFPQs) into a general-purpose programming language as well as static checking of errors in queries may greatly simplify the development of applications using CFPQs. LINQ and ORM can be used for the integration, but they have issues with flexibility: query decomposition and reusing of subqueries are a challenge. Adaptation of parser combinators technique for paths querying may solve these problems. Conventional parser combinators process linear input, and only the Trails library is known to apply this technique for path querying. Trails suffers the common parser combinators issue: it does not support left-recursive grammars and also experiences problems in cycles handling. We demonstrate that it is possible to create general parser combinators for CFPQ which support arbitrary context-free grammars and arbitrary input graphs. We implement a library of such parser combinators and show that it is applicable for realistic tasks.
Fri 28 SepDisplayed time zone: Guadalajara, Mexico City, Monterrey change
13:10 - 14:40 | |||
13:10 22mTalk | Garnishing Parsec with Parsley Scala 2018 DOI | ||
13:32 22mTalk | Interflow: Interprocedural Flow-Sensitive Type Inference and Method Duplication Scala 2018 DOI | ||
13:55 22mTalk | Parser Combinators for Context-Free Path Querying Scala 2018 Ekaterina Verbitskaia Saint Petersburg State University, Russia, Ilya Kirillov Saint Petersburg State University, Russia, Ilya Nozkin Saint Petersburg State University, Russia, Semyon Grigorev Saint Petersburg State University, Russia DOI | ||
14:17 22mTalk | Truly Abstract Interfaces for Algebraic Data Types: The Extractor Typing Problem Scala 2018 Nicolas Stucki EPFL, Switzerland, Paolo G. Giarrusso EPFL, Switzerland, Martin Odersky EPFL, Switzerland DOI |