ath2c 1.2

Air Dihaoine, Lùnastal 2, chaidh sgaoileadh re2c, gineadair an-asgaidh de mhion-sgrùdairean briathrachais airson na cànanan C agus C ++, fhoillseachadh. Chaidh Re2c a sgrìobhadh ann an 1993 le Peter Bamboulis mar ghineadair deuchainneach de mhion-sgrùdairean briathrachais fìor luath, eadar-dhealaichte bho ghineadairean eile le astar a’ chòd a chaidh a chruthachadh agus eadar-aghaidh cleachdaiche neo-àbhaisteach sùbailte a leigeas le sgrùdairean a bhith freumhaichte gu furasta agus gu h-èifeachdach ann am bunait còd a tha ann mu thràth. Bhon uairsin, chaidh am pròiseact a leasachadh leis a’ choimhearsnachd agus tha e fhathast na àrd-ùrlar airson deuchainnean agus rannsachadh ann an raon gràmair foirmeil agus innealan stàite crìochnaichte.

Prìomh innleachdan ann an dreach 1.2:

  • Chuir sinn dòigh ùr (sìmplidh) ris gus sùil a thoirt airson deireadh an dàta cuir a-steach
    (Beurla “EOF rule”).
    Airson seo, chaidh an rèiteachadh re2c:eof a chur ris,
    a’ leigeil leat an caractar crìochnachaidh a thaghadh,
    agus riaghailt $ sonraichte a dh' fheudas an lexer
    soirbheachail gu deireadh an dàta cuir a-steach.
    Gu h-eachdraidheil, tha re2c a’ toirt seachad taghadh de ghrunn dhòighean dearbhaidh airson
    deireadh cuir a-steach ag atharrachadh ann an cuingealachadh, èifeachdas agus sìmplidheachd
    iarrtasan. Tha an dòigh ùr air a dhealbhadh gus còd sgrìobhaidh a dhèanamh nas sìmplidhe, fhad 'sa tha
    fhad ‘s a tha iad fhathast èifeachdach agus iomchaidh gu farsaing. Seann dòighean
    fhathast ag obair agus is dòcha gum b’ fheàrr leotha ann an cuid de chùisean.

  • Chuir sinn ris comas faidhlichean taobh a-muigh a thoirt a-steach a’ cleachdadh stiùireadh
    /*! cuir a-steach: re2c "file.re" */ far a bheil file.re
    is e seo ainm an fhaidhle in-ghabhail. Bidh Re2c a’ coimhead airson faidhlichean san eòlaire fhaidhlichean a’ toirt a-steach,
    a bharrachd air an liosta de shlighean a chaidh a shònrachadh leis an roghainn -I.
    Faodaidh faidhlichean eile a bhith air an toirt a-steach.
    Tha Re2c a’ toirt seachad faidhlichean “àbhaisteach” anns an in-ghabhail / eòlaire
    pròiseact - thathar an dùil gun cruinnich mìneachaidhean feumail an sin
    abairtean cunbhalach, rudeigin mar an leabharlann àbhaisteach.
    Gu ruige seo, air iarrtas luchd-obrach, chaidh aon fhaidhle le mìneachaidhean de roinnean Unicode a chur ris.

  • Chuir sinn ris a’ chomas air faidhlichean cinn a ghineadh le neo-riaghailteach
    susbaint a’ cleachdadh na roghainnean -t -type-header (no iomchaidh
    rèiteachaidhean) agus stiùiridhean ùra /*! header: re2c: air */ agus
    /*! bann-cinn: re2c: dheth */. Faodaidh seo a bhith feumail ann an cùisean far a bheil
    nuair a dh’fheumas re2c mìneachaidhean a ghineadh air caochladairean, structaran agus macros,
    cleachdadh ann an aonadan eadar-theangachaidh eile.

  • Tha Re2c a-nis a’ tuigsinn litrichean UTF8 agus clasaichean caractar ann an abairtean cunbhalach.
    Gu gnàthach, bidh re2c a’ parsadh abairtean mar “∀x ∃y” mar.
    sreath de charactaran ASCII 1-bit e2 88 80 78 20 e2 88 83 79
    (còdan hex), agus feumaidh luchd-cleachdaidh teicheadh ​​​​bho charactaran Unicode le làimh:
    "u2200x u2203y". Tha seo gu math mì-ghoireasach agus ris nach robh dùil dha mòran
    luchd-cleachdaidh (mar a chithear bho aithisgean bug cunbhalach). Mar sin a-nis
    Tha re2c a’ toirt seachad roghainn còdachaidh --input ,
    a leigeas leat an giùlan atharrachadh agus parse “∀x ∃y” mar
    2200 78 20 2203 79.

  • Tha Re2c a-nis a’ ceadachadh blocaichean re2c cunbhalach a chleachdadh ann am modh -r --reuse.
    Tha seo goireasach ma tha mòran bhlocaichean anns an fhaidhle cuir a-steach agus dìreach cuid dhiubh
    feumar ath-chleachdadh.

  • A-nis faodaidh tu an cruth rabhaidhean agus teachdaireachdan mearachd a shuidheachadh
    a’ cleachdadh an roghainn ùr --location-format . Tha cruth GNU air a thaisbeanadh
    mar ainm faidhle: loidhne: colbh :, agus an cruth MSVC mar ainm faidhle (loidhne, colbh).
    Faodaidh am feart seo a bhith feumail dha leannanan IDE.
    Chaidh roghainn --verbose a chur ris cuideachd, a bhios a’ clò-bhualadh teachdaireachd buaidh ghoirid ma bhios e soirbheachail.

  • Chaidh am modh “co-chòrdalachd” le flex a leasachadh - chaidh cuid de mhearachdan parsaidh a shuidheachadh agus
    prìomhachas gnìomhaiche ceàrr ann an cùisean ainneamh.
    Gu h-eachdraidheil, thug an roghainn -F --flex-support cothrom dhut còd a sgrìobhadh
    measgaichte ann an stoidhle flex agus stoidhle re2c, a tha ga dhèanamh beagan duilich parsadh.
    Is ann ainneamh a thathas a’ cleachdadh modh co-chòrdalachd Flex ann an còd ùr,
    ach tha re2c a' leantainn air adhart a' toirt taic dha airson co-fhreagarrachd air ais.

  • Bidh gnìomhaiche toirt air falbh clas caractar / a-nis a’ buntainn
    mus tèid an còdachadh a leudachadh, a leigeas leis a chleachdadh ann an àireamh nas motha de chùisean,
    ma thèid còdachadh faid caractar caochlaideach a chleachdadh (mar eisimpleir UTF8).

  • Tha am faidhle toraidh a-nis air a chruthachadh gu atamach: bidh re2c a’ cruthachadh faidhle sealach an toiseach
    agus a 'sgrìobhadh an toradh a-steach ann, agus an uairsin ag ath-ainmeachadh am faidhle sealach chun an toraidh
    aon obrachadh.

  • Chaidh na sgrìobhainnean a chrìochnachadh agus ath-sgrìobhadh; gu sònraichte, chaidh feadhainn ùra a chur ris
    caibideilean mu bhith a’ lìonadh a’ bhufair
    и mu dhòighean air sgrùdadh a dhèanamh airson deireadh dàta cuir a-steach.
    Tha na sgrìobhainnean ùra air an cruinneachadh anns an fhoirm
    leabhar-làimhe coileanta aon-dhuilleag
    le eisimpleirean (tha na h-aon stòran air an toirt seachad air an duilleag-làimhe agus anns na sgrìobhainnean air-loidhne).
    Chaidh droch oidhirpean a dhèanamh gus leughadh na làraich air fònaichean a leasachadh.

  • Bho shealladh an luchd-leasachaidh, tha re2c air fo-shiostam nas coileanta fhaighinn
    debugging Tha còd dì-bhugachaidh a-nis à comas ann an togail fuasglaidh agus
    Faodar a chomasachadh leis an roghainn rèiteachaidh --enable-debug.

Thug an naidheachd seo ùine mhòr - cha mhòr bliadhna air fad.
Chaidh a 'mhòr-chuid den ùine, mar a bha e an-còmhnaidh, a chosg air frèam teòiridheach agus sgrìobhadh a leasachadh
artaigilean "Tharraing submatch POSIX èifeachdach air NFA".
Tha na h-algorithms a tha air am mìneachadh san artaigil air an cur an gnìomh anns an leabharlann deuchainneach libre2c
(tha togail an leabharlainn agus slatan-tomhais ciorramach gu bunaiteach agus tha e air a chomasachadh leis an roghainn rèiteachaidh
--comas-libs). Chan eilear den bheachd gu bheil an leabharlann mar cho-fharpaiseach don fheadhainn a th’ ann
pròiseactan mar RE2, ach mar àrd-ùrlar rannsachaidh airson leasachadh ùr
algorithms (a ghabhas cleachdadh an uairsin ann an re2c no ann am pròiseactan eile).
Tha e cuideachd goireasach bho shealladh deuchainn, slatan-tomhais agus cruthachadh ceangail ri cànanan eile.

Mòran taing bhon luchd-leasachaidh re2c don a h-uile duine a chuidich leis an fhoillseachadh seo,
agus don choimhearsnachd san fharsaingeachd airson beachdan, aithrisean air bug, badan, misneachd, msaa. ;]

Source: linux.org.ru

Cuir beachd ann