In the modern software development landscape, the demand for rapid development often outweighs concerns about low-level performance, leading to widespread adoption of platform-independent languages. Cross-platform compatibility is achieved through the use of virtual machines, which interpret intermediate bytecode rather than compiling directly to machine code. This thesis presents the design and implementation of a lightweight, cross-platform virtual machine tailored for executing procedural programs in terminal environments. Drawing conceptual inspiration from established virtual machine architectures, the project explores low-level system design, bytecode interpretation, and memory management. A key contribution is the development of a custom instruction set architecture, designed to reflect conventional processor principles while remaining compact and extensible. This ISA supports fundamental operations such as arithmetic, control flow, and memory access, enabling efficient execution of moderately complex programs. While the current implementation has limitations, such as restricted data structure support and constrained function scope, it provides a solid foundation for further development. The work highlights critical trade-offs in virtual machine design and contributes toward the creation of a platform-independent procedural programming language.

A Bytecode Virtual Machine

BATTISTI, FILIPPO
2024/2025

Abstract

In the modern software development landscape, the demand for rapid development often outweighs concerns about low-level performance, leading to widespread adoption of platform-independent languages. Cross-platform compatibility is achieved through the use of virtual machines, which interpret intermediate bytecode rather than compiling directly to machine code. This thesis presents the design and implementation of a lightweight, cross-platform virtual machine tailored for executing procedural programs in terminal environments. Drawing conceptual inspiration from established virtual machine architectures, the project explores low-level system design, bytecode interpretation, and memory management. A key contribution is the development of a custom instruction set architecture, designed to reflect conventional processor principles while remaining compact and extensible. This ISA supports fundamental operations such as arithmetic, control flow, and memory access, enabling efficient execution of moderately complex programs. While the current implementation has limitations, such as restricted data structure support and constrained function scope, it provides a solid foundation for further development. The work highlights critical trade-offs in virtual machine design and contributes toward the creation of a platform-independent procedural programming language.
2024
A Bytecode Virtual Machine
virtual machine
bytecode
interpreter
File in questo prodotto:
File Dimensione Formato  
Battisti_Filippo.pdf

accesso aperto

Dimensione 294.69 kB
Formato Adobe PDF
294.69 kB Adobe PDF Visualizza/Apri

The text of this website © Università degli studi di Padova. Full Text are published under a non-exclusive license. Metadata are under a CC0 License

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/20.500.12608/91653