2014 · 38 citations · 16 references
ComputingComputer ScienceCombinatoricsNatural Language ProcessingSet TheoryAdditive CombinatoricsArithmetic FunctionsAutomata TheoryFinite AutomataParsingRegular LanguagesAutomated Document ProcessingFinite Automata TheoryFinite-state TransducersMonoidsRegister AutomataRegular ExpressionsString-to-string TransductionTwo-way Finite Automata
We focus on (partial) functions that map input strings to a monoid such as the set of integers with addition and the set of output strings with concatenation. The notion of regularity for such functions has been defined using two-way finite-state transducers, (one-way) cost register automata, and MSO-definable graph transformations. In this paper, we give an algebraic and machine-independent characterization of this class analogous to the definition of regular languages by regular expressions. When the monoid is commutative, we prove that every regular function can be constructed from constant functions using the combinators of choice, split sum, and iterated sum, that are analogs of union, concatenation, and Kleene-*, respectively, but enforce unique (or unambiguous) parsing. Our main result is for the general case of non-commutative monoids, which is of particular interest for capturing regular string-to-string transformations for document processing. We prove that the following additional combinators suffice for constructing all regular functions: (1) the left-additive versions of split sum and iterated sum, which allow transformations such as string reversal; (2) sum of functions, which allows transformations such as copying of strings; and (3) function composition, or alternatively, a new concept of chained sum, which allows output values from adjacent blocks to mix.
16
Introduction to the Theory of Computation
Michael Sipser · ACM SIGACT News · 1996 · 2.8K citations
Automating string processing in spreadsheets using input-output examples
Sumit Gulwani · 2011 · 446 citations
Joost Engelfriet, Heiko Vogler · Journal of Computer and System Sciences · 1985 · 214 citations · Full text
Krishnendu Chatterjee, Laurent Doyen, Thomas A. Henzinger · ACM Transactions on Computational Logic · 2010 · 165 citations · Full text