1 2014-01-01 Thomas E. Dickey <tom@invisible-island.net>
3 * yacc.1: document %token-table, improve presentation of double-quotes
5 * VERSION, package/byacc.spec, package/debian/changelog: bump
7 * test/calc.tab.c, test/calc1.tab.c, test/calc2.tab.c, test/calc3.tab.c, test/code_calc.code.c, test/code_calc.tab.c, test/code_error.code.c, test/code_error.tab.c, test/error.tab.c, test/ftp.tab.c, test/grammar.tab.c, test/pure_calc.tab.c, test/pure_error.tab.c, test/quote_calc-s.tab.c, test/quote_calc.tab.c, test/quote_calc2-s.tab.c, test/quote_calc2.tab.c, test/quote_calc3-s.tab.c, test/quote_calc3.tab.c, test/quote_calc4-s.tab.c, test/quote_calc4.tab.c:
10 * output.c, skeleton.c:
11 amend the last change so that yytname is #define'd as needed rather than
12 permanent - to avoid breaking cproto for instance.
14 2014-01-01 Christos.Zoulas
16 * output.c, defs.h, main.c, reader.c, skeleton.c:
17 changes to build ntpd using byacc:
18 - rename yyname[] to yytname[]
19 - add YYTRANSLATE() macro
20 - recognize bison's %token-table declaration
22 2014-01-01 Thomas E. Dickey <tom@invisible-island.net>
26 * yacc.1: s/EE/XE/ to work around groff bug on Debian 6
28 * makefile.in: use CF_MAKE_DOCS
30 * aclocal.m4: add CF_MAKE_DOCS
32 * configure.in: use CF_MAKE_DOCS
34 2013-12-26 Thomas E. Dickey <tom@invisible-island.net>
36 * config.guess: 2013-11-29
38 2013-11-19 Thomas E. Dickey <tom@invisible-island.net>
40 * aclocal.m4: resync with my-autoconf (fixes for clang and mingw)
42 2013-10-25 Thomas E. Dickey <tom@invisible-island.net>
44 * config.sub: 2013-10-01
46 2013-09-25 Thomas E. Dickey <tom@invisible-island.net>
48 * reader.c: fix two loop-limits found by clang 3.3 --analyze
53 tweaks to CF_MIXEDCASE_FILENAMES and CF_XOPEN_SOURCE for msys from ncurses
55 * package/mingw-byacc.spec: RCS_BASE
57 * test/calc.tab.c, test/calc1.tab.c, test/calc2.tab.c, test/calc3.tab.c, test/code_calc.code.c, test/code_error.code.c, test/error.tab.c, test/ftp.tab.c, test/grammar.tab.c, test/pure_calc.tab.c, test/pure_error.tab.c, test/quote_calc-s.tab.c, test/quote_calc.tab.c, test/quote_calc2-s.tab.c, test/quote_calc2.tab.c, test/quote_calc3-s.tab.c, test/quote_calc3.tab.c, test/quote_calc4-s.tab.c, test/quote_calc4.tab.c:
61 Increase default stack-size to match FreeBSD version noted as from
62 "BSD 4.4 Lite Usr.bin Sources". See
64 http://svnweb.freebsd.org/base/vendor/CSRG/dist/usr.bin/yacc/
65 http://svnweb.freebsd.org/base/head/usr.bin/yacc/
66 http://svnweb.freebsd.org/base/vendor/byacc/
68 The original 1.9 sources (on which I based development) used 500 for
69 stacksize; the BSD Lite sources (a year or two later) used 10000.
71 This is a change to default values; the YYMAXDEPTH and YYSTACKSIZE
72 symbols have "always" been overridable by applications, but rarely
73 needed to do this. RedHat began using the FreeBSD source in 2000,
74 and switched to this source in 2007 using the 20050813 snapshot.
76 RedHat #743343 misattributed the change in default stacksize to
77 a regression in byacc, but did not report the issue upstream.
79 * package/debian/changelog, VERSION, package/byacc.spec: bump
81 2013-09-07 Thomas E. Dickey <tom@invisible-island.net>
83 * config.sub: update to 2013-09-15
85 * config.guess: update to 2013-06-10
87 2013-03-04 Thomas E. Dickey <tom@invisible-island.net>
89 * package/debian/changelog, VERSION, package/byacc.spec: bump
92 adapt tweak from Dave Becket to work around long-ago breakage in "new" autoconf.
95 fix bogus #include if "-i" is given but not "-d" (report by Richard Mitton).
96 also while testing that, found a case where the union_file is unused; added
97 a check for address that.
99 * test/ftp.output, test/ftp.tab.c, test/ftp.tab.h: regen
101 * test/ftp.y: fix most compiler warnings for "make check_make"
103 * test/calc1.tab.c: regen
105 * test/calc1.y: fix most compiler warnings for "make check_make"
107 * test/calc.tab.c, test/calc1.tab.c, test/calc2.tab.c, test/calc3.tab.c, test/code_calc.code.c, test/code_error.code.c, test/error.tab.c, test/ftp.tab.c, test/grammar.tab.c, test/pure_calc.tab.c, test/pure_error.tab.c, test/quote_calc-s.tab.c, test/quote_calc.tab.c, test/quote_calc2-s.tab.c, test/quote_calc2.tab.c, test/quote_calc3-s.tab.c, test/quote_calc3.tab.c, test/quote_calc4-s.tab.c, test/quote_calc4.tab.c:
110 * skeleton.c: quiet a gcc conversion-warning in yygrowstack()
115 another fix for CF_GCC_VERSION to handle Debian's modification of gcc message.
117 2013-02-10 Thomas E. Dickey <tom@invisible-island.net>
119 * config.sub, config.guess: update to 2013-02-04
121 2012-10-03 Thomas E. Dickey <tom@invisible-island.net>
123 * package/debian/changelog, package/byacc.spec, VERSION: bump
127 * configure.in: moved AC_PROG_CC_STDC call into CF_PROG_CC
130 moved AC_PROG_CC_STDC call into CF_PROG_CC and (for other uses than byacc)
131 the CF_PROG_CC macro provides the CF_ANSI_CC_REQD for the 2.13 flavor.
133 * aclocal.m4, configure.in:
134 Arian's change dropped my check for misused $CC variable - restore that with
135 alternate macro CF_PROG_CC.
137 2012-10-03 Adrian.Bunk
140 suggested patch: drop CF_ANSI_CC_REQD, CF_ANSI_CC_CHECK, CF_PROG_EXT since
143 2012-10-03 Thomas E. Dickey <tom@invisible-island.net>
146 split-out CF_CC_ENV_FLAGS from CF_ANSI_CC_CHECK to avoid losing it in
147 Adrian's suggested changes.
150 CF_CLANG_COMPILER - check if the given compiler is really clang.
153 add check for clang to CF_GCC_WARNINGS. modify CF_GCC_WARNINGS to work around
154 old gcc warning: ncurses change to (try to) use gnatgcc exposed gnatgcc 2.8.1
155 on my Sarge system (versus 3.3.5 for the normal gcc). The 2.8.1's
156 pointer-arithmetic checks fell afoul of gcc's misuse of void* in string.h; work
157 around by excluding that check for pre-3.x compilers.
160 modify CF_GCC_ATTRIBUTES so that autoheader is able to see the definitions
161 provided by this macro. use AC_DEFINE_UNQUOTED() in CF_GCC_ATTRIBUTES rather
162 than appending to confdefs.h, since long-ago concern about the ability to
163 pass-through parameterized macros appears to be not a problem, testing with
166 2012-10-03 Adrian.Bunk
169 add parameter to AC_DEFINE_UNQUOTED() to allow it to be recognized by
170 autoheader, updated macros:
174 CF_MIXEDCASE_FILENAMES
177 2012-10-03 Thomas E. Dickey <tom@invisible-island.net>
180 move existence-check for mkstemp out of the AC_TRY_RUN, to help with
183 2012-10-02 Thomas E. Dickey <tom@invisible-island.net>
186 Adrian Bunk request - replace this with the output from autoheader
188 2012-09-29 Adrian.Bunk
191 suggested change: replace CF_ANSI_CC_REQD by AC_PROG_CC_STDC (since no
192 check is needed anymore for standard C compilers), drop AC_CONST (same
193 reason), modify AC_OUTPUT to rely upon template generated by autoheader.
194 bump requirement to autoconf 2.52.20011201 and drop check for CF_PROG_EXT
195 as being obsolete with autoconf 2.52x
197 * configure.in, main.c: drop check for atexit, because it is standard C
199 * makefile.in: add assignment for datarootdir variable.
201 2012-05-26 Thomas E. Dickey <tom@invisible-island.net>
203 * package/debian/changelog, package/byacc.spec, VERSION: bump
206 some versions of gcc may warn that bp is not set in mark_symbol, e.g.,
207 if GCC_NORETURN is not handled; appease the compiler.
210 use the declared types Assoc_t and Value_t in some places where compiler only
211 cared about char versus short.
214 use TMALLOC() and TREALLOC() macros to simplify allocation/reallocation
218 add fallbacks for GCC_NORETURN and GCC_UNUSED to make it simpler for *BSD
219 packagers to build without configure script. Also remove duplicate declaration
220 of pure_parser variable (prompted by patch by Baptiste Daroussin).
222 Also define new TMALLOC and TREALLOC macros to simplify/replace MALLOC and
226 use TMALLOC() and TREALLOC() macros to simplify allocation/reallocation
229 2012-05-25 Thomas E. Dickey <tom@invisible-island.net>
231 * output.c, main.c, verbose.c, mkpar.c, lr0.c:
232 use TMALLOC() and TREALLOC() macros to simplify allocation/reallocation
235 2012-01-15 Thomas E. Dickey <tom@invisible-island.net>
237 * package/debian/copyright: bump
239 * test/run_make.sh: workaround for breakage due to GNU make 3.82
242 tested with Solaris 10 (bison 1.875) and added scripting to exercise
243 the /usr/ccs/bin/yacc executable
245 * test/grammar.tab.c: regen
247 * test/grammar.y: modify to also build with Solaris yacc
249 * VERSION, package/debian/changelog, package/byacc.spec: bump
251 * test/calc1.output, test/calc1.tab.c: regen
254 undo the change made to appease bison, since it was only a warning.
256 * test/pure_calc.tab.c, test/pure_error.tab.c: regen
258 * test/run_make.sh: another fix for running from top-level directory
261 ensure that check_make rule depends on having byacc built.
263 * test/run_make.sh: fixes for building from parent directory
265 * test/pure_error.y, test/pure_calc.y: bison-fixes
267 * test/calc2.tab.c, test/calc3.tab.c, test/code_error.code.c, test/ftp.tab.c, test/pure_calc.tab.c, test/pure_error.tab.c:
270 * test/calc2.y, test/calc3.y, test/code_error.y, test/ftp.y:
271 byacc already declares yyerror
273 * test/pure_error.y, test/pure_calc.y:
274 modified to help make the files build with bison
277 supply a "%pure-parser" directive when bison needs it.
279 * test/code_calc.code.c: regen
281 * test/code_calc.y: modified to help make the files build with bison
284 in testing, found that %expect did not work as documented for bison.
285 do not recommend it for portable code.
287 * test/run_make.sh: workaround breakage in bison's %expect directive
289 * test/grammar.y: modified to help make the files build with bison
291 * test/calc1.output, test/calc1.tab.c, test/grammar.tab.c: regen
293 * test/calc1.y: quiet a spurious warning from bison 2.3
295 * test/calc1.tab.c: regen
297 * test/calc1.y: modified to help make the files build with bison
299 * yacc.1: comment on "-y" and "-P" options.
301 * yacc.1: comment on portability
303 * test/ftp.tab.c, test/quote_calc-s.tab.c, test/quote_calc.tab.c, test/quote_calc2-s.tab.c, test/quote_calc3-s.tab.c:
306 * test/ftp.y: modified to help make the files build with bison
307 (bison's "-y" option is of no use in providing "yacc" compatibility)
309 * test/quote_calc2.tab.c, test/quote_calc3.tab.c, test/quote_calc4-s.tab.c, test/quote_calc4.tab.c:
312 * test/code_calc.y, test/quote_calc2.y, test/quote_calc.y, test/quote_calc4.y, test/quote_calc3.y:
313 modified to help make the files build with bison
315 * test/calc.tab.c: regen
317 * test/calc.y: modified to help make the files build with bison
319 * test/error.tab.c: regen
321 * test/error.y: modified to help make the files build with bison
323 * test/calc2.tab.c, test/calc3.tab.c, test/code_error.code.c: regen
326 check for older bisons which (2.3 for instance) do not support pure parsers
328 * test/code_error.y, test/calc3.y, test/calc2.y:
329 modified to help make the files build with bison
331 * test/run_test.sh: use $opt2 in filenames of the generated files
333 * test/quote_calc2-s.tab.c, test/quote_calc3-s.tab.c, test/quote_calc4-s.tab.c, test/quote_calc-s.tab.c, test/quote_calc.tab.c, test/quote_calc2.tab.c, test/quote_calc3.tab.c, test/quote_calc4.tab.c:
336 2012-01-14 Thomas E. Dickey <tom@invisible-island.net>
338 * test/calc2.tab.c, test/code_calc.code.c, test/code_error.code.c, test/error.tab.c, test/ftp.tab.c, test/grammar.tab.c, test/calc.tab.c, test/calc1.tab.c:
341 * output.c: Several changes:
342 a) add YYLEX_PARAM_TYPE, like YYPARSE_PARAM_TYPE, but for yylex.
343 b) modify definitions for YYLEX_DECL to be more like YYPARSE_DECL,
344 using YYLEX_PARAM_TYPE and YYLEX_PARAM.
345 c) add ifdef's around #define's for YYERROR_DECL and YYERROR_CALL,
346 to help with redefinitions.
348 * test/pure_calc.tab.c:
349 modified to help make the files build with bison
352 start work on followup, to check if the generated files build with bison.
354 * test/pure_calc.y, test/pure_error.tab.c:
355 modified to help make the files build with bison
357 * test/calc3.tab.c: regen
359 * test/quote_calc-s.output, test/quote_calc-s.tab.c, test/quote_calc-s.tab.h, test/quote_calc2-s.output, test/quote_calc2-s.tab.c, test/quote_calc2-s.tab.h, test/quote_calc3-s.output, test/quote_calc3-s.tab.c, test/quote_calc3-s.tab.h, test/quote_calc4-s.output, test/quote_calc4-s.tab.c, test/quote_calc4-s.tab.h:
362 * test/run_test.sh: generate/test with "-s" option applied.
364 2012-01-13 Thomas E. Dickey <tom@invisible-island.net>
366 * package/debian/changelog, package/byacc.spec, VERSION: bump
368 * yacc.1: improve documentation of -s option
370 * yacc.1: note that yacc ignores -y
372 * main.c: add -s option to usage message.
374 * test/quote_calc3.output, test/quote_calc3.tab.c, test/quote_calc4.output, test/quote_calc4.tab.c, test/quote_calc4.tab.h, test/quote_calc3.y, test/quote_calc.tab.h, test/quote_calc.output, test/quote_calc.tab.c, test/quote_calc2.output, test/quote_calc2.tab.c, test/quote_calc2.tab.h, test/quote_calc3.tab.h, test/quote_calc4.y, test/quote_calc.y, test/quote_calc2.y:
379 * aclocal.m4: resync with my-autoconf, i.e., fixes for CF_XOPEN_SOURCE
381 2011-12-19 Thomas E. Dickey <tom@invisible-island.net>
383 * package/debian/changelog, package/byacc.spec, VERSION: bump
385 * yacc.1, output.c, main.c, defs.h:
386 add "-s" option to suppress generating #define's based on string contents
387 in a %token statement. For instance
392 Simply suppressing the second #define makes the behavior closer to yacc.
393 (report by Paulo Andrade).
395 2011-09-08 Thomas E. Dickey <tom@invisible-island.net>
397 * package/debian/changelog, package/byacc.spec, VERSION: bump
400 fix some more interaction between -i and -d flags to ensure YYERRCODE
401 and YYSTYPE are declared, tested with cproto.
403 2011-09-07 Thomas E. Dickey <tom@invisible-island.net>
405 * yacc.1: document "-i" option.
407 * package/debian/changelog, package/byacc.spec, VERSION: bump
409 * output.c: fix an interaction between -i and -d
411 * test/code_error.code.c, test/error.tab.c, test/ftp.tab.c, test/grammar.tab.c, test/pure_calc.tab.c, test/pure_error.tab.c, test/calc.tab.c, test/calc1.tab.c, test/calc2.tab.c, test/calc3.tab.c, test/code_calc.code.c:
412 regen - changes for "-i" option move the global/impure variables near the
413 macros that may add a prefix, etc.
415 * skeleton.c, output.c, defs.h: changes to support "-i" option.
417 2011-09-06 Thomas E. Dickey <tom@invisible-island.net>
419 * reader.c: pass explicit file-pointer to write_section()
422 add "-i" option, to generate interface-file (suggested by Denis M. Wilson)
424 2011-09-05 Thomas E. Dickey <tom@invisible-island.net>
429 resync with my-autoconf: CF_ANSI_CC_CHECK (check for $CFLAGS in $CC)
430 and CF_XOPEN_SOURCE (update aix, cygwin and netbsd checks)
432 * defs.h, error.c, reader.c:
433 add check for missing "}" on %parse-param and %lex-param lines (report by Denis M Wilson)
435 2011-04-01 Thomas E. Dickey <tom@invisible-island.net>
437 * config.sub: update to 2011-04-01
439 2011-02-02 Thomas E. Dickey <tom@invisible-island.net>
441 * config.guess: update to 2011-01-01
443 2010-12-29 Thomas E. Dickey <tom@invisible-island.net>
445 * defs.h, skeleton.c:
446 add const qualifier to skeleton data, per NetBSD changes (report by Christos Zoulas)
449 mark all of the error-functions as non-returning (report by Christos Zoulas)
451 * test/grammar.tab.c, test/pure_calc.tab.c, test/pure_error.tab.c, test/calc.tab.c, test/calc1.tab.c, test/calc2.tab.c, test/calc3.tab.c, test/code_calc.code.c, test/code_error.code.c, test/error.tab.c, test/ftp.tab.c:
455 use only realloc() rather than realloc+malloc, agree that systems needing this
456 are very rare (prompted by NetBSD change).
458 * test/ftp.tab.c: regen
460 2010-12-29 Christos.Zoulas
463 improve example, which was stuck in 19XX and assumed file sizes were longs.
465 2010-12-29 Thomas E. Dickey <tom@invisible-island.net>
467 * test/ftp.tab.c, test/grammar.tab.c, test/pure_calc.tab.c, test/pure_error.tab.c, test/calc.tab.c, test/calc1.tab.c, test/calc2.tab.c, test/calc3.tab.c, test/code_calc.code.c, test/code_error.code.c, test/error.tab.c:
470 * test/pure_error.y, test/pure_calc.y, test/ftp.y, test/error.y, test/code_error.y, test/code_calc.y, test/calc.y, test/calc3.y, test/calc2.y, test/calc1.y:
471 use byacc's YYLEX_DECL/YYERROR_DECL symbols to prototype yylex/yyerror
474 remove explicit prototype for yylex() via YYLEX_DECL() macro, since that
475 would prevent declaring yylex() static (request by Christos Zoulas).
477 * test/calc2.tab.c, test/calc3.tab.c: regen
479 2010-12-29 Christos.Zoulas
481 * output.c: correct definition for YYERROR_DECL()
483 2010-12-29 Thomas E. Dickey <tom@invisible-island.net>
485 * package/debian/changelog, package/byacc.spec, VERSION: bump
487 2010-12-26 Thomas E. Dickey <tom@invisible-island.net>
490 change return-type of allocate() to avoid warnings of alignment problems
492 * main.c: Solaris declares chmod() in <sys/stat.h>
496 * main.c: ifdef'd use of fcntl.h
498 * configure.in: add configure checks for fcntl.h, atexit and mkstemp
500 * main.c: for cases where mkstemp() is not available, use tempnam/open
502 * aclocal.m4: add CF_MKSTEMP
505 improve quoting, deprecate ${name-value} in favor of standard ${name:-value}
507 2010-12-25 Thomas E. Dickey <tom@invisible-island.net>
510 start revising use of tmpfile(), to make this work with MinGW. Start by
511 implementing a mkstemp() alternative - noting that mkstemp() also is broken
514 * package/debian/changelog, package/byacc.spec, VERSION: bump
516 2010-11-27 Thomas E. Dickey <tom@invisible-island.net>
518 * package/byacc.spec, package/debian/changelog, VERSION: bump
520 * test/calc2.tab.c, test/calc3.tab.c: regen
523 corrected use of %parse-param value in yyerror(); it doesn't use &yylval
524 (report by Clifford Yapp)
526 2010-11-26 Thomas E. Dickey <tom@invisible-island.net>
531 correct line-numbering when "-r" option is used; the 'outline' variable
532 should only be incremented when writing to the code-file.
534 * test/code_calc.code.c, test/code_error.code.c: regen
538 * yacc.1: comment on -b option vs -r
540 * test/calc2.tab.c, test/calc2.y, test/calc3.tab.c, test/calc3.y, test/ftp.tab.c, test/grammar.tab.c, test/pure_calc.tab.c, test/pure_error.tab.c, test/calc.tab.c, test/calc1.tab.c, test/code_calc.code.c, test/code_error.code.c, test/error.tab.c:
544 improve on YYERROR_DECL(), adding dummy params which can be used for the
545 actual function declaration. Also add YYERROR_CALL(). The two macros
546 simplify maintaining sets of grammars which may/may not be pure.
548 * test/calc1.y, test/ftp.tab.c, test/grammar.tab.c, test/pure_calc.tab.c, test/pure_error.tab.c, test/calc.tab.c, test/calc1.tab.c, test/calc2.tab.c, test/calc3.tab.c, test/code_calc.code.c, test/code_error.code.c, test/error.tab.c:
551 * output.c: generate yyerror() calls in output.c
552 This is for compatibility with bison, which passes the yylval to yyerror
553 when the %parse-param feature is used.
555 * skeleton.c, defs.h: generate yyerror() calls in output.c
557 * output.c: simplified a little, using putc_code() and putl_code()
559 * test/calc1.tab.h: regen
562 improve ifdef for YYSTYPE union declaration (report by Clifford Yapp)
565 accept underscore as a replacement for dash in command names, e.g.,
566 "%pure_parser" vs "%pure-parser".
568 * test/calc1.tab.c: regen
570 * output.c, reader.c:
571 also ifdef YYSTYPE declaration in the generated code (report by Clifford Yapp)
573 * package/debian/changelog, package/byacc.spec, VERSION: bump
575 2010-11-24 Thomas E. Dickey <tom@invisible-island.net>
577 * main.c, defs.h, symtab.c, error.c: reduce global variables
579 * package/debian/changelog, package/byacc.spec, VERSION: bump
582 amend fix for Redhat #112617 to still call default_action_warning() for
583 empty rules (report by Bruce Cran).
585 2010-11-22 Thomas E. Dickey <tom@invisible-island.net>
588 add ifdef to guard against redefinition of YYSTYPE union (request by Clifford Yapp).
590 * test/calc1.tab.c: regen
592 * test/calc1.y: cleanup compiler warnings
594 * test/grammar.y: add "%expect"
596 * test/calc1.tab.h: regen
598 * test/calc1.output, test/calc1.tab.c, test/calc1.tab.h: RCS_BASE
600 * test/calc2.tab.c, test/calc3.tab.c: regen
603 advanced example from Steve Johnson's paper, uses unions
605 * test/calc3.y, test/calc2.y: init 'base', so examples can run
607 * test/ftp.tab.c, test/ftp.y: tweaks to compile with g++
609 * output.c: compensate for fix in reader.c
612 add/use putc_both() and puts_both(), incidentally fixing a place where
613 a union copied to the union_file may be missing the end of the last line.
615 * package/debian/changelog, package/byacc.spec, VERSION: bump
617 2010-09-28 Thomas E. Dickey <tom@invisible-island.net>
619 * config.guess: update to 2010-09-24
621 2010-09-10 Thomas E. Dickey <tom@invisible-island.net>
623 * config.sub: update to 2010-09-11
625 2010-06-10 Thomas E. Dickey <tom@invisible-island.net>
627 * yacc.1, package/debian/changelog, package/byacc.spec, VERSION:
630 2010-06-09 Thomas E. Dickey <tom@invisible-island.net>
632 * reader.c: free declarations in leak-testing code.
634 * main.c: close code_file if -r option used, for leak-testing
637 improve %lex-param / %parse-param implementation by allowing for arrays to
638 be passed as parameters, e.g., "int regs[26]".
640 * test/calc3.tab.c, test/calc3.y, test/calc3.output, test/calc3.tab.h, test/calc2.tab.c, test/calc2.y, test/calc2.tab.h, test/calc2.output:
644 improve %lex-param / %parse-param implementation by allowing for arrays to
645 be passed as parameters, e.g., "int regs[26]".
647 * test/calc.tab.c, test/calc.y:
648 test-cases and reference files for %lex-param / %parse-param
650 * makefile.in: add docs-rule, for html/pdf/txt form of manpage
654 * aclocal.m4: add CF_XOPEN_SOURCE, etc.
657 use CF_XOPEN_SOURCE check to ensure that strdup is in scope, e.g., for c89
659 * test/ftp.tab.c, test/ftp.y, reader.c, symtab.c, verbose.c, lr0.c, main.c, mkpar.c, output.c, defs.h, closure.c:
660 fix warnings from clang --analyze
662 2010-06-08 Thomas E. Dickey <tom@invisible-island.net>
664 * output.c: fix to build with c89, etc.
666 * reader.c: gcc warning
668 * test/ftp.tab.c, test/ftp.y, test/calc.tab.c, test/code_calc.code.c, test/code_error.code.c, test/code_error.y, test/code_calc.y, test/calc.y, test/pure_error.tab.c, test/error.tab.c, test/error.y, test/pure_error.y, test/pure_calc.tab.c, test/pure_calc.y:
669 modified test-cases to allow them to compile, to validate pure-parser changes.
670 updated reference files to match.
673 move call for output_stype() earlier since it is used in pure-parser declarations
675 * test/grammar.tab.c, test/grammar.y:
676 modified test-cases to allow them to compile, to validate pure-parser changes.
677 updated reference files to match.
679 * test/calc.tab.c, test/error.tab.c, test/ftp.tab.c, test/grammar.tab.c:
682 * yacc.1: document %lex-param and %parse-param
684 * test/run_lint.sh, test/run_make.sh: RCS_BASE
687 further modify to allow build-directory to be in a different location by
688 passing this directory's location as a parameter to the script.
691 add check_make and check_lint rules to help validate the generated files
692 in the test-directory
694 2010-06-07 Thomas E. Dickey <tom@invisible-island.net>
696 * test/pure_calc.tab.c, test/pure_error.tab.c: RCS_BASE
699 provide for testing -r and -P options by checking if the ".y" filename
700 begins with "code_" or "pure_", respectively.
702 * test/code_error.code.c, test/code_error.tab.c, test/code_error.tab.h, test/code_calc.code.c, test/code_calc.tab.c, test/code_calc.tab.h, test/pure_calc.output, test/pure_calc.tab.h, test/pure_error.output, test/pure_error.tab.h, test/code_calc.output, test/code_error.output:
705 * test/error.tab.c, test/ftp.tab.c, test/grammar.tab.c: regen
708 changes to support running "make check" in a separate build-tree
710 * main.c: add "-P" to usage message
712 * reader.c: use UCH() macro to hide casts.
714 2010-06-07 Andres.Mejia
716 * main.c, output.c, reader.c, defs.h, skeleton.c:
717 Fix the output order of the generated parse code file. This allows for
718 the use of YYPARSE_PARAM, by having the output that checks for
719 YYPARSE_PARAM to be defined come after the C code block in the
720 definitions section of a yacc file.
722 Implement support for YYLEX_PARAM, similar to bison. This is useful for
723 support for building reentrant lexers with flex.
725 Fix a compatibility issue with bison's pure-parser option. Bison
726 defines yylex as sending at least one parameter, &yylval, as the first
727 parameter and doesn't seem to have an easy way to remove that parameter.
728 This on the other hand is rather convenient to support saving to yylval
729 from flex when building reentrant lexers and parsers.
731 Add support for the %parse-param and %lex-param directives used in
732 bison. This change bears some similarity to NetBSD's changes to byacc
733 at http://www.mail-archive.com/source-changes-full@netbsd.org/msg08143.html
735 Bison allows for POSIX yacc emulation via a yacc directive in the yacc
736 file, and also via a command line switch. Implement this feature as a
737 no-op for byacc, since byacc is designed to be POSIX yacc compatible
738 anyway. This allows for better compatibility with yacc sources written
741 2010-06-07 Thomas E. Dickey <tom@invisible-island.net>
743 * VERSION: bump to 2010/06/07
745 2010-06-06 Thomas E. Dickey <tom@invisible-island.net>
747 * test/calc.tab.c, configure: regen
750 move #include's down into the generated code, to allow user-defined code
751 to override feature definitions, particularly with stdlib.h (request by
754 * lr0.c, error.c, reader.c, defs.h:
755 strict gcc 3.4.6 warnings on 64-bit platform
757 * aclocal.m4, configure.in: add check for lint
759 * makefile.in: add lint rule
761 * defs.h, closure.c, lr0.c, warshall.c, main.c:
762 fix gcc warnings, mostly for 64-bit platform
765 add macros for checking ctags/etags, e.g., to work with NetBSD pkgsrc
767 * makefile.in: add etags/TAGS if available
769 * configure.in: add configure check for actual ctags and etags programs
771 * package/debian/copyright: add copyright notices for non-PD files
773 * package/debian/changelog:
774 incorporated scripts in upstream to use for test-builds
776 * makefile.in: drop mkdirs.sh, just use "mkdir -p"
778 * AUTHORS: nicknames for some contributors (see CHANGES for details)
780 * package/byacc.spec: RPM file for byacc
782 * VERSION: bump to 2010/06/06
784 * aclocal.m4: add copyright notice, from "my-autoconf" macros
785 http://invisible-island.net/autoconf/autoconf.html
787 * package/RCS, package/debian/RCS, package/debian/source/RCS, package/pkgsrc/RCS:
790 * aclocal.m4: resync with my-autoconf. summary of changes:
791 a) CF_ADD_CFLAGS, etc., improve quoting of ifelse() parameter
792 b) CF_DISABLE_ECHO, change indent-convention for substituted makefile
793 c) CF_GCC_VERSION, ignore stderr
794 d) CF_GCC_WARNINGS, adjust options to work with c89 wrapper of gcc
796 2010-04-20 Thomas E. Dickey <tom@invisible-island.net>
798 * package/debian/changelog, package/debian/compat, package/debian/control, package/debian/copyright, package/debian/docs, package/debian/postinst, package/debian/prerm, package/debian/rules, package/debian/watch:
799 scripts from Debian package
801 2010-02-16 Thomas E. Dickey <tom@invisible-island.net>
803 * yacc.1: document -P and bison-extensions
805 * test/ftp.tab.c, test/grammar.tab.c, test/calc.tab.c, test/error.tab.c:
808 * output.c: implement %pure-parser
811 implement %pure-parser, like bison. To help with this, changed the stack
812 variables, putting them into a struct.
814 * reader.c: implement %pure-parser
816 * defs.h: modified skeleton to support %pure-parser feature
818 * main.c: add -P option to set %pure-parser
821 make -r and -p options work together. The -r option splits the generated
822 parser into code/table files; for this case we cannot use static data.
823 Also, we have to repeat the #define's used for prefix (-p) as well as the
824 redeclaration of yyparse(). Finally, allow any of the prefixed names to
825 be overridden, e.g., by passing a -D option to the compiler. Make that
826 a little more readable by putting a blank line before each chunk.
828 * defs.h: add definitions for %pure-parser
831 put blank line before/after the redeclaration of yyparse()
833 * output.c: allow for other program redefining yylex()
836 split-off xdecls[] array, to move declaration of yyparse() after #define's
838 * defs.h: split-out xdecls[]
844 * aclocal.m4: add CF_REMOVE_DEFINE, needed by CF_ADD_CFLAGS
847 resync with my-autoconf CF_ADD_CFLAGS and CF_DISABLE_ECHO changes.
849 2010-02-16 Ostap.Cherkashi
851 * skeleton.c: fix a memory leak in the generated skeleton
853 2010-01-01 Thomas E. Dickey <tom@invisible-island.net>
855 * package/debian/source/format: scripts from Debian package
857 2009-12-31 Thomas E. Dickey <tom@invisible-island.net>
859 * config.guess: update to 2009-12-30
861 * config.sub: update to 2009-12-31
863 2009-10-27 Thomas E. Dickey <tom@invisible-island.net>
867 * output.c, mkpar.c, defs.h, lalr.c, closure.c, graph.c, lr0.c, verbose.c, main.c, reader.c:
868 strict compiler warnings
870 2009-10-26 Thomas E. Dickey <tom@invisible-island.net>
872 * test/ftp.tab.c, test/grammar.tab.c, test/calc.tab.c, test/error.tab.c:
875 * main.c, defs.h: introduce some typedefs for portability, etc.
878 don't remove "*.log" in mostlyclean rule since it interferes with regression
883 * aclocal.m4: resync with my-autoconf
885 2009-08-25 Thomas E. Dickey <tom@invisible-island.net>
887 * config.guess, config.sub: update to 2009-08-19
889 2009-02-21 Thomas E. Dickey <tom@invisible-island.net>
893 * output.c: restore "yylval" symbol, omitted in cleanup on 2008/8/25
895 2008-12-26 Thomas E. Dickey <tom@invisible-island.net>
897 * configure: regen with autoconf-2.52 (patched)
899 2008-12-25 Thomas E. Dickey <tom@invisible-island.net>
901 * test/error.tab.c, test/ftp.tab.c, test/grammar.tab.c, test/calc.tab.c:
904 2008-12-24 Thomas E. Dickey <tom@invisible-island.net>
909 remove ifdef-lint from goto yyerrlab, to quiet gcc warning
911 2008-11-26 Thomas E. Dickey <tom@invisible-island.net>
913 * verbose.c, main.c, defs.h, mkpar.c, reader.c:
914 completed implementation of "%expect" (report by Perry E. Metzger).
915 add "%expect-rr", which is (unlike bison) allowable in LALR parsers.
917 2008-11-24 Thomas E. Dickey <tom@invisible-island.net>
919 * closure.c, defs.h, error.c, graph.c, lalr.c, lr0.c, main.c, mkpar.c, output.c, reader.c, skeleton.c, symtab.c, verbose.c, warshall.c:
920 change indent-style (request by Perry E. Metzger)
922 2008-08-27 Thomas E. Dickey <tom@invisible-island.net>
924 * test/calc.tab.c, test/error.tab.c, test/ftp.tab.c, test/grammar.tab.c:
925 better implementation of YYPARSE_PARAM, using YYPARSE_DECL() macro
930 better implementation of YYPARSE_PARAM, using YYPARSE_DECL() macro
932 * test/calc.tab.c, test/error.tab.c, test/ftp.tab.c, test/grammar.tab.c, skeleton.c:
933 change YYRECOVERING to YYRECOVERING(), for compatibility with other yacc's.
937 * configure.in: add -Wwrite-strings to warnings
939 * test/ftp.tab.c, test/grammar.tab.c, test/calc.tab.c, test/error.tab.c:
940 add YYPARSE_PARAM and YYPARSE_PARAM_TYPE
943 add YYPARSE_PARAM (bison) and YYPARSE_PARAM_TYPE (FreeBSD) features.
945 * main.c, defs.h, output.c, skeleton.c, symtab.c, error.c, reader.c:
946 fixes for gcc -Wwrite-strings
948 * test/calc.tab.c, test/error.tab.c, test/ftp.tab.c, test/grammar.tab.c:
949 generate the tables as static-const (this is an interface change)
951 * output.c: realign columns in start_table()
954 generate the tables as static-const (this is an interface change)
956 * output.c: reorder functions to eliminate forward-references
958 * test/calc.tab.c, test/error.tab.c, test/ftp.tab.c, test/grammar.tab.c:
959 remove 'register' keywords
961 2008-08-26 Thomas E. Dickey <tom@invisible-island.net>
963 * warshall.c, verbose.c, symtab.c, skeleton.c, reader.c, output.c, mkpar.c, main.c, lr0.c, lalr.c, graph.c, error.c, closure.c:
964 remove 'register' keywords
966 2008-08-25 Thomas E. Dickey <tom@invisible-island.net>
968 * test/ftp.tab.c: regen'd
971 improve the left-curly fix by testing after blanks, to avoid having a
972 " {" at the beginning of a line.
974 * test/error.tab.c, test/grammar.tab.c: regen'd
977 move the remaining newline-counting into write_XXX functions.
979 * test/calc.tab.c: regen'd
982 simplify part of the output_file formatting using new functions, e.g.,
983 start_int_table(), output_newline().
986 modify copy_action() to indent the first character, it if is is left-curly
987 brace. That makes the output look more like the original, as well as makes
988 it simpler to edit (not confuse editors which look for a left-curly in the
989 first column as if it were the beginning of a function).
991 * skeleton.c: minor fixes to avoid gcc -Wconversion warnings
993 * output.c: align the #define's produced for "-p" option
995 * test/run_test.sh: use the "-p" option for better coverage.
997 * output.c: simplify output_prefix() with new define_prefixed()
999 * skeleton.c: include string.h, for memset()
1000 change stack size to unsigned to fix gcc -Wconversion warnings.
1002 * VERSION: bump to 2008/8/25
1004 * makefile.in: add dependency on VERSION file.
1006 2008-08-24 Thomas E. Dickey <tom@invisible-island.net>
1010 * lalr.c: improved memory-leak checking by freeing data in includes[]
1012 * test/error.tab.c, test/ftp.tab.c, test/grammar.tab.c, test/calc.tab.c:
1013 update to match skeleton-change
1015 * configure: regen'd
1017 * skeleton.c: Add fix for stack discussed
1018 http://undeadly.org/cgi?action=article&sid=20080708155228
1020 http://www.openbsd.org/cgi-bin/cvsweb/src/usr.bin/yacc/skeleton.c.diff?r1=1.28&r2=1.29
1022 * aclocal.m4: resync with my-autoconf (no major changes)
1024 2008-07-24 Thomas E. Dickey <tom@invisible-island.net>
1026 * package/pkgsrc/Makefile, package/pkgsrc/distinfo:
1027 scripts from NetBSD pkgsrc, for test-builds
1029 2008-03-14 Thomas E. Dickey <tom@invisible-island.net>
1031 * config.sub: update to 2008-03-08
1033 * config.guess: update to 2008-03-12
1035 2007-05-09 Thomas E. Dickey <tom@invisible-island.net>
1037 * main.c: close graph, verbose files if opened, on exit.
1040 audit memory leaks - valgrind reported some memory still in use on exit.
1042 * lalr.c, output.c, reader.c, mkpar.c, lr0.c:
1043 add hook for auditing memory leaks
1045 * defs.h: add hooks for auditing memory leaks
1047 * configure: regen'd
1050 use CF_DISABLE_LEAKS, which combines --disable-leaks, --with-valgrind,
1051 --with-dbmalloc and --with-dmalloc
1053 * aclocal.m4: add CF_DISABLE_LEAKS and CF_WITH_VALGRIND
1055 * aclocal.m4: improve version-checking in CF_GCC_VERSION
1056 rework dbmalloc/dmalloc options using CF_NO_LEAKS_OPTION macro
1060 * main.c: file_prefix did not always have a trailing null.
1062 2007-03-25 Thomas E. Dickey <tom@invisible-island.net>
1064 * mkdirs.sh: improved version for "make -j"
1066 2006-12-22 Thomas E. Dickey <tom@invisible-island.net>
1068 * config.guess: update to 2006/12/22
1070 2006-12-08 Thomas E. Dickey <tom@invisible-island.net>
1072 * config.sub: update to 2006/12/08
1074 2005-08-13 Thomas E. Dickey <tom@invisible-island.net>
1076 * main.c: add -V to usage message
1078 * makefile.in: remove -t option from ctags
1080 * VERSION: 2005/8/13
1084 * main.c: Sylvain Schmitz:
1085 modify the '-o' option to work like bison's, which sets the file-prefix.
1087 2005-08-13 Matt.Kraai
1090 Debian #322858 (don't close union_file, which contained data).
1091 This feature is used in groff.
1093 2005-08-13 Thomas E. Dickey <tom@invisible-island.net>
1095 * configure: regenerated
1097 * aclocal.m4: improve checks for Intel compiler warnings
1099 2005-06-25 Thomas E. Dickey <tom@invisible-island.net>
1101 * config.sub: update to 2005/6/2
1103 * config.guess: update to 2005/5/27
1105 2005-05-05 Thomas E. Dickey <tom@invisible-island.net>
1107 * defs.h: add a fallback for GCC_UNUSED
1109 2005-05-04 Thomas E. Dickey <tom@invisible-island.net>
1111 * makefile.in: add "." to include-path to pickup config.h
1114 apply fix suggested by Steve Dum for end_rule() in Redhat Bugzilla #112617.
1117 correct a limit check in pack_vector() - report/analysis by William Evans
1120 exit after printing version. Otherwise "yacc -V" will exit with an erro
1121 after printing the usage message.
1123 * test/calc.tab.c, test/error.tab.c, test/ftp.tab.c, test/grammar.tab.c:
1124 regenerated after skeleton-changes
1126 * skeleton.c: replace a few -1's with YYEMPTY
1129 delete yynewerror (no one uses it any more, and it just makes compiler warnings)
1131 * skeleton.c: adapt yygrowstack() and related definitions from FreeBSD
1134 filter out lines with YYPATCH, since that will change with each update
1136 * yacc.1: add -V option
1138 * main.c: add -V option to print the version.
1139 simplify option-parsing by moving the duplicate logic for setting flags into
1140 new function setflag().
1143 move the actual definition of YYMAJOR and YYMINOR to defs.h (as numbers).
1144 add YYPATCH here so it can be tested by applications.
1147 add macros to define VERSION in terms of the (numeric) YYMAJOR, YYMINOR and
1150 * lalr.c, lr0.c, mkpar.c, defs.h, closure.c, warshall.c, output.c, verbose.c, graph.c, reader.c, main.c, symtab.c:
1151 reduce externs by making static the procedures that are not referenced outside
1152 the module in which they are defined.
1155 the VERSION file holds the patch-date. Define YYPATCH, so this will be
1156 compiled into the skeleton.
1158 * VERSION: patch-level for byacc
1161 add "-o" to usage message. It is too long for a single line; rewrite usage()
1162 to show one option per line.
1164 2005-05-03 Thomas E. Dickey <tom@invisible-island.net>
1166 * main.c: add -o option, to work with scripts that assume bison.
1167 simplify create_file_names() with a macro.
1168 simplify done() with a macro.
1169 adapt fix from FreeBSD for signal race, e.g., if done() is interrupted by
1170 onintr(), do not flush output via exit(), but use _exit() instead.
1172 * defs.h: remove unnecessary externs for main.c
1174 * yacc.1: add -o option
1176 * graph.c: remove unused parameter
1178 * mkpar.c, defs.h, reader.c:
1179 add support for "%expect", a bison feature from FreeBSD sources
1181 * lr0.c, reader.c, main.c, skeleton.c, graph.c, symtab.c, closure.c, mkpar.c, lalr.c, error.c, warshall.c, verbose.c, output.c:
1184 * configure: regenerated for 2005/5/5
1186 * aclocal.m4: miscellaneous updates (adds CF_INTEL_COMPILER)
1190 * defs.h, graph.c, lr0.c, main.c, makefile.in, reader.c, yacc.1:
1191 Sylvain Schmitz <schmitz@i3s.unice.fr>:
1192 add graphical output of the LALR(1) automaton for graphviz,
1193 associated with command-line option `-g'
1195 2005-04-16 Thomas E. Dickey <tom@invisible-island.net>
1197 * config.sub: update to 2005/2/10
1199 * config.guess: update to 2005/3/24
1201 2005-04-13 Thomas E. Dickey <tom@invisible-island.net>
1203 * package/pkgsrc/PLIST: scripts from NetBSD pkgsrc, for test-builds
1205 2005-03-21 Thomas E. Dickey <tom@invisible-island.net>
1207 * package/pkgsrc/DESCR: scripts from NetBSD pkgsrc, for test-builds
1209 2004-03-28 Thomas E. Dickey <tom@invisible-island.net>
1211 * test/calc.tab.c, test/error.tab.c, test/ftp.tab.c, test/grammar.tab.c:
1212 updates due to adding yyparse() prototype
1214 * configure: RCS_BASE
1217 add AC_ARG_PROGRAM to make --program-prefix, etc., work.
1219 * makefile.in: first cut of script to support --program-prefix
1222 reorder AC_INIT/AC_CONFIG_HEADER to make this "work" with autoconf 2.52
1224 * makefile.in: modify so DESTDIR works
1226 * makefile.in: use EXEEXT and OBJEXT
1228 * configure.in: use CF_PROG_EXT
1231 * defs.h: make this use the generated config.h
1233 * skeleton.c: add a forward-reference for yyparse()
1235 * aclocal.m4: add CF_CHECK_CACHE, needed for CF_PROG_EXT
1237 * yacc.1: remove the discussion of TMPDIR since it is obsolete
1239 * skeleton.c: fix a couple of minor compiler-warnings in the skeleton
1241 * defs.h: remove action_file_name, etc., since we use tmpfile() now.
1244 use tmpfile() for opening the working files. This quiets a warning
1245 advising the use of mkstemp().
1248 Do not close temporary-files here, since they are opened with tmpfile().
1249 Just rewind them, and they're ready to read back the data stored in them.
1251 * test/grammar.output, test/grammar.tab.c, test/grammar.tab.h: RCS_BASE
1253 * makefile.in: turn on "make check" rule
1255 * test/calc.output, test/run_test.sh, test/calc.tab.h: RCS_BASE
1257 * test/ftp.tab.c: yyparse() is now yyparse(void)
1259 * test/calc.tab.c: RCS_BASE
1261 * test/error.tab.c: yyparse() is now yyparse(void)
1263 * test/README: RCS_BASE
1265 * yacc.1: various typography fixes prompted by Debian #100947
1267 * aclocal.m4, makefile.in, configure.in: RCS_BASE
1269 * README: updated to note that this is not the original
1271 2004-03-24 Thomas E. Dickey <tom@invisible-island.net>
1273 * test/grammar.y: RCS_BASE
1275 2004-02-23 Thomas E. Dickey <tom@invisible-island.net>
1277 * config.sub: RCS_BASE
1279 2004-02-17 Thomas E. Dickey <tom@invisible-island.net>
1281 * config.guess: RCS_BASE
1283 2003-11-29 Thomas E. Dickey <tom@invisible-island.net>
1285 * install-sh: improved quoting
1287 2002-06-29 Thomas E. Dickey <tom@invisible-island.net>
1290 don't use character range, since some locales don't work as expected
1292 2001-06-22 Thomas E. Dickey <tom@invisible-island.net>
1294 * install-sh: RCS_BASE
1296 2000-11-20 Thomas E. Dickey <tom@invisible-island.net>
1298 * test/calc.y: RCS_BASE
1300 * test/code_calc.y, test/pure_calc.y: copy of calc.y
1302 * vmsbuild.com: original version
1304 2000-02-23 Thomas E. Dickey <dickey@invisible-island.net>
1306 * test/RCS, RCS: PERMIT FILE
1308 2000-02-14 Thomas E. Dickey <tom@invisible-island.net>
1310 * main.c: fix for VMS port - making pathname for temp-file
1312 * descrip.mms: original version
1314 2000-02-13 Thomas E. Dickey <tom@invisible-island.net>
1316 * defs.h, verbose.c, reader.c, main.c, skeleton.c, warshall.c, symtab.c, closure.c, mkpar.c, lalr.c, lr0.c, output.c, error.c:
1319 1999-11-30 Thomas E. Dickey <tom@invisible-island.net>
1321 * mkdirs.sh: RCS_BASE
1323 1995-01-01 Thomas E. Dickey <tom@invisible-island.net>
1325 * config_h.in: RCS_BASE
1329 * README.DOS, main.c: MSDOS-port
1333 * reader.c, defs.h: MSDOS-port
1337 * README: original version
1341 * test/ftp.output, test/ftp.tab.c, test/ftp.tab.h, test/error.output, test/error.tab.c, test/error.tab.h:
1344 * skeleton.c, warshall.c, main.c, output.c, reader.c, closure.c, NOTES:
1349 * yacc.1: original version
1353 * defs.h: original version
1357 * mkpar.c, verbose.c: original version
1361 * lr0.c, Makefile, Makefile.old: original version
1365 * NEW_FEATURES: original version
1369 * ACKNOWLEDGEMENTS: original version
1373 * symtab.c, lalr.c, error.c: original version
1375 1990-01-16 Thomas E. Dickey <tom@invisible-island.net>
1377 * test/code_error.y, test/pure_error.y: RCS_BASE
1381 * test/error.y: RCS_BASE
1385 * NO_WARRANTY: original version
1389 * test/ftp.y: RCS_BASE