\documentclass{beamer}

\usepackage[T1]{fontenc}

\title{A Shell in (G)Forth}
\author{David Limbeck, 0927546 \\
    Mino Sharkhawy, 1025887}

\date{December 11, 2015}

\begin{document}

\maketitle

\section{Overview}

\begin{frame}
 \begin{center}
  \usebeamerfont*{frametitle} \usebeamercolor[fg]{frametitle}
  Overview
 \end{center}
\end{frame}


\begin{frame}
 \frametitle{Overview}
 \begin{itemize}
  \item Introduction
  \item Features
  \item Basic Operation
  \item Code
  \item Live Demo
 \end{itemize}

\end{frame}

\section{Introduction}

\begin{frame}
 \begin{center}
  \usebeamerfont*{frametitle} \usebeamercolor[fg]{frametitle}
  Introduction
 \end{center}
\end{frame}


\begin{frame}
 \frametitle{Introduction}
 \begin{itemize}
  \item few features
  \item leverage existing programs
  \item simple prompt
  \begin{itemize}
   \item fixed size
   \item shows last return code
  \end{itemize}

 \end{itemize}
\end{frame}

\section{Features}

\begin{frame}
 \begin{center}
  \usebeamerfont*{frametitle} \usebeamercolor[fg]{frametitle}
  Features
 \end{center}
\end{frame}


\begin{frame}
 \frametitle{Features}
 \begin{itemize}
  \item builtin \textit{exit}
  \item programs in PATH (e.g. \textit{ls})
  \item pipes (|)
  \item \&\& and || % right associative, if the first expression true, everything else is executed
  \item braces supported
 \end{itemize}

        % TODO: shell, features, builtins, calling c programs (from PATH), pipes, &&,
        % ||, braces, background execution, basic variables, readline support, give
        % examples
\end{frame}

\begin{frame}
 \frametitle{Features}
 \begin{itemize}
  \item execution done in background (\&, \textit{fork})
  \item basic variable support
  \item readline support
 \end{itemize}

\end{frame}

\section{Basic Operation}

\begin{frame}
 \begin{center}
  \usebeamerfont*{frametitle} \usebeamercolor[fg]{frametitle}
  Basic Operation
 \end{center}
\end{frame}


\begin{frame}
 \frametitle{Basic Operation}
 \begin{itemize}
  \item display prompt
  \item read line
  \item split on spaces (tokenize)
  \item parse and build AST
  \item execute AST and retrieve return value
  \item rinse and repeat
 \end{itemize}

        % read-loop: display prompt, read line, split on spaces, parse and build ast,
        % execute ast retrieve return value, rinse and repeat
\end{frame}

\section{Code}

\begin{frame}
 \begin{center}
  \usebeamerfont*{frametitle} \usebeamercolor[fg]{frametitle}
  Code
 \end{center}
\end{frame}

\section{Live Demo}

\begin{frame}
 \begin{center}
  \usebeamerfont*{frametitle} \usebeamercolor[fg]{frametitle}
  Live Demo
 \end{center}
\end{frame}

\end{document}
