\documentclass[a4paper]{article}

\usepackage{pslatex}
\usepackage{a4wide}
%\usepackage{isolatin1}
%\usepackage{latin1}
\usepackage[portuges]{babel}
%\usepackage{picins}

%\defõ{\~o}
%\defÕ{\~O}

\begin{document}

% $Id: sintaxe-vspl.tex,v 1.3 2012/03/09 08:02:10 spa Exp $

\def\LANG{\textsf{VSPL}}

\begin{center}
  \begin{Large}
    \textsf{Compiladores -- Ano lectivo 2020/21}
    \textbf{Linguagem \LANG} \\
  \end{Large}
  \mbox{}\\
  \hrulefill{}
  \begin{center}
    (Versão de 2021.03.15)
  \end{center}
\end{center}

\noindent \hrulefill{} {\Large Especificação} \hrulefill{}

\let\tplsec\section
\let\tplsubsec\subsection
\input{../teoricas/prog-lang.tex}

\tplsec{Restrições à Linguagem}

Para facilitar a implementação dum compilador para \LANG{}, são
impostas algumas restrições à linguagem, que seguem:
\begin{enumerate}
\item Tipos de dados: s\'o existem os tipos inteiro, booleano e os
  constructores de tipo array, tuplo e fun\c c\~ao.  Em particular
  desaparecem os tipos classe e string.
\item Os literais de func\c c\~ao s\'o podem ocorrer no n\'\i{}vel
  lexical mais alto dum programa (i.e.~n\~ao h\'a fun\c c\~oes dentro
  de fun\c c\~oes), e como valores para s\'\i{}mbolos constantes.
\item Declara\c c\~ao impl\'\i{}cita: se um nome for declarado
  implicitamente (por ter uma ocorr\^encia de uso antes duma de
  defini\c c\~ao), s\^e-lo-h\'a necess\'ariamente no bloco mais
  interior em que ocorre, independentemente de poder haver uma
  declara\c c\~ao posterior em blocos exteriores.
\end{enumerate}

\end{document}

% $Log: sintaxe-vspl.tex,v $
% Revision 1.3  2012/03/09 08:02:10  spa
% *** empty log message ***
%
% Revision 1.2  2010/03/26 07:33:40  spa
% *** empty log message ***
%
% Revision 1.1  2009/03/19 00:31:45  spa
% Initial revision
%
% Revision 1.10  2006/10/19 07:13:25  spa
% Mods para 2006/07: uniformização com slides.
%
% Revision 1.9  2006/10/19 06:46:06  spa
% *** empty log message ***
%
% Revision 1.8  2005/04/21 09:07:59  spa
% *** empty log message ***
%
% Revision 1.7  2002/12/11 08:02:33  spa
% Ultima versão antes de incluir nos apontamentos.
%
% Revision 1.6  2002/11/06 14:57:10  spa
% *** empty log message ***
%
% Revision 1.5  2002/10/24 09:32:46  spa
% Versão apresentada aos alunos hoje.
%
% Revision 1.4  2002/10/24 07:58:15  spa
% 1ª versão para 2002/03.
%
% Revision 1.3  2002/10/24 07:25:33  spa
% Início da versão TPL-03
%
% Revision 1.2  2002/10/24 06:52:10  spa
% Versão usada em 2001/02.
%
% Revision 1.1  2002/03/26 11:35:32  spa
% Initial revision
%
% Revision 1.4  2001/03/25 23:44:03  spa
% Correcções de Português.
%
% Revision 1.3  2001/03/20 11:56:07  spa
% Footnote re. TPL evoluir.
%
% Revision 1.2  2001/03/20 11:16:58  spa
% subsection -> subsubsection em dois sítios.
%
% Revision 1.1  2001/03/20 11:14:38  spa
% Initial revision
%

% Local Variables:
% mode: latex
% mode: reftex
% mode: font-lock
% mode: auto-fill
% End:
