Nimrod

Screenshot Software:
Nimrod
Mga detalye ng Software:
Bersyon: 0.9.2
I-upload ang petsa: 20 Feb 15
Nag-develop: Andreas Rumpf
Lisensya: Libre
Katanyagan: 16

Rating: nan/5 (Total Votes: 0)

Nemrod ay isang open source, libre, statically-type, hindi maiwasan programming language na idinisenyo upang suportahan ang mga pamamaraan, bagay na nakatuon, generic at functional na mga estilo ng programming, habang ang natitira mabisa at simple.
Nemrod nagawang abstract syntax puno (AST) bilang bahagi ng pagtutukoy, na nagpapahintulot sa isang malakas na sistema ng macro na maaaring magamit upang lumikha ng mga partikular na wika domain. Ang mga tampok na minana mula sa pagkabulol.
Nagtatampok ang software sa katutubong code generation, koleksyon ng basura, zero-overhead iterators, mga operator user-defineable, mataas datatypes antas, ipunin ang oras pagsusuri, pasulong compability, GTK2, Windows API, binding POSIX API, isang plugable pang-parse ng sistema, ng dokumentasyon generator, at isang Pascal sa Nemrod utility conversion.
Nemrod ay portable, na nangangahulugan na ito ay maaaring tumakbo sa Linux, BSD, Mac OS & nbsp; X & nbsp; at Windows operating system

Ano ang bagong sa paglabas:.

  • Bugfixes:
  • Ang lumang gc hindi kailanman nakolekta tama ang cycle. Nakatakdang ngunit maaari itong magsanhi ng regressions pagganap. Gayunpaman maaari mong i-deactivate ang ikot ng kolektor may GC_disableMarkAndSweep at patakbuhin ito tahasan sa isang naaangkop na oras o hindi sa lahat. Mayroon ding isang bagong gc maaari mong i-activate sa --gc:. MarkAndSweep na walang problemang ito ngunit ito ay mas mabagal sa pangkalahatan at walang mga garantiya realtime
  • ginagawa ngayon cast para sa mga lumulutang na mga uri ng punto ng bitcast gaya ng tinukoy sa manual ng. Ito Pinaghihiwa code na maling ginagamit ng cast i-convert ang iba't ibang mga halaga Lumulutang point.
  • pagganap SCGI module na ito ay lubhang pinabuting, ito ay hindi na i-block sa maraming sabay-sabay na mga kahilingan.
  • Sa kabuuang naayos higit sa 70 mga isyu github at Pinagsama higit sa 60 mga kahilingan sa mga pull.
  • Pagdaragdag Library:
  • Walang ay isang bagong pang-eksperimentong mark at tangayin gc na maaaring maging mas mabilis (o mas mas mabagal) kaysa sa default gc. Paganahin ang may --gc:. MarkAndSweep
  • Added system.onRaise upang suportahan ang kundisyon ng system.
  • Idinagdag system.locals na nagbibigay ng access sa mga lokal ng proc iyon.
  • Idinagdag macros.quote para sa AST quasi-quote sa.
  • Added system.unsafeNew upang suportahan hacky variable na haba bagay.
  • system.fields at suporta system.fieldPairs bagay na masyadong; ginagamit ang mga ito upang lamang tuples suporta.
  • Added system.CurrentSourcePath bumabalik ang buong file na na-system na landas ng kasalukuyang source file.
  • Naglalaman ngayon ang module ng macros napakaraming kapaki-pakinabang helpers para sa pagbuo up abstract syntax puno.
  • Pagbabago nakakaapekto sa paurong compatibility:
  • ibinahagi ay isang keyword na ngayon.
  • hindi na ginagamit sockets.recvLine at asyncio.recvLine, nagdagdag readLine sa halip.
  • Ang paraan indentation ng paghawak sa pang-parse makabuluhang nagbago. Gayunpaman, ito ay nakakaapekto sa napakaliit na (kung mayroon man) tunay na mundo code.
  • Ang expression / pahayag pagkakapare-pareho naipatupad. Muli lamang na ito ay nakakaapekto sa mga kaso na gilid at walang kilala tunay na mundo code.
  • Nagbago ang async interface ng module scgi.
  • WideStrings na ngayon ang basura na nakolekta tulad ng iba pang mga uri ng string.
  • Pagdaragdag Compiler:
  • Ang utos doc2 ay hindi makabuo ng output para sa buong proyekto na ngayon. Gamitin ang bagong --project switch upang paganahin ang pag-uugaling ito.
  • Ang compiler ay maaari na ngayong bigyan ng babala tungkol sa shadow na lokal na variable. Gayunpaman, kailangan ito upang i-on ang sa pamamagitan ng tahasang --warning [ShadowIdent]:. On
  • Sinusuportahan na ngayon ng compiler Ang halos araw-pragma sa isang push pragma.
  • Mga generic na mga converter ay ipinatupad.
  • Nagdagdag ng mataas na mga pang-eksperimentong noforward pragma pagpapagana ng isang espesyal na compilation mode na higit sa lahat ang pangangailangan para sa pasulong na pahayag.
  • Pagdaragdag ng Wika:
  • kaso expression Sinusuportahan na ngayon.
  • Table constructor na ngayon gayahin mas malapit ang syntax ng kaso statement.
  • Nemrod ay maaari na ngayong ipahiwatig ang uri ng pagbabalik ng isang proc mula sa katawan nito.
  • Nagdagdag ng mixin pagpapahayag upang makaapekto simbolo na may-bisang panuntunan sa generics.
  • pagsubaybay Exception ay naidagdag at ang command doc2 annotates posibleng mga pagbubukod para sa iyo.
  • tinukoy ng user effect (& quot; mga tag & quot;). Pagsubaybay ay naidagdag at ang command doc2 annotates posibleng mga tag para sa iyo
  • Mga Uri ng Pwedeng annotation ng mga bagong syntax hindi kawalan tahasang ihayag na ang kawalan ay hindi pinapayagan. Gayunpaman kasalukuyang mga compiler ay gumaganap ng mga advanced na static na tumitingin ng mga ito; sa ngayon ito lang para sa mga layuning dokumentasyon.
  • Ang isang pag-export pahayag ay naidagdag na sa mga wika: Maaari itong magamit para sa pagpapasa ng simbolo upang client module Hindi mo na kailangang i-import dependency isang module ng tahasang
  • .
  • ingagkakargaang labis batay sa ASTs naipatupad.
  • Generics ay suportado na ngayon para sa multi pamamaraan.
  • Mga bagay maaaring i-initialize sa pamamagitan ng isang bagay na constructor na expression.
  • May bagong sintaktik bumuo (;) unifying expression at mga pahayag
  • .
  • Maaari mo na ngayong gamitin mula sa module ng pag-import kawalan kung nais mong i-import ang module ngunit nais na ipatupad ang ganap na kwalipikadong pag-access sa bawat simbolo sa module.

Ano ang bagong sa bersyon 0.8.14:.

  • Fixed isang malubhang katiwalian memory tungkol sa mensahe ng pagpasa
  • Mga Fixed isang malubhang bug ukol sa iba't ibang instantiations ng isang generic na proc.
  • Mga Fixed isang bagong ipinakilala bug kung saan ang isang maling pagbubukod EIO ay itinaas para sa pagtatapos ng file para sa mga tekstong file na hindi nagtatapos sa isang newline.
  • Bugfix c2nim, c2pas: ang --out pagpipilian ay hindi kailanman nagtrabaho nang maayos
  • .
  • Bugfix:. Pagpapasa ng generic na procs hindi kailanman nagtrabaho

  • Pagsusuri
  • Ang ilang higit pang mga bugfixes para sa mga macro at sumulat ng libro-time.
  • tumatagal ngayon gc Ang patungo sa account na interior na pointer sa stack na maaaring ipinakilala sa pamamagitan ng agresibong C optimizers.
  • native allocator Nemrod ni / gc ay gumagana na ngayon sa PowerPC.
  • Maraming iba pang mga bugfixes:. Masyadong maraming upang ilista ang mga ito sa lahat

