equal
deleted
inserted
replaced
701 can be challenging |
701 can be challenging |
702 and un-intuitive. |
702 and un-intuitive. |
703 Therefore, we take correctness and runtime claims made about these solutions |
703 Therefore, we take correctness and runtime claims made about these solutions |
704 with a grain of salt. |
704 with a grain of salt. |
705 |
705 |
706 In the work reported in \cite{CSL2022} and here, |
706 In the work reported in \cite{FoSSaCS2023} and here, |
707 we add better support using derivatives |
707 we add better support using derivatives |
708 for bounded regular expressions $r^{\{n\}}$. |
708 for bounded regular expressions $r^{\{n\}}$. |
709 The results |
709 The results |
710 extend straightforwardly to |
710 extend straightforwardly to |
711 repetitions with an interval such as |
711 repetitions with an interval such as |
907 The POSIX strategy is widely adopted in many regular expression matchers. |
907 The POSIX strategy is widely adopted in many regular expression matchers. |
908 However, many implementations (including the C libraries |
908 However, many implementations (including the C libraries |
909 used by Linux and OS X distributions) contain bugs |
909 used by Linux and OS X distributions) contain bugs |
910 or do not meet the specification they claim to adhere to. |
910 or do not meet the specification they claim to adhere to. |
911 Kuklewicz maintains a unit test repository which lists some |
911 Kuklewicz maintains a unit test repository which lists some |
912 problems with existing regular expression engines \ref{KuklewiczHaskell}. |
912 problems with existing regular expression engines \cite{KuklewiczHaskell}. |
913 In some cases, they either fail to generate a |
913 In some cases, they either fail to generate a |
914 result when there exists a match, |
914 result when there exists a match, |
915 or give results that are inconsistent with the POSIX standard. |
915 or give results that are inconsistent with the POSIX standard. |
916 A concrete example is the regex: |
916 A concrete example is the regex: |
917 \begin{center} |
917 \begin{center} |