Technical Report: Match-reference regular expressions and lenses
Jeanne-Marie Musca, Anders Miltner, Kathleen Fisher, David, Walker

TL;DR
This paper introduces match-reference lenses and regular expressions that can handle non-regular string formats with repeated substrings, expanding the capabilities of data transformation languages.
Contribution
It develops a new language of lenses and regular expressions capable of translating non-regular formats with dependencies, and introduces the match-reference regex automaton system for decision procedures.
Findings
Defined match-reference regular expressions with variable binding and reuse.
Established semantics for match-reference lenses and regexes.
Proposed the match-reference regex automaton system (MRRAS) for membership testing.
Abstract
A lens is a single program that specifies two data transformations at once: one transformation converts data from source format to target format and a second transformation inverts the process. Over the past decade, researchers have developed many different kinds of lenses with different properties. One class of such languages operate over regular languages. In other words, these lenses convert strings drawn from one regular language to strings drawn from another regular language (and back again). In this paper, we define a more powerful language of lenses, which we call match-reference lenses, that is capable of translating between non-regular formats that contain repeated substrings, which is a primitive form of dependency. To define the non-regular formats themselves, we develop a new language, match-reference regular expressions, which are regular expressions that can bind variables…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsAlgorithms and Data Compression · Network Packet Processing and Optimization · Software Testing and Debugging Techniques