Ano ang bagong sa bersyon 0.8.6:

  • Bugfixes:
  • Ang pragmas pahiwatig [X]: off at babala [X]: off ngayon gumagana
  • .
  • Ang Paraan ng syntax tawag para sa iterators gumagana muli (para sa x sa lines.split ()).
  • Mga Fixed typo sa removeDir para sa POSIX na humahantong sa isang walang-katapusang Rekursiyon.
  • compiler Ang nagsusuri ngayon na module filename ay wasto mga pantukoy.
  • Walang laman na mga pattern para sa dynlib pragma na ngayon panahon.
  • ibinalik os.parseCmdLine maling resulta para sa sumusunod na whitespace.
  • walang kaugnayan sa paggamit tuple (gamit ang parehong tuple sa at walang mga patlang na may pangalang) ay hindi nagka-crash ang code generator na ngayon.
  • Ang isang mas mahusay na mensahe ng error ay ibinigay kapag ang pag-load ng isang proc sa loob ng isang pabago-bagong Lib nabigo.
  • Pagdaragdag:
  • Idinagdag system.contains para bukas array.
  • Sinusuportahan na ngayon ng ang module ng peg ang paghahanap loop operator @.
  • Grammar / pang-parse: Sad | IND ay pinapayagan bago ng anumang uri ng pagsasara bracket. Ito ay nagbibigay-daan para sa higit pang kakayahang umangkop source code formating.
  • Ginagamit na ngayon compiler Ang isang mag-atas talahanayan para sa simbolo lookup sa loob ng isang magbigkis konteksto. (Tingnan ang manual.html # template para sa mga detalye.)
  • pagtapon & quot; & quot; & quot; ang aking mahaba ang komentong ito & quot; & quot; & quot; ay na-optimize na ngayon ang layo.
  • Bagong --floatChecks: on | off ang switch at pragmas para sa mas mahusay na pag-debug ng mga lumulutang na mga pagpapatakbo ng punto. (Tingnan ang manual.html # paunang natukoy na-lumulutang-point-uri para sa mga detalye.)
  • manu-manong ay napabuti. (Maraming salamat sa Philippe Lhoste!)
  • Pagbabago nakakaapekto sa paurong compatibility:
  • compiler ay hindi laktawan ang hakbang sa pag-link na ngayon kahit na walang mga file ay nagbago.
  • os.splitFile (& quot; .xyz & quot;) ay nagbabalik ngayon (& quot; & quot ;, & quot; .xyz & quot ;, & quot; & quot;) sa halip ng (& quot; & quot ;, & quot; & quot ;, & quot; .xyz & quot; ). Filename na nagsisimula sa isang tuldok ay hinahawakan nang iba.
  • strutils.split (s: string, seps: itakda ang [char]) ay hindi kailanman magbubunga ng mga walang laman na string na ngayon. Pag-uugali na ito ay malamang na mas naaangkop para sa whitespace paghahati ng pang.
  • Humihinto ngayon compiler Ang pagkatapos ng linyang switch --version command.
  • Inalis na suporta para sa enum mana sa pang-parse; enum inheritance ay hindi kailanman na-dokumentado pa rin.
  • Ang msg field ng system.E_base ay mayroon na ngayong ang uri ng string, sa halip na cstring. Ito ay nagpapabuti sa kaligtasan ng memory.

Ano ang bagong sa bersyon 0.8.2:

  • Bugfixes:
  • Pasadong --hint [X]: off o --warning [X]:.-Off ang bilang ng linya ng command argumento sa compiler ay gumagana na ngayon
  • Default na mga parameter para sa mga template na ngayon gumana.
  • Mga Fixed isyu sa seguridad sa system.copy.
  • String kaso na walang iba bahagi nabuo maling code.
  • iba't-ibang mga pag-aayos para sa module ng osproc; Gumagana na ito sa Windows.
  • Pagdaragdag:
  • Ipinatupad multi-pamamaraan.
  • nakita ngayon compiler Ang bilang ng mga magagamit na processors at executes ang C compiler Kasabay. Ito ay maaaring nababagay sa pamamagitan ng ang --parallel_build:. Number_of_processors switch command line
  • -based peg pattern na tumutugma sa pamamagitan ng module na pegs.
  • Added system.definedInScope.
  • Added system.accumulateResult.
  • Added os.walkDirRec.
  • Idinagdag osproc.countProcessors.
  • Added osproc.execProcesses.
  • Sinusuportahan na ngayon ng sistema ng configuration $ cc.options.linker.
  • Pinagsama expr at typeDesc sa grammar / pang-parse:. Na ito ay magbibigay-daan para sa hindi kilalang mga procs walang lambda
  • Marami sa mga script ay walang pangangailangan para sa isang gc: Ang bagong --gc: command line switch none ay maaaring magamit upang ibukod ang gc mula sa executable
  • .
  • Pagbabago nakakaapekto sa paurong compability:
  • Ang pagkuha ng address ng isang bagay discriminant ay hindi wasto ngayon.
  • Pasadong isang proc sa isang proc var ay pinapayagan lamang para sa procs na minarkahan ng procvar o isang convention na pagtawag! = Nimcall. Sa ngayon ito ay nagsasanhi lamang ng isang babala, ngunit ito ay maging isang error sa lalong madaling panahon.
  • system. & At system.add na ngayon ng mga openArray sa halip na seq parameter.
  • Inalis strutils.findSubStr at strutils.findChars. Ito ay hindi na ginagamit para sa 3 bersyon.
  • Ang module Unicode ay gumagamit ng isang natatanging uri para sa TRune.
  • hindi na ginagamit strutils.toString: sa halip ay gumamit $
  • .
  • hindi na ginagamit os.splitPath:. Paggamit os.splitPath na sa halip ay nagbabalik ng tuple
  • hindi na ginagamit os.extractDir:. Gumamit splitFile (landas) .dir sa halip
  • hindi na ginagamit os.splitFilename: sa halip ay gumamit splitFile
  • .
  • hindi na ginagamit os.extractFileExt: sa halip ay gumamit splitFile
  • .
  • hindi na ginagamit os.extractFileTrunk: sa halip ay gumamit splitFile
  • .
  • hindi na ginagamit os.appendFileExt: sa halip ay gumamit os.addFileExt
  • .
  • hindi na ginagamit os.executeShellCommand: sa halip ay gumamit os.execShellCmd
  • .
  • hindi na ginagamit os.iterOverEnvironment:. Paggamit os.envPairs sa halip
  • Pinaliit na parseopt.init: sa halip ay gumamit parseopt.initOptParser
  • .
  • hindi na ginagamit parseopt.getRestOfCommandLine: sa halip ay gumamit parseopt.cmdLineRest
  • .
  • hindi na ginagamit os.pcDirectory: sa halip ay gumamit os.pcDir
  • .
  • hindi na ginagamit os.pcLinkToDirectory: sa halip ay gumamit os.pcLinkToDir
  • .
  • hindi na ginagamit osproc.executeProcess: sa halip ay gumamit osproc.execProcess
  • .
  • hindi na ginagamit osproc.executeCommand: sa halip ay gumamit osproc.execCmd
  • .

Ano ang bagong sa bersyon 0.8.0:

  • Bugfixes:
  • naayos na ang isang maliit na bug na sanhi ng compiler sa hindi-ulat ng hindi nagamit na-overload simbolo
  • naayos na ang isang maliit na bug ukol sa simbolo ingagkakargaang labis
  • naayos ng typo: ikaw ang & quot; hindi maliwanag & quot ;, hindi & quot; ambigious & quot; ; -)
  • nakita ngayon ang compiler recursive isama ang mga file
  • system.card ay dapat na gumana muli
  • item para sa hanay [char] at array [char, T] ay dapat na gumana ngayon
  • Pagdaragdag:
  • ipinatupad generic na mga uri at dalawang yugto simbolo lookup sa mga generic na gawain
  • template parameter ay maaari na ngayong maging tunay na uri
  • ipinatupad pangkalahatan raw string literals: ident & quot; abc & quot; ay isang shortcut para sa ident (r & quot; abc & quot;)
  • sa ingagkakargaang labis iterators resolution ay nakahiwalay mula sa procs; iterators ngayon ay maaaring magkaroon ng parehong pangalan + lagda bilang procs
  • simbolo lookup sa mga template ay maaaring maapektuhan ng mga bagong mag-atas ng keyword
  • ang compiler ay tumatanggap na ngayon ng --no_main switch para sa mas mahusay link interoperability sa iba pang mga wika nangalap
  • ipinatupad tuple unpacking sa seksyon var
  • emits ang code generator default: __assume (0); para sa Visual C ++ (para sa pag-optimize)
  • ang compiler nagsusuri ngayon kung ang isang proc May mga side effect; procs na ipinahayag sa walang mga side effect ay tinanggihan kung hindi ma-verify ang compiler ito
  • ang format ng operator strutils. Sinusuportahan na ngayon ng% $ # para sa awtomatikong nadaragdagan argumento
  • ipinatupad strutils.join
  • Pagbabago nakakaapekto sa paurong compability:
  • dalawang yugto simbolo lookup ay itinanghal sa mga generic na gawain
  • magbigkis ay isang inilaang salita ngayon; pagbubukod ay walang inilaang salita ngayon
  • abstract uri ng na-rename sa natatanging mga uri; kaya natatanging ay isang inilaang salita ngayon; abstract ay walang inilaang salita ngayon
  • system.openFile hindi na ginagamit: paggamit sa halip system.open
  • system.closeFile hindi na ginagamit: paggamit system.close sa halip
  • strutils.replaceStr hindi na ginagamit: paggamit strutils.replace sa halip
  • strutils.deleteStr hindi na ginagamit: paggamit strutils.delete sa halip
  • strutils.splitSeq hindi na ginagamit: paggamit strutils.split sa halip
  • strutils.splitLinesSeq hindi na ginagamit: paggamit strutils.splitLines sa halip
  • strutils.parseFloat Hindi tumatanggap ang nakikita ng karagdagang simula parameter
  • Documentation:
  • manu-manong ang ay na-pinabuting

Ano ang bagong sa bersyon 0.7.6:

  • Bugfixes:
  • pag-install sa Windows Vista ay maaari na ngayong mag-ehersisyo ng kahon; pakisubukan!
  • naayos ng isang bug na iningatan ang & quot; recursive module & quot; Halimbawa mula sa pagtatrabaho
  • paghahalo pinangalanan at walang pangalan na parameter sa isang tawag pamamaraan ngayon ay gumagana
  • mga numero octal na may prefix na 0c ay maayos na suportado ngayon
  • enumerations ngayon ay maaaring magsimula sa mga negatibong mga halaga
  • parseInt, ParseBiggestInt ngayon magtapon ng exception kung ang string ay hindi nagtatapos pagkatapos ng parse number
  • ang compiler ngayon humahawak ng tama ang mga pahayag na top-level na
  • nabuo nimcache direktoryo hindi kailanman nagtatapos sa isang slash
  • createDir ay gumagana na ngayon para sa pandaigdigang mga direktoryo sa ilalim ng UNIX (& quot; / somepath / dito & quot;)
  • ang compiler executes ngayon ang mga maipapatupad na may isang nangungunang & quot; ./& quot; sa ilalim ng UNIX
  • Sinusuportahan na ngayon ng mga compiler pare-pareho array ng mga payo pamamaraan
  • elif sa mga pahayag kaso ay gumagana na ngayon
  • iterators gamit ang isang bukas na parameter ng array ngayon gumagana
  • naayos ng isang bug kung saan sa ilang mga konteksto $ myEnum Hindi gumana

Ano ang bagong sa bersyon 0.7.4:

  • pag-install sa Windows ay dapat na gumana ngayon kung ang direktoryo ay naglalaman ng mga puwang
  • ang mga babasahin generator ngayon ay nag-render lamang dokumentasyon komento
  • `` `` ang pinapayagan para sa operator tulad ng mga manu-manong ang sabi ni
  • sa mga bihirang kaso, index check ang na-optimize ang layo, kahit na ito ay naging kinakailangan
  • ilang mga bug mga pag-aayos para sa uri tuple
  • may idinagdag na `` unicode`` module para sa UTF-8 sa paghawak
  • idinagdag hostOS at hostCPU magics sa `` system`` module
  • tumatanggap ngayon system.echo maramihang mga argumento
  • idinagdag sa pag-optimize: sa ilang mga kaso inlining ng iterators gumagawa ngayon sa kalahatan mas mahusay code
  • idinagdag patay code aalis buong programa
  • ang magic `` `gumagana na ngayon na operator para enumerations
  • sa `` const`` mga seksyon ng mga advanced na ipunin ang oras pagsusuri ay tapos na
  • Pinalitan ang pangalan ng `` in_Operator`` sa `` contains``: `` in`` ay ngayon ng isang template na nagta-translate sa `` contains``
  • Nagbago ang `` strutils.quoteIfSpaceExists`` sa `` strutils.quoteIfContainsWhite``
  • ang pang-parse ngayon ay mas picky tungkol sa missings kuwit, atbp Kung ito ay nakakaapekto sa iyong code ng masyadong maraming, subukang patakbuhin ang iyong code sa pamamagitan ng kaakit-akit na printer.
  • ang `` macros`` API ay hindi na bahagi ng `` system`` module, gamitin ang API na ito mayroon kang ngayon upang mag-import ng `` macros`` module
  • nagdagdag ng isang tutorial

Ano ang bagong sa bersyon 0.7.2:

  • Ito ay isang bugfix release. Ang pinaka-mahalagang pag-aayos ay ang Nemrod gumagana na ngayon na muli sa AMD64 (x86_64) processor.
  • Walang mga bagong tampok ay ipinatupad.

Ano ang bagong sa bersyon 0.7.0:

  • iba't-ibang mga pag-aayos ng bug, masyadong maraming upang ilista ang mga ito dito
  • ang pag-install para sa mga system na batay sa UNIX ay hindi nakasalalay sa anumang Python na
  • Gumagana na ang `` koch.py`` script na may mas lumang bersyon Python (kabilang 1.5.2)
  • Nagbago ang integer pagpapatakbo at tuntunin conversion
  • idinagdag `` GC_ref`` at `` GC_unref`` procs

  • Kailangan ngayon
  • -sunod na itinayo sa `` `@` operator. Ito ay humantong sa mas ambiguities.
  • Ginagamit na ngayon ang compiler mas mababa memory at mas mabilis
  • ang gc ngayon ay mas mabilis
  • bagong binding: zlib, SDL, Xlib, OpenGL, ODBC, Lua
  • ang nabuong C code ay mas mabilis na i-optimize sa GCC
  • bagong library: stream, zipfiles
  • ang Nemrod compiler ay nai-port sa FreeBSD: ito ay dapat gumana sa masyadong
  • iba pang mga BSD ni

Mga Kinakailangan :

  • Python

Katulad na software

Pyexpander
Pyexpander

20 Feb 15

Python
Python

22 Jun 18

X11-Basic
X11-Basic

20 Feb 15

Mga komento sa Nimrod

Mga Komento hindi natagpuan
Magdagdag ng komento
I-sa mga imahe!