Mini-Unix/usr/doc/yacc/ss8

.SH
Section 8: User Experience, Summary, and Acknowledgements
.PP
Yacc has been used in the construction of a C compiler for the Honeywell 6000,
a system for typesetting mathematical equations, a low level implementation language
for the PDP 11, APL and Basic compilers to run under the UNIX system,
and a number of other applications.
.PP
To summarize, Yacc can be used to construct parsers;
these parsers can interact in a fairly flexible way with the lexical analysis and output
phases of a larger system.
The system also provides an indication of ambiguities in the specification, and allows disambiguating rules
to be supplied to resolve these ambiguities.
.PP
Because the output of Yacc is largely tables, the system is relatively language independent.
In the presence of reasonable applications, Yacc could be modified or adapted to
produce subroutines for other machines and languages.
In addition, we continue to seek better algorithms to improve the lexical analysis
and code generation phases of compilers produced using
Yacc.
.PP
This document would be incomplete if I did not give credit to a
most stimulating collection of users, who have goaded
me beyond my inclination, and frequently beyond my
ability, in their endless search for ``one more feature''.
Their irritating unwillingness to learn how to
do things my way has usually led to my doing things their way;
most of the time, they have been right.
B. W. Kernighan, P. J. Plauger, S. I. Feldman, C. Imagna,
M. E. Lesk,
and A. Snyder will recognize some of their ideas in the current version
of Yacc.
Al Aho also deserves recognition for bringing
the mountain to Mohammed, and other favors.