Voodoo Compiler

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

Rating: nan/5 (Total Votes: 0)

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

Що нового У цьому випуску :.

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

Що нового у версії 1.0.1:

  • Ця версія додає ряд покращень в аналізатор , який тепер повідомляє розташування вихідного коду для всіх помилок і може повідомити декілька помилок внутрішніх блоків, функцій і умовних. Кілька тестів для аналізатора були додані.
  • Цей реліз виправляє помилку розбору на заяви послідували коментарі і проблеми, який викликав аналізатор на провал на порожній входу.

Що нового у версії 1.0.0:

  • ARM генератор коду: тепер компілятор може генерувати збірки і ELF об'єктний код для архітектури ARM.
  • Поліпшення звітів про помилки :. Ще виявленні помилок, а помилки наведені в легше розуміти повідомлення про помилки

  • Модуль
  • Validator: Цей новий модуль може бути використаний для перевірки згенерований Voodoo код. Він використовується аналізатором для перевірки розібраний код.
  • інтерфейс Характеристика: особливості реалізації можуть бути запитані як програмно і з командного рядка
  • .

Що нового у версії 0.7.0:

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

Що нового у версії 0.6.3:

  • Цей реліз представляє на-виразів: випереджаючи Етикетка, локальна змінна або ціле число з @, значення розглядається як адресу, і слово, збережене за цією адресою повертається.
  • Крім того, деякі помилки були виявлені в способі рядків були закодовані в сгенерированном коді збірки.
  • Ці помилки були виправлені, і версія 0.6.3 тепер обробляє рядки, що містять всі 256 можливих значень байт правильно.

Що нового у версії 0.6.2:

  • Цей реліз виправляє помилки в реалізаціях комплекті- Слово для i386 та amd64 і додає тести, за винятком випадків, які раніше не працювали правильно.

Схожі програми

Zsh
Zsh

17 Feb 15

o42a
o42a

19 Feb 15

JBrownie
JBrownie

3 Jun 15

Voodoo Compiler

Коментар не знайдено
додати коментар
Включіть картинки!