Nimrod

Szoftver screenshot:
Nimrod
Szoftver adatai:
Változat: 0.9.2
Feltöltés dátuma: 20 Feb 15
Fejlesztő: Andreas Rumpf
Engedély: Ingyenes
Népszerűség: 88

Rating: 1.5/5 (Total Votes: 2)

Nimrod egy nyílt forráskódú, ingyenes, statikusan típusos, feltétlenül programozási nyelv célja, hogy támogassa az ügyrendi, objektum-orientált, általános és funkcionális programozási stílus, míg a fennmaradó hatékony és egyszerű.
Nimród képes elvonatkoztatni szintaxisfa (AST) részeként a specifikáció, amely lehetővé teszi a nagy teljesítményű makro rendszer, amely lehet használni, hogy domén-specifikus nyelvek. A funkciók örökölt Lisp.
A szoftver natív kódot generációs, szemétgyűjtés, nulla fölött bejárók, a felhasználó által definiálható szereplők, magas szintű adattípusok, fordításidejű értékelést, előre compability, GTK2, a Windows API, POSIX API kötések, a dugaszolható elemző rendszer, a dokumentáció készítő, és a Pascal a Nimrod átalakító program.
Nimrod hordozható, ami azt jelenti, hogy futtatható Linux, BSD, Mac OS & nbsp; X & nbsp; és Windows operációs rendszereken.

Mi az új ebben a kiadásban:

  • Bugfixek:
  • A régi GC soha nem gyűjtött ciklus helyesen. Fix de okozhatja a teljesítmény regresszió. Azonban azt is kikapcsolja a ciklus kollektor GC_disableMarkAndSweep és fuss ez kifejezetten megfelelő időben, vagy egyáltalán nem. Van is egy új GC aktiválhatja a --gc: markAndSweep, amely nem is ez a probléma, de lassabb általános és nincs valós idejű garanciát.
  • öntött lebegőpontos típusok már nem a bitcast, mint a kézikönyvben meghatározott. Ez megtöri kód, amely tévesen használja öntött konvertálni különböző lebegőpontos értékek.
  • SCGI modul teljesítménye javult jelentősen, akkor nem akadályozzák majd a sok párhuzamos kérelmeket.
  • Az összes vezetékes több mint 70 GitHub kérdések és egyesült több mint 60 pull kéréseket.
  • Library kiegészítések:
  • Van egy új kísérleti mark & ​​söpörni GC amely lehet gyorsabb (vagy sokkal lassabb), mint az alapértelmezett GC. Engedélyezze a --gc: markAndSweep.
  • Added system.onRaise, hogy támogassa a feltételrendszer.
  • Added system.locals, amely hozzáférést biztosít a proc a helyiek.
  • Added macros.quote az AST kvázi idézve.
  • Added system.unsafeNew támogatni hacky változó hosszúságú tárgyat.
  • system.fields és system.fieldPairs támogatást tárgy túl; régen csak támogatni esek.
  • Added system.CurrentSourcePath visszatérő teljes fájlrendszer elérési útját a jelenlegi forrás fájlt.
  • A makrók modul már sok hasznos segítők felépítéséhez absztrakt szintaxis fát.
  • érintő változások visszafelé kompatibilitás:
  • megosztott egy kulcsszót most.
  • Elavult sockets.recvLine és asyncio.recvLine, hozzá Readline helyett.
  • Az út behúzás kezelik az elemző jelentősen megváltozott. Azonban ez kihat nagyon kevés (ha van ilyen) valós kódot.
  • A kifejezés / nyilatkozatot egyesítése hajtották végre. Ez megint csak befolyásolja szélén esetek, és nem ismert valós kódot.
  • Megváltozott a aszinkron interfész a SCGI modul.
  • WideStrings most szemetet gyűjtött, mint a másik ágon típusú.
  • Compiler kiegészítések:
  • A doc2 parancs nem generál kimenő a teljes projekt már. Használja az új --project kapcsolóval engedélyezheti ezt a viselkedést.
  • A fordító most figyelmeztet árnyékos lokális változók. Ez azonban meg kell fordítani a kifejezetten keresztül --warning [ShadowIdent]: a.
  • A fordító most már támogatja szinte minden pragma push pragma.
  • Generic konverterek hajtottak végre.
  • Hozzáadás a nagyon kísérleti noforward pragma lehetővé teszi egy speciális összeállítása mód, amely nagyrészt szükségtelenné teszi előre nyilatkozatok.
  • Language kiegészítések:
  • case kifejezések is támogatottak.
  • Táblázat konstruktőrök már utánozzák közelebbről a szintaxis ügyben nyilatkozatot.
  • Nimrod most következtetni a visszatérési típus a proc testéből.
  • Hozzáadás a mixin nyilatkozatot, hogy befolyásolja a szimbólum kötelező szabályok a generikumok.
  • Kivétel nyomkövetés hozzá, és a doc2 parancsot annotates esetleges kivételeket az Ön számára.
  • Felhasználói hatások (& quot; címkék & quot;) követési bővült, és a doc2 parancsot annotates lehetséges címkék az Ön számára.
  • típusokat lehet vezetni az új szintaxis nem nulla kifejezetten megállapítaná, hogy a nulla nem megengedett. Csakhogy jelenleg a fordító nem végez haladó statikus ellenőrzése ehhez; most ez pusztán dokumentációs célokra.
  • Egy kiviteli nyilatkozatot adtak a nyelvet: Ezt fel lehet használni a szimbólum szállítmányozás, így az ügyfél modulok nem kell importálni a modul függőségek kifejezetten.
  • túlterhelés alapján AST hajtották végre.
  • Generics már támogatja a több módszerek.
  • Objects lehet inicializálni keresztül egy objektum konstruktor kifejezés.
  • Van egy új szintaktikai konstrukció (;) egyesítő kifejezéseket és nyilatkozatok.
  • Most már használhatja a modul import nulla, ha szeretné importálni a modul, de szeretné érvényesíteni teljesen minősített hozzáférést minden jelet modul.

Mi az új verzióban 0.8.14:

  • Fix komoly memóriasérülési szóló üzenet halad.
  • Fix egy súlyos hibát vonatkozó különböző megnyilvánulási formái egy általános proc.
  • Javítva egy újonnan bevezetett hiba, ha egy rossz EIO kivételt hozta fel a file végére a szöveges fájl, ami nem ér véget újsorral.
  • Hibajavítás c2nim, c2pas: a --out opciót soha nem működött megfelelően.
  • Hibajavítás: továbbítása a generikus speciális képessége soha nem dolgozott.
  • Még egy kis hibajavítás a makrók és a fordítási időben értékelést.
  • A GC már figyelembe veszi a belső mutató az stack, amely vezethet be az agresszív C-optimalizáló.
  • Nimród natív allocator / GC most már működik a PowerPC.
  • Sok más hibajavítás: Túl sok mindet felsorolni.

Mi az új verzióban 0.8.6:

  • Bugfixek:
  • A pragmák hint [X]: ki és figyelmeztetés [X]: off most dolgozik.
  • tagfüggvényhívást szintaxis iterátoroké újra működik (az x az lines.split ()).
  • Javítva egy elírás removeDir a POSIX, amelyek egy végtelen ciklus.
  • A fordító ellenőrzi, hogy a modul fájlnevek érvényes azonosítók.
  • Empty minták a dynlib pragma most lehetséges.
  • os.parseCmdLine visszatért rossz eredményt a szóköz karaktereket.
  • következetlen tuple használata (ugyanazt est és anélkül mezőkre) nem fagy kódgenerátorba többé.
  • Egy jobb hibaüzenet feltéve, ha a terhelés egy proc egy dinamikus lib nem.
  • Növekedés:
  • Added system.contains nyílt tömbök.
  • A PEG modul már támogatja a keresési loop üzemeltető @.
  • Nyelvtani / elemző: SAD | IND akkor megtörténik bármilyen zárójel. Ez lehetővé teszi a rugalmasabb forráskód alakzatban.
  • A fordító most használ egy kötődnek asztal szimbólum lookup belül megkötik összefüggésben. (Lásd manual.html # sablonokat talál.)
  • eldobott & quot; & quot; & quot; én hosszú comment & quot; & quot; & quot; most optimalizált el.
  • New --floatChecks: on | off kapcsolók és pragmák jobb hibakeresés lebegőpontos műveletek. (Lásd manual.html # előre meghatározott lebegőpontos-típusok a részletekért.)
  • A kézi javult. (Sok köszönet Philippe LHOSTE!)
  • érintő változások visszafelé kompatibilitás:
  • A fordító nem hagyja ki az összekötő lépést már akkor is, ha nincs fájl változott.
  • os.splitFile (& quot; .xyz & quot;) most visszatér (& quot; & quot ;, & quot; .xyz & quot ;, & quot; & quot;) helyett (& quot; & quot ;, & quot; & quot ;, & quot; .xyz & quot; ). A fájlnevek ponttal kezdve eltérően kezelik.
  • strutils.split (s: string, SEPS: állítsa [char]) soha nem kapjuk üres string többé. Ez a viselkedés valószínűleg alkalmasabb -et felosztása.
  • A fordító most már megáll a --version parancssori kapcsolót.
  • Az eltávolított támogatása enum öröksége a parser; enum öröksége még soha nem dokumentáltak egyébként.
  • A msg területén system.E_base van most a String helyett cstring. Ez javítja a memóriát biztonságát.

Mi az új verzióban 0.8.2:

  • Bugfixek:
  • Átadás --hint [X]: ki vagy --warning [X]: off parancssori paraméterként, hogy a fordító működik.
  • Alapértelmezett paraméterek sablonok most dolgozik.
  • Fix biztonsági kérdés system.copy.
  • string esetében nélküli mást része generált rossz kódot.
  • különböző javítások a osproc modul; most már működik a Windows.
  • Növekedés:
  • Megvalósult multi-módszereket.
  • A fordító most már felismeri a rendelkezésre álló processzorok és végrehajtja a C fordítót egyidejűleg. Ez állítható a --parallel_build: number_of_processors parancssori kapcsolót.
  • PEG-alapú mintaegyezési keresztül a csapok modul.
  • Added system.definedInScope.
  • Added system.accumulateResult.
  • Added os.walkDirRec.
  • Added osproc.countProcessors.
  • Added osproc.execProcesses.
  • A konfigurációs rendszer már támogatja $ cc.options.linker.
  • Egyesített kif és typeDesc a nyelvtanban / elemző: ez lehetővé teszi az anonim speciális képessége nélkül lambda.
  • Sok script nincs szükség a GC: Az új --gc: nincs parancssori kapcsolóval lehet kizárni a GC a futtatható.
  • érintő változások visszafelé compability:
  • Az a címe, egy tárgy diszkriminancia most érvénytelen.
  • Átadás a proc a proc var azonban csak speciális képessége jelölt procvar vagy a hívási konvenciót! = Nimcall. Mert most ez csak akkor okoz figyelmeztetést, de ez lesz viszont egy hiba hamarosan.
  • rendszert. & And system.add most kap openArray helyett seq paraméterek.
  • Az eltávolított strutils.findSubStr és strutils.findChars. Ők már elavult 3 verzió.
  • A unicode modul az önálló típust TRune.
  • Elavult strutils.toString: a $ helyett.
  • Elavult os.splitPath: használata os.splitPath, hogy visszatér a tuple helyett.
  • Elavult os.extractDir: használja splitFile (út) .dir helyett.
  • Elavult os.splitFilename: használja splitFile helyett.
  • Elavult os.extractFileExt: használja splitFile helyett.
  • Elavult os.extractFileTrunk: használja splitFile helyett.
  • Elavult os.appendFileExt: használja os.addFileExt helyett.
  • Elavult os.executeShellCommand: használja os.execShellCmd helyett.
  • Elavult os.iterOverEnvironment: használata os.envPairs helyett.
  • Elavult parseopt.init: használja parseopt.initOptParser helyett.
  • Elavult parseopt.getRestOfCommandLine: használja parseopt.cmdLineRest helyett.
  • Elavult os.pcDirectory: használja os.pcDir helyett.
  • Elavult os.pcLinkToDirectory: használja os.pcLinkToDir helyett.
  • Elavult osproc.executeProcess: használja osproc.execProcess helyett.
  • Elavult osproc.executeCommand: használja osproc.execCmd helyett.

Mi az új verzióban 0.8.0:

  • Bugfixek:
  • rögzített egy kis hiba, ami miatt a fordító nem jelenti fel nem használt túlterhelt szimbólumok
  • fix egy kis bug kapcsolatos szimbólum túlterhelés
  • fix elírás: ez & quot; félreérthető & quot ;, nem & quot; ambivalens & quot; ; -)
  • a fordító most már felismeri a rekurzív include fájlokat
  • system.card kell ismét dolgozni
  • elemek set [char] és array [char, T] működnie kell teremteni
  • Növekedés:
  • végrehajtott általános típusának és két fázisának jele keresést az általános rutinok
  • sablonértékekhez most már valós típusú
  • végrehajtott általános karakterlánc literals: ident & quot; abc & quot; egy rövidítése ident (r & quot; abc & quot;)
  • túlterhelését felbontású iterátoroké elválasztják speciális képessége; bejárók most is ugyanaz a neve + aláírással procs
  • szimbólum lookup sablonok hatással lehet az új kötődnek kulcsszó
  • a fordító most elfogadja a --no_main kapcsoló jobb kapcsolatot az együttműködést más nyelveken összeállított
  • végre tuple kicsomagolás a var szakaszok
  • kódgenerátorba bocsát alapértelmezett: __assume (0); A Visual C ++ (optimalizálás)
  • a fordító ellenőrzi, ha a proc mellékhatásai; procs, hogy bejelentették, hogy nincs mellékhatása elutasítják, ha a fordító nem tudja ellenőrizni ezen
  • a formátumot kezelő strutils.% Már támogatja $ # automatikus érv számlálás
  • végre strutils.join
  • érintő változások visszafelé compability:
  • kétfázisú szimbólum lookup végzik általános rutinok
  • kötődnek most fenntartott szó; kivétel nélkül fenntartott szó már
  • absztrakt típusokat már átnevezték a különböző típusú; tehát két eltérő most fenntartott szó; abstract nem fenntartott szó már
  • system.openFile Elavult: használata system.open helyett
  • system.closeFile elavult: használata system.close helyett
  • strutils.replaceStr elavult: használata strutils.replace helyett
  • strutils.deleteStr elavult: használata strutils.delete helyett
  • strutils.splitSeq elavult: használata strutils.split helyett
  • strutils.splitLinesSeq elavult: használata strutils.splitLines helyett
  • strutils.parseFloat nem fogad el egy újabb start paraméter már
  • Dokumentáció:
  • a kézi javult

Mi az új verzióban 0.7.6:

  • Bugfixek:
  • a telepítést a Windows Vista most dolgoznak ki a dobozból; próbáld!
  • Javítva egy hiba, hogy tartotta a & quot; rekurzív modulok & quot; Például a munka
  • keverési elemzi és meg nem nevezett paraméterek egy eljárás hívás működik
  • nyolcas szám az előtag 0C most megfelelő, támogatott
  • felsorolások most kezdődhet a negatív értékek
  • parseInt, ParseBiggestInt most dob ​​kivételt, ha a szöveg nem ér véget, miután az elemzett száma
  • a fordító már kezeli a felső szintű nyilatkozatok helyesen
  • generált nimcache könyvtár soha nem ér véget a perjel
  • CreateDir működik a globális alatti könyvtárak UNIX (& quot; / somepath / itt & quot;)
  • a fordító most hajtja végre a futtatható egy vezető & quot; ./& quot; UNIX
  • a fordító már támogatja a folyamatos tömbök eljárás pointerek
  • elif esetén nyilatkozatok működik
  • iterátoroké keresztül egy szabad tömbparaméter működnek
  • Javítva egy hiba, ahol néhány tekintetben $ myEnum nem működött

Milyen új verzióban 0.7.4:

  • a telepítést a Windows működnie kell teremteni, ha a könyvtár tartalmazza terek
  • A dokumentáció készítő már csak teszi dokumentációt hozzászólásai
  • `` `` engedélyezett az üzemeltetők, mint a kézikönyv szerint
  • ritka esetekben, az index check lett optimalizálva el, annak ellenére, hogy szükség lett volna
  • Több hibajavításokat tuple típusú
  • hozzá egy `` unicode`` modul UTF-8 kezelésére
  • hozzá Hostos és hostCPU mágiájukkal a `` system`` modul
  • system.echo most elfogadja több érvek
  • hozzá optimalizálás: bizonyos esetekben inline-kódkezelő a bejárók most termel lényegesen jobb kódot
  • hozzáadott egész program halott kód megszüntetése
  • a mágikus `` `üzemeltető működik a felsorolások
  • A `` const`` szakaszok fejlett fordításkor kiértékelés
  • átnevezték `` in_Operator`` hogy `` contains``: `` in`` most egy sablont, melynek fordítása `` contains``
  • változott `` strutils.quoteIfSpaceExists`` hogy `` strutils.quoteIfContainsWhite``
  • Az elemző ma már sokkal több válogatós missings vessző, stb Ha ez hatással van a kód túl sok, próbálja meg futtatni a kódot a csinos nyomtatót.
  • A `` macros`` API már nem része a `` system`` modul, ezen API most már importálni a `` macros`` modul
  • hozzá egy tutorial

Mi az új verzióban 0.7.2:

  • Ez egy hibajavító kiadás. Ez a legfontosabb fix, hogy Nimród már újra működik, AMD64 (x86_64) processzorok.
  • Nem új funkciók kerültek végrehajtásra.

Mi az új verzióban 0.7.0:

  • különböző hibajavítások, túl sok felsorolni őket ide
  • A telepítés UNIX-alapú rendszerek nem függ Python többé
  • A `` koch.py`` script működik a régebbi Python verzió (beleértve a 1.5.2)
  • megváltoztatta egész műveletek és a konverziók szabályok
  • hozzáadott `` `` GC_ref`` és GC_unref`` procs
  • szekvenciák most ki kell építeni azokat a `` `` @ operátor. Ennek eredményeként alacsonyabb félreérthető.
  • a fordító már kevesebb memóriát használ, és sokkal gyorsabb,
  • A GC most sokkal gyorsabb,
  • új kötések: zlib, SDL, Xlib, OpenGL, ODBC, Lua
  • A generált C-kód sokkal gyorsabb, hogy optimalizálja a GCC
  • Új könyvtárak: patakok, zipfiles
  • A Nimrod fordító már portolták FreeBSD: meg kell dolgozni a többi BSD túl

követelmények :

  • Python

Hasonló program

TXR
TXR

18 Jul 15

IPython
IPython

20 Feb 15

X11-Basic
X11-Basic

20 Feb 15

Scheme2Js
Scheme2Js

11 May 15

Hozzászólások a Nimrod

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