From b158b2d5e69d32284d709162bdb975ed7658780b Mon Sep 17 00:00:00 2001 From: Ulya Trofimovich Date: Mon, 27 Aug 2018 21:26:56 +0100 Subject: [PATCH] Paper: more tweaks in examples of trace computation. --- re2c/doc/tdfa_v2/img/Makefile | 2 +- re2c/doc/tdfa_v2/img/mark_enum.tex | 140 +++++++---- re2c/doc/tdfa_v2/img/pe.tex | 357 +++++++++++++++++++++++------ re2c/doc/tdfa_v2/img/pe2.tex | 311 +++++++++++++------------ re2c/doc/tdfa_v2/part_1_tnfa.tex | 5 +- 5 files changed, 538 insertions(+), 277 deletions(-) diff --git a/re2c/doc/tdfa_v2/img/Makefile b/re2c/doc/tdfa_v2/img/Makefile index 0656219e..a704e36e 100644 --- a/re2c/doc/tdfa_v2/img/Makefile +++ b/re2c/doc/tdfa_v2/img/Makefile @@ -1,7 +1,7 @@ %.pdf : %.tex lualatex -shell-escape $< $<.build_log -all : mark_enum.pdf pe.pdf pe2.pdf trees.pdf tnfa.pdf gor1.pdf +all : mark_enum.pdf pe.pdf pe2.pdf pe3.pdf trees.pdf tnfa.pdf gor1.pdf clean: rm *.log *.build_log *.aux *.pdf *.pag diff --git a/re2c/doc/tdfa_v2/img/mark_enum.tex b/re2c/doc/tdfa_v2/img/mark_enum.tex index 90564cd1..fc1ca763 100644 --- a/re2c/doc/tdfa_v2/img/mark_enum.tex +++ b/re2c/doc/tdfa_v2/img/mark_enum.tex @@ -18,12 +18,12 @@ \begin{tikzpicture}[>=stealth, ->, auto, node distance=0.2in] -\tikzstyle{every node}=[draw=none] +\tikzstyle{every node}=[draw=none, shape=rectangle, , outer sep = 0in]; % $(\epsilon|a^{0,\infty})(a|\epsilon)^{0,\infty}$ \begin{scope}[xshift=0.5in, yshift=0in] - \node (a) {\small{ + \node (a) {{ $\begin{aligned} & mark (((\epsilon|a^{0,\infty})(a|\epsilon)^{0,3} ))) = \big[ \\ & \quad mark ( (\epsilon|a^{0,\infty})(a|\epsilon)^{0,3} ) ) = \big[ \\ @@ -53,13 +53,17 @@ & \big] = (1,1, (1,1,(0,0,\epsilon) \mid (0,0,(0,0,a)^{0,\infty})) \\ & \quad\quad\quad \cdot (1,0,(1,1,(0,0,a) \mid (0,0,\epsilon))^{0,3}) - ) + ) \\ +% +% & \IRE ((\epsilon|a^{0,\infty})(a|\epsilon)^{0,3} )) = \\ +% & \quad\quad\quad = (1,1, (2,2,(0,0,\epsilon) \mid (0,0,(0,0,a)^{0,\infty})) \\ +% & \quad\quad\quad\quad\quad\quad \cdot (3,0,(4,3,(0,0,a) \mid (0,0,\epsilon))^{0,3})) \end{aligned}$ }}; \end{scope} \begin{scope}[xshift=4in, yshift=0in] - \node (a) {\small{ + \node (a) {{ $\begin{aligned} & enum (1,1,(1,1, (1,1,(0,0,\epsilon) \mid (0,0,(0,0,a)^{0,\infty})) \\ @@ -82,51 +86,65 @@ (2,2,(0,0,\epsilon) \mid (0,0,(0,0,a)^{0,\infty})) \\ & \quad\quad\quad\quad\quad \cdot (3,0,(4,3,(0,0,a) \mid (0,0,\epsilon))^{0,3}) )) \\ - \\ - \\ - & \IRE ((\epsilon|a^{0,\infty})(a|\epsilon)^{0,3} )) = \\ - & \quad\quad\quad = (1,1, (2,2,(0,0,\epsilon) \mid (0,0,(0,0,a)^{0,\infty})) \\ - & \quad\quad\quad\quad\quad\quad \cdot (3,0,(4,3,(0,0,a) \mid (0,0,\epsilon))^{0,3})) - \\ - \\ + \\ \\ \\ \\ \\ \\ \\ \end{aligned}$ }}; \end{scope} -\begin{scope}[xshift=2.5in, yshift=-2.4in] +\begin{scope}[xshift=2.5in, yshift=-2.9in] + \node (c) {{ + $\begin{aligned} + & \IRE ((\epsilon|a^{0,\infty})(a|\epsilon)^{0,3} )) + = (1,1, (2,2,(0,0,\epsilon) \mid (0,0,(0,0,a)^{0,\infty})) + \cdot (3,0,(4,3,(0,0,a) \mid (0,0,\epsilon))^{0,3})) + \end{aligned}$ + }}; +\end{scope} + +\begin{scope}[xshift=4in, yshift=-1.35in] \graph [tree layout, grow=down, fresh nodes] { "${(1, 1, \cdot)}_{\Lambda}$" -- { "${(2, 2, |)}_{1}$" -- { - "${(0, 0, \epsilon)}_{1.1}$"[draw=none], - "${(0, 0, \{0,\infty\})}_{1.2}$"[draw=none] -- { - "${(0, 0, a)}_{1.2.1}$"[draw=none] + "${(0, 0, \epsilon)}_{1.1}$", + "${(0, 0, \{0,\infty\})}_{1.2}$" -- { + "${(0, 0, a)}_{1.2.1}$" } }, "${(3, 0, \{0,3\})}_{2}$" -- { "${(4, 3, |)}_{2.1}$" -- { - "${(0, 0, a)}_{2.1.1}$"[draw=none], - "${(0, 0, \epsilon)}_{2.1.2}$"[draw=none] + "${(0, 0, a)}_{2.1.1}$", + "${(0, 0, \epsilon)}_{2.1.2}$" } } } }; \end{scope} -\begin{scope}[xshift=0.2in, yshift=-4in] - \node[xshift=-0.3in, draw=none] {$s:$}; +\newcommand\xsp[1]{\hphantom{\hspace{#1em}\hspace{-0.2em}}} + +\begin{scope}[xshift=0in, yshift=-3.3in, sibling distance=0.6in] + \node[xshift=-0.2in, draw=none] {$s:$}; \graph [tree layout, grow=down, fresh nodes] { - "${T}^{1}_{\Lambda}$" -- { - "${T}^{2}_{1}$" -- { - "${\varnothing}^{0}_{1.1}$"[draw=none], - "${T}^{0}_{1.2}$"[draw=none] -- { - "${a}^{0}_{1.2.1}$"[draw=none] + a1/"${T}^{1}_{\Lambda}$" -- { + a11/"${T}^{2}_{1}$" -- { + a111/"${\varnothing}^{0}_{1.1}$", + a112/"${T}^{0}_{1.2}$" -- { + a1121/"${a}^{0}_{1.2.1}$" } }, - "${T}^{3}_{2}$" -- { - "${\varnothing}^{4}_{2.1}$" + a12/"${T}^{3}_{2}$" -- { + a121/"${\varnothing}^{4}_{2.1}$" } } }; + \node at (a1) {\xsp{2.5}\footnotesize{$\#1$}}; + \node at (a11) {\xsp{2.5}\footnotesize{$\#1$}}; + \node at (a111) {\xsp{3.0}\footnotesize{$\#\infty$}}; + \node at (a112) {\xsp{3.0}\footnotesize{$\#\infty$}}; + \node at (a1121) {\xsp{3.5}\footnotesize{$\#\infty$}}; + \node at (a12) {\xsp{2.5}\footnotesize{$\#0$}}; + \node at (a121) {\xsp{3.0}\footnotesize{$\#\!-\!\!1$}}; + \node[yshift=-1.5in, draw=none] {\small{${T}^{1} \big( {T}^{2} \big( @@ -139,24 +157,34 @@ \big)$}}; \end{scope} -\begin{scope}[xshift=2.1in, yshift=-4in] - \node[xshift=-0.3in, draw=none] {$t:$}; +\begin{scope}[xshift=1.9in, yshift=-3.3in, sibling distance=0.6in] + \node[xshift=-0.2in, draw=none] {$t:$}; \graph [tree layout, grow=down, fresh nodes] { - "${T}^{1}_{\Lambda}$" -- { - "${T}^{2}_{1}$" -- { - "${\varnothing}^{0}_{1.1}$"[draw=none], - "${T}^{0}_{1.2}$"[draw=none] -- { - "${\varnothing}^{0}_{1.2.1}$"[draw=none] + a1/"${T}^{1}_{\Lambda}$" -- { + a11/"${T}^{2}_{1}$" -- { + a111/"${\varnothing}^{0}_{1.1}$", + a112/"${T}^{0}_{1.2}$" -- { + a1121/"${\varnothing}^{0}_{1.2.1}$" } }, - "${T}^{3}_{2}$" -- { - "${T}^{4}_{2.1}$" -- { - "${a}^{0}_{2.1.1}$"[draw=none], - "${\varnothing}^{0}_{2.1.2}$"[draw=none] + a12/"${T}^{3}_{2}$" -- { + a121/"${T}^{4}_{2.1}$" -- { + a1211/"${a}^{0}_{2.1.1}$", + a1212/"${\varnothing}^{0}_{2.1.2}$" } } } }; + \node at (a1) {\xsp{2.5}\footnotesize{$\#1$}}; + \node at (a11) {\xsp{2.5}\footnotesize{$\#0$}}; + \node at (a111) {\xsp{3.0}\footnotesize{$\#\infty$}}; + \node at (a112) {\xsp{3.0}\footnotesize{$\#\infty$}}; + \node at (a1121) {\xsp{3.5}\footnotesize{$\#\infty$}}; + \node at (a12) {\xsp{2.5}\footnotesize{$\#1$}}; + \node at (a121) {\xsp{3.0}\footnotesize{$\#1$}}; + \node at (a1211) {\xsp{3.5}\footnotesize{$\#\infty$}}; + \node at (a1212) {\xsp{3.5}\footnotesize{$\#\infty$}}; + \node[yshift=-1.5in, draw=none] {\small{${T}^{1}\big( {T}^{2}( @@ -169,26 +197,38 @@ \big)$}}; \end{scope} -\begin{scope}[xshift=4.2in, yshift=-4in] - \node[xshift=-0.3in, draw=none] {$u:$}; +\begin{scope}[xshift=4.1in, yshift=-3.3in, sibling distance=0.6in] + \node[xshift=-0.2in, draw=none] {$u:$}; \graph [tree layout, grow=down, fresh nodes] { - "${T}^{1}_{\Lambda}$" -- { - "${T}^{2}_{1}$" -- { - "${\epsilon}^{0}_{1.1}$"[draw=none], - "${\varnothing}^{0}_{1.2}$"[draw=none] + a1/"${T}^{1}_{\Lambda}$" -- { + a11/"${T}^{2}_{1}$" -- { + a111/"${\epsilon}^{0}_{1.1}$", + a112/"${\varnothing}^{0}_{1.2}$" }, - "${T}^{3}_{2}$" -- { - "${T}^{4}_{2.1}$" -- { - "${a}^{0}_{2.1.1}$"[draw=none], - "${\varnothing}^{0}_{2.1.2}$"[draw=none] + a12/"${T}^{3}_{2}$" -- { + a121/"${T}^{4}_{2.1}$" -- { + a1211/"${a}^{0}_{2.1.1}$", + a1212/"${\varnothing}^{0}_{2.1.2}$" }, - "${T}^{4}_{2.2}$" -- { - "${\varnothing}^{0}_{2.2.1}$"[draw=none], - "${\epsilon}^{0}_{2.2.2}$"[draw=none] + a122/"${T}^{4}_{2.2}$" -- { + a1221/"${\varnothing}^{0}_{2.2.1}$", + a1222/"${\epsilon}^{0}_{2.2.2}$" } } } }; + \node at (a1) {\xsp{2.5}\footnotesize{$\#1$}}; + \node at (a11) {\xsp{2.5}\footnotesize{$\#0$}}; + \node at (a111) {\xsp{3.0}\footnotesize{$\#\infty$}}; + \node at (a112) {\xsp{3.0}\footnotesize{$\#\infty$}}; + \node at (a12) {\xsp{2.5}\footnotesize{$\#1$}}; + \node at (a121) {\xsp{3.0}\footnotesize{$\#1$}}; + \node at (a1211) {\xsp{3.5}\footnotesize{$\#\infty$}}; + \node at (a1212) {\xsp{3.5}\footnotesize{$\#\infty$}}; + \node at (a122) {\xsp{3.0}\footnotesize{$\#0$}}; + \node at (a1221) {\xsp{3.5}\footnotesize{$\#\infty$}}; + \node at (a1222) {\xsp{3.5}\footnotesize{$\#\infty$}}; + \node[xshift=0.2in, yshift=-1.5in, draw=none] {\small{${T}^{1}\big( {T}^{2}( diff --git a/re2c/doc/tdfa_v2/img/pe.tex b/re2c/doc/tdfa_v2/img/pe.tex index d0fedf1f..f5ceb225 100644 --- a/re2c/doc/tdfa_v2/img/pe.tex +++ b/re2c/doc/tdfa_v2/img/pe.tex @@ -21,26 +21,30 @@ \begin{document} -\begin{tikzpicture}[>=stealth, ->, auto, node distance=0.2in] +\begin{tikzpicture}[>=stealth] \tikzstyle{every node}=[draw=none, shape=rectangle] % $(\epsilon|a^{0,\infty})(a|\epsilon)^{0,\infty}$ \begin{scope}[xshift=0in, yshift=0in] + \draw [draw=none] (-1.5in,0) rectangle (6.5in,0); +\end{scope} + +\begin{scope}[xshift=3.7in, yshift=-0.4in] \node (a) {{ $\begin{aligned} &\alpha = \Phi_0 (s) - = \Phi_0 \big( - {T}^{1} ( - {T}^{2} ( - {\varnothing}^{0}, - {T}^{0}({a}^{0}) - ), {T}^{3}( - {\varnothing}^{4} - ) - )\big) +% = \Phi_0 \big( +% {T}^{1} ( +% {T}^{2} ( +% {\varnothing}^{0}, +% {T}^{0}({a}^{0}) +% ), {T}^{3}( +% {\varnothing}^{4} +% ) +% )\big) &&\!\!\!\!=\; \overbracket {\Xl_1 \Xl_2 }%^{\alpha_0} \;a\; @@ -48,16 +52,16 @@ \\[-0.4em] &\beta = \Phi_0 (t) - = \Phi_0 \big( - {T}^{1} ( - {T}^{2}( - {\varnothing}^{0}, - {T}^{0}({\varnothing}^{0}) - ), - {T}^{3}\big( - {T}^{4}({a}^{0},{\varnothing}^{0}) - ) - )\big) +% = \Phi_0 \big( +% {T}^{1} ( +% {T}^{2}( +% {\varnothing}^{0}, +% {T}^{0}({\varnothing}^{0}) +% ), +% {T}^{3}\big( +% {T}^{4}({a}^{0},{\varnothing}^{0}) +% ) +% )\big) &&\!\!\!\!=\; \overbracket { \Xl_1 \Xl_2 \Xr_1 \Xl_2 \Xl_3 }%^{\beta_0} \;a\; @@ -65,17 +69,17 @@ \\[-0.4em] &\gamma = \Phi_0 (u) - = \Phi_0 \big( - {T}^{1} ( - {T}^{2}( - {\epsilon}^{0}, - {\varnothing}^{0} - ), - {T}^{3} ( - {T}^{4}({a}^{0},{\varnothing}^{0}), - {T}^{4}({\varnothing}^{0}, {\epsilon}^{0}) - ) - )\big) +% = \Phi_0 \big( +% {T}^{1} ( +% {T}^{2}( +% {\epsilon}^{0}, +% {\varnothing}^{0} +% ), +% {T}^{3} ( +% {T}^{4}({a}^{0},{\varnothing}^{0}), +% {T}^{4}({\varnothing}^{0}, {\epsilon}^{0}) +% ) +% )\big) &&\!\!\!\!=\; \overbracket { \Xl_1 \Xl_2 \Xr_1 \Xl_2 \Xl_3 }%^{\gamma_0} \;a\; @@ -87,7 +91,7 @@ \setlength\tabcolsep{3pt} %\renewcommand{\arraystretch}{1.1} -\begin{scope}[xshift=0in, yshift=-1.75in] +\begin{scope}[xshift=3.7in, yshift=-2.3in] \node (a) { $\begin{aligned} &\begin{tabular}{c|ll} @@ -98,9 +102,9 @@ \end{tabular} &&\quad \left[\begin{aligned} - \rho_0 &= min (lasth (\Xl_1 \Xl_2), minh (\epsilon)) = min (2, \infty) = 2 \\[-0.3em] - \rho'_0 &= min (lasth (\Xl_1 \Xl_2), minh (\Xr_1 \Xl_2 \Xl_3)) = min (2, 1) = 1 \\[-0.3em] - \rho_1 &= min (\rho_0, minh (\Xr_1 \Xl_2 \Xm_2 \Xr_1 \Xr_0)) = min (2,0) = 0 \\[-0.3em] + \rho_0 &= min (lasth (\Xl_1 \Xl_2), minh (\epsilon)) = min (2, \infty) = 2 \\[-0.2em] + \rho'_0 &= min (lasth (\Xl_1 \Xl_2), minh (\Xr_1 \Xl_2 \Xl_3)) = min (2, 1) = 1 \\[-0.2em] + \rho_1 &= min (\rho_0, minh (\Xr_1 \Xl_2 \Xm_2 \Xr_1 \Xr_0)) = min (2,0) = 0 \\[-0.2em] \rho'_1 &= min (\rho'_0, minh (\Xr_2 \Xr_1 \Xr_0)) = min (1,0) = 0 \end{aligned}\right. \\[0.7em] @@ -112,9 +116,9 @@ \end{tabular} &&\quad \left[\begin{aligned} - \rho_0 &= -1 \\[-0.3em] - \rho'_0 &= -1 \\[-0.3em] - \rho_1 &= min (lasth (\Xr_2), minh (\Xr_1 \Xr_0)) = min (2,0) = 0 \\[-0.3em] + \rho_0 &= -1 \\[-0.2em] + \rho'_0 &= -1 \\[-0.2em] + \rho_1 &= min (lasth (\Xr_2), minh (\Xr_1 \Xr_0)) = min (2,0) = 0 \\[-0.2em] \rho'_1 &= min (lasth (\Xr_2), minh (\Xl_3 \Xr_2 \Xr_1 \Xr_0)) = min (2,0) = 0 \end{aligned}\right. \\[0.7em] @@ -126,9 +130,9 @@ \end{tabular} &&\quad \left[\begin{aligned} - \rho_0 &= min (lasth (\Xl_1 \Xl_2), minh (\epsilon)) = min (2, \infty) = 2 \\[-0.3em] - \rho'_0 &= min (lasth (\Xl_1 \Xl_2), minh (\Xr_1 \Xl_2 \Xl_3)) = min (2, 1) = 1 \\[-0.3em] - \rho_1 &= min (\rho_0, minh (\Xr_1 \Xl_2 \Xm_2 \Xr_1 \Xr_0)) = min (2,0) = 0 \\[-0.3em] + \rho_0 &= min (lasth (\Xl_1 \Xl_2), minh (\epsilon)) = min (2, \infty) = 2 \\[-0.2em] + \rho'_0 &= min (lasth (\Xl_1 \Xl_2), minh (\Xr_1 \Xl_2 \Xl_3)) = min (2, 1) = 1 \\[-0.2em] + \rho_1 &= min (\rho_0, minh (\Xr_1 \Xl_2 \Xm_2 \Xr_1 \Xr_0)) = min (2,0) = 0 \\[-0.2em] \rho'_1 &= min (\rho'_0, minh (\Xr_2 \Xl_3 \Xr_2 \Xr_1 \Xr_0)) = min (1,0) = 0 \end{aligned}\right. \end{aligned}$ @@ -137,66 +141,269 @@ -\tikzstyle{every node}=[draw=none, shape=rectangle, sibling distance=0, level distance=0, outer sep = 0] +\tikzstyle{styleA}=[draw=none + , shape=rectangle + , rounded corners=4 + , level distance=0.35in + , sibling distance=0.45in + , minimum size = 0.2in + , inner sep = 0pt + , outer sep = 0pt + ] +\tikzstyle{styleB}=[-> + %, color = lightgray + , rounded corners=3.5 + %, line width = 0 + , dash pattern = on 1pt off 2.5pt + ] +\newcommand\w{\hspace{2em}} \small{ -\begin{scope}[xshift=-3.5in, yshift=0.3in] - \node[xshift=-0.2in, draw=none] {$s:$}; +\begin{scope}[xshift=0in, yshift=0in] + \tikzstyle{every node}=[styleA] + %\tikzstyle{every edge}=[draw=none] + \node[xshift=-0.4in, draw=none] {$s:$}; \graph [tree layout, grow=down, fresh nodes] { - "${T}^{1}$" -- { - "${T}^{2}$" -- { - "${\varnothing}^{0}$"[draw=none], - "${T}^{0}$"[draw=none] -- { - "${a}^{0}$"[draw=none] + s1/"${T}^{1}$" -- { + s11/"${T}^{2}$" -- { + s111/"${\varnothing}^{0}$", + s112/"${T}^{0}$" -- { + s1121/"${a}^{0}$" } }, - "${T}^{3}$" -- { - "${\varnothing}^{4}$" + s12/"${T}^{3}$" -- { + s121/"${\varnothing}^{4}$" } } }; + \node at (s1) {$\Xl_1 \w \Xr_0$}; + \node at (s11) {$\Xl_2 \w \Xr_1$}; + \node at (s12) {$\Xl_2 \w \Xr_1$}; + \node at (s121) {$\Xl_3 \w \Xr_2$}; + \draw [->, styleB] ($(s1.west)$) + -- ($(s1.south west)$) + -- ($(s11.north west)$) + -- ($(s11.west)$) + -- ($(s11.south west)$) + -- ($(s111.north west)$) + -- ($(s111.west)$) + -- ($(s111.south west)$) + -- ($(s111.south)$) + -- ($(s111.south east)$) + -- ($(s111.east)$) + -- ($(s111.north east)$) + -- ($(s11.south)$) + -- ($(s112.north west)$) + -- ($(s112.west)$) + -- ($(s112.south west)$) + -- ($(s1121.north west)$) + -- ($(s1121.west)$); + \draw [->, styleB] ($(s1121.east)$) + -- ($(s1121.north east)$) + -- ($(s112.south east)$) + -- ($(s112.east)$) + -- ($(s112.north east)$) + -- ($(s11.south east)$) + -- ($(s11.east)$) + -- ($(s11.north east)$) + -- ($(s1.south)$) + -- ($(s12.north west)$) + -- ($(s12.west)$) + -- ($(s12.south west)$) + -- ($(s121.north west)$) + -- ($(s121.west)$) + -- ($(s121.south west)$) + -- ($(s121.south)$) + -- ($(s121.south east)$) + -- ($(s121.east)$) + -- ($(s121.north east)$) + -- ($(s12.south east)$) + -- ($(s12.east)$) + -- ($(s12.north east)$) + -- ($(s1.south east)$) + -- ($(s1.east)$); \end{scope} -\begin{scope}[xshift=-3.5in, yshift=-0.85in] - \node[xshift=-0.2in, draw=none] {$t:$}; +\begin{scope}[xshift=0in, yshift=-1.3in] + \tikzstyle{every node}=[styleA] + \node[xshift=-0.4in, draw=none] {$t:$}; \graph [tree layout, grow=down, fresh nodes] { - "${T}^{1}$" -- { - "${T}^{2}$" -- { - "${\varnothing}^{0}$"[draw=none], - "${T}^{0}$"[draw=none] -- { - "${\varnothing}^{0}$"[draw=none] + t1/"${T}^{1}$" -- { + t11/"${T}^{2}$" -- { + t111/"${\varnothing}^{0}$", + t112/"${T}^{0}$" -- { + t1121/"${\varnothing}^{0}$" } }, - "${T}^{3}$" -- { - "${T}^{4}$" -- { - "${a}^{0}$"[draw=none], - "${\varnothing}^{0}$"[draw=none] + t12/"${T}^{3}$" -- { + t121/"${T}^{4}$" -- { + t1211/"${a}^{0}$", + t1212/"${\varnothing}^{0}$" } } } }; + \node at (t1) {$\Xl_1 \w \Xr_0$}; + \node at (t11) {$\Xl_2 \w \Xr_1$}; + \node at (t12) {$\Xl_2 \w \Xr_1$}; + \node at (t121) {$\Xl_3 \w \Xr_2$}; + \draw [->, styleB] ($(t1.west)$) + -- ($(t1.south west)$) + -- ($(t11.north west)$) + -- ($(t11.west)$) + -- ($(t11.south west)$) + -- ($(t111.north west)$) + -- ($(t111.west)$) + -- ($(t111.south west)$) + -- ($(t111.south)$) + -- ($(t111.south east)$) + -- ($(t111.east)$) + -- ($(t111.north east)$) + -- ($(t11.south)$) + -- ($(t112.north west)$) + -- ($(t112.west)$) + -- ($(t112.south west)$) + -- ($(t1121.north west)$) + -- ($(t1121.west)$) + -- ($(t1121.south west)$) + -- ($(t1121.south)$) + -- ($(t1121.south east)$) + -- ($(t1121.east)$) + -- ($(t1121.north east)$) + -- ($(t112.south east)$) + -- ($(t112.east)$) + -- ($(t112.north east)$) + -- ($(t11.south east)$) + -- ($(t11.east)$) + -- ($(t11.north east)$) + -- ($(t1.south)$) + -- ($(t12.north west)$) + -- ($(t12.west)$) + -- ($(t12.south west)$) + -- ($(t121.north west)$) + -- ($(t121.west)$) + -- ($(t121.south west)$) + -- ($(t1211.north west)$) + -- ($(t1211.west)$); + \draw [->, styleB] + ($(t1211.east)$) + -- ($(t121.south)$) + -- ($(t1212.north west)$) + -- ($(t1212.west)$) + -- ($(t1212.south west)$) + -- ($(t1212.south)$) + -- ($(t1212.south east)$) + -- ($(t1212.east)$) + -- ($(t1212.north east)$) + -- ($(t121.south east)$) + -- ($(t121.east)$) + -- ($(t121.north east)$) + -- ($(t12.south east)$) + -- ($(t12.east)$) + -- ($(t12.north east)$) + -- ($(t1.south east)$) + -- ($(t1.east)$); \end{scope} -\begin{scope}[xshift=-3.5in, yshift=-2in] - \node[xshift=-0.2in, draw=none] {$u:$}; +\begin{scope}[xshift=0in, yshift=-2.6in] + \tikzstyle{every node}=[styleA] + \node[xshift=-0.4in, draw=none] {$u:$}; \graph [tree layout, grow=down, fresh nodes] { - "${T}^{1}$" -- { - "${T}^{2}$" -- { - "${\epsilon}^{0}$"[draw=none], - "${\varnothing}^{0}$"[draw=none] + t1/"${T}^{1}$" -- { + t11/"${T}^{2}$" -- { + t111/"${\epsilon}^{0}$", + t112/"${\varnothing}^{0}$" }, - "${T}^{3}$" -- { - "${T}^{4}$" -- { - "${a}^{0}$"[draw=none], - "${\varnothing}^{0}$"[draw=none] + t12/"${T}^{3}$" -- { + t121/"${T}^{4}$" -- { + t1211/"${a}^{0}$", + t1212/"${\varnothing}^{0}$" }, - "${T}^{4}$" -- { - "${\varnothing}^{0}$"[draw=none], - "${\epsilon}^{0}$"[draw=none] + t122/"${T}^{4}$" -- { + t1221/"${\varnothing}^{0}$", + t1222/"${\epsilon}^{0}$" } } } }; + \node at (t1) {$\Xl_1 \w \Xr_0$}; + \node at (t11) {$\Xl_2 \w \Xr_1$}; + \node at (t12) {$\Xl_2 \w \Xr_1$}; + \node at (t121) {$\Xl_3 \w \Xr_2$}; + \node at (t122) {$\Xl_3 \w \Xr_2$}; + \draw [->, styleB] + ($(t1.west)$) + -- ($(t1.south west)$) + -- ($(t11.north west)$) + -- ($(t11.west)$) + -- ($(t11.south west)$) + -- ($(t111.north west)$) + -- ($(t111.west)$) + -- ($(t111.south west)$) + -- ($(t111.south)$) + -- ($(t111.south east)$) + -- ($(t111.east)$) + -- ($(t111.north east)$) + -- ($(t11.south)$) + -- ($(t112.north west)$) + -- ($(t112.west)$) + -- ($(t112.south west)$) + -- ($(t112.south)$) + -- ($(t112.south east)$) + -- ($(t112.east)$) + -- ($(t112.north east)$) + -- ($(t11.south east)$) + -- ($(t11.east)$) + -- ($(t11.north east)$) + -- ($(t1.south)$) + -- ($(t12.north west)$) + -- ($(t12.west)$) + -- ($(t12.south west)$) + -- ($(t121.north west)$) + -- ($(t121.west)$) + -- ($(t121.south west)$) + -- ($(t1211.north west)$) + -- ($(t1211.west)$); + \draw [->, styleB] + ($(t1211.east)$) + -- ($(t121.south)$) + -- ($(t1212.north west)$) + -- ($(t1212.west)$) + -- ($(t1212.south west)$) + -- ($(t1212.south)$) + -- ($(t1212.south east)$) + -- ($(t1212.east)$) + -- ($(t1212.north east)$) + -- ($(t121.south east)$) + -- ($(t121.east)$) + -- ($(t121.north east)$) + -- ($(t12.south)$) + -- ($(t122.north west)$) + -- ($(t122.west)$) + -- ($(t122.south west)$) + -- ($(t1221.north west)$) + -- ($(t1221.west)$) + -- ($(t1221.south west)$) + -- ($(t1221.south)$) + -- ($(t1221.south east)$) + -- ($(t1221.east)$) + -- ($(t1221.north east)$) + -- ($(t122.south)$) + -- ($(t1222.north west)$) + -- ($(t1222.west)$) + -- ($(t1222.south west)$) + -- ($(t1222.south)$) + -- ($(t1222.south east)$) + -- ($(t1222.east)$) + -- ($(t1222.north east)$) + -- ($(t122.south east)$) + -- ($(t122.east)$) + -- ($(t122.north east)$) + -- ($(t12.south east)$) + -- ($(t12.east)$) + -- ($(t12.north east)$) + -- ($(t1.south east)$) + -- ($(t1.east)$); \end{scope} } diff --git a/re2c/doc/tdfa_v2/img/pe2.tex b/re2c/doc/tdfa_v2/img/pe2.tex index 22bd32f7..f89aaf1f 100644 --- a/re2c/doc/tdfa_v2/img/pe2.tex +++ b/re2c/doc/tdfa_v2/img/pe2.tex @@ -21,198 +21,213 @@ \begin{document} -\begin{tikzpicture}[>=stealth, auto, sibling distance = 0.3in, inner sep = 1.5pt] +\begin{tikzpicture}[>=stealth, auto, sibling distance = 0.2in, inner sep = 1pt, outer sep = 0pt] \tikzstyle{every node}=[draw, shape = circle] -\begin{scope}[xshift=0in, yshift=0in] - \graph [tree layout, grow=down, fresh nodes] { - "$t_1$"[draw] -- { - ""[draw] -- { - ""[draw] -- { "$a$", "$a$", "$a$" } +\small{ +\begin{scope}[xshift=0in, yshift=-0in] + \tikzstyle{every node}=[draw, shape = circle] + \graph [tree layout, grow=down, fresh nodes, level distance = 0.2in] { + "$t_1$" -- { + "" -- { + "" -- { "$a$", "$a$", "$a$" } } } - , "$t_2$"[draw] -- { - ""[draw] -- { - ""[draw] -- { "$a$", "$a$" }, - ""[draw] -- { "$a$" } + , "$t_2$" -- { + "" -- { + "" -- { "$a$", "$a$" }, + "" -- { "$a$" } } } - , "$t_3$"[draw] -- { - ""[draw] -- { - ""[draw] -- { "$a$" }, - ""[draw] -- { "$a$", "$a$" } + , t31/"$t_3$" -- { + t311/"" -- { + t3111/"" -- { t31111/"$a$" }, + t3112/"" -- { t31121/"$a$", t31122/"$a$" } } } - , "$t_4$"[draw] -- { - ""[draw] -- { - ""[draw] -- { "$a$" }, - ""[draw] -- { "$a$" }, - ""[draw] -- { "$a$" } + , "$t_4$" -- { + "" -- { + "" -- { "$a$" }, + "" -- { "$a$" }, + "" -- { "$a$" } } } - , "$t_5$"[draw] -- { - ""[draw] -- { - ""[draw] -- { "$a$", "$a$" } + , t51/"$t_5$" -- { + t511/"" -- { + t5111/"" -- { t51111/"$a$", t51112/"$a$" } }, - ""[draw] -- { - ""[draw] -- { "$a$" } + t512/"" -- { + t5121/"" -- { t51211/"$a$" } } } - , "$t_6$"[draw] -- { - ""[draw] -- { - ""[draw] -- { "$a$" } + , "$t_6$" -- { + "" -- { + "" -- { "$a$" } }, - ""[draw] -- { - ""[draw] -- { "$a$", "$a$" } + "" -- { + "" -- { "$a$", "$a$" } } } - , "$t_7$"[draw] -- { - ""[draw] -- { - ""[draw] -- { "$a$"}, - ""[draw] -- { "$a$"} + , "$t_7$" -- { + "" -- { + "" -- { "$a$"}, + "" -- { "$a$"} }, - ""[draw] -- { - ""[draw] -- { "$a$" } + "" -- { + "" -- { "$a$" } } } - , "$t_8$"[draw] -- { - ""[draw] -- { - ""[draw] -- { "$a$"} + , "$t_8$" -- { + "" -- { + "" -- { "$a$"} }, - ""[draw] -- { - ""[draw] -- { "$a$"}, - ""[draw] -- { "$a$" } + "" -- { + "" -- { "$a$"}, + "" -- { "$a$" } } } - , "$t_9$"[draw] -- { - ""[draw] -- { - ""[draw] -- { "$a$" } + , "$t_9$" -- { + "" -- { + "" -- { "$a$" } }, - ""[draw] -- { - ""[draw] -- { "$a$" } + "" -- { + "" -- { "$a$" } }, - ""[draw] -- { - ""[draw] -- { "$a$" } + "" -- { + "" -- { "$a$" } } } }; \end{scope} +} -\tikzstyle{styleD}=[rounded corners, thick, dash pattern=on 1pt off 3pt] -\tikzstyle{styleC}=[rounded corners, thick, dash pattern=on 3pt off 2pt] -\tikzstyle{styleB}=[rounded corners, thick, dash pattern=on 5pt off 2pt] -\tikzstyle{styleA}=[rounded corners, thick, dash pattern=on 8pt off 2pt] -\begin{scope}[xshift=0in, yshift=-3.35in] -% \tikzstyle{every node}=[draw, shape=circle] - \tikzstyle{every node}=[draw=none, shape=rectangle, inner sep = 0, level distance=0.45in] - \graph [tree layout, grow=down, fresh nodes, sibling distance=0.45in] { - a1/""[label=above:$t_3$]{} -- { - a11/"" -- { - a111/"" -- { a1111/""[label=below:$a$] }, - a112/"" -- { a1121/""[label=below:$a$], a1122/""[label=below:$a$] } +\tikzstyle{styleA}=[draw=none + , shape=circle + , minimum size = 0.2in + , inner sep = 0pt + , outer sep = 0pt + ] + +\tikzstyle{styleB}=[-> + , rounded corners=3.5 + %, color = lightgray + , dash pattern = on 1pt off 2.5pt + ] + +\newcommand\w{\hspace{2em}} + +\begin{scope}[xshift=0in, yshift=-2.5in] + \tikzstyle{every node}=[draw = none, shape = circle, inner sep = 0] + \node[xshift=-0.4in, draw=none] {$t_3:$}; + \graph [tree layout, grow=down, fresh nodes, sibling distance = 0.45in, level distance = 0.35in] { + t31/"$T^1$" -- { + t311/"$T^2$" -- { + t3111/"$T^3$" -- { t31111/"$a^4$" }, + t3112/"$T^5$" -- { t31121/"$a^6$", t31122/"$a^7$" } } } }; - \tikzstyle{every node}=[draw=none, shape=rectangle] - \newcommand\e{1.3em} - \node (x1) at (a1) {$\Xl_1 \hspace{\e} \Xr_0$}; - \node (x11) at (a11) {$\Xl_2 \hspace{\e} \Xr_1$}; - \node (x111) at (a111) {$\Xl_3 \hspace{\e} \Xr_2$}; - \node (x112) at (a112) {$\Xl_3 \hspace{\e} \Xr_2$}; - \node (x1111) at (a1111) {$\Xl_4 \hspace{\e} \Xr_3$}; - \node (x1121) at (a1121) {$\Xl_4 \hspace{\e} \Xr_3$}; - \node (x1122) at (a1122) {$\Xl_4 \hspace{\e} \Xr_3$}; - - \newcommand\xxx{ - \tikzstyle{every node}=[outer sep=0] - \newcommand\w{0.12} - \draw [->, styleA, lightgray, very thick] ($(a1.center)+(-\w,0)$) -- ($(a11.center)+(-\w,0)$) -- ($(a111.center)+(-\w,0)$) -- ($(a1111.center)+(-\w,0)$); - \draw [ styleB, lightgray, very thick] ($(a1111.center)+(\w,0)$) -- ($(a111.center)+(\w,0)$); - \draw [->, styleB] ($(a111.center)+(\w,0)$) -- ($(a11.center)+(0,-0.18)$) -- ($(a112.center)+(-\w,0)$) -- ($(a1121)+(-\w,0)$); - \draw [->, styleC] ($(a1121.center)+(\w,0)$) -- ($(a112.center)+(0,-0.18)$) -- ($(a1122.center)+(-\w,0)$); - \draw [->, styleD] ($(a1122.center)+(\w,0)$) -- ($(a112.center)+(\w,0)$) -- ($(a11.center)+(\w,0)$) -- ($(a1.center)+(\w,0)$); - } - \xxx - -% \node (f) [draw, shape=ellipse, fill] at ($(a111.center)+(\w,0)$) {}; + \node at (t31) [styleA] {$\Xl_1 \w \Xr_0$}; + \node at (t311) [styleA] {$\Xl_2 \w \Xr_1$}; + \node at (t3111) [styleA] {$\Xl_3 \w \Xr_2$}; + \node at (t3112) [styleA] {$\Xl_3 \w \Xr_2$}; + \node at (t31111) [styleA] {$\Xl_4 \w \Xr_3$}; + \node at (t31121) [styleA] {$\Xl_4 \w \Xr_3$}; + \node at (t31122) [styleA] {$\Xl_4 \w \Xr_3$}; + % + \node at (t31) [styleA] (tt31) {}; + \node at (t311) [styleA] (tt311) {}; + \node at (t3111) [styleA] (tt3111) {}; + \node at (t3112) [styleA] (tt3112) {}; + \node at (t31111) [styleA] (tt31111) {}; + \node at (t31121) [styleA] (tt31121) {}; + \node at (t31122) [styleA] (tt31122) {}; + % + \draw [->, styleB] ($(tt31.west)$) + -- ($(tt311.west)$) + -- ($(tt3111.west)$) + -- ($(tt31111.west)$); + \draw [->, styleB] ($(tt31111.east)$) + -- ($(tt3111.east)$) + -- ($(tt311.south)$) + -- ($(tt3112.west)$) + -- ($(tt31121.west)$); + \draw [->, styleB] ($(tt31121.east)$) + -- ($(tt3112.south)$) + -- ($(tt31122.west)$); + \draw [->, styleB] ($(tt31122.east)$) + -- ($(tt3112.east)$) + -- ($(tt311.east)$) + -- ($(tt31.east)$); \end{scope} -\begin{scope}[xshift=1.65in, yshift=-3.35in] -% \tikzstyle{every node}=[draw, shape=circle] - \tikzstyle{every node}=[draw=none, shape=rectangle, inner sep = 0, level distance=0.45in] - \graph [tree layout, grow=down, fresh nodes, sibling distance=0.45in] { - b1/""[label=above:$t_5$]{} -- { - b11/"" -- { - b111/"" -- { b1111/""[label=below:$a$]{}, b1112/""[label=below:$a$] } +\begin{scope}[xshift=1.6in, yshift=-2.5in] + \tikzstyle{every node}=[draw = none, shape = circle, inner sep = 0] + \node[xshift=-0.4in, draw=none] {$t_5:$}; + \graph [tree layout, grow=down, fresh nodes, sibling distance = 0.45in, level distance = 0.35in] { + t51/"$T^1$" -- { + t511/"$T^2$" -- { + t5111/"$T^3$" -- { t51111/"$a^4$", t51112/"$a^5$" } }, - b12/"" -- { - b121/"" -- { b1211/""[label=below:$a$] } + t512/"$T^6$" -- { + t5121/"$T^7$" -- { t51211/"$a^8$" } } } }; - \tikzstyle{every node}=[draw=none, shape=rectangle] - \newcommand\e{1.3em} - \node (y1) at (b1) {$\Xl_1 \hspace{\e} \Xr_0$}; - \node (y11) at (b11) {$\Xl_2 \hspace{\e} \Xr_1$}; - \node (y12) at (b12) {$\Xl_2 \hspace{\e} \Xr_1$}; - \node (y111) at (b111) {$\Xl_3 \hspace{\e} \Xr_2$}; - \node (y121) at (b121) {$\Xl_3 \hspace{\e} \Xr_2$}; - \node (y1111) at (b1111) {$\Xl_4 \hspace{\e} \Xr_3$}; - \node (y1112) at (b1112) {$\Xl_4 \hspace{\e} \Xr_3$}; - \node (y1211) at (b1211) {$\Xl_4 \hspace{\e} \Xr_3$}; - - \newcommand\yyy{ - \tikzstyle{every node}=[outer sep=0] - \newcommand\w{0.12} - \draw [->, lightgray, very thick, styleA] ($(b1.center)+(-\w,0)$) -- ($(b11.center)+(-\w,0)$) -- ($(b111.center)+(-\w,0)$) -- ($(b1111.center)+(-\w,0)$); - \draw [ lightgray, very thick, styleB] ($(b1111.center)+(\w,0)$) -- ($(b111.center)+(0,-0.18)$); - \draw [->, styleB] ($(b111.center)+(0,-0.18)$) -- ($(b1112.center)+(-\w,0)$); - \draw [->, styleC] ($(b1112.center)+(\w,0)$) -- ($(b111.center)+(\w,0)$) -- ($(b11.center)+(\w,0)$) -- ($(b1.center)+(0,-0.18)$) - -- ($(b12.center)+(-\w,0)$) -- ($(b121.center)+(-\w,0)$) -- ($(b1211.center)+(-\w,0)$); - \draw [->, styleD] ($(b1211.center)+(\w,0)$) -- ($(b121.center)+(\w,0)$) -- ($(b12.center)+(\w,0)$) -- ($(b1.center)+(\w,0)$); - } - \yyy - -% \node (f) [draw, shape=ellipse, fill] at ($(b111.center)+(0,-0.25)$) {}; -\end{scope} - -\begin{scope}[xshift=2.8in, yshift=-4.95in] - \tikzstyle{every node}=[draw=none, shape=rectangle] - \newcommand\z{0.3} - \node (a1) at (0,0) {}; - \node at ($(a1)+(0,5*\z)$) [label=left:{{frame 0}}]{}; - \draw[->, styleA] ($(a1)+(0,5*\z)+(0,0)$) -- ($(a1)+(0,5*\z)+(1.2,0)$); - \node at ($(a1)+(0,4*\z)$) [label=left:{{frame 1}}]{}; - \draw[->, styleB] ($(a1)+(0,4*\z)+(0,0)$) -- ($(a1)+(0,4*\z)+(1.2,0)$); - \node at ($(a1)+(0,3*\z)$) [label=left:{{frame 2}}]{}; - \draw[->, styleC] ($(a1)+(0,3*\z)+(0,0)$) -- ($(a1)+(0,3*\z)+(1.2,0)$); - \node at ($(a1)+(0,2*\z)$) [label=left:{{frame 3}}]{}; - \draw[->, styleD] ($(a1)+(0,2*\z)+(0,0)$) -- ($(a1)+(0,2*\z)+(1.2,0)$); + \node at (t51) [styleA] {$\Xl_1 \w \Xr_0$}; + \node at (t511) [styleA] {$\Xl_2 \w \Xr_1$}; + \node at (t5111) [styleA] {$\Xl_3 \w \Xr_2$}; + \node at (t51111) [styleA] {$\Xl_4 \w \Xr_3$}; + \node at (t51112) [styleA] {$\Xl_4 \w \Xr_3$}; + \node at (t512) [styleA] {$\Xl_2 \w \Xr_1$}; + \node at (t5121) [styleA] {$\Xl_3 \w \Xr_2$}; + \node at (t51211) [styleA] {$\Xl_4 \w \Xr_3$}; + % + \node at (t51) [styleA] (tt51) {}; + \node at (t511) [styleA] (tt511) {}; + \node at (t5111) [styleA] (tt5111) {}; + \node at (t51111) [styleA] (tt51111) {}; + \node at (t51112) [styleA] (tt51112) {}; + \node at (t512) [styleA] (tt512) {}; + \node at (t5121) [styleA] (tt5121) {}; + \node at (t51211) [styleA] (tt51211) {}; + % + \draw [->, styleB] ($(tt51.west)$) + -- ($(tt511.west)$) + -- ($(tt5111.west)$) + -- ($(tt51111.west)$); + \draw [->, styleB] ($(tt51111.east)$) + -- ($(tt5111.south)$) + -- ($(tt51112.west)$); + \draw [->, styleB] ($(tt51112.east)$) + -- ($(tt5111.east)$) + -- ($(tt511.east)$) + -- ($(tt51.south)$) + -- ($(tt512.west)$) + -- ($(tt5121.west)$) + -- ($(tt51211.west)$); + \draw [->, styleB] ($(tt51211.east)$) + -- ($(tt5121.east)$) + -- ($(tt512.east)$) + -- ($(tt51.east)$); \end{scope} -%\begin{scope}[xshift=0in, yshift=0.1in] -% \node (a1) {1}; -% \node [right of = a1, xshift = 0.5in] (a2) {2}; -% \node [right of = a2, xshift = 0.35in] (a3) {3}; -% \node [right of = a3, xshift = 0.45in] (a4) {4}; -% \node [right of = a4, xshift = 0.45in] (a5) {5}; -%\end{scope} -\begin{scope}[xshift=6.7in, yshift=-3.2in] +\begin{scope}[xshift=5.7in, yshift=-2.3in] \node [shape=rectangle, draw = none] (a) { $\begin{aligned} &\begin{aligned} - &t_1 &&\overbracket {\Xl_1 \Xl_2 \Xl_3 \Xl_4} a \overbracket {\Xr_3 \Xl_4} a \overbracket {\Xr_3 \Xl_4} a \overbracket {\Xr_3 \Xr_2 \Xr_1 \Xr_0} \\ - &t_2 &&\overbracket {\Xl_1 \Xl_2 \Xl_3 \Xl_4} a \overbracket {\Xr_3 \Xl_4} a \overbracket {\Xr_3 \Xr_2 \Xl_3 \Xl_4} a \overbracket {\Xr_3 \Xr_2 \Xr_1 \Xr_0} \\ - &t_3 &&\overbracket {\Xl_1 \Xl_2 \Xl_3 \Xl_4} a \overbracket {\Xr_3 \Xr_2 \Xl_3 \Xl_4} a \overbracket {\Xr_3 \Xl_4} a \overbracket {\Xr_3 \Xr_2 \Xr_1 \Xr_0} \\ - &t_4 &&\overbracket {\Xl_1 \Xl_2 \Xl_3 \Xl_4} a \overbracket {\Xr_3 \Xr_2 \Xl_3 \Xl_4} a \overbracket {\Xr_3 \Xr_2 \Xl_3 \Xl_4} a \overbracket {\Xr_3 \Xr_2 \Xr_1 \Xr_0} \\ - &t_5 &&\overbracket {\Xl_1 \Xl_2 \Xl_3 \Xl_4} a \overbracket {\Xr_3 \Xl_4} a \overbracket {\Xr_3 \Xr_2 \Xr_1 \Xl_2 \Xl_3 \Xl_4} a \overbracket {\Xr_3 \Xr_2 \Xr_1 \Xr_0} \\ - &t_6 &&\overbracket {\Xl_1 \Xl_2 \Xl_3 \Xl_4} a \overbracket {\Xr_3 \Xr_2 \Xr_1 \Xl_2 \Xl_3 \Xl_4} a \overbracket {\Xr_3 \Xl_4} a \overbracket {\Xr_3 \Xr_2 \Xr_1 \Xr_0} \\ - &t_7 &&\overbracket {\Xl_1 \Xl_2 \Xl_3 \Xl_4} a \overbracket {\Xr_3 \Xr_2 \Xl_3 \Xl_4} a \overbracket {\Xr_3 \Xr_2 \Xr_1 \Xl_2 \Xl_3 \Xl_4} a \overbracket {\Xr_3 \Xr_2 \Xr_1 \Xr_0} \\ - &t_8 &&\overbracket {\Xl_1 \Xl_2 \Xl_3 \Xl_4} a \overbracket {\Xr_3 \Xr_2 \Xr_1 \Xl_2 \Xl_3 \Xl_4} a \overbracket {\Xr_3 \Xr_2 \Xl_3 \Xl_4} a \overbracket {\Xr_3 \Xr_2 \Xr_1 \Xr_0} \\ - &t_9 &&\overbracket {\Xl_1 \Xl_2 \Xl_3 \Xl_4} a \overbracket {\Xr_3 \Xr_2 \Xr_1 \Xl_2 \Xl_3 \Xl_4} a \overbracket {\Xr_3 \Xr_2 \Xr_1 \Xl_2 \Xl_3 \Xl_4} a \overbracket {\Xr_3 \Xr_2 \Xr_1 \Xr_0} + &\Phi_0(t_1) = \overbracket {\Xl_1 \Xl_2 \Xl_3 \Xl_4} a \overbracket {\Xr_3 \Xl_4} a \overbracket {\Xr_3 \Xl_4} a \overbracket {\Xr_3 \Xr_2 \Xr_1 \Xr_0} \\ + &\Phi_0(t_2) = \overbracket {\Xl_1 \Xl_2 \Xl_3 \Xl_4} a \overbracket {\Xr_3 \Xl_4} a \overbracket {\Xr_3 \Xr_2 \Xl_3 \Xl_4} a \overbracket {\Xr_3 \Xr_2 \Xr_1 \Xr_0} \\ + &\Phi_0(t_3) = \overbracket {\Xl_1 \Xl_2 \Xl_3 \Xl_4} a \overbracket {\Xr_3 \Xr_2 \Xl_3 \Xl_4} a \overbracket {\Xr_3 \Xl_4} a \overbracket {\Xr_3 \Xr_2 \Xr_1 \Xr_0} \\ + &\Phi_0(t_4) = \overbracket {\Xl_1 \Xl_2 \Xl_3 \Xl_4} a \overbracket {\Xr_3 \Xr_2 \Xl_3 \Xl_4} a \overbracket {\Xr_3 \Xr_2 \Xl_3 \Xl_4} a \overbracket {\Xr_3 \Xr_2 \Xr_1 \Xr_0} \\ + &\Phi_0(t_5) = \overbracket {\Xl_1 \Xl_2 \Xl_3 \Xl_4} a \overbracket {\Xr_3 \Xl_4} a \overbracket {\Xr_3 \Xr_2 \Xr_1 \Xl_2 \Xl_3 \Xl_4} a \overbracket {\Xr_3 \Xr_2 \Xr_1 \Xr_0} \\ + &\Phi_0(t_6) = \overbracket {\Xl_1 \Xl_2 \Xl_3 \Xl_4} a \overbracket {\Xr_3 \Xr_2 \Xr_1 \Xl_2 \Xl_3 \Xl_4} a \overbracket {\Xr_3 \Xl_4} a \overbracket {\Xr_3 \Xr_2 \Xr_1 \Xr_0} \\ + &\Phi_0(t_7) = \overbracket {\Xl_1 \Xl_2 \Xl_3 \Xl_4} a \overbracket {\Xr_3 \Xr_2 \Xl_3 \Xl_4} a \overbracket {\Xr_3 \Xr_2 \Xr_1 \Xl_2 \Xl_3 \Xl_4} a \overbracket {\Xr_3 \Xr_2 \Xr_1 \Xr_0} \\ + &\Phi_0(t_8) = \overbracket {\Xl_1 \Xl_2 \Xl_3 \Xl_4} a \overbracket {\Xr_3 \Xr_2 \Xr_1 \Xl_2 \Xl_3 \Xl_4} a \overbracket {\Xr_3 \Xr_2 \Xl_3 \Xl_4} a \overbracket {\Xr_3 \Xr_2 \Xr_1 \Xr_0} \\ + &\Phi_0(t_9) = \overbracket {\Xl_1 \Xl_2 \Xl_3 \Xl_4} a \overbracket {\Xr_3 \Xr_2 \Xr_1 \Xl_2 \Xl_3 \Xl_4} a \overbracket {\Xr_3 \Xr_2 \Xr_1 \Xl_2 \Xl_3 \Xl_4} a \overbracket {\Xr_3 \Xr_2 \Xr_1 \Xr_0} \end{aligned} \\[1em] & \quad\quad t_1 < t_2 < t_3 < t_4 < t_5 < t_7 < t_6 < t_8 < t_9 @@ -220,9 +235,9 @@ }; \end{scope} -\begin{scope}[xshift=2.4in, yshift=-3.1in] +\begin{scope}[xshift=2.1in, yshift=-2.2in] \node [shape=rectangle, draw = none] (a) { - \setlength\tabcolsep{2pt} + \setlength\tabcolsep{1.5pt} \renewcommand{\arraystretch}{1.1} $\begin{aligned} &\begin{tabular}{c ccccccccc} diff --git a/re2c/doc/tdfa_v2/part_1_tnfa.tex b/re2c/doc/tdfa_v2/part_1_tnfa.tex index 22ebb053..7e427c33 100644 --- a/re2c/doc/tdfa_v2/part_1_tnfa.tex +++ b/re2c/doc/tdfa_v2/part_1_tnfa.tex @@ -751,9 +751,8 @@ Therefore $\alpha < \beta < \gamma$. All possible IPTs for RE $(((a)^{1,3})^{1,3})^{1,3}$ and string $aaa$, the corresponding PEs,\\ and the table of traces for each pair of PEs. Table entry for row $t_i$ and column $t_j$ contains $traces(\Phi_0(t_i), \Phi_0(t_j))$.\\ -IPTs $t_3$ and $t_5$ are showed in more detail -(dashed lines correspond to frames); -traces for them are marked in bold. +$t_3$ and $t_5$ are shown in more detail: +dotted paths correspond to frames and the table entry is in bold. } \end{figure} -- 2.40.0