Jimcihii, Agoosto 2, ayaa la sii daayay re2c, soo-saare bilaash ah oo falanqeeyayaal qaamuus ah oo loogu talagalay luqadaha C iyo C++. Re2c waxaa qoray 1993 Peter Bamboulis oo ah koronto-dhaliye tijaabo ah oo falanqeeyayaal qaamuus ah oo aad u dhakhso badan, oo laga soocay koronto-dhaliyeyaasha kale xawaaraha koodhka la soo saaray iyo is-dhexgal isticmaale oo aan caadi ahayn oo dabacsan kaas oo u oggolaanaya falanqeeyayaasha inay si fudud oo hufan ugu dhejiyaan saldhigga code ee jira. Tan iyo markaas, mashruuca waxaa soo saaray bulshada oo wuxuu sii wadaa inuu noqdo madal lagu tijaabiyo iyo cilmi baarista berrinka naxwaha rasmiga ah iyo mishiinnada gobolka.
Hal-abuurka ugu muhiimsan ee nooca 1.2:
Waxaa lagu daray hab cusub (la fududeeyay) oo lagu hubinayo dhammaadka xogta gelinta
(Ingiriisi "xeer EOF").
Tan awgeed, re2c: qaabeynta eof ayaa lagu daray,
wuxuu kuu ogolaanayaa inaad doorato dabeecadda terminal,
iyo qaanuun gaar ah oo $ ah oo dabka ka qaada haddii lexeruhu
si guul leh u gaadhay dhamaadka xogta galinta
Taariikh ahaan, re2c waxay ku siinaysaa doorasho dhowr habab oo xaqiijin ah
dhammaadka wax-soo-gelinta oo ku kala duwan xaddidnaanta, hufnaanta iyo fududaanta
codsiyada. Habka cusub waxaa loogu talagalay in lagu fududeeyo koodka qoraalka, halka
iyadoo ay sii ahaanayso mid waxtar leh oo si ballaaran loo dabaqi karo. Hababka hore
weli shaqeeya waxaana laga yaabaa in la door bidayo xaaladaha qaarkood.
Lagu daray awoodda lagu daro faylalka dibadda iyadoo la adeegsanayo dardaaran
/*!include:re2c "file.re" */ meesha file.re
kani waa magaca faylka lagu daro. Re2c waxay ka raadisaa faylasha ku jira hagaha faylka,
iyo sidoo kale liiska waddooyinka lagu cayimay iyadoo la isticmaalayo ikhtiyaarka -I.
Faylasha lagu daray waxaa ku jiri kara faylal kale.
Re2c waxay ku siinaysaa faylasha "standard" ee ku jira/tusaha
mashruuc - waxaa la filayaa in qeexitaanno waxtar leh ay halkaas ku urursan doonaan
tibaaxaha caadiga ah, wax la mid ah maktabadda caadiga ah.
Ilaa hadda, codsiga shaqaalaha, hal fayl oo leh qeexitaannada qaybaha Unicode ayaa lagu daray.
Waxaa lagu daray awoodda lagu soo saari karo faylalka madaxa oo aan sabab lahayn
nuxurka isticmaalaya -t --type-header optional (ama ku haboon
qaabeynta) iyo dardaaranno cusub /*! madax: re2c: on */ iyo
/*!madaxa:re2c:off*/. Tani waxay faa'iido u yeelan kartaa kiisaska
marka re2c u baahan yahay inuu abuuro qeexitaanno doorsoomayaal, qaab-dhismeedka iyo macros,
loo isticmaalo qaybaha kale ee turjumaada.
Re2c waxay hadda fahantay suugaanta UTF8 iyo fasallada jilayaasha ee tibaaxaha caadiga ah.
Sida caadiga ah, re2c waxa ay kala saartaa tibaaxaha sida "βxβy" sida.
taxanaha 1-bit ASCII jilayaasha e2 88 80 78 20 e2 88 83 79
( codes hex), isticmaalayaashuna waa inay ka baxsadaan jilayaasha Unicode iyagoo gacanta ku haya:
"U2200x u2203y". Tani waa mid aan ku habboonayn oo lama filaan ah qaar badan
isticmaalayaasha (sida lagu caddeeyey warbixinnada cayayaanka joogtada ah). Haddaba hadda
re2c waxa ay bixisaa --input-encoding doorasho ,
Kaas oo kuu ogolaanaya inaad beddesho hab-dhaqanka oo aad u kala saartid "βx βy" sida
2200 78 20 2203 79.
Re2c hadda waxay ogolaataa isticmaalka baloogyada re2c ee caadiga ah ee -r --reuse mode.
Tani way ku habboon tahay haddii feylka gelinta uu ka kooban yahay baloogyo badan oo kaliya qaar ka mid ah
u baahan in dib loo isticmaalo.
Hadda waxaad dejin kartaa qaabka digniinaha iyo fariimaha khaladka ah
adigoo isticmaalaya qaabka cusub --location-format option . Qaabka GNU waa la soo bandhigay
sida filename:line:column:, iyo qaabka MSVC sida filename (line, column).
Habkani waxa uu faa'iido u yeelan karaa dadka IDE-ga jecel.
A --doorashada hadalka ayaa sidoo kale lagu daray, kaas oo daabaca fariin gaaban oo guul ah haddii lagu guuleysto.
Habka "waafaqsanaanta" ee leh dabacsanaan waa la hagaajiyay - khaladaadka falanqaynta qaarkood ayaa la hagaajiyay iyo
ka horayntii hawlwadeenka khaladka ah marar dhif ah.
Taariikh ahaan, -F --flex-support option ayaa kuu ogolaatay inaad qorto kood
isku dhafan qaab flex ah iyo qaabka re2c, taas oo ka dhigaysa falanqaynta wax yar adag.
Habka ku habboonaanta Flex si dhif ah ayaa loogu isticmaalaa kood cusub,
laakiin re2c waxay sii wadaysaa inay ku taageerto iswaafajinta gadaal.
Hawlwadeenka kala-goynta fasalka dabeecadda / hadda waa la dabaqaa
ka hor inta aan la ballaarin codeynta, taas oo u oggolaanaysa in loo isticmaalo tiro badan oo kiisas ah,
haddii codaynta dhererka xarfaha doorsoomay la isticmaalo (tusaale UTF8).
Faylka wax soo saarka hadda waxaa loo abuuray atomically: re2c wuxuu marka hore abuuraa fayl ku meel gaar ah
oo u qoraa natiijada, ka dibna u beddelo faylka ku meel gaadhka ah ee soo saarista
hal qalliin.