0xDEADBEEF

[RSS]
««« »»»

Rust a parsery

15. 9. 2017

Možná bych měl dát Rustu druhou šanci. Když jsem ho před ně­ja­kou dobou zkou­šel, něco mi na něm ne­se­dělo a místo toho jsem začal ex­pe­ri­men­to­vat s D. Po­slední dobou ale stále čas­těji slyším po­zi­tivní ohlasy na Rust a jeho slibný systém vlast­nic­tví ob­jektů.

Za­jí­mavý pří­klad sil­ných strá­nek jazyka je Nom, a byte ori­en­ted, stre­a­ming, zero copy, parser com­bi­na­tors lib­rary in Rust. Jak název na­po­vídá, jde o efek­tivní kni­hovnu parser kom­bi­ná­torů na­psa­nou v Rustu. Na jednu stranu po­sky­tuje vy­so­ko­úrov­ňové a skoro-de­kla­ra­tivní API parser kom­bi­ná­torů (parser vzniká kom­po­zicí men­ších par­serů za pomocí růz­ných kom­bi­ná­torů), na druhou stranu nabízí na­tivní rych­lost (Rust kom­pi­lá­tor po­u­žívá LLVM jako back end), ne­ko­pí­ruje paměť a přitom je bez­pečný. Rust ne­po­volí získat poin­ter do ne­plat­ného bu­f­feru, všechno po­hlídá systém vlast­nic­tví ob­jektů.

Re­le­vantní čtení:

píše k47 (@kaja47, k47)