I le Aso Faraile, Aukuso 2, na tatalaina ai le re2c, o se gaosiga e leai se totogi o suʻesuʻega lexical mo gagana C ma C ++, na faʻasalalau. Re2c na tusia i le 1993 e Peter Bamboulis e avea o se faʻataʻitaʻiga faʻataʻitaʻiga o suʻesuʻega faʻamatalaga vave, faʻapitoa mai isi generators e ala i le saoasaoa o le code faʻatupuina ma se faʻaoga faʻaoga e le masani ai e mafai ai e tagata suʻesuʻe ona faʻapipiʻi faigofie ma lelei i totonu o se faʻavae code o loʻo iai. Talu mai lena taimi, o le poloketi ua atiina ae e le nuu ma o loʻo faʻaauau pea ona avea ma faʻavae mo faʻataʻitaʻiga ma suʻesuʻega i le matata o kalama aloaʻia ma masini a le setete.
Autu fou i le version 1.2:
Fa'aopoopoina se auala fou (fa'afaigofie) e siaki ai le fa'ai'uga o fa'amatalaga fa'aoga
(Igilisi “EOF rule”).
Mo lenei mea, ua faaopoopo le re2c:eof configuration,
fa'atagaina oe e filifili le uiga fa'agata,
ma se tulafono faapitoa $ e mu pe afai le lexer
na taunu'u manuia i le fa'ai'uga o fa'amaumauga tu'ufa'atasi.
I tala fa'asolopito, e tu'uina atu e le re2c se filifiliga o ni metotia fa'amaonia mo
fa'ai'uga o mea fa'aoga e fesuisuia'i i tapula'a, lelei ma faigofie
talosaga. O le auala fou ua mamanuina e faafaigofie ai le tusitusi code, ao
a'o tumau lelei ma fa'aoga lautele. Auala tuai
galue pea ma atonu e sili atu i nisi tulaga.
Faʻaopoopo le mafai e aofia ai faila i fafo e faʻaaoga ai se faʻatonuga
/*!include:re2c "file.re" */ where file.re
o le igoa lea o le faila e aofia ai. E suʻe e Re2c faila i totonu o le faila faila,
faʻapea foʻi ma le lisi o ala faʻamaonia e faʻaaoga ai le filifiliga -I.
O faila e aofia ai e mafai ona aofia ai isi faila.
E tuʻuina atu e Re2c faila "tulaga masani" i totonu o le aofia/faʻatonu
poloketi - e fa'amoemoe o le a fa'aputuina fa'amatalaga aoga iina
fa'amatalaga masani, se mea e pei o le faletusi masani.
I le taimi nei, i luga o le talosaga a tagata faigaluega, e tasi le faila ma faʻamatalaga o vaega Unicode ua faʻaopoopoina.
Fa'aopoopo le tomai e fa'atupu ai faila fa'aulu fa'atasi
anotusi e fa'aaoga ai -t --type-header filifiliga (po'o talafeagai
configurations) ma faatonuga fou /*!header:re2c:on*/ ma
/*!header:re2c:off*/. Atonu e aoga lenei mea i tulaga pe a
pe a manaʻomia e re2c ona faʻatupuina faʻamatalaga o fesuiaiga, fausaga ma macros,
faaaogaina i isi iunite faaliliu.
Ua malamalama nei Re2c i le UTF8 literals ma vasega amio i faʻamatalaga masani.
Ona o le faaletonu, re2c parses faaupuga pei o le "∀x ∃y" pei.
fa'asologa o mataitusi ASCII 1-bit e2 88 80 78 20 e2 88 83 79
(hex codes), ma e tatau i tagata faaaoga ona sola ese ma le lima ole mataitusi Unicode:
"u2200x u2203y". O lenei mea e matua le talafeagai ma e leʻi faʻamoemoeina mo le toʻatele
tagata faʻaoga (e pei ona faʻamaonia e lipoti faʻasalalau faifai pea). O lea la
re2c e maua ai se filifiliga --input-encoding ,
lea e mafai ai ona e suia le amio ma fa'asolo le "∀x ∃y" pei
2200 78 20 2203 79.
Ua fa'atagaina nei e Re2c le fa'aogaina o poloka re2c masani ile -r --reuse mode.
E faigofie pe afai o le faila faila o loʻo i ai le tele o poloka ma naʻo nisi o latou
e mana'omia ona toe fa'aaogaina.
O lea e mafai ona e setiina le faatulagaga o lapataiga ma savali sese
fa'aaoga le filifiliga fou --location-format . O loʻo faʻaalia le GNU format
e pei o le igoa faila: laina: koluma:, ma le faatulagaga MSVC o le igoa faila(laina, koluma).
Atonu e aoga lenei vaega mo tagata fiafia i le IDE.
O se filifiliga --verbose ua faaopoopo foi, lea e lolomi ai se savali manumalo puupuu pe a manuia.
Ua fa'aleleia atili le faiga o le "feso'ota'i" fa'atasi ai ma le fa'alelei - ua toe fa'aleleia nisi o mea sese ma
le sa'o le fa'amuamua o le fa'afoe i tulaga e seasea.
I le tala faasolopito, o le -F --flex-support filifiliga na mafai ai ona e tusia le code
fa'afefiloi ile sitaili fa'alelei ma le sitaili re2c, lea e fai si faigata ai le fa'avasegaina.
E seasea fa'aogaina le fa'aogaina o le fa'aogaina i le tulafono fou,
ae o loʻo faʻaauau pea ona lagolagoina e re2c mo le fetaui i tua.
O le fa'aogaina o le vaega o tagata e to'ese / ua fa'aaoga nei
aʻo leʻi faʻalauteleina le encoding, lea e mafai ai ona faʻaaogaina i se numera tele o mataupu,
pe afai e fa'aogaina se fa'asologa o le umi o le amio (mo se fa'ata'ita'iga UTF8).
O le faila faila ua faia nei i le atomically: re2c faia muamua se faila le tumau
ma tusi le i'uga i totonu, ona toe fa'aigoa lea o le faila le tumau i le mea e fai
tasi le taotoga.
Mai le vaaiga a le au atiaʻe, ua maua e le re2c se subsystem sili atu ona atoatoa
debugging Debugging code ua le atoatoa nei i le tatalaina o fale ma
e mafai ona faʻaogaina le faʻaogaina o le filifiliga configure --enable-debug.
O lenei faʻasalalauga na umi se taimi - toeitiiti atoa le tausaga.
O le tele o taimi, e pei lava o taimi uma, sa fa'aalu i le atina'eina o se fa'avae fa'ata'ita'iga ma tusitusiga
tusiga "Fa'ailo lelei le POSIX Submatch Extraction ile NFA".
O algorithms o loʻo faʻamatalaina i le tusiga o loʻo faʻatinoina i le faletusi faʻataʻitaʻi libre2c
(O le fausiaina o le faletusi ma faʻailoga e le mafai ona faʻaogaina ma e mafai e le configure filifiliga
--enable-libs). O le faletusi e le'o fa'atatauina ose fa'atauva i le taimi nei
galuega faatino e pei o RE2, ae o se tulaga suʻesuʻe mo le atinaʻeina o mea fou
algorithms (lea e mafai ona faʻaaogaina i re2c poʻo isi galuega).
E faigofie foʻi mai le vaʻaiga o suʻega, faʻailoga ma le fatuina o fusi i isi gagana.
Fa'afetai mai le re2c developers ia i latou uma na fesoasoani i lenei fa'asalalauga e tupu,
ma le lautele lautele mo manatu, lipoti o pusa, patches, agaga, ma isi. ;]