%
% This file is automatically generated from 05-builtins.json using gendoc.py.
% Do not edit by hand.
%
\begin{itemize}
\item \texttt{type} \typename{Bool}
 --- constructores: \begin{itemize}
\item \constructorname{True}
\item \constructorname{False}
\end{itemize}
\item \texttt{type} \typename{Color}
 --- constructores: \begin{itemize}
\item \constructorname{Azul}
\item \constructorname{Negro}
\item \constructorname{Rojo}
\item \constructorname{Verde}
\end{itemize}
\item \texttt{type} \typename{Dir}
 --- constructores: \begin{itemize}
\item \constructorname{Norte}
\item \constructorname{Este}
\item \constructorname{Sur}
\item \constructorname{Oeste}
\end{itemize}
\item \texttt{type} \typename{Event}
 --- constructores: \begin{itemize}
\item \constructorname{INIT}
\item \constructorname{TIMEOUT}
\item \constructorname{K\_[CTRL\_][ALT\_][SHIFT\_]A}
\item \constructorname{...}
\item \constructorname{K\_[CTRL\_][ALT\_][SHIFT\_]Z}
\item \constructorname{K\_[CTRL\_][ALT\_][SHIFT\_]0}
\item \constructorname{...}
\item \constructorname{K\_[CTRL\_][ALT\_][SHIFT\_]9}
\item \constructorname{K\_[CTRL\_][ALT\_][SHIFT\_]SPACE}
\item \constructorname{K\_[CTRL\_][ALT\_][SHIFT\_]RETURN}
\item \constructorname{K\_[CTRL\_][ALT\_][SHIFT\_]TAB}
\item \constructorname{K\_[CTRL\_][ALT\_][SHIFT\_]BACKSPACE}
\item \constructorname{K\_[CTRL\_][ALT\_][SHIFT\_]ESCAPE}
\item \constructorname{K\_[CTRL\_][ALT\_][SHIFT\_]INSERT}
\item \constructorname{K\_[CTRL\_][ALT\_][SHIFT\_]DELETE}
\item \constructorname{K\_[CTRL\_][ALT\_][SHIFT\_]HOME}
\item \constructorname{K\_[CTRL\_][ALT\_][SHIFT\_]END}
\item \constructorname{K\_[CTRL\_][ALT\_][SHIFT\_]PAGEUP}
\item \constructorname{K\_[CTRL\_][ALT\_][SHIFT\_]PAGEDOWN}
\item \constructorname{K\_[CTRL\_][ALT\_][SHIFT\_]F1}
\item \constructorname{...}
\item \constructorname{K\_[CTRL\_][ALT\_][SHIFT\_]F12}
\item \constructorname{K\_[CTRL\_][ALT\_][SHIFT\_]AMPERSAND}
\item \constructorname{K\_[CTRL\_][ALT\_][SHIFT\_]ASTERISK}
\item \constructorname{K\_[CTRL\_][ALT\_][SHIFT\_]AT}
\item \constructorname{K\_[CTRL\_][ALT\_][SHIFT\_]BACKSLASH}
\item \constructorname{K\_[CTRL\_][ALT\_][SHIFT\_]CARET}
\item \constructorname{K\_[CTRL\_][ALT\_][SHIFT\_]COLON}
\item \constructorname{K\_[CTRL\_][ALT\_][SHIFT\_]DOLLAR}
\item \constructorname{K\_[CTRL\_][ALT\_][SHIFT\_]EQUALS}
\item \constructorname{K\_[CTRL\_][ALT\_][SHIFT\_]EXCLAIM}
\item \constructorname{K\_[CTRL\_][ALT\_][SHIFT\_]GREATER}
\item \constructorname{K\_[CTRL\_][ALT\_][SHIFT\_]HASH}
\item \constructorname{K\_[CTRL\_][ALT\_][SHIFT\_]LESS}
\item \constructorname{K\_[CTRL\_][ALT\_][SHIFT\_]PERCENT}
\item \constructorname{K\_[CTRL\_][ALT\_][SHIFT\_]PLUS}
\item \constructorname{K\_[CTRL\_][ALT\_][SHIFT\_]SEMICOLON}
\item \constructorname{K\_[CTRL\_][ALT\_][SHIFT\_]SLASH}
\item \constructorname{K\_[CTRL\_][ALT\_][SHIFT\_]QUESTION}
\item \constructorname{K\_[CTRL\_][ALT\_][SHIFT\_]QUOTE}
\item \constructorname{K\_[CTRL\_][ALT\_][SHIFT\_]QUOTEDBL}
\item \constructorname{K\_[CTRL\_][ALT\_][SHIFT\_]LEFTPAREN}
\item \constructorname{K\_[CTRL\_][ALT\_][SHIFT\_]RIGHTPAREN}
\item \constructorname{K\_[CTRL\_][ALT\_][SHIFT\_]LEFTBRACKET}
\item \constructorname{K\_[CTRL\_][ALT\_][SHIFT\_]RIGHTBRACKET}
\item \constructorname{K\_[CTRL\_][ALT\_][SHIFT\_]LEFTBRACE}
\item \constructorname{K\_[CTRL\_][ALT\_][SHIFT\_]RIGHTBRACE}
\item \constructorname{K\_[CTRL\_][ALT\_][SHIFT\_]LEFT}
\item \constructorname{K\_[CTRL\_][ALT\_][SHIFT\_]RIGHT}
\item \constructorname{K\_[CTRL\_][ALT\_][SHIFT\_]UP}
\item \constructorname{K\_[CTRL\_][ALT\_][SHIFT\_]DOWN}
\end{itemize}
\item \texttt{procedure} \typename{Mover}(dir)
\begin{itemize}
\item {\bf Precondici\'on:} El cabezal debe poder moverse hacia la direcci\'on indicada.
\item {\bf Prop\'osito:} Mueve el cabezal hacia la direcci\'on indicada.
\end{itemize}
\item \texttt{procedure} \typename{Poner}(color)
\begin{itemize}
\item {\bf Prop\'osito:} Pone una bolita del color indicado en la posici\'on del tablero donde se encuentra el cabezal.
\end{itemize}
\item \texttt{procedure} \typename{Sacar}(color)
\begin{itemize}
\item {\bf Precondici\'on:} Debe haber una bolita del color indicado en la posici\'on del tablero donde se encuentra el cabezal.
\item {\bf Prop\'osito:} Saca una bolita del color indicado en la posici\'on del tablero donde se encuentra el cabezal.
\end{itemize}
\item \texttt{procedure} \typename{IrAlBorde}(dir)
\begin{itemize}
\item {\bf Prop\'osito:} Mueve el cabezal hacia el extremo de la direcci\'on indicada.
\end{itemize}
\item \texttt{procedure} \typename{VaciarTablero}()
\begin{itemize}
\item {\bf Prop\'osito:} Vac\'ia el contenido de todas las celdas del tablero.
\end{itemize}
\item \texttt{function} \typename{puedeMover}(dir)
\begin{itemize}
\item {\bf Prop\'osito:} Denota verdadero si el cabezal puede moverse hacia la direcci\'on indicada.
\end{itemize}
\item \texttt{function} \typename{nroBolitas}(color)
\begin{itemize}
\item {\bf Prop\'osito:} Denota el n\'umero de bolitas del color indicado en la posici\'on donde se encuentra el cabezal.
\end{itemize}
\item \texttt{function} \typename{hayBolitas}(color)
\begin{itemize}
\item {\bf Prop\'osito:} Denota verdadero si hay bolitas del color indicado en la posici\'on donde se encuentra el cabezal.
\end{itemize}
\item \texttt{function} \typename{siguiente}(x)
\begin{itemize}
\item {\bf Precondici\'on:} El par\'ametro x debe ser un entero, booleano, color o direcci\'on.
\item {\bf Prop\'osito:} Denota el siguiente de x en el orden correspondiente al tipo de x.
\end{itemize}
\item \texttt{function} \typename{previo}(x)
\begin{itemize}
\item {\bf Precondici\'on:} El par\'ametro x debe ser un entero, booleano, color o direcci\'on.
\item {\bf Prop\'osito:} Denota el anterior de x en el orden correspondiente al tipo de x.
\end{itemize}
\item \texttt{function} \typename{opuesto}(x)
\begin{itemize}
\item {\bf Precondici\'on:} El par\'ametro x debe ser un entero, booleano o direcci\'on.
\item {\bf Prop\'osito:} Denota el opuesto de x en el orden correspondiente al tipo de x.
\end{itemize}
\item \texttt{function} \typename{minBool}()
\begin{itemize}
\item {\bf Prop\'osito:} Denota el m\'inimo valor booleano.
\end{itemize}
\item \texttt{function} \typename{maxBool}()
\begin{itemize}
\item {\bf Prop\'osito:} Denota el m\'aximo valor booleano.
\end{itemize}
\item \texttt{function} \typename{minColor}()
\begin{itemize}
\item {\bf Prop\'osito:} Denota el m\'inimo color.
\end{itemize}
\item \texttt{function} \typename{maxBool}()
\begin{itemize}
\item {\bf Prop\'osito:} Denota el m\'aximo color.
\end{itemize}
\item \texttt{function} \typename{minDir}()
\begin{itemize}
\item {\bf Prop\'osito:} Denota la m\'inima direcci\'on.
\end{itemize}
\item \texttt{function} \typename{maxDir}()
\begin{itemize}
\item {\bf Prop\'osito:} Denota la m\'axima direcci\'on.
\end{itemize}
\item \texttt{function} \typename{esVac\'ia}(lista)
\begin{itemize}
\item {\bf Prop\'osito:} Denota verdadero si la lista es vac\'ia.
\end{itemize}
\item \texttt{function} \typename{primero}(lista)
\begin{itemize}
\item {\bf Precondici\'on:} La lista no puede ser vac\'ia.
\item {\bf Prop\'osito:} Denota la cabeza de la lista, es decir, su primer elemento.
\end{itemize}
\item \texttt{function} \typename{sinElPrimero}(lista)
\begin{itemize}
\item {\bf Precondici\'on:} La lista no puede ser vac\'ia.
\item {\bf Prop\'osito:} Denota la cola de la lista, es decir, la lista que consta de todos los elementos excepto el primero.
\end{itemize}
\item \texttt{function} \typename{comienzo}(lista)
\begin{itemize}
\item {\bf Precondici\'on:} La lista no puede ser vac\'ia.
\item {\bf Prop\'osito:} Denota el comienzo de la lista, es decir, la lista que consta de todos los elementos excepto el \'ultimo.
\end{itemize}
\item \texttt{function} \typename{\'ultimo}(lista)
\begin{itemize}
\item {\bf Precondici\'on:} La lista no puede ser vac\'ia.
\item {\bf Prop\'osito:} Denota el \'ultimo elemento de la lista.
\end{itemize}
\end{itemize}
%
% This file is automatically generated from 05-builtins.json using gendoc.py.
% Do not edit by hand.
%
