Compilar (F9)

Previous  Top  Next



Compila o programa-fonte corrente. Atua, segundo o contexto, de duas formas distintas:

1.Se o usuário constrói ou abre (lê ou carrega) do disco um programa em LCE e manda que o mesmo seja compilado, como resultado da compilação, se não houver erros, é gerado outro programa na linguagem Lista de Instruções - IL, o qual será também, por sua vez, automaticamente compilado (no entanto, as instruções geradas nessa segunda compilação não são visíveis ao usuário).Se não houver erros de compilação, um diagrama ladder será desenhado, representando o controle implementado, o qual estará pronto para ter simulado seu comportamento. Se houver erros de compilação no programa em LCE, na área de texto reservada ao programa gerado em IL serão apresentados os erros de compilação - clique nos botõezinhos à sua frente para ir ao ponto do erro no programa. No caso de erros na própria lista de instruções, é apresentada ao usuário outra área de texto com os erros encontrados (vide nota abaixo).  
 
2.   Se o usuário carrega (lê) do disco um programa na linguagem Lista de Instruções - IL o programa será automaticamente compilado (as instruções geradas nessa compilação não são visíveis ao usuário), mas se o programa for escrito do início ou for alterado, o comando de compilação deve ser dado explicitamente. Se não houver erros de compilação, o diagrama ladder correspondente ao programa de controle será desenhado, pronto para ser simulado. No caso de erros, será aberta uma área de texto apresentando os erros identificados, os quais devem ser corrigidos tendo em vista recomendações do item 1 e nota abaixo.  
 
Atenção: no caso da ocorrência de erros, procure consertar os erros do final para o início do código-fonte, ou seja, verifique os erros das linhas de maior numeração primeiro, pois, como ainda não implementei ponteiros dinâmicos para as posições de erro no texto-fonte, o conserto de erro em uma posição faz com que os ponteiros estáticos dos erros para as posições seguintes fiquem fora do lugar, a uma distância de (tamanho do texto deletado - tamanho do texto incluído) caracteres dos pontos corretos de erros. Atentem ainda que, como ocorre com compilações em todas as linguagens de programação, mensagens de falsos erros subseqüentes ocorrem com freqüência, causadas por erros precedentes verdadeiros.

Atenção
: como acontece com todos os compiladores, o código gerado em IL pela compilação de um programa-fonte em LCE é, em geral, menos otimizado e menos elegante que código equivalente diretamente produzido por um bom programador.

Atenção
: as variáveis utilizadas no Simulador podem apresentar qualquer nome, assim se houver erro na digitação do nome de alguma variável significativa, isto não será detectado como erro, mas apenas aviso, de compilação.

Por exemplo, no seguinte trecho haverá um aviso indicando uso da terceira variável Interuptor
, a qual não foi associada a nenhuma variável na cláusula var. Se o usuário optar por continuar a compilação, sem correção, será gerado código considerando que Interuptor é uma terceira variável, diferente de I0.0 e não associada a qualquer ponto de entrada ou saída.

   var
   I0.0   Interruptor,
         
Q0.0
   Lâmpada;
      ...
      se
(Interuptor) { liga Lâmpada; }
      ...