Kompilatora izveide Oberon valodai Apple Silicon (ARM64) procesora mašīnkodā - Jefimovs, Arturs (Latvijas Universitāte, 2025)
Darbs ir veltīts programmēšanas valodas Oberons (Paskāļa sekotāja) kompilatora izstrādei, lai pārveidotu to par mūsdienu procesoru mašīnkodu. Izvēlētais procesors ir Apple Silicon (ARM64) ar operētājsistēmu macOS. Pētījuma galvenais mērķis ir izveidot instrumentu, kas ļauj kompilēt Oberonā rakstīto pirmkodu objektkodā, kas ir saderīgs ar mūsdienu ARM64 arhitektūras procesoriem. Darbā paredzēts apskatīt un realizēt visus galvenos programmēšanas valodas tulkošanas posmus: sākot no leksiskās un sintaktiskās analīzes un tipu saderības pārbaudes līdz starpreprezentācijas koda un mašīnkoda ģenerēšanai un izpildāmā faila sastatīšanai. Īpaša uzmanība tiks pievērsta mūsdienu ARM64 arhitektūras procesora specifikai un problēmām, kas saistītas ar Oberona valodas īpašību pielāgošanu zema līmeņa platformai. Tāpat tiks uzsvērta pirmkoda stila un skaidrības nozīme, jo pats kompilators tiks rakstīts Oberona valodā. Darba galarezultāts ir funkcionējošs kompilatora prototips, kuru varēs izmantot turpmākai attīstībai un Oberona valodas potenciāla izpētei mūsdienu skaitļošanas sistēmās.

This thesis presents the design and implementation of a compiler for the Oberon programming language, a successor of Pascal, targeting modern processor architectures. The chosen platform is Apple Silicon (ARM64) running the macOS operating system. The primary goal of this research is to develop a toolchain capable of translating Oberon source code into object code compatible with contemporary ARM64 processors. The work encompasses all major stages of compilation, including lexical and syntactic analysis, type checking, intermediate code generation, machine code emission, and executable linking. Particular emphasis is placed on addressing the architectural specifics of ARM64 and the challenges associated with adapting the high-level semantics of Oberon to a low-level execution environment. The clarity and structure of the source code are also highlighted, as the compiler itself is implemented in Oberon. The outcome of this thesis is a functioning compiler prototype, providing a foundation for future development and further investigation into the applicability of the Oberon language in modern computing environments.
Compiler Construction for the Language Oberon Targeting Apple Silicon (ARM64) Machine Code
Keywords: Datorzinātne un informātika; compiler; Oberon; Apple; ARM64; kompilators