re2c 1.2

Föstudaginn 2. ágúst kom út re2c, ókeypis rafall orðafræðigreiningar fyrir C og C++ tungumálin. Re2c var skrifuð árið 1993 af Peter Bamboulis sem tilraunaframleiðandi mjög hraðvirkra orðasafnsgreiningartækja, aðgreindur frá öðrum rafala með hraða kóðans sem myndast og óvenju sveigjanlegt notendaviðmót sem gerir greiningartækjum kleift að fella inn í núverandi kóðagrunn á auðveldan og skilvirkan hátt. Síðan þá hefur verkefnið verið þróað af samfélaginu og heldur áfram að vera vettvangur fyrir tilraunir og rannsóknir á sviði formlegrar málfræði og endanlegra ástandsvéla.

Helstu nýjungar í útgáfu 1.2:

  • Bætti við nýrri (einfaldari) leið til að athuga hvort inntaksgögnin séu lokuð
    (Enska „EOF reglan“).
    Fyrir þetta hefur re2c:eof stillingunni verið bætt við,
    gerir þér kleift að velja tengistafinn,
    og sérstök $ regla sem skýtur ef lexer
    tókst að ná í lok inntaksgagna.
    Sögulega séð gefur re2c val um nokkrar sannprófunaraðferðir fyrir
    enda á aðföngum með mismunandi takmörkunum, skilvirkni og einfaldleika
    umsóknir. Nýja aðferðin er hönnuð til að einfalda ritun kóða, á meðan
    á sama tíma og þau eru áhrifarík og gilda víða. Gamlar leiðir
    virkar enn og gæti verið valinn í sumum tilfellum.

  • Bætti við möguleikanum á að innihalda utanaðkomandi skrár með tilskipun
    /*!include:re2c "file.re" */ þar sem file.re
    þetta er nafnið á include skránni. Re2c leitar að skrám í skráasafninu þar á meðal,
    sem og í listanum yfir slóðir sem tilgreindar eru með -I valkostinum.
    Meðfylgjandi skrár geta innihaldið aðrar skrár.
    Re2c býður upp á "staðlaðar" skrár í include/ möppunni
    verkefni - þar er gert ráð fyrir að gagnlegar skilgreiningar safnist fyrir
    regluleg tjáning, eitthvað eins og venjulegt bókasafn.
    Hingað til, að beiðni starfsmanna, hefur einni skrá með skilgreiningum á Unicode flokkum verið bætt við.

  • Bætti við möguleikanum á að búa til hausskrár með handahófskenndum
    efni með því að nota -t --type-haus valkostina (eða viðeigandi
    stillingar) og nýjar tilskipanir /*!header:re2c:on*/ og
    /*!haus:re2c:off*/. Þetta getur verið gagnlegt í þeim tilvikum þar sem
    þegar re2c þarf að búa til skilgreiningar á breytum, mannvirkjum og fjölvi,
    notað í öðrum þýðingareiningum.

  • Re2c skilur nú UTF8 bókstafi og stafaflokka í reglulegum tjáningum.
    Sjálfgefið er að re2c flokkar tjáningar eins og "∀x ∃y" sem.
    röð af 1-bita ASCII stöfum e2 88 80 78 20 e2 88 83 79
    (sexkóðar), og notendur verða að flýja Unicode stafi handvirkt:
    "u2200x u2203y". Þetta er mjög óþægilegt og óvænt fyrir marga
    notendur (eins og sést af stöðugum villuskýrslum). Svo núna
    re2c býður upp á --inntakskóðunarvalkost ,
    sem gerir þér kleift að breyta hegðuninni og flokka "∀x ∃y" sem
    2200 78 20 2203 79.

  • Re2c leyfir nú notkun venjulegra re2c blokka í -r --reuse ham.
    Þetta er þægilegt ef inntaksskráin inniheldur marga kubba og aðeins nokkrar þeirra
    þarf að endurnýta.

  • Nú geturðu stillt snið viðvarana og villuboða
    með því að nota nýja --location-format valmöguleikann . GNU snið birtist
    sem skráarnafn:lína:dálkur:, og MSVC sniðið sem skráarnafn(lína,dálkur).
    Þessi eiginleiki gæti verið gagnlegur fyrir IDE unnendur.
    Einnig hefur verið bætt við --orðum valmöguleika sem prentar út stutt sigurskilaboð ef vel tekst til.

  • „Compatiibility“ hamurinn með flex hefur verið endurbættur - nokkrar þáttunarvillur hafa verið lagaðar og
    rangur forgangur rekstraraðila í einstaka tilfellum.
    Sögulega séð gerði -F --flex-support valmöguleikann þér kleift að skrifa kóða
    blandað í flex stíl og re2c stíl, sem gerir þáttun svolítið erfið.
    Flex samhæfni háttur er sjaldan notaður í nýjum kóða,
    en re2c heldur áfram að styðja það fyrir afturábak eindrægni.

  • Stafaflokkur frádráttaroperator / gildir nú
    áður en kóðunin er stækkuð, sem gerir kleift að nota hana í fleiri tilfellum,
    ef kóðun með breytilegri stafalengd er notuð (til dæmis UTF8).

  • Úttaksskráin er nú búin til atómfræðilega: re2c býr til bráðabirgðaskrá fyrst
    og skrifar niðurstöðuna inn í það og endurnefnir síðan bráðabirgðaskrána í úttakið
    eina aðgerð.

  • Skjölunum var lokið og endurskrifað; einkum bættust nýir við
    kafla um að fylla á biðminni
    и um leiðir til að kanna lok inntaksgagna.
    Nýju skjölunum er safnað á forminu
    yfirgripsmikil handbók á einni síðu
    með dæmum (sömu heimildir eru birtar á manpage og í netskjölunum).
    Lélegar tilraunir hafa verið gerðar til að bæta læsileika síðunnar í símum.

  • Frá sjónarhóli þróunaraðila hefur re2c eignast fullkomnara undirkerfi
    villuleit Villuleitarkóði er nú óvirkur í útgáfusmíðum og
    hægt að virkja með því að nota stillingarvalkostinn --enable-debug.

Þessi útgáfa tók langan tíma - næstum heilt ár.
Mestur tíminn fór eins og alltaf í að þróa fræðilegan ramma og skrifa
Grein "Skilvirk POSIX undirleiksútdráttur á NFA".
Reikniritin sem lýst er í greininni eru útfærð í tilraunasafninu libre2c
(að byggja upp bókasafnið og viðmiðin er sjálfgefið óvirkt og er virkt með stillingarvalkostinum
--enable-libs). Bókasafnið er ekki hugsað sem keppinautur við núverandi
verkefni eins og RE2, en sem rannsóknarvettvangur fyrir þróun nýrra
reiknirit (sem síðan er hægt að nota í re2c eða í öðrum verkefnum).
Það er líka þægilegt frá sjónarhóli prófunar, viðmiðunar og að búa til bindingar við önnur tungumál.

Þakkir frá re2c þróunaraðilum til allra sem hjálpuðu þessari útgáfu að gerast,
og til samfélagsins almennt fyrir hugmyndir, villuskýrslur, plástra, starfsanda o.s.frv. ;]

Heimild: linux.org.ru

Bæta við athugasemd