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 = |