\begin{slide}{CPS-Transformation: Spezifikation}

(als Schritt im Compiler)

\begin{itemize}
\item Eingabe: Ausdruck $X$, Ausgabe: Ausdruck $Y$
\item
  Semantik: $X \equiv Y (\lambda v.v)$
\item
  Syntax:
  \begin{itemize}
  \item 
 $X \in\text{Exp}$ (fast) beliebig,
\item
  $Y\in\text{Exp/CPS}$ stark eingeschränkt:
  \begin{itemize}
  \item keine geschachtelten Applikationen
  \item Argumente von Applikationen und Operationen $(+,*,>)$ 
    sind Variablen oder Literale
  \end{itemize}
  \end{itemize}
\end{itemize}

\end{slide}
