syntax

defining symbols

It is possible for the XPE parser to determin what your source code is trying to do depending on the context in which the symbols appear. However it is also possible that a mistake early on in your source could trick the parser into seeing errors further on in the source code and not at the place where it actually occured. This type of mistake is difficult for the user to track down and fix. So it has been decided to mandate certain types of hints to the parser. That is, the user must define a symbol that is not reserved as being either a variable or a function. This does not apply to members of structures since structures in XPE are dynamic.

source code format

The source code is NOT free format

Only one statement to a line is allowed

statement seperators are not required or allowed ('C' uses the semicolon  ';'   character, XPE uses end of line)

'for', 'while', and 'if' statements have strict formats and cannot be split across multiple lines

e.g.

for statement must all be on one line

for   <expr>   while    <expr>   step    <expr>   do

subsequent statements that make up the body of the for loop must be placed on subsequent lines and the 'done' statement must be the last statement of the loop

see source format for more details

limitations

currently methods must explicitly prefix object members with 'this.'

language elements

comments
types
coercion
arrays
structures
variables
local variables
operators
loop  (for, while)
conditional  (if  then  else)
functions
generators
methods
modules / scope
external functions
debugging
access examples