Beta version 0.2.3

Purpose of this Language Revision
Superx++ beta 0.2.3 constitutes the introduction of shortx. shortx is the textual syntax for Superx++ that is patterned loosely after the C family of languages. The reason for the creation of shortx is to get around the problem of reading and writing Superx++ programs.

It is now possible to write Superx++ code without wading over the XML syntax of the language. This will assist those who wish to use Superx++ without being inundated by the syntactical issues related to XML: the angle brackets and the verbosity, for starters!

Demo shortx Program Files
Array sample (shortx version)
Array sample (XML version-- generated by Templx)

Current Status of shortx
shortx currently implements all of the major Superx++ statements that have been released under the XML syntax. There are some exceptions, such as the database-related statements. These will be implemented as time goes on. However, it is possible to write Superx++ programs in mixed syntax. This means that you can have a shortx program include XML syntax Superx++ statements.

File Extensions for shortx versus XML syntax
shortx files have the extension .shx whereas XML syntax Superx++ files have the extension xpp. Templx (the Superx++ IDE) can translate .shx files into .xpp files. The .xpp files are then run using any of the Superx++ interpreters. I do not use the term "compilation" for this process since the XML syntax files tend to be 200% larger (or more) than their shortx counterparts.

The demo .shx files show how small Superx++ programs now are using the shortx syntax. These demo files are with all the rest of the demo Superx++ program files. You can download them with the source code download or the executables download.

Future Work for shortx
shortx will be ammended to implement the remaining Superx++ statements that have not yet been implemented in shortx but exist in the Superx++ XML syntax.

shortx Statements
attr Define an XML attribute on a Superx++ object
break Exit from a loop
class Define a class
deleteclass Deletes a defined class from run-time class memory
do ... until Loop until a condition is true
do ... while Loop while a condition is true
exec Executes the contents of a Superx++ file
file Reads the contents of a file
for A for loop
getclasses Returns the run-time class memory
getmem Returns the run-time memory for Superx++ objects
getexception Returns the most recent exception
getxin Returns the input stream
getxout Returns the contents of the output stream
getxpp Returns the Superx++ program object
if An if conditional
include Include a shortx source file
lib_close Closes the connection to an external library executable
lib_func Calls a public function in an external library executable
lib_open Opens a connection to an external library executable
node Define a Superx++ object
post HTTP Post an XML node or Superx++ object to an URL
save Save an XML node or Superx++ object to a file
saveprogstate Saves the state of a Superx++ program to a state file
switch A switch conditional
throw Throw/raise an exception
try ... catch Trap any raised exceptions within a section of Superx++ code
while Loop while a condition is true
xcall Calls a remote Superx++ program
xout Writes data to the output stream as a string
xpp Defines a Superx++ program
xservice A call to a Superx++ service or sending a Superx++ object as a courier messenger
Define array or variable Defines a variable or an array

How To Write shortx Programs
1) Write your shortx program source code and save them in .shx files
2) Open the main entry source file in Templx
3) Using the Translate menu, select shortx to Superx++. This will:
    a) translate the shortx code into XML syntax Superx++.
    b) create .xpp files for each of the .shx files.
4) Run the .xpp files using Templx or any of the other Superx++ interpreters.

Changes to Templx
1) Templx now translates shortx programs to XML syntax Superx++ programs.
2) Running a shortx program produces .xpp files for each .shx file. Then the .xpp files are run by Templx.

Affected Software To Be Removed and Installed
Do the reinstall of the software to get the beta 0.2.3 source code and executables.