Prevajanje programskega jezika PINS v javansko zložno kodo

V diplomskem delu je predstavljen postopek dopolnitve prevajalnika za programski jezik PINS tako, da se ta prevaja v javansko zložno kodo. Programski jezik PINS je učni programski jezik, katerega prevajalnik smo implementirali pri predmetu Prevajalniki in navidezni stroji. V diplomskem delu so opisa...

Full description

Bibliographic Details
Main Author: Šveigl, Luka
Other Authors: Slivnik, Boštjan
Format: Bachelor Thesis
Language:Slovenian
Published: 2023
Subjects:
Online Access:https://repozitorij.uni-lj.si/IzpisGradiva.php?id=152697
https://repozitorij.uni-lj.si/Dokument.php?id=178309&dn=
https://plus.cobiss.net/cobiss/si/sl/bib/166270723
https://hdl.handle.net/20.500.12556/RUL-152697
Description
Summary:V diplomskem delu je predstavljen postopek dopolnitve prevajalnika za programski jezik PINS tako, da se ta prevaja v javansko zložno kodo. Programski jezik PINS je učni programski jezik, katerega prevajalnik smo implementirali pri predmetu Prevajalniki in navidezni stroji. V diplomskem delu so opisani registrski in skladovni procesorji, javanski navidezni stroj, posebej pa se posvetimo tudi sami nadgradnji prevajalnika za programski jezik PINS. Delovanje novega prevajalnika za programski jezik PINS je preverjeno na različnih testnih primerih, prav tako pa zložno kodo preveri tudi javanski navidezni stroj. Izmerjena je tudi hitrost delovanja novo prevedenih programov in primerjana z osnovnim prevajalnikom PINS ter Javo. This thesis presents a procedure for enhancing the compiler for the PINS programming language by compiling the source code into Java bytecode. PINS is an educational programming language, and its compiler was implemented as part of the Compilers and Virtual Machines course. The thesis describes register and stack machines, the Java vritual machine and focuses particularly on the upgrade of the compiler for the PINS programming language. The functionality of the new compiler for the PINS programming language is tested using various test cases, and the Java Virtual Machine also verifies the bytecode. Additionally, the performance of the newly translated programs is measured and compared to the basic PINS compiler and Java.