Nimrod

Sagteware kiekie:
Nimrod
Sagteware besonderhede:
Weergawe: 0.9.2
Upload datum: 20 Feb 15
Ontwikkelaar: Andreas Rumpf
Lisensie: Gratis
Populariteit: 16

Rating: nan/5 (Total Votes: 0)

Nimrod is 'n oop bron, gratis, staties getik, noodsaaklik programmeertaal prosedurele, objekgeoriënteerde, generiese en funksionele programmering style te ondersteun, terwyl die oorblywende doeltreffende en eenvoudig.
Nimrod is in staat om abstrakte sintaksis boom (AST) as deel van 'n spesifikasie, sodat 'n kragtige makro stelsel wat gebruik kan word domein spesifieke tale te skep. A funksies geërf van Lisp.
Die sagteware beskik inheemse kode generasie, vullisverwydering, nul-oorhoofse iterators, gebruikers-defineable operateurs, hoë vlak gegee tik, stel die tyd evaluering, vorentoe compatibiliteit, GTK2, Windows API, POSIX API bindings, 'n plugable parser stelsel, 'n dokumentasie generator, en 'n Pascal te Nimrod omskakeling nut.
Nimrod is draagbaar, wat beteken dat dit kan hardloop op Linux, BSD, Mac OS & nbsp; X & nbsp; en Windows bedryfstelsels

Wat is nuut in hierdie release:.

  • bugfixes:
  • Die ou GC nooit siklusse korrek versamel. Vaste maar dit kan veroorsaak prestasie regressies. Maar jy kan die siklus versamelaar met GC_disableMarkAndSweep deaktiveer en voer dit uitdruklik op 'n gepaste tyd, of glad nie. Daar is ook 'n nuwe GC jy kan aktiveer met --gc. MarkAndSweep wat nie hierdie probleem nie, maar is stadiger in die algemeen en het geen realtime waarborge
  • cast vir drywende punt tipes doen nou die bitcast soos in die handleiding. Dit breek wat verkeerdelik gebruik cast verskillende swaai punt waardes te omskep.
  • SCGI module se prestasie is aansienlik verbeter, sal dit nie meer blok op baie konkurrente versoeke.
  • In die totale vaste meer as 70 GitHub kwessies en saamgesmelt meer as 60 pull versoeke.
  • Biblioteek Toevoegings:
  • Daar is 'n nuwe eksperimentele merk & sweep GC wat kan vinniger (of stadiger) as die standaard GC wees. In staat stel om met --gc. MarkAndSweep
  • Added system.onRaise 'n toestand stelsel te ondersteun.
  • Bygevoeg system.locals wat toegang bied tot 'n proc se inwoners.
  • Bygevoeg macros.quote vir AST kwasi-vermelding.
  • Added system.unsafeNew mag nou wel veranderlike lengte voorwerpe te ondersteun.
  • system.fields en system.fieldPairs ondersteuning voorwerp te; hulle gebruik om net ondersteuning tuples.
  • Added system.CurrentSourcePath terugkeer die volle lêer-stelsel pad van die huidige bron lêer.
  • Die makros module bevat nou baie nuttig helpers vir die opbou van abstrakte sintaksis bome.
  • veranderinge wat backwards compatibility:
  • gedeel is 'n navraag nou.
  • afgekeur sockets.recvLine en asyncio.recvLine, bygevoeg read line plaas.
  • Die manier inkeping is in die parser aansienlik verander hanteer. Maar dit raak baie min (indien enige) werklike wêreld kode.
  • Die uitdrukking / stelling eenwording is geïmplementeer. Weereens is dit net 'n invloed rand gevalle en geen bekende werklike wêreld kode.
  • Verander die async koppelvlak van die scgi module.
  • WideStrings nou vullis versamel soos ander string tipes.
  • Compiler Toevoegings:
  • Die doc2 opdrag nie uitvoer vir die hele projek genereer nie. Gebruik die nuwe --project skakelaar om hierdie gedrag te maak.
  • Die samesteller kan nou waarsku oor skaduwee plaaslike veranderlikes. Maar dit moet aangeskakel word uitdruklik via --warning [ShadowIdent]:. Op
  • Die samesteller ondersteun nou byna elke pragma in 'n druk pragma.
  • Generiese omsetters is geïmplementeer.
  • Bygevoeg 'n hoogs eksperimentele noforward pragma sodat 'n spesiale samestelling af wat grootliks skakel die behoefte vir vorentoe verklarings.
  • Taal Toevoegings:
  • geval uitdrukkings word nou ondersteun.
  • Table vervaardigerskampioenskap nou naboots nouer die sintaksis van die geval verklaring.
  • Nimrod kan nou aflei die terugkeer tipe van 'n proc van sy liggaam.
  • Bygevoeg 'n mixin verklaring simbool te beïnvloed bindende reëls in generiese.
  • Uitsondering dop is bygevoeg en die doc2 opdrag annoteer moontlike uitsonderings vir jou.
  • Gebruiker gedefinieerde effekte (& quot; tags & quot;). Dop is bygevoeg en die doc2 opdrag annoteer moontlik tags vir jou
  • tipes kan geannoteerde word met die nuwe sintaksis nie nul uitdruklik verklaar dat nul word nie toegelaat nie. Maar op die oomblik die samesteller voer geen gevorderde statiese kontrole vir hierdie; vir nou is dit net vir dokumentasie doeleindes.
  • 'n uitvoer verklaring is aan die taal bygevoeg: Dit kan gebruik word vir simbool ekspedisie so kliënt modules het nie 'n module se afhanklikes te voer uitdruklik
  • .
  • Oorlading gebaseer op aste is geïmplementeer.
  • Generiese medisyne is nou ondersteun vir multi-metodes.
  • Voorwerpe kan geïnisialiseer word via 'n voorwerp constructor uitdrukking.
  • Daar is 'n nuwe sintaktiese konstruk (;) verenigende uitdrukkings en state
  • .
  • Jy kan nou gebruik van module invoer nul as jy wil hê dat die module in te voer, maar wil ten volle gekwalifiseerde toegang tot elke simbool in module af te dwing.

Wat is nuut in die weergawe 0.8.14:.

  • Vaste 'n ernstige geheue korrupsie met betrekking tot die boodskap verby
  • Vaste 'n ernstige fout met betrekking tot verskillende instantiations van 'n generiese processed.
  • Vaste 'n nuwe ingevoerde fout waar 'n verkeerde EIO uitsondering is vir die einde van die lêer vir die teks lêers wat eindig nie met 'n nuwe reël opgewek het.
  • Bugfix c2nim, c2pas: die --out opsie nog nooit behoorlik gewerk
  • .
  • Bugfix:. Versending van generiese procs nooit gewerk
  • Sommige meer bugfixes vir makros en stel-time evaluering.
  • Die GC neem nou in ag binneland wenke oor die stapel wat ingestel kan word deur aggressiewe C Optimizers.
  • Nimrod se moedertaal allocator / GC werk nou op PowerPC.
  • Baie van die ander bugfixes. Te veel om op te noem

Wat is nuut in die weergawe 0.8.6:

  • bugfixes:
  • Die pragmas wenk [X]: af en waarskuwing [X]: af werk nou
  • .
  • Metode oproep sintaksis vir iterators werk weer (vir x in lines.split ()).
  • Vaste 'n tikfout in removeDir vir POSIX wat lei tot 'n oneindige rekursie.
  • Die samesteller tjeks nou dat module lêername is geldig ID.
  • Leë patrone vir die dynlib pragma is nou moontlik.
  • os.parseCmdLine teruggekeer verkeerde resultate vir sleep witspasie.
  • inkonsekwente tal gebruik (met behulp van dieselfde tal met en sonder die naam velde) nie crash die kode kragopwekker nie.
  • 'n beter fout boodskap verskaf wanneer die laai van 'n proc binne 'n dinamiese lib versuim.
  • Toevoegings:
  • Bygevoeg system.contains vir oop skikkings.
  • Die PEG module ondersteun nou die search lus operateur @.
  • Grammatika / ontleder: SAD | IND is voordat enige soort sluithakie toegelaat. Dit maak voorsiening vir meer buigsaam bronkode regmaak.
  • Die samesteller gebruik nou 'n bind tafel simbool lookup binne 'n bind konteks. (Sien manual.html # templates vir meer besonderhede.)
  • weggooi & quot; & quot; & quot; my lang kommentaar & quot; & quot; & quot; nou new weg.
  • New --floatChecks: Aan | Af skakelaars en pragmas vir 'n beter ontfouting van drywende punt bedrywighede. (Sien manual.html # pre-gedefinieerde-swaai-punt-tipes vir meer inligting.)
  • Die handleiding is verbeter. (Baie dankie aan Philippe Lhoste!)
  • veranderinge wat backwards compatibility:
  • Die samesteller nie slaan die koppeling van stap nie, selfs as geen lêer verander het.
  • os.splitFile (& quot; .xyz & quot;) gee terug nou (& quot; & quot ;, & quot; .xyz & quot ;, & quot; & quot;) in plaas van (& quot; & quot ;, & quot; & quot ;, & quot; .xyz & quot; ). Lêername begin met 'n punt is anders hanteer.
  • strutils.split (s: string, seps: stel [char]) oplewer nooit die leë string nie. Hierdie gedrag is waarskynlik meer geskik is vir witspasie verdeel.
  • Die samesteller stop nou na die version command line skakelaar.
  • Verwyder ondersteuning vir enum erfenis in die parser; enum erfenis is nog nooit in elk geval gedokumenteer.
  • Die msg gebied van system.E_base het nou die tipe string, in plaas van cstring. Dit verbeter geheue veiligheid.

Wat is nuut in die weergawe 0.8.2:

  • bugfixes:
  • Slaag --hint [X]: af of --warning [X]:. Af as command line argumente aan die samesteller nou werk
  • Standaard parameters vir templates nou werk.
  • Vaste sekuriteit probleem in system.copy.
  • String geval sonder 'n ander deel gegenereer verkeerde kode.
  • Verskeie fixes vir die osproc module; dit werk nou op Windows.
  • Toevoegings:
  • Geïmplementeer multi-metodes.
  • Die samesteller ontdek nou die aantal beskikbare verwerkers en voer die C samesteller gelyktydig. Dit kan aangepas word deur die --parallel_build. Number_of_processors command line skakelaar
  • PEG-gebaseerde patroon wat ooreenstem met die via die penne module.
  • Added system.definedInScope.
  • Added system.accumulateResult.
  • Added os.walkDirRec.
  • Bygevoeg osproc.countProcessors.
  • Added osproc.execProcesses.
  • Die opset stelsel ondersteun nou $ cc.options.linker.
  • Saamgevoegde Expr en typeDesc in die grammatika / ontleder. Dit sal toelaat vir anonieme procs sonder lambda
  • Baie skrifte het geen behoefte aan 'n GC: Die nuwe --gc: Geen command line skakelaar gebruik kan word om die GC van die uitvoerbare te sluit
  • .
  • veranderinge wat agtertoe compatibiliteit:
  • Neem die adres van 'n voorwerp diskriminant is nou ongeldig.
  • Slaag 'n proc na 'n proc var is slegs toegelaat vir procs gemerk met procvar of 'n roeping konvensie! = Nimcall. Vir nou is dit net veroorsaak dat 'n waarskuwing, maar dit sal verander in 'n fout gou.
  • stelsel. Dat & en system.add ontvang nou openArray plaas van ev parameters.
  • verwyder strutils.findSubStr en strutils.findChars. Hulle is afgekeur vir 3 weergawes.
  • Die unicode module gebruik 'n kenmerkende soort vir TRune.
  • afgekeur strutils.toString: gebruik $ plaas
  • .
  • afgekeur os.splitPath. Gebruik os.splitPath wat gee 'n tal plaas
  • afgekeur os.extractDir. Gebruik splitFile (pad) .dir plaas
  • afgekeur os.splitFilename: gebruik splitFile plaas
  • .
  • afgekeur os.extractFileExt: gebruik splitFile plaas
  • .
  • afgekeur os.extractFileTrunk: gebruik splitFile plaas
  • .
  • afgekeur os.appendFileExt: gebruik os.addFileExt plaas
  • .
  • afgekeur os.executeShellCommand: gebruik os.execShellCmd plaas
  • .
  • afgekeur os.iterOverEnvironment. Gebruik os.envPairs plaas
  • Afgekeurde parseopt.init: gebruik parseopt.initOptParser plaas
  • .
  • afgekeur parseopt.getRestOfCommandLine: gebruik parseopt.cmdLineRest plaas
  • .
  • afgekeur os.pcDirectory: gebruik os.pcDir plaas
  • .
  • afgekeur os.pcLinkToDirectory: gebruik os.pcLinkToDir plaas
  • .
  • afgekeur osproc.executeProcess: gebruik osproc.execProcess plaas
  • .
  • afgekeur osproc.executeCommand: gebruik osproc.execCmd plaas
  • .

Wat is nuut in die weergawe 0.8.0:

  • bugfixes:
  • vaste 'n klein fout wat veroorsaak het dat die vertaler te nie ongebruikte oorlaai simbole rapporteer
  • vaste 'n klein fout met betrekking tot simbool oorlaai
  • vaste 'n tikfout: dit is & quot; dubbelsinnig & quot ;, nie & quot; ambigious & quot; ; -)
  • die samesteller ontdek nou rekursiewe sluit lêers
  • system.card moet weer werk
  • items vir stel [char] en array [char, T] moet nou werk
  • Toevoegings:
  • geïmplementeer generiese tipes en twee fase simbool lookup in generiese roetines
  • sjabloon parameters kan nou ware tipes
  • geïmplementeer algemene rou karkaterkonstantes: ident & quot; ABC & quot; is 'n kortpad vir ident (r & quot; ABC & quot;)
  • in oorlading resolusie iterators is geskei van procs; iterators nou kan dieselfde naam + handtekening soos procs het
  • simbool lookup in templates kan geraak word deur die nuwe bind navraag
  • die samesteller aanvaar nou 'n --no_main skakelaar vir 'n beter skakel interoperabiliteit met ander saamgestel tale
  • geïmplementeer tal pak in var afdelings
  • die kode kragopwekker straal verstek: __assume (0); vir Visual C ++ (vir die optimalisering)
  • die samesteller tjeks nou as 'n proc het newe-effekte; procs wat verklaar is geen newe-effekte te hê, word verwerp as die samesteller kan nie hierdie
  • verifieer
  • die formaat operateur strutils.% Ondersteun nou $ # outomatiese argument tel
  • geïmplementeer strutils.join
  • veranderinge wat agtertoe compatibiliteit:
  • twee fase simbool lookup uitgevoer in generiese roetines
  • bind is nou 'n gereserveerde woord; uitsondering is geen voorbehou woord nie
  • abstrakte tipes is herdoop tot afsonderlike tipes; dus duidelike is nou 'n gereserveerde woord; abstrakte is geen voorbehou woord nie
  • system.openFile afgekeur: gebruik system.open plaas
  • system.closeFile afgekeur: gebruik system.close plaas
  • strutils.replaceStr afgekeur: gebruik strutils.replace plaas
  • strutils.deleteStr afgekeur: gebruik strutils.delete plaas
  • strutils.splitSeq afgekeur: gebruik strutils.split plaas
  • strutils.splitLinesSeq afgekeur: gebruik strutils.splitLines plaas
  • strutils.parseFloat nie meer aanvaar 'n bykomende begin parameter
  • Dokumentasie:
  • die handleiding is verbeter

Wat is nuut in die weergawe 0.7.6:

  • bugfixes:
  • installasie op Windows Vista kan nou werk uit die boks; probeer!
  • Vaste 'n fout wat die & quot gehou; rekursiewe modules & quot; byvoorbeeld van die werk
  • meng met die naam en naamlose parameters in 'n prosedure oproep nou werk
  • oktale getalle met die voorvoegsel 0C is nou behoorlik ondersteun
  • sulke lyste nou kan met negatiewe waardes begin
  • parseInt, ParseBiggestInt nou gooi 'n uitsondering as die string eindig nie nadat die ontleed getal
  • die samesteller hanteer nou top-vlak stellings korrek
  • gegenereer nimcache gids nooit eindig in 'n streep
  • createDir werk nou vir 'n wêreldwye dopgehou onder UNIX (& quot; / pad / hier & quot;)
  • die samesteller voer nou die uitvoerbare met 'n leidende & quot; ./& quot; onder UNIX
  • die samesteller ondersteun nou konstante skikkings van wysers prosedure
  • elif in geval state werk nou
  • iterators behulp van 'n oop verskeidenheid parameter nou werk
  • vaste 'n fout waar in sommige kontekste $ myEnum nie werk nie

Wat is die nuwe in die weergawe 0.7.4:

  • installasie op Windows moet nou werk as die gids bevat ruimtes
  • die dokumentasie generator nou net lewer dokumentasie kommentaar
  • `` `` word toegelaat vir operateurs soos die handleiding sê
  • in seldsame gevalle, die indeks tjek is weg new, selfs al is dit nodig sou gewees het
  • 'n paar foutregstellings vir tal tipes
  • bygevoeg 'n `` unicode`` module vir UTF-8 hantering
  • bygevoeg HOSTOS en hostCPU toordery aan die `` system`` module
  • system.echo nou aanvaar verskeie argumente
  • bygevoeg optimization: in sommige gevalle lining van iterators produseer nou aansienlik beter kode
  • bygevoeg hele program dood kode uitskakeling
  • die magie `` `operateur werk nou vir sulke lyste
  • in `` const`` afdelings gevorderde kompilering evaluering gedoen word
  • herdoop `` in_Operator`` te `` contains``: `` in`` is nou 'n sjabloon wat vertaal na `` contains``
  • verander `` strutils.quoteIfSpaceExists`` te `` strutils.quoteIfContainsWhite``
  • Die ontleder is nou baie meer kieskeurig oor missings kommas, ens As dit beïnvloed jou kode te veel, probeer om jou kode te loop deur die mooi drukker.
  • die `` macros`` API is nie meer deel van die `` system`` module, hierdie API te gebruik jy nou die `` macros`` module
  • in te voer
  • bygevoeg 'n handleiding

Wat is nuut in die weergawe 0.7.2:

  • Dit is 'n bugfix release. Dit belangrikste fix is ​​dat Nimrod weer werk nou op AMD64 (x86_64) verwerkers.
  • Geen nuwe funksies geïmplementeer.

Wat is nuut in die weergawe 0.7.0:

  • verskeie foutherstellings, te veel om hulle lys hier
  • die installasie vir UNIX-gebaseerde stelsels is nie afhanklik van Python langer
  • die `` koch.py`` script werk nou met ouer Python weergawes (insluitend 1.5.2)
  • verander heelgetal bedrywighede en herleiding reëls
  • bygevoeg `` GC_ref`` en `` GC_unref`` procs
  • rye moet nou gebou word met die `` @ `` operateur. Dit lei tot minder teenstrydighede.
  • die samesteller gebruik nou minder geheue en is baie vinniger
  • die GC is nou baie vinniger
  • nuwe bindings: zlib, SDL, Xlib, OpenGL, ODBC, Lua
  • die gegenereerde C-kode is baie vinniger te optimaliseer met GCC
  • nuwe biblioteke: strome, zipfiles
  • die Nimrod samesteller is oorgedra na FreeBSD: dit moet werk op ander BSD se te

Vereistes :

  • Python

Soortgelyke sagteware

Hoc
Hoc

2 Jun 15

ScummVM
ScummVM

17 Feb 15

gears-less
gears-less

20 Feb 15

Enchanting
Enchanting

14 Apr 15

Kommentaar te Nimrod

Kommentaar nie gevind
Kommentaar te lewer
Draai op die foto!