+The complete code generation code can be found in \autoref{lst:gen}. The
+following enumeration shows what is specifically generated per grammar object.
+All generated code can not function without the library. The library is an
+entire runtime that only needs a little amount of data plugged in to function
+as the program of a robot.
+
+The library provides an extension on the \texttt{Behavior} class from the
+\emph{LeJOS} library that offers several higher level operations such as
+turning and measuring. All the sensor data can be queried from the
+\texttt{SensorCollector} class that is available in every behaviour. This class
+provides up to date sensor data from both bricks. The special behaviour that
+terminates the current mission is an extension on the already extended
+\texttt{Behavior} class and is called \texttt{ShutdownBehaviour.java}.
+
+\begin{itemize}
+ \item\textbf{Robot}\\
+ A \texttt{Constants.java} file is created to hold the global speed and
+ acceleration values.
+ \item\textbf{Mission}
+ In the java code a mission is a list of defined behaviours plus the
+ special \emph{ShutdownBehaviour}. To make this simple all the missions
+ combined generate a single \texttt{Missions.java} file that has one
+ static function that will return a list of \emph{Mission}s that the
+ main program will use.
+ \item\textbf{Behaviour}
+ For every \emph{Behaviour} a file is created containing the specific
+ implementation. For example for a behaviour called \texttt{Wander} a
+ file called \texttt{WanderBehaviour.java} is created that contains the
+ class \texttt{WanderBehaviour} which implements the
+ \texttt{BasicBehaviour} class from the library.
+ \item\textbf{StoppingExpression}
+ Stopping expressions are used in missions and in behaviours and are
+ converted to java boolean expressions in-line.
+ \item\textbf{Action}
+ Actions are in-line converted to the respective calls to the library or
+ implemented directly.
+\end{itemize}