.. highlightlang:: us .. _uniscript: .. _what-is-uniscript?: What is UniScript? ================== UniScript is a programming language which is integrated into UniPlot and can be used to perform the following tasks: * Extend UniPlot with new functions: For example, the data import and the legend functions are programmed with UniScript. You can tailor these functions to your own needs. * Automate the creation of complete reports: You can write UniScript functions to automate these steps among others - Load Data, Transform Data - Create Diagrams - Save and Print Reports. * Perform complex mathematical operations with your data: UniScript has powerful functions to convert your data (for example, Search functions, Sort functions, FFT and other functions) and to display the results in 2D or 3D plots. For all of these tasks, UniScript is more suitable than programming languages like BASIC, FORTRAN or C. UniScript is an interpreter language. You do not have to compile and link the programs as with C or FORTRAN. Of course an interpreter is slower to execute a program than a compiler like C, but for some tasks UniScript is almost as fast as some of these languages because most of UniScript's operators can be applied on vectors and matrices. These and some other characteristics, like transparent memory management, make UniScript programs much shorter than programs written in C or in one of the other programming languages mentioned. UniScript is a small, compact language. It knows only three different data types (real numbers, complex numbers and strings). Only the most important flow control structures are supported, but a great number of operators are available. If you are familiar with the C programming language you will notice the syntax of UniScript is similar to it and you won't have any problems to write your own programs with UniScript. If UniScript can not supply the functions you need, you can integrate the functions into a Dynamic Link Library (DLL) written in C or FORTRAN and load them into UniScript. :sub:`id-1059231`