Voodoo Compiler

Скриншот программы:
Voodoo Compiler
Детали программы:
Версия: 1.1.1
Дата загрузки: 20 Feb 15
Разработчик: Robbert Haarman
Тип распространения: Бесплатная
Популярность: 6

Rating: nan/5 (Total Votes: 0)

Voodoo Компилятор является реализация языка программирования Voodoo NBSP &;. Язык программирования вуду является низкоуровневый язык программирования, абстрагируясь над инструкцией платформы, установленной и призывая конвенций, но в противном случае оставляя программисту бесплатно сделать что-нибудь вообще.
Вуду компилятор написан на Ruby, и генерирует код для i386-совместимый, AMD64, и MIPS процессоров. Поддержка дополнительной целевой процессоров запланировано на будущее.
Использование
Есть два основных способа использовать компилятор Voodoo: запустив программу voodooc, либо используя API Ruby.
Программа voodooc компилирует источника Voodoo файлы. Его использование описано в voodooc.1 страницы руководства, включены в дистрибутив. Ниже приведен пример того, как voodooc могут быть использованы для создания исполняемого привет от исходного файла hello.voo:
$ Voodooc hello.voo
$ Куб.см hello.o -o привет
$ ./hello
Привет мир!
Реализация hello.voo можно найти в тесте дистрибутива.
Второй способ использовать компилятор Voodoo является использование его из программы Ruby. Это может быть использовано, например, для генерации кода для целевой платформы без создания файла .voo. Ниже приведен пример, который создает объект файла с именем fact.o, содержащий определение того, функции которая вычисляет факториал:
требуют "вуду"
Генератор = вуду :: CodeGenerator.get_generator: архитектура =>: i386,
& NBSP;: Формат =>: эльф
generator.export: факт
generator.add_function_label: факт
generator.add_function [: N],
& NBSP; [: ifle, [: п, 1],
& NBSP; # то
& NBSP; [[: возвращение, 1]],
& NBSP; # иначе
& NBSP; [[: пусть,: х,: к югу,: п, 1],
& NBSP; [: набор,: х,: позвонить,: факт,: х],
& NBSP; [: возвращение,: мул,: п, Х]]]
File.open ('fact.o', 'W') {| выходной_файл | generator.write выходной_файл}
Компилятор вуду API, что является доступным для программ Руби описан в документации API

Что нового В этом выпуске:.

    < Li> Совместимость с Ruby 1.9, в дополнение к Ruby 1.8; сделать тест теперь сообщает количество прошедших и выполнения тестов.
  • Тест многих вары был разделен на множество аргументов-многие-арг-хвост, и многие местные жители-.

Что нового в версии 1.0.1:

  • Эта версия добавляет ряд улучшений в анализатор , который теперь сообщает местоположения исходного кода для всех ошибок и может сообщить несколько ошибок внутри блоков, функций и условных. Несколько тестов для синтаксического анализатора, которые были добавлены.
  • Это релиз исправляет ошибку разбора на заявления последовали комментарии и проблемы, который вызвал анализатор на провал на пустой ввод.

Что нового в версии 1.0.0:

  • ARM генератор кода: теперь компилятор может генерировать сборки и ELF объектный код для архитектуры ARM.
  • Улучшена ошибка отчетности:. больше ошибок обнаруживаются и ошибки сообщили в легче понять сообщения об ошибках

  • Модуль
  • валидатор: это новый модуль может быть использован для проверки сгенерированный код Voodoo. Он используется анализатором для проверки разобранный код.
  • интерфейс Характеристика: особенности реализации могут быть запрошены и программно, и из командной строки
  • .

Что нового в версии 0.7.0:

  • Блоки: они обеспечивают областей, в которых локальные переменные могут определиться с аренды. Такие переменные существуют с конца, пусть заявлении до конца блока. Блоки могут произойти в любом месте, где может произойти действие. Они начали с блока и закончился конечного блока.
  • Цепные условные: теперь можно писать и Quot; иначе, если и Quot ;, а не требовать вложенный если в предложении еще
  • .
  • Сдвиг и поворот: сдвиг действия (ASR, BSR, SHL, SHR) и поворот действия (РОЛ, ROR) были добавлены
  • .
  • Возврат без стоимости: возвращение в настоящее время могут быть использованы без указания выражение. Это вызывает неопределенное значение, чтобы быть возвращены из функции.

Что нового в версии 0.6.3:

  • Этот релиз вводит в-выражений: По префикса этикетки, локальная переменная или целое с @, значение рассматривается как адрес, а слово хранится по этому адресу возвращается.
  • Кроме того, некоторые ошибки были обнаружены в способе строк были закодированы в сгенерированном коде сборки.
  • Эти ошибки были исправлены, и версия 0.6.3 теперь обрабатывает строки, содержащие все 256 возможных значений байт правильно.

Что нового в версии 0.6.2:

  • Это исправляет ошибки релиз в реализациях комплекте- Слово для i386 и AMD64 и добавляет тесты для случаев, которые ранее не работали правильно.

Похожие программы

Комментарии к Voodoo Compiler

Комментарии не найдены
добавить комментарий
Включите картинки!