table of contents
falcon(1) | Falcon User Manuals | falcon(1) |
NAME¶
falcon - The Falcon Programming Language command line interpreterSYNOPSIS¶
falcon [options] [main_script] [script_options]DESCRIPTION¶
The falcon command line interpreter is used to launch, compile, assemble or debug scripts written in the Falcon Programming Language. The command line interpreter pushes the core module and the rtl module in the script load table, so they are available by default to all the scripts.OPTIONS¶
- -c
- Compile but do not execute. This makes falcon to compile the given module into a .fam file and then terminate. By default, the .fam file is written to a file with the same name as the input one, with the .fam extension.
- -C
- Check for memory leaks in VM execution. Like the -M option of faltest, this function sets the falcon engine memory allocators to slower functions that checks for memory to be allocated and deallocated correctly during the execution of a module. If the script is executed, before Falcon exits it writes a small report to the standard output.
- -d <directive>=<value>
- Sets the given directive to the desired value. Compilation directives and their values are the ones that scripts can set through the directive statement.
- -D <constant>=<value>
- Sets the given constant to the desired value. Constants are made available at compile time, and can be employed in macro and meta compilation.
- -e <enc>
- Set given encoding as default for VM I/O. Unless the
scripts select a different I/O encoding, the streams that are provided to
the falcon VM (like the output stream for printf) are encoded using the
given ISO encoding. This overrides the default encoding that is detected
by reading the environment settings. In example, if your system uses
iso-8859-1 encoding by default, but you want your script to read and write
utf-8 files, use the option -e utf-8
- -E <enc>
- Set source script encoding. As -e , but this determines only the encoding used by falcon when loading the source scripts. This options overrides -e values, so it can be used to set the script encoding when they have to read and write from different encodings.
- -f
- Force recompilation of modules even when .fam are found.
- -h or -?
- Prints a brief help on stdout and exits.
- -i
- Interactive mode. Falcon interpreter reads language statements from a prompt and present evaluation results to the user.
- -l <lang_code>
- Select a different language code for internationalized programs. This option loads an alternate string table for all the modules loaded. If the table doesn't exist or if the modules doesn't have a .ftr file containing the translation, the operation silently files and the original strings are used instead. Language codes should be in the international ISO format of five characters with a language name, an underscore and the regional code, like in en_US
- -L <path>
- Changes the default load path. This overrides both the
internal built in settings and the contents of environment variable
FALCON_LOAD_PATH. Each directory in the path should be separated by
";" and use forward slashes, like this:
- -m
- Use temporary files for intermediate steps. By default compilation is completely performed in memory; this option makes falcon to use temporary files instead.
- -M
- Do NOT save the compiled modules in '.fam' files.
- -o <fn>
- Redirects output to <fn>. This is useful to control the output of falcon when using options as -c, -a, -S etc. If <fn> is a dash (-) the output is sent to stdout.
- -p <module>
- Preloads the given module as if it were loaded by the main script.
- -P
- Ignore default load paths and uses only the paths set via the -L switch.
- -r
- Ignore source files and only use available .fam. This does not affects the main script; use the -x option if also the main script is a pre-compiled .fam module and source script must be ignored.
- -S
- Produce an assembly output. Writes an assembly representation of the given script to the standard output and the exit. Use -o to change file destination.
- -t
- Generates a syntactic tree of the source and writes it to the standard output, then exits. The syntactic tree is a representation of the script that is known by the compiler and used by the generators to create the final code. This option is useful when debugging the compiler and to test for the correct working of optimization algorithm.
- -T
- Force input parsing as .ftd (Falcon Template Document). Normally, only files ending with ".ftd" (case sensitive) are parsed as template document; when this switch is selected, the input is treated as a template document regardless of its name.
- -v
- Prints copyright notice and version and exits.
- -w
- After execution, requires the user to confirm program termination by pressing <enter>. This helps in point & click environments, where Falcon window is closed as soon as the program terminates.
- -x
- Executes a pre-compiled .fam module.
- -y
- Creates a template file for internationalization. This
option creates a single .ftt file from a single source, .fam module or
binary module. By default, the name of the template is the same as the
module plus ".temp.ftt" added at the end; it is possible to
change the destination template file using the -o option.
FILES¶
/usr/lib/libfalcon_engine.soDefault location of the Falcon Engine loadable
module.
Default directory containing Falcon binary
modules.
ENVIRONMENT¶
- FALCON_LOAD_PATH
- Default search path for modules loaded by the scripts.
- FALCON_SRC_ENCODING
- Default encoding for the source scripts loaded by falcon
(when different from the system default).
- FALCON_VM_ENCODING
- Default encoding for the VM I/O streams (when different
from system default).
AUTHOR¶
Giancarlo Niccolai <gc@falconpl.org>SEE ALSO¶
falrun(1) faldisass(1) fallc.fal(1)LICENSE¶
This document is released under the "GNU Free Documentation License, version 1.2". On Debian systems, the complete text of the Free Documentation License, version 1.2, can be found in /usr/share/common-licenses/.April 2007 | Falcon toolset |