Zenith Parsing Engine - Zenith Parsing Engine
Эта статья слишком полагается на Рекомендации к основные источники.Март 2019 г.) (Узнайте, как и когда удалить этот шаблон сообщения) ( |
Парадигма | Императив, функциональный, объектно-ориентированный, процедурный |
---|---|
Разработано | Джейми Бальфур |
Разработчик | Джейми Бальфур |
Впервые появился | 2015[1] |
Стабильный выпуск | 1.8.11 [2] / 21 октября 2020 г. |
Печатная дисциплина | Динамический, слабый[3] |
Язык реализации | Ява, ЯСС |
Операционные системы | Unix-подобный, Windows |
Расширения имени файла | .zpe , .zen , .zex , .zhtml , .zhtm , .ywp |
Под влиянием | |
C, PHP, Ява, JavaScript, VB.NET, C # .NET, SML, Python[3] |
Среда программирования ZPE (или просто ZPE) формально Zenith Parsing Engine является универсальным компилятор, парсер и устный переводчик для языка YASS, предназначенного как для образовательного, так и для общего использования. Язык, который он интерпретирует, ЯСС, является интерпретированный, высокий уровень, общее назначение язык программирования. YASS в значительной степени построен на том, чтобы сделать язык простым для чтения и использования, с дополнительной поддержкой синтаксиса, такого как синтаксис фигурных скобок. ЯСС поддерживает динамическая типизация. Он был запущен в 2015 году как запланированный университетский проект, но позже был изменен, чтобы заменить другой язык программирования, разработанный в то время, известный как BlackRabbit Script, также созданный Джейми Бальфуром. ZPE и YASS были разработаны, чтобы помочь с автоматизацией сценариев, устраняя несогласованные синтаксисы других языков сценариев.[3]. Zenith Parsing Engine (ранее ZenithParser) поддерживает базовые парсеры, включая парсеры CSV, JSON и XML.
Язык, интерпретируемый средой выполнения ZPE, известен как YASS или еще один простой синтаксис.[4]. Несколько языков повлияли на синтаксис YASS, включая C, PHP, Ява, JavaScript, VB.NET, C # .NET, SML и Python[3] который остался практически таким же, начиная с версии 1.5. ZPE / YASS можно использовать для программирования общего назначения, поддержки взаимодействия с клиентом и сервером, а также для создания сценариев на стороне сервера. Некоторые веб-сайты уже используют ZPE вместе с другими языками, такими как PHP.[5].
Сама среда программирования ZPE написана на Java, что делает ее кросс-платформенный. Побочным эффектом этого является то, что некоторые плагины и встроенные объекты полностью написаны на Java.
Пока ZPE закрытый исходный код, стандартная библиотека Открытый исходный код и написано в самом ЯСС.
Функции
ZPE имеет множество встроенных функций, включая функции, упрощающие математические задачи, такие как функция great_than_all, функции to_binary, to_octal и to_hexadecimal, а также множество функций для упрощения обработки массивов, таких как list_process
, list_find_duplicates
и list_auto_populate
. ZPE также имеет встроенный анализатор, известный как ZenithParser, который составляет основу всего языкового процессора и выполняет оба лексический анализ и оптимизация компилятора при текстовом вводе.
На исходном дочернем сайте, посвященном ZPE, есть страница документации, которая документирует все внутренние функции и их синтаксис.[4]
ZPE изначально создавался как запланированный университетский проект, который так и не был реализован, и в конце концов был использован в качестве замены языка сценариев BlackRabbit, который в то время разрабатывал Джейми Бальфур. Изначально в ZPE не было математического парсера, что означало, что функции использовались для сложения, вычитания, деления и умножения. Пример этого раннего синтаксиса:
$ x = 10$ y = 15$ z = Добавить($ x, $ y)Распечатать($ z)
В конце 2015 года, все еще в версии 1.3.x ZPE, был добавлен анализатор Real Math Mode (RMM). Синтаксис изменен так, что он больше похож на другие языки:
$ x = 10$ y = 15$ z = $ x + $ yРаспечатать($ z)
Для повышения производительности синтаксический анализатор в режиме реальной математики был заменен на логико-математический синтаксический анализатор (LAMP) в 2016 году, а затем на логико-математический анализатор (LAME) в 2019 году.[6].
Библиотеки
ZPE / YASS полагается на библиотеки, которые разрабатываются для расширения функциональности. Основная причина этого - уменьшение размера основного пакета времени выполнения. Некоторые библиотеки написаны на самом языке YASS, а затем скомпилированы. Затем они распространяются через сеть ZULE, которая была добавлена в 2018 году.[6].
Остальные библиотеки написаны на родной Java. Например, библиотека zpe_mysql используется для добавления функциональных возможностей MySQL к языку с помощью библиотеки, размер которой примерно в 6 раз превышает размер исходной среды выполнения.
Рекомендации
- ^ "Информация о среде программирования ZPE". Информация о ZPE. Получено 2019-02-02.
- ^ "Журнал изменений ZPE". Блог Джейми Бальфура. Получено 2020-10-21.
- ^ а б c d "Что такое ZPE?". Документация ZPE. Получено 2019-02-02.
- ^ а б "Документация по среде программирования ZPE". Документация ZPE. Получено 2019-02-02.
- ^ «Об этом сайте». Об этом сайте. Получено 2020-07-24.
- ^ а б "Журнал изменений ZPE: Документация по среде программирования ZPE :: jamiebalfour.com". Документация ZPE. Получено 2019-03-10.