DeerVM first steps

Первые шаги ОленьВМ.
DeerVM – это виртуальная машина скрипт-движка DeerScript (ОленьСкрипт).

С чего, собственно, этот пост. А вот с чего. Не далее, как сегодня был завершен набросок транслятора ассемблеро-подобного языка в байткод, который ОленьВМ смогла безошибочно выполнить. Пока что она умеет:

(ЯП – ячейка памяти)

* складывать;
* умножать;
* увеличивать;
* уменьшать;
* печатать содержимое ЯП в консоль;
* загружать число в ЯП;
* копировать содержимое одной ЯП в другую (любую: регистр, стек, куча и т.п.);
* прыгать по меткам (в т.ч. условно);
* сравнивать содержимое двух ЯПов;
* класть на вершину стека содержимое ЯПа;
* снимать с вершины стека в ЯП;
* вызывать функции;

На базе этих инструкций удалось написать программы:
* вывод числа на экран;
* манипуляции с метками;
* циклические вычисления;
* вычисление факториала;
* счет от 1 до 10 и обратно (тест стека);

3 Комментариев

  1. jetbird
    Опубликовано Июнь 6, 2008 в 7:11 пп | постоянная ссылка

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

  2. jetbird
    Опубликовано Июнь 7, 2008 в 10:38 дп | постоянная ссылка

    нет, я поспешил. не хватает много чего. главное – отсутствие поддержки комментариев.

  3. jetbird
    Опубликовано Август 7, 2008 в 7:13 пп | постоянная ссылка

    кстати, комментарии поддежриваются. что-то зобросил я ее.. еще и не компилируется к тому же теперь :(


Прокомментировать

Ваш e-mail адрес никогда не будет опубликован или разглашен.