re2c 2.0

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

Add a comment