2011 13th International Symposium on Symbolic and Numeric Algorithms for Scientific Computing (2010)
Sept. 23, 2010 to Sept. 26, 2010
Regular expression matching is an essential tool in string manipulating programs and plays crucial roles in scripting languages. We focus on regular expression matching based on the strategy of Perl and develop a translation from regular expression matching into transducers. The representation makes it possible to apply the theory of formal languages in static analysis and verification of string manipulating programs. We first formulate the semantics of regular expression matching as a nondeterministic parser. Then, we transform the nondeterministic parser into deterministic one by introducing look ahead. From the definition of the deterministic parser, we can easily construct transducers through transducers with regular look ahead. We have implemented the translation and conducted experiments on regular expressions found in several popular PHP programs.
Andrei Voronkov, Yasuhiko Minamide, Yuto Sakuma, "Translating Regular Expression Matching into Transducers", 2011 13th International Symposium on Symbolic and Numeric Algorithms for Scientific Computing, vol. 00, no. , pp. 107-115, 2010, doi:10.1109/SYNASC.2010.50