Jamie Balfour

Welcome to my personal website.

Find out more about me, my personal projects, reviews, courses and much more here.

Official ZPE/YASS documentationWhat is ZPE?

Official ZPE/YASS documentationWhat is ZPE?

ZPE or the ZPE Programming Environment (previously the Zenith Parsing Engine) is an all-in-one parser, compiler, interpreter and runtime for the YASS or Yet Another Scripting Syntax language (the official language is called ZPE/YASS).

There are four cornerstone elements of ZPE, namely, the runtime and compiler; the web parser; the graphical user interface; and the server and client (collectively known as ZPE Extensions for Networking or ZEN). These components are bundled in all versions of ZPE.

The main purposes behind ZPE/YASS are to clean up the inconsistent syntaxes of other scripting languages such as PHP in a fast, cross-compatible package that can be used on Windows, Mac and Linux computers to perform operations for users with ease. For example, ZPE/YASS takes two lines of code to create a socket, whereas in PHP or Java it takes dozens of lines of code. It is also to provide an excellent array of core functions that can be accessed very easily from a command line.


The underpinning foundation that makes both ZPE and YASS possible is the Zenith Parsing Engine (the formerly ZenithParser) - a project that has been under development since it's advent in 2015 as a replacement for the BlackRabbit Script parser. The first version of the Zenith Parsing Engine parser is around 5 times faster than it's predecessor and does not rely on regular expressions the way its predecesor did and is also designed to be reusable. It also reduces backtracking over the original version of ZPE in May 2015. The parser is used across a variety of different applications built into the ZPE package such as the JSON and CSV parsers. In September 2022, the Zenith Parsing Engine separated from the ZPE Programming Environment and is separately maintained.

YASS is a dynamic, weakly typed programming language. It also has the TYPO system that brings static runtime typing as an optional feature to ensure type-correctness. Dynamic type checking can slow down the runtime, thus to increase its performance, it is done when code is compiled.

YASS is designed to be an easy to learn language that makes it a great language to learn but it can also be used for general purpose use, with many features including the built-in YASS web parser, a YASS web parser, an interactive interpreter and a built-in graphical interface.

YASS is built with the most inspirational features from several languages with which it draws it inspiration from such as C, PHP, Java, JavaScript, Python, VB.NET, C#.NET and SML. The basis for the YASS syntax was entirely designed around these languages own features with additional features, such as syntatic sugar, added.

ZPE/YASS makes it easy to do things that would otherwise be difficult. It seeks to become the one-stop-shop for accessing tools. For example, ZPE makes it very easy to get the average of a CSV file using just two lines, or post to remote server using HTTP's POST method, or to connect to another system via a socket, or use MQTT to control IoT devices. It makes it easy to do all of this and yet it still feels like a programming language.

ZPE also features many other things like a client-server model where a server can process commands on behalf of a client or the client can remotely control the server (for example, I shutdown my PC from my Apple Watch using ZPE/YASS).

As well as featuring this extensive documentation that covers all of the core features of the language as well as the built-in predefined functions of ZPE/YASS, I have created a course on ZPE/YASS which is available free from my website.

As well as providing all of that there is ZPE Online, a service that allows you to create programs and store them on cloud storage. You can then share your code with the wider community as I do with the Standard Library for ZPE amongst other programs I have written.

You can see some example code in my Standard Library that is available here. The Standard Library can be compiled and included in any program very easily, or you can simply use ZULE to download a compiled version.

To download ZPE, click here.

Feedback 👍
Comments are sent via email to me.