Опубликован исходный код на русифицированном языке C начальной реализации развиваемой с нуля виртуальной машины

от автора

В рамках проекта «Виртуальная машина» разработчиками опубликован исходный код начальной реализации развиваемой с нуля виртуальной машины. Код проекта выполнен на русифицированном языке C и выпущен под открытой лицензией MIT.

Русификация языка выполнена через макроподстановки и реализована через подключение двух заголовочных файлов ru_stdio.h и keywords.h. Например, в коде написано вместо int — цел, вместо long — длин и так далее: for — для, if — если, return — вернуть, goto — переход и так далее.

#вставка    "ru_stdio.h" #вставка <string.h> #вставка"ansicode.h" #вставка"opcode.h" #вставка"vm.h"//Внешний интерфейс виртуальной машины // Задачи проекта цел main() {  пчф(ЗЕЛЕНЫЙ_ТЕКСТ "Новый проект.\n" ОБЫЧНЫЙ_ТЕКСТ); //в переменной типа ТВМ "упакована" вся внутреннее устройство ВМ: // регистры, стек, память указатели и тд.  ТВМ* ВМ1 = создать_ВМ();  // программа состоящая их четырех тестовых инструкций.  б64 программа[4] = {цСЛОЖ, цВЫЧ, цУМН, СТОП} ; //Программа загружается как массив байтов.  загрузить_ВМ(ВМ1,(симв*) программа, (симв*)((программа)+1));  старт_ВМ(ВМ1); // освобождаем динамически выделенную память под ВМ. закрыть_ВМ (ВМ1); пчф("Виртуальная машина успешно завершила работу.\n Для завершения нажмите ВВОД"); чтз(); вернуть 0;   } 

Целью проекта «Виртуальная машина» является создание виртуальной машины с простой архитектурой и системой команд, которая будет легкой и понятной для изучения, а её реализация не займёт много времени. Предполагается, что преимуществом проекта будет исчерпывающая русскоязычная документация, а разработка под виртуальную машину будет полностью кириллической. В частности, кириллица будет использоваться для мнемоник инструкций, имён регистров и тому подобное.


ссылка на оригинал статьи https://habr.com/ru/articles/720496/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *