Scheme2Js

Programinė įranga Screenshot:
Scheme2Js
Programinė detalės:
Versija: 20101114
Įkėlimo datą: 11 May 15
Kūrėjas: Florian Loitsch
Licencija: Nemokamai
Populiarumas: 6

Rating: nan/5 (Total Votes: 0)

Scheme2Js yra Schema Javascript sudarytojas. Nors kai pastangos buvo išleista yra taip arti, kaip įmanoma R5rs, mes sutelktas daugiausia efektyvumą.
Paprastai Scheme2Js gamina JavaScript kodą, kuris yra panašus į ranka parašyta kodą. Norint pasiekti šį efektyvumą, Scheme2Js nėra visiškai R5rs reikalavimus. Visų pirma tai trūksta paramos pratęsimą, tikslių skaičių ir ji elgiasi uodega rekursijos tik iš dalies.
Scheme2Js pateikia keletą vėliavas, kurios leidžia keisti rezultatą:
ย ท --no-JS-DOT-žymėjimas Atmetusi galimybę naudotis JavaScript srityse su dot-žymėjimo. Ši vėliava išjungia prieigas formos xy kaip ir document.getElementById. Tačiau vis dar įmanoma pasiekti yra galiojantis išraiška naudojant JS-lauko funkciją.
ย ท --mutable-Strings: norint pagerinti eilučių operacijų rezultatus ir palengvinti sąveiką schemą ir JavaScript kodą, numatytasis įgyvendinimo žemėlapiai schemos stygos JavaScript stygos. Priešingai schemos stygos, JavaScript stygos tačiau nekintamas. Ši vėliava žemėlapiai stygos JavaScript klasės, kuri atstovauja gyvūnų programos eilutes, kurios yra permainingas. Gautas kodas gali būti šiek tiek lėčiau, ir tai yra sunkiau sąsaja su JavaScript kodą.
ย ท --encapsulate-dalys apjungia į anoniminių funkciją programą. Tik globalių kintamųjų yra už šios anoniminės funkcija. Viena vertus, tai pristato vieną funkciją skambutį į anoniminių funkcija. Bet, kita vertus, dauguma Javascript diegimas turėtų veikti greičiau su šio optimizavimo: paprastai hashtables yra naudojamas atstovauti apimtis JavaScript. Naudojant anoniminę funkcija programas kintamieji yra suskirstyti į savo mažesnio Hashtable kuris (teoriškai) pagreitina prieigą prie šių kintamųjų. Dar svarbiau kintamieji yra saugomi jų pačių Hashtable, o ne pasaulinėje Hashtable, kuris yra pasiekiamas pasaulinės kintamąjį. Tai labai paprasta netiesiogiai modifikuoti globalių kintamųjų turinį. Įterpimas ar kitų bendrų optimizacijos yra todėl neįmanoma daryti globalių kintamųjų. Iki saugojimo programos kintamuosius anonimiškai funkciją šie optimizavimas vėl tapti įmanoma.
ย ท --optimize-var numeris sumažina kintamųjų, naudojamų gautą JavaScript skaičių. Kodas, kuris gali veikti greičiau, bet yra sunkiau derinimo, kaip kintami pavadinimai yra prarastas ir pats kintamasis gali būti naudojamas keletą kartų.
ย ท --optimize-o: su shita Scheme2Js optimizuoja bendra, o kilpų. Unoptimized o kilpos yra dažnai formos:
 while (true) {
   jei (testas)
     resVar = RES;
   else {
     modify_loop_variable;
     toliau;
   }
   pertrauka;
 }
 
Šis optimizavimo ieško šių modelių ir juda testą į while cikle:
 o (! testas) {
   modify_loop_variable;
 }
 resVar = RES;
 
Šis optimizavimo buvo įgyvendinta tik neseniai ir todėl nėra aktyvuotas pagal nutylėjimą.
ย ท verbose spausdina tam tikrą informaciją.
ย ท --no-inline išjungia visas funkcija "inline" (konstantos vis dar gali būti Built).
ย ท --inline-Globals leidžia Scheme2Js inline pasaulines funkcijas ir konstantas. Tai gali turėti du nepageidaujamą šalutinį poveikį: vieną, pasaulinė kintamieji yra dažnai naudojami duomenims perduoti tarp skirtingų modulių. Kai Built funkcijos yra prarastas, jei nėra nuorodos į jų nebėra. Jei visuotiniai funkcijos turi būti naudojami ne modulio, nereikėtų naudoti šią vėliavą. (Toks elgesys gali pasikeisti ateityje versijos Scheme2Js.)
ย ท --unresolved-yra-JS: jei kintamasis yra nesurištas, sudarytojas laikys kintamasis ateina iš kitos modulis, arba JavaScript. Žiūrėti skyrių schema - "JavaScript" išsamesnę diskusiją JavaScript schema sąsaja.
ย ท --js-tai suteikia šį per schemos funkcijas kintamąjį. Tokiu būdu, schema procedūros gali būti naudojamas kaip metodų objektai JavaScript.
ย ท --no-tailrec išjungia į Nors-kilpa optimizavimas tailrec. Jei įtariate, kad į sudarytojas kelyje verčiant uodegos įraš klaidą, galite išbandyti šį vėliava.
ย ท --no-optimizuoja-ragina išjungia Scheme2Js inline binarinių arba Smūginės operacijas. Pavyzdžiui, iš sci_plus (3, 5) yra optimizuota (3 + 5). Šis optimizavimo yra labai svarbus, ir ten paprastai nėra pagrindo jį išjungti.
ย ท --no-optimizuoti-consts išjungia anksto pastovų skaičiavimą. Nebent neįgaliesiems (su šiuo vėliavos), sudėtiniai konstantos precalculated ir jų atvejai pakeičiama nuoroda į kintamojo turinčiam konstantą. Tai leidžia pakartoti prieigą prie šių konstantų greičiau, tačiau pristato naujus kintamuosius.
ย ท --no-optimizuoti-boolify išjungia boolify optimizavimas. Javascript ir schemos boolify nėra lygiaverčiai: Javaskriptą mano klaidinga, 0, yra niekinis ir neapibrėžta, kad būtų klaidinga, kadangi schema turi tik #f. Todėl unoptimized boolify visada prideda testą prieš klaidinga: jei (testas == klaidinga!) ... Jei Scheme2Js matote, kad pati testas yra Būlio, jis gali pašalinti nereikalingas == klaidingą testą!. Ši vėliava išjungia šį optimizavimą.
ย ท --d ETAPAS spausdina DOT-failą (žr graphviz) iš AST po stadijos etape. Galimi etapai yra šie: išplėsti, medį, simbolis, limfmazgius elim1, uodegos, inline, nuolatinio veisimo, RM-nepanaudotą-genofondo, gaudyti, limfmazgius elim2, o, (TT "pareiškimus), mazgas elim3. Paprastai vienas nereikia tokios vėliava, jeigu dėl derinimo.
ย ท --print-locs spausdina originalius vietose, pastabų JavaScript failą. Šios vietos šiuo metu yra simbolių kompensuoti nuo failo pradžios

Kas naujo , šioje laidoje.

  • Mažosios pakeitimai ir pataisymai buvo perkelta iš apynių Scheme2Js.

Kas naujo versijoje 20100816.

  • Scheme2Js "Runtime skaitytojas dabar pripažįsta raktažodžius
  • Keletas klaidos buvo ištaisytos.

Kas naujo versijoje 20081219.

  • kompiliatorius buvo optimizuotas,
  • Tai dabar daug greičiau ir suvartoja mažiau atminties.
  • Daugelis klaidos buvo ištaisytos.
  • Numatytasis modulis sąlyga iš Scheme2Js dabar panašus į vieną iš bigloo.
  • Ši versija palaiko kvalifikacijos pavadinimus.

Panaši programinė įranga

Flapjax
Flapjax

3 Jun 15

Chapel
Chapel

11 May 15

TinyPie
TinyPie

12 May 15

Komentarai Scheme2Js

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