ПО, ЭВМ и АСУ из Таможенного Союза

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.



Суть идеи

Сообщений 1 страница 4 из 4

1

Весь исходный код делится на очень платформозависимый, и не очень платформозависимый.

В машинных кодах можно написать небольшой рантайм, который будет сопоставлять разные раскладки ABI (например для переменных окружения), переименовывать системные вызовы к единому ЛОСТ, реализовывать специфичный для платформы вызов её функций и стандартный для независимого окружения с другой стороны. Возможно перекодировать из КРЯ-8/УТКА в УПС-8/Юникод и обратно.

В машинных кодах написать перекодировщик инструкций из машины Евгения в инструкции процессора.

Тогда, станет возможно написать "универсальный загрузчик русского кода",

а уже после на этом коде писать ассемблеры для прочих архитектур, интерпретаторы, и что там ещё бывает по-нарастающей.

Юрий советовал как-нибудь подумать, при чём здесь ФОРТ. Но я с ним (фортом) не сказать, чтобы знаком...

Отредактировано Лис (2023-03-13 02:00:21)

0

2

Я пока не успеваю за полетом мысли, нужно бы на пальцах на примерах объяснить.

0

3

Евгений написал(а):

Я пока не успеваю за полетом мысли, нужно бы на пальцах на примерах объяснить.

Что у нас есть:
1) виртуальная машина на две платформы
2) дамп кода, который что-то там делает

Теперь нужно построить цепочку языков (и моделей) нарастающей сложности.

Первый шаг очевиден, надо переделать дамп так, чтобы он мог считывать некий синтаксис и формировать бинарный файл.

А дальше начинаются варианты. Каким именно должен быть этот некий синтаксис? Поскольку на этом уровне абстракции мы кодируем непосредственно в машинном коде, то желательно размер этого кода максимально сократить.

И продолжать сокращать на всех уровнях, пока не выйдем на платформонезависимый язык.

Можно в принципе все уровни от машинного кода до платформонезависимого текстового языка  схлопнуть в один переход.
Вопрос в том, как это сделать так, чтобы получить дамп кода минимального размера.

0

4

Лис, нужно нарисовать блок-схему этой идеи. Показать на ней последовательности и роль каждого элемента. За что отвечает виртуальная машина, за что транслятор, где место платформонезависимого языка, а где ЯВУ?
Чем платформонезависимый язык отличается от ассемблера?

Отредактировано Евгений (2023-03-13 11:40:06)

0