Зенитті қозғалтқыш - Zenith Parsing Engine

ИА
ZPE logo.png
ПарадигмаИмперативті, функционалды, объектіге бағытталған, процессуалдық
ЖобалағанДжейми Бальфур
ӘзірлеушіДжейми Бальфур
Бірінші пайда болды2015; 5 жыл бұрын (2015)[1]
Тұрақты шығарылым
1.8.11 [2] / 21 қазан 2020 ж; 44 күн бұрын (2020-10-21)
Пәнді теруДинамикалық, әлсіз[3]
Іске асыру тіліJava, ЯСС
ОЖUnix тәрізді, Windows
Файл атауының кеңейтімдері.zpe, .zen, .zex, .zhtml, .zhtm, .ywp
Әсер еткен
C, PHP, Java, JavaScript, VB.NET, C # .NET, SML, Python[3]

ZPE бағдарламалау ортасы (немесе жай ZPE) формальды түрде Зенитті талдау механизмі жалпы мақсатқа арналған құрастырушы, талдаушы және аудармашы білім беруде, сондай-ақ жалпы қолдануға арналған ЯСС тілі үшін. Ол түсіндіретін тіл - ЯСС түсіндірілді, жоғары деңгей, жалпы мақсат бағдарламалау тілі. ЯСС негізінен тілді оқуды және қолдануды жеңілдетуге негізделген, мысалы, синтаксистерге қосымша қолдау көрсетіледі бұйра-жақша синтаксисі. YASS қолдайды динамикалық теру. Ол 2015 жылы жоспарланған университет жобасы ретінде басталды, бірақ кейінірек Джейми Бальфур салған BlackRabbit сценарийі деп аталатын басқа бағдарламалау тілінің орнына ауыстырылды. ZPE және YASS сценарийлерді автоматтандыруға көмектесу үшін басқа сценарий тілдерінің сәйкес келмейтін синтаксистерін жою арқылы жасалған[3]. Zenith Parsing Engine (бұрынғы ZenithParser) CSV, JSON және XML талдаушыларды қоса, негізгі талдаушыларға қуат береді.

ZPE жұмыс уақытымен түсіндірілетін тіл YASS немесе тағы бір қарапайым синтаксис ретінде белгілі[4]. ЯСС синтаксисіне бірнеше тілдер әсер етті, соның ішінде C, PHP, Java, JavaScript, VB.NET, C # .NET, SML және Python[3] ол шамамен 1.5 нұсқасынан бастап сол күйінде қалды. ZPE / YASS жалпы мақсаттағы бағдарламалау, клиент пен сервер байланысын қолдау және серверлік сценарийлер үшін қолданыла алады. Кейбір веб-сайттар ZPE-ді PHP сияқты басқа тілдермен қатар қолданады[5].

ZPE бағдарламалау ортасының өзі Java-да жазылған кросс-платформа. Мұның жанама әсері - белгілі бір плагиндер мен кіріктірілген нысандар Java-да толығымен жазылған.

ZPE болған кезде жабық көз, стандартты кітапхана ашық көзі және ЯССтың өзінде жазылған.

Ерекшеліктер

ZPE-де көптеген кіріктірілген функциялар, соның ішінде математикалық есептерді жеңілдететін функциялар бар, мысалы, үлкен_ден_барлығы, to_binary, to_octal және to_hexadecimal функциялары, сонымен қатар массивтерді өңдеуді жеңілдететін көптеген функциялар. тізім_процесі, көшірмелер тізімі және тізім_авто_халық. ZPE-де бүкіл тілдік процессордың негізін қалайтын және екеуін де орындайтын ZenithParser деп аталатын кіріктірілген талдағыш бар. лексикалық талдау және компиляторды оңтайландыру мәтіндік енгізу бойынша.

ZPE-ге арналған бастапқы ішкі сайтта барлық ішкі функциялар мен олардың синтаксисін құжаттайтын құжаттама беті бар.[4]

ZPE бастапқыда жоспарланған университеттік жоба ретінде салынды, ол ешқашан нәтижеге жетпеді және ақыр соңында ол Джейми Бальфур дамытқан BlackRabbit сценарий тілінің орнына қолданылды. ZPE-де бастапқыда математикалық талдаушы болмаған, яғни функциялар қосу, азайту, бөлу және көбейту үшін қолданылған. Осы ерте синтаксистің мысалы:

$ x = 10$ y = 15$ z = қосу($ x, $ y)басып шығару($ z)

2015 жылдың соңында ZPE-дің 1.3.x нұсқасында Нақты математикалық режим (RMM) талдағышы қосылды. Синтаксис басқа тілдерге көбірек ұқсайтын етіп өзгерді:

$ x = 10$ y = 15$ z = $ x + $ yбасып шығару($ z)

Өнімділікті жақсарту үшін 2016 жылы нақты математикалық режимді талдау құралы Логикалық және математикалық талдаушыға (LAMP), содан кейін 2019 жылы Логикалық және математикалық бағалаушыға (LAME) ауыстырылды.[6].

Кітапханалар

ZPE / YASS функционалдылықты кеңейту үшін әзірленіп жатқан кітапханаларға сүйенеді. Мұның басты себебі - негізгі жұмыс уақыты пакетінің көлемін азайту. Белгілі бір кітапханалар YASS тілінде жазылады, содан кейін жинақталады. Содан кейін олар 2018 жылы қосылған ZULE желісі арқылы таратылады[6].

Басқа кітапханалар Java тілінде жазылған. Мысалы, zpe_mysql кітапханасы MySQL функционалдылықтарын тілге кітапхананың көмегімен қосу үшін пайдаланылады, ол өзі бастапқы жұмыс уақытынан 6 есе үлкен.

Әдебиеттер тізімі

  1. ^ «ZPE бағдарламалау ортасы туралы ақпарат». ZPE ақпараты. Алынған 2019-02-02.
  2. ^ «ZPE Changelog». Джейми Балфурдың блогы. Алынған 2020-10-21.
  3. ^ а б c г. «ZPE дегеніміз не?». ZPE құжаттамасы. Алынған 2019-02-02.
  4. ^ а б «ZPE бағдарламалау ортасының құжаттамасы». ZPE құжаттамасы. Алынған 2019-02-02.
  5. ^ «Осы веб-сайт туралы». Осы веб-сайт туралы. Алынған 2020-07-24.
  6. ^ а б «ZPE Changelog: ZPE бағдарламалық орта туралы құжаттама :: jamiebalfour.com». ZPE құжаттамасы. Алынған 2019-03-10.