Lunedì 20 di lugliu, a liberazione di re2c, un generatore di analizatore lessicale veloce, hè stata liberata.
I cambiamenti principali:
-
Aggiuntu supportu per a lingua Go
(attivatu o cù l'opzione --lang go per re2c, o cum'è un prugramma re2go standalone).
A ducumentazione per C è Go hè generata da u stessu testu, ma cù sfarenti
esempi di codice. U sottosistema di generazione di codice in re2c hè statu completamente riprogettatu, chì
duverebbe fà più faciule per sustene e lingue novi in u futuru. -
Aggiuntu un sistema di costruzione alternativu nantu à CMake (grazie ligfx!).
I tentativi di traduce re2c à CMake sò stati fatti per un bellu pezzu, ma prima di ligfx nimu.
offri una suluzione cumpleta.
U vechju sistema di custruzzione nantu à Autotools cuntinueghja à esse supportatu è utilizatu,
è in u futuru prevedibile ùn ci sò micca piani di abbandunà (in parte per ùn creà
prublemi per i sviluppatori di distribuzione, in parte perchè u vechju sistema di custruzzione
più stabile è cuncisu cà u novu).
I dui sistemi sò ugualmente testati continuamente cù Travis CI. -
Aggiunta a capacità di stabilisce u codice di l'interfaccia in cunfigurazioni quandu si usa
API generica (API generica). Nanzu, a maiò parte di l'API anu da esse specificate in a forma
funzioni o macros di funzione. Avà ponu esse stabilitu in a forma di arbitraria
strings cù paràmetri di mudellu chjamatu di a forma @@{name} o solu @@ (se
ci hè solu un paràmetru è ùn ci hè micca ambiguità). Stile API hè configurabile
re2c:api:style (u valore di e funzioni specifica u stile funziunale, mentri u valore di forma libera hè arbitrariu). -
Funzionamentu migliuratu di l'opzione -c, --start-conditions, chì permette di cumminà parechji
lexers interconnessi in un bloccu re2c. Avà pudete aduprà
blocchi ordinariu à u paru cù quelli cundiziunali è stabilisce parechji cundiziunali senza relazione
blocchi in un schedariu.
Opzioni -r, --reuse migliorate (riutilizazione di codice da un bloccu
in altri blocchi) in combinazione cù l'opzioni -c, --start-conditions è -f, --storable-state.
(un lexer stateful chì pò esse interrotta in un locu arbitrariu
è cuntinuà l'esecuzione dopu). -
Fixed un bug in l'algoritmu di novu aghjuntu per trattà a fine di i dati di input
(Regula EOF), chì in casi rari hà purtatu à un trattamentu incorrectu
regule sovrapposte. -
Prucessu di bootstrap simplificatu. Nanzu, u sistema di custruzione hà pruvatu à truvà dinamicamente digià
custruitu re2c chì puderia esse usatu per ricustruisce stessu.
Questu hà purtatu à dipendenze sbagliate (perchè u graficu di a dependenza hè diventatu
dinamica, chì a maiò parte di i sistemi di custruzzione ùn piace micca).
Avà, per ricustruisce i lexers, hè necessariu esplicitamente
cunfigurà u sistema di custruzzione è stabilisce a variabile RE2C_FOR_BUILD.
Grazie à tutti quelli chì anu cuntribuitu à sta liberazione!
Source: linux.org.ru