Skip to content

Commit

Permalink
dumb typo and dangling else img restored
Browse files Browse the repository at this point in the history
  • Loading branch information
filippodaniotti committed Dec 24, 2020
1 parent 072ae9c commit e9a717d
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 16 deletions.
20 changes: 5 additions & 15 deletions src/chapters/02/chapter02.tex
Original file line number Diff line number Diff line change
Expand Up @@ -248,35 +248,25 @@ \subsection{Ambiguità delle grammatiche}\label{sec:ambiguity}
\subsubsection*{Dangling Else}
Introduciamo una nuova forma di grammatica
\begin{equation}
S \to \; if \; b \; then \; S |\; if\; B\; then\; S\; else\; S |\; other
S \to \; if \; b \; then \; S \mid if\; B\; then\; S\; else\; S \mid other
\end{equation}
La domanda che ci poniamo a questo punto è: si tratta di una grammatica ambigua? Prendiamo ad esempio questa parola:
\begin{equation}
\label{dangling_else}
w =\; if\; b\; then\; if\; b\; then\; other\; else\; other
\end{equation}
Con quale \(then\) è accoppiato l’\(else\)? Non si può sapere! Di fatto possiamo ricostruire \(w\) con questi due diversi alberi:
% \begin{figure}
% \centering
% \includegraphics[width=.7\textwidth,keepaspectratio]{dangling_else_1.jpg}
% \caption{Primo albero di derivazione per Eq. \ref{dangling_else}}
% \label{fig:dangling_else_1}
% \end{figure}
% \begin{figure}
% \centering
% \includegraphics[width=.7\textwidth,keepaspectratio]{dangling_else_2.jpg}
% \caption{Secondo albero di derivazione per Eq. \ref{dangling_else}}
% \label{fig:dangling_else_2}
% \end{figure}
\begin{figure}[H]
\begin{minipage}{.5\textwidth}
\centering
\subimport{assets/figures/}{dangling_else_1.tex}
\includegraphics[width=.9\textwidth,keepaspectratio]{dangling_else_1.jpg}
% \subimport{assets/figures/}{dangling_else_1.tex}
\end{minipage}
% \hfill
\begin{minipage}{.5\textwidth}
\centering
\subimport{assets/figures/}{dangling_else_2.tex}
\includegraphics[width=.9\textwidth,keepaspectratio]{dangling_else_2.jpg}
% \subimport{assets/figures/}{dangling_else_2.tex}
\end{minipage}
\caption{Due possibili alberi di derivazione per \(w\), entrambi corretti}
\label{fig:dangling_else}
Expand Down
2 changes: 1 addition & 1 deletion src/chapters/09/chapter09.tex
Original file line number Diff line number Diff line change
Expand Up @@ -314,7 +314,7 @@ \subsubsection{Definizione stati e costruzione dell'automa}
Lo stato 2 ha questo kernel:
\begin{align*}
S &\to L \cdot = R, \{\$\} \\
S &\to L \cdot, \{\$\}
R &\to L \cdot, \{\$\}
\end{align*}
Questo stato è già chiuso, perché nel primo item il marker \(\cdot\) si trova davanti al terminale \(=\), mentre invece il secondo item ci propone la riduzione \([R \to L, \{\$\}]\); inoltre, il primo item ci propone la transizione \(\tau(2, =)\). Notiamo anche che in questo stato abbiamo sia uno shift che una riduzione, teniamolo a mente per dopo.

Expand Down

0 comments on commit e9a717d

Please sign in to comment.