cxcl NAME cxcl - a Concatenative Language Interpreter Virtual-Machine based on the XCLE library parsing and execution capabilities. SYNOPSIS cxcl -h | [-L] [-l module] | -H | -H name | [options] -f file | [options] code-block ... DESCRIPTION The XCL compiler/interpreter is a generic command-line interface to the compiler functionnalities of XCLE. It can parse and execute XCLE programs, respectively from the command line, and with the -f option, from files. Options: -h | --help : prints this help and returns -v | --version : prints the version of this program -L | --no-defload : do not load default primitives modules -l | --load : loads a binary primitives module -H | --prim-list : prints the list of defined primitives in loaded modules -H : prints information about the primitive --prim-info : prints information about the primitive --prim-detail : prints information about all defined primitives -f | --file : introduces a file name to be loaded Verbosity options: A leading '-' followed by one or more characters among c * : prints 'echo' comments in read file (started by ##) C * : don't print 'echo' comments in read file r : prints error reports for each code-block R : don't print error reports s : prints all stack levels for each code-block S : prints all stack levels at the end of execution p : prints the first stack level for each code-block P : prints the first stack level at the end of execution 0 : absolutely quiet execution - usefull for stack preload or verbosity reset (*: only meaningfull when used with "-f file") Debugging options: A leading '-u' string, enabeling the base debugging level, eventually followed by characters in the range 1-9, A-Z specifying additional levels to turn on. Syntax: Files must contain one code-block per line (use \ before a \n to wrap long lines). Lines whose first character is # are comments, silently ignored, or echoed when the TWO first characters are # and the -c flag is set. A code-block is a space-separated list of numbers : +3.141526e00 / -12345 strings : "hello world" instructions: / <*> barewords : interpreted in order as numbers, then builtins, and strings if everything else failed lists : [ foo bar 10 2 ] ( any of the above, separated by spaces and inside square brackets ) Primitives: To get the list of known primitives, type: cxcl -H For specific help about some primitive, type: cxcl -H built-in_name FILES Default modules If the -L option is not specified, cxcl looks for modules to load in the CXCL_DEFAULT_MODULES environment variable, a list of modules names separated by ':'. If this variable is not defined or empty, it looks for 'libXCLstd.so'. If modules names are not absolute or relative filenames (i.e. contain no '/'), the modules are searched for in standard library paths, possibly defined by the LD_LIBRARY_PATH environment variable. AUTHOR Author: Yann LANDRIN-SCHWEITZER Contact: varkhan@varkhan.net Homepage: http://www.varkhan.net/ LICENSE This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA