Informações Principais
     Resumo
     Abstract
     Introdução
     Conclusão
     Download
  
  
  
 
Conclusão
 
 
Acadêmico(a): Thiago Kewitz Demarchi
Título: Motor de Templates para Delphi
 
Conclusão:
A partir da percepção das vantagens da utilização de um motor de templates em aplicações que necessitam gerar documentos e da quantidade despendida de trabalho para implementar um motor de templates específico para determinada aplicação, bem como das vantagens e facilidades da utilização de um motor de templates genérico e da não existência de um destes, disponível para aplicações programadas em Delphi, que traga um bom custo-benefício, foi verificada a possibilidade da implementação deste trabalho. A biblioteca implementada interpreta arquivos de templates através de analisadores léxico, sintático e semântico, sendo os dois primeiros gerados com a ferramenta GALS (GESSER, 2002), o que reduziu significantemente o trabalho de implementação dos mesmos. A análise léxica separa os tokens usados na análise sintática para a identificação do código estático e das estruturações do código dinâmico, que permitem a manipulação de variáveis, o controle de fluxo e a reutilização de código. A análise semântica, por sua vez, processa as ações definidas pelas estruturas do código dinâmico, substituindo neste os dados definidos no contexto e mescla o resultado ao código estático, formando assim o texto formatado de saída. As informações disponíveis para o uso nas estruturas do código dinâmico são definidas pela aplicação que utiliza a biblioteca, a qual mapeia seus dados em um contexto através de um apelido único, que deve ser utilizado no template para referenciar o dado. Para os casos onde um objeto é mapeado no contexto, a biblioteca possibilita a sua extensão através da criação e registro de classes contêineres, a fim de disponibilizar para tais objetos, propriedades e métodos a serem utilizadas nos templates, já que a linguagem Delphi somente possibilita que, em tempo de execução, tenha-se conhecimento de algumas propriedades específicas dos objetos, as quais são disponibilizadas automaticamente para o template. Por fim, obteve-se uma biblioteca que pode trazer agilidade na programação e flexibilidade para aplicativos que necessitem gerar documentos de saída, o que é comum em trabalhos curriculares e finais de cursos na área de computação, além de ser passível de utilização em aplicações comerciais.