Zenith Parsing Engine
الگو برنامهنویسی | Imperative, functional, object-oriented, procedural |
---|---|
طراحی شده توسط | Jamie Balfour |
توسعهدهنده | Jamie Balfour |
ظهوریافته در | ۲۰۱۵[۱] |
انتشار پایدار | 1.8.11 [۲]
۲۱ اکتبر ۲۰۲۰ |
Dynamic, weak[۳] | |
زبان پیادهسازی | Java, YASS |
سیستمعامل | Unix-like, Windows |
.zpe , .zen , .zex , .zhtml , .zhtm , .ywp | |
وبگاه | |
تأثیر گرفته از | |
C, PHP, Java, JavaScript, VB.NET, C#.NET, SML, Python[۳] |
ZPE محیط برنامه نویسی (یا به اختصار ZPE ) به طور رسمی Zenith Parsing Engine یک کامپایلر ، تجزیه کننده و تفسیر کننده برای هدفهای YASS است که برای استفادههای آموزشی و برای استفادههای عمومی طراحی شده است. زبان آن را تفسیر، YASS، یک است تفسیر، سطح بالا، همه منظوره زبان برنامه نویسی. YASS عمدتا بر اساس سهولت در خواندن و استفاده از زبان با پشتیبانی اختیاری از نحوهایی مانند نحو براکت فر است. YASS از تایپ پویا پشتیبانی می کند. این برنامه در سال 2015 به عنوان یک پروژهی دانشگاهی برنامه ریزی شده آغاز شد اما بعداً تغییر یافت تا جایگزین زبان برنامه نویسی دیگری شود که در آن زمان با نام BlackRabbit Script شناخته میشد و همچنین توسط جیمی بالفور ساخته شده است. ZPE و YASS برای پاک کردن نحوهای ناسازگار سایر زبانهای نوشتاری برای کمک به خودکار سازی اسکریپتها طراحی شده اند . Zenith Parsing Engine (ZenithParser اسبق) تجزیه کنندههای اساسی از جمله تجزیه کنندههای CSV ،JSON و XML را تأمین میکند.
زبانی که با زمان اجرا ZPE ترجمه میشود با نام YASS یا Yet Another Simple Syntax شناخته میشود [۴] . چندین زبان بر نحو YASS تأثیر گذاشتند از جمله C ، PHP ، جاوا ، جاوا اسکریپت ، VB. NET ، C #. NET ، SML و Python که تقریباً از نسخه 1.5 به همان اندازه باقی مانده است. ZPE / YASS می تواند برای برنامه نویسی عمومی ، پشتیبانی مشتری و ارتباطات سرور مورد استفاده قرار گیرد و می تواند برای اسکریپت نویسی سمت سرور استفاده شود. برخی از وب سایت ها از ZPE در کنار زبانهای دیگر مانند PHP [۵] استفاده میکنند.
محیط برنامه نویسی ZPE خود به زبان جاوا نوشته شده است و آن را چند پلتفرمی می کند . یک عارضه جانبی این است که پلاگین ها و اشیا built داخلی به طور کامل در جاوا نوشته شده اند.
در حالی که ZPE منبع بسته است ، کتابخانه استاندارد منبع باز است و در خود YASS نوشته شده است.
امکانات[ویرایش]
ZPE دارای بسیاری از توابع داخلی از جمله توابعی است که مسائل ریاضی را ساده میکند مانند عملکردهای بزرگتر از همه ، توابع to_binary ، to_octal و to_hexadecimal و همچنین بسیاری از توابع برای ساده سازی آرایه ها مانند list_process
، list_find_duplicates
و list_auto_populate
ZPE همچنین دارای یک تجزیه کننده داخلی است که به عنوان ZenithParser شناخته میشود و پایه پردازنده کل زبان را تشکیل میدهد و هم تجزیه و تحلیل واژگانی و هم بهینه سازی کامپایلر را روی ورودی متن انجام می دهد.
در زیرمجموعه اصلی اختصاص داده شده به ZPE ، یک صفحه اسناد وجود دارد که تمام عملکردهای داخلی و نحو آنها را مستند می کند. [۴]
ZPE در ابتدا به عنوان یک پروژه دانشگاهی برنامه ریزی شده ساخته شد که هرگز به نتیجه نرسید و در پایان به کار رفت و سرانجام به عنوان جایگزینی برای زبان BlackRabbit Script که جیمی بالفور در آن زمان در حال توسعه آن بود، مورد استفاده قرار گرفت. ZPE در اصل فاقد تجزیه ریاضی بود که به معنای استفاده از توابع برای جمع، تفریق، تقسیم و ضرب بود. نمونه ای از این نحو اولیه:
$x = 10
$y = 15
$z = add($x, $y)
print($z)
در اواخر سال 2015 ، هنوز در نسخه 1.3.x از ZPE ، تجزیه کننده حالت واقعی ریاضی (RMM) اضافه شد. نحو تغییر کرد به گونهای که شباهت زیادی به زبانهای دیگر دارد:
$x = 10
$y = 15
$z = $x + $y
print($z)
برای بهبود عملکرد، تجزیه کننده حالت ریاضی واقعی با تجزیه کننده منطقی و ریاضی (LAMP) در سال 2016 و سپس ارزیابی کننده منطقی و ریاضی (LAME) در سال 2019 جایگزین شد [۶] .
کتابخانه ها[ویرایش]
ZPE / YASS برای گسترش عملکرد به کتابخانه هایی که در حال توسعه هستند متکی هستند. دلیل اصلی این امر کاهش اندازه بسته اصلی زمان اجرا است. برخی از کتابخانه ها به زبان YASS نوشته شده و سپس تدوین می شوند. سپس از طریق شبکه ZULE که در سال 2018 اضافه شده توزیع میشود [۶] .
کتابخانههای دیگر به زبان جاوا بومی نوشته شده اند. به عنوان مثال، از کتابخانه zpe_mysql برای افزودن ویژگیهای MySQL به زبان از طریق استفاده از کتابخانهای استفاده میشود که خود تقریباً 6 برابر زمان اجرای اصلی است.
منابع[ویرایش]
- ↑ "ZPE Programming Environment information". ZPE Information. Retrieved 2019-02-02.صفحه پودمان:Citation/CS1/en/styles.css محتوایی ندارد.
- ↑ "ZPE Changelog". Jamie Balfour's Blog. Retrieved 2020-10-21.صفحه پودمان:Citation/CS1/en/styles.css محتوایی ندارد.
- ↑ ۳٫۰ ۳٫۱ "What is ZPE?". ZPE Documentation. Retrieved 2019-02-02.صفحه پودمان:Citation/CS1/en/styles.css محتوایی ندارد.
- ↑ ۴٫۰ ۴٫۱ "ZPE Programming Environment documentation". ZPE Documentation. Retrieved 2019-02-02.صفحه پودمان:Citation/CS1/en/styles.css محتوایی ندارد.
- ↑ "About this website". About this website. Retrieved 2020-07-24.صفحه پودمان:Citation/CS1/en/styles.css محتوایی ندارد.
- ↑ ۶٫۰ ۶٫۱ "ZPE Changelog : ZPE Programming Environment Documentation :: jamiebalfour.com". ZPE Documentation. Retrieved 2019-03-10.صفحه پودمان:Citation/CS1/en/styles.css محتوایی ندارد.
This article "Zenith Parsing Engine" is from Wikipedia. The list of its authors can be seen in its historical and/or the page Edithistory:Zenith Parsing Engine. Articles copied from Draft Namespace on Wikipedia could be seen on the Draft Namespace of Wikipedia and not main one.