re2c 2.0

Op moandei 20 july waard re2c, in rappe leksikale analyzergenerator, frijlitten.
Grutte feroaringen:

  • Go taalstipe tafoege
    (ynskeakele troch de --lang go opsje foar re2c, of as in apart re2go programma).
    Dokumintaasje foar C en Go wurdt oanmakke út deselde tekst, mar mei ferskillende
    koade foarbylden. De koade generaasje subsysteem yn re2c is folslein opnij ûntwurpen, dy't
    moat it makliker meitsje om nije talen yn 'e takomst te stypjen.

  • In alternatyf bousysteem tafoege foar CMake (tank ligfx!)
    Pogingen om re2c oer te setten nei CMake binne al lang dien, mar foar ligfx is nimmen
    in folsleine oplossing oanbean.
    It âlde bousysteem op Autotools bliuwt stipe en brûkt,
    en yn 'e foargeande takomst binne d'r gjin plannen om it te ferlitten (foar in part om net te meitsjen
    problemen foar distribúsjeûntwikkelders, foar in part om't it âlde bouwsysteem
    stabiler en koarter dan de nije).
    Beide systemen wurde kontinu hifke mei Travis CI.

  • De mooglikheid tafoege om ynterfacekoade yn te stellen yn konfiguraasjes by it brûken
    generyske API. Eartiids moasten de measte API's yn 'e foarm oantsjutte wurde
    funksjes of funksje makros. No kinne se wurde oantsjutte yn 'e foarm fan willekeurich
    rigels mei neamde sjabloanparameters lykas @@{name} of gewoan @@ (as
    d'r is mar ien parameter en d'r is gjin dûbelsinnigens). De API-styl wurdt oantsjutte troch de konfiguraasje
    re2c:api:styl (de funksjeswearde spesifisearret in funksjonele styl, en frije foarm spesifisearret in willekeurige styl).

  • De wurking fan de opsje -c, --start-betingsten is ferbettere, wêrtroch jo ferskate kinne kombinearje
    interconnected lexers yn ien re2c blok. No kinne jo brûke
    reguliere blokken tegearre mei betingsten en spesifisearje ferskate net-relatearre betingsten
    blokken yn ien triem.
    Ferbettere wurking fan de -r, --reuse opsje (wergebrûk fan koade út ien blok
    yn oare blokken) yn kombinaasje mei de -c, --start-betingsten en -f, --storable-state opsjes
    (in steatlike lexer dy't op elk punt kin wurde ûnderbrutsen
    en letter útfiere fierder).

  • In brek reparearre yn it koartlyn tafoege ein-fan-ynput-algoritme
    (EOF-regel), dy't yn seldsume gefallen liede ta ferkearde ferwurking
    oerlappende regels.

  • It bootstrapproses is ferienfâldige. Earder besocht it bousysteem al dynamysk te finen
    in re2c-build dy't koe wurde brûkt om himsels wer op te bouwen.
    Dit resultearre yn ferkearde ôfhinklikens (sûnt de ôfhinklikensgrafyk wie
    dynamysk, wat de measte bouwsystemen net leuk fine).
    No, om lexers opnij op te bouwen, moatte jo eksplisyt
    konfigurearje it bousysteem en set de fariabele RE2C_FOR_BUILD yn.

Tank oan elkenien dy't meidien hat oan 'e tarieding fan dizze release!

Boarne: linux.org.ru

Add a comment