ZPE can be run through its graphical editor or from a command line. This page describes the current ZPE Argument Commands (ZACs), their options, and the forms used to run YASS source files and compiled applications.
From the GUI
Double-clicking zpe.jar opens the ZPE graphical editor. The equivalent
command is zpe -g. A file may be opened immediately with
zpe -g $filepath.
Use --simple to start the simpler editor interface. The
--console form opens a source file in the ZPE console and accepts
--debugging and --top.
From the command line
On macOS or Linux, open a terminal. On Windows, open PowerShell or Windows Terminal. ZPE may be run directly from its JAR:
java -jar zpe.jar
After installation, the shorter command can be used from any directory:
zpe
To install the command-line launcher and ZPE support files, run:
java -jar zpe.jar --install
A ZPE Argument Command, or ZAC, selects the operation ZPE should perform. Run
zpe without a ZAC to display the command summary.
ZPE Argument Commands
-a: Analyse code-
Checks whether a YASS source file is well-formed and valid. Add
--diagnosefor line-based diagnostics and analysis time.zpe -a $filepath [--diagnose] -b: Byte-code view-
Prints the byte-code tokenisation of a YASS program. Verbose mode prints each symbolic byte-code name as well.
zpe -b $filepath [--verbose] -c: Compile-
Compiles a YASS source file or project directory to a YASS executable. If
-ois omitted, the output isout.yex. A project directory combines its.yasfiles and packages its other resources.zpe -c $filepath [-o $outfile] [-k $key] [-f $include_directory] [-optimise $boolean]Native compilation uses ZPEX. The optional
--waitswitch makes the generated program wait before closing.zpe -c $filepath -o $outfile --native [--wait] -d: Debug-
Runs source code through the debugger. The default debugger port is 45678.
zpe -d $filepath [-port $port] [-level $permission] [-args $args...]A project directory may be supplied with
--directory; use--resource-rootto override its resource directory. -e: Export or transpile-
Transpiles YASS through an installed language transpiler. Use
listto show the available transpilers.zpe -e listzpe -e $filepath -t $language [-o $outfile] [-n $class_name] -g: Graphical editor-
Starts the ZPE editor, optionally opening a file.
zpe -g [$filepath] [--simple]zpe -g $filepath --console [--debugging] [--top] -h: Help and information-
Displays the main help or one of the specialised information views.
zpe -h [changes | log | bytes | commands | config | keywords | functions]zpe -h doc -f $compiled_filepath -i: Interactive mode-
Starts the interactive YASS interpreter, or immediately executes a supplied code string.
zpe -i [$code] [-level $permission]Continuing incomplete input
When input opens a block without closing it, the interpreter waits for the remaining lines. Continue until the matching terminator is entered. Python-style indented blocks may instead be completed by returning to the preceding indentation level.
-l: ZPE-PM Lite client-
Sends a YASS file to a running ZPE Process Manager. The default host is
localhostand the default port is8940.zpe -l $filepath [-h $host] [-p $port] [-t $timeout][--verbose] -n: ZEN networking-
Without
-h, starts a ZENServer. With-h, connects as a ZENClient.zpe -n $port [-k $key] [-level $permission] [-f $prepend_file]zpe -n $port -h $host [-k $key] [-r $command] -o: ZPE Online-
Lists public ZPE Online downloads, or downloads the entry identified by a hash.
zpe -o [$hash] [-f $output_file] -p: Process Manager-
Starts ZPE-PM, the socket-based ZPE process manager. Its default port is 8940.
zpe -p [$port] [--v | --vv | --vvv] -q: Quickfire-
Starts the graphical single-line YASS evaluator.
zpe -q [-level $permission] -r: Runtime-
Compiles and runs a local YASS source file, a URL, or a project directory.
zpe -r $filepath [-level $permission] [-args $args...] [--jit] [--use_zpe_events]zpe -r $directory --directory [--resource-root $directory] [-args $args...] -s: String view-
Prints the source tokenisation. Add
-cto print a cleaned representation instead.zpe -s $filepath [-c $clean_up] -t: Tree view-
Prints the parsed code tree for a YASS source file.
zpe -t $filepath -u: YASS Unfold-
Explains the code in a YASS source file. Add
--htmlto generate HTML output.zpe -u $filepath [--html] -w: Web parser-
Executes a YASS Web Page, compiles one to a YASS Executable Page with
-o, or runs a compiled page with--execute.zpe -w $filepath [-o $output_file] [--execute] -x: Cron scheduler-
Runs a YASS source file every day at a local time:
zpe -x $filepath -at HH:mm[:ss] [-level $permission]Add
--oncefor only the next occurrence, or-onfor one specific local date:zpe -x $filepath -at HH:mm[:ss] --once [-level $permission]zpe -x $filepath -on YYYY-MM-DD -at HH:mm[:ss] [-level $permission]When
-atis omitted, the filepath is read as a crontab-style schedule:zpe -x $schedule_file [-level $permission]ZPE cron schedule# minute hour day-of-month month day-of-week YASS-file 0 9 * * 1-5 scripts/morning.yas */15 * * * * scripts/check_status.yas 0 0 1 * * scripts/monthly_report.yasCron fields support wildcards, lists, ranges and steps. Sunday may be written as
0or7. Blank lines and lines beginning with#are ignored. Relative YASS paths are resolved from the schedule file's directory. -z: Development web server-
Serves local HTML, CSS, JavaScript and YASS web pages from a directory.
zpe -z $directory [--port $port] [--verbose]
Running compiled programs
A filepath without a ZAC runs a compiled YASS application. Additional values are passed to the application as arguments.
zpe $filepath [$args...] [-level $permission] [-k $passcode] [--info]Utility commands
--configureRecreates the default ZPE settings files.
zpe --configure--copyrightDisplays ZPE copyright information.
zpe --copyright--installInstalls ZPE and its command-line launcher. A memory limit may be selected in megabytes.
zpe --install [-memory $megabytes]--logPrints the installed ZPE log file when it exists.
zpe --log--manShows the internal manual entry for a built-in command.
zpe --man $command_name [--html | --json]--plugins-
Lists installed plugins, displays detailed plugin information, or vets a plugin JAR.
zpe --plugins [--info] [--json]zpe --plugins $plugin_jar --vet --properties-
Lists ZPE properties or reads and changes one property. Use
-t guifor GUI properties.zpe --properties [-k $key [-v $value]] [-t gui] --toolsRuns a bundled ZPE tool. The current tool is the interactive plugin validator.
zpe --tools plugin_validator--updateChecks for and installs a ZPE update.
--forcepermits reinstalling the latest version and--nightlyselects nightly builds.zpe --update [--force] [--nightly]--versionPrints the installed ZPE version. Verbose output includes additional build information; JSON provides machine-readable output. The remaining switches select one concise component of the version.
zpe --version [--verbose | --json | --short | --major | --minor]--zpecLists or clears entries in the ZPE Performance Enhanced Cache.
zpe --zpec list | purge--zule-
Lists packages from the ZULE repository or installs a named package or the default plugin set.
zpe --zule listzpe --zule install $package_namezpe --zule install --plugins
Global options
--silent- Suppresses the usual introductory output.
--color- Enables coloured terminal output.
--colorless- Forces coloured terminal output off.
-level $permission- Sets the runtime permission level for commands that execute YASS code.
-error $level- Sets the amount of runtime error information ZPE reports.
--disable_file_cache- Disables the runtime file cache for the current invocation.
--enable_all_commands- Overrides the configured disabled-command list for the current invocation.
--experimental- Enables experimental ZPE language and runtime features.
--experimentalui- Enables experimental features in graphical interfaces.
Options shown for a particular ZAC apply only to that operation. Run zpe
without arguments to see the concise command list for the installed version.

There are no comments on this page.
Comments are welcome and encouraged, including disagreement and critique. However, this is not a space for abuse. Disagreement is welcome; personal attacks, harassment, or hate will be removed instantly. This site reflects personal opinions, not universal truths. If you can’t distinguish between the two, this probably isn’t the place for you. The system temporarily stores IP addresses and browser user agents for the purposes of spam prevention, moderation, and safeguarding. This data is automatically removed after fourteen days. Your email address is stored so that replies can be sent to your email address.
Comments powered by BalfComment