diff -r 1ee523c4f098 -r 75d9f9e5906f slides/slides06.tex --- a/slides/slides06.tex Wed Nov 06 23:27:19 2019 +0000 +++ b/slides/slides06.tex Thu Nov 07 00:07:16 2019 +0000 @@ -373,31 +373,31 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\begin{frame}[c] -\frametitle{Operator Precedences} - - -To disambiguate - -\begin{center} -\bl{\begin{tabular}{lcl} -$\meta{E}$ & $::=$ & $\meta{E} \cdot + \cdot \meta{E} \;|\;\meta{E} \cdot * \cdot \meta{E} \;|\;( \cdot \meta{E} \cdot ) \;|\;\meta{N}$ \\ -\end{tabular}} -\end{center} - -Decide on how many precedence levels, say\medskip\\ -highest for \bl{$()$}, medium for \bl{*}, lowest for \bl{+} - -\begin{center} -\bl{\begin{tabular}{lcl} -$\meta{E}_{low}$ & $::=$ & $\meta{E}_{med} \cdot + \cdot \meta{E}_{low} \;|\; \meta{E}_{med}$ \\ -$\meta{E}_{med}$ & $::=$ & $\meta{E}_{hi} \cdot * \cdot \meta{E}_{med} \;|\; \meta{E}_{hi}$\\ -$\meta{E}_{hi}$ & $::=$ & $( \cdot \meta{E}_{low} \cdot ) \;|\;\meta{N}$ \\ -\end{tabular}} -\end{center}\pause - -\small What happens with \bl{$1 + 3 + 4$}? -\end{frame} +%\begin{frame}[c] +%\frametitle{Operator Precedences} +% +% +%To disambiguate +% +%\begin{center} +%\bl{\begin{tabular}{lcl} +%$\meta{E}$ & $::=$ & $\meta{E} \cdot + \cdot \meta{E} \;|\;\meta{E} \cdot * \cdot \meta{E} \;|\;( \cdot \meta{E} \cdot ) \;|\;\meta{N}$ \\ +%\end{tabular}} +%\end{center} +% +%Decide on how many precedence levels, say\medskip\\ +%highest for \bl{$()$}, medium for \bl{*}, lowest for \bl{+} +% +%\begin{center} +%\bl{\begin{tabular}{lcl} +%$\meta{E}_{low}$ & $::=$ & $\meta{E}_{med} \cdot + \cdot \meta{E}_{low} \;|\; \meta{E}_{med}$ \\ +%$\meta{E}_{med}$ & $::=$ & $\meta{E}_{hi} \cdot * \cdot \meta{E}_{med} \;|\; \meta{E}_{hi}$\\ +%$\meta{E}_{hi}$ & $::=$ & $( \cdot \meta{E}_{low} \cdot ) \;|\;\meta{N}$ \\ +%\end{tabular}} +%\end{center}\pause +% +%\small What happens with \bl{$1 + 3 + 4$}? +%\end{frame} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -672,22 +672,38 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\mode{ \begin{frame}[c] -\frametitle{\begin{tabular}{c}Java Virtual Machine\end{tabular}} +\frametitle{Java Virtual Machine} \begin{itemize} \item introduced in 1995 \item is a stack-based VM (like Postscript, CLR of .Net) -\item contains a JIT compiler -\item many languages take advantage of JVM's infrastructure (JRE) +\item contains a JIT compiler\\ +\begin{itemize} +\item From the Cradle to the Holy Graal - the JDK Story +\item \url{https://www.youtube.com/watch?v=h419kfbLhUI} +\end{itemize} \item is garbage collected $\Rightarrow$ no buffer overflows \item some languages compile to the JVM: Scala, Clojure\ldots \end{itemize} -\end{frame}} +\end{frame} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\begin{frame}[c] +\frametitle{LLVM} + +\begin{itemize} +\item LLVM started by academics in 2000 (University of Illinois in +Urbana-Champaign) +\item suite of compiler tools +\item SSA-based intermediate language +\item no need to allocate registers +\end{itemize} +\end{frame} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %\begin{frame}[c]