I le aso 19 o Mati, na tatala ai le faletusi C++ Iulai, fa'atinoina fa'apipi'i gagana fa'apitoa e fa'amatala fa'aupu e pei ona fa'alautele kalama o fa'amatalaga syntactic, ma tufatufa atu i lalo ole laisene MIT.
Vaega o faletusi:
- Fa'alenatura fa'aleagaga fa'amanatuga gagana fa'aola parser fafo, fa'atasi ai ma le lagolago mo uiga ma fa'atinoga fa'aoga.
- Malosiaga e galue ai ma le kalama maaleale fa'asinomaga ma laulau fa'atusa, tulaga ma fa'aupuga fa'atusa.
- O faʻasalalauga faʻatupuina o loʻo tuʻufaʻatasia i le bytecode ma faʻatinoina i totonu ole masini masini komepiuta.
- Fa'amanino le tu'ueseesega o tulafono fa'akomepiuta ma lexical fa'atasi ai ma le agava'a e fa'atulaga ai le fa'ase'e fa'asa'o o mata'itusi avanoa.
- Lagolago mo le toe tuusa'o ma le le tuusao agavale, faatasi ai ma tulaga muamua e iloa ai le va o subexpressions faatasi ai ma le toe faʻafefiloi agavale ma taumatau.
- Lagolago atoatoa mo le fa'avasegaina o tusitusiga UTF-8, e aofia ai le la'asaga 1 ma se vaega o le tausisia o le la'asaga 2 o le tulaga fa'apitoa. UTS #18 Unicode Fa'amatalaga masani.
- Fa'aletonu le taulimaina ma le toe fa'aleleia i le fa'aaogaina o fa'aletonu fa'ailoga, tulafono toe fa'aleleia, ma fa'atonu mea sese.
- Otometi le siakiina o laina ma koluma numera, faʻavasegaina lautele lautele ma faʻaoga.
- Ulutala-na'o le faletusi e fa'aaogaina na'o le faletusi masani ma foliga o le C++17 standard. Fa'amaonia i le lumana'i mo tulaga fa'ata'atia C++20 ma C++23.
- La'ititi la'ititi o le faletusi, ma le fa'amoemoe e fa'amautu le aofa'i o laina i faila fa'aulu uma i lalo ole 6000 laina ole fa'ailoga ma'oti.
Lisi o suiga:
- Fa'atinoina le aoina ma le fa'atonuga uiga. Fa'atonuga fou o le aoina [e] fa'apipi'iina se fa'asologa po'o se atigipusa fa'afeso'ota'i o le ituaiga C o lo'o i ai elemene fa'apotopoto mai uiga tu'ufa'atasia po'o tu'ufa'atasiga i le fa'amatalaga e. E fa'apena fo'i, ua fa'ailoa mai ai fa'atonuga fa'aopoopo fou [e], synthesize_shared [e] ma synthesize_unique [e] e fa'apipi'i mea, fa'asoa fa'asino, ma fa'ailoga tulaga ese, fau mai uiga o vaega i fa'amatalaga u.
- O le synthesize_collect faʻatonuga ua faʻatinoina, lea e tuʻufaʻatasia ai le aoina ma faʻapipiʻi faʻatonuga e faʻaleleia ai le faitauina o code ma faʻaitiitia le aofaʻi o le boilerplate pe a fausia ni faʻamaumauga faʻapitoa mai elemene faʻapipiʻi. E aoga tele lenei mea mo le fatuina o fa'aputuga fa'aputu, e pei o fa'asologa o meafaitino po'o koneteina fa'afeso'ota'i fa'atasi ai ma ituaiga tau lavelave.
- Fa'aopoopo le template class lug::recursive_wrapper e fa'atautaia ai fa'alagolago fa'ata'amilo i la'au fa'asologa fa'apitoa, ae maise i latou e fa'aoga std::variant.
- Fa'atinoina le lagolago mo le Unicode 16.0.0 ma fa'aopoopo le lagolago mo mea faigaluega fau i CMakeLists.txt.
- Ua fa'atumauina le fa'afetauiga o le fa'avasegaga ma le ASCII, ma fa'atupuina ai le fa'aleleia atili o fa'atinoga pe a fa'atino galuega fa'atino masani. Fa'aopoopoina auala vave fa'apitoa mo le fa'afoeina na'o mataitusi ASCII, lea e sili atu le vave nai lo le Unicode fa'afoe code.
- Fa'atino fa'ata'ita'iga opcodes e fa'asili mea sese ma toe fai opcodes e fa'amalie ai le fa'ase'e avanoa papa'e. O nei fa'ata'ita'iga o le a fa'atinoina atoatoa i le isi fa'asalalauga pe a mae'a suiga o la'au fa'aaliga fuafuaina.
- Fa'aleleia atili le fa'aogaina o puna'oa fa'aoga, fa'atasi ai ma le fa'asa'o lelei ma fa'amatalaga sese mo std::istream, ma fa'aleleia atili le feso'ota'iga feso'ota'iga lagolago e fa'atautaia sa'o le fa'aoga laina-ma-laina mo vasega fa'auma po'o mo kalama e fa'atatau i laina.
- std::istream lagolago ua siitia e tuueseese faila ulutala . E fa'aitiitia ai taimi fa'aopoopo ma fa'aitiitia fa'alagolago i ulutala mo galuega fa'atino e le mana'omia ai le fa'aogaina o le I/O.
- Reworked parser faia le fa'atonuga e ala i le fa'aogaina o fa'atonuga i le lug::basic_parser e fa'afetaui lelei suiga fa'apipi'i fa'apipi'i fa'apena fa'alauiloa ile 0.4.0, fa'aleleia le fa'atulagaina o tulafono ma le fa'atinoga.
- Fa'atonu mataupu ile fa'ata'ita'iga parser faavae, pe a faʻamutaina galuega faʻapitoa e faʻaaogaina (eg FNA (X)) i le taimi o le iloiloga. Na mafua lenei mea ona o se suiga i le version 0.4.0 na toe setiina le lug:: environment i le taimi o fa'agaioiga fa'apipi'i. O se galuega fou lug::environment::should_reset_on_parse ua fa'aopoopoina e maua ai le fa'atonuga lelei o lenei amio, fa'ataga le si'osi'omaga e fa'asao i le taimi o fa'agaioiga fa'aputuga fa'aputu pe a talafeagai.
- Fa'aopoopoina se atina'e atoatoa mo su'ega fa'ata'ita'iga polokalame.
- Ua toe fausia le fa'atonuga o fa'atonuga fa'atasi.
- Ina ia tuʻuina atu fesoʻotaʻiga lautele, GitHub CI ua faʻaopoopoina le lagolago mo isi faʻapipiʻi (GCC 9/10/11/12, Clang 14/15/16/17).
- Clang ma MSVC static analyzers ua faʻaopoopo i GitHub CI.
- Fa'aopoopo le tuatusi fa'amama (ASan), le fa'amamafaina o amio fa'amama (UBsan), ma le fa'amanatuga fa'amama (MSan) ile GitHub CI.
- GitHub CI o loʻo i ai nei le tuʻufaʻatasiga faʻapipiʻi.
- Ua aveese e le GitHub CI le faʻaaogaina o Ubuntu 20.04.
puna: linux.org.ru
