Graduated in 2015 from the St. Petersburg State University, Mathematics and Mechanics Faculty, Software Engineering Department.
Currently a PhD student at the St. Petersburg State University.
I am currently working on program transformations for the relational programming language miniKanren; developing a generic programming framework for dealing with terms and applying parsing for the Context-Free Path Querying problem.
Syntax Errors Detection in Dynamically Generated Code, a bachelor's thesis by Rustam Azimov. Defended at the Software Engineering Department, SPbU in 2016.
Modular tool for parser construction and grammars processingProject supervisor: Semyon Grigorev
Proceedings of the 9th ACM SIGPLAN International Symposium on Scala, September 2018
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. 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.
Programming Languages and Tools Lab Researcher
- Functional and Relational Programming