Descrição
A versão atual do compilador implementa o front-end, isto é, a análise léxica, sintática e semântica (parcial), para um trecho da linguagem MiniJava, a qual é um subconjunto da linguagem Java. Foi criada uma GUI simples na qual o usuário pode intuitivamente inserir trechos de código fonte da linguagem fonte e compilá-los para verificar a presença de erros léxicos, sintáticos ou semânticos. A linguagem MiniJava foi descrita no apêndice da referência “Appel, Andrew W., Modern Compiler Implementation in Java, 2a Edição, Cambridge University Press, 2002”.
Diferencial Tecnológico
Vantagens: interface gráfica, com componentes gráficos intuitivos; highlights do código-fonte, para facilitar o ensino sobre palavras chaves; código padronizado com o padrão MVC, para garantir a escalabilidade do código-fonte e sua fácil extensão; suporta arquivos .Java, desde que estejam de acordo com a gramática; contém todas as partes do front-end de um compilador simples, como análise léxica, sintática, semântica e detecção de erros; ferramentas de edição de texto, bem como Undo e Redo; opções de manipulação de arquivos. Problemas resolvidos: O projeto resolve o problema da falta de opções de compiladores simples e completos, que possam ser utilizados em sala de aula, ou para futuros projetos de ensino/pesquisa; como o código-fonte é aberto, o projeto pode ser estendido e implantado como compilador de sistemas embarcados com poucos recursos de hardware.
Objetivos da Universidade
Transferência de Tecnologia