re2c 4.0

Kedden, november 19-én bemutatásra került re2c – a lexikai elemzők generátorát (más néven a reguláris kifejezések fordítóját célprogramozási nyelv kódjára). Az re2c a gyors és könnyen beágyazható lexerek generálására specializálódott. A flex-től eltérően rugalmas interfész, optimalizált táblázat nélküli lexerek generálása és címkézett végállapotú automatákon alapuló részhalmazkivonat támogatásával rendelkezik (TDFA). Az re2c olyan projektekben használatos, ahol fontos a lexer gyorsasága, például a Ninja-ban és a PHP-ban.

A 4.0-s kiadásban alapvetően átdolgozták a kódgeneráló alrendszert, ami lehetővé tette nyolc új nyelv (D, Haskell, Java, JavaScript, OCaml, Python, V, Zig) támogatásának hozzáadását a már támogatottakhoz (C/C++, Go, Rust) mellett, valamint egy általános mechanizmus bevezetését új nyelvek hozzáadására konfigurációs fájlokon keresztül. A kódgenerátor felelős az elkészített és optimalizált végállapotú automata kódra való fordításáért, tehát a feladata, hogy a cél nyelvhez megfelelő vezérlési struktúrákat, adattípusokat, programmodell-t stb. válassza ki. Korábban az összes logika a re2c forráskódjának része volt, és ahhoz, hogy megváltoztassuk, vagy új nyelvet adjunk hozzá, a forráskódot patch-elni és az re2c-t újra kellett fordítani. Az ilyen javításokat nem fogadták el a fő adattárban anélkül, hogy az alapvető példák és tesztek standard készletét megvalósították volna, ami tovább bonyolította az egész folyamatot. Mostantól az összes logika átkerült a szintaktikai fájlokba – szöveges konfigurációs fájlok, amelyeket a felhasználó adhat meg (alapértelmezés szerint az re2c a standardokat használja). Az re2c forráskódja teljes mértékben mentes a konkrét nyelv részleteitől, és kizárólag a szintaktikai fájlokra támaszkodik. A felhasználó részben felülírhatja a meglévő szintaktikai fájlt, vagy az elejétől elkészítheti az újat. Minden hivatalosan támogatott nyelvhez teljes dokumentáció áll rendelkezésre példákkal.

Egyébként magának a szintaktikai fájlok ötlete köszönhető egy megjegyzésnek a LOR-on, amiért köszönet re2c 4.0the_coder.

A kiadás számos egyéb változást is tartalmazott a felhasználói felület egyszerűsítésére, a rögzítő csoportokkal való munka javítására, valamint hozzáadtak egy online környezetet a példák szerkesztéséhez és fordításához: http://re2c.org/playground.

Forrás: linux.org.ru

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster