11 \newcommand{\tabhead}[1]{\textbf{#1}} |
11 \newcommand{\tabhead}[1]{\textbf{#1}} |
12 \newcommand{\code}[1]{\texttt{#1}} |
12 \newcommand{\code}[1]{\texttt{#1}} |
13 \newcommand{\file}[1]{\texttt{\bfseries#1}} |
13 \newcommand{\file}[1]{\texttt{\bfseries#1}} |
14 \newcommand{\option}[1]{\texttt{\itshape#1}} |
14 \newcommand{\option}[1]{\texttt{\itshape#1}} |
15 |
15 |
16 \newcommand{\bderssimp}[2]{{#1} \backslash_{bsimp} {#2}} |
16 %\newcommand{\sflataux}[1]{\textit{sflat}\_\textit{aux} \, #1} |
|
17 \newcommand\sflat[1]{\llparenthesis #1 \rrparenthesis } |
|
18 \newcommand{\ASEQ}[3]{\textit{ASEQ}_{#1} \, #2 \, #3} |
|
19 \newcommand{\bderssimp}[2]{#1 \backslash_{bsimp} #2} |
|
20 \newcommand{\rderssimp}[2]{#1 \backslash_{rsimp} #2} |
|
21 \newcommand{\bsimp}[1]{\textit{bsimp}(#1)} |
|
22 \newcommand{\rsimp}[1]{\textit{rsimp}(#1)} |
|
23 \newcommand{\sflataux}[1]{\llparenthesis #1 \rrparenthesis'} |
17 \newcommand{\dn}{\stackrel{\mbox{\scriptsize def}}{=}}% |
24 \newcommand{\dn}{\stackrel{\mbox{\scriptsize def}}{=}}% |
18 \newcommand{\ZERO}{\mbox{\bf 0}} |
25 \newcommand{\ZERO}{\mbox{\bf 0}} |
19 \newcommand{\ONE}{\mbox{\bf 1}} |
26 \newcommand{\ONE}{\mbox{\bf 1}} |
|
27 \newcommand{\AALTS}[2]{\oplus {\scriptstyle #1}\, #2} |
|
28 |
|
29 \newcommand\myequiv{\mathrel{\stackrel{\makebox[0pt]{\mbox{\normalfont\tiny equiv}}}{=}}} |
|
30 |
20 \def\lexer{\mathit{lexer}} |
31 \def\lexer{\mathit{lexer}} |
21 \def\mkeps{\mathit{mkeps}} |
32 \def\mkeps{\mathit{mkeps}} |
22 |
33 |
23 \def\AZERO{\textit{AZERO}} |
34 \def\AZERO{\textit{AZERO}} |
24 \def\AONE{\textit{AONE}} |
35 \def\AONE{\textit{AONE}} |
25 \def\ACHAR{\textit{ACHAR}} |
36 \def\ACHAR{\textit{ACHAR}} |
26 \def\ASEQ{\textit{ASEQ}} |
37 |
27 \def\AALTS{\textit{AALTS}} |
38 |
|
39 \def\ALTS{\textit{ALTS}} |
28 \def\ASTAR{\textit{ASTAR}} |
40 \def\ASTAR{\textit{ASTAR}} |
29 \def\DFA{\textit{DFA}} |
41 \def\DFA{\textit{DFA}} |
30 \def\bmkeps{\textit{bmkeps}} |
42 \def\bmkeps{\textit{bmkeps}} |
31 \def\retrieve{\textit{retrieve}} |
43 \def\retrieve{\textit{retrieve}} |
32 \def\blexer{\textit{blexer}} |
44 \def\blexer{\textit{blexer}} |
33 \def\flex{\textit{flex}} |
45 \def\flex{\textit{flex}} |
34 \def\inj{\mathit{inj}} |
46 \def\inj{\mathit{inj}} |
35 \def\Empty{\mathit{Empty}} |
47 \def\Empty{\mathit{Empty}} |
36 \def\Left{\mathit{Left}} |
48 \def\Left{\mathit{Left}}xc |
37 \def\Right{\mathit{Right}} |
49 \def\Right{\mathit{Right}} |
38 \def\Stars{\mathit{Stars}} |
50 \def\Stars{\mathit{Stars}} |
39 \def\Char{\mathit{Char}} |
51 \def\Char{\mathit{Char}} |
40 \def\Seq{\mathit{Seq}} |
52 \def\Seq{\mathit{Seq}} |
41 \def\Der{\mathit{Der}} |
53 \def\Der{\mathit{Der}} |
44 \def\S{\mathit{S}} |
56 \def\S{\mathit{S}} |
45 \def\rup{r^\uparrow} |
57 \def\rup{r^\uparrow} |
46 %\def\bderssimp{\mathit{bders}\_\mathit{simp}} |
58 %\def\bderssimp{\mathit{bders}\_\mathit{simp}} |
47 \def\distinctWith{\textit{distinctWith}} |
59 \def\distinctWith{\textit{distinctWith}} |
48 |
60 |
|
61 \def\rexp{\mathbf{rexp}} |
49 \def\simp{\mathit{simp}} |
62 \def\simp{\mathit{simp}} |
50 \def\simpALTs{\mathit{simp}\_\mathit{ALTs}} |
63 \def\simpALTs{\mathit{simp}\_\mathit{ALTs}} |
51 \def\map{\mathit{map}} |
64 \def\map{\mathit{map}} |
52 \def\distinct{\mathit{distinct}} |
65 \def\distinct{\mathit{distinct}} |
53 \def\blexersimp{\mathit{blexer}\_\mathit{simp}} |
66 \def\blexersimp{\mathit{blexer}\_\mathit{simp}} |
54 \def\map{\textit{map}} |
67 \def\map{\textit{map}} |
55 \def\vsuf{\textit{vsuf}} |
68 %\def\vsuf{\textit{vsuf}} |
56 \def\sflataux{\textit{sflat}\_\textit{aux}} |
69 %\def\sflataux{\textit{sflat}\_\textit{aux}} |
57 \def\rrexp{\textit{rrexp}} |
70 \def\rrexp{\textit{rrexp}} |
58 \def\rsize{\textit{rsize}} |
71 \newcommand\rnullable[1]{\textit{rnullable}(#1)} |
59 \def\asize{\textit{asize}} |
72 \newcommand\rsize[1]{\llbracket #1 \rrbracket_r} |
60 \def\rerase{\textit{rerase}} |
73 \newcommand\asize[1]{\llbracket #1 \rrbracket} |
|
74 \newcommand\rerase[1]{ (#1)\downarrow_r} |
|
75 |
61 \def\erase{\textit{erase}} |
76 \def\erase{\textit{erase}} |
62 \def\STAR{\textit{STAR}} |
77 \def\STAR{\textit{STAR}} |
63 \def\flts{\textit{flts}} |
78 \def\flts{\textit{flts}} |
64 |
79 |
|
80 |
|
81 \def\RZERO{\mathbf{0}_r } |
|
82 \def\RONE{\mathbf{1}_r} |
|
83 \newcommand\RCHAR[1]{\mathbf{#1}_r} |
|
84 \newcommand\RSEQ[2]{#1 \cdot #2} |
|
85 \newcommand\RALTS[1]{\oplus #1} |
|
86 \newcommand\RSTAR[1]{#1^*} |
|
87 \newcommand\vsuf[2]{\textit{vsuf} \;#1\;#2} |
65 %---------------------------------------------------------------------------------------- |
88 %---------------------------------------------------------------------------------------- |
66 %This part is about regular expressions, Brzozowski derivatives, |
89 %This part is about regular expressions, Brzozowski derivatives, |
67 %and a bit-coded lexing algorithm with proven correctness and time bounds. |
90 %and a bit-coded lexing algorithm with proven correctness and time bounds. |
68 |
91 |
69 %TODO: look up snort rules to use here--give readers idea of what regexes look like |
92 %TODO: look up snort rules to use here--give readers idea of what regexes look like |