mpp960 Macro Processor
The mpp960 macro processor copies its input to the output, expanding
macros as it goes. Macros are either built-in or user-defined,
and can take any number of arguments. mpp960 also has built-in
functions for including named files, running UNIX commands, doing
integer arithmetic, manipulating text in various ways, recursion,
and others.
mpp960 can be used either as a front end to the compiler or assembler,
or as a macro processor in its own right.
The invocation command is:
mpp960
[ -option ]... [ macro_def ]... [ file
]...
Each option must be preceded by a -
character. (On DOS, you can also use a /
character.) The options are listed below.
The remaining arguments on the command line are taken to be input
file names. If no names are present, the standard input is read.
A file name of -
is taken to mean the standard input. The input files are read
in the sequence given. The standard input can be read only once,
so the filename -
should appear only once on the command line.
Options
- Dname
[ =value ]
Enters name
into the symbol table, before any input files are read. If =value
is missing, the value is taken to be the empty string. The value
can be any string, and the macro can be defined to take arguments,
just as if defined from within the input.
- d[flag]...
Sets the debug-level according to flag.
The debug-level controls the format and amount of information
presented by the debugging functions. If no flags are specified,
the default is aeq.
flag
can be:
- a Shows
the actual arguments in each macro call.
- c Shows
several trace lines for each macro call.
- e Shows
the expansion of each macro call, if it is not void.
- f Shows
the name of the current input file in each trace output line.
- i Prints
a message each time the current input file is changed.
- l Shows
the current input line number in each trace output line.
- p Prints
a message when a named file is found through the path search mechanism,
giving the actual filename used.
- q Quotes
actual arguments and macro expansions in the display with the
current quotes.
- t Traces
all macro calls made in this invocation of mpp960.
- x Adds
a unique macro call id to each line of the trace output.
- V Shorthand
for all the flags.
- efile
Redirects debug and trace output to the named
file. Error messages are still printed on stderr.
- G
Suppresses all extensions in mpp960 that are not
in the UNIX System V m4 tool.
- Hn
Makes the internal hash table for symbol lookup
be n entries
big. The number should be prime. The default is 509 entries.
- i
Makes this invocation of mpp960 interactive. All
output will be unbuffered, and interrupts will be ignored.
- Idir
Makes mpp960 search dir
for included files that are not found in the current working directory.
- lnum
Restricts the size of the output generated by
macro tracing.
- Nn
Allows for up to n
diversions to be used at the same time. The default is 10 diversions.
- ofile
Directs output to file.
- Q
Suppresses warnings about missing or superfluous
arguments in macro calls.
- s
Generates synchronization lines, for use by the
C preprocessor or other similar tools. Source file name and line
number information is conveyed by lines of the form #line
linenum "filename",
which are inserted as needed into the middle of the input (but
always on complete lines by themselves). Such lines mean that
the following line originated or was expanded from the contents
of input file filename at line linenum.
The "filename"
part is often omitted when the file name does not change from
the previous synchronization line.
- tname
Enters name
into the symbol table, as undefined but traced. The macro consequently
is traced from the point it is defined.
- uname
Deletes any predefined meaning name
might have.
- V
Prints the version number of the program.
- v960
Prints the version information to stdout
and exits.
Return
to the top of this page.
Go
to the ic960 Interface Index.
Go
to the gcc960 Interface Index.