Voodoo Compiler

Screenshot Software:
Voodoo Compiler
Mga detalye ng Software:
Bersyon: 1.1.1
I-upload ang petsa: 20 Feb 15
Nag-develop: Robbert Haarman
Lisensya: Libre
Katanyagan: 6

Rating: nan/5 (Total Votes: 0)

voodoo Compiler ay isang pagpapatupad ng voodoo programming language. & Nbsp; Ang voodoo programming language ay isang programming language mababang antas, abstracting sa paglipas ng pagtuturo ng platform set at pagtawag sa mga convention, ngunit kung hindi man ay hindi umaalis sa libreng gumawa ng kahit ano sa lahat ng mga programmer.
Voodoo Compiler ay nakasulat sa Ruby at bumubuo ng code para sa i386-tugma, AMD64, at MIPS CPU. Suporta para sa mga karagdagang target CPU ay binalak para sa hinaharap.
Paggamit
Mayroong dalawang pangunahing mga paraan upang gamitin ang voodoo compiler: sa pamamagitan ng pagpapatakbo ng programa voodooc, o sa pamamagitan ng paggamit ng API Ruby.
Ang programa ng voodooc compiles ng voodoo source file. Paggamit nito ay inilarawan sa mga voodooc.1 manpage, na kasama sa pamamahagi. Ang sumusunod ay ang isang halimbawa ng kung paano maaaring gamitin voodooc upang lumikha ng isang executable halo mula sa isang source file hello.voo:
$ Voodooc hello.voo
$ Cc hello.o -o halo
$ ./hello
Kamusta, mundo!
Ang isang pagpapatupad ng hello.voo maaaring matagpuan sa direktoryo pagsubok ng pamamahagi.
Ang ikalawang paraan upang gamitin ang voodoo compiler ay sa pamamagitan ng paggamit nito mula sa isang programa Ruby. Ito ay maaaring magamit, halimbawa, upang bumuo ng code para sa target na platform nang hindi na kinakailangang upang lumikha ng isang .voo file. Ang sumusunod ay ang isang halimbawa na lumilikha ng isang bagay na file na tinatawag na fact.o, na naglalaman ng isang kahulugan ng isang function ng katotohanan na computes factorials:
nangangailangan ng 'voodoo'
generator = voodoo :: CodeGenerator.get_generator: arkitektura =>: i386,
& Nbsp;: format =>: duwende
generator.export: katotohanan
generator.add_function_label: katotohanan
generator.add_function [: n],
& Nbsp; [: ifle, [: n, 1],
& Nbsp; # pagkatapos ay
& Nbsp; [[: return, 1]],
& Nbsp; # pa
& Nbsp; [[: hayaan,: x,: sub,: n, 1],
& Nbsp; [: hanay,: x,: tumawag,: katunayan,: x],
& Nbsp; [: return,: Mul,: n,: x]]]
File.open ('fact.o', 'w') {| outfile | generator.write outfile}
Ang voodoo compiler API na available sa Ruby programa ay inilarawan sa mga babasahin ukol sa API

Ano ang bagong sa paglabas:.

    < li> Kaangkupan sa Ruby 1.9, bilang karagdagan sa Ruby 1.8; gumawa ng mga ulat na ngayon ng pagsubok sa bilang ng mga Nabigo ang pumasa at pagsubok.
  • Ang pagsubok many-vars ay hinati sa marami-args, marami-args-buntot, at marami-lokal.

Ano ang bagong sa bersyon 1.0.1:

  • Ang bersyon na ito ay nagdadagdag ng isang bilang ng mga pagpapabuti sa pang-parse , na ang mga ulat na ngayon lokasyon source code para sa lahat ng mga error at maaaring mag-ulat ng maramihang mga error sa loob ng mga bloke, pag-andar, at conditionals. Ilang pagsubok para sa pang-parse ang naidagdag.
  • Ang release na ito Inaayos ng isang error sa pag-parse sa mga pahayag na sinusundan ng mga komento at mga problema na sanhi ng pang-parse sa mabibigo sa walang laman input.

Ano ang bagong sa bersyon 1.0.0:

  • generator ARM code: compiler Ang ay maaari na ngayong bumuo ng pagpupulong at maliit na bagay code para sa arkitektura ARM.
  • Pinahusay na error sa pag-uulat:. Higit pang mga error ay natukoy, at mga error inulat sa mas madaling maunawaan mga mensahe ng error
  • Validator module: ang bagong module ay maaaring magamit upang patunayan na binuo ng voodoo code. Ito ay ginagamit sa pamamagitan ng mga pang-parse upang mapatunayan parse code.
  • Tampok na interface: tampok ng pagpapatupad ay maaaring na-query ang parehong mga programa at mula sa linya ng command
  • .

Ano ang bagong sa bersyon 0.7.0:

  • Bina-block ang: mga nagbibigay ng mga saklaw na kung saan ang lokal na mga variable ay maaaring ay tinukoy sa mga let. Ang nasabing mga variable na umiiral mula sa dulo ng let pahayag hanggang sa katapusan ng bloke. Bina-block ang maaaring mangyari sa anumang lugar na kung saan ang isang pagkilos ay maaaring mangyari. Sila ay nagsimula na may bloke at natapos sa dulo block.
  • Chained conditionals: ikaw na ngayon ang panahon upang isulat ang & quot; iba kung & quot ;, sa halip na nangangailangan ng isang Nested kung sa iba sugnay
  • .
  • Shift at i-rotate: ilipat ang mga pagkilos (asr, bsr, shl, shr) at iikot ang mga pagkilos (rol, ror) ay naidagdag
  • .
  • Bumalik walang halaga: return ay maaari na ngayong gamitin nang hindi tinutukoy ang isang expression upang pag-aralan. Ito ay nagsasanhi ng isang hindi tinukoy na halaga na ibabalik mula sa pag-andar.

Ano ang bagong sa bersyon 0.6.3:

  • Ang release na ito introduces sa-expression: Sa pamamagitan ng prefixing isang label, ang mga lokal na variable, o integer na may @, ang halaga ay itinuturing na isang address, at ang salita na naka-imbak sa address na iyon ay ibinalik.
  • Bukod pa rito, ang ilang mga bug ay natuklasan sa paraan ng string ay naka-encode sa nabuong assembly code.
  • Ang mga bug ay na naayos, at bersyon 0.6.3 ngayon humahawak ng mga string na naglalaman ng tama ang lahat ng 256 na posibleng halaga byte.

Ano ang bagong sa bersyon 0.6.2:

  • Inaayos ng paglabas na ito ng mga bug sa pagpapatupad ng set- salita para sa i386 at AMD64 at nagdaragdag ng mga pagsubok para sa mga kaso na dati ay hindi gagana nang wasto.

Katulad na software

lizpop
lizpop

14 Apr 15

Pike
Pike

20 Feb 15

daot
daot

11 May 15

Mga komento sa Voodoo Compiler

Mga Komento hindi natagpuan
Magdagdag ng komento
I-sa mga imahe!