PROPOSTA DE FERRAMENTA DE APOIO AO ENSINO NA DISCIPLINA DE COMPILADORES

Gabriel Felipe Huwe, Andrea Aparecida Konzen

Resumo


Saber como projetar um compilador é muito importante para um cientista da computação, já que todo software deve ser compilado ou interpretado, e conforme novas linguagens e novas arquiteturas de computadores são criadas, novos compiladores devem ser desenvolvidos. O processo de compilação não é simples, pois apresenta uma sequência de passos considerados complexos e  muito importantes. Assim, para o desenvolvimento de um compilador é necessário que os estudantes entendam e saibam claramente sua importância e como são desenvolvidos, escolhendo as técnicas mais adequadas. A partir disso e dos estudo realizado, considera-se importante o desenvolvimento de uma ferramenta que pode auxiliar os estudantes no aprendizado do desenvolvimento de um compilador. Esta ferramenta pode apresentar as técnicas existentes, fazer relações com o desenvolvimento do projeto de um compilador, apresentar opções para as linguagens utilizadas, entre outros. Com isso, o professor tem mais um subsídio para apoio em sala de aula e os estudantes também podem utilizar a ferramenta para fazer suas simulações e testes. Compiladores são ferramentas que transformam um programa escrito em uma linguagem de programação, legíveis por humanos, em uma linguagem Assembly, entendíveis por computadores. Estas ferramentas permitem ao programador escrever código-fonte de forma mais produtiva, já que a necessidade de conhecer os detalhes técnicos da arquitetura de computadores é abstraída. Além disso, a legibilidade de linguagens de programação simplifica o processo de depuração. A disciplina de Compiladores é de grande relevância para cientistas da computação pelo fato de os compiladores serem onipresentes em projetos de software. Um cientista que trabalha com qualquer linguagem de programação de alto nível usará necessariamente algum tipo de compilador ou interpretador, visto que  sem estas ferramentas, só seria possível programar em linguagens de máquina. Este trabalho está em fase final de desenvolvimento e o objetivo é gerar uma ferramenta pedagógica que auxilia no processos de ensino das fases de desenvolvimento de compiladores, apoiando o professor em sala de aula. O uso desta ferramenta computacional pode trazer benefícios como interatividade – o próprio estudante poderia ver, por exemplo, o passo a passo, o processo de análise de uma gramática definida por ele, complementando a explicação e exemplos dados pelo professor; e, facilidade no processo de desenvolvimento do mesmo. Para validar a eficiência desta ferramenta, serão elaborados testes para verificar a corretude do programa, como os algoritmos implementados e a interface gráfica.


Apontamentos

  • Não há apontamentos.