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

# chpp(1)

text preprocessor

## NAME

chpp - text preprocessor

## SYNOPSIS

**chpp** *\[options\] \[files ...\]*\

## DESCRIPTION

This manual page documents briefly the **chpp**, command. This manual page was written for the Debian GNU/Linux distribution (but may be used by others), because the original program does not have a manual page. Instead, it has documentation in the GNU Info format; see below.

**chpp** is a preprocessor. Therefore, its main purpose is to modify input text by including other input files and by macro expansion.

Two main features distinguish **chpp** from programs like m4 and cpp.

**chpp** is non-intrusive. This means that you can take your favourite text and it is very unlikely that it will be changed when piped through \`chpp'. Due to this feature it is pretty easy to start using \`chpp' since you can just start writing your text and need not concern yourself with \`chpp' sitting in the background changing it for no obvious reason.

**chpp** is not just a package for performing simple macro expansion, but can indeed be considered a full-fledged programming language.  Most importantly, it provides support for complex data structures, namely lists and hashes (associative arrays), which can be nested arbitrarily.

## OPTIONS

The programs follow the usual GNU command line syntax, with long options starting with two dashes (\`-'). A summary of options are included below. For a complete description, see the Info files.

**chpp** reads and processes all specified files in sequential order, as if they were one file. If no file is specified, \`chpp' reads from standard input. Output is written to standard output if not otherwise specified. The following is a summary and description of all available \`chpp' options:

- **--version**

  Prints out the version number of the invoked \`chpp'.

- **--help**

  Prints out a summary of \`chpp' command line syntax.

- **-o, --output FILENAME**

  Specifies that output should be written to file FILENAME.

- **-I, --include-dir DIR**

  Adds DIR to the list of standard include directories.

- **-D NAME=VALUE**

  Defines the \`chpp' variable NAME with the value VALUE.

- **-M, --generate-dependencies**

  Generates a dependency list suitable for \`make' like \`cpp'.

- **--version**

  Show version of program.

## SEE ALSO

The programs are documented fully in the GNU Info system.

## AUTHOR

This manual page was written by  \<gecko@debian.org\>, for the Debian GNU/Linux system.
