В рамках проекта "Виртуальная машина" разработчиками опубликован исходный код начальной реализации развиваемой с нуля виртуальной машины. Код проекта выполнен на русифицированном языке 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;
}
Целью проекта «Виртуальная машина» является создание виртуальной машины с простой архитектурой и системой команд, которая будет легкой и понятной для изучения, а её реализация не займёт много времени. Предполагается, что преимуществом проекта будет исчерпывающая русскоязычная документация, а разработка под виртуальную машину будет полностью кириллической. В частности, кириллица будет использоваться для мнемоник инструкций, имён регистров и тому подобное.