WebGcc
TITULAR
UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO
PROCESSO
BR 51 2023 003616 1
DESCRIÇÃO
O programa é um compilador que converte programas escritos na linguagem de programação C++ em código binário WASM. Um compilador é uma ferramenta que traduz código de programação de alto nível em código de máquina, garantindo correção sintática e semântica. Também oferece oportunidades de otimização de código para melhorar o desempenho do programa. Essa transformação é essencial para possibilitar a execução de software em um computador ou em outras plataformas de hardware.
O compilador é composto por vários componentes com responsabilidades únicas, onde a entrada de um programa fonte em formato texto passa por um processo de pipeline, com fases bem definidas e ordenadas. O compilador contém sete componentes lógicos: analisador léxico, analisador sintático, analisador semântico, gerador de código intermediário, gerador de código, gerenciador da tabela de símbolos e tratador de erros. Esses componentes estão todos ligados e se comunicam entre si.
APLICAÇÕES E BENEFÍCIOS
Devido às limitações do JavaScript, a Web precisou desenvolver um novo tipo de código que suportasse rodar sistemas que exigem alto desempenho. Nesse contexto, surgiu o WebAssembly, ou WASM, um novo formato de código binário para ser executado em ambientes Web. Para usar esse formato, é possível criar um código escrito na linguagem C++ e compilar para WASM usando o compilador oficial Emscripten. Porém, do ponto de vista de um programador que deseja identificar as conversões que foram feitas do programa fonte, em C++, para o programa alvo, em WASM, o código gerado tende a ser muito complexo e pouco claro. Com isso, o nosso compilador de C++ para WASM, com foco em uma compilação simples e mais direta, é útil para quem precisa entender as equivalências de um programa para o outro. Além disso, o compilador foi construído para gerar código que executa mais rápido que o código equivalente em JavaScript puro.
DOWNLOAD DO CERTIFICADO

AUTORES
- FELIPE NASCIMENTO RIBEIRO
- JUDSON SANTOS SANTIAGO
CONTATOS
nit@ufersa.edu.br
(84) 3317-8312