diff -r a7344c9afbaf -r b2bea5968b89 ChengsongTanPhdThesis/Chapters/Introduction.tex --- a/ChengsongTanPhdThesis/Chapters/Introduction.tex Tue Jun 14 18:06:33 2022 +0100 +++ b/ChengsongTanPhdThesis/Chapters/Introduction.tex Thu Jun 23 16:09:40 2022 +0100 @@ -19,7 +19,7 @@ %\newcommand{\sflataux}[1]{\textit{sflat}\_\textit{aux} \, #1} \newcommand\sflat[1]{\llparenthesis #1 \rrparenthesis } \newcommand{\ASEQ}[3]{\textit{ASEQ}_{#1} \, #2 \, #3} -\newcommand{\bderssimp}[2]{#1 \backslash_{bsimp} #2} +\newcommand{\bderssimp}[2]{#1 \backslash_{bsimps} #2} \newcommand{\rderssimp}[2]{#1 \backslash_{rsimp} #2} \newcommand{\bders}[2]{#1 \backslash #2} \newcommand{\bsimp}[1]{\textit{bsimp}(#1)} @@ -30,7 +30,7 @@ \newcommand{\ZERO}{\mbox{\bf 0}} \newcommand{\ONE}{\mbox{\bf 1}} \newcommand{\AALTS}[2]{\oplus {\scriptstyle #1}\, #2} -\newcommand{\rdistinct}[2]{\textit{distinct} \; \textit{#1} \; #2} +\newcommand{\rdistinct}[2]{\textit{rdistinct} \; \textit{#1} \; #2} \newcommand\hflat[1]{\llparenthesis #1 \rrparenthesis_*} \newcommand\hflataux[1]{\llparenthesis #1 \rrparenthesis_*'} \newcommand\createdByStar[1]{\textit{createdByStar}(#1)} @@ -38,6 +38,7 @@ \newcommand\myequiv{\mathrel{\stackrel{\makebox[0pt]{\mbox{\normalfont\tiny equiv}}}{=}}} \def\bnullable{\textit{bnullable}} +\def\bnullables{\textit{bnullables}} \def\Some{\textit{Some}} \def\None{\textit{None}} \def\code{\textit{code}} @@ -60,6 +61,7 @@ \def\DFA{\textit{DFA}} \def\NFA{\textit{NFA}} \def\bmkeps{\textit{bmkeps}} +\def\bmkepss{\textit{bmkepss}} \def\retrieve{\textit{retrieve}} \def\blexer{\textit{blexer}} \def\flex{\textit{flex}} @@ -81,7 +83,7 @@ \def\lf{\textit{lf}} \def\PD{\textit{PD}} \def\suffix{\textit{Suffix}} - +\def\distinctBy{\textit{distinctBy}} \def\size{\mathit{size}} \def\rexp{\mathbf{rexp}} @@ -97,9 +99,15 @@ \newcommand\rnullable[1]{\textit{rnullable}(#1)} \newcommand\rsize[1]{\llbracket #1 \rrbracket_r} \newcommand\asize[1]{\llbracket #1 \rrbracket} -\newcommand\rerase[1]{ (#1)\downarrow_r} +\newcommand\rerase[1]{ (#1)_{\downarrow_r}} + \newcommand\ChristianComment[1]{\textcolor{blue}{#1}\\} + +\def\rflts{\textit{rflts}} +\def\rrewrite{\textit{rrewrite}} +\def\bsimpalts{\textit{bsimp}_{ALTS}} + \def\erase{\textit{erase}} \def\STAR{\textit{STAR}} \def\flts{\textit{flts}} @@ -330,7 +338,7 @@ But there are problems with current practical implementations. First thing is that the running time might blow up. The second problem is that they might be error-prone on certain -cases that are very easily spotted by a human. +very simple cases. In the next part of the chapter, we will look into reasons why certain regex engines are running horribly slow on the "catastrophic" cases and propose a solution that addresses both of these problems