A ranar Juma'a, 2 ga Agusta, re2c, mai samar da kyauta na masu nazarin lexical don harsunan C da C++, an fito da su. A matsayin tunatarwa, an rubuta re2c a cikin 1993 ta hanyar Peter Bamboulis a matsayin janareta na gwaji na masu nazari na lexical mai sauri, wanda aka bambanta da sauran janareta ta hanyar saurin lambar da aka ƙirƙira da ƙirar mai amfani da ba ta dace ba wanda ke ba da damar masu nazari su kasance cikin sauƙi da inganci a saka su cikin data kasance tushe tushe. Tun daga wannan lokacin, al'umma ne suka samar da aikin kuma ya ci gaba da kasancewa dandalin gwaje-gwaje da bincike a fannin nahawu da na'urori masu iyaka.
Babban sabbin abubuwa a cikin sigar 1.2:
An ƙara sabuwar hanya (a sauƙaƙe) don bincika ƙarshen bayanan shigarwa
(Turanci "Dokar EOF").
Don wannan, an ƙara ƙirar re2c: eof,
yana ba ka damar zaɓar hali na ƙarshe,
da wata doka ta musamman ta $ wacce za ta ƙone idan mai karantarwa
cikin nasara ya kai ƙarshen bayanan shigar.
A tarihi, re2c yana ba da zaɓi na hanyoyin tabbatarwa da yawa don
ƙarshen abubuwan shigar da suka bambanta cikin iyakancewa, inganci da sauƙi
aikace-aikace. An tsara sabuwar hanyar don sauƙaƙe lambar rubutu, yayin da
yayin da ya kasance mai tasiri kuma ya dace. Tsofaffin hanyoyin
har yanzu yana aiki kuma ana iya fifita shi a wasu lokuta.
Ƙara ikon haɗa fayilolin waje ta amfani da umarni
/*! hada da:re2c "file.re" */ inda file.re
wannan shine sunan fayil ɗin haɗawa. Re2c yana neman fayiloli a ciki har da directory fayil,
haka kuma a cikin jerin hanyoyin da aka ƙayyade ta amfani da zaɓin -I.
Fayilolin da aka haɗa suna iya haɗawa da wasu fayiloli.
Re2c yana ba da fayilolin "misali" a cikin haɗa/ directory
aikin - ana sa ran cewa ma'anoni masu amfani zasu tara a can
maganganu na yau da kullum, wani abu kamar ɗakin karatu na yau da kullum.
Ya zuwa yanzu, bisa buƙatar ma'aikata, an ƙara fayil ɗaya mai ma'anar nau'ikan Unicode.
Ƙara ikon samar da fayilolin kai tare da sabani
abun ciki ta amfani da zaɓin -t --type-header (ko dace
daidaitawa) da sabbin umarni /*! header:re2c:on*/ da
/*! kai:re2c: kashe*/. Wannan na iya zama da amfani a lokuta inda
lokacin da re2c yana buƙatar samar da ma'anar masu canji, sifofi da macros,
ana amfani da shi a cikin wasu sassan fassarar.
Re2c yanzu ya fahimci ainihin UTF8 da azuzuwan halaye a cikin maganganun yau da kullun.
Ta hanyar tsohuwa, re2c yana fassara kalmomi kamar "∀x∃y" kamar.
jerin haruffa 1-bit ASCII e2 88 80 78 20 e2 88 83 79
(lambobin hex), kuma masu amfani dole ne su tsere wa haruffa Unicode da hannu:
"U2200x u2203y". Wannan yana da matukar damuwa kuma ba zato ba tsammani ga mutane da yawa
masu amfani (kamar yadda rahotannin bugu akai-akai suka tabbatar). Don haka yanzu
re2c yana ba da zaɓi --input-encoding ,
wanda ke ba ku damar canza hali kuma ku rarraba "∀x ∃y" kamar
2200 78 20 2203 79.
Re2c yanzu yana ba da damar amfani da tubalan re2c na yau da kullun a cikin -r --sake amfani da yanayin.
Wannan ya dace idan fayil ɗin shigarwa ya ƙunshi tubalan da yawa kuma kawai wasu daga cikinsu
yana buƙatar sake amfani da shi.
Yanzu zaku iya saita tsarin faɗakarwa da saƙon kuskure
ta amfani da sabon zaɓin --location-format . Ana nuna tsarin GNU
as filename:line:column:, da kuma tsarin MSVC a matsayin filename (layi, shafi).
Wannan fasalin yana iya zama da amfani ga masu son IDE.
An kuma ƙara zaɓin --verbose, wanda ke buga ɗan gajeren saƙon nasara idan an yi nasara.
An inganta yanayin "daidaituwa" tare da sassauƙa - an gyara wasu kurakuran bincike kuma
gabanin ma'aikaci ba daidai ba a lokuta da ba kasafai ba.
A tarihi, zaɓin -F --flex-support ya ba ka damar rubuta lamba
gauraye cikin salo mai sassauƙa da salon re2c, wanda ke sa yin nazari da ɗan wahala.
Yanayin dacewa ba a cika yin amfani da shi ba a sabuwar lamba,
amma re2c ya ci gaba da tallafa masa don dacewa da baya.
Mai aiki da ragi na ajin halin yanzu yana aiki
kafin faɗaɗa ɓoyayyen ɓoye, wanda ke ba da damar yin amfani da shi a cikin mafi yawan lokuta,
idan aka yi amfani da rikodin tsawon tsayin haruffa (misali UTF8).
Fayil ɗin fitarwa yanzu an ƙirƙira shi ta atomatik: re2c yana fara ƙirƙirar fayil na wucin gadi
kuma ya rubuta sakamakon a ciki, sannan ya sake suna fayil ɗin wucin gadi zuwa fitarwa
aiki daya.
Daga ra'ayin masu haɓakawa, re2c ya sami ƙarin tsarin tsarin ƙasa
gyara kurakurai An kashe lambar cire kuskure a cikin ginin saki da
za a iya kunna ta amfani da zaɓin daidaitawa --enable-debug.
Wannan sakin ya ɗauki lokaci mai tsawo - kusan shekara guda.
Yawancin lokaci, kamar yadda aka saba, an kashe shi don haɓaka tsarin ka'idar da rubutu
labarai "Ingantacciyar Haɓakar Matsalolin POSIX akan NFA".
Algorithms da aka bayyana a cikin labarin ana aiwatar da su a cikin ɗakin karatu na gwaji libre2c
(an hana gina ɗakin karatu da maƙamai ta tsohuwa kuma zaɓin daidaitawa yana kunna shi
--enable-libs). Ba a ɗaukar ɗakin ɗakin karatu a matsayin mai fafatawa ga wanzuwar
ayyuka kamar RE2, amma a matsayin dandalin bincike don bunkasa sababbin
algorithms (wanda za'a iya amfani dashi a cikin re2c ko a wasu ayyukan).
Hakanan ya dace daga ra'ayi na gwaji, alamomi da ƙirƙirar ɗaure zuwa wasu harsuna.
Godiya daga masu haɓaka re2c ga duk wanda ya taimaka wannan sakin ya faru,
kuma ga al'umma gabaɗaya don ra'ayoyi, rahotannin kwari, faci, ɗabi'a, da sauransu. ;]