CFLAT

NAME
SYNOPSIS
DESCRIPTION
OPTIONS
TEXT CLASSES
BUGS
AUTHOR

NAME

cflat − filter C source for easier searching

SYNOPSIS

cflat [ OPTIONS ] [ FILE... ]

DESCRIPTION

cflat reads the named source files (or standard input if no files are named, or the file name - is given) and prints (by default) three TAB-separated columns to stdout:

The first column shows filename and line number separated by a colon.

The second column shows the scope of the source line (usually the function definition). By default only a single level of scope is printed.

The third column contains the original source lines with TABs expanded. (If a delimiter other than TAB is specified on the command line, then TABs are left unchanged.)

cflat recognizes C and C++ comments, string literals and character literals.

Note that cflat uses simple heuristics to generate the scope column. If the input does any clever things with C macros or is otherwise unusual the output in the scope column may not be what you expect. This does not affect the other columns.

OPTIONS

−c

Strip comments from the source code.

−d DELIM, −−delimiter=DELIM

Use the character DELIM for separating columns. If DELIM is different from TAB, then TABs in the source are left unchanged.

−F, −−no-filename

Omit the filename in the first column. If −N is also present the first column is not printed.

−H

Do not print the first (filename and line number) column.

−−help

Print usage summary and exit.

−l NUM, −−levels=NUM

Show NUM levels of scope in the second column. If NUM is negative the number of levels is considered unlimited. The default is 1.

−N, −−no-line-number

Omit the line number in the first column. If −F is also present the first column is not printed.

−−only CLASSES

Strip all but the given classes of text from the source code. CLASSES is a string which may contain any of the characters described in the section TEXT CLASSES.

−P, −−no-scope

Do not print the second (scope) column.

−s

Strip string literals from the source code.

−−strip CLASSES

Strip the given classes of text from the source code. CLASSES is a string which may contain any of the characters described in the section TEXT CLASSES.

−t

Strip program text from the source code. Program text is anything except comments and string literals.

−T

This option is equivalent to −zHP. It has the effect of limiting the output to the third column, without expanding tabs.

−V, −−version

Print cflat version and exit.

−z

Use the ASCII NUL character as delimiter. TABs in the source are left unchanged.

−−with-args

Include function arguments in the scope column.

TEXT CLASSES

Strings specifying text classes may contain the following characters:

c

selects comments (including their delimiters)

s

selects string literals (including their delimiters)

t

selects other program text (non-comment and non-string-literal)

BUGS

Please report any bugs you find to the author (see below).

cflat exits with an error message if it finds an unbalanced closing ´}´. Maybe a heuristic algorithm should be implemented to deal with incomplete source code.

AUTHOR

Edwin Steiner <edwin.steiner@gmx.net>

Please include the word ’cflat’ in the subject line when contacting me.