Lendi 20 jiyè a, re2c, yon jeneratè analizeur leksikal rapid, te lage.
Chanjman prensipal yo:
-
Te ajoute sipò lang Go
(pèmèt swa pa opsyon --lang go pou re2c, oswa kòm yon pwogram re2go separe).
Dokimantasyon pou C and Go pwodwi apati tèks la menm, men ak diferan
egzanp kòd. Sou-sistèm jenerasyon kòd nan re2c te konplètman reamenaje, ki
ta dwe fè li pi fasil sipòte nouvo lang nan lavni. -
Te ajoute yon sistèm konstriksyon altènatif pou CMake (mèsi ligfx!).
Eseye pou tradui re2c nan CMake yo te fè pou yon tan long, men anvan ligfx pa gen moun.
ofri yon solisyon konplè.
Ansyen sistèm bati sou Autotools ap kontinye sipòte ak itilize,
ak nan fiti prévisible pa gen okenn plan yo abandone li (an pati pou yo pa kreye
pwoblèm pou devlopè distribisyon, an pati paske ansyen sistèm nan bati
pi estab ak pi kout pase nouvo a).
Tou de sistèm yo kontinyèlman teste lè l sèvi avèk Travis CI. -
Te ajoute kapasite nan mete kòd koòdone nan konfigirasyon lè w ap itilize
jenerik API. Anvan sa, pifò API yo te dwe espesifye nan fòm lan
fonksyon oswa makro fonksyon. Koulye a, yo ka espesifye nan fòm lan nan abitrè
liy ak paramèt modèl yo rele tankou @@{non} oswa jis @@ (si
gen yon sèl paramèt epi pa gen okenn anbigwite). Style API a espesifye pa konfigirasyon an
re2c:api:style (valè fonksyon yo espesifye yon style fonksyonèl, ak fòm gratis espesifye yon style abitrè). -
Operasyon an nan opsyon -c, --start-conditions yo te amelyore, ki pèmèt ou konbine plizyè
leksè entèkonekte nan yon sèl blòk re2c. Koulye a, ou ka itilize
blòk regilye ansanm ak kondisyonèl yo epi presize plizyè kondisyonèl ki pa gen rapò
blòk nan yon sèl dosye.
Amelyore operasyon opsyon -r, --reuse (reitilizasyon kòd ki soti nan yon blòk
nan lòt blòk) an konbinezon ak -c, --start-conditions ak -f, --storable-state opsyon
(yon lexer eta ki ka entèwonp nan nenpòt ki pwen
epi kontinye egzekisyon pita). -
Fikse yon ensèk nan algorithm nan fen-of-input ki fèk ajoute
(règ EOF), ki nan ka ki ra mennen nan pwosesis kòrèk
règ sipèpoze. -
Pwosesis bootstrap la te senplifye. Précédemment, sistèm nan bati te eseye dinamik jwenn deja
yon re2c bati ki ta ka itilize pou rebati tèt li.
Sa a te lakòz depandans kòrèk (depi graf depandans la te
dinamik, ki pi fò sistèm bati pa renmen).
Koulye a, pou rebati lexers, ou bezwen klèman
konfigirasyon sistèm konstriksyon an epi mete varyab RE2C_FOR_BUILD la.
Mèsi ak tout moun ki te patisipe nan preparasyon pou lage sa a!
Sous: linux.org.ru