MĂ« 20 korrik, tĂ« hĂ«nĂ«n, doli versioni i re2c â njĂ« gjenerator pĂ«r analizatorĂ« leksikĂ« tĂ« shpejtĂ«.
Ndryshimet kryesore:
Shtuar mbështetje për gjuhën Go
(aktivizohet ose me opsionin âlang go pĂ«r re2c, ose si njĂ« program tĂ« veçantĂ« re2go).
Dokumentacioni për C dhe Go gjenerohet nga i njëjti tekst, por me shembuj të ndryshëm
të kodit. E gjithë nën-sistemi i gjenerimit të kodit në re2c është ribërë, që
duhet të lehtësojë mbështetje për gjuhë të reja në të ardhmen.-
Përpjekjet për të përkthyer re2c në CMake janë bërë prej kohësh, por askush deri te ligfx nuk ka
propozuar një zgjidhje të plotë.
Sistemi i vjetër i ndërtimit në Autotools vazhdon të mbështetet dhe përdoret,
dhe në të ardhmen e afërt nuk ka plane për t'u hequr (pjesërisht për të mos krijuar
probleme për zhvilluesit e distribucioneve, pjesërisht sepse sistemi i vjetër i ndërtimit
është më i qëndrueshëm dhe më i qartë se i ri).
Të dy sistemet testohen vazhdimisht me anë të Travis CI. Shtuar mundësia e caktimit të kodit të ndërfaqes në konfigurimet kur përdoret
APIs e përgjithshme (generic API). Më parë shumica e API-ve duhej të caktuan në formën
e funksioneve ose makros funksionale. Tani mund t'i caktosh në formën e vargjeve të zakonshme
me parametra template të emëruar si @@{name} ose thjesht @@ (nëse
parametri është një dhe nuk ka ambiguitet). Stili i API-së përcaktohet nga konfigurimi
re2c:api:style (vlera functions pĂ«rcakton stilin funksional, ndĂ«rsa free-form â tĂ« lirĂ«).PĂ«rmirĂ«suar funksionimin e opsionit -c, âstart-conditions, qĂ« lejon tĂ« kombinohen disa
lexer të lidhur në një bllok re2c. Tani mund të përdoren
blloqe të zakonshme në përputhje me kushtore dhe të caktosh disa blloqe kushtore të pa lidhura
në një skedar.
PĂ«rmirĂ«suar funksionimin e opsionit -r, âreuse (rindarjen e kodit nga njĂ« bllok
nĂ« blloqe tĂ« tjera) nĂ« kombinim me opsionet -c, âstart-conditions dhe -f, âstorable-state
(lexer me gjendje të ruajtur, e cila mund të ndërpritet në ndonjë vend
dhe të vazhdojë më vonë).Rregulluar një gabim në algoritmin e sapo shtuar për përpunimin e fundit të të dhënave
(EOF rule), i cili në raste të ralla çonte në përpunim të gabuar
të rregullave të mbivendosura.Procesi i bootstrap-it është thjeshtuar. Më parë sistemi i ndërtimit përpiqej të gjejë dinamikisht
re2c të ndërtuar, që mund të përdorej për rindërtimin e vet vetes.
Kjo çojë në varësi të gabuara (pasi grafiku i varësive ishte
dinamik, gjë që shumica e sistemeve të ndërtimit nuk e pëlqejnë).
Tani, për të rindërtuar leksierët, është kërkuar në mënyrë të qartë
të konfigurohet sistemi i ndërtimit dhe të vendoset variabla RE2C_FOR_BUILD.
Faleminderit të gjithëve që morën pjesë në përgatitjen e këtij lëshimi!
Burimi: linux.org.ru
