You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: tex/Context-Free_Languages.tex
+12-41Lines changed: 12 additions & 41 deletions
Original file line number
Diff line number
Diff line change
@@ -187,22 +187,22 @@ \section{Рекурсивные автоматы и сети}
187
187
\end{definition}
188
188
189
189
Таким образом, рекурсивный автомат~--- это набор детерминированных конечных автоматов над алфавитом $\Sigma\cup Q_S$.
190
-
В некоторых случаях наб будет удобно рассматривать этот набор как одн конечный автомат.
190
+
В некоторых случаях нам будет удобно рассматривать этот набор как одн конечный автомат.
191
191
Однако процесс работы рекурсивного автомата несколько отличается от работы конечного автомата, хотя и похож на него.
192
192
Основное отличие~--- необходимость использовать стек для обработки переходов, помеченных элементами из $Q_S$.
193
193
194
194
По аналогии с конечными автоматами, процесс работы рекурсивных автоматов достаточно естественно описывается в терминах переходов между \emph{конфигурациями}.
195
195
196
196
\begin{definition}
197
-
\emph{Конфигурация} $C_{\mathcal{R}}$ рекурсивного автомата $\mathcal{R}=\langle\mathcal{N},\Sigma,B,B_S,Q,Q_S \rangle$ over the graph $D=\langle V,E,L \rangle$is a tuple$(q,v,\mathcal{S})$ where
197
+
\emph{Конфигурация} $C_{\mathcal{R}}$ рекурсивного автомата $\mathcal{R}=\langle\mathcal{N},\Sigma,B,B_S,Q,Q_S \rangle$, обрабатывающего граф $D=\langle V,E,L \rangle$--- это тройка$(q,v,\mathcal{S})$, где
198
198
\begin{itemize}
199
-
\item$q \in Q$is a current state of RSM,
200
-
\item$\mathcal{S}$is the current stack, whose frames have one of two types:
199
+
\item$q \in Q$текущее состояние RSM,
200
+
\item$\mathcal{S}$--- текущий стек, элементы которого могут быть двух типов:
201
201
\begin{itemize}
202
-
\itemreturn addresses frame (elements of$Q$) to specify states to continue computation after the call is finished;
202
+
\itemадрес возврата (значение из$Q$) to specify states to continue computation after the call is finished;
203
203
\item parsing tree node to store fragments of a parsing tree,
204
204
\end{itemize}
205
-
\item$v \in V$is the current vertex (current position in the input).
Note that we have no conditions to stop computation. In our example, we can continue computation and get new paths between $v_0$ and $v_1$. Moreover, there is an infinite number of such paths. Additionally, the selection of the next step is not deterministic. One can choose the configuration $(q_0,v_0,[q_2,a,q_2,a,q_5])$ to continue computations after step~\ref{eq:naive-rsm-step-6} with chance to fall into an infinite cycle, but choosing $(q_3,v_1,[b,a,q_2,a,q_5])$ we get a new path.
315
-
Построим рекурсивный автомат для грамматики $G$:
316
-
\begin{align*}
317
-
S & \to a S b \\
318
-
S & \to a b
319
-
\end{align*}
320
-
321
-
\begin{figure}
322
-
\caption{Пример рекурсивного автомата для грамматики $G$.}
Используем стандартные обозначения для стартовых и финальных состояний.
339
-
Дополнительно в стартовых и финальных состояниях укажем нетерминалы, для которых эти состояния стартовые/финальные.
340
-
341
-
В некоторых случаях рекурсивный автомат можно рассматривать как конечный автомат над смешанным алфавитом.
342
-
Именно такой взгляд мы будем использовать при изложении алгоритма.
343
-
344
-
Пример интерпретации конечного автомата.
345
-
314
+
Note that we have no conditions to stop computation.
315
+
In our example, we can continue computation and get new paths between $v_0$ and $v_1$.
316
+
Moreover, there is an infinite number of such paths.
317
+
Additionally, the selection of the next step is not deterministic.
318
+
One can choose the configuration $(q_0,v_0,[q_2,a,q_2,a,q_5])$ to continue computations after step~\ref{eq:naive-rsm-step-6} with chance to fall into an infinite cycle, but choosing $(q_3,v_1,[b,a,q_2,a,q_5])$ we get a new path.
346
319
347
320
\section{Дерево вывода}
348
321
\label{sect:DerivTree}
@@ -412,9 +385,7 @@ \section{Пустота КС-языка}
412
385
413
386
Повторяем процесс замены одинаковых нетерминалов до тех пор, пока в дереве не останутся только уникальные нетерминалы.
414
387
415
-
В полученном дереве не может быть ветвей длины большей, чем $m$.
416
-
417
-
По построению оно является деревом вывода.
388
+
В итоге, в полученном дереве не может быть ветвей длины большей, чем $m$, и по построению оно является деревом вывода.
0 commit comments