Voodoo Compiler

Programinė įranga Screenshot:
Voodoo Compiler
Programinė detalės:
Versija: 1.1.1
Įkėlimo datą: 20 Feb 15
Kūrėjas: Robbert Haarman
Licencija: Nemokamai
Populiarumas: 6

Rating: nan/5 (Total Votes: 0)

Voodoo Kompiliatorius yra iš Voodoo programavimo kalba įgyvendinimas. & Nbsp; Voodoo programavimo kalba yra žemo lygio programavimo kalba, atsiribotų perėmė platformos komandų rinkinys ir raginama konvencijas, bet kitaip paliekant programuotojas nemokamą nieko daryti ne visiems.
Voodoo Kompiliatorius yra parašyta Ruby ir generuoja kodą i386 suderinama, AMD64 ir MIPS procesorių. Parama papildomos tikslinės CPU planuojama ateityje.
Naudojimas
Yra du pagrindiniai būdai, kaip naudoti Voodoo kompiliatorių: paleisdami voodooc programą, arba naudojant Ruby API.
Voodooc programa rengia vudu šaltinio failus. Jo naudojimas yra aprašyta voodooc.1 manpage, įtraukti į paskirstymą. Taip yra, kaip voodooc gali būti naudojama siekiant sukurti vykdomąjį Hello from šaltinio failo hello.voo pavyzdys:
$ Voodooc hello.voo
$ Cc hello.o -o labas
$ ./hello
Sveikas Pasauli!
Nuo hello.voo įgyvendinimas galima rasti kataloge bandymo paskirstymo.
Antrasis būdas naudoti Voodoo kompiliatorius yra naudojant jį nuo Ruby programą. Tai gali būti naudojami, pavyzdžiui, siekiant generuoti kodą tikslinės platformos be to, kad sukurti .voo failą. Toliau yra pavyzdys, sukuria objektą failą pavadinimu fact.o, kuriame yra funkciniu faktą, kuris apskaičiuoja Factorial apibrėžimą:
reikalauja "Voodoo"
generatorius = Voodoo :: CodeGenerator.get_generator: architektūra =>: i386
& Nbsp;: formatas =>: elfas
generator.export: Faktas
generator.add_function_label: Faktas
generator.add_function [: n],
& Nbsp; [: ifle [: n 1],
& Nbsp; # tada
& Nbsp; [[: grįžti, 1]],
& Nbsp; # kitur
& Nbsp; [[: tegul,: x,: sub,: n 1],
& Nbsp; [: rinkinys,: x,: skambinti,: Faktas,: x]
& Nbsp; [: grįžti,: mul,: n: x]]]
File.open (fact.o "," w ") {| outfile | generator.write outfile}
Voodoo sudarytojas API, kuri yra prieinama Ruby programų aprašytas API dokumentacija

Kas naujo , šioje laidoje:.

    < li> Suderinamumas su Ruby 1.9, be to, Ruby 1,8; kad testas dabar praneša apie priimtus ir nepavykusių bandymų skaičių.
  • daugelis-Vars bandymas buvo padalinta į daugelį-ARG, daugelis-args uodegą, ir daugelis-vietiniai.

Kas naujo versijos 1.0.1:

  • Ši versija prideda patobulinimų į analizatorius , kuris dabar praneša šaltinio kodas vietos visiems klaidų ir gali pranešti kelių klaidų viduje blokų, funkcijas ir sąlyginių. Buvo pridėta keletas bandymai analizatorius.
  • Ši laida yra nustatytas byloje vykdymo klaida pareiškimai komentarus ir problema, kuri sukelia analizatorius žlugti tuščiu įėjimo.

Kas naujo versijos 1.0.0:

  • ARM kodas generatorius: sudarytojas dabar gali generuoti surinkimas ir ELF objektas kodas ARM architektūra.
  • Geresnis klaidos pranešimų:. Daugiau aptinkama klaidų, o klaidų pranešta lengviau suprasti klaidų pranešimus
  • Walidator modulis: šis naujas modulis gali būti naudojamas siekiant patvirtinti sugeneruotą Voodoo kodą. Jis naudojamas pagal analizatorius patvirtinti apdoroti kodą.
  • Funkcija sąsaja: bruožai įgyvendinimas gali būti paieškoma tiek programiškai ir iš komandinės eilutės
  • .

Kas naujo versijos 0.7.0:

  • blokai: tai suteikia apimtis, kurioje vietiniai kintamieji gali būti apibrėžti tegul. Tokie kintamieji egzistuoja iš let pareiškimo pabaigos iki bloko pabaigos. Blokai gali atsirasti bet kurioje vietoje, kur gali atsirasti veiksmų. Jie pradėjo su bloko ir baigėsi pabaigos bloku.
  • Susijusios Conditionals: dabar galima rašyti & quot; kitas, jei & quot ;, o ne reikalauti įdėtos jei į kitas sąlygą
  • .
  • "Shift" ir pasukti: perkėlimo veiksmams (ASR, BJR SHL SHR) ir pasukti veiksmai (ROL, ROR) buvo pridėta .
  • Grįžti be vertės: grįžti dabar gali būti naudojamas nenurodant išraiška įvertinti. Tai sukelia neapibrėžtą reikšmę reikia grąžinti iš funkciją.

Kas naujo versijos 0.6.3:

  • Ši laida pristato ne-išraiškų: Pagal priešdėlį etiketė, vietinis kintamasis arba sveikasis skaičius su @, vertė traktuojama kaip adresas ir žodis saugomi tuo adresu yra grąžinamas.
  • Be to, kai klaidų buvo atidengta per pusę stygos buvo užkoduota generuoja surinkimo kodą.
  • Šios klaidos buvo ištaisytos, ir versija 0.6.3 dabar rankenos eilutes, kurių sudėtyje yra visas 256 galimų baitų reikšmes teisingai.

Kas naujo versijos 0.6.2:

  • Ši laida nustato klaidas į komplektaciją diegimas žodis i386 ir AMD64 ir prideda bandymų atvejus, kurie anksčiau nebuvo dirba teisingai.

Panaši programinė įranga

bin86
bin86

3 Jun 15

Ruby
Ruby

17 Aug 18

Pyexpander
Pyexpander

20 Feb 15

SMOP
SMOP

11 May 15

Komentarai Voodoo Compiler

Komentarai nerastas
Pridėti komentarą
Pasukite ant paveikslėlio!