\section{Aspectos de un Lenguaje}

\subsection{Sintaxis}

Es una descripción del conjunto de secuencias de símbolos considerados como programas válidos.

\subsection{Semántica}

Es la descripción del significado de instrucciones y expresiones. Puede ser formal o informal.
La semántica formal puede ser axiomática, operacional o denotacional.

\subsection{Sistema de Tipos}

Se utiliza para prevenir errores en tiempo de ejecución. En general, requiere anotaciones de tipo en el código fuente. Puede ser:

\begin{itemize}
  \item Chequeo de tipos estático: se analiza en tiempo de compilación.
  \item Chequeo de tipos dinámico: se analiza en tiempo de ejecución.
\end{itemize}
