کامپایلر ZPE
پارادایم برنامهنویسی | 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[۳] |
این مقاله دقیق، کامل و صحیح ترجمه نشده و نیازمند ترجمه به فارسی است. کل یا بخشی از این مقاله به زبانی بهجز زبان فارسی نوشته شدهاست. اگر مقصود ارائهٔ مقاله برای مخاطبان آن زبان است، باید در نسخهای از ویکیپدیا به همان زبان نوشته شود (فهرست ویکیپدیاها را ببینید). در غیر این صورت، خواهشمند است ترجمهٔ این مقاله را با توجه به متن اصلی و با رعایت سیاست ویرایش، دستور خط فارسی و برابر سازی به زبان فارسی بهبود دهید و سپس این الگو را از بالای صفحه بردارید. همچنین برای بحثهای مرتبط، مدخل این مقاله در فهرست صفحههای نیازمند ترجمه به فارسی را ببینید. اگر این مقاله به زبان فارسی بازنویسی نشود، تا دو هفتهٔ دیگر نامزد حذف میشود و/یا به نسخهٔ زبانی مرتبط ویکیپدیا منتقل خواهد شد. اگر شما اخیراً این مقاله را بهعنوان صفحهٔ نیازمند ترجمه برچسب زدهاید، لطفاً عبارت {{جا:هبک-ترجمه به فارسی|1=کامپایلر ZPE}} ~~~~ را نیز در صفحهٔ بحث نگارنده قرار دهید. |
کامپایلر ZPE (به انگلیسی: Zenith Parsing Engine) یک کامپایلر، تجزیه کننده و تفسیر کننده برای هدفهای YASS است که برای استفادههای آموزشی و عمومی طراحی شدهاست. زبان آن تفسیر، YASS، یک است تفسیر، سطح بالا، همه منظوره زبان برنامهنویسی. YASS عمدتاً بر اساس سهولت در خواندن و استفاده از زبان با پشتیبانی اختیاری از نحوهایی مانند نحو براکت فر است. YASS از تایپ پویا پشتیبانی میکند. این برنامه در سال ۲۰۱۵ به عنوان یک پروژهٔ دانشگاهی برنامهریزی شده آغاز شد اما بعداً تغییر یافت تا جایگزین زبان برنامهنویسی دیگری شود که در آن زمان با نام 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 که تقریباً از نسخه ۱٫۵ به همان اندازه باقی ماندهاست. 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)
در اواخر سال ۲۰۱۵، هنوز در نسخه 1.3.x از ZPE، تجزیه کننده حالت واقعی ریاضی (RMM) اضافه شد. نحو تغییر کرد به گونهای که شباهت زیادی به زبانهای دیگر دارد:
$x = 10
$y = 15
$z = $x + $y
print($z)
برای بهبود عملکرد، تجزیه کننده حالت ریاضی واقعی با تجزیه کننده منطقی و ریاضی (LAMP) در سال ۲۰۱۶ و سپس ارزیابی کننده منطقی و ریاضی (LAME) در سال ۲۰۱۹ جایگزین شد.[۶]
کتابخانهها
[ویرایش]ZPE / YASS برای گسترش عملکرد به کتابخانههایی که در حال توسعه هستند متکی هستند. دلیل اصلی این امر کاهش اندازه بسته اصلی زمان اجرا است. برخی از کتابخانهها به زبان YASS نوشته شده و سپس تدوین میشوند. سپس از طریق شبکه ZULE که در سال ۲۰۱۸ اضافه شده توزیع میشود.[۶]
کتابخانههای دیگر به زبان جاوا بومی نوشته شدهاند. به عنوان مثال، از کتابخانه zpe_mysql برای افزودن ویژگیهای MySQL به زبان از طریق استفاده از کتابخانهای استفاده میشود که خود تقریباً ۶ برابر زمان اجرای اصلی است.
پانویس
[ویرایش]- مشارکتکنندگان ویکیپدیا. «Zenith Parsing Engine». در دانشنامهٔ ویکیپدیای انگلیسی، بازبینیشده در ۲۱ دسامبر ۲۰۲۰.
منابع
[ویرایش]- ↑ "ZPE Programming Environment information". ZPE Information. Retrieved 2019-02-02.[پیوند مرده]
- ↑ "ZPE Changelog". Jamie Balfour's Blog. Archived from the original on 3 September 2023. Retrieved 2020-10-21.
- ↑ ۳٫۰ ۳٫۱ "What is ZPE?". ZPE Documentation. Retrieved 2019-02-02.[پیوند مرده]
- ↑ ۴٫۰ ۴٫۱ "ZPE Programming Environment documentation". ZPE Documentation. Archived from the original on 3 September 2023. Retrieved 2019-02-02.
- ↑ "About this website". About this website. Retrieved 2020-07-24.
- ↑ ۶٫۰ ۶٫۱ "ZPE Changelog: ZPE Programming Environment Documentation :: jamiebalfour.com". ZPE Documentation. Archived from the original on 3 September 2023. Retrieved 2019-03-10.