---
name: "pike7"
section: "1"
platform: "linux"
package: "pike7"
version: "7.0.361-3"
release: "Debian 3.0 (Woody)"
platforms: ["linux"]
url: "https://new.carta.tech/pike7"
---

# pike7(1)

pike compiler and interpreter

## 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).

- **-a***num*

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

- **-D***symbol*

  Define the preprocessor symbol *symbol* to 1.

- **-D***symbol=value*

  Define the preprocessor symbol *symbol* to *value.*

- **-d**

  Increase the debug level with 1 (debug).

- **-d***num*

  Set the debug level to *num* (debug).

- **-dc**

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

- **-ds**

  Debug signals (debug).

- **-dt**

  Turn off tail recursion optimization (debug).

- **-l**

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

- **-l***num*

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

- **-m***master\_program*

  Use *master\_program* instead of the ordinary master program.

- **-q***num*

  End execution after executing *num* Pike instructions.

- **-s***num*

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

- **-t**

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

- **-t***num*

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

- **-p**

  Increase the level of profiling with 1 (debug).

- **-p***num*

  Set the level of profiling to *num* (debug).

- **-rt**

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

- **-rT**

  Turn on **for all files.**

The following options are supported by the default master program:

- **-h, --help,**

  Print help message and exit.

- **-e***expr,***--execute***=expr*

  Execute *expr* and exit.

- **-E, --preprocess**

  Just run the preprocessor.

- **-I***dir,***--include-path***=dir*

  Append *dir* to the include path.

- **-M***dir,***--modue-path***=dir*

  Append *dir* to the module path.

- **-P***dir,***--program-path***=dir*

  Append *dir* to the program path.

- **-v, --version**

  Print version of Pike and exit.

- **-w, --warnings**

  Enable warnings.

- **-W, --woff, --no-warnings**

  Disable warnings.

- **--compiler-trace**

  Turn on tracing of the Pike compiler (debug).

- **--debug**

  Increase or set the debug level (debug).

- **--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 script.

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

## REGISTRY KEYS

On NT, Pike is affected by the following keys in the registry:

**HKEY\_CURRENT\_USER\\Software\\Idonex\\Pike\\0.6\\PIKE\_MASTER** **HKEY\_LOCAL\_MACHINE\\Software\\Idonex\\Pike\\0.6\\PIKE\_MASTER**

Specifies the name of the master program (overridden by **-m***master\_program* ).

On NT, the default master program is affected by the following keys in the registry:

**HKEY\_CURRENT\_USER\\Software\\Idonex\\Pike\\0.6\\share\_prefix** **HKEY\_LOCAL\_MACHINE\\Software\\Idonex\\Pike\\0.6\\share\_prefix**

Specifies the prefix for architecture independant files. **share\_prefix***/include* is added to the include path, and **share\_prefix***/modules* is added to the module path.

**HKEY\_CURRENT\_USER\\Software\\Idonex\\Pike\\0.6\\lib\_prefix** **HKEY\_LOCAL\_MACHINE\\Software\\Idonex\\Pike\\0.6\\lib\_prefix**

Specifies the prefix for architecture dependant files. **lib\_prefix***/include* is added to the include path, and **lib\_prefix***/modules* is added to the module path.

## ENVIRONMENT

Pike is affected by the following environment variables:

- **PIKE\_MASTER**

  Specifies the name of the master program (overridden by **-m***master\_program* ).

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.

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/lib/pike/master.pike**

  default master program

- **/usr/local/lib/pike/modules/\***

  dynamically loaded modules

- **/usr/local/share/pike/modules/\***

  modules implemented in pike

- **/usr/local/lib/pike/include/\***

  architecture dependant include-files

- **/usr/local/share/pike/include/\***

  pike include files

## SEE ALSO

[**hilfe**(1)](/hilfe/1.md), **Getopt**(3P), [**environ**(5)](/environ/5.md)

*Pike Programming Tutorial*
