pike(1)

NAME
pike - pike compiler and interpreter

SYNOPSIS
pike [ -driver-options ... ] [ script [ script-arguments ... ] ]

DESCRIPTION
Compiler and interpreter for the Pike programming language.

OPTIONS
The following options are supported by the loader:

-a  Increase the debug level of the peep-hole optimizer with 1 (debug).

-anum
    Set the debug level of the peep-hole optimizer to num (debug).

-Dsymbol
    Define the preprocessor symbol symbol to 1.

-Dsymbol=value
    Define the preprocessor symbol symbol to value.

-d  Increase the debug level with 1 (debug).

-dnum
    Set the debug level to num (debug).

-dc Increase the debug level of the Pike compiler (debug).

-dg Resets the debug malloc at every garbage collection (debug).

-dL Windows only: Enable Windows error dialogs when dll files cannot be loaded.

    It is common that Pike has modules which are linked to dll files that are not available in all installations. Therefore these error dialogs are disabled by default so that Pike does not hang on them when attempting to load certain modules.

    However, the error dialogs are the only way to see which dll's that could not be loaded, so this option may be necessary to find out why a certain module does not load.

-dp Turns off the peep hole optimization (debug).

-ds Debug signals (debug).

-dt Turn off tail recursion optimization (debug).

-dT Enable extra checks in the thread library, e.g. mutex sanity checks (debug).

-l  Increase the debug level of the global optimizer with 1 (debug).

-lnum
    Set the debug level of the global optimizer to num (debug).

-mmaster_program
    Use master_program instead of the ordinary master program.

-p  Increase the level of profiling with 1 (debug).

-pnum
    Set the level of profiling to num (debug).

-ps Enable stack profiling (debug).

-qnum
    End execution after executing num Pike instructions.

-rt Turn on runtime checking of arguments to function calls, and soft casts.

-rT Turn on #pragma strict_types for all files.

-snum
    Set Pike stack size to num (minimum is 256).

-ssnum
    Set the pike C-level thread stack size to num.

-t  Increase the level of runtime trace with 1 (debug).

-tnum
    Set the level of runtime trace to num (debug).

-tg Log the gc runs to stderr.

The following options are supported by the default master program:

-h, --help,
    Print help message and exit.

-eexpr,--execute=expr
    Execute expr and exit.

-xtoolname
    Execute internal tool toolname from Tools.Standalone. Omit toolname for a list of available tools.

-E, --preprocess
    Just run the preprocessor.

-Idir,--include-path=dir
    Append dir to the include path.

-Mdir,--modue-path=dir
    Append dir to the module path.

-Pdir,--program-path=dir
    Append dir to the program path.

-v, --version
    Print version of Pike and exit.

-Vmajor.minor,--compat=major.minor
    Set the compatibility version to Pike version major.minor.

-w, --warnings
    Enable warnings.

-W, --woff, --no-warnings
    Disable warnings.

--assembler-debug
    Set the peephole optimizer debug level (debug).

--autoreload
    Turn on the autoreload mode of the master.

--compiler-trace
    Turn on tracing of the Pike compiler (debug).

--debug
    Increase or set the debug level (debug).

--debug-without=feature
    Hide feature from the resolver (debug).

--dumpversion
    Print the Pike version number to stderr, e.g. "..10\n"

--features
    List some of the features that are enabled in this Pike binary and exit (debug).

--info
    Show various information about this Pike installation and exit (debug).

--optimizer-debug
    Set the global optimizer debug level (debug).

--show-all-cpp-warnings, --picky-cpp
    Enable warnings for failing #if constant() expressions.

--show-paths
    Show the paths pike will use and exit (debug).

--trace
    Increase the trace level (debug).

--trace=num
    Set the trace level to num (debug).

OPERANDS
The following operand is supported:

script
    A path to a script written in Pike to be compiled and then executed. Everything on the commandline after the script is passed as arguments to the main() function in the script.

If no script is specified, pike will start in interactive- (Hilfe) mode.

REGISTRY KEYS
On Windows, Pike is affected by the following keys in the registry:

HKEY_CURRENT_USER\Software\Pike\.\PIKE_MASTER HKEY_LOCAL_MACHINE\Software\Pike\.\PIKE_MASTER
    Specifies the name of the master program (overridden by -m). If these keys are not set (the default), then Pike finds the master by relative path from pike.exe.

ENVIRONMENT
Pike is affected by the following environment variables:

PIKE_MASTER
    Specifies the name of the master program (overridden by -m).

Depending on operating system Pike may be affected by the following environment variables:

LC_ALL
    Overrides the other LC_* variables.

LC_COLLATE
    Specifies the character collation sequence.

LC_CTYPE
    Specifies the character classification.

LC_MESSAGES
    Specifies the language of the system messagedatabase.

LC_NUMERIC
    Specifies the decimal and thousand delimiters.

LC_TIME
    Specifies the date and time formats.

The default master program is affected by the following environment variables:

PIKE_INCLUDE_PATH
    List of directories separated with colon (:), to search for include-files.

PIKE_PROGRAM_PATH
    List of directories separated with colon (:), to search for program-files.

PIKE_MODULE_PATH
    List of directories separated with colon (:), to search for modules.

LONG_PIKE_ERRORS
    If set disables truncation of paths in backtraces.

SHORT_PIKE_ERRORS
    If set and LONG_PIKE_ERRORS is not set, truncates paths to just the filename in backtraces.

PIKE_BACKTRACE_LEN
    The maximum number of elements in arrays to describe in backtraces.

Note that the above environment variables have effect before the default master program attempts to load the Getopt(3P) module, which occurrs before the master program arguments are parsed.

EXIT STATUS
The following exit values are returned:

0   Successfull completion.

>0  An error occurred. See output on stderr (fd #2) for reason.

FILES
/usr/local/pike/..*/lib/master.pike
    default master program
/usr/local/pike/..*/lib/modules/*
    default module directory
/usr/local/pike/..*/lib/?.?/*
    backward compatibility modules
/usr/local/pike/..*/lib/include/*
    pike include files
/usr/local/pike/..*/tools/pike.el
    emacs fontlock definitions for pike-mode
/usr/local/pike/..*/include/pike/*
    C-include files
/usr/local/pike/..*/man/*
    manual pages for pike

SEE ALSO
hilfe(1), Getopt(3P), environ(5).

Pike Programming Tutorial

Pike Reference Manual

Pike: an Introduction by H. William Welliver III and Martin Bähr, 2007.

http://pike.ida.liu.se/