Voodoo Compiler

Software kuvakaappaus:
Voodoo Compiler
Ohjelmiston tiedot:
Versio: 1.1.1
Lähetyksen päivämäärä: 20 Feb 15
Kehittäjä: Robbert Haarman
Lupa: Vapaa
Suosio: 43

Rating: 5.0/5 (Total Votes: 1)

Voodoo Compiler on täytäntöönpano Voodoo ohjelmointikieli. & Nbsp; Voodoo ohjelmointikieli on matalan tason ohjelmointikieli, hahmotuskykyyn yli alustan käskykanta ja kutsuvan yleissopimukset, mutta muuten jättäen ohjelmoija vapaa tekemään yhtään mitään.
Voodoo Compiler on kirjoitettu Ruby ja luo koodin i386-yhteensopiva, AMD64 ja MIPS-suorittimet. Tuki lisätavoitteen suorittimia on suunnitteilla tulevaisuudessa.
Käyttö
On kaksi tapaa käyttää Voodoo kääntäjä: ajamalla voodooc ohjelmaa, tai käyttämällä Ruby API.
Voodooc Ohjelma kokoaa Voodoo lähdetiedostoihin. Sen käyttö on kuvattu voodooc.1 manuaalisivun, mukaan jakeluun. Seuraavassa on esimerkki siitä, miten voodooc voidaan käyttää luomaan suoritettavan hello lähdetiedoston hello.voo:
$ Voodooc hello.voo
$ Cc hello.o -o hei
$ ./hello
Hei maailma!
Toteuttamiseen hello.voo löytyy hakemistosta testi jakelun.
Toinen tapa käyttää Voodoo kääntäjä on käyttää sitä Ruby ohjelmasta. Tätä voidaan käyttää esimerkiksi tuottamaan koodia kohdekäyttöympäristössä luomatta .voo tiedoston. Seuraavassa on esimerkki, joka luo objektin tiedosto nimeltä fact.o, joka sisältää määritelmän funktion mikä laskee factorials:
vaativat "voodoo"
generaattori = Voodoo :: CodeGenerator.get_generator: arkkitehtuuri =>: i386,
& Nbsp;: format =>: tonttu
generator.export: se,
generator.add_function_label: se,
generator.add_function [: n],
& Nbsp; [: ifle, [: n, 1],
& Nbsp; # sitten
& Nbsp; [[: paluu, 1]],
& Nbsp; # muuta
& Nbsp; [[: anna, x,: sub,: n, 1],
& Nbsp; [: set, x,: soita,: Itse asiassa: x],
& Nbsp; [: paluu,: Mul: n,: x]]]
File.open (fact.o "," w ") {| outfile | generator.write outfile}
Voodoo kääntäjä API, joka on saatavilla Ruby ohjelmia on kuvattu API-dokumentaation.

Mitä uutta tässä julkaisussa:

    < li> Yhteensopivuus Ruby 1.9, lisäksi Ruby 1,8; tehdä testi ilmoittaa nyt määrä kulunut ja epäonnistuneet testit.
  • monet-vars testi on jakautunut moniin-args, monet-args-hännän, ja monet-paikalliset.

Mitä uutta versiossa 1.0.1:

  • Tämä versio lisää useita parannuksia parseri , joka raportoi lähdekoodin paikkoja kaikki virheet ja voi raportoida useita virheitä sisällä lohkot, toiminnot, ja conditionals. Useat testit parseri on lisätty.
  • Tämä julkaisu korjaa jäsennysvirhe koskevat julkilausumat kommentteja ja ongelma, joka aiheutti jäsennintä epäonnistua tyhjä tulo.

Mitä uutta versiossa 1.0.0:

  • ARM-koodin generaattori: kääntäjä voi nyt tuottaa kokoonpano ja ELF oliokoodiin ARM-arkkitehtuurille.
  • Parannettu virheiden raportointi: enemmän virheitä havaitaan, ja virheet raportoidaan helpompi ymmärtää virheilmoituksia.
  • Validator moduuli: tämä uusi moduuli voidaan käyttää oikeuttamaan syntyy Voodoo koodia. Sitä käytetään jäsentimellä vahvistaa jäsennetään koodia.
  • Feature liitäntä: piirteitä täytäntöönpanoa voidaan suorittaa hakuja sekä ohjelmallisesti ja komentoriviltä.

Mitä uutta versiossa 0.7.0:

  • lohkot: nämä tarjoavat laajuuksia jossa paikalliset muuttujat voivat määritellään yhdessä let. Tällaisia ​​muuttujia ovat olemassa lopusta anna lausuman loppuun asti lohkon. Lohkot voi esiintyä missä tahansa paikassa, jossa toiminta voi tapahtua. Niitä alkoi lohko ja päättyi loppublokin.
  • Kahlittu conditionals: se on nyt mahdollista kirjoittaa & quot; if & quot ;, sijasta edellyttää sisäkkäisiä jos muu lauseke.
  • Shift ja pyöritä: liittyvät toimet (ASR, BSR, SHL, SHR) ja kierrä toimet (rol, ROR) on lisätty.
  • Paluu arvottomina: paluu voidaan nyt käyttää täsmentämättä ilmaisua arvioida. Tämä aiheuttaa määrittelemätön arvo on palannut toimintoa.

Mitä uutta versiossa 0.6.3:

  • Tämä julkaisu esittelee at-ilmaisuja: prefixing etiketti, paikallinen muuttuja, tai kokonaisluku @, arvo käsitellään osoitteen, ja sana säilytettiin että osoite palautetaan.
  • Lisäksi joitakin bugeja paljastui tavalla jouset oli koodattu luotu assembly.
  • Nämä bugit on korjattu, ja versio 0.6.3 nyt käsittelee jousille sisältää kaikki 256 mahdollista tavu arvot oikein.

Mitä uutta versiossa 0.6.2:

  • Tämä julkaisu korjaa bugeja toteutusten ase- sana i386 ja amd64 ja lisää testit tapauksissa aiemmin ei toimi oikein.

Vastaavia ohjelmistoja

Seed7
Seed7

22 Jun 18

autogen.sh
autogen.sh

20 Feb 15

GNU Smalltalk
GNU Smalltalk

11 May 15

GNU BPEL2oWFN
GNU BPEL2oWFN

3 Jun 15

Kommentit Voodoo Compiler

Kommentteja ei löytynyt
Lisää kommentti
Ota kuvia!