ZPE Programming Environment

YASS
ZPE logo
ParadigmImperative, functional, object-oriented, procedural
Designed byJamie Balfour
DeveloperJamie Balfour
First appeared2015; 9 years ago (2015)[1]
Stable release
1.12.9 [2] / September 1, 2024; 50 days ago (2024-09-01)
Typing disciplineDynamic, static, weak, strong, gradual[3]
Implementation languageJava, YASS
PlatformCross-platform
OSUnix-like, Windows, macOS
Filename extensions.yas .yex
Websitehttps://www.jamiebalfour.scot/projects/zpe/
Influenced by
C, PHP, Java, JavaScript, VB.NET, C#.NET, SML, Python[3]

ZPE Programming Environment (or simply ZPE), formerly the Zenith Parsing Engine is a general-purpose compiler, parser and runtime environment for the YASS language designed for educational use as well as for its general use. The language it interprets, YASS, is an interpreted, high-level, general-purpose programming language. YASS is largely built upon making the language easy to read and use, with optional support for syntaxes such as curly-bracket syntax. YASS supports dynamic typing or static typing, as well as strong typing and weak typing.

It was started in May 2015 as a planned university project but later was changed to be a replacement for another programming language developing at the time known as BlackRabbit Script, also built by Jamie Balfour. ZPE and YASS were designed to help with the automation of scripts by clearing up the inconsistent syntaxes of other scripting languages.[3] The Zenith Parsing Engine (formerly ZenithParser) powers the underlying parsers, including the CSV, JSON and XML parsers.

The ZPE Programming Environment is written in Java, making it cross-platform. A side effect is that specific plugins and built-in objects are entirely written in Java.

Whilst ZPE is closed source, all plugins, transpilers and additional tools are open-source. The Standard Algorithms library is also open-source and available on Balfour's GitHub page.

  1. ^ "ZPE Programming Environment information". ZPE Information. Retrieved 2019-02-02.
  2. ^ "ZPE Changelog". ZPE Changelog. Retrieved 2024-09-01.
  3. ^ a b c "What is ZPE?". ZPE Documentation. Retrieved 2019-02-02.