re2c 1.2

Na Fraịde, Ọgọst 2, ewepụtara ntọhapụ nke re2c, onye na-emepụta ihe na-eme nyocha lexical maka asụsụ C na C++. Edere Re2c na 1993 site n'aka Peter Bamboulis dị ka onye na-emepụta nnwale nke ndị nyocha lexical ngwa ngwa, nke dị iche na ndị na-emepụta ihe ndị ọzọ site na ọsọ nke koodu emepụtara yana interface onye ọrụ na-agbanwe agbanwe nke na-enye ndị nyocha ohere itinye ngwa ngwa na nke ọma n'ime koodu dị adị. Kemgbe ahụ, ndị obodo mepụtara ọrụ a ma na-aga n'ihu na-abụ ebe nyocha na nyocha n'ọhịa nke ụtọ ụtọ asụsụ na igwe steeti nwere njedebe.

Isi ihe ọhụrụ dị na ụdị 1.2:

  • Etinyere ụzọ ọhụrụ (dị mfe) iji lelee njedebe nke data ntinye
    (Bekee "iwu EOF").
    Maka nke a, agbakwunyere nhazi re2c: eof,
    na-enye gị ohere ịhọrọ agwa njedebe,
    na iwu $ pụrụ iche nke na-agba ọkụ ma ọ bụrụ na onye na-agụ akwụkwọ
    ruru njedebe nke data ntinye nke ọma.
    Na akụkọ ihe mere eme, re2c na-enye nhọrọ nke ọtụtụ ụzọ nkwenye maka
    njedebe nke ntinye dị iche iche na njedebe, arụmọrụ na ịdị mfe
    ngwa. Emebere usoro ọhụrụ ahụ iji mee ka koodu ederede dị mfe, ebe
    ebe ọ na-anọgide na-arụ ọrụ na ebe niile. Ụzọ ochie
    ka na-arụ ọrụ ma nwee ike masị ya n'ọnọdụ ụfọdụ.

  • Agbakwunyere ikike ịgụnye faịlụ mpụga site na iji ntuziaka
    /*!gụnyere:re2c "file.re" */ ebe file.re
    nke a bụ aha faịlụ gụnyere. Re2c na-achọ faịlụ n'ime akwụkwọ ndekọ aha faịlụ,
    yana na ndepụta nke ụzọ akọwapụtara site na iji nhọrọ -I.
    Faịlụ agbakwunyere nwere ike ịgụnye faịlụ ndị ọzọ.
    Re2c na-enye faịlụ "ọkọlọtọ" na agụnye/ ndekọ
    oru ngo - a na-atụ anya na nkọwa ndị bara uru ga-agbakọta n'ebe ahụ
    okwu mgbe nile, ihe dị ka ọkọlọtọ ọba akwụkwọ.
    Ka ọ dị ugbu a, na arịrịọ nke ndị ọrụ, agbakwunyere otu faịlụ nwere nkọwa nke edemede Unicode.

  • Agbakwụnyere ike iwepụta faịlụ nkụnye eji isi mee na aka ike
    ọdịnaya site na iji nhọrọ -t --type-header (ma ọ bụ dabara
    nhazi) na ntuziaka ọhụrụ /*! nkụnye eji isi mee: re2c: na * / na
    /*!isi:re2c:off*/. Nke a nwere ike ịba uru n'ọnọdụ ebe
    mgbe re2c kwesịrị ịmepụta nkọwa nke mgbanwe, nhazi na macros,
    eji na nkeji ntụgharị asụsụ ndị ọzọ.

  • Re2c na-aghọta ugbu a UTF8 na klaasị agwa na nkwupụta oge niile.
    Na ndabara, re2c tụgharịrị okwu dịka "∀x∃y" ka.
    usoro nke mkpụrụedemede 1-bit ASCII e2 88 80 78 20 e2 88 83 79
    (koodu hex), na ndị ọrụ ga-eji aka gbanarị mkpụrụedemede Unicode:
    "u2200x u2203y". Nke a bụ ihe na-adịghị mma na ihe a na-atụghị anya ya maka ọtụtụ
    ndị ọrụ (dị ka a na-egosipụta site na mkpesa ahụhụ mgbe niile). Yabụ ugbu a
    re2c na-enye nhọrọ ntinye --input ,
    nke na-enye gị ohere ịgbanwe omume wee tụgharịa "∀x∃y" dị ka
    2200 78 20 2203 79.

  • Re2c na-enye ohere iji ihe mgbochi re2c oge niile na -r --reuse mode.
    Nke a dị mma ma ọ bụrụ na faịlụ ntinye nwere ọtụtụ ngọngọ yana naanị ụfọdụ n'ime ha
    kwesịrị ka e jiri ya mee ihe ọzọ.

  • Ugbu a ị nwere ike ịtọ usoro ịdọ aka ná ntị na ozi njehie
    iji nhọrọ --location-format ọhụrụ . Egosiputa usoro GNU
    dị ka filename: ahịrị: kọlụm:, na usoro MSVC dị ka aha faịlụ (akara, kọlụm).
    Njirimara a nwere ike ịba uru maka ndị hụrụ IDE n'anya.
    A gbakwunyekwara nhọrọ verbose, nke na-ebipụta ozi mmeri dị mkpirikpi ma ọ bụrụ na ọ ga-aga nke ọma.

  • Ụdị "ndakọrịta" na mgbanwe agbanweela - edozila mperi ntule na
    ụzọ onye ọrụ na-ezighi ezi n'ọnọdụ dị ụkọ.
    N'akụkọ ihe mere eme, nhọrọ -F --flex-support nyere gị ohere ide koodu
    agwakọtara ya na ụdị mgbanwe na ụdị re2c, nke na-eme ka ntule dị ntakịrị sie ike.
    A naghị ejikarị ụdị ndakọrịta Flex na koodu ọhụrụ,
    mana re2c na-aga n'ihu na-akwado ya maka ndakọrịta azụ.

  • Onye na-ahụ maka mwepu agwa/klas na-emetụta ugbu a
    tupu ịgbasa koodu ntinye, nke na-enye ohere iji ya mee ihe n'ọtụtụ ikpe,
    ọ bụrụ na ejiri mgbanwe ogologo mkpụrụedemede agbanwe agbanwe (dịka ọmụmaatụ UTF8).

  • A na-emepụta faịlụ mmepụta ugbu a n'ụzọ atọ: re2c na-ebu ụzọ mepụta faịlụ nwa oge
    wee dee nsonaazụ n'ime ya, wee nyegharịa faịlụ nwa oge na mmepụta
    otu ọrụ.

  • E dechara akwụkwọ ahụ wee degharịa ya; karịsịa, a gbakwunyere ndị ọhụrụ
    isiakwụkwọ banyere ijuputa ihe nchekwa
    и gbasara ụzọ isi lelee njedebe nke data ntinye.
    A na-anakọta akwụkwọ ọhụrụ ahụ n'ụdị
    akwụkwọ ntuziaka nwere otu ibe zuru oke
    na ihe atụ (a na-emepụta otu isi mmalite na manpage na na akwụkwọ ntanetị).
    Emeela mgbalị na-adịghị mma iji melite ọgụgụ saịtị na ekwentị.

  • Site n'echiche nke ndị mmepe, re2c enwetala sistemụ subsystem zuru oke
    debugging Akwụsịla koodu nbibi ugbu a na nrụpụta ntọhapụ yana
    enwere ike ime ya site na iji nhọrọ nhazi --enable-debug.

Ntọhapụ a were ogologo oge - ihe fọrọ nke nta ka ọ bụrụ otu afọ.
Ọtụtụ oge, dị ka mgbe niile, a na-eji na-emepụta usoro ihe ọmụma na ide ihe
edemede "Mwepụta Submatch POSIX dị mma na NFA".
A na-emejuputa algọridim ndị akọwara n'isiokwu a na ọbá akwụkwọ nnwale libre2c
(ịrụ ụlọ ọba akwụkwọ na akara akara na ndabara na-enyere ya aka site na nhazi nhọrọ
--enable-libs). Atụbeghi n'ọbá akwụkwọ ahụ dị ka onye asọmpi ịdị adị
oru dị ka RE2, ma dị ka usoro nyocha maka mmepe nke ọhụrụ
algọridim (nke enwere ike iji ya na re2c ma ọ bụ na ọrụ ndị ọzọ).
Ọ dịkwa mma site n'echiche nke nnwale, akara akara na ịmepụta njikọ na asụsụ ndị ọzọ.

Daalụ sitere na ndị nrụpụta re2c nye onye ọ bụla nyere aka ntọhapụ a mee,
na ndị obodo n'ozuzu maka echiche, akụkọ ahụhụ, patches, morale, wdg. ;]

isi: linux.org.ru

Tinye a comment