Scheme2Js

Szoftver screenshot:
Scheme2Js
Szoftver adatai:
Változat: 20101114
Feltöltés dátuma: 11 May 15
Fejlesztő: Florian Loitsch
Engedély: Ingyenes
Népszerűség: 106

Rating: 3.5/5 (Total Votes: 2)

Scheme2Js egy rendszer Javascript fordító. Míg néhány erőfeszítést költöttek, hogy a lehető legközelebb a R5rs, mi koncentrált elsősorban a hatékonyságra.
Általában Scheme2Js termel Javascript kód, amely összehasonlítható a kézzel írt kód. Annak érdekében, hogy ezt a teljesítményt, Scheme2Js nem teljesen R5rs kompatibilis. Különösen hiányzik belőle támogatása fenntartást, pontos számokat és kezeli a farok rekurzió csak részben.
Scheme2Js nyújt számos zászlók, amelyek lehetővé teszik, hogy módosítsa az eredmény:
ย ท -no-js-dot-jelölést megtiltja a hozzáférést JavaScript mezőket a dot-jelöléssel. Ez a zászló letiltja hozzáférések az űrlap xy, mint a document.getElementById. Ez azonban még mindig lehet elérni a egy érvényes kifejezés használatával a js-field funkciót.
ย ท --mutable-húrok: annak érdekében, hogy javítsa teljesítményét a karakterlánc-műveletek és enyhíteni a felület között Scheme és a JavaScript kódot, az alapértelmezett végrehajtása térképek rendszer húrok JavaScript húrok. Ellentétben a rendszer húrok, JavaScript húrok azonban megváltoztathatatlan. Ez a zászló térképek húrok egy JavaScript osztályt, amely képviseli rendszer húrok, amelyek változékony. A kapott kód lehet kicsit lassabb, és nehezebb az interfész Javascript kód.
ย ท --encapsulate-alkatrészek ágyazza be a programot egy névtelen függvényt. Csak a globális változók kívül a névtelen függvény. Ez egyrészt bemutatja a függvényhívás a névtelen függvényt. De másrészt a legtöbb Javascript implementációk gyorsabban fusson, ezzel optimalizálás: általában hashtables használnak az szempontjaik a JavaScript. Segítségével egy névtelen függvényt a programok változók szét a saját kis hash, amely (elméletileg) felgyorsítja bejáratait ezeket a változókat. Ennél is fontosabb változók tárolják saját hash, és nem a globális hash, amely könnyen elérhető, a globális változó. Rendkívül könnyen közvetve tartalmának módosítását globális változók. Inline-kódkezelő vagy más közös erõcsökkentés így nem lehet csinálni a globális változók. Tárolása a program változókat egy névtelen függvényt ezen optimalizáció vált ismét lehetővé.
ย ท --optimize-var-szám csökkenti a használt változók az ebből eredő JavaScript kódot. A kód futtatása gyorsabb, de sokkal nehezebb a hibakeresés, mivel a változó neveket elvesznek, és ugyanaz a két változó lehet használni többször.
ย ท --optimize-közben: ezzel a zászló Scheme2Js optimalizálja közös while. A nem optimalizált while ciklusok gyakran a következő formában:
 while (true) {
   if (teszt)
     resVar = res;
   else {
     modify_loop_variable;
     tovább;
   }
   break;
 }
 
Ez az optimalizálás keresi ezeket a mintákat, és mozgatja a vizsgálat a while ciklus:
 while (! teszt) {
   modify_loop_variable;
 }
 resVar = res;
 
Ez az optimalizálás hajtották végre csak a közelmúltban, és ezért még nem alapbeállítás.
ย ท --verbose kiírja néhány információt.
ย ท -no-inline-kódkezelő letiltja az összes funkciót inline-kódkezelő (állandók talán még Beágyazott).
ย ท --inline-globals lehetővé Scheme2Js inline globális funkciók és állandók. Ez talán két nem kívánt mellékhatásai: az egyik a globális változókat gyakran használják adatátvitelre a különböző modulokat. Néhány Beágyazott funkciók elvesznek, ha nincs utalás őket többé. Ha a globális funkciók kerülnek felhasználásra kívül egy modult, nem kell használni ezt a zászlót. (Ez a viselkedés valószínűleg változni fog a jövőben változatban a Scheme2Js.)
ย ท --unresolved-is-js: ha a változó nem kötött, a fordító vállalja a változó jön egy másik modult, vagy a JavaScript. Lásd Scheme - Javascript részletesebb tárgyalását a JavaScript rendszer interfész.
ย ท --js-ez biztosítja az e változó belül Scheme funkciókat. Így reakcióvázlat eljárásokat lehet használni, mint módszerek JavaScript objektumok.
ย ท -no-tailrec letiltja a tailrec a while-loop optimalizálás. Ha úgy gondolja, egy hiba a fordító módja fordítására tail-RECs, megpróbálhatod ezt a zászlót.
ย ท -no-optimalizál-hívások letiltja Scheme2Js inline-kódkezelő bináris vagy egyváltozós függvények. Például sci_plus (3, 5) van optimalizálva, hogy (3 + 5). Ez az optimalizálás nagyon fontos, és ott általában nincs ok arra, hogy tiltsa le.
ย ท -no-optimalizál-consts letiltja a pre-állandó kiszámítása. Hacsak fogyatékos (ezzel a zászló), összetett állandók előre kiszámított és események hivatkozás helyébe a változó tárolja állandó. Ez teszi ismételt hozzáfér ezekhez állandók gyorsabb, de bemutatja az új változók.
ย ท -no-optimalizál-boolify letiltja a boolify optimalizálás. JavaScript és a rendszer által boolify nem egyenértékűek: JavaScript úgy véli, false, 0, semmisnek és meg nem határozott, hogy hamis, mivel Scheme csak #f. A nem optimalizált boolify ezért mindig hozzáteszi a vizsgálat ellen hamis: if (teszt! == False) ... Ha Scheme2Js láthatja, hogy a teszt önmagában egy logikai, akkor távolítsa el a felesleges! == False teszt. Ez a zászló letiltja ezt optimalizálása.
ย ท -D STAGE kinyomtatja a dot-fájlt (lásd Graphviz) az AST után Színpad. Lehetséges lépések: a bővítése, fa, jelkép, node-elim1, farok, inline, állandó szaporítás rm-felhasználatlan-Vars, elfog, node-elim2, míg (tt "nyilatkozatok"), node-elim3. Általában az egyik nem kell ezt a zászlót, kivéve, ha a hibakeresés.
ย ท --print-Locs nyomatok az eredeti helyszíneken, mint hozzászólás a JavaScript fájlt. Ezeken a helyeken jelenleg a karakter-eltolás a fájl elején.

Mi az új ebben a kiadásban:

  • Minor változások és hibajavítások kerültek átírta Hop hogy Scheme2Js.

Mi az új verzióban 20100816:

  • Scheme2Js 'runtime-olvasó most már felismeri a kulcsszavakat.
  • Több hiba javítva lett.

Mi az új verzióban 20081219:

  • A fordító lett optimalizálva.
  • Ez most sokkal gyorsabb, és kevesebbet fogyaszt memóriát.
  • Sok hiba javítva lett.
  • Az alapértelmezett modul záradéka Scheme2Js most hasonló a egyik Bigloo.
  • Ez a kiadás támogatja minősített neveket.

Hasonló program

CURSEL
CURSEL

3 Jun 15

Aubit 4GL compiler
Aubit 4GL compiler

20 Feb 15

clig
clig

3 Jun 15

Agena
Agena

22 Jun 18

Hozzászólások a Scheme2Js

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