DOI

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.

Язык оригиналаанглийский
Название основной публикацииScala 2018 - Proceedings of the 9th ACM SIGPLAN International Symposium on Scala, co-located with ICFP 2018
РедакторыSebastian Erdweg, Bruno C. D. S. Oliveira
ИздательAssociation for Computing Machinery
Страницы13-23
Число страниц11
ISBN (электронное издание)9781450358361
DOI
СостояниеОпубликовано - 17 сен 2018
Событие9th ACM SIGPLAN International Symposium on Scala, Scala 2018, Part of the ACM SIGPLAN International Conference on Functional Programming, ICFP 2018 - St. Louis, Соединенные Штаты Америки
Продолжительность: 28 сен 2018 → …

Серия публикаций

НазваниеScala 2018 - Proceedings of the 9th ACM SIGPLAN International Symposium on Scala, co-located with ICFP 2018

конференция

конференция9th ACM SIGPLAN International Symposium on Scala, Scala 2018, Part of the ACM SIGPLAN International Conference on Functional Programming, ICFP 2018
Страна/TерриторияСоединенные Штаты Америки
ГородSt. Louis
Период28/09/18 → …

    Предметные области Scopus

  • Программный продукт
  • Прикладные компьютерные науки
  • Математика и теория расчета

ID: 48534826