Библиотека для определения языка сценариев, если ассемблер уже сделан - PullRequest
0 голосов
/ 17 января 2019

Я написал виртуальную машину на c, основанную на виртуальной машине с розеттакодом, но со временем я ее сильно изменил, и теперь я сталкиваюсь с реальностью.

Я изменил его настолько, насколько моя машина теперь работает совершенно по-другому. Он имеет разные типы данных, инструкции, метки вместо вычисления смещения вручную и т. Д.

В Rosettacode VM также имеется синтаксический анализатор, который может интерпретировать очень простой язык сценариев, который вы можете использовать, если еще, в то время и так далее.

Проблема в том, что синтаксический анализатор, включенный в RC vm, очень хорошо интерпретирует синтаксис, но он не работает с метками, вместо меток вы должны определить смещение для пунктов назначения перехода. Конечно, есть больше различий, но я не собираюсь переносить парсер под мои нужды, если есть более простой способ.

Итак, мой актуальный вопрос

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

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

Было бы лучше всего, если бы уже был механизм (включая метки), так что мне просто нужно переопределить его, чтобы он соответствовал моему собственному набору инструкций.

Заранее спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...