version 1.4, 1998/08/30 22:45:17 |
version 1.5, 1998/09/23 04:32:39 |
|
|
.Op Fl v |
.Op Fl v |
.Op Fl t Ar suffixlist |
.Op Fl t Ar suffixlist |
.Op Fl I Ar ignorefile |
.Op Fl I Ar ignorefile |
.Op name |
.Op Ar name |
.Sh DESCRIPTION |
.Sh DESCRIPTION |
.Nm Error |
.Nm error |
analyzes and optionally disperses the diagnostic error messages |
analyzes and optionally disperses the diagnostic error messages |
produced by a number of compilers and language processors to the source |
produced by a number of compilers and language processors to the source |
file and line where the errors occurred. It can replace the painful, |
file and line where the errors occurred. It can replace the painful, |
|
|
or |
or |
.Xr \&ed 1 |
.Xr \&ed 1 |
from standard places. |
from standard places. |
.It Fl t |
.It Fl t Ar suffixlist |
Take the following argument as a suffix list. |
Take the following argument as a suffix list. |
Files whose suffixes do not appear in the suffix list are not touched. |
Files whose suffixes do not appear in the suffix list are not touched. |
The suffix list is dot separated, and ``*'' wildcards work. |
The suffix list is dot separated, and ``*'' wildcards work. |
|
|
Not too useful. |
Not too useful. |
.El |
.El |
.Pp |
.Pp |
.Nm Error |
.Nm error |
looks at the error messages, |
looks at the error messages, |
either from the specified file |
either from the specified file |
.Ar name |
.Ar name |
or from the standard input, |
or from the standard input, |
and attempts to determine which |
and attempts to determine which |
language processor produced each error message, |
language processor produced each error message, |
determines the source file and line number to which the error message refers, |
the source file and line number to which the error message refers, |
determines if the error message is to be ignored or not, |
if the error message is to be ignored or not, |
and inserts the (possibly slightly modified) error message into |
and inserts the (possibly slightly modified) error message into |
the source file as a comment on the line preceding to which the |
the source file as a comment on the line preceding to which the |
line the error message refers. |
line the error message refers. |
Error messages which can't be categorized by language processor |
Error messages which can't be categorized by language processor |
or content are not inserted into any file, |
or content are not inserted into any file, |
but are sent to the standard output. |
but are sent to the standard output. |
.Nm Error |
.Nm error |
touches source files only after all input has been read. |
touches source files only after all input has been read. |
.Pp |
.Pp |
.Nm Error |
.Nm error |
is intended to be run |
is intended to be run |
with its standard input |
with its standard input |
connected via a pipe to the error message source. |
connected via a pipe to the error message source. |
|
|
.Xr make 1 |
.Xr make 1 |
runs when making lint. |
runs when making lint. |
.Pp |
.Pp |
.Nm Error |
.Nm error |
knows about the error messages produced by: |
knows about the error messages produced by: |
.Xr make 1 , |
.Xr make 1 , |
.Xr \&cc 1 , |
.Xr \&cc 1 , |
|
|
.Xr f77 1 , |
.Xr f77 1 , |
and |
and |
.Em DEC Western Research Modula\-2 . |
.Em DEC Western Research Modula\-2 . |
.Nm Error |
.Nm error |
knows a standard format for error messages produced by |
knows a standard format for error messages produced by |
the language processors, |
the language processors, |
so is sensitive to changes in these formats. |
so is sensitive to changes in these formats. |
For all languages except |
For all languages except Pascal, |
.Em Pascal , |
|
error messages are restricted to be on one line. |
error messages are restricted to be on one line. |
Some error messages refer to more than one line in more than |
Some error messages refer to more than one line in more than |
one files; |
one file; |
.Nm error |
.Nm error |
will duplicate the error message and insert it at |
will duplicate the error message and insert it at |
all of the places referenced. |
all of the places referenced. |
.Pp |
.Pp |
.Nm Error |
.Nm error |
will do one of six things with error messages. |
will do one of six things with error messages. |
.Bl -tag -width Em synchronize |
.Bl -tag -width Em synchronize |
.It Em synchronize |
.It Em synchronize |
Some language processors produce short errors describing |
Some language processors produce short errors describing |
which file it is processing. |
which file it is processing. |
.Nm Error |
.Nm error |
uses these to determine the file name for languages that |
uses these to determine the file name for languages that |
don't include the file name in each error message. |
don't include the file name in each error message. |
These synchronization messages are consumed entirely by |
These synchronization messages are consumed entirely by |
|
|
libraries, |
libraries, |
.Pa /usr/libdata/lint/llib-lc |
.Pa /usr/libdata/lint/llib-lc |
and |
and |
.Pa /usr/libdata/lint/llib-port |
.Pa /usr/libdata/lint/llib-port , |
are discarded, |
are discarded, |
to prevent accidentally touching these libraries. |
to prevent accidentally touching these libraries. |
Again, these error messages are consumed entirely by |
Again, these error messages are consumed entirely by |
|
|
Other error messages are consumed entirely by |
Other error messages are consumed entirely by |
.Nm error |
.Nm error |
or are written to the standard output. |
or are written to the standard output. |
.Nm Error |
.Nm error |
inserts the error messages into the source file on the line |
inserts the error messages into the source file on the line |
preceding the line the language processor found in error. |
preceding the line the language processor found in error. |
Each error message is turned into a one line comment for the |
Each error message is turned into a one line comment for the |
|
|
on the same line should be formatted |
on the same line should be formatted |
so that language statements appear before comments. |
so that language statements appear before comments. |
.Pp |
.Pp |
.Nm Error |
.Nm error |
catches interrupt and terminate signals, |
catches interrupt and terminate signals, |
and if in the insertion phase, |
and if in the insertion phase, |
will orderly terminate what it is doing. |
will orderly terminate what it is doing. |
|
|
.Sh AUTHOR |
.Sh AUTHOR |
Robert Henry |
Robert Henry |
.Sh BUGS |
.Sh BUGS |
.Pp |
|
Opens the teletype directly to do user querying. |
Opens the teletype directly to do user querying. |
.Pp |
.Pp |
Source files with links make a new copy of the file with |
Source files with links make a new copy of the file with |
|
|
.Nm error |
.Nm error |
to not understand the error message. |
to not understand the error message. |
.Pp |
.Pp |
.Nm Error , |
.Nm error , |
since it is purely mechanical, |
since it is purely mechanical, |
will not filter out subsequent errors caused by `floodgating' |
will not filter out subsequent errors caused by `floodgating' |
initiated by one syntactically trivial error. |
initiated by one syntactically trivial error. |
|
|
the point of error is also disturbed by |
the point of error is also disturbed by |
.Nm error . |
.Nm error . |
.Pp |
.Pp |
.Nm Error |
.Nm error |
was designed for work on |
was designed for work on |
.Tn CRT Ns 's |
.Tn CRT Ns s |
at reasonably high speed. |
at reasonably high speed. |
It is less pleasant on slow speed terminals, and has never been |
It is less pleasant on slow speed terminals, and has never been |
used on hardcopy terminals. |
used on hardcopy terminals. |