ansi2knr(1)
ANSI2KNR(1) USER COMMANDS ANSI2KNR(1)
NAME
ansi2knr - convert ANSI C to Kernighan & Ritchie C
SYNOPSIS
ansi2knr [--filename filename] [input_file [output_file]]
DESCRIPTION
--filename provides the file name for the #line directive in
the output, overriding input_file (if present).
If no input_file is supplied, input is read from stdin.
If no output_file is supplied, output goes to stdout.
There are no error messages.
ansi2knr recognizes function definitions by seeing a non-
keyword identifier at the left margin, followed by a left
parenthesis, with a right parenthesis as the last character
on the line, and with a left brace as the first token on the
following line (ignoring possible intervening comments). It
will recognize a multi-line header provided that no inter-
vening line ends with a left or right brace or a semicolon.
These algorithms ignore whitespace and comments, except that
the function name must be the first thing on the line.
ansi2knr also recognizes adjacent string literals and con-
catenates them.
The following constructs will confuse it:
- Any other construct that starts at the left margin
and follows the above syntax (such as a macro or function
call).
- Some macros that tinker with the syntax of the func-
tion header.
- String literals whose concatenation requires rewrit-
ing their contents; e.g. "ab " "07c" is concatenated to
"ab 07c", which is not correct.
The --varargs switch is obsolete, and is recognized only for
backwards compatibility. The present version of ansi2knr
will always attempt to convert a ... argument to va_alist
and va_dcl.
AUTHOR
L. Peter Deutsch <ghost@aladdin.com> wrote the original
ansi2knr and continues to maintain the current version; most
of the code in the current version is his work. ansi2knr
also includes contributions by Francois Pinard
<pinard@iro.umontreal.ca>, Jim Avera <jima@netcom.com>, and
Paul Eggert <eggert@twinsun.com>.
Last change: 8 March 2000 1
Man(1) output converted with
man2html