BIA - IFPI Campus Teresina Central Tecnologia Analise e Desenvolvimento de Sistemas - Teresina Central
Use este identificador para citar ou linkar para este item: https://bia.ifpi.edu.br/jspui/handle/123456789/5659
Registro completo de metadados
Campo DCValorIdioma
dc.creatorSilva Júnior, Germano Barbosa-
dc.date.accessioned2026-07-10T14:26:41Z-
dc.date.available2026-07-10T14:26:41Z-
dc.date.issued2026-
dc.identifier.citationSILVA, Germano Barbosa da Silva Júnior. Ábaco: um Interpretador JIT de Visual Basic 6 para a modernização de sistemas legado. Orientador: Otílio Paulo. 2026. 51 f. Trabalho de Conclusão de Curso (Tecnologia em Análise e Desenvolvimento de Sistemas) - Instituto Federal do Piauí, Campus Teresina Central, Teresina, 2026pt_BR
dc.identifier.urihttps://bia.ifpi.edu.br/jspui/handle/123456789/5659-
dc.description.abstractNumerous Brazilian organizations still depend on legacy systems developed in languages whose ecosystems have become obsolete, such as Visual Basic 6.0 (VB6). Released in 1998 and without official support since 2008, the maintenance of this technology in modern environments is severely limited by the proprietary nature of its compiler and the impossibility of acquiring new licenses. This work presents the development of Ábaco, an open-source VB6 interpreter written in Rust, designed to facilitate the modernization of these systems. Unlike the original environment, Ábaco aims to establish a technical foundation that enables the future implementation of modern features, such as parallel execution and flexible integration with external libraries, while offering compatibility with legacy codebases. The implementation methodology covers the entire execution pipeline - loading, syntactic analysis, and assembly, through Just-In-Time (JIT) compilation for the 32-bit x86 architecture - with no external dependencies beyond the operating system. The results demonstrate that the system is already capable of executing a subset of the VB6 language, establishing a solid foundation for total compatibility and the extension of functionalities in legacy systems.pt_BR
dc.languageporpt_BR
dc.publisherInstituto Federal de Educação, Ciência e Tecnologia do Piauípt_BR
dc.rightsAcesso Abertopt_BR
dc.subjectSistemas Legadopt_BR
dc.subjectInterpretadorespt_BR
dc.subjectCompiladorespt_BR
dc.subjectJust In Timept_BR
dc.subjectLegacy Systemspt_BR
dc.titleÁbaco: um interpretador jit de Visual Basic 6 para a modernização de sistemas legadopt_BR
dc.title.alternativeÁbaco: a Visual Basic 6 jit interpreter for the modernization of legacy systemspt_BR
dc.typeTrabalho de Conclusão de Cursopt_BR
dc.creator.Latteshttps://lattes.cnpq.br/3061773763957622pt_BR
dc.contributor.advisor1Paulo, Otílio-
dc.contributor.advisor1Latteshttp://lattes.cnpq.br/2004899053752109pt_BR
dc.contributor.referee1Paulo, Otílio-
dc.contributor.referee1Latteshttp://lattes.cnpq.br/2004899053752109pt_BR
dc.contributor.referee2Sousa, Duany Dreyton Bezerra-
dc.contributor.referee2Latteshttp://lattes.cnpq.br/3744175351578428pt_BR
dc.contributor.referee3Batista, Rogério Da Silva-
dc.contributor.referee3Latteshttp://lattes.cnpq.br/0697104139881988pt_BR
dc.description.resumoDiversas organizações brasileiras ainda dependem de sistemas legados desenvolvidos em linguagens cujos ecossistemas tornaram-se obsoletos, como o Visual Basic 6.0 (VB6). Lançada em 1998 e sem suporte oficial desde 2008, a manutenção dessa tecnologia em ambientes modernos é severamente limitada pela natureza proprietária de seu compilador e pela impossibilidade de aquisição de novas licenças. Este trabalho apresenta o desenvolvimento do Ábaco, um interpretador de código aberto de VB6 escrito em Rust, projetado para facilitar a modernização desses sistemas. Diferente do ambiente original, o Ábaco visa estabelecer uma fundação técnica que viabiliza a futura implementação de capacidades modernas, como execução paralela e integração flexível com bibliotecas externas, enquanto oferece compatibilidade com o legado. A metodologia de implementação compreende todo o pipeline de execução - carregamento, análise sintática e montagem, por meio de compilação JIT (bem na hora) para a arquitetura x86 32-bit - sem dependências externas ao sistema operacional. Os resultados demonstram que o sistema já é capaz de executar um subconjunto da linguagem VB6, estabelecendo uma fundação sólida para a compatibilidade total e para a extensão de funcionalidades em sistemas legados.pt_BR
dc.publisher.countryBrasilpt_BR
dc.publisher.departmentCampus Teresina Centralpt_BR
dc.publisher.initialsIFPIpt_BR
dc.subject.cnpqCNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::METODOLOGIA E TECNICAS DA COMPUTACAO::LINGUAGENS DE PROGRAMACAOpt_BR
dc.relation.referencesALA-HULKKO, T. Modernization of a legacy codebase. 2025. Disponível em: <https://www.theseus.fi/handle/10024/894263>. Acesso em: 2 jun. 2026. Citado na página 15. ALFRED, V. et al. Compilers Principles, Techniques. Pearson, 2007. Disponível em: <http://www.ir.harambeeuniversity.edu.et/bitstream/handle/123456789/1534/ Compilers%20Principles%2C%20Techniques%20%26%20Tools%20by%20Alfred% 20V.%20Aho.%20%28%20PDFDrive.com%20%29.pdf?sequence=1&isAllowed=y>. Acesso em: 2 jun. 2026. Citado na página 18. ALIGNMENT. 2023. Disponível em: <https://learn.microsoft.com/en-us/cpp/cpp/ alignment-cpp-declarations?view=msvc-170>. Acesso em: 29 mai. 2026. Citado na página 31. CALLING Conventions. 2021. Disponível em: <https://learn.microsoft.com/en-us/cpp/ cpp/calling-conventions?view=msvc-170>. Acesso em: 29 mai. 2026. Citado na página 21. CARVALHO, P. H. F. Micro c-um compilador acadêmico. Fundação Universidade Federal de Mato Grosso do Sul, 2025. Acesso em: 29 mai. 2026. Citado 2 vezes nas páginas 28 e 29. CHUBCHENKO, S. Vb Decompiler. 2025. Disponível em: <https://www.vb-decompiler. org/vb60_reversing.htm>. Acesso em: 29 mai. 2026. Citado na página 17. CORMEN, T. H. et al. Introduction to algorithms. MIT press, 2022. Disponível em: <https://books.google.com.br/books?id=drZNEAAAQBAJ>. Acesso em: 2 jun. 2026. Citado na página 20. DALLE, J.-M.; JULLIEN, N. Open-source vs. proprietary software. Guest lecture at ESSID Summer School, Cargèse, 2001. Disponível em: <https://www.researchgate. net/publication/2559454_Open-Source_vs_Proprietary_Software>. Acesso em: 2 jun. 2026. Citado na página 15. DEVI, S. L.; PERUMAL, R. S.; MOULI, P. C. Challenges and issues in code migration from vb 6.0 to vb .net. 2011. Disponível em: <https://www.researchgate.net/ publication/235899034_Challenges_and_Issues_in_Code_Migration_From_VB_60_ TO_VBNET>. Acesso em: 2 jun. 2026. Citado na página 15. DIJKSTRA, E. W. Algol 60 translation : An Algol 60 translator for the x1 and Making a translator for Algol 60. [S.l.], 1961. Disponível em: <http: //www.cs.utexas.edu/users/EWD/MCReps/MR35.PDF>. Acesso em: 2 jun. 2026. Citado 2 vezes nas páginas 20 e 33. FREEBASIC. 2026. Disponível em: <https://www.freebasic.net/>. Acesso em: 29 mai. 2026. Citado na página 14. INTEL® 64 and IA-32 Architectures Software Developer’s Manual. 2026. Disponível em: <https://www.intel.com/content/www/us/en/developer/articles/technical/intel-sdm. html>. Acesso em: 29 mai. 2026. Citado 2 vezes nas páginas 21 e 33. KOTZMANN, T. et al. Design of the java hotspot™ client compiler for java 6. ACM Transactions on Architecture and Code Optimization (TACO), ACM New York, NY, USA, v. 5, n. 1, p. 1–32, 2008. Disponível em: <https: //dl.acm.org/doi/abs/10.1145/1369396.1370017>. Acesso em: 2 jun. 2026. Citado na página 19. LUAJIT. 2025. Disponível em: <https://luajit.org/>. Acesso em: 2 jun. 2026. Citado na página 19. MS-VBAL: VBA Language Specification. 2025. Disponível em: <https://learn.microsoft. com/en-us/openspecs/microsoft_general_purpose_programming_languages/ms-vbal/ d5418146-0bd2-45eb-9c7a-fd9502722c74>. Acesso em: 29 mai. 2026. Citado na página 15. MYERS TOM BADGETT, C. S. G. J. The art of software testing. In: . John Wiley & Sons, Ltd, 2012. ISBN 9781119202486. Disponível em: <https: //onlinelibrary.wiley.com/doi/abs/10.1002/9781119202486>. Acesso em: 2 jun. 2026. Citado 2 vezes nas páginas 36 e 37. RADBASIC. 2026. Disponível em: <https://www.radbasic.dev/>. Acesso em: 29 mai. 2026. Citado na página 15. SPIDERMONKEY Javascript Engine. 2026. Disponível em: <https://spidermonkey.dev/>. Acesso em: 2 jun. 2026. Citado na página 19. TWINBASIC. 2026. Disponível em: <https://twinbasic.com/>. Acesso em: 29 mai. 2026. Citado na página 15. V8 Javascript Engine. 2026. Disponível em: <https://v8.dev/>. Acesso em: 2 jun. 2026. Citado na página 19.pt_BR
Aparece nas coleções:Analise e Desenvolvimento de Sistemas - Teresina Central

Arquivos associados a este item:
Arquivo Descrição TamanhoFormato 
2026_tcc_gbsilvajr.pdf1.4 MBAdobe PDFVisualizar/Abrir


Os itens no repositório estão protegidos por copyright, com todos os direitos reservados, salvo quando é indicado o contrário.