|
Felix tools |
|
flxl [-Iinclude-dir] filebasename flxp [-Iinclude-dir] filebasename flxm [-Iinclude-dir] filebasename flxd [-Iinclude-dir] filebasename flxb [-Iinclude-dir] filebasename flxcc control-filename flxg [-v] [-Iinclude-dir] filebasename flx_run libname flx_doc −−outdir=docidr filename .. flx [−−version] [−−help] [−−test] [−−force] [−−echo] [−−time] [−−inline] [−−static] [−−optimise] [−−optimize] [-c] [ [−−pkg=<pkg-config pkg>] [<file>.cpp] [<file>.o] [<file>.a] [<linkops>]..] filebasename |
|
The filebasename specifies the felix program to run. If there is an extension it should be .flx, if not it defauts to .flx. flxl lexes the input and prints the token list to standard output flxp lexes and parses the input and prints the parse tree to standard output flxm lexes, parses, folds constants and performs macro expansion of the input and prints the AST tree to standard output flxd lexes, parses and desugars the the input and prints the desugared AST tree to standard output flxb lexes, parses, desugars and binds identifiers and prints the bindings to standard output flxcc reads a preprocessed C header file and writes Felix wrapper bindings to out. The command accepts an argument which specifies wrapper generation configuration parameters. flx_doc Felix documentation generator. The −−outdir=dirname option specifies the directory into which to put documentation. Defaults to out_doc. Each of the subsequently listed filenames should be a Felix (*.flx) file, which is treated as a library. The documentation processor produces a set of HTML files documenting the interface. Comments specified with either the publish prefix or comment statement are also emitted into the documentation. flxg lexes, parses, desugars, binds, and generates C++ code. Two files, filebase.cpp and filebase.hpp are created. Use the -v option for verbose output. flx is a load and go test harness which compiles its argument to C++, compiles and links the C++ using gcc, then executes the resulting library using flx_run. |
|
−−test −−force −−echo −−debug −−inline −−optimise −−optimize −−static −−version −−time −−help -c −−pkg=<pkg-config pkg> *.cpp *.cxx *.o *.a <link opts> filebasename |
|
flxg is the compiler proper. flx[lpmdb] are provided to aid in debugging, and perform successive phases of the compilation process. flx is a script which combines felix compilation, C++ compilation of the output, and execution using the standard program driver, for rapid prototyping in a scripting style. flxcc is the wrapper generator for C headers. flx_doc is the documentation generator. It can be used to create HTML pages documenting any Felix code files. |
|
flx_run is the standard prgram driver. Its argument is a shared library which is passed to dlopen (note you need to use ./lib.so on linux to preempt the stanard search path). The driver creates a single thread from the libraries main entry point _init_ and runs the thread until it terminates, then exits. The message type here is void and the driver exists with an error diagnostic if the thread tries to read any messages. flx_sif is like flx_run except that it reads standard input and passes lines to the single instance thread. The lines include terminating newline character. A zero length line is passed at end of file. The message types is std::basic_string<char> |
|
*.flx *.cpp *.hpp *.par |
|
1.1.1 |
|
felix(1) for a language introduction and man page
index |
|
See http://felix.sourceforge.net |
|
John Maxwell Skaller, mailto:skaller@users.sourceforge.net |