325 \end{frame} | 
   325 \end{frame} | 
   326 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  | 
   326 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  | 
   327   | 
   327   | 
   328 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  | 
   328 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  | 
   329 \begin{frame}[fragile,c] | 
   329 \begin{frame}[fragile,c] | 
         | 
   330 \frametitle{KLet} | 
         | 
   331   | 
         | 
   332 \begin{lstlisting}[language=LLVM] | 
         | 
   333 tmp0 = add 1 a     | 
         | 
   334 tmp1 = mul b 5   | 
         | 
   335 tmp2 = add 3 tmp1   | 
         | 
   336 tmp3 = add tmp0 tmp2    | 
         | 
   337 \end{lstlisting} | 
         | 
   338   | 
         | 
   339 \begin{lstlisting}[language=LLVMIR] | 
         | 
   340   KLet tmp0 , add 1 a in    | 
         | 
   341    KLet tmp1 , mul b 5 in  | 
         | 
   342     KLet tmp2 , add 3 tmp1 in   | 
         | 
   343      KLet tmp3 , add tmp0 tmp2 in  | 
         | 
   344       ...  | 
         | 
   345 \end{lstlisting} | 
         | 
   346   | 
         | 
   347 \begin{lstlisting}[language=Scala,numbers=none] | 
         | 
   348 case class KLet(x: String, e1: KVal, e2: KExp)  | 
         | 
   349 \end{lstlisting} | 
         | 
   350   | 
         | 
   351 \end{frame} | 
         | 
   352 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  | 
         | 
   353   | 
         | 
   354 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  | 
         | 
   355 \begin{frame}[fragile,c] | 
         | 
   356 \frametitle{KLet} | 
         | 
   357   | 
         | 
   358 \begin{lstlisting}[language=LLVM] | 
         | 
   359 tmp0 = add 1 a     | 
         | 
   360 tmp1 = mul b 5   | 
         | 
   361 tmp2 = add 3 tmp1   | 
         | 
   362 tmp3 = add tmp0 tmp2    | 
         | 
   363 \end{lstlisting} | 
         | 
   364   | 
         | 
   365 \begin{lstlisting}[language=LLVMIR] | 
         | 
   366   let tmp0 = add 1 a in    | 
         | 
   367    let tmp1 = mul b 5 in  | 
         | 
   368     let tmp2 = add 3 tmp1 in   | 
         | 
   369      let tmp3 = add tmp0 tmp2 in  | 
         | 
   370       ...  | 
         | 
   371 \end{lstlisting} | 
         | 
   372   | 
         | 
   373 \begin{lstlisting}[language=Scala,numbers=none] | 
         | 
   374 case class KLet(x: String, e1: KVal, e2: KExp)  | 
         | 
   375 \end{lstlisting} | 
         | 
   376   | 
         | 
   377 \end{frame} | 
         | 
   378 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  | 
         | 
   379   | 
         | 
   380   | 
         | 
   381   | 
         | 
   382 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  | 
         | 
   383 \begin{frame}[fragile,c] | 
   330 \frametitle{CPS-Translation} | 
   384 \frametitle{CPS-Translation} | 
   331 \small  | 
   385 \small  | 
   332   | 
   386   | 
   333 \begin{lstlisting}[language=Scala,numbers=none] | 
   387 \begin{lstlisting}[language=Scala,numbers=none] | 
   334 def CPS(e: Exp)(k: KVal => KExp) : KExp =   | 
   388 def CPS(e: Exp)(k: KVal => KExp) : KExp =   |