Jamie Balfour

Welcome to my personal website.

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

Official ZPE/YASS documentationDirectives

Official ZPE/YASS documentationDirectives

Directives are written using the @ syntax.

External documentation

Perhaps the most common directives are those associated with external documentation.

External documentation is appended to the functions at compile time when exporting to a library file. This means after the code is compiled, using the -h doc command on the compiled file and requesting the documentation by name will return the text that was allocated to that documentation:

YASS
@doc "MyFunction : This function returns true"
@author "Jamie Balfour"
@date "July 2020"
function MyFunction ()
  return true
end function
    

The description must be quoted after the @doc directive. This is available only as of version 1.4.1. Previous versions use a different system.

This kind of documentation can be very useful if you are distributing your compiled code or planning to add it as a library.

Accessing it again is done with the -h ZAC applied on a compiled script.

Command line
zpe -h doc -f file.zex -s $function_name

Prior to version 1.4.1

In older versions of ZPE, internal documentation can be exported using @ commands within multiline comments.

YASS
/*@doc My function:This function returns true*/
    

The colon in the middle splits the documentation into two halves, one for the name (on the left) and one for the description (on the right).

When using the @ commands, the comment must use the multiline comment symbols /* and */.

The standard library (stdLib) contains examples of these directives.

Other directives

There are plenty of other directives coming to ZPE, but as of version 1.11.9 there is only the one.

prevent_auto_include

The prevent_auto_include directive is used to prevent a compiled program having to include a file at the start which can potentially overwrite code within it.

YASS
@directive prevent_auto_include : true
    
Comments
Feedback 👍
Comments are sent via email to me.