Na Maachị 19, e wepụtara ọbá akwụkwọ C++ July, mmejuputa agbakwunyere asụsụ akọwapụtara ngalaba iji kwupụta nzagharị ka agbatịkwuru ụtọ asụsụ okwu syntactic, ma kesaa n'okpuru ikikere MIT.
Atụmatụ ụlọ akwụkwọ:
- syntax eke na-echetara asụsụ ndị na-emepụta ihe na mpụga, yana nkwado maka njirimara na omume semantic.
- Ikike iji grammar ndị nwere mmetụta na-arụ ọrụ na tebụl akara, ọnọdụ na amụma syntactic.
- A na-achịkọta parsers emepụtara n'ime bytecode wee gbuo ya n'igwe nyocha nke ọma.
- Kpochapụ nkewa nke iwu syntactic na lexical nwere ikike ịhazi mwụ elu nke mkpụrụedemede ọcha.
- Nkwado maka nlọghachi aka ekpe ozugbo na nke na-apụtaghị ìhè, yana ọkwa izizi iji mata ọdịiche dị n'okpuru na nchigharị aka ekpe na aka nri agwakọtara.
- Nkwado zuru oke maka ịtụgharị ederede UTF-8, gụnyere ọkwa 1 na nrube isi na ọkwa 2 nke ụkpụrụ teknụzụ. UTS #18 Unicode Okwu Okwu oge niile.
- Ijikwa mperi na mgbake site na iji ọdịda akara akara, iwu mgbake, na ndị njikwa njehie.
- Nchikota akpaaka nke nọmba ahịrị na kọlụm, obosara taabụ nwere ike ịhazi ya na nhazi.
- Ọbá akwụkwọ naanị nkụnye eji isi mee nke na-eji naanị ọbá akwụkwọ ọkọlọtọ yana atụmatụ nke ọkọlọtọ C++17. Egosiri n'ọdịnihu maka ụkpụrụ C++20 na C++23.
- Nha ọbá akwụkwọ dị obere, yana ebumnuche idobe ọnụọgụ ọnụọgụ ahịrị na faịlụ nkụnye eji isi mee n'okpuru ahịrị 6000 nke koodu dị nkenke.
Ndepụta mgbanwe:
- Ntuziaka njirimara na nchịkọta ihe etinyere n'ọrụ. Ntuziaka mkpokọta ọhụrụ [e] na-emepụta usoro ma ọ bụ akpa akpa nke ụdị C nke nwere ihe ndị a na-agbakọta site na njirimara eketara ma ọ bụ ejikọta ya na okwu e. N'otu aka ahụ, ewebatala ntuziaka nhazi ọhụrụ [e], synthesize_shared [e] na synthesize_unique [e] iji chịkọta ihe, ihe nrịbama na-ekekọrịta, na ihe nrịbama pụrụ iche, nke e wuru site na njirimara nke ihe ndị dị na nkwupụta e.
- E mejuputara ntuziaka synthesize_collect, nke na-ejikọta nchịkọta na nhazi ntuziaka iji melite ọgụgụ koodu ma belata ọnụ ọgụgụ nke esi mmiri ọkụ mgbe ị na-arụ usoro data dị mgbagwoju anya site na ihe ndị a kpụkọrọ akpụkọ. Nke a bara uru karịsịa maka ịmepụta mkpokọta akwụ ụgwọ, dị ka usoro ihe dị iche iche ma ọ bụ ihe ejikọtara ọnụ nwere ụdị uru dị mgbagwoju anya.
- Agbakwunyere klaasị template lug :: recursive_wrapper iji jikwaa ndabere cyclic na osisi syntax abstract, ọkachasị ndị na-eji std :: variant.
- Nkwado etinyere maka ọkọlọtọ Unicode 16.0.0 yana nkwado agbakwunyere maka ngwaọrụ ewu na CMekeLists.txt.
- Edozila ndakọrịta oke na mkpụrụedemede ASCII, na-ebute nkwalite arụmọrụ dị ukwuu mgbe ị na-arụ ọrụ nhazi ederede. Agbakwunyere ụzọ ngwa ngwa pụrụ iche maka ijikwa naanị mkpụrụedemede ASCII, nke dị ngwa ngwa karịa koodu njikwa Unicode.
- Opcodes etinyere n'ọrụ iji bulie mperi yana megharịa opcodes ka ebuli mwụda oghere ọcha. A ga-eme ka nkwalite ndị a zuru oke na ntọhapụ na-esote na-esote mgbanwe ngbanwe osisi okwu akwadoro.
- Ijikwa isi mmalite ntinye emelitere, yana njigide kacha mma na mkpesa njehie maka std::istream, yana nkwado ụdị mmekọrịta emelitere nke na-ejizi ntinye ahịrị n'ahịrị nke ọma maka nnọkọ ọnụ ma ọ bụ maka ụtọ asụsụ dabere na ahịrị.
- std :: nkwado istream kwagara faịlụ nkụnye eji isi mee nkewa . Nke a na-ebelata oge nchịkọta ma wedata ndabere nkụnye eji isi mee maka ọrụ na-achọghị ọrụ I/O iyi.
- Parser arụgharịrị arụ ọrụ na-eme mgbagha site n'itinye ntuziaka dị na lug :: Basic_parser ka ọ ka mma mgbanwe nrụkọba ihe nrụkọba kpụ ọkụ n'ọnụ ewebata na 0.4.0, na-emezi nhazi koodu na arụmọrụ.
- Esemokwu edobere na atụ nzacha isi, mgbe arụrụ ọrụ akọwapụtara nke onye ọrụ (dịka FNA(X)) kwụsịrị n'oge nyocha. Ihe kpatara nke a bụ mgbanwe dị na ụdị 0.4.0 nke megharịrị lug :: gburugburu n'oge arụrụ arụrụ arụ. Agbakwunyere ọrụ lug :: gburugburu :: should_reset_on_parse iji nye njikwa dị mma na omume a, na-enye ohere ka echekwara gburugburu ebe obibi n'oge arụ ọrụ akwụ ụgwọ mgbe ọ dị mma.
- Agbakwunyere akụrụngwa zuru oke maka ịnwale mmemme nlele.
- Ewughachila ndị isi nke gụnyere akwụkwọ ndekọ aha.
- Iji nye ndakọrịta sara mbara, GitHub CI agbakwunyela nkwado maka ndị nchịkọta ọzọ (GCC 9/10/11/12, Clang 14/15/16/17).
- Agbakwunyela Clang na MSVC static analyzers na GitHub CI.
- Sanitizer Adreesị agbakwunyere (ASan), Sanitizer agwaghị agwa (UBSan), na ebe nchekwa Sanitizer (MSan) na GitHub CI.
- GitHub CI ugbu a nwere mmekorita nke ezinụlọ.
- GitHub CI ewepụla ojiji nke Ubuntu 20.04.
isi: linux.org.ru
