Advertisement
Guest User

Untitled

a guest
Dec 15th, 2018
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Latex 4.77 KB | None | 0 0
  1. \documentclass{article}
  2. \usepackage[utf8]{inputenc}
  3. \usepackage[english,russian]{babel}
  4. \usepackage[labelformat=empty]{caption}
  5. \usepackage{enumerate}
  6. \usepackage{enumitem}
  7. \usepackage{placeins}
  8.  
  9. \title{Формальные языки - практикум 2}
  10. \author{Вихрев Евгений, группа 797}
  11. \date{Декабрь 2018}
  12.  
  13. \begin{document}
  14.  
  15. \maketitle
  16.  
  17. {\large Правила данной граматики $ \Gamma $: }
  18. \begin{enumerate}[start=0]
  19. \item $ S' \rightarrow S $
  20. \item $ S \rightarrow SC $
  21. \item $ S \rightarrow C $
  22. \item $ C \rightarrow cD $
  23. \item $ D \rightarrow aDb $
  24. \item $ D \rightarrow \varepsilon $
  25. \end{enumerate}
  26.  
  27. {\large Построим по данной граматике ($ \Gamma $) LR-Таблицу: }
  28.  
  29. \begin{enumerate}[start=0]
  30. \item $ Initial \  state $ \\
  31.    $S' \rightarrow \cdot S , \ \$ $ \\
  32.    $S  \rightarrow \cdot SC , \ \$ | c $ \\
  33.    $S  \rightarrow \cdot C , \ \$ | c $ \\
  34.    $C  \rightarrow \cdot cD , \ \$ | c $ \\
  35. \item $ Goto(0, S) $ \\
  36.    $S' \rightarrow S \cdot , \ \$ $ $\ - \ accept $ \\
  37.    $S  \rightarrow S \cdot C , \ \$ | c $ \\
  38.    $C  \rightarrow \cdot cD , \ \$ | c $ \\
  39. \item $ Goto(0, C) $ \\
  40.    $S  \rightarrow C \cdot , \ \$ | c $ $\ - \ reduce(2) $ \\
  41. \item $ Goto(0, c), \ Goto(1, c) $ \\
  42.    $C  \rightarrow c \cdot D , \ \$ | c $ \\
  43.    $D  \rightarrow \cdot aDb , \ \$ | c $ \\
  44.    $D  \rightarrow \cdot , \ \$ | c $ $\ - \ reduce(5) $ \\
  45. \item $ Goto(1, C) $ \\
  46.    $S  \rightarrow SC \cdot , \ \$ | c $ $\ - \ reduce(1) $ \\
  47. \item $ Goto(3, D) $ \\
  48.    $C  \rightarrow cD \cdot , \ \$ | c $ $\ - \ reduce(3) $ \\
  49. \item $ Goto(3, a) $ \\
  50.    $D  \rightarrow a \cdot Db , \ \$ | c $ \\
  51.    $D  \rightarrow \cdot aDb , \ b $ \\
  52.    $D  \rightarrow \cdot , \ b $ $\ - \ reduce(5) $ \\
  53. \item $ Goto(6, D) $ \\
  54.    $D  \rightarrow aD \cdot b , \ \$ | c $ \\
  55. \item $ Goto(7, b) $ \\
  56.    $D  \rightarrow aDb \cdot , \ \$ | c $ $\ - \ reduce(4) $ \\
  57. \item $ Goto(6, a), \ Goto(9, a) $ \\
  58.    $D  \rightarrow a \cdot Db , \ b $ \\
  59.    $D  \rightarrow \cdot aDb , \ b $ \\
  60.    $D  \rightarrow \cdot , \ b $ $\ - \ reduce(5) $ \\
  61. \item $ Goto(9, D) $ \\
  62.    $D  \rightarrow aD \cdot b , \ b $ \\
  63. \item $ Goto(10, b) $ \\
  64.    $D  \rightarrow aDb \cdot , \ b $ $\ - \ reduce(4) $ \\
  65. \end{enumerate}
  66.  
  67. \begin{table}[h!]
  68. \caption{{\large LR-Таблица}}
  69. \begin{center}
  70. \begin{tabular}{|c|c|c|c|c|c|c|c|}
  71. \hline
  72.  & S & C & D & a & b & c & \$ \\
  73. \hline
  74. 0 & S1 & S2 & & & & S3 & \\
  75. \hline
  76. 1 & & S4 & & & & S3 & acc \\
  77. \hline
  78. 2 & & & & & & r2 & r2 \\
  79. \hline
  80. 3 & & & S5 & S6 & & r5 & r5 \\
  81. \hline
  82. 4 & & & & & & r1 & r1 \\
  83. \hline
  84. 5 & & & & & & r3 & r3 \\
  85. \hline
  86. 6 & & & S7 & S9 & r5 & & \\
  87. \hline
  88. 7 & & & & & S8 & & \\
  89. \hline
  90. 8 & & & & & & r4 & r4 \\
  91. \hline
  92. 9 & & & S10 & S9 & r5 & & \\
  93. \hline
  94. 10 & & & & & S11 & & \\
  95. \hline
  96. 11 & & & & & r4 & & \\
  97. \hline
  98. \end{tabular}
  99. \end{center}
  100. \end{table}
  101. \FloatBarrier
  102. {\large Для примера разберём слово $ caaabbbc \in \Gamma $: }
  103. \begin{enumerate}
  104.    \item $ caaabbbc\$ \ : \ 0 $ \ - \ initial
  105.    \item $ aaabbbc\$ \ : \ 0c3 $ \ - \ shift 3 by 'c'
  106.    \item $ aabbbc\$ \ : \ 0c3a6 $ \ - \ shift 6 by 'a'
  107.    \item $ abbbc\$ \ : \ 0c3a6a9 $ \ - \ shift 9 by 'a'
  108.    \item $ bbbc\$ \ : \ 0c3a6a9a9 $ \ - \ shift 9 by 'a'
  109.    \item $ bbbc\$ \ : \ 0c3a6a9a9D10 $ \ - \ reduce 5 and shift 10 by 'D'
  110.    \item $ bbc\$ \ : \ 0c3a6a9a9D10b11 $ \ - \ shift 11 by 'b'
  111.    \item $ bbc\$ \ : \ 0c3a6a9D10 $ \ - \ reduce 4 and shift 10 by 'D'
  112.    \item $ bc\$ \ : \ 0c3a6a9D10b11 $ \ - \ shift 11 by 'b'
  113.    \item $ bc\$ \ : \ 0c3a6D7 $ \ - \ reduce 4 and shift 7 by 'D'
  114.    \item $ c\$ \ : \ 0c3a6D7b8 $ \ - \ shift 8 by 'b'
  115.    \item $ c\$ \ : \ 0c3D5 $ \ - \ reduce 4 and shift 7 by 'D'
  116.    \item $ c\$ \ : \ 0C2 $ \ - \ reduce 3 and shift 2 by 'C'
  117.    \item $ c\$ \ : \ 0S1 $ \ - \ reduce 2 and shift 1 by 'S'
  118.    \item $ \$ \ : \ 0S1c3 $ \ - \ shift 3 by 'c'
  119.    \item $ \$ \ : \ 0S1c3D5 $ \ - \ reduce 5 and shift 5 by 'D'
  120.    \item $ \$ \ : \ 0S1C4 $ \ - \ reduce 3 and shift 7 by 'D'
  121.    \item $ \$ \ : \ 0S1 $ \ - \ reduce 1 and shift 1 by 'S'. Accept!
  122. \end{enumerate}
  123. {\large Автомат, как и ожидалось, перешёл по слову $ caaabbbc $ в accept. }
  124. \\
  125. \FloatBarrier
  126. \\
  127. {\large Теперь разберём слово $ caacabbb \notin \Gamma $: }
  128. \begin{enumerate}
  129.    \item $ caacabbb\$ \ : \ 0 $ \ - \ initial
  130.    \item $ aacabbb\$ \ : \ 0c3 $ \ - \ shift 3 by 'c'
  131.    \item $ acabbb\$ \ : \ 0c3a6 $ \ - \ shift 6 by 'a'
  132.    \item $ cabbb\$ \ : \ 0c3a6a9 $ \ - \ shift 9 by 'a'
  133.    \item $ abbb\$ \ : \ 0c3a6a9 $ \ - \ Error!
  134. \end{enumerate}
  135. {\large Видно что $ caacabbb \notin \Gamma $ состояния accept не достигается. }
  136.  
  137. \end{document}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement