snapshot of project "byacc", label t20200330

This commit is contained in:
Thomas E. Dickey 2020-03-30 23:57:12 +00:00
parent 2975ed57f3
commit 4b3d28e2ed
17 changed files with 441 additions and 469 deletions

31
CHANGES
View File

@ -1,3 +1,34 @@
2020-03-30 Thomas E. Dickey <dickey@invisible-island.net>
* package/debian/copyright: bump
* test/yacc/grammar.tab.c, test/btyacc/grammar.tab.c, test/grammar.y, reader.c:
typo found with codespell
* yacc.1: fixes noted in the original report, overlooked in followup
2020-03-30 Bjarni.Ingi.Gislason
* yacc.1: typography/spelling fixes - Debian #955175
2020-03-30 Thomas E. Dickey <dickey@invisible-island.net>
* VERSION, package/byacc.spec, package/debian/changelog, package/mingw-byacc.spec, package/pkgsrc/Makefile:
bump
2020-03-10 Thomas E. Dickey <dickey@invisible-island.net>
* configure: regen
* aclocal.m4:
resync with my-autoconf, mostly fixes for compiler-warnings
* configure.in: use macro to suppress X-dependency from newer macros
2019-12-20 Thomas E. Dickey <dickey@invisible-island.net>
* config.guess: 2019-12-21
2019-11-25 Tom.Shields
* main.c:

View File

@ -1,4 +1,4 @@
MANIFEST for byacc, version t20191125
MANIFEST for byacc, version t20200330
--------------------------------------------------------------------------------
MANIFEST this file
ACKNOWLEDGEMENTS original version of byacc - 1993

View File

@ -1 +1 @@
20191125
20200330

46
aclocal.m4 vendored
View File

@ -1,7 +1,7 @@
dnl $Id: aclocal.m4,v 1.47 2019/11/03 21:45:46 tom Exp $
dnl $Id: aclocal.m4,v 1.48 2020/03/10 22:53:47 tom Exp $
dnl Macros for byacc configure script (Thomas E. Dickey)
dnl ---------------------------------------------------------------------------
dnl Copyright 2004-2018,2019 Thomas E. Dickey
dnl Copyright 2004-2019,2020 Thomas E. Dickey
dnl
dnl Permission is hereby granted, free of charge, to any person obtaining a
dnl copy of this software and associated documentation files (the
@ -313,7 +313,7 @@ cf_save_CFLAGS="$cf_save_CFLAGS -Qunused-arguments"
fi
])
dnl ---------------------------------------------------------------------------
dnl CF_CONST_X_STRING version: 1 updated: 2019/04/08 17:50:29
dnl CF_CONST_X_STRING version: 4 updated: 2020/03/10 18:53:47
dnl -----------------
dnl The X11R4-X11R6 Xt specification uses an ambiguous String type for most
dnl character-strings.
@ -334,12 +334,16 @@ dnl when compiling the library and compiling using the library, to tell the
dnl compiler that String is const.
AC_DEFUN([CF_CONST_X_STRING],
[
AC_REQUIRE([AC_PATH_XTRA])
CF_SAVE_XTRA_FLAGS([CF_CONST_X_STRING])
AC_TRY_COMPILE(
[
#include <stdlib.h>
#include <X11/Intrinsic.h>
],
[String foo = malloc(1)],[
[String foo = malloc(1); (void)foo],[
AC_CACHE_CHECK(for X11/Xt const-feature,cf_cv_const_x_string,[
AC_TRY_COMPILE(
@ -355,6 +359,8 @@ AC_CACHE_CHECK(for X11/Xt const-feature,cf_cv_const_x_string,[
])
])
CF_RESTORE_XTRA_FLAGS([CF_CONST_X_STRING])
case $cf_cv_const_x_string in
(no)
CF_APPEND_TEXT(CPPFLAGS,-DXTSTRINGDEFINES)
@ -427,7 +433,7 @@ if test "$with_no_leaks" = yes ; then
fi
])dnl
dnl ---------------------------------------------------------------------------
dnl CF_GCC_ATTRIBUTES version: 17 updated: 2015/04/12 15:39:00
dnl CF_GCC_ATTRIBUTES version: 18 updated: 2020/03/10 18:53:47
dnl -----------------
dnl Test for availability of useful gcc __attribute__ directives to quiet
dnl compiler warnings. Though useful, not all are supported -- and contrary
@ -471,7 +477,7 @@ cat > conftest.$ac_ext <<EOF
extern void wow(char *,...) GCC_SCANFLIKE(1,2);
extern void oops(char *,...) GCC_PRINTFLIKE(1,2) GCC_NORETURN;
extern void foo(void) GCC_NORETURN;
int main(int argc GCC_UNUSED, char *argv[[]] GCC_UNUSED) { return 0; }
int main(int argc GCC_UNUSED, char *argv[[]] GCC_UNUSED) { (void)argc; (void)argv; return 0; }
EOF
cf_printf_attribute=no
cf_scanf_attribute=no
@ -554,12 +560,13 @@ CF_INTEL_COMPILER(GCC,INTEL_COMPILER,CFLAGS)
CF_CLANG_COMPILER(GCC,CLANG_COMPILER,CFLAGS)
])dnl
dnl ---------------------------------------------------------------------------
dnl CF_GCC_WARNINGS version: 36 updated: 2019/09/07 13:38:36
dnl CF_GCC_WARNINGS version: 37 updated: 2020/01/05 20:04:12
dnl ---------------
dnl Check if the compiler supports useful warning options. There's a few that
dnl we don't use, simply because they're too noisy:
dnl
dnl -Wconversion (useful in older versions of gcc, but not in gcc 2.7.x)
dnl -Winline (usually not worthwhile)
dnl -Wredundant-decls (system headers make this too noisy)
dnl -Wtraditional (combines too many unrelated messages, only a few useful)
dnl -Wwrite-strings (too noisy, but should review occasionally). This
@ -615,7 +622,7 @@ then
fi
done
CFLAGS="$cf_save_CFLAGS"
elif test "$GCC" = yes
elif test "$GCC" = yes && test "$GCC_VERSION" != "unknown"
then
AC_CHECKING([for $CC warning options])
cf_save_CFLAGS="$CFLAGS"
@ -637,7 +644,7 @@ then
Wpointer-arith \
Wshadow \
Wstrict-prototypes \
Wundef $cf_gcc_warnings $cf_warn_CONST $1
Wundef Wno-inline $cf_gcc_warnings $cf_warn_CONST $1
do
CFLAGS="$cf_save_CFLAGS $EXTRA_CFLAGS -$cf_opt"
if AC_TRY_EVAL(ac_compile); then
@ -1222,11 +1229,15 @@ AC_PROG_AWK
test -z "$AWK" && AC_MSG_ERROR(No awk program found)
])dnl
dnl ---------------------------------------------------------------------------
dnl CF_PROG_CC version: 4 updated: 2014/07/12 18:57:58
dnl CF_PROG_CC version: 5 updated: 2019/12/31 08:53:54
dnl ----------
dnl standard check for CC, plus followup sanity checks
dnl $1 = optional parameter to pass to AC_PROG_CC to specify compiler name
AC_DEFUN([CF_PROG_CC],[
CF_ACVERSION_CHECK(2.53,
[AC_MSG_WARN(this will incorrectly handle gnatgcc choice)
AC_REQUIRE([AC_PROG_CC])],
[])
ifelse($1,,[AC_PROG_CC],[AC_PROG_CC($1)])
CF_GCC_VERSION
CF_ACVERSION_CHECK(2.52,
@ -1255,11 +1266,16 @@ AC_SUBST(GROFF_NOTE)
AC_SUBST(NROFF_NOTE)
])dnl
dnl ---------------------------------------------------------------------------
dnl CF_PROG_LINT version: 3 updated: 2016/05/22 15:25:54
dnl CF_PROG_LINT version: 4 updated: 2019/11/20 18:55:37
dnl ------------
AC_DEFUN([CF_PROG_LINT],
[
AC_CHECK_PROGS(LINT, lint cppcheck splint)
case "x$LINT" in
(xcppcheck|x*/cppcheck)
test -z "$LINT_OPTS" && LINT_OPTS="--enable=all"
;;
esac
AC_SUBST(LINT_OPTS)
])dnl
dnl ---------------------------------------------------------------------------
@ -1336,6 +1352,14 @@ AC_DEFUN([CF_VERBOSE],
CF_MSG_LOG([$1])
])dnl
dnl ---------------------------------------------------------------------------
dnl CF_WITHOUT_X version: 1 updated: 2020/03/03 18:27:24
dnl ------------
dnl Use this to cancel the check for X headers/libraries which would be pulled
dnl in via CF_GCC_WARNINGS.
define([CF_WITHOUT_X],
AC_DEFUN([CF_CONST_X_STRING],[echo "skipping X-const check";])dnl
[])dnl
dnl ---------------------------------------------------------------------------
dnl CF_WITH_DBMALLOC version: 7 updated: 2010/06/21 17:26:47
dnl ----------------
dnl Configure-option for dbmalloc. The optional parameter is used to override

6
config.guess vendored
View File

@ -2,7 +2,7 @@
# Attempt to guess a canonical system name.
# Copyright 1992-2019 Free Software Foundation, Inc.
timestamp='2019-09-10'
timestamp='2019-12-21'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
@ -99,6 +99,8 @@ tmp=
trap 'test -z "$tmp" || rm -fr "$tmp"' 0 1 2 13 15
set_cc_for_build() {
# prevent multiple calls if $tmp is already set
test "$tmp" && return 0
: "${TMPDIR=/tmp}"
# shellcheck disable=SC2039
{ tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
@ -924,7 +926,7 @@ EOF
echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
exit ;;
alpha:Linux:*:*)
case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' /proc/cpuinfo 2>/dev/null` in
EV5) UNAME_MACHINE=alphaev5 ;;
EV56) UNAME_MACHINE=alphaev56 ;;
PCA56) UNAME_MACHINE=alphapca56 ;;

754
configure vendored

File diff suppressed because it is too large Load Diff

View File

@ -1,7 +1,7 @@
dnl Process this file with 'autoconf' to produce a 'configure' script
dnl $Id: configure.in,v 1.22 2019/11/03 22:37:21 tom Exp $
AC_PREREQ(2.52.20190901)
AC_REVISION($Revision: 1.22 $)
dnl $Id: configure.in,v 1.23 2020/03/10 22:53:47 tom Exp $
AC_PREREQ(2.52.20200111)
AC_REVISION($Revision: 1.23 $)
AC_INIT(main.c)
AC_CONFIG_HEADER(config.h:config_h.in)
@ -15,6 +15,8 @@ CF_MAKE_TAGS
CF_PROG_AWK
CF_PROG_LINT
CF_WITHOUT_X
CF_XOPEN_SOURCE
AC_CHECK_HEADERS(fcntl.h)
CF_MKSTEMP

View File

@ -1,9 +1,9 @@
Summary: byacc - public domain Berkeley LALR Yacc parser generator
%define AppProgram byacc
%define AltProgram btyacc
%define AppVersion 20191125
%define AppVersion 20200330
%define UseProgram yacc
# $Id: byacc.spec,v 1.48 2019/11/25 23:13:14 tom Exp $
# $Id: byacc.spec,v 1.49 2020/03/30 23:31:42 tom Exp $
Name: %{AppProgram}
Version: %{AppVersion}
Release: 1

View File

@ -1,3 +1,9 @@
byacc (20200330) unstable; urgency=low
* maintenance updates
-- Thomas E. Dickey <dickey@invisible-island.net> Mon, 30 Mar 2020 19:31:42 -0400
byacc (20191125) unstable; urgency=low
* maintenance updates

View File

@ -36,7 +36,7 @@ skeleton.c with the bug report. Do not expect rapid responses.
Files: aclocal.m4
Licence: other-BSD
Copyright: 2004-2018,2019 by Thomas E. Dickey
Copyright: 2004-2019,2020 by Thomas E. Dickey
Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including

View File

@ -1,8 +1,8 @@
Summary: byacc - public domain Berkeley LALR Yacc parser generator
%define AppProgram byacc
%define AppVersion 20191125
%define AppVersion 20200330
%define UseProgram yacc
# $Id: mingw-byacc.spec,v 1.28 2019/11/25 23:13:14 tom Exp $
# $Id: mingw-byacc.spec,v 1.29 2020/03/30 23:31:42 tom Exp $
Name: %{AppProgram}
Version: %{AppVersion}
Release: 1

View File

@ -1,7 +1,7 @@
# $NetBSD: Makefile,v 1.9 2008/07/24 17:13:00 tonnerre Exp $
#
DISTNAME= byacc-20191125
DISTNAME= byacc-20200330
PKGREVISION= 1
CATEGORIES= devel
MASTER_SITES= ftp://ftp.invisible-island.net/byacc/

View File

@ -1,11 +1,11 @@
/* $Id: reader.c,v 1.78 2019/11/20 00:12:32 tom Exp $ */
/* $Id: reader.c,v 1.79 2020/03/30 23:54:13 tom Exp $ */
#include "defs.h"
/* The line size must be a positive integer. One hundred was chosen */
/* because few lines in Yacc input grammars exceed 100 characters. */
/* Note that if a line exceeds LINESIZE characters, the line buffer */
/* will be expanded to accomodate it. */
/* will be expanded to accommodate it. */
#define LINESIZE 100

View File

@ -1193,7 +1193,7 @@ extern char *yytext;
extern FILE *yyin, *yyout;
static int curly; /* number of curly brace nesting levels */
static int ly_count; /* number of occurances of %% */
static int ly_count; /* number of occurrences of %% */
static int inc_depth; /* include nesting level */
static SymbolTable *included_files; /* files already included */
static int yy_start = 0; /* start state number */

View File

@ -1,4 +1,4 @@
/* $Id: grammar.y,v 1.6 2018/05/09 00:59:02 tom Exp $
/* $Id: grammar.y,v 1.7 2020/03/30 23:55:49 tom Exp $
*
* yacc grammar for C function prototype generator
* This was derived from the grammar in Appendix A of
@ -1028,7 +1028,7 @@ extern char *yytext;
extern FILE *yyin, *yyout;
static int curly; /* number of curly brace nesting levels */
static int ly_count; /* number of occurances of %% */
static int ly_count; /* number of occurrences of %% */
static int inc_depth; /* include nesting level */
static SymbolTable *included_files; /* files already included */
static int yy_start = 0; /* start state number */

View File

@ -937,7 +937,7 @@ extern char *yytext;
extern FILE *yyin, *yyout;
static int curly; /* number of curly brace nesting levels */
static int ly_count; /* number of occurances of %% */
static int ly_count; /* number of occurrences of %% */
static int inc_depth; /* include nesting level */
static SymbolTable *included_files; /* files already included */
static int yy_start = 0; /* start state number */

31
yacc.1
View File

@ -1,4 +1,4 @@
.\" $Id: yacc.1,v 1.31 2019/11/20 01:41:29 tom Exp $
.\" $Id: yacc.1,v 1.33 2020/03/30 23:36:40 tom Exp $
.\"
.\" .TH YACC 1 "July\ 15,\ 1990"
.\" .UC 6
@ -31,7 +31,7 @@
.SH NAME
\*N \- an LALR(1) parser generator
.SH SYNOPSIS
.B \*n [ -BdgilLPrtvVy ] [ \-b
.B \*n [ \-BdgilLPrtvVy ] [ \-b
.I file_prefix
.B ] [ \-H
.I defines_file
@ -50,7 +50,7 @@ The parsers consist of a set of LALR(1) parsing tables and a driver routine
written in the C programming language.
.B \*N
normally writes the parse tables and the driver routine to the file
.I y.tab.c.
.IR y.tab.c .
.PP
The following options are available:
.TP 5
@ -83,15 +83,16 @@ The
option causes a graphical description of the generated LALR(1) parser to
be written to the file
.B y.dot
in graphviz format, ready to be processed by dot(1).
in graphviz format, ready to be processed by
.BR dot (1).
.TP
.B \-i
The \fB-i\fR option causes a supplementary header file
The \fB\-i\fR option causes a supplementary header file
.B y.tab.i
to be written.
It contains extern declarations
and supplementary #define's as needed to map the conventional \fIyacc\fP
\fByy\fP-prefixed names to whatever the \fB-p\fP option may specify.
\fByy\fP-prefixed names to whatever the \fB\-p\fP option may specify.
The code file, e.g., \fBy.tab.c\fP is modified to #include this file
as well as the \fBy.tab.h\fP file, enforcing consistent usage of the
symbols defined in those files.
@ -107,7 +108,7 @@ option is not specified,
will insert \fI#line\fP directives in the generated code.
The \fI#line\fP directives let the C compiler relate errors in the
generated code to the user's original code.
If the \fB-l\fR option is specified,
If the \fB\-l\fR option is specified,
.B \*n
will not insert the \fI#line\fP directives.
\&\fI#line\fP directives specified by the user will be retained.
@ -120,7 +121,7 @@ e.g., \*(``%locations\*('' (compile-time configuration for \fBbtyacc\fP).
specify the filename for the parser file.
If this option is not given, the output filename is
the file prefix concatenated with the file suffix, e.g., \fBy.tab.c\fP.
This overrides the \fB-b\fP option.
This overrides the \fB\-b\fP option.
.TP
\fB\-p \fP\fIsymbol_prefix\fR
The
@ -141,9 +142,9 @@ option causes
.B \*n
to produce separate files for code and tables.
The code file is named
.I y.code.c,
.IR y.code.c ,
and the tables file is named
.I y.tab.c.
.IR y.tab.c .
The prefix \*(``\fIy.\fP\*('' can be overridden using the \fB\-b\fP option.
.TP
.B \-s
@ -252,11 +253,11 @@ The bracketed \fIcode\fP is invoked whenever the parser discards one of
the symbols.
Within \fIcode\fP, \*(``\fB$$\fP\*('' or
\*(``\fB$<tag>$\fP\*('' designates the semantic value associated with the
discarded symbol, and \*(``\fB@$\fP\*('' designates its location (see
discarded symbol, and \*(``\fB@$\fP\*('' designates its location (see
\fB%locations\fP directive).
.IP
A per-symbol destructor is defined by listing a grammar symbol
in \fIsymbol+\fP. A per-type destructor is defined by listing
in \fIsymbol+\fP. A per-type destructor is defined by listing
a semantic type tag (e.g., \*(``<some_tag>\*('') in \fIsymbol+\fP; in this
case, the parser will invoke \fIcode\fP whenever it discards any grammar
symbol that has that semantic type tag, unless that symbol has its own
@ -285,7 +286,7 @@ That makes it only report the number if it differs.
This is (unlike bison) allowable in LALR parsers.
.TP
\fB %locations\fP
tells \fByacc\fP to enable management of position information associated
tells \fByacc\fP to enable management of position information associated
with each token, provided by the lexer in the global variable \fByylloc\fP,
similar to management of semantic value information provided in \fByylval\fP.
.IP
@ -345,7 +346,7 @@ or \*(``$undefined\*('' in this array.
According to Robert Corbett,
.Ex
Berkeley Yacc is an LALR(1) parser generator. Berkeley Yacc
has been made as compatible as possible with AT&T Yacc.
has been made as compatible as possible with AT&T Yacc.
Berkeley Yacc can accept any input specification that
conforms to the AT&T Yacc documentation. Specifications
that take advantage of undocumented features of AT&T Yacc
@ -381,7 +382,7 @@ yyerror without providing prototypes.
Bison's support for \*(``%expect\*('' is broken in more than one release.
For best results using bison, delete that directive.
.bP
Bison has no equivalent for some of \fByacc\fP's commmand-line options,
Bison has no equivalent for some of \fByacc\fP's command-line options,
relying on directives embedded in the grammar file.
.bP
Bison's \*(``\fB\-y\fP\*('' option does not affect bison's lack of support for