Voodoo Kompilyator Voodoo proqramlaşdırma dilinin bir təzahürüdür & nbsp;. Voodoo proqramlaşdırma dili müəyyən platformanın təlimat artıq abstracting və konvensiyalara zəng, lakin başqa heç bir şey üçün pulsuz proqramçı tərk, aşağı səviyyəli proqramlaşdırma dilidir.
Voodoo Compiler Ruby yazılı və i386 uyğun, AMD64 və MIPS CPU'lar üçün kodu yaradır. Əlavə hədəf CPU'lar üçün Support gələcək üçün nəzərdə tutulur.
istifadə
Voodooc proqram çalışan, və ya Ruby API istifadə edərək: Voodoo compiler istifadə etmək üçün iki əsas yolu var.
voodooc proqram Voodoo mənbə faylları tərtib edir. Onun istifadə paylanması, voodooc.1 manpage təsvir daxil edilir. Aşağıdakı voodooc bir mənbə-faylı hello.voo bir yürütülebilir salam yaratmaq üçün istifadə edilə bilər necə bir nümunəsidir:
$ Voodooc hello.voo
$ Cc hello.o o salam
$ Salam
Salam, dünya!
Hello.voo bir həyata paylanması directory test aşkar edilə bilər.
Voodoo compiler istifadə etmək üçün ikinci yol Ruby proqramı istifadə edir. Bu .voo fayl yaratmaq üçün olmadan hədəf platforma üçün kodu yaratmaq, məsələn, istifadə edilə bilər. Aşağıdakı factorials hesablayır bir funksiyası əslində müəyyən olan fact.o adlı obyekt faylı yaradır bir nümunəsidir:
"voodoo" tələb
generator = Voodoo :: CodeGenerator.get_generator: memarlıq => i386,
& Nbsp; format => elf
generator.export: fakt
generator.add_function_label: fakt
generator.add_function [n]
& Nbsp; [ifle, [n 1],
& Nbsp; # sonra
& Nbsp; [[: qaytarılması, 1]],
& Nbsp; # başqa
& Nbsp; [[: qoy: x: sub: n 1],
& Nbsp; [set: x: zəng: fakt: x]
& Nbsp; [qaytarılması: mul: n: x]]]
File.open (fact.o ',' w ') {| outfile | generator.write outfile}
Ruby proqramları bir mövcud Voodoo compiler API API sənədlərin təsvir edilir
Bu azad yeni nədir.
- < li> Ruby 1.9 ilə Uyumluluk, Ruby 1.8 əlavə; test keçmişdir və uğursuz testlər sayını edir.
- çox VARS test çox args parçalanması edilmişdir çox args-quyruq və çox yerli.
nədir versiya 1.0.1-ci Yeni
- Bu versiya parser təkmilləşdirilməsi bir sıra edir , indi bütün səhvlər üçün mənbə kodu yerlərdə hesabat və blokları, funksiyaları və conditionals daxilində çox səhvlər hesabat bilər. Parser üçün bir neçə testlər əlavə edilmişdir.
- Bu azad şərh izlədi hesabatlarına bir analiz səhv və parser boş giriş uğursuz səbəb olan bir problem giderir.
nədir versiya 1.0.0 Yeni
- ARM kodu generator: compiler artıq yarada montaj və ARM memarlıq ELF obyekt kodu.
- Təkmilləşdirilmiş səhv hesabat. Daha çox səhvlər aşkar, və səhvlər səhv anlamaq üçün asan təqdim olunur
- Validator modulu: Bu yeni modul yaradılan Voodoo kodu doğrulamak üçün istifadə edilə bilər. Bu ayrıştırılan kodu doğrulamak üçün parser tərəfindən istifadə olunur.
- Feature interfeysi: həyata keçirilməsi xüsusiyyətləri program və command line, həm də sorğulanan bilər .
nədir versiya 0.7.0-ci Yeni
- Blocks: Bu scopes təmin edən yerli dəyişənlərin bilər olaq ilə müəyyən edilir. Belə dəyişənlər blokunun sonuna qədər edək şərhdə sonunda mövcuddur. Blocks fəaliyyət baş verə bilər hər hansı bir yerdə baş verə bilər. Onlar blok ilə başladı və sonunda bloku ilə sona çatdı.
- Chained conditionals: bu və quot yazmaq üçün indi mümkündür; başqa əgər & quot ;, yerinə başqa bənddə bir nested tələb .
- Shift və dönüşümlü: hərəkətlərindən (ikindi, BSR, shl, shr) və dönüşümlü tədbirlər (rol, ror) əlavə edilmişdir keçmək .
- dəyəri olmayan qayıt: qaytarılması indi qiymətləndirmək üçün bir ifadə bildirilmədən istifadə oluna bilər. Bu undefined dəyəri funksiyası qaytarılması səbəb olur.
nədir versiya 0.6.3-ci Yeni
- Bu azad at-ifadələri təqdim edir: a prefixing ilə @ işarəsi ilə etiket, yerli dəyişən, və ya tam, dəyəri ünvan olaraq qəbul edilir ki, ünvanda saxlanılır söz qaytarılır.
- Bundan əlavə, bəzi hataları yol strings aşkar edilmişdir yaradılan toplaşmaq kodu kodlanmış edilmişdir.
- Bu bugs müəyyən edilmişdir, və version 0.6.3 indi düzgün 256 mümkün byte dəyərləri olan strings yapar.
nədir versiya 0.6.2-ci Yeni
- Bu azad giderir Set həyata keçirilməsi ilə bugs i386 və AMD64 və söz əvvəl düzgün iş deyil hallar testlər edir.
Şərhlər tapılmadı