برنامه نویسی

اولین نسخه SPVM::منبع::RE2 تامین منابع کتابخانه عبارات منظم Google RE2

این هفته ما اولین نسخه SPVM::منبع::RE2 را منتشر کردیم، یک موتور عبارت منظم توسعه یافته توسط Google RE2 با این واقعیت مشخص می شود که زمان پاسخگویی رو به رشد را برای ورودی عبارات منظم خود باز نمی گرداند. این یک ویژگی ضروری برای پیاده سازی هایی مانند موتورهای جستجو است که عبارات منظم را به عنوان ورودی می پذیرند.

Google RE روی لینوکس، مک و ویندوز اجرا می شود. Google RE2 CI MinGW را روی ویندوز آزمایش نکرده است، اما SPVM این را روی ویندوز آزمایش کرده است زیرا از MinGW به عنوان کامپایلر در ویندوز استفاده می کند. پنجره ها. ما تأیید کرده‌ایم که Google RE2 روی آخرین نسخه ویندوز سرور 2022 کار می‌کند و تأیید کرده‌ایم که روی ویندوز سرور 2019 نیز کار می‌کند.

نسخه قبلی SPVM-Resource-Re2-V2022_06_01 تست آخرین نسخه ویندوز سرور 2022 را رد نکرد، اما SPVM::Resource::RE2 موفق شد. اما PVM::Resource::RE2 به C++17 نیاز دارد.

نسخه RE2 2023-02-01 است که تقریباً آخرین نسخه RE2 به عنوان منبع است.

منابع SPVM چیست؟

منابع SPVM مجموعه ای از C/C++ (یا GPGPU/cuda و غیره) منبع و فایل های هدر و دستورالعمل های کامپایل هستند. همراه با مستنداتی برای تنظیم پیوند دهنده برای استفاده کاربر است. به این منابع SPVM گفته می شود.

منابع مستقل از ماژول های الزام آور هستند. SPVM::Resource::RE2 یک منبع است و ماژول binding SPVM::Regex است.

بنابراین، منابع و الزامات به طور مستقل نقش های مشترکی دارند. مدتی طول کشید تا این به وضوح تشخیص داده شود. مدتی طول کشید تا این به وضوح تشخیص داده شود، زیرا چنین مکانیزمی در پرل وجود نداشت یا اگر وجود داشت، پیدا نمی شد.

به عنوان مثال، ماژول Tk Perl حاوی کد منبع و هدرهای tcl/tk و اتصالات آن است. منابع و اتصالات به شدت با هم مرتبط هستند.

ماژول Compress::Raw::Zlib حاوی کد منبع و سربرگ zlib و اتصالات آن است. منابع و الزامات به شدت مرتبط هستند.

از طرف دیگر، SPVM::منبع::RE2 حاوی کد منبع و سرصفحه است، اما هیچ اتصالی ندارد. نقش اتصال توسط SPVM::Regex ایفا می شود.

سودمندی این رویکرد با ایجاد ماژول های منبع دیگر، ماژول های الزام آور و برنامه های کاربردی بیشتر شناخته می شود.

SPVM در نهایت قابلیت بیان منظم را گنجانده است

SPVM، از طریق Google RE2، قابلیت بیان منظم را دریافت کرده است. به منظور ایجاد ماژول های مرتبط با مسیر فایل مانند SPVM::FindBin، SPVM::File::Spec، SPVM::File::Find، SPVM::File::Copy، SPVM::File::Path و غیره، ویژگی بیان منظم باید روی لینوکس، مک و ویندوز کار کند. پنجره ها.

SPVM::Resource::RE2 این امکان را فراهم می کند.

بهبود پیوند نمادین

هفته آینده، ما می خواهیم روی تقویت عملکرد پیوند نمادین کار کنیم. نسخه های اخیر ویندوز امکان ایجاد پیوندهای نمادین را فراهم کرده است که تا حدودی با Linxu سازگار است، البته با محدودیت هایی. نسخه بعدی آخرین نسخه Perl این قابلیت را فراهم می کند. بنابراین، SPVM این ویژگی را در SPVM::Sys نیز پیاده سازی خواهد کرد.

زبان Go در حال حاضر دارای این ویژگی است و ما قصد داریم آن را در SPVM نیز پیاده سازی کنیم.

ترجمه شده با www.DeepL.com/Translator (نسخه رایگان)

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا