1 2013-09-25 Thomas E. Dickey <tom@invisible-island.net>
3 * reader.c: fix two loop-limits found by clang 3.3 --analyze
8 tweaks to CF_MIXEDCASE_FILENAMES and CF_XOPEN_SOURCE for msys from ncurses
10 * package/mingw-byacc.spec: RCS_BASE
12 * 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:
16 Increase default stack-size to match FreeBSD version noted as from
17 "BSD 4.4 Lite Usr.bin Sources". See
19 http://svnweb.freebsd.org/base/vendor/CSRG/dist/usr.bin/yacc/
20 http://svnweb.freebsd.org/base/head/usr.bin/yacc/
21 http://svnweb.freebsd.org/base/vendor/byacc/
23 The original 1.9 sources (on which I based development) used 500 for
24 stacksize; the BSD Lite sources (a year or two later) used 10000.
26 This is a change to default values; the YYMAXDEPTH and YYSTACKSIZE
27 symbols have "always" been overridable by applications, but rarely
28 needed to do this. RedHat began using the FreeBSD source in 2000,
29 and switched to this source in 2007 using the 20050813 snapshot.
31 RedHat #743343 misattributed the change in default stacksize to
32 a regression in byacc, but did not report the issue upstream.
34 * package/debian/changelog, VERSION, package/byacc.spec: bump
36 2013-09-07 Thomas E. Dickey <tom@invisible-island.net>
38 * config.sub: update to 2013-09-15
40 * config.guess: update to 2013-06-10
42 2013-03-04 Thomas E. Dickey <tom@invisible-island.net>
44 * package/debian/changelog, VERSION, package/byacc.spec: bump
47 adapt tweak from Dave Becket to work around long-ago breakage in "new" autoconf.
50 fix bogus #include if "-i" is given but not "-d" (report by Richard Mitton).
51 also while testing that, found a case where the union_file is unused; added
52 a check for address that.
54 * test/ftp.output, test/ftp.tab.c, test/ftp.tab.h: regen
56 * test/ftp.y: fix most compiler warnings for "make check_make"
58 * test/calc1.tab.c: regen
60 * test/calc1.y: fix most compiler warnings for "make check_make"
62 * 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:
65 * skeleton.c: quiet a gcc conversion-warning in yygrowstack()
70 another fix for CF_GCC_VERSION to handle Debian's modification of gcc message.
72 2013-02-10 Thomas E. Dickey <tom@invisible-island.net>
74 * config.sub, config.guess: update to 2013-02-04
76 2012-10-03 Thomas E. Dickey <tom@invisible-island.net>
78 * package/debian/changelog, package/byacc.spec, VERSION: bump
82 * configure.in: moved AC_PROG_CC_STDC call into CF_PROG_CC
85 moved AC_PROG_CC_STDC call into CF_PROG_CC and (for other uses than byacc)
86 the CF_PROG_CC macro provides the CF_ANSI_CC_REQD for the 2.13 flavor.
88 * aclocal.m4, configure.in:
89 Arian's change dropped my check for misused $CC variable - restore that with
90 alternate macro CF_PROG_CC.
92 2012-10-03 Adrian.Bunk
95 suggested patch: drop CF_ANSI_CC_REQD, CF_ANSI_CC_CHECK, CF_PROG_EXT since
98 2012-10-03 Thomas E. Dickey <tom@invisible-island.net>
101 split-out CF_CC_ENV_FLAGS from CF_ANSI_CC_CHECK to avoid losing it in
102 Adrian's suggested changes.
105 CF_CLANG_COMPILER - check if the given compiler is really clang.
108 add check for clang to CF_GCC_WARNINGS. modify CF_GCC_WARNINGS to work around
109 old gcc warning: ncurses change to (try to) use gnatgcc exposed gnatgcc 2.8.1
110 on my Sarge system (versus 3.3.5 for the normal gcc). The 2.8.1's
111 pointer-arithmetic checks fell afoul of gcc's misuse of void* in string.h; work
112 around by excluding that check for pre-3.x compilers.
115 modify CF_GCC_ATTRIBUTES so that autoheader is able to see the definitions
116 provided by this macro. use AC_DEFINE_UNQUOTED() in CF_GCC_ATTRIBUTES rather
117 than appending to confdefs.h, since long-ago concern about the ability to
118 pass-through parameterized macros appears to be not a problem, testing with
121 2012-10-03 Adrian.Bunk
124 add parameter to AC_DEFINE_UNQUOTED() to allow it to be recognized by
125 autoheader, updated macros:
129 CF_MIXEDCASE_FILENAMES
132 2012-10-03 Thomas E. Dickey <tom@invisible-island.net>
135 move existence-check for mkstemp out of the AC_TRY_RUN, to help with
138 2012-10-02 Thomas E. Dickey <tom@invisible-island.net>
141 Adrian Bunk request - replace this with the output from autoheader
143 2012-09-29 Adrian.Bunk
146 suggested change: replace CF_ANSI_CC_REQD by AC_PROG_CC_STDC (since no
147 check is needed anymore for standard C compilers), drop AC_CONST (same
148 reason), modify AC_OUTPUT to rely upon template generated by autoheader.
149 bump requirement to autoconf 2.52.20011201 and drop check for CF_PROG_EXT
150 as being obsolete with autoconf 2.52x
152 * configure.in, main.c: drop check for atexit, because it is standard C
154 * makefile.in: add assignment for datarootdir variable.
156 2012-05-26 Thomas E. Dickey <tom@invisible-island.net>
158 * package/debian/changelog, package/byacc.spec, VERSION: bump
161 some versions of gcc may warn that bp is not set in mark_symbol, e.g.,
162 if GCC_NORETURN is not handled; appease the compiler.
165 use the declared types Assoc_t and Value_t in some places where compiler only
166 cared about char versus short.
169 use TMALLOC() and TREALLOC() macros to simplify allocation/reallocation
173 add fallbacks for GCC_NORETURN and GCC_UNUSED to make it simpler for *BSD
174 packagers to build without configure script. Also remove duplicate declaration
175 of pure_parser variable (prompted by patch by Baptiste Daroussin).
177 Also define new TMALLOC and TREALLOC macros to simplify/replace MALLOC and
181 use TMALLOC() and TREALLOC() macros to simplify allocation/reallocation
184 2012-05-25 Thomas E. Dickey <tom@invisible-island.net>
186 * output.c, main.c, verbose.c, mkpar.c, lr0.c:
187 use TMALLOC() and TREALLOC() macros to simplify allocation/reallocation
190 2012-01-15 Thomas E. Dickey <tom@invisible-island.net>
192 * package/debian/copyright: bump
194 * test/run_make.sh: workaround for breakage due to GNU make 3.82
197 tested with Solaris 10 (bison 1.875) and added scripting to exercise
198 the /usr/ccs/bin/yacc executable
200 * test/grammar.tab.c: regen
202 * test/grammar.y: modify to also build with Solaris yacc
204 * VERSION, package/debian/changelog, package/byacc.spec: bump
206 * test/calc1.output, test/calc1.tab.c: regen
209 undo the change made to appease bison, since it was only a warning.
211 * test/pure_calc.tab.c, test/pure_error.tab.c: regen
213 * test/run_make.sh: another fix for running from top-level directory
216 ensure that check_make rule depends on having byacc built.
218 * test/run_make.sh: fixes for building from parent directory
220 * test/pure_error.y, test/pure_calc.y: bison-fixes
222 * 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:
225 * test/calc2.y, test/calc3.y, test/code_error.y, test/ftp.y:
226 byacc already declares yyerror
228 * test/pure_error.y, test/pure_calc.y:
229 modified to help make the files build with bison
232 supply a "%pure-parser" directive when bison needs it.
234 * test/code_calc.code.c: regen
236 * test/code_calc.y: modified to help make the files build with bison
239 in testing, found that %expect did not work as documented for bison.
240 do not recommend it for portable code.
242 * test/run_make.sh: workaround breakage in bison's %expect directive
244 * test/grammar.y: modified to help make the files build with bison
246 * test/calc1.output, test/calc1.tab.c, test/grammar.tab.c: regen
248 * test/calc1.y: quiet a spurious warning from bison 2.3
250 * test/calc1.tab.c: regen
252 * test/calc1.y: modified to help make the files build with bison
254 * yacc.1: comment on "-y" and "-P" options.
256 * yacc.1: comment on portability
258 * 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:
261 * test/ftp.y: modified to help make the files build with bison
262 (bison's "-y" option is of no use in providing "yacc" compatibility)
264 * test/quote_calc2.tab.c, test/quote_calc3.tab.c, test/quote_calc4-s.tab.c, test/quote_calc4.tab.c:
267 * test/code_calc.y, test/quote_calc2.y, test/quote_calc.y, test/quote_calc4.y, test/quote_calc3.y:
268 modified to help make the files build with bison
270 * test/calc.tab.c: regen
272 * test/calc.y: modified to help make the files build with bison
274 * test/error.tab.c: regen
276 * test/error.y: modified to help make the files build with bison
278 * test/calc2.tab.c, test/calc3.tab.c, test/code_error.code.c: regen
281 check for older bisons which (2.3 for instance) do not support pure parsers
283 * test/code_error.y, test/calc3.y, test/calc2.y:
284 modified to help make the files build with bison
286 * test/run_test.sh: use $opt2 in filenames of the generated files
288 * 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:
291 2012-01-14 Thomas E. Dickey <tom@invisible-island.net>
293 * 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:
296 * output.c: Several changes:
297 a) add YYLEX_PARAM_TYPE, like YYPARSE_PARAM_TYPE, but for yylex.
298 b) modify definitions for YYLEX_DECL to be more like YYPARSE_DECL,
299 using YYLEX_PARAM_TYPE and YYLEX_PARAM.
300 c) add ifdef's around #define's for YYERROR_DECL and YYERROR_CALL,
301 to help with redefinitions.
303 * test/pure_calc.tab.c:
304 modified to help make the files build with bison
307 start work on followup, to check if the generated files build with bison.
309 * test/pure_calc.y, test/pure_error.tab.c:
310 modified to help make the files build with bison
312 * test/calc3.tab.c: regen
314 * 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:
317 * test/run_test.sh: generate/test with "-s" option applied.
319 2012-01-13 Thomas E. Dickey <tom@invisible-island.net>
321 * package/debian/changelog, package/byacc.spec, VERSION: bump
323 * yacc.1: improve documentation of -s option
325 * yacc.1: note that yacc ignores -y
327 * main.c: add -s option to usage message.
329 * 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:
334 * aclocal.m4: resync with my-autoconf, i.e., fixes for CF_XOPEN_SOURCE
336 2011-12-19 Thomas E. Dickey <tom@invisible-island.net>
338 * package/debian/changelog, package/byacc.spec, VERSION: bump
340 * yacc.1, output.c, main.c, defs.h:
341 add "-s" option to suppress generating #define's based on string contents
342 in a %token statement. For instance
347 Simply suppressing the second #define makes the behavior closer to yacc.
348 (report by Paulo Andrade).
350 2011-09-08 Thomas E. Dickey <tom@invisible-island.net>
352 * package/debian/changelog, package/byacc.spec, VERSION: bump
355 fix some more interaction between -i and -d flags to ensure YYERRCODE
356 and YYSTYPE are declared, tested with cproto.
358 2011-09-07 Thomas E. Dickey <tom@invisible-island.net>
360 * yacc.1: document "-i" option.
362 * package/debian/changelog, package/byacc.spec, VERSION: bump
364 * output.c: fix an interaction between -i and -d
366 * 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:
367 regen - changes for "-i" option move the global/impure variables near the
368 macros that may add a prefix, etc.
370 * skeleton.c, output.c, defs.h: changes to support "-i" option.
372 2011-09-06 Thomas E. Dickey <tom@invisible-island.net>
374 * reader.c: pass explicit file-pointer to write_section()
377 add "-i" option, to generate interface-file (suggested by Denis M. Wilson)
379 2011-09-05 Thomas E. Dickey <tom@invisible-island.net>
384 resync with my-autoconf: CF_ANSI_CC_CHECK (check for $CFLAGS in $CC)
385 and CF_XOPEN_SOURCE (update aix, cygwin and netbsd checks)
387 * defs.h, error.c, reader.c:
388 add check for missing "}" on %parse-param and %lex-param lines (report by Denis M Wilson)
390 2011-04-01 Thomas E. Dickey <tom@invisible-island.net>
392 * config.sub: update to 2011-04-01
394 2011-02-02 Thomas E. Dickey <tom@invisible-island.net>
396 * config.guess: update to 2011-01-01
398 2010-12-29 Thomas E. Dickey <tom@invisible-island.net>
400 * defs.h, skeleton.c:
401 add const qualifier to skeleton data, per NetBSD changes (report by Christos Zoulas)
404 mark all of the error-functions as non-returning (report by Christos Zoulas)
406 * 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:
410 use only realloc() rather than realloc+malloc, agree that systems needing this
411 are very rare (prompted by NetBSD change).
413 * test/ftp.tab.c: regen
415 2010-12-29 Christos.Zoulas
418 improve example, which was stuck in 19XX and assumed file sizes were longs.
420 2010-12-29 Thomas E. Dickey <tom@invisible-island.net>
422 * 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:
425 * 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:
426 use byacc's YYLEX_DECL/YYERROR_DECL symbols to prototype yylex/yyerror
429 remove explicit prototype for yylex() via YYLEX_DECL() macro, since that
430 would prevent declaring yylex() static (request by Christos Zoulas).
432 * test/calc2.tab.c, test/calc3.tab.c: regen
434 2010-12-29 Christos.Zoulas
436 * output.c: correct definition for YYERROR_DECL()
438 2010-12-29 Thomas E. Dickey <tom@invisible-island.net>
440 * package/debian/changelog, package/byacc.spec, VERSION: bump
442 2010-12-26 Thomas E. Dickey <tom@invisible-island.net>
445 change return-type of allocate() to avoid warnings of alignment problems
447 * main.c: Solaris declares chmod() in <sys/stat.h>
451 * main.c: ifdef'd use of fcntl.h
453 * configure.in: add configure checks for fcntl.h, atexit and mkstemp
455 * main.c: for cases where mkstemp() is not available, use tempnam/open
457 * aclocal.m4: add CF_MKSTEMP
460 improve quoting, deprecate ${name-value} in favor of standard ${name:-value}
462 2010-12-25 Thomas E. Dickey <tom@invisible-island.net>
465 start revising use of tmpfile(), to make this work with MinGW. Start by
466 implementing a mkstemp() alternative - noting that mkstemp() also is broken
469 * package/debian/changelog, package/byacc.spec, VERSION: bump
471 2010-11-27 Thomas E. Dickey <tom@invisible-island.net>
473 * package/byacc.spec, package/debian/changelog, VERSION: bump
475 * test/calc2.tab.c, test/calc3.tab.c: regen
478 corrected use of %parse-param value in yyerror(); it doesn't use &yylval
479 (report by Clifford Yapp)
481 2010-11-26 Thomas E. Dickey <tom@invisible-island.net>
486 correct line-numbering when "-r" option is used; the 'outline' variable
487 should only be incremented when writing to the code-file.
489 * test/code_calc.code.c, test/code_error.code.c: regen
493 * yacc.1: comment on -b option vs -r
495 * 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:
499 improve on YYERROR_DECL(), adding dummy params which can be used for the
500 actual function declaration. Also add YYERROR_CALL(). The two macros
501 simplify maintaining sets of grammars which may/may not be pure.
503 * 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:
506 * output.c: generate yyerror() calls in output.c
507 This is for compatibility with bison, which passes the yylval to yyerror
508 when the %parse-param feature is used.
510 * skeleton.c, defs.h: generate yyerror() calls in output.c
512 * output.c: simplified a little, using putc_code() and putl_code()
514 * test/calc1.tab.h: regen
517 improve ifdef for YYSTYPE union declaration (report by Clifford Yapp)
520 accept underscore as a replacement for dash in command names, e.g.,
521 "%pure_parser" vs "%pure-parser".
523 * test/calc1.tab.c: regen
525 * output.c, reader.c:
526 also ifdef YYSTYPE declaration in the generated code (report by Clifford Yapp)
528 * package/debian/changelog, package/byacc.spec, VERSION: bump
530 2010-11-24 Thomas E. Dickey <tom@invisible-island.net>
532 * main.c, defs.h, symtab.c, error.c: reduce global variables
534 * package/debian/changelog, package/byacc.spec, VERSION: bump
537 amend fix for Redhat #112617 to still call default_action_warning() for
538 empty rules (report by Bruce Cran).
540 2010-11-22 Thomas E. Dickey <tom@invisible-island.net>
543 add ifdef to guard against redefinition of YYSTYPE union (request by Clifford Yapp).
545 * test/calc1.tab.c: regen
547 * test/calc1.y: cleanup compiler warnings
549 * test/grammar.y: add "%expect"
551 * test/calc1.tab.h: regen
553 * test/calc1.output, test/calc1.tab.c, test/calc1.tab.h: RCS_BASE
555 * test/calc2.tab.c, test/calc3.tab.c: regen
558 advanced example from Steve Johnson's paper, uses unions
560 * test/calc3.y, test/calc2.y: init 'base', so examples can run
562 * test/ftp.tab.c, test/ftp.y: tweaks to compile with g++
564 * output.c: compensate for fix in reader.c
567 add/use putc_both() and puts_both(), incidentally fixing a place where
568 a union copied to the union_file may be missing the end of the last line.
570 * package/debian/changelog, package/byacc.spec, VERSION: bump
572 2010-09-28 Thomas E. Dickey <tom@invisible-island.net>
574 * config.guess: update to 2010-09-24
576 2010-09-10 Thomas E. Dickey <tom@invisible-island.net>
578 * config.sub: update to 2010-09-11
580 2010-06-10 Thomas E. Dickey <tom@invisible-island.net>
582 * yacc.1, package/debian/changelog, package/byacc.spec, VERSION:
585 2010-06-09 Thomas E. Dickey <tom@invisible-island.net>
587 * reader.c: free declarations in leak-testing code.
589 * main.c: close code_file if -r option used, for leak-testing
592 improve %lex-param / %parse-param implementation by allowing for arrays to
593 be passed as parameters, e.g., "int regs[26]".
595 * 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:
599 improve %lex-param / %parse-param implementation by allowing for arrays to
600 be passed as parameters, e.g., "int regs[26]".
602 * test/calc.tab.c, test/calc.y:
603 test-cases and reference files for %lex-param / %parse-param
605 * makefile.in: add docs-rule, for html/pdf/txt form of manpage
609 * aclocal.m4: add CF_XOPEN_SOURCE, etc.
612 use CF_XOPEN_SOURCE check to ensure that strdup is in scope, e.g., for c89
614 * 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:
615 fix warnings from clang --analyze
617 2010-06-08 Thomas E. Dickey <tom@invisible-island.net>
619 * output.c: fix to build with c89, etc.
621 * reader.c: gcc warning
623 * 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:
624 modified test-cases to allow them to compile, to validate pure-parser changes.
625 updated reference files to match.
628 move call for output_stype() earlier since it is used in pure-parser declarations
630 * test/grammar.tab.c, test/grammar.y:
631 modified test-cases to allow them to compile, to validate pure-parser changes.
632 updated reference files to match.
634 * test/calc.tab.c, test/error.tab.c, test/ftp.tab.c, test/grammar.tab.c:
637 * yacc.1: document %lex-param and %parse-param
639 * test/run_lint.sh, test/run_make.sh: RCS_BASE
642 further modify to allow build-directory to be in a different location by
643 passing this directory's location as a parameter to the script.
646 add check_make and check_lint rules to help validate the generated files
647 in the test-directory
649 2010-06-07 Thomas E. Dickey <tom@invisible-island.net>
651 * test/pure_calc.tab.c, test/pure_error.tab.c: RCS_BASE
654 provide for testing -r and -P options by checking if the ".y" filename
655 begins with "code_" or "pure_", respectively.
657 * 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:
660 * test/error.tab.c, test/ftp.tab.c, test/grammar.tab.c: regen
663 changes to support running "make check" in a separate build-tree
665 * main.c: add "-P" to usage message
667 * reader.c: use UCH() macro to hide casts.
669 2010-06-07 Andres.Mejia
671 * main.c, output.c, reader.c, defs.h, skeleton.c:
672 Fix the output order of the generated parse code file. This allows for
673 the use of YYPARSE_PARAM, by having the output that checks for
674 YYPARSE_PARAM to be defined come after the C code block in the
675 definitions section of a yacc file.
677 Implement support for YYLEX_PARAM, similar to bison. This is useful for
678 support for building reentrant lexers with flex.
680 Fix a compatibility issue with bison's pure-parser option. Bison
681 defines yylex as sending at least one parameter, &yylval, as the first
682 parameter and doesn't seem to have an easy way to remove that parameter.
683 This on the other hand is rather convenient to support saving to yylval
684 from flex when building reentrant lexers and parsers.
686 Add support for the %parse-param and %lex-param directives used in
687 bison. This change bears some similarity to NetBSD's changes to byacc
688 at http://www.mail-archive.com/source-changes-full@netbsd.org/msg08143.html
690 Bison allows for POSIX yacc emulation via a yacc directive in the yacc
691 file, and also via a command line switch. Implement this feature as a
692 no-op for byacc, since byacc is designed to be POSIX yacc compatible
693 anyway. This allows for better compatibility with yacc sources written
696 2010-06-07 Thomas E. Dickey <tom@invisible-island.net>
698 * VERSION: bump to 2010/06/07
700 2010-06-06 Thomas E. Dickey <tom@invisible-island.net>
702 * test/calc.tab.c, configure: regen
705 move #include's down into the generated code, to allow user-defined code
706 to override feature definitions, particularly with stdlib.h (request by
709 * lr0.c, error.c, reader.c, defs.h:
710 strict gcc 3.4.6 warnings on 64-bit platform
712 * aclocal.m4, configure.in: add check for lint
714 * makefile.in: add lint rule
716 * defs.h, closure.c, lr0.c, warshall.c, main.c:
717 fix gcc warnings, mostly for 64-bit platform
720 add macros for checking ctags/etags, e.g., to work with NetBSD pkgsrc
722 * makefile.in: add etags/TAGS if available
724 * configure.in: add configure check for actual ctags and etags programs
726 * package/debian/copyright: add copyright notices for non-PD files
728 * package/debian/changelog:
729 incorporated scripts in upstream to use for test-builds
731 * makefile.in: drop mkdirs.sh, just use "mkdir -p"
733 * AUTHORS: nicknames for some contributors (see CHANGES for details)
735 * package/byacc.spec: RPM file for byacc
737 * VERSION: bump to 2010/06/06
739 * aclocal.m4: add copyright notice, from "my-autoconf" macros
740 http://invisible-island.net/autoconf/autoconf.html
742 * package/RCS, package/debian/RCS, package/debian/source/RCS, package/pkgsrc/RCS:
745 * aclocal.m4: resync with my-autoconf. summary of changes:
746 a) CF_ADD_CFLAGS, etc., improve quoting of ifelse() parameter
747 b) CF_DISABLE_ECHO, change indent-convention for substituted makefile
748 c) CF_GCC_VERSION, ignore stderr
749 d) CF_GCC_WARNINGS, adjust options to work with c89 wrapper of gcc
751 2010-04-20 Thomas E. Dickey <tom@invisible-island.net>
753 * 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:
754 scripts from Debian package
756 2010-02-16 Thomas E. Dickey <tom@invisible-island.net>
758 * yacc.1: document -P and bison-extensions
760 * test/ftp.tab.c, test/grammar.tab.c, test/calc.tab.c, test/error.tab.c:
763 * output.c: implement %pure-parser
766 implement %pure-parser, like bison. To help with this, changed the stack
767 variables, putting them into a struct.
769 * reader.c: implement %pure-parser
771 * defs.h: modified skeleton to support %pure-parser feature
773 * main.c: add -P option to set %pure-parser
776 make -r and -p options work together. The -r option splits the generated
777 parser into code/table files; for this case we cannot use static data.
778 Also, we have to repeat the #define's used for prefix (-p) as well as the
779 redeclaration of yyparse(). Finally, allow any of the prefixed names to
780 be overridden, e.g., by passing a -D option to the compiler. Make that
781 a little more readable by putting a blank line before each chunk.
783 * defs.h: add definitions for %pure-parser
786 put blank line before/after the redeclaration of yyparse()
788 * output.c: allow for other program redefining yylex()
791 split-off xdecls[] array, to move declaration of yyparse() after #define's
793 * defs.h: split-out xdecls[]
799 * aclocal.m4: add CF_REMOVE_DEFINE, needed by CF_ADD_CFLAGS
802 resync with my-autoconf CF_ADD_CFLAGS and CF_DISABLE_ECHO changes.
804 2010-02-16 Ostap.Cherkashi
806 * skeleton.c: fix a memory leak in the generated skeleton
808 2010-01-01 Thomas E. Dickey <tom@invisible-island.net>
810 * package/debian/source/format: scripts from Debian package
812 2009-12-31 Thomas E. Dickey <tom@invisible-island.net>
814 * config.guess: update to 2009-12-30
816 * config.sub: update to 2009-12-31
818 2009-10-27 Thomas E. Dickey <tom@invisible-island.net>
822 * output.c, mkpar.c, defs.h, lalr.c, closure.c, graph.c, lr0.c, verbose.c, main.c, reader.c:
823 strict compiler warnings
825 2009-10-26 Thomas E. Dickey <tom@invisible-island.net>
827 * test/ftp.tab.c, test/grammar.tab.c, test/calc.tab.c, test/error.tab.c:
830 * main.c, defs.h: introduce some typedefs for portability, etc.
833 don't remove "*.log" in mostlyclean rule since it interferes with regression
838 * aclocal.m4: resync with my-autoconf
840 2009-08-25 Thomas E. Dickey <tom@invisible-island.net>
842 * config.guess, config.sub: update to 2009-08-19
844 2009-02-21 Thomas E. Dickey <tom@invisible-island.net>
848 * output.c: restore "yylval" symbol, omitted in cleanup on 2008/8/25
850 2008-12-26 Thomas E. Dickey <tom@invisible-island.net>
852 * configure: regen with autoconf-2.52 (patched)
854 2008-12-25 Thomas E. Dickey <tom@invisible-island.net>
856 * test/error.tab.c, test/ftp.tab.c, test/grammar.tab.c, test/calc.tab.c:
859 2008-12-24 Thomas E. Dickey <tom@invisible-island.net>
864 remove ifdef-lint from goto yyerrlab, to quiet gcc warning
866 2008-11-26 Thomas E. Dickey <tom@invisible-island.net>
868 * verbose.c, main.c, defs.h, mkpar.c, reader.c:
869 completed implementation of "%expect" (report by Perry E. Metzger).
870 add "%expect-rr", which is (unlike bison) allowable in LALR parsers.
872 2008-11-24 Thomas E. Dickey <tom@invisible-island.net>
874 * 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:
875 change indent-style (request by Perry E. Metzger)
877 2008-08-27 Thomas E. Dickey <tom@invisible-island.net>
879 * test/calc.tab.c, test/error.tab.c, test/ftp.tab.c, test/grammar.tab.c:
880 better implementation of YYPARSE_PARAM, using YYPARSE_DECL() macro
885 better implementation of YYPARSE_PARAM, using YYPARSE_DECL() macro
887 * test/calc.tab.c, test/error.tab.c, test/ftp.tab.c, test/grammar.tab.c, skeleton.c:
888 change YYRECOVERING to YYRECOVERING(), for compatibility with other yacc's.
892 * configure.in: add -Wwrite-strings to warnings
894 * test/ftp.tab.c, test/grammar.tab.c, test/calc.tab.c, test/error.tab.c:
895 add YYPARSE_PARAM and YYPARSE_PARAM_TYPE
898 add YYPARSE_PARAM (bison) and YYPARSE_PARAM_TYPE (FreeBSD) features.
900 * main.c, defs.h, output.c, skeleton.c, symtab.c, error.c, reader.c:
901 fixes for gcc -Wwrite-strings
903 * test/calc.tab.c, test/error.tab.c, test/ftp.tab.c, test/grammar.tab.c:
904 generate the tables as static-const (this is an interface change)
906 * output.c: realign columns in start_table()
909 generate the tables as static-const (this is an interface change)
911 * output.c: reorder functions to eliminate forward-references
913 * test/calc.tab.c, test/error.tab.c, test/ftp.tab.c, test/grammar.tab.c:
914 remove 'register' keywords
916 2008-08-26 Thomas E. Dickey <tom@invisible-island.net>
918 * 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:
919 remove 'register' keywords
921 2008-08-25 Thomas E. Dickey <tom@invisible-island.net>
923 * test/ftp.tab.c: regen'd
926 improve the left-curly fix by testing after blanks, to avoid having a
927 " {" at the beginning of a line.
929 * test/error.tab.c, test/grammar.tab.c: regen'd
932 move the remaining newline-counting into write_XXX functions.
934 * test/calc.tab.c: regen'd
937 simplify part of the output_file formatting using new functions, e.g.,
938 start_int_table(), output_newline().
941 modify copy_action() to indent the first character, it if is is left-curly
942 brace. That makes the output look more like the original, as well as makes
943 it simpler to edit (not confuse editors which look for a left-curly in the
944 first column as if it were the beginning of a function).
946 * skeleton.c: minor fixes to avoid gcc -Wconversion warnings
948 * output.c: align the #define's produced for "-p" option
950 * test/run_test.sh: use the "-p" option for better coverage.
952 * output.c: simplify output_prefix() with new define_prefixed()
954 * skeleton.c: include string.h, for memset()
955 change stack size to unsigned to fix gcc -Wconversion warnings.
957 * VERSION: bump to 2008/8/25
959 * makefile.in: add dependency on VERSION file.
961 2008-08-24 Thomas E. Dickey <tom@invisible-island.net>
965 * lalr.c: improved memory-leak checking by freeing data in includes[]
967 * test/error.tab.c, test/ftp.tab.c, test/grammar.tab.c, test/calc.tab.c:
968 update to match skeleton-change
972 * skeleton.c: Add fix for stack discussed
973 http://undeadly.org/cgi?action=article&sid=20080708155228
975 http://www.openbsd.org/cgi-bin/cvsweb/src/usr.bin/yacc/skeleton.c.diff?r1=1.28&r2=1.29
977 * aclocal.m4: resync with my-autoconf (no major changes)
979 2008-07-24 Thomas E. Dickey <tom@invisible-island.net>
981 * package/pkgsrc/Makefile, package/pkgsrc/distinfo:
982 scripts from NetBSD pkgsrc, for test-builds
984 2008-03-14 Thomas E. Dickey <tom@invisible-island.net>
986 * config.sub: update to 2008-03-08
988 * config.guess: update to 2008-03-12
990 2007-05-09 Thomas E. Dickey <tom@invisible-island.net>
992 * main.c: close graph, verbose files if opened, on exit.
995 audit memory leaks - valgrind reported some memory still in use on exit.
997 * lalr.c, output.c, reader.c, mkpar.c, lr0.c:
998 add hook for auditing memory leaks
1000 * defs.h: add hooks for auditing memory leaks
1002 * configure: regen'd
1005 use CF_DISABLE_LEAKS, which combines --disable-leaks, --with-valgrind,
1006 --with-dbmalloc and --with-dmalloc
1008 * aclocal.m4: add CF_DISABLE_LEAKS and CF_WITH_VALGRIND
1010 * aclocal.m4: improve version-checking in CF_GCC_VERSION
1011 rework dbmalloc/dmalloc options using CF_NO_LEAKS_OPTION macro
1015 * main.c: file_prefix did not always have a trailing null.
1017 2007-03-25 Thomas E. Dickey <tom@invisible-island.net>
1019 * mkdirs.sh: improved version for "make -j"
1021 2006-12-22 Thomas E. Dickey <tom@invisible-island.net>
1023 * config.guess: update to 2006/12/22
1025 2006-12-08 Thomas E. Dickey <tom@invisible-island.net>
1027 * config.sub: update to 2006/12/08
1029 2005-08-13 Thomas E. Dickey <tom@invisible-island.net>
1031 * main.c: add -V to usage message
1033 * makefile.in: remove -t option from ctags
1035 * VERSION: 2005/8/13
1039 * main.c: Sylvain Schmitz:
1040 modify the '-o' option to work like bison's, which sets the file-prefix.
1042 2005-08-13 Matt.Kraai
1045 Debian #322858 (don't close union_file, which contained data).
1046 This feature is used in groff.
1048 2005-08-13 Thomas E. Dickey <tom@invisible-island.net>
1050 * configure: regenerated
1052 * aclocal.m4: improve checks for Intel compiler warnings
1054 2005-06-25 Thomas E. Dickey <tom@invisible-island.net>
1056 * config.sub: update to 2005/6/2
1058 * config.guess: update to 2005/5/27
1060 2005-05-05 Thomas E. Dickey <tom@invisible-island.net>
1062 * defs.h: add a fallback for GCC_UNUSED
1064 2005-05-04 Thomas E. Dickey <tom@invisible-island.net>
1066 * makefile.in: add "." to include-path to pickup config.h
1069 apply fix suggested by Steve Dum for end_rule() in Redhat Bugzilla #112617.
1072 correct a limit check in pack_vector() - report/analysis by William Evans
1075 exit after printing version. Otherwise "yacc -V" will exit with an erro
1076 after printing the usage message.
1078 * test/calc.tab.c, test/error.tab.c, test/ftp.tab.c, test/grammar.tab.c:
1079 regenerated after skeleton-changes
1081 * skeleton.c: replace a few -1's with YYEMPTY
1084 delete yynewerror (no one uses it any more, and it just makes compiler warnings)
1086 * skeleton.c: adapt yygrowstack() and related definitions from FreeBSD
1089 filter out lines with YYPATCH, since that will change with each update
1091 * yacc.1: add -V option
1093 * main.c: add -V option to print the version.
1094 simplify option-parsing by moving the duplicate logic for setting flags into
1095 new function setflag().
1098 move the actual definition of YYMAJOR and YYMINOR to defs.h (as numbers).
1099 add YYPATCH here so it can be tested by applications.
1102 add macros to define VERSION in terms of the (numeric) YYMAJOR, YYMINOR and
1105 * lalr.c, lr0.c, mkpar.c, defs.h, closure.c, warshall.c, output.c, verbose.c, graph.c, reader.c, main.c, symtab.c:
1106 reduce externs by making static the procedures that are not referenced outside
1107 the module in which they are defined.
1110 the VERSION file holds the patch-date. Define YYPATCH, so this will be
1111 compiled into the skeleton.
1113 * VERSION: patch-level for byacc
1116 add "-o" to usage message. It is too long for a single line; rewrite usage()
1117 to show one option per line.
1119 2005-05-03 Thomas E. Dickey <tom@invisible-island.net>
1121 * main.c: add -o option, to work with scripts that assume bison.
1122 simplify create_file_names() with a macro.
1123 simplify done() with a macro.
1124 adapt fix from FreeBSD for signal race, e.g., if done() is interrupted by
1125 onintr(), do not flush output via exit(), but use _exit() instead.
1127 * defs.h: remove unnecessary externs for main.c
1129 * yacc.1: add -o option
1131 * graph.c: remove unused parameter
1133 * mkpar.c, defs.h, reader.c:
1134 add support for "%expect", a bison feature from FreeBSD sources
1136 * 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:
1139 * configure: regenerated for 2005/5/5
1141 * aclocal.m4: miscellaneous updates (adds CF_INTEL_COMPILER)
1145 * defs.h, graph.c, lr0.c, main.c, makefile.in, reader.c, yacc.1:
1146 Sylvain Schmitz <schmitz@i3s.unice.fr>:
1147 add graphical output of the LALR(1) automaton for graphviz,
1148 associated with command-line option `-g'
1150 2005-04-16 Thomas E. Dickey <tom@invisible-island.net>
1152 * config.sub: update to 2005/2/10
1154 * config.guess: update to 2005/3/24
1156 2005-04-13 Thomas E. Dickey <tom@invisible-island.net>
1158 * package/pkgsrc/PLIST: scripts from NetBSD pkgsrc, for test-builds
1160 2005-03-21 Thomas E. Dickey <tom@invisible-island.net>
1162 * package/pkgsrc/DESCR: scripts from NetBSD pkgsrc, for test-builds
1164 2004-03-28 Thomas E. Dickey <tom@invisible-island.net>
1166 * test/calc.tab.c, test/error.tab.c, test/ftp.tab.c, test/grammar.tab.c:
1167 updates due to adding yyparse() prototype
1169 * configure: RCS_BASE
1172 add AC_ARG_PROGRAM to make --program-prefix, etc., work.
1174 * makefile.in: first cut of script to support --program-prefix
1177 reorder AC_INIT/AC_CONFIG_HEADER to make this "work" with autoconf 2.52
1179 * makefile.in: modify so DESTDIR works
1181 * makefile.in: use EXEEXT and OBJEXT
1183 * configure.in: use CF_PROG_EXT
1186 * defs.h: make this use the generated config.h
1188 * skeleton.c: add a forward-reference for yyparse()
1190 * aclocal.m4: add CF_CHECK_CACHE, needed for CF_PROG_EXT
1192 * yacc.1: remove the discussion of TMPDIR since it is obsolete
1194 * skeleton.c: fix a couple of minor compiler-warnings in the skeleton
1196 * defs.h: remove action_file_name, etc., since we use tmpfile() now.
1199 use tmpfile() for opening the working files. This quiets a warning
1200 advising the use of mkstemp().
1203 Do not close temporary-files here, since they are opened with tmpfile().
1204 Just rewind them, and they're ready to read back the data stored in them.
1206 * test/grammar.output, test/grammar.tab.c, test/grammar.tab.h: RCS_BASE
1208 * makefile.in: turn on "make check" rule
1210 * test/calc.output, test/run_test.sh, test/calc.tab.h: RCS_BASE
1212 * test/ftp.tab.c: yyparse() is now yyparse(void)
1214 * test/calc.tab.c: RCS_BASE
1216 * test/error.tab.c: yyparse() is now yyparse(void)
1218 * test/README: RCS_BASE
1220 * yacc.1: various typography fixes prompted by Debian #100947
1222 * aclocal.m4, makefile.in, configure.in: RCS_BASE
1224 * README: updated to note that this is not the original
1226 2004-03-24 Thomas E. Dickey <tom@invisible-island.net>
1228 * test/grammar.y: RCS_BASE
1230 2004-02-23 Thomas E. Dickey <tom@invisible-island.net>
1232 * config.sub: RCS_BASE
1234 2004-02-17 Thomas E. Dickey <tom@invisible-island.net>
1236 * config.guess: RCS_BASE
1238 2003-11-29 Thomas E. Dickey <tom@invisible-island.net>
1240 * install-sh: improved quoting
1242 2002-06-29 Thomas E. Dickey <tom@invisible-island.net>
1245 don't use character range, since some locales don't work as expected
1247 2001-06-22 Thomas E. Dickey <tom@invisible-island.net>
1249 * install-sh: RCS_BASE
1251 2000-11-20 Thomas E. Dickey <tom@invisible-island.net>
1253 * test/calc.y: RCS_BASE
1255 * test/code_calc.y, test/pure_calc.y: copy of calc.y
1257 * vmsbuild.com: original version
1259 2000-02-23 Thomas E. Dickey <dickey@invisible-island.net>
1261 * test/RCS, RCS: PERMIT FILE
1263 2000-02-14 Thomas E. Dickey <tom@invisible-island.net>
1265 * main.c: fix for VMS port - making pathname for temp-file
1267 * descrip.mms: original version
1269 2000-02-13 Thomas E. Dickey <tom@invisible-island.net>
1271 * 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:
1274 1999-11-30 Thomas E. Dickey <tom@invisible-island.net>
1276 * mkdirs.sh: RCS_BASE
1278 1995-01-01 Thomas E. Dickey <tom@invisible-island.net>
1280 * config_h.in: RCS_BASE
1284 * README.DOS, main.c: MSDOS-port
1288 * reader.c, defs.h: MSDOS-port
1292 * README: original version
1296 * test/ftp.output, test/ftp.tab.c, test/ftp.tab.h, test/error.output, test/error.tab.c, test/error.tab.h:
1299 * skeleton.c, warshall.c, main.c, output.c, reader.c, closure.c, NOTES:
1304 * yacc.1: original version
1308 * defs.h: original version
1312 * mkpar.c, verbose.c: original version
1316 * lr0.c, Makefile, Makefile.old: original version
1320 * NEW_FEATURES: original version
1324 * ACKNOWLEDGEMENTS: original version
1328 * symtab.c, lalr.c, error.c: original version
1330 1990-01-16 Thomas E. Dickey <tom@invisible-island.net>
1332 * test/code_error.y, test/pure_error.y: RCS_BASE
1336 * test/error.y: RCS_BASE
1340 * NO_WARRANTY: original version
1344 * test/ftp.y: RCS_BASE