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
и 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
