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.

  • Dukumeentigii waa la dhammaystiray oo dib loo qoray; gaar ahaan kuwa cusub ayaa lagu soo kordhiyey
    cutubyada ku saabsan buuxinta kaydka
    ΠΈ ku saabsan siyaabaha loo hubiyo dhammaadka xogta gelinta.
    Dukumeentiga cusub waxaa lagu soo ururiyay foomka
    buug-gacmeed dhamaystiran oo hal bog ah
    oo wata tusaalooyin (ilaa isku mid ah ayaa lagu sameeyay manpage-ka iyo dukumeenti online-ka ah).
    Isku dayo liidata ayaa la sameeyay si loo hagaajiyo akhrinta goobta ee taleefannada.

  • Marka laga eego aragtida horumariyeyaasha, re2c waxay heshay nidaam hoose oo dhammaystiran
    qaladka Koodhka qaladka hadda waa naafo marka la dhisayo iyo
    waxa lagu hawlgelin karaa iyada oo la adeegsanayo xulashada qaabaynta --enable-debug.

Siideyntani waxay qaadatay waqti dheer - ku dhawaad ​​​​hal sano.
Inta badan, sida had iyo jeer, waxaa lagu kharash gareeyay horumarinta qaab-dhismeedka iyo qorista
qodobbada "Soosaar-hoosaadka POSIX ee waxtarka leh ee NFA".
Algorithms-yada lagu sifeeyay maqaalka waxaa lagu hirgeliyay maktabadda tijaabada libre2c
(dhisidda maktabadda iyo bartilmaameedyada waa naafo si caadi ah waxaana karti u leh xulashada qaabeynta
--anable-libs). Maktabadda looma fikirin inay tahay mid la tartamaysa
mashaariicda sida RE2, laakiin sida madal cilmi horumarinta cusub
Algorithms (kaasoo markaa loo isticmaali karo re2c ama mashruucyo kale).
Waxa kale oo ay ku habboon tahay marka laga eego aragtida imtixaanka, bartilmaameedyada iyo abuurista xidhitaanka luqadaha kale.

Waad ku mahadsan tahay horumarinta re2c qof kasta oo gacan ka geystay sii deyntan inay dhacdo,
iyo bulshada guud ahaan fikrado, warbixinnada cayayaanka, dhejiska, niyadda, iwm. ;]

Source: linux.org.ru

Add a comment