1999-05-26  Nelson H. F. Beebe  <beebe@math.utah.edu>

	* Release version 1.04.  Its major new feature for users is the
	  ability of bibparse to handle BibTeX files directly, as well as
	  the lexical token streams from biblex and bibclean that previous
	  versions expected. This version has been tested under more than
	  460 combinations of lex (AT&T lex and GNU flex) and yacc (AT&T
	  yacc, Berkeley byacc, and GNU bison) implementations, and C and
	  C++ compilers, and the enhancements to the autoconfig process
	  make it likely to be successful on almost all UNIX platforms, as
	  well as providing for simple builds on Microsoft Windows 9x and
	  NT systems.  Binaries are provided for IBM PC DOS and Windows
	  systems.

	* bibyydcl.h: add function prototype for yylex(void).

	* Makefile.in: substantial rewrite with many small changes
	  too numerous to document here.

	* bibdup.sin: new file from which bibdup.sh (installed as bibdup)
	  is derived automatically.

	* config.hin: add #undef statements for HAVE_LIBFL and HAVE_LIBL.

	* configure.in: substantial rewirte with many new checks for
	  programs, more complex tests for lex/flex library variations
	  to handle GNU/Linux and C++ variations better, and generation
	  of bibdup.sh from bibdup.sin.

	* biblex.l:  token printing now happens only when global variable
	  do_lex_output is nonzero, so that biblex can be embedded in
	  bibparse.

	* biblex.l, bibparse.y, bibunlex.l: define YYLMAX in terms of
	  BIBYYLMAX, which is now set in just a single place, in
	  Makefile.in.

	* biblex.l: add test against EOF as well as EOFILE, so flex can be
	  used reliably in place of lex.

	* bibparse.y: extend docstring in file comment header.

	* bibparse.y: add support for direct internal parsing of BibTeX
	  files, using a renamed biblex() parser linked into bibparse, so
	  that either token streams or BibTeX files can be used as input;
	  recognition of the input type is automatic.

	* bibparse.y: add new function zzlex() to handle input of token
	  stream.  Function xxlex() (renamed from yylex() at compile time
	  in biblex) handles input of BibTeX files.  Simple lookahead at
	  file beginning distinguishes between the two input types, and
	  pyylex is set to either xxlex or zzlex, and yylex() is defined
	  to call (*pyylex)(), so that yyparse() continues to work
	  unmodified, without knowledge of how its token stream was
	  obtained.

	* *.man: update author address in file comment header and AUTHOR
	  section.

	* *.man: add additional cross-references to newer BibTeX tools in
	  SEE ALSO section.

	* bibparse.man: document new direct BibTeX-file input support.

	* bibparse.man: substantially extend DESCRIPTION section.

	* bibparse.man: add entirely new OPTIONS section.

	* bibparse.man: add entirely new BIBTEX GRAMMAR section, so that
	  the user does not need to refer to the original TUGboat paper,
	  or the bibparse source code, to find the grammar.

	* bibparse.man: add entirely new PERFORMANCE section.

1998-06-01  Nelson H. F. Beebe  <beebe@math.utah.edu>

	* Update biblex/bibparse/bibunlex distribution to use GNU
	  autoconfigure.  This work added new files Makefile.in and
	  configure.in, from which autoconf produces configure, and
	  autoheader produces config.hin.  When configure is run at the
	  installer's site, it produces config.h and Makefile.

	* Add new file arg.h with common header code from biblex.l,
	  bibparse.y, bibunlex.l, and lexmain.c.

	* Add support for flex in place of lex, and bison in place of
	  yacc.  The choice is made by configure, with lex being
	  preferred.  However, some Linux systems lack lex and yacc.
	  This required a few minor changes in biblex.l to get a lex
	  description acceptable to both lex and flex, and additional
	  support in bibyydcl.h for flex.

	* Add subdirectory save/ with backup copies of generated files
	  Makefile, biblex.c, bibparse.c, bibunlex.c, config.h, and
	  configure from the author's Sun Solaris 2.6 system.

	* Add .html and .pdf files to the distribution.

	* Update Makefile.in targets to match current GNU conventions.

	* Add ChangeLog and INSTALL files to the distribution.

	* Move symbolic token names into new token.h file to avoid
	  duplication.
