Series Processing Language - SPL

SPL, Series Processing Language, is a compact language designed specifically for manipulating data and performing actions within the DADiSP Worksheet environment. SPL routines, or user defined functions, are created by combining built-in DADiSP functions and/or other SPL routines.

SPL is very reminiscent of C/C++, featuring C/C++ like statement processing, control flow, variable manipulation and user defined functions. SPL can be considered one of the contemporary C family languages that includes C/C++, Java, and C#.


SPL Editor

Sets the text editor for creating and editing SPL files. Any text or code editor can be specified.


Processing

Determines the behavior of SPL for array manipulation and function loading.

Array Reference Results Inherit Series Attributes Operations such as b = a[1..10, 3..5] preserve the units, deltax, xoffset and other properties of the original array. If unchecked, such operations set default properties for the result.
Empty Series Comparison Returns Empty The equality operator, ==, returns an empty series if at least one of the operands is an empty series. If unchecked, the result will be 1 or 0.
Start Index for Arrays Sets the index value for the first point of a series or array. The default value is 1 such that a[1] refers to the first point in series a. See the startindex function to dynamically set the start index within an SPL function.

Read SPL Functions form File

Controls how SPL functions are loaded.

Manually SPL functions must be explicitly loaded using splload, splcompile or splread.
Automatically SPL functions are automatically loaded when encountered. The system searches various locations to find the SPL file corresponding to the SPL function. Recommended.
Always SPL functions are always read from a file when encountered, even if previously loaded into memory. Useful when developing new SPL routines.

Error Handling

Determines how compile time and run time errors are handled.

Show Compile Error Displays SPL syntax errors as they occur. Recommended.
Enable Run Time Error Handlers Allows a custom error handle to be executed when a run time error occurs. For example, given the SPL function myfun, the error handler myfun_error is executed if it exists and an error occurs. Recommended.
Show Run Time Errors in Message Box Displays errors in a pop-up box. If unchecked, runtime errors display in the status line only.
Show Line Numbers in Error Messages Display the specific line number where the error occurred in the SPL function. Requires Save Line Numbers to be set. Recommended.
Show SPL Stack Trace in Error Messages Include the SPL call sequence that led to the error. The last (most recent) SPL function to be called is shown first in the call list.

Misc

Miscellaneous properties of SPL functions.

Save Line Numbers Saves line number information in a compiled SPL function. Very useful for debugging and error reporting. Recommended.
Enable Automatic Commands Allows functions such as view("readme.txt") to be invoked in "command form" as view readme.txt. Recommended.
View Line Numbers Displays line numbers when viewing SPL files. Requires Save Line Numbers. Recommended.
Show Macro Defines Displays a message when an SPL function defines a macro with the #define statement.
Save Last Answer Saves the last string, scalar, series or array result of an operation to the variable ans.
Use j as Imaginary Unit Defines j == i == sqrt(-1) as an alternative to the base imaginary unit.