Voodoo Compiler

Szoftver screenshot:
Voodoo Compiler
Szoftver adatai:
Változat: 1.1.1
Feltöltés dátuma: 20 Feb 15
Fejlesztő: Robbert Haarman
Engedély: Ingyenes
Népszerűség: 6

Rating: nan/5 (Total Votes: 0)

Voodoo Compiler egy megvalósítása a Voodoo programozási nyelv. & Nbsp; A Voodoo programozási nyelv egy alacsony szintű programozási nyelv, referáló mint a platform utasításkészletet és hívja egyezmények, de egyébként így a programozó szabad csinálni semmit.
Voodoo Compiler van írva Ruby és generál kódot i386-kompatibilis, AMD64, és MIPS CPU-k. Támogatást további cél CPU-k a tervek szerint a jövőben.
Használat
Két fő módja, hogy használja a Voodoo fordító: a futás a voodooc programot, vagy használja a Ruby API.
A voodooc programot állít össze a Voodoo forrás fájlokat. Használata leírt voodooc.1 manpage, a terjesztésben. Az alábbiakban egy példa arra, hogyan voodooc lehet használni, hogy hozzon létre egy végrehajtható hello from a forrás file hello.voo:
$ Voodooc hello.voo
$ Cc hello.o -o helló
$ ./hello
Helló Világ!
Egy végrehajtását hello.voo megtalálható a könyvtárban teszt a forgalmazás.
A második módja, hogy használja a Voodoo-fordító segítségével azt a Ruby programot. Ezt fel lehet használni, például, generálni kódot a cél platform, anélkül, hogy hozzon létre egy .voo fájlt. Az alábbiakban egy példát, amely létrehoz egy objektumot nevű fájlt fact.o, amely meghatározza a függvény tény, amely kiszámítja faktoriális:
igényelnek "voodoo"
generátor = Voodoo :: CodeGenerator.get_generator: építészet =>: i386,
& Nbsp;: format =>: elf
generator.export: tény,
generator.add_function_label: tény,
generator.add_function [: n],
& Nbsp; [: ifle, [: n, 1],
& Nbsp; #, majd a
& Nbsp; [[: visszatérés, 1]],
& Nbsp; # másnak
& Nbsp; [[: hagyja,: x,: sub,: n, 1],
& Nbsp; [: set,: x,: hívja,: Tény, hogy: x],
& Nbsp; [vissza és: mul,: n,: x]]]
File.open ("fact.o", "w") {| outfile | generator.write outfile}
A Voodoo fordító API, amely a rendelkezésre álló Ruby programok ismerteti az API dokumentációt.

Mi az új ebben a kiadásban:

    < li> Használható Ruby 1.9, amellett, hogy Ruby 1.8; hogy tesztet most beszámol a múlt, és nem tesztek.
  • A sok-Vars teszt osztották sok-argumentum, sok-args-farkát, és sok-helyiek.

Mi az új a 1.0.1 verzió:

  • Ez a verzió hozzáteszi számos fejlesztést, hogy az elemző , amely most beszámol forráskód helyszínen minden hibát és jelentheti több hibát benne blokkok, funkciók, és feltételeihez. Több tesztet az elemző is került.
  • Ez a kiadás javít elemzési hibát a nyilatkozatok és észrevételeket és olyan probléma, amely miatt az elemző nem az üres bemeneten.

Mi az új 1.0.0:

  • ARM-generátor: A fordító most generálni szerelés és ELF tárgykódja az ARM architektúra.
  • Továbbfejlesztett hibajelentés: több hibát észlel, és a hibákat jelenti a könnyebb megérteni a hibaüzeneteket.
  • érvényesítése modul: ez az új modul segítségével lehet érvényesíteni generált Voodoo kódot. Ezt alkalmazzák az értelmező által érvényesíteni értelmezett kódot.
  • Feature interface: funkciók végrehajtására lehet kérdezni mind programozott, és a parancssorból.

Mi az új verzióban 0.7.0:

  • Blocks: ezek biztosítják körök, ahol a helyi változók lehet definiálni let. Az ilyen változók léteznek végétől a let utasítás, amíg a végén a blokk. Blocks előfordulhatnak olyan helyeken, ahol egy akció is előfordulhat. Ezek kezdődött blokk és végül záróblokk.
  • láncolva conditionals: most már lehetséges, hogy írjon & quot; else if & quot ;, Ahelyett, hogy a beágyazott, ha a else.
  • Shift és forgassuk: változtatására irányuló tevékenységekkel (ASR, BSR shl, SHR) és forgassa akciók (rol, ror) bővült.
  • Return érték nélkül: a visszaállás már fel lehet használni megadása nélkül kifejezést, hogy értékelje. Ez okozza egy nem definiált értéket adja meg a funkciót.

Mi az új verzióban 0.6.3:

  • Ez a kiadás at-kifejezések: elé egy címkét, helyi változó, vagy egész egy @ értéke kezelik egy címet, és a szó tárolt azon a címen adja vissza.
  • Továbbá, néhány hibát fedeztek fel az utat húrok voltak kódolva generált assembly kódot.
  • Ezek hibát kijavítottak, valamint verziója 0.6.3 már kezeli húrok tartalmazza az összes lehetséges 256 byte helyesen lesznek.

Mi az új verzióban 0.6.2:

  • Ez a kiadás javít hibákat a megvalósítások beállítások szó i386 és amd64 és hozzáteszi, tesztek arra az esetre, hogy korábban nem működött megfelelően.

Hasonló program

Pyexpander
Pyexpander

20 Feb 15

Genshi Compiler
Genshi Compiler

11 May 15

Seed7
Seed7

22 Jun 18

pyPEG
pyPEG

14 Apr 15

Hozzászólások a Voodoo Compiler

Hozzászólás nem található
Megjegyzés hozzáadása
Kapcsolja be a képeket!