title: Ð Ð°Ð·ÑÐ°Ð±Ð¾ÑÐºÐ° ÐºÐ¾Ð¼Ð¿Ð¸Ð»ÑÑÐ¾ÑÐ° ÑÐ·ÑÐºÐ° Modula-2 Ð¿Ð¾Ð´ Ð¿ÑÐ¾ÑÐµÑÑÐ¾Ñ RISC-V Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ Ð¿Ð»Ð°ÑÑÐ¾ÑÐ¼Ñ LLVM
title: Ð²ÑÐ¿ÑÑÐºÐ½Ð°Ñ ÐºÐ²Ð°Ð»Ð¸ÑÐ¸ÐºÐ°ÑÐ¸Ð¾Ð½Ð½Ð°Ñ ÑÐ°Ð±Ð¾ÑÐ° Ð±Ð°ÐºÐ°Ð»Ð°Ð²ÑÐ°
titleType: Subtitle
title: Development of the Modula-2 language compiler for onboard processors with RISC-V architecture using LLVM technology
Creators: name: Ð Ð°Ð·Ð¸Ð½, ÐÐ°ÐºÐ°Ñ
Publisher: name: Ð¡Ð°Ð½ÐºÑ-ÐÐµÑÐµÑÐ±ÑÑÐ³ÑÐºÐ¸Ð¹ Ð¿Ð¾Ð»Ð¸ÑÐµÑÐ½Ð¸ÑÐµÑÐºÐ¸Ð¹ ÑÐ½Ð¸Ð²ÐµÑÑÐ¸ÑÐµÑ ÐÐµÑÑÐ° ÐÐµÐ»Ð¸ÐºÐ¾Ð³Ð¾
Year: 2024
Subjects: ÑÐ°Ð·ÑÐ°Ð±Ð¾ÑÐºÐ° ÐºÐ¾Ð¼Ð¿Ð¸Ð»ÑÑÐ¾ÑÐ°
Modula-2
RISC-V
LLVM
compiler development

description: ÐÐ°Ð½Ð½Ð°Ñ ÑÐ°Ð±Ð¾ÑÐ° Ð¿Ð¾ÑÐ²ÑÑÐµÐ½Ð° ÑÐ°Ð·ÑÐ°Ð±Ð¾ÑÐºÐµ ÐºÐ¾Ð¼Ð¿Ð¸Ð»ÑÑÐ¾ÑÐ° ÑÐ·ÑÐºÐ° Modula-2 Ñ Ð¸ÑÐ¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°Ð½Ð¸ÐµÐ¼ ÑÐµÑÐ½Ð¾Ð»Ð¾Ð³Ð¸Ð¸ LLVM Ð´Ð»Ñ ÑÑÐ°Ð½ÑÐ»ÑÑÐ¸Ð¸ ÐºÐ¾Ð´Ð° Ð±Ð¾ÑÑÐ¾Ð²Ð¾Ð³Ð¾ Ð¿ÑÐ¾Ð³ÑÐ°Ð¼Ð¼Ð½Ð¾Ð³Ð¾ Ð¾Ð±ÐµÑÐ¿ÐµÑÐµÐ½Ð¸Ñ Ñ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑÑÑ Ð¿Ð¾Ð»ÑÑÐµÐ½Ð¸Ñ Ð¼Ð°ÑÐ¸Ð½Ð½Ð¾Ð³Ð¾ ÐºÐ¾Ð´Ð° Ð¿Ð¾Ð´ ÑÐ°Ð·Ð»Ð¸ÑÐ½ÑÐµ Ð°ÑÑÐ¸ÑÐµÐºÑÑÑÑ Ð¿ÑÐ¾ÑÐµÑÑÐ¾ÑÐ¾Ð² Ñ ÑÐµÐ»ÑÑ Ð¿Ð¾Ð²ÑÑÐµÐ½Ð¸Ñ ÑÑÑÐµÐºÑÐ¸Ð²Ð½Ð¾ÑÑÐ¸ ÑÐ°Ð±Ð¾ÑÑ Ð¸ Ð¿ÐµÑÐµÐ½Ð¾ÑÐ¸Ð¼Ð¾ÑÑÐ¸ ÐºÐ¾Ð´Ð° Ð¿ÑÐ¸ ÑÐ°Ð·ÑÐ°Ð±Ð¾ÑÐºÐµ Ð±Ð¾ÑÑÐ¾Ð²Ð¾Ð³Ð¾ Ð¿ÑÐ¾Ð³ÑÐ°Ð¼Ð¼Ð½Ð¾Ð³Ð¾ Ð¾Ð±ÐµÑÐ¿ÐµÑÐµÐ½Ð¸Ñ. Ð ÑÐ¾Ð´Ðµ Ð²ÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ ÑÐ°Ð±Ð¾ÑÑ Ð¿ÑÐ¸Ð²ÐµÐ´ÐµÐ½ Ð¾Ð±Ð·Ð¾Ñ Ð¸ Ð°Ð½Ð°Ð»Ð¸Ð· ÑÑÑÐµÑÑÐ²ÑÑÑÐ¸Ñ ÑÐµÑÐµÐ½Ð¸Ð¹ Ð² Ð¾Ð±Ð»Ð°ÑÑÐ¸ ÐºÐ¾Ð¼Ð¿Ð¸Ð»ÑÑÐ¾ÑÐ½ÑÑ ÑÐµÑÐ½Ð¾Ð»Ð¾Ð³Ð¸Ð¹ Ð´Ð»Ñ Ð¿Ð¾Ð»ÑÑÐµÐ½Ð¸Ñ Ð¼Ð°ÑÐ¸Ð½Ð½Ð¾Ð³Ð¾ ÐºÐ¾Ð´Ð° Ð¿ÑÐ¾Ð³ÑÐ°Ð¼Ð¼, Ð½Ð°Ð¿Ð¸ÑÐ°Ð½Ð½ÑÑ Ð½Ð° ÑÐ·ÑÐºÐµ Modula-2. Ð Ð°ÑÑÐ¼Ð°ÑÑÐ¸Ð²Ð°ÑÑÑÑ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½ÑÐµ Ð¿Ð¾Ð´ÑÐ¾Ð´Ñ Ðº ÑÐµÑÐµÐ½Ð¸Ñ ÑÑÐ¾Ð¹ Ð·Ð°Ð´Ð°ÑÐ¸, Ð¿ÑÐ¾ÐµÐºÑÐ¸ÑÑÐµÑÑÑ Ð¿ÑÐ¾ÑÐ¾ÑÐ¸Ð¿ ÐºÐ¾Ð¼Ð¿Ð¸Ð»ÑÑÐ¾ÑÐ° Ð¸ ÐµÐ³Ð¾ Ð¼Ð¾Ð´ÑÐ»ÐµÐ¹, Ð¿ÑÐ¾Ð¸ÑÑÐ¾Ð´Ð¸Ñ ÐµÐ³Ð¾ ÑÐ°Ð·ÑÐ°Ð±Ð¾ÑÐºÐ° Ð¸ ÑÐµÑÑÐ¸ÑÐ¾Ð²Ð°Ð½Ð¸Ðµ. Ð ÑÐµÐ·ÑÐ»ÑÑÐ°ÑÐµ Ð±ÑÐ»Ð° Ð¿ÑÐ¾Ð°Ð½Ð°Ð»Ð¸Ð·Ð¸ÑÐ¾Ð²Ð°Ð½Ð° ÑÐµÑÐ½Ð¾Ð»Ð¾Ð³Ð¸Ñ ÑÐ°Ð·ÑÐ°Ð±Ð¾ÑÐºÐ¸ ÐºÐ¾Ð¼Ð¿Ð¸Ð»ÑÑÐ¾ÑÐ¾Ð² LLVM, ÑÐ°Ð·ÑÐ°Ð±Ð¾ÑÐ°Ð½Ñ ÑÐ¾Ð¾ÑÐ²ÐµÑÑÑÐ²ÑÑÑÐ¸Ðµ Ð¼Ð¾Ð´ÑÐ»Ð¸ ÐºÐ¾Ð¼Ð¿Ð¸Ð»ÑÑÐ¾ÑÐ°, ÐºÐ¾ÑÐ¾ÑÑÐµ Ð¿Ð¾Ð·Ð²Ð¾Ð»ÑÑÑ Ð¿Ð¾Ð»ÑÑÐ¸ÑÑ Ð¼Ð°ÑÐ¸Ð½Ð½ÑÐ¹ ÐºÐ¾Ð´ Ð¿ÑÐ¾Ð³ÑÐ°Ð¼Ð¼, ÑÐµÐ°Ð»Ð¸Ð·Ð¾Ð²Ð°Ð½Ð½ÑÑ Ð½Ð° ÑÐ·ÑÐºÐµ Modula-2, Ð¿Ð¾Ð´ ÑÐ°Ð·Ð»Ð¸ÑÐ½ÑÐµ Ð°ÑÑÐ¸ÑÐµÐºÑÑÑÑ Ð¿ÑÐ¾ÑÐµÑÑÐ¾ÑÐ¾Ð², Ð² ÑÐ°ÑÑÐ½Ð¾ÑÑÐ¸ Ð¿Ð¾Ð´ ÑÑÐµÐ±ÑÐµÐ¼ÑÑ Ð°ÑÑÐ¸ÑÐµÐºÑÑÑÑ RISC-V.
description: This bachelorâs work is devoted to the development of the Modula-2 language compiler using LLVM technology to translate the code of onboard software with the possibility of obtaining machine code for various processor architectures in order to increase the efficiency of work and code portability during development on-board software. In the course of the work, the overview and analysis of existing solutions in the field of compiler technologies for obtaining machine code of programs written in the Modula-2 language is provided. Possible approaches for this problem were considered, a prototype of the compiler and its modules were designed, it was implemented and tested. As a result, the LLVM compiler development technology was analyzed, and appropriate compiler modules were developed that allow you to obtain the machine code of programs written in the Modula-2 language for various processor architectures, in particular for the required RISC-V architecture.