Виртуальная машина на русифицированном языке C
Новая тема Написать ответ
# Пн Мар 06, 2023 10:59 amIceberg Зарег.: 17.03.2010 ; Сообщ.: 12044Ответить с цитатой
На фоне подписания указа президентом РФ о запрете иностранных слов, российские программисты русифицировали язык программирования С.
Свои наработки энтузиасты показали в рамках проекта ".виртуальная машина". Код проекта выпущен под открытой лицензией 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; 
}   



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

Что скажете?)
Новая тема Написать ответ    ГЛАВНАЯ ~ НОВОСТИ ИНТЕРНЕТА
 
Любое использование материалов, размещенных на ArmadaBoard.com, без разрешения владельцев ArmadaBoard.com запрещено.