Analisador Sintático de PASCAL simplificado

Análise com procedimento

Este exercício tem como objetivo testar o seu analisador sintático de pascal, conforme implementação feita seguindo as especificações do livro texto1.

Entrada

O código fonte PAS será passado como o primeiro argumento ao seu programa, ou seja, o seu programa será invocado da seguinte maneira:

./meusintatico arquivo.pas

Saída

O seu programa deverá imprimir na tela uma única linha para cada entrada, sendo Aceito quando o código estiver sintaticamente correto e Rejeito quando estiver sinsticamente errado.

Você pode, se assim desejar, imprimir outras mensagens (informando o erro), mas as coloque na saída de erro (stderr).

Exemplo de entrada

in.pas

program olamundo(input,output);
begin
  write(42)
end.

Saída para o exemplo de entrada acima

Aceito

Exemplo de entrada

in.pas

program exemplo73 (input, output);
var n, s, i :  integer;
   procedure soma;
   var q : integer;
   begin
      q:=i*i;
      if (i div 2) * 2 = i
      then
         s:=s+q
      else
         s:=s-q
   end;
begin
   read (n);
   s:=0; i:=0;
   while i<=n do
   begin
      soma; writeln(s); i:=i+1
   end
end.

Saída para o exemplo de entrada acima

Aceito