diff options
Diffstat (limited to 'edit-lens/src/Control/FST.lhs')
-rw-r--r-- | edit-lens/src/Control/FST.lhs | 22 |
1 files changed, 14 insertions, 8 deletions
diff --git a/edit-lens/src/Control/FST.lhs b/edit-lens/src/Control/FST.lhs index 9357da7..9739adc 100644 --- a/edit-lens/src/Control/FST.lhs +++ b/edit-lens/src/Control/FST.lhs | |||
@@ -77,7 +77,9 @@ data FST state input output = FST | |||
77 | & \cup \{ (80, \sigma, \sigma, 80) \mid \sigma \in \Sigma \mysetminus \{ \text{\tt ' '}, \text{\tt \textbackslash n} \} \} | 77 | & \cup \{ (80, \sigma, \sigma, 80) \mid \sigma \in \Sigma \mysetminus \{ \text{\tt ' '}, \text{\tt \textbackslash n} \} \} |
78 | \end{align*} | 78 | \end{align*} |
79 | 79 | ||
80 | \begin{figure}[p] | 80 | Siehe auch Abbildung~\ref{fig:linebreak} |
81 | |||
82 | \begin{figure}[h] | ||
81 | \centering | 83 | \centering |
82 | \begin{tikzpicture}[->,auto,node distance=5cm] | 84 | \begin{tikzpicture}[->,auto,node distance=5cm] |
83 | \node[initial,state,accepting] (0) {$0$}; | 85 | \node[initial,state,accepting] (0) {$0$}; |
@@ -101,7 +103,7 @@ data FST state input output = FST | |||
101 | \draw[-] (rest)--(i.north); | 103 | \draw[-] (rest)--(i.north); |
102 | \draw[-] (rest)--(si.west); | 104 | \draw[-] (rest)--(si.west); |
103 | \end{tikzpicture} | 105 | \end{tikzpicture} |
104 | \caption{Beispiel \ref{eg:linebreak} dargestellt als Graph} | 106 | \caption{\label{fig:linebreak} Ein Transducer der, durch Übersetzung zwischen Leerzeichen und Zeilenumbrüchen, sicher stellt, dass jede Zeile eines Texts mindestens 80 Zeichen hat} |
105 | \end{figure} | 107 | \end{figure} |
106 | \end{eg} | 108 | \end{eg} |
107 | 109 | ||
@@ -314,7 +316,9 @@ wordFST inps outs = FST | |||
314 | & \cup \{ (i, \sigma, \epsilon, i) \mid \sigma \in \Sigma \cup \{ \epsilon \}, i \in Q \mysetminus \{ 99 \} \} | 316 | & \cup \{ (i, \sigma, \epsilon, i) \mid \sigma \in \Sigma \cup \{ \epsilon \}, i \in Q \mysetminus \{ 99 \} \} |
315 | \end{align*} | 317 | \end{align*} |
316 | 318 | ||
317 | \begin{figure}[p] | 319 | Siehe auch Abbildung~\ref{fig:w100}. |
320 | |||
321 | \begin{figure}[h] | ||
318 | \centering | 322 | \centering |
319 | \begin{tikzpicture}[->,auto,node distance=5cm] | 323 | \begin{tikzpicture}[->,auto,node distance=5cm] |
320 | \node[initial,state] (0) {$0$}; | 324 | \node[initial,state] (0) {$0$}; |
@@ -323,11 +327,11 @@ wordFST inps outs = FST | |||
323 | 327 | ||
324 | \path (0) edge [loop above] node {$\{(\sigma, \epsilon) \mid \sigma \in \Sigma \cup \{ \epsilon \} \}$} (0) | 328 | \path (0) edge [loop above] node {$\{(\sigma, \epsilon) \mid \sigma \in \Sigma \cup \{ \epsilon \} \}$} (0) |
325 | edge node {$\{ (\sigma, 1) \mid \sigma \in \Sigma \cup \{ \epsilon \} \}$} (rest) | 329 | edge node {$\{ (\sigma, 1) \mid \sigma \in \Sigma \cup \{ \epsilon \} \}$} (rest) |
326 | (rest) edge node {$\{ \sigma, 100 \} \mid \sigma \in \Sigma \cup \{ \epsilon \}$} (99) | 330 | (rest) edge node {$\{ (\sigma, 98) \mid \sigma \in \Sigma \cup \{ \epsilon \} \}$} (99) |
327 | (99) edge [loop above] node {$\{(\sigma, \epsilon) \mid \sigma \in \Sigma \}$} (99); | 331 | (99) edge [loop above] node {$\{(\sigma, \epsilon) \mid \sigma \in \Sigma \}$} (99); |
328 | \end{tikzpicture} | 332 | \end{tikzpicture} |
329 | 333 | ||
330 | \caption{Beispiel \ref{eg:w100} dargestellt als Graph} | 334 | \caption{\label{fig:w100} Der Wort-FST eines längeren Wortes} |
331 | \end{figure} | 335 | \end{figure} |
332 | \end{eg} | 336 | \end{eg} |
333 | 337 | ||
@@ -351,7 +355,9 @@ restrictOutput :: forall state input output. (Ord state, Ord input, Ord output) | |||
351 | & \cup \{ ((80, 80), \text{\tt \textbackslash n}, \text{\tt \textbackslash n}, (81, 0)) \} | 355 | & \cup \{ ((80, 80), \text{\tt \textbackslash n}, \text{\tt \textbackslash n}, (81, 0)) \} |
352 | \end{align*} | 356 | \end{align*} |
353 | 357 | ||
354 | \begin{figure}[p] | 358 | Siehe auch Abbildung~\ref{fig:l80timesw100}. |
359 | |||
360 | \begin{figure}[h] | ||
355 | \centering | 361 | \centering |
356 | \begin{tikzpicture}[->,auto,node distance=5cm] | 362 | \begin{tikzpicture}[->,auto,node distance=5cm] |
357 | \node[initial,state] (0) {$0_{W_w}\, 0_{L_{80}}$}; | 363 | \node[initial,state] (0) {$0_{W_w}\, 0_{L_{80}}$}; |
@@ -368,12 +374,12 @@ restrictOutput :: forall state input output. (Ord state, Ord input, Ord output) | |||
368 | (rest2) edge node {$(98, 98)$} (99); | 374 | (rest2) edge node {$(98, 98)$} (99); |
369 | \end{tikzpicture} | 375 | \end{tikzpicture} |
370 | 376 | ||
371 | \caption{Beispiel \ref{eg:l80timesw100} dargestellt als Graph} | 377 | \caption{\label{fig:l80timesw100} Die Einschränkung des Automaten aus Abbildung \ref{fig:linebreak} auf das Wort aus Abbildung \ref{fig:w100}} |
372 | \end{figure} | 378 | \end{figure} |
373 | \end{eg} | 379 | \end{eg} |
374 | 380 | ||
375 | \begin{rem} | 381 | \begin{rem} |
376 | Es ist bemerkenswert, dass in Beispiel \ref{eg:l80timesw100} die Zirkuläre Struktur von $L_80$ durch Produkt mit einem Wort verloren geht. | 382 | Es ist bemerkenswert, dass in Beispiel \ref{eg:l80timesw100} die Zirkuläre Struktur von $L_{80}$ durch Produkt mit einem Wort verloren geht. |
377 | 383 | ||
378 | I.\@A.\@ ist das Produkt eines beliebigen FST mit einem Wort-FST zwar nicht azyklisch, erbt jedoch die lineare Struktur des Wort-FST in dem Sinne, dass Fortschritt in Richtung der akzeptierenden Zustände nur möglich ist indem der $(i, \sigma, w_i, i + 1)$-Klasse von Transitionen des Wort-FSTs gefolgt wird. | 384 | I.\@A.\@ ist das Produkt eines beliebigen FST mit einem Wort-FST zwar nicht azyklisch, erbt jedoch die lineare Struktur des Wort-FST in dem Sinne, dass Fortschritt in Richtung der akzeptierenden Zustände nur möglich ist indem der $(i, \sigma, w_i, i + 1)$-Klasse von Transitionen des Wort-FSTs gefolgt wird. |
379 | \end{rem} | 385 | \end{rem} |