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