fpl.library v5.10 ================= Frexx Programming Language (FPL) is an interpreting script/macro language shared library, designed to be flexible and easy inserted in any code. FPL is a complete script programming language _very_ similar to C. If you are a software developer and plans to add any kind of macro/script control, consider the FPL alternative! fpl.library lets the software programmer define functions that FPL should accept. The library will call a function in the software whenever any of these functions are used in an FPL program. The programming language features include: o Full ANSI C syntax statements with semicolon separations. o String, integer/long, char and short variables, including multidimensional arrays. o 100% ANSI C operator precedence and expression syntax. o C and C++ style comments. o A subset of the ANSI C function declaration and prototyping syntax and concepts. The use of functions is exactly as C. o Fully recursive, fully re-entrant. o Local/global variable levels just as in ANSI C. Global variables can be global within this particular file, or cross-file. o As an extension to C, local and global functions. Global functions can also be either system-wide or single file accessible. o Enhanced (from ANSI C) array compound assigns. o while, for, if, do, break, continue, else, int, exit, char, long, register, auto, volatile, typedef, const and return are 100% ANSI C compatible. 'while' has been extended with an 'else' support and 'break' with a multi level break option. o Octal, decimal, binary and decimal numbers are all easily used and mixed as in C; and for those parts not existing in C, likewise syntax. o A number of internal functions which include: strcmp, strncmp, strstr, atoi, strtol, strlen, abs and the FPL specific substr, eval, ltostr and interpret. o Supports the preprocessor instruction "#line" enabling FPL to run common C preprocessor output. Library features include: o Interpreting common ASCII text files. Create the programs in you favourite editor. o 100% real-time. o Using an own stack without charging the host process' stack, including extensive and exclusive stack expanding possibilies, controllable by the library programmer. o Full function argument parsing, you don't have to do more than reading them from the array FPL supplies you with. o Easily compiled to a shared library under any SVR4 UNIX, and compiled to link library under any modern operating system featuring an ANSI C compiler. (It has beeen successfully compiled under AIX, SunOS, Dell UNIX, HPUX and OS/2.) o Source code available enables fast ports to other operating systems. o fpl.library is smaller than 40KB. o Very dynamic function adding and deleting possibilities. o Dynamic program design. Small FPL programs will demand very little memory to run. o Demands less additional code than ARexx equivalences. o All library functions are fully re-entrant. o Deals with direct function calls instead of message port overhead, but can easlily be made to do so if wanted. o Resource tracking. All memory used/allocated by FPL is ALWAYS returned when calling FPL's cleanup routine. o Multi source file system. Declare and write functions in any number of files and call cross-file! FPL keeps track of the files and can be made to flush all files not in use. o Invoking single, already declared/defined, FPL functions from another FPL invoke is intuitive and easy done. o Internal functions can be replaced by user functions. Package advantages: o FPL is freeware! Use it for free. o Includes an example program that interprets a common C language expression from the command line. o More than 180 KB hyper text documentation. FPL is Copyright (C) 1992, 1993 by FrexxWare and freely distributable for non-commercial purposes only, including extensive documentation and source code. Author: Daniel Stenberg Birger Jarlsgatan 93b 3tr 113 56 Stockholm FidoNet 2:201/328 email: dast@sth.frontec.se