dhacay sii daayo re2c, dhaliye falanqeeye qaamuus bilaash ah oo loogu talagalay luqadaha C iyo C++. Xusuusnow in re2c uu qoray 1993 Peter Bambulis oo ah koronto-dhaliye tijaabo ah oo falanqeeyayaal qaamuus ah oo aad u dhakhso badan, oo ka duwan koronto-dhaliyeyaasha kale ee xawaaraha koodhka la sameeyay iyo is-dhexgal isticmaale oo aan caadi ahayn oo dabacsan kaasoo u oggolaanaya falanqeeyayaasha inay si fudud oo hufan ugu dhexgalaan koodka jira. saldhig. 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.
Diyaarinta sii deynta ayaa qaadatay ku dhawaad ββhal sano. Inta badan, sida had iyo jeer, waxaa lagu kharash gareeyay horumarinta qaab-dhismeedka iyo qorista
maqaallo"Soo saarida POSIX-hoosaadka waxtarka leh ee NFAΒ«.
Algorithms-yada lagu sifeeyay maqaalka waxaa lagu hirgeliyay maktabadda tijaabada libre2c
(dhisidda maktabadda iyo imtixaannada hawl qabadku si caadi ah ayaa loo curyaamiyay waxaana karti u siinaya ikhtiyaarka habaynta ββenable-libsβ). Maktabadda looguma talagalin inay noqoto mid ku tartanta mashaariicda jira sida RE2, laakiin waa goob cilmi baadhiseed oo lagu horumarinayo kuwa cusub
Algorithms (kaasoo markaa loo isticmaali karo re2c ama mashruucyo kale). Waxa kale oo ay ku habboon tahay marka laga eego dhinaca tijaabada, cabbirka waxqabadka iyo abuurista xidhitaannada luqadaha kale.
Hal-abuurka ugu muhiimsan ee nooca re2c 1.2:
Waxaa lagu daray hab cusub oo la fududeeyay ee lagu hubinayo dhamaadka xogta galinta ("xeer EOF"). Tani, qaabeynta "re2c: eof" ayaa lagu daray,
wuxuu kuu ogolaanayaa inaad doorato dabeecadda terminal,
iyo xeer gaar ah "$", kaas oo kicinaya 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" uu yahay magaca faylka lagu darayo. Re2c waxay ka raadisaa faylasha ku jira hagaha faylka,
iyo sidoo kale liiska waddooyinka la cayimay iyadoo la isticmaalayo ikhtiyaarka "-I".
Faylasha lagu daray waxaa ku jiri kara faylal kale.
Re2c waxay ku siinaysaa faylasha "standard" ee ku jira "ku dar/" 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" doorashooyinka (ama ku habboon
qaabeynta) iyo dardaaranno cusub "/*! madax: re2c: on */" iyo
"/*! madax: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 waxay ku siinaysaa ikhtiyaarka "--input-encoding {ascii | utf8}",
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 re2c blocks in loo isticmaalo qaabka "-r --reuse".
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
addoo isticmaalaya ikhtiyaarka cusub "--location-format {gnu | msvc}". Qaabka GNU waa la soo bandhigay
sida "filename: line:column:", iyo qaabka MSVC oo ah "filename(line, column)".
Habkani waxa uu faa'iido u yeelan karaa dadka IDE-ga jecel.
Xulashada "--verbose" ayaa sidoo kale lagu daray, taas oo muujinaysa 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, doorashada "-F --flex-support" ayaa kuu ogolaatay inaad qorto koodka
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 "/" 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.