Details

Prevajanje javanske zložne kode v zbirni jezik RISC-V
ID El Habashy, Karim (Author), ID Slivnik, Boštjan (Mentor) More about this mentor... This link opens in a new window

.pdfPDF - Presentation file, Download (640,81 KB)
MD5: 32F8C1DACC554B5E28F5EE65E9C886CA

Abstract
Prevajalniki so na splošno programi, ki računalniško kodo prevajajo iz enega programskega jezika v drugega. Pogost primer uporabe prevajalnikov je prevod iz visokonivojskih programskih jezikov v nizkonivojske. Med visokonivojske programske jezike spada jezik Java, za katerega obstaja več implementacij prevajalnikov, ki prevajajo v javansko zložno kodo, ne neposredno v strojni jezik. Za dejansko izvedbo teh programov je torej potreben še prevod v strojni ali zbirni jezik, ki ga pozna nek procesor oziroma družina procesorjev. V diplomskem delu je predstavljena implementacija takšnega prevajalnika. Izdelan prevajalnik prevaja iz javanske zložne kode v zbirni jezik odprtega standarda nabora ukazov arhitekture RISC-V. Ne deluje kot tolmač v okviru javanskega navideznega stroja, kar je sicer pogosti način implementacije, ampak je zgolj program, ki sprejme javansko zložno kodo v obliki .class datoteke in izpiše prevedeno kodo v RISC-V zbirnem jeziku. Takšen pristop omogoča potencialno pohitritev izvajanja programov, ampak za razliko od tolmačev zahteva popoln prevod pred zagonom.

Language:Slovenian
Keywords:prevajalnik, java, zložna koda, riscv
Work type:Bachelor thesis/paper
Typology:2.11 - Undergraduate Thesis
Organization:FRI - Faculty of Computer and Information Science
Year:2026
PID:20.500.12556/RUL-180746 This link opens in a new window
COBISS.SI-ID:275526403 This link opens in a new window
Publication date in RUL:16.03.2026
Views:254
Downloads:131
Metadata:XML DC-XML DC-RDF
:
Copy citation
Share:Bookmark and Share

Secondary language

Language:English
Title:Compiling JVM bytecode to RISC-V assembly
Abstract:
Compilers are pieces of software that translate computer code from one programming language to another. A common use case for compilers is translating from high-level to low-level languages. An example of a high-level language is Java. Compilers for Java generally compile to JVM bytecode, not machine code. In order to run Java programs, JVM bytecode must therefore first be translated to an assembly or machine language, known by some processor or family of processors. This thesis presents an implementation of one such compiler. The presented compiler compiles to the assembly language used by RISC-V, an open instruction set architecture. It is not an interpreter, working as part of a Java virtual machine, which is standard practice, but is instead a program that takes JVM bytecode, written in the form of a .class file, and compiles it to RISC-V assembly. This approach can potentially speed up program execution, but it requires a full compilation, while interpreters can run bytecode immediately.

Keywords:compiler, java, bytecode, riscv

Similar documents

Similar works from RUL:
Similar works from other Slovenian collections:

Back