Voodoo Compiler

Software screenshot:
Voodoo Compiler
Podrobnosti Software:
Verze: 1.1.1
Datum uploadu: 20 Feb 15
Vývojka: Robbert Haarman
Licence: Volný
Popularita: 6

Rating: nan/5 (Total Votes: 0)

Voodoo Compiler je implementace programovacího jazyka Voodoo. & Nbsp; Programovací jazyk Voodoo je programovací jazyk low-level, abstrakce přes pokyn platformy nastavit a volání konvence, ale jinak opouštět programátor volný dělat vůbec nic.
Voodoo Compiler je napsán v Ruby a generuje kód pro i386 kompatibilní, AMD64, a MIPS CPU. Podpora pro další cílové CPU je plánováno do budoucna.
Použít
Existují dva hlavní způsoby použití Voodoo kompilátoru: spuštěním programu voodooc, nebo pomocí Ruby API.
Program voodooc zkompiluje zdrojové soubory Voodoo. Jeho použití je popsán v voodooc.1 manuálové stránce, v distribuci. Je následující příklad toho, jak lze voodooc použít k vytvoření spustitelného pozdrav ze zdrojového souboru hello.voo:
$ Voodooc hello.voo
$ Cc hello.o -o ahoj
$ ./hello
Ahoj světe!
Implementace hello.voo lze nalézt v testu adresáři distribuce.
Druhý způsob, jak používat Voodoo kompilátor je pomocí jej z programu Ruby. Toto může být použit, například, pro generování kódu pro cílovou platformu, aniž by k vytvoření souboru .voo. Je následující příklad, který vytvoří soubor objekt nazvaný fact.o, který obsahuje definici funkce fakt, který počítá faktoriály:
vyžadovat "voodoo"
generátor = Voodoo :: CodeGenerator.get_generator: architektura =>: i386,
& Nbsp;: format =>: elf
generator.export: skutečnost
generator.add_function_label: skutečnost
generator.add_function [: n],
& Nbsp; [: ifle, [: n, 1],
& Nbsp; # pak
& Nbsp; [[: return, 1]],
& Nbsp; # jinde
& Nbsp; [[: ať,: x,: sub,: n, 1],
& Nbsp; [: set,: x,: volání,: fakt,: x]
& Nbsp; [: návrat,: mul,: n,: x]]]
File.open ("fact.o", "w") {| outfile | generator.write outfile}
Voodoo kompilátor API, které je k dispozici na programy Ruby je popsáno v dokumentaci API

Co je nového v této verzi:.

    < li> Kompatibilita s Ruby 1.9, kromě Ruby 1.8; provést testy nyní hlásí počet předaných a neúspěšných testů.
  • Test many-Vars byla rozdělena do mnoha-args, mnoho-args-ocas, a mnoho-místních obyvatel.

Co je nového ve verzi 1.0.1:

  • Tato verze přidává řadu vylepšení analyzátor , který nyní hlásí umístění zdrojový kód pro všechny chyby a mohou hlásit více chyb uvnitř bloků, funkce, a podmínky. Bylo přidáno několik testů na analyzátoru.
  • Tato verze opravuje chybu derivační na základě prohlášení následuje komentáře a problém, který způsobil parser selhání na prázdný vstupu.

Co je nového ve verzi 1.0.0:

  • ARM generátor kódu: kompilátor může nyní vytvářet sestavy a ELF objektový kód pro architekturu ARM.
  • Lepší error reporting:. Více chyb jsou zjištěny, a chyby jsou hlášeny v srozumitelnější chybové zprávy
  • Validator module: tento nový modul může být použit k ověření generovaný Voodoo kód. To je používáno parser pro ověření analyzovaných kódu.
  • interface funkce: funkce implementace je možno zjistit jak programově i z příkazového řádku
  • .

Co je nového ve verzi 0.7.0:

  • bloky: ty poskytnout oborů, ve kterých místní proměnné mohou definovat pomocí pronájmu. Tyto proměnné existují od konce příkazu? Let až do konce bloku. Bloky se může objevit v jakémkoli místě, kde může dojít k akci. Jsou začali s blokem a skončil konci bloku.
  • Zřetězené podmínky: je nyní možné psát & quot; else if-quot ;, místo vyžadující vnořené-li v klauzuli jiný
  • .
  • Shift a otočte: Akce k převodu (ASR, BSR, SHL, SHR) (ROL, ROR), které byly přidány a otáčet akce
  • .
  • Return bez hodnoty: návrat nyní mohou být použity bez udání výraz hodnotit. To způsobí, že nedefinovanou hodnotu, aby se vrátil z funkce.

Co je nového ve verzi 0.6.3:

  • Tato verze přináší na-výrazů: By prefixu štítek, lokální proměnné, nebo celé číslo s @, hodnota je považována za adresu, a vrací se slovo uložený na této adrese.
  • Navíc, některé chyby byly odkryty ve způsobu, jakým řetězce byly zakódovány v generovaného assembleru.
  • Tyto chyby byly opraveny, a verze 0.6.3 nyní zpracovává řetězce, které obsahují všechny možné hodnoty 256 bajtů správně.

Co je nového ve verzi 0.6.2:

  • Tato verze opravuje chyby v implementacích vynětí slovo pro i386 a AMD64 a přidává testy pro případy, které dříve nefungovaly správně.

Podobný software

Smake
Smake

20 Feb 15

HGL Suite
HGL Suite

17 Feb 15

GNU Binutils
GNU Binutils

17 Aug 18

phc
phc

3 Jun 15

Komentáře k Voodoo Compiler

Komentáře nebyl nalezen
Přidat komentář
Zapnout obrázky!